#include <clib/translator_protos.h>
#include <pragmas/translator_pragmas.h>
#include <libraries/translator.h>
//#include <proto/exec.h>
#include <stdio.h>
#include <string.h>
#include <exec/libraries.h>

#include <clib/exec_protos.h>

char *trans(char *text);
extern void msg(char *msg);

struct Event {
	BOOL used;
	int type;	/* Type of event */
	int hours;	/* Time of event */
	int minutes;
	int timecode;
	char message[256];
	int day;
	int month;
	int year;
	BOOL enabledate;
	int freq;
};

extern struct {
/* Prefs structure used for preferences file format */

   char header[10];  /* I.D. Header */
   int vers;         /* Version of preferences file */
   int x;            /* X dimension of window when saved */
   int y;            /* Y dimension of window when saved */
   int width;        /* Width of window when saved */
   int height;       /* Height of window when saved */
   int planguage;    /* Language selected (menu) when saved, low pri */
   int just;         /* Justification of text, 0=Left, 1=Centre */
   short date;       /* Display date?, 0 = No, 1=Yes */
   short wtf;	     /* Window to front? */
   int time_col[8];
   int date_col[8];
   short autoadjust;       /* Auto adjust ? */
   char backdrop[256];
   char pub[139];
	char accent[256];		/* Language file for tRanslate */
	char tkey[100];
	char hkey[100];
	struct Event events[11];  /* For the alarm! */ 
}prefs;

extern struct Library *TranslatorBase;
extern struct IntuitionBase *IntuitionBase;
extern struct GfxBase *GfxBase;
extern struct Library *UtilityBase;
extern struct Library *GadToolsBase;
extern struct Library *DiskfontBase;
extern struct Library *AslBase;
extern struct Library *IFFParseBase;
extern struct Library *DataTypesBase;
extern struct Library *TranslatorBase;
extern struct Library *DOSBase;

char *trans(char *text) {
	char output[1000];
	struct Library *testbase=NULL;

	TranslatorBase=OpenLibrary("translator.library",0);
	if(!TranslatorBase) {
		msg("Err. OpenLib!");
		return(0L);
	}

	if(TranslatorBase->lib_Version<42) {
		/* Old version of Translator (no accents) */
	   Translate(text,strlen(text),&output[0],sizeof(output));
	} else {
		/* New version */
		// This version requires locale!
		if(!(testbase=OpenLibrary("locale.library",0))) {
			msg("The new translator.lib needs locale.library!");
			CloseLibrary(TranslatorBase);
			return(NULL);
		}
		CloseLibrary(testbase);
		TranslateAs(text,strlen(text),&output[0],sizeof(output),prefs.accent);
	}
	CloseLibrary(TranslatorBase);

	return(output);

}




