Enable compile time specification of data and locale directories and prefs file
[neverball] / share / i18n.c
index 50cbbf6..7d6fd92 100644 (file)
@@ -30,26 +30,26 @@ const char *sgettext(const char *msgid)
 
     if (msgval == msgid)
     {
-        msgval = strrchr(msgid, '^');
-        if (msgval == NULL)
-            msgval = msgid;
-        else
+        if ((msgval = strrchr(msgid, '^')))
             msgval++;
+        else
+            msgval = msgid;
     }
     return msgval;
 }
 
 /*---------------------------------------------------------------------------*/
 
-#define LANG_NUMBER 4
+#define LANG_NUMBER 5
 
 const char *language_names[] = {
     N_("English"),
     N_("French"),
     N_("German"),
-    N_("Latvian")
+    N_("Latvian"),
+    N_("Spanish"),
 };
-const char *language_codes[] = {"en", "fr", "de", "lv"};
+const char *language_codes[] = {"en", "fr", "de", "lv", "es"};
 
 /*---------------------------------------------------------------------------*/
 
@@ -77,7 +77,9 @@ void language_set(int l)
         strncat(e, language_codes[l - 1], 25 - 9);
         putenv(e);
     }
-    setlocale(LC_ALL, "");  /* force to update getext */
+    
+    /* Force to update gettext. */
+    setlocale(LC_ALL, "");
 }
 
 int language_count(void)
@@ -89,7 +91,7 @@ int language_from_code(const char *code)
 {
     int i;
 
-    for(i = 0; i < LANG_NUMBER; i++)
+    for (i = 0; i < LANG_NUMBER; i++)
         if (strcmp(language_codes[i], code) == 0)
             return i + 1;
 
@@ -104,9 +106,6 @@ const char *language_get_name(int id)
 
 const char *language_get_code(int id)
 {
-        if (id > 0)
-                return language_codes[id - 1];
-        else
-                return "";
+    return id > 0 ? language_codes[id - 1] : "";
 }