commit 79d8f5f

default  ·  2025-01-05 07:19:27 +0000 UTC
parent b7ab926
The 'note' cmdline looks at the LANG env var to set the post's language.
1 files changed,  +15, -0
M main.c
M main.c
+15, -0
 1@@ -669,6 +669,21 @@ int main(int argc, char *argv[])
 2 
 3         msg = msg_note(&snac, content, NULL, NULL, attl, 0);
 4 
 5+        /* set a post language according the LANG environment variable */
 6+        const char *lang_env = getenv("LANG");
 7+        if (xs_type(lang_env) == XSTYPE_STRING) {
 8+            /* split at the first _ */
 9+            xs *l0 = xs_split(lang_env, "_");
10+            const char *lang = xs_list_get(l0, 0);
11+
12+            if (xs_type(lang) == XSTYPE_STRING && strlen(lang) == 2) {
13+                /* a valid ISO language id */
14+                xs *cmap = xs_dict_new();
15+                cmap = xs_dict_set(cmap, lang, xs_dict_get(msg, "content"));
16+                msg = xs_dict_set(msg, "contentMap", cmap);
17+            }
18+        }
19+
20         c_msg = msg_create(&snac, msg);
21 
22         if (dbglevel) {