summaryrefslogtreecommitdiff
path: root/libgnome-desktop
diff options
context:
space:
mode:
authorGabor Karsay <gabor.karsay@gmx.at>2021-11-08 18:55:32 +0100
committerGabor Karsay <gabor.karsay@gmx.at>2021-11-08 20:45:17 +0100
commit901513d1ca2f66fa9cd7e0236bc6eb59304df560 (patch)
treed21a8d53255455ed090aa6d00c0d120069d8da38 /libgnome-desktop
parent41522caec7cd406d213f0d62b1572df3e1331e34 (diff)
downloadgnome-desktop-901513d1ca2f66fa9cd7e0236bc6eb59304df560.tar.gz
gnome-languages: Fix translation of 3-letter codes
Language codes in ISO 639-1 consist of two letters, those in ISO 639-3 of three letters. Use the appropriate domain for translations. Fixes: #197
Diffstat (limited to 'libgnome-desktop')
-rw-r--r--libgnome-desktop/gnome-languages.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgnome-desktop/gnome-languages.c b/libgnome-desktop/gnome-languages.c
index a9b1a197..c4de0e62 100644
--- a/libgnome-desktop/gnome-languages.c
+++ b/libgnome-desktop/gnome-languages.c
@@ -720,7 +720,11 @@ get_translated_language (const char *code,
name = g_strdup (_("Unspecified"));
} else {
g_autofree char *tmp = NULL;
- translated_name = dgettext_l (loc, "iso_639", language);
+ if (strlen (code) == 2) {
+ translated_name = dgettext_l (loc, "iso_639", language);
+ } else {
+ translated_name = dgettext_l (loc, "iso_639_3", language);
+ }
tmp = get_first_item_in_semicolon_list (translated_name);
name = capitalize_utf8_string (tmp);
}