tried to reorder the program structure and build process
[NeonServV5.git] / src / lang.h
diff --git a/src/lang.h b/src/lang.h
new file mode 100644 (file)
index 0000000..4aabc8a
--- /dev/null
@@ -0,0 +1,38 @@
+#ifndef _lang_h
+#define _lang_h
+
+#include "main.h"
+
+struct UserNode;
+
+struct default_language_entry {
+    char *ident;
+    char *text;
+};
+
+struct language_table {
+    char *ident;
+    char *text;
+    
+    struct language_table *next;
+};
+
+struct language {
+    char *langtag;
+    char *langname;
+    struct language_table **entrys;
+};
+
+void init_lang();
+void free_lang();
+struct language* get_language_by_tag(char *tag);
+struct language* get_language_by_name(char *name);
+struct language* get_default_language();
+void load_languages();
+void load_language(char *tag, char *name);
+void register_language_string(struct language *lang, char *ident, char *text);
+void register_default_language_table(const struct default_language_entry *msgtab);
+char *get_language_string(struct UserNode *user, const char* msg_ident);
+char *build_language_string(struct UserNode *user, char *buffer, const char *msg_ident, ...);
+
+#endif
\ No newline at end of file