Browse Source

The 'note' cmdline looks at the LANG env var to set the post's language.

default 3 months ago
parent
commit
79d8f5ff03
1 changed files with 15 additions and 0 deletions
  1. 15 0
      main.c

+ 15 - 0
main.c

@@ -669,6 +669,21 @@ int main(int argc, char *argv[])
 
         msg = msg_note(&snac, content, NULL, NULL, attl, 0);
 
+        /* set a post language according the LANG environment variable */
+        const char *lang_env = getenv("LANG");
+        if (xs_type(lang_env) == XSTYPE_STRING) {
+            /* split at the first _ */
+            xs *l0 = xs_split(lang_env, "_");
+            const char *lang = xs_list_get(l0, 0);
+
+            if (xs_type(lang) == XSTYPE_STRING && strlen(lang) == 2) {
+                /* a valid ISO language id */
+                xs *cmap = xs_dict_new();
+                cmap = xs_dict_set(cmap, lang, xs_dict_get(msg, "content"));
+                msg = xs_dict_set(msg, "contentMap", cmap);
+            }
+        }
+
         c_msg = msg_create(&snac, msg);
 
         if (dbglevel) {