- // Initialize the catalogs we'll be using
- m_locale.Init("french", "fr", "C");
+ // set the language to use
+ const char *language = NULL;
+ const char *langid = NULL;
+ switch ( argc )
+ {
+ default:
+ // ignore the other args, fall through
+
+ case 3:
+ language = argv[1];
+ langid = argv[2];
+ break;
+
+ case 2:
+ language = argv[1];
+ break;
+
+ case 1:
+ language = "french";
+ langid = "fr";
+ };
+
+ // there are very few systems right now which support locales other than "C"
+ m_locale.Init(language, langid, "C");
+ // note that under GTK starting from version 1.2.8 if
+ // you set locale to "C" and then use ASCII characters above
+ // #128 in GUI elements, they will be truncated (it seems GTK
+ // replaces them by \0). You should use either "" (checks
+ // the value of LC_ALL etc. environment variables) or the form
+ // accepted by glibc, e.g cs_CZ.