common: Use language name translations from iso-codes

This commit is contained in:
Bastien Nocera 2012-11-27 11:18:47 +01:00
parent 5bf6c416f0
commit b30497a3bd

View file

@ -540,6 +540,8 @@ add_other_users_language (GHashTable *ht)
g_object_unref (proxy); g_object_unref (proxy);
} }
#define TRANSLATED_LANG(x) g_strdup(dgettext("iso_639", x))
GHashTable * GHashTable *
cc_common_language_get_initial_languages (void) cc_common_language_get_initial_languages (void)
{ {
@ -550,29 +552,29 @@ cc_common_language_get_initial_languages (void)
ht = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); ht = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
/* Add some common languages first */ /* Add some common languages first */
g_hash_table_insert (ht, g_strdup ("en_US.utf8"), g_strdup (_("English"))); g_hash_table_insert (ht, g_strdup ("en_US.utf8"), TRANSLATED_LANG("English"));
if (gdm_language_has_translations ("en_GB")) if (gdm_language_has_translations ("en_GB"))
g_hash_table_insert (ht, g_strdup ("en_GB.utf8"), g_strdup (_("British English"))); g_hash_table_insert (ht, g_strdup ("en_GB.utf8"), g_strdup (_("British English")));
if (gdm_language_has_translations ("de") || if (gdm_language_has_translations ("de") ||
gdm_language_has_translations ("de_DE")) gdm_language_has_translations ("de_DE"))
g_hash_table_insert (ht, g_strdup ("de_DE.utf8"), g_strdup (_("German"))); g_hash_table_insert (ht, g_strdup ("de_DE.utf8"), TRANSLATED_LANG("German"));
if (gdm_language_has_translations ("fr") || if (gdm_language_has_translations ("fr") ||
gdm_language_has_translations ("fr_FR")) gdm_language_has_translations ("fr_FR"))
g_hash_table_insert (ht, g_strdup ("fr_FR.utf8"), g_strdup (_("French"))); g_hash_table_insert (ht, g_strdup ("fr_FR.utf8"), TRANSLATED_LANG("French"));
if (gdm_language_has_translations ("es") || if (gdm_language_has_translations ("es") ||
gdm_language_has_translations ("es_ES")) gdm_language_has_translations ("es_ES"))
g_hash_table_insert (ht, g_strdup ("es_ES.utf8"), g_strdup (_("Spanish"))); g_hash_table_insert (ht, g_strdup ("es_ES.utf8"), TRANSLATED_LANG("Spanish"));
if (gdm_language_has_translations ("zh_CN")) if (gdm_language_has_translations ("zh_CN"))
g_hash_table_insert (ht, g_strdup ("zh_CN.utf8"), g_strdup (_("Chinese (simplified)"))); g_hash_table_insert (ht, g_strdup ("zh_CN.utf8"), g_strdup (_("Chinese (simplified)")));
if (gdm_language_has_translations ("ja") || if (gdm_language_has_translations ("ja") ||
gdm_language_has_translations ("ja_JP")) gdm_language_has_translations ("ja_JP"))
g_hash_table_insert (ht, g_strdup ("ja_JP.utf8"), g_strdup (_("Japanese"))); g_hash_table_insert (ht, g_strdup ("ja_JP.utf8"), TRANSLATED_LANG("Japanese"));
if (gdm_language_has_translations ("ru") || if (gdm_language_has_translations ("ru") ||
gdm_language_has_translations ("ru_RU")) gdm_language_has_translations ("ru_RU"))
g_hash_table_insert (ht, g_strdup ("ru_RU.utf8"), g_strdup (_("Russian"))); g_hash_table_insert (ht, g_strdup ("ru_RU.utf8"), TRANSLATED_LANG("Russian"));
if (gdm_language_has_translations ("ar") || if (gdm_language_has_translations ("ar") ||
gdm_language_has_translations ("ar_EG")) gdm_language_has_translations ("ar_EG"))
g_hash_table_insert (ht, g_strdup ("ar_EG.utf8"), g_strdup (_("Arabic"))); g_hash_table_insert (ht, g_strdup ("ar_EG.utf8"), TRANSLATED_LANG("Arabic"));
/* Add the languages used by other users on the system */ /* Add the languages used by other users on the system */
add_other_users_language (ht); add_other_users_language (ht);