|
@@ -4064,3 +4064,28 @@ void badlogin_inc(const char *user, const char *addr)
|
|
|
pthread_mutex_unlock(&data_mutex);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+const char *lang_str(const char *str, const snac *user)
|
|
|
+
|
|
|
+{
|
|
|
+ if (user && xs_is_string(str) && xs_is_dict(srv_langs)) {
|
|
|
+
|
|
|
+ const char *lang = xs_dict_get(user->config, "lang");
|
|
|
+
|
|
|
+ if (xs_is_string(lang)) {
|
|
|
+ const xs_dict *strs = xs_dict_get(srv_langs, lang);
|
|
|
+
|
|
|
+ if (xs_is_dict(strs)) {
|
|
|
+ const char *n_str = xs_dict_get(strs, str);
|
|
|
+
|
|
|
+ if (xs_is_string(n_str))
|
|
|
+ str = n_str;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return str;
|
|
|
+}
|