commit 91d2beb
default
·
2025-02-15 05:11:47 +0000 UTC
parent f0f93b8
srv_open() now loads all .po files into srv_langs.
1 files changed,
+22,
-0
M
data.c
M
data.c
+22,
-0
1@@ -149,6 +149,28 @@ int srv_open(const char *basedir, int auto_upgrade)
2 mkdirx(expdir);
3 }
4
5+ /* languages */
6+ srv_langs = xs_dict_new();
7+
8+ xs *l_dir = xs_fmt("%s/lang/", srv_basedir);
9+ mkdirx(l_dir);
10+
11+ l_dir = xs_str_cat(l_dir, "*.po");
12+ xs *pos = xs_glob(l_dir, 0, 0);
13+ const char *po;
14+
15+ xs_list_foreach(pos, po) {
16+ xs *d = xs_po_to_dict(po);
17+
18+ if (xs_is_dict(d)) {
19+ xs *l = xs_split(po, "/");
20+ xs *id = xs_dup(xs_list_get(l, -1));
21+ id = xs_replace_i(id, ".po", "");
22+
23+ srv_langs = xs_dict_set(srv_langs, id, d);
24+ }
25+ }
26+
27 return ret;
28 }
29