summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorGravatar default2025-02-15 06:11:47 +0100
committerGravatar default2025-02-15 06:11:47 +0100
commit91d2beb267020fa632cace5b0b475a9febfa0439 (patch)
tree9e0a08dbf2fdfe807d155be1dc11e2bcdfcca6bc /data.c
parentOptimized lang_str(). (diff)
downloadsnac2-91d2beb267020fa632cace5b0b475a9febfa0439.tar.gz
snac2-91d2beb267020fa632cace5b0b475a9febfa0439.tar.xz
snac2-91d2beb267020fa632cace5b0b475a9febfa0439.zip
srv_open() now loads all .po files into srv_langs.
Diffstat (limited to 'data.c')
-rw-r--r--data.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/data.c b/data.c
index 4308aa5..e0b4936 100644
--- a/data.c
+++ b/data.c
@@ -149,6 +149,28 @@ int srv_open(const char *basedir, int auto_upgrade)
149 mkdirx(expdir); 149 mkdirx(expdir);
150 } 150 }
151 151
152 /* languages */
153 srv_langs = xs_dict_new();
154
155 xs *l_dir = xs_fmt("%s/lang/", srv_basedir);
156 mkdirx(l_dir);
157
158 l_dir = xs_str_cat(l_dir, "*.po");
159 xs *pos = xs_glob(l_dir, 0, 0);
160 const char *po;
161
162 xs_list_foreach(pos, po) {
163 xs *d = xs_po_to_dict(po);
164
165 if (xs_is_dict(d)) {
166 xs *l = xs_split(po, "/");
167 xs *id = xs_dup(xs_list_get(l, -1));
168 id = xs_replace_i(id, ".po", "");
169
170 srv_langs = xs_dict_set(srv_langs, id, d);
171 }
172 }
173
152 return ret; 174 return ret;
153} 175}
154 176