--- /dev/null
+#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