summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-09-25 13:36:49 +0300
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-09-25 13:36:49 +0300
commitdea3dbf7afc9054a1bb87d3c6f59217575148c66 (patch)
tree2eebd29b8b96411c318eec410996bab74f21278d
parent350c9b48bd6997e03007f4c49042cf97fc9f250e (diff)
Lang: Added eo, es_MX, gl, isv, and sk
New almost completed or in-progress UI translations.
-rw-r--r--CMakeLists.txt5
-rwxr-xr-xpo/compile.py5
-rw-r--r--po/en.po15
-rw-r--r--res/lang/de.binbin24641 -> 26071 bytes
-rw-r--r--res/lang/en.binbin23514 -> 23613 bytes
-rw-r--r--res/lang/eo.binbin0 -> 22467 bytes
-rw-r--r--res/lang/es.binbin25772 -> 26095 bytes
-rw-r--r--res/lang/es_MX.binbin0 -> 24527 bytes
-rw-r--r--res/lang/fi.binbin25777 -> 26367 bytes
-rw-r--r--res/lang/fr.binbin26746 -> 26845 bytes
-rw-r--r--res/lang/gl.binbin0 -> 25388 bytes
-rw-r--r--res/lang/ia.binbin25369 -> 25468 bytes
-rw-r--r--res/lang/ie.binbin25131 -> 25230 bytes
-rw-r--r--res/lang/isv.binbin0 -> 22403 bytes
-rw-r--r--res/lang/pl.binbin26302 -> 26672 bytes
-rw-r--r--res/lang/ru.binbin38028 -> 38127 bytes
-rw-r--r--res/lang/sk.binbin0 -> 22732 bytes
-rw-r--r--res/lang/sr.binbin37685 -> 37784 bytes
-rw-r--r--res/lang/tok.binbin23567 -> 23666 bytes
-rw-r--r--res/lang/zh_Hans.binbin22321 -> 22420 bytes
-rw-r--r--res/lang/zh_Hant.binbin22506 -> 22489 bytes
-rw-r--r--src/lang.c17
-rw-r--r--src/ui/util.c5
23 files changed, 47 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d98cc700..7b99cb03 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -104,13 +104,18 @@ set (EMBED_RESOURCES
104 res/fonts/SourceSans3-Semibold.ttf 104 res/fonts/SourceSans3-Semibold.ttf
105 res/lang/de.bin 105 res/lang/de.bin
106 res/lang/en.bin 106 res/lang/en.bin
107 res/lang/eo.bin
107 res/lang/es.bin 108 res/lang/es.bin
109 res/lang/es_MX.bin
108 res/lang/fi.bin 110 res/lang/fi.bin
109 res/lang/fr.bin 111 res/lang/fr.bin
112 res/lang/gl.bin
110 res/lang/ia.bin 113 res/lang/ia.bin
111 res/lang/ie.bin 114 res/lang/ie.bin
115 res/lang/isv.bin
112 res/lang/pl.bin 116 res/lang/pl.bin
113 res/lang/ru.bin 117 res/lang/ru.bin
118 res/lang/sk.bin
114 res/lang/sr.bin 119 res/lang/sr.bin
115 res/lang/tok.bin 120 res/lang/tok.bin
116 res/lang/zh_Hans.bin 121 res/lang/zh_Hans.bin
diff --git a/po/compile.py b/po/compile.py
index 2b0273b6..5ac1e756 100755
--- a/po/compile.py
+++ b/po/compile.py
@@ -7,13 +7,18 @@ import os, sys
7BUILD_LANGS = [ 7BUILD_LANGS = [
8 'en', # base strings 8 'en', # base strings
9 'de', 9 'de',
10 'eo',
10 'es', 11 'es',
12 'es_MX',
11 'fi', 13 'fi',
12 'fr', 14 'fr',
15 'gl',
13 'ia', 16 'ia',
14 'ie', 17 'ie',
18 'isv',
15 'pl', 19 'pl',
16 'ru', 20 'ru',
21 'sk',
17 'sr', 22 'sr',
18 'tok', 23 'tok',
19 'zh_Hans', 24 'zh_Hans',
diff --git a/po/en.po b/po/en.po
index 24ca12a3..9b09ec9c 100644
--- a/po/en.po
+++ b/po/en.po
@@ -1063,6 +1063,9 @@ msgstr "Finnish"
1063msgid "lang.fr" 1063msgid "lang.fr"
1064msgstr "French" 1064msgstr "French"
1065 1065
1066msgid "lang.gl"
1067msgstr "Galician"
1068
1066msgid "lang.hi" 1069msgid "lang.hi"
1067msgstr "Hindi" 1070msgstr "Hindi"
1068 1071
@@ -1081,12 +1084,24 @@ msgstr "Portuguese"
1081msgid "lang.ru" 1084msgid "lang.ru"
1082msgstr "Russian" 1085msgstr "Russian"
1083 1086
1087msgid "lang.eo"
1088msgstr "Esperanto"
1089
1084msgid "lang.es" 1090msgid "lang.es"
1085msgstr "Spanish" 1091msgstr "Spanish"
1086 1092
1093msgid "lang.es.mx"
1094msgstr "Spanish (Mexico)"
1095
1096msgid "lang.sk"
1097msgstr "Slovak"
1098
1087msgid "lang.sr" 1099msgid "lang.sr"
1088msgstr "Serbian" 1100msgstr "Serbian"
1089 1101
1102msgid "lang.isv"
1103msgstr "Interslavic"
1104
1090msgid "lang.tok" 1105msgid "lang.tok"
1091msgstr "Toki Pona" 1106msgstr "Toki Pona"
1092 1107
diff --git a/res/lang/de.bin b/res/lang/de.bin
index 0d63824a..83819479 100644
--- a/res/lang/de.bin
+++ b/res/lang/de.bin
Binary files differ
diff --git a/res/lang/en.bin b/res/lang/en.bin
index ef09f624..4ccf7d6d 100644
--- a/res/lang/en.bin
+++ b/res/lang/en.bin
Binary files differ
diff --git a/res/lang/eo.bin b/res/lang/eo.bin
new file mode 100644
index 00000000..1977d746
--- /dev/null
+++ b/res/lang/eo.bin
Binary files differ
diff --git a/res/lang/es.bin b/res/lang/es.bin
index a45af687..d2467d5b 100644
--- a/res/lang/es.bin
+++ b/res/lang/es.bin
Binary files differ
diff --git a/res/lang/es_MX.bin b/res/lang/es_MX.bin
new file mode 100644
index 00000000..9e0d208a
--- /dev/null
+++ b/res/lang/es_MX.bin
Binary files differ
diff --git a/res/lang/fi.bin b/res/lang/fi.bin
index 404c34cd..6dc728d2 100644
--- a/res/lang/fi.bin
+++ b/res/lang/fi.bin
Binary files differ
diff --git a/res/lang/fr.bin b/res/lang/fr.bin
index e7a5e71d..bccab53e 100644
--- a/res/lang/fr.bin
+++ b/res/lang/fr.bin
Binary files differ
diff --git a/res/lang/gl.bin b/res/lang/gl.bin
new file mode 100644
index 00000000..01f62e90
--- /dev/null
+++ b/res/lang/gl.bin
Binary files differ
diff --git a/res/lang/ia.bin b/res/lang/ia.bin
index ef2c8ca8..1a289523 100644
--- a/res/lang/ia.bin
+++ b/res/lang/ia.bin
Binary files differ
diff --git a/res/lang/ie.bin b/res/lang/ie.bin
index 2f7400d6..a20c8542 100644
--- a/res/lang/ie.bin
+++ b/res/lang/ie.bin
Binary files differ
diff --git a/res/lang/isv.bin b/res/lang/isv.bin
new file mode 100644
index 00000000..857c5d01
--- /dev/null
+++ b/res/lang/isv.bin
Binary files differ
diff --git a/res/lang/pl.bin b/res/lang/pl.bin
index 1325a496..22895b5c 100644
--- a/res/lang/pl.bin
+++ b/res/lang/pl.bin
Binary files differ
diff --git a/res/lang/ru.bin b/res/lang/ru.bin
index 9d6d24de..754833d8 100644
--- a/res/lang/ru.bin
+++ b/res/lang/ru.bin
Binary files differ
diff --git a/res/lang/sk.bin b/res/lang/sk.bin
new file mode 100644
index 00000000..38287319
--- /dev/null
+++ b/res/lang/sk.bin
Binary files differ
diff --git a/res/lang/sr.bin b/res/lang/sr.bin
index de8bc5b2..2c2608ba 100644
--- a/res/lang/sr.bin
+++ b/res/lang/sr.bin
Binary files differ
diff --git a/res/lang/tok.bin b/res/lang/tok.bin
index e233fa63..db2f0a0f 100644
--- a/res/lang/tok.bin
+++ b/res/lang/tok.bin
Binary files differ
diff --git a/res/lang/zh_Hans.bin b/res/lang/zh_Hans.bin
index 754d3a3f..c98e9f81 100644
--- a/res/lang/zh_Hans.bin
+++ b/res/lang/zh_Hans.bin
Binary files differ
diff --git a/res/lang/zh_Hant.bin b/res/lang/zh_Hant.bin
index a8d3690d..e1866c74 100644
--- a/res/lang/zh_Hant.bin
+++ b/res/lang/zh_Hant.bin
Binary files differ
diff --git a/src/lang.c b/src/lang.c
index 4c05647c..a867f911 100644
--- a/src/lang.c
+++ b/src/lang.c
@@ -46,6 +46,8 @@ enum iPluralType {
46 notEqualToOne_PluralType, 46 notEqualToOne_PluralType,
47 polish_PluralType, 47 polish_PluralType,
48 slavic_PluralType, 48 slavic_PluralType,
49 oneTwoMany_PluralType,
50 oneFewMany_PluralType,
49}; 51};
50 52
51struct Impl_Lang { 53struct Impl_Lang {
@@ -59,6 +61,10 @@ static size_t pluralIndex_Lang_(const iLang *d, int n) {
59 switch (d->pluralType) { 61 switch (d->pluralType) {
60 case notEqualToOne_PluralType: 62 case notEqualToOne_PluralType:
61 return n != 1; 63 return n != 1;
64 case oneTwoMany_PluralType:
65 return n == 1 ? 0 : n == 2 ? 1 : 2;
66 case oneFewMany_PluralType:
67 return n == 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2;
62 case polish_PluralType: 68 case polish_PluralType:
63 return n == 1 ? 0 69 return n == 1 ? 0
64 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 70 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1
@@ -82,11 +88,16 @@ static void load_Lang_(iLang *d, const char *id) {
82 const iBlock *data = equal_CStr(id, "fi") ? &blobFi_Embedded 88 const iBlock *data = equal_CStr(id, "fi") ? &blobFi_Embedded
83 : equal_CStr(id, "fr") ? &blobFr_Embedded 89 : equal_CStr(id, "fr") ? &blobFr_Embedded
84 : equal_CStr(id, "ru") ? &blobRu_Embedded 90 : equal_CStr(id, "ru") ? &blobRu_Embedded
91 : equal_CStr(id, "eo") ? &blobEo_Embedded
85 : equal_CStr(id, "es") ? &blobEs_Embedded 92 : equal_CStr(id, "es") ? &blobEs_Embedded
93 : equal_CStr(id, "es_MX") ? &blobEs_MX_Embedded
86 : equal_CStr(id, "de") ? &blobDe_Embedded 94 : equal_CStr(id, "de") ? &blobDe_Embedded
95 : equal_CStr(id, "gl") ? &blobGl_Embedded
87 : equal_CStr(id, "ia") ? &blobIa_Embedded 96 : equal_CStr(id, "ia") ? &blobIa_Embedded
88 : equal_CStr(id, "ie") ? &blobIe_Embedded 97 : equal_CStr(id, "ie") ? &blobIe_Embedded
98 : equal_CStr(id, "isv") ? &blobIsv_Embedded
89 : equal_CStr(id, "pl") ? &blobPl_Embedded 99 : equal_CStr(id, "pl") ? &blobPl_Embedded
100 : equal_CStr(id, "sk") ? &blobSk_Embedded
90 : equal_CStr(id, "sr") ? &blobSr_Embedded 101 : equal_CStr(id, "sr") ? &blobSr_Embedded
91 : equal_CStr(id, "tok") ? &blobTok_Embedded 102 : equal_CStr(id, "tok") ? &blobTok_Embedded
92 : equal_CStr(id, "zh_Hans") ? &blobZh_Hans_Embedded 103 : equal_CStr(id, "zh_Hans") ? &blobZh_Hans_Embedded
@@ -95,6 +106,12 @@ static void load_Lang_(iLang *d, const char *id) {
95 if (data == &blobRu_Embedded || data == &blobSr_Embedded) { 106 if (data == &blobRu_Embedded || data == &blobSr_Embedded) {
96 d->pluralType = slavic_PluralType; 107 d->pluralType = slavic_PluralType;
97 } 108 }
109 else if (data == &blobIsv_Embedded) {
110 d->pluralType = oneTwoMany_PluralType;
111 }
112 else if (data == &blobSk_Embedded) {
113 d->pluralType = oneFewMany_PluralType;
114 }
98 else if (data == &blobPl_Embedded) { 115 else if (data == &blobPl_Embedded) {
99 d->pluralType = polish_PluralType; 116 d->pluralType = polish_PluralType;
100 } 117 }
diff --git a/src/ui/util.c b/src/ui/util.c
index 5b9f15a9..53478cba 100644
--- a/src/ui/util.c
+++ b/src/ui/util.c
@@ -2066,12 +2066,17 @@ iWidget *makePreferences_Widget(void) {
2066 const iMenuItem langItems[] = { { "${lang.de} - de", 0, 0, "uilang id:de" }, 2066 const iMenuItem langItems[] = { { "${lang.de} - de", 0, 0, "uilang id:de" },
2067 { "${lang.en} - en", 0, 0, "uilang id:en" }, 2067 { "${lang.en} - en", 0, 0, "uilang id:en" },
2068 { "${lang.es} - es", 0, 0, "uilang id:es" }, 2068 { "${lang.es} - es", 0, 0, "uilang id:es" },
2069 { "${lang.es.mx} - es", 0, 0, "uilang id:es_MX" },
2070 { "${lang.eo} - eo", 0, 0, "uilang id:eo" },
2069 { "${lang.fi} - fi", 0, 0, "uilang id:fi" }, 2071 { "${lang.fi} - fi", 0, 0, "uilang id:fi" },
2070 { "${lang.fr} - fr", 0, 0, "uilang id:fr" }, 2072 { "${lang.fr} - fr", 0, 0, "uilang id:fr" },
2073 { "${lang.gl} - gl", 0, 0, "uilang id:gl" },
2071 { "${lang.ia} - ia", 0, 0, "uilang id:ia" }, 2074 { "${lang.ia} - ia", 0, 0, "uilang id:ia" },
2072 { "${lang.ie} - ie", 0, 0, "uilang id:ie" }, 2075 { "${lang.ie} - ie", 0, 0, "uilang id:ie" },
2076 { "${lang.isv} - isv", 0, 0, "uilang id:isv" },
2073 { "${lang.pl} - pl", 0, 0, "uilang id:pl" }, 2077 { "${lang.pl} - pl", 0, 0, "uilang id:pl" },
2074 { "${lang.ru} - ru", 0, 0, "uilang id:ru" }, 2078 { "${lang.ru} - ru", 0, 0, "uilang id:ru" },
2079 { "${lang.sk} - sk", 0, 0, "uilang id:sk" },
2075 { "${lang.sr} - sr", 0, 0, "uilang id:sr" }, 2080 { "${lang.sr} - sr", 0, 0, "uilang id:sr" },
2076 { "${lang.tok} - tok", 0, 0, "uilang id:tok" }, 2081 { "${lang.tok} - tok", 0, 0, "uilang id:tok" },
2077 { "${lang.zh.hans} - zh", 0, 0, "uilang id:zh_Hans" }, 2082 { "${lang.zh.hans} - zh", 0, 0, "uilang id:zh_Hans" },