From dea3dbf7afc9054a1bb87d3c6f59217575148c66 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Sat, 25 Sep 2021 13:36:49 +0300 Subject: Lang: Added eo, es_MX, gl, isv, and sk New almost completed or in-progress UI translations. --- CMakeLists.txt | 5 +++++ po/compile.py | 5 +++++ po/en.po | 15 +++++++++++++++ res/lang/de.bin | Bin 24641 -> 26071 bytes res/lang/en.bin | Bin 23514 -> 23613 bytes res/lang/eo.bin | Bin 0 -> 22467 bytes res/lang/es.bin | Bin 25772 -> 26095 bytes res/lang/es_MX.bin | Bin 0 -> 24527 bytes res/lang/fi.bin | Bin 25777 -> 26367 bytes res/lang/fr.bin | Bin 26746 -> 26845 bytes res/lang/gl.bin | Bin 0 -> 25388 bytes res/lang/ia.bin | Bin 25369 -> 25468 bytes res/lang/ie.bin | Bin 25131 -> 25230 bytes res/lang/isv.bin | Bin 0 -> 22403 bytes res/lang/pl.bin | Bin 26302 -> 26672 bytes res/lang/ru.bin | Bin 38028 -> 38127 bytes res/lang/sk.bin | Bin 0 -> 22732 bytes res/lang/sr.bin | Bin 37685 -> 37784 bytes res/lang/tok.bin | Bin 23567 -> 23666 bytes res/lang/zh_Hans.bin | Bin 22321 -> 22420 bytes res/lang/zh_Hant.bin | Bin 22506 -> 22489 bytes src/lang.c | 17 +++++++++++++++++ src/ui/util.c | 5 +++++ 23 files changed, 47 insertions(+) create mode 100644 res/lang/eo.bin create mode 100644 res/lang/es_MX.bin create mode 100644 res/lang/gl.bin create mode 100644 res/lang/isv.bin create mode 100644 res/lang/sk.bin 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 res/fonts/SourceSans3-Semibold.ttf res/lang/de.bin res/lang/en.bin + res/lang/eo.bin res/lang/es.bin + res/lang/es_MX.bin res/lang/fi.bin res/lang/fr.bin + res/lang/gl.bin res/lang/ia.bin res/lang/ie.bin + res/lang/isv.bin res/lang/pl.bin res/lang/ru.bin + res/lang/sk.bin res/lang/sr.bin res/lang/tok.bin 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 BUILD_LANGS = [ 'en', # base strings 'de', + 'eo', 'es', + 'es_MX', 'fi', 'fr', + 'gl', 'ia', 'ie', + 'isv', 'pl', 'ru', + 'sk', 'sr', 'tok', '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" msgid "lang.fr" msgstr "French" +msgid "lang.gl" +msgstr "Galician" + msgid "lang.hi" msgstr "Hindi" @@ -1081,12 +1084,24 @@ msgstr "Portuguese" msgid "lang.ru" msgstr "Russian" +msgid "lang.eo" +msgstr "Esperanto" + msgid "lang.es" msgstr "Spanish" +msgid "lang.es.mx" +msgstr "Spanish (Mexico)" + +msgid "lang.sk" +msgstr "Slovak" + msgid "lang.sr" msgstr "Serbian" +msgid "lang.isv" +msgstr "Interslavic" + msgid "lang.tok" msgstr "Toki Pona" diff --git a/res/lang/de.bin b/res/lang/de.bin index 0d63824a..83819479 100644 Binary files a/res/lang/de.bin and b/res/lang/de.bin differ diff --git a/res/lang/en.bin b/res/lang/en.bin index ef09f624..4ccf7d6d 100644 Binary files a/res/lang/en.bin and b/res/lang/en.bin differ diff --git a/res/lang/eo.bin b/res/lang/eo.bin new file mode 100644 index 00000000..1977d746 Binary files /dev/null and b/res/lang/eo.bin differ diff --git a/res/lang/es.bin b/res/lang/es.bin index a45af687..d2467d5b 100644 Binary files a/res/lang/es.bin and b/res/lang/es.bin differ diff --git a/res/lang/es_MX.bin b/res/lang/es_MX.bin new file mode 100644 index 00000000..9e0d208a Binary files /dev/null and b/res/lang/es_MX.bin differ diff --git a/res/lang/fi.bin b/res/lang/fi.bin index 404c34cd..6dc728d2 100644 Binary files a/res/lang/fi.bin and b/res/lang/fi.bin differ diff --git a/res/lang/fr.bin b/res/lang/fr.bin index e7a5e71d..bccab53e 100644 Binary files a/res/lang/fr.bin and b/res/lang/fr.bin differ diff --git a/res/lang/gl.bin b/res/lang/gl.bin new file mode 100644 index 00000000..01f62e90 Binary files /dev/null and b/res/lang/gl.bin differ diff --git a/res/lang/ia.bin b/res/lang/ia.bin index ef2c8ca8..1a289523 100644 Binary files a/res/lang/ia.bin and b/res/lang/ia.bin differ diff --git a/res/lang/ie.bin b/res/lang/ie.bin index 2f7400d6..a20c8542 100644 Binary files a/res/lang/ie.bin and b/res/lang/ie.bin differ diff --git a/res/lang/isv.bin b/res/lang/isv.bin new file mode 100644 index 00000000..857c5d01 Binary files /dev/null and b/res/lang/isv.bin differ diff --git a/res/lang/pl.bin b/res/lang/pl.bin index 1325a496..22895b5c 100644 Binary files a/res/lang/pl.bin and b/res/lang/pl.bin differ diff --git a/res/lang/ru.bin b/res/lang/ru.bin index 9d6d24de..754833d8 100644 Binary files a/res/lang/ru.bin and b/res/lang/ru.bin differ diff --git a/res/lang/sk.bin b/res/lang/sk.bin new file mode 100644 index 00000000..38287319 Binary files /dev/null and b/res/lang/sk.bin differ diff --git a/res/lang/sr.bin b/res/lang/sr.bin index de8bc5b2..2c2608ba 100644 Binary files a/res/lang/sr.bin and b/res/lang/sr.bin differ diff --git a/res/lang/tok.bin b/res/lang/tok.bin index e233fa63..db2f0a0f 100644 Binary files a/res/lang/tok.bin and b/res/lang/tok.bin differ diff --git a/res/lang/zh_Hans.bin b/res/lang/zh_Hans.bin index 754d3a3f..c98e9f81 100644 Binary files a/res/lang/zh_Hans.bin and b/res/lang/zh_Hans.bin differ diff --git a/res/lang/zh_Hant.bin b/res/lang/zh_Hant.bin index a8d3690d..e1866c74 100644 Binary files a/res/lang/zh_Hant.bin and b/res/lang/zh_Hant.bin 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 { notEqualToOne_PluralType, polish_PluralType, slavic_PluralType, + oneTwoMany_PluralType, + oneFewMany_PluralType, }; struct Impl_Lang { @@ -59,6 +61,10 @@ static size_t pluralIndex_Lang_(const iLang *d, int n) { switch (d->pluralType) { case notEqualToOne_PluralType: return n != 1; + case oneTwoMany_PluralType: + return n == 1 ? 0 : n == 2 ? 1 : 2; + case oneFewMany_PluralType: + return n == 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2; case polish_PluralType: return n == 1 ? 0 : 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) { const iBlock *data = equal_CStr(id, "fi") ? &blobFi_Embedded : equal_CStr(id, "fr") ? &blobFr_Embedded : equal_CStr(id, "ru") ? &blobRu_Embedded + : equal_CStr(id, "eo") ? &blobEo_Embedded : equal_CStr(id, "es") ? &blobEs_Embedded + : equal_CStr(id, "es_MX") ? &blobEs_MX_Embedded : equal_CStr(id, "de") ? &blobDe_Embedded + : equal_CStr(id, "gl") ? &blobGl_Embedded : equal_CStr(id, "ia") ? &blobIa_Embedded : equal_CStr(id, "ie") ? &blobIe_Embedded + : equal_CStr(id, "isv") ? &blobIsv_Embedded : equal_CStr(id, "pl") ? &blobPl_Embedded + : equal_CStr(id, "sk") ? &blobSk_Embedded : equal_CStr(id, "sr") ? &blobSr_Embedded : equal_CStr(id, "tok") ? &blobTok_Embedded : equal_CStr(id, "zh_Hans") ? &blobZh_Hans_Embedded @@ -95,6 +106,12 @@ static void load_Lang_(iLang *d, const char *id) { if (data == &blobRu_Embedded || data == &blobSr_Embedded) { d->pluralType = slavic_PluralType; } + else if (data == &blobIsv_Embedded) { + d->pluralType = oneTwoMany_PluralType; + } + else if (data == &blobSk_Embedded) { + d->pluralType = oneFewMany_PluralType; + } else if (data == &blobPl_Embedded) { d->pluralType = polish_PluralType; } 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) { const iMenuItem langItems[] = { { "${lang.de} - de", 0, 0, "uilang id:de" }, { "${lang.en} - en", 0, 0, "uilang id:en" }, { "${lang.es} - es", 0, 0, "uilang id:es" }, + { "${lang.es.mx} - es", 0, 0, "uilang id:es_MX" }, + { "${lang.eo} - eo", 0, 0, "uilang id:eo" }, { "${lang.fi} - fi", 0, 0, "uilang id:fi" }, { "${lang.fr} - fr", 0, 0, "uilang id:fr" }, + { "${lang.gl} - gl", 0, 0, "uilang id:gl" }, { "${lang.ia} - ia", 0, 0, "uilang id:ia" }, { "${lang.ie} - ie", 0, 0, "uilang id:ie" }, + { "${lang.isv} - isv", 0, 0, "uilang id:isv" }, { "${lang.pl} - pl", 0, 0, "uilang id:pl" }, { "${lang.ru} - ru", 0, 0, "uilang id:ru" }, + { "${lang.sk} - sk", 0, 0, "uilang id:sk" }, { "${lang.sr} - sr", 0, 0, "uilang id:sr" }, { "${lang.tok} - tok", 0, 0, "uilang id:tok" }, { "${lang.zh.hans} - zh", 0, 0, "uilang id:zh_Hans" }, -- cgit v1.2.3