#ifndef __DICTION_H
#define __DICTION_H

#define TO_BE_TRANSLATED   "\03\02\01\00"
#define ALREADY_TRANSLATED "\01\02\03\00"

#ifndef XVT_INCL_XVT
typedef unsigned long WINDOW;
#endif

const char* dictionary_translate(const char* sentence);
const char* dictionary_translate_macro(const char* sentence);
const char* dictionary_translate_prompt(const char* prompt, int maxlen = 0);
const char* dictionary_translate_macro_prompt(const char* prompt, int maxlen = 0);
const char* dictionary_translate_header(const char* head);
const char* dictionary_translate_macro_header(const char* head);
const char* dictionary_translate_menu_item(const char* menu);

void dictionary_translate_menu(WINDOW win);
bool dictionary_active();
void dictionary_close();

#define TR(str) dictionary_translate_macro(TO_BE_TRANSLATED##str)
#define PR(str) dictionary_translate_macro_prompt(TO_BE_TRANSLATED##str)
#define BR(str, len) dictionary_translate_macro_prompt(TO_BE_TRANSLATED##str, len)
#define HR(str) dictionary_translate_macro_header(TO_BE_TRANSLATED##str)
#define FR(str) dictionary_translate_macro(TO_BE_TRANSLATED##str)

#endif