Merge new languages names gen script (#16)

This commit is contained in:
Rafael Mardojai CM 2023-06-09 14:59:46 -05:00 committed by GitHub
commit 1233559016
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
108 changed files with 77785 additions and 323 deletions

View file

@ -6,36 +6,34 @@
This repository contains all translations of Dialect.
Dialect has been translated into the following languages:
Language code | Language | Maintainers
:------------: | :------------------: | :-----------------:
ca | Catalan | Adolfo Jayme Barrientos
cs | Czech | @pervoj
de | German | @Etamuk
es | Spanish | @rafaelmardojai
eu | Basque | Sergio Varela
fa | Persian | @musicsd
fr | French | Swann Fournial
he | Hebrew | @yarons
hi | Hindi | @hemish04082005
hr | Croatian | @milotype
hu | Hungarian | @meskobalazs
id | Indonesian | @cho2
it | Italian | @albanobattistella
ka | Georgian | @TheOPtimal
kmr | Kurdish (Northern) | Roniyê Bekrî
ko | Korean | @darkcircle
nb_NO | Norwegian Bokmål | Allan Nordhøy
nl | Dutch | @Vistaus
pl | Polish | IntinteDAO
pt | Portuguese | @JulianoSCbah
pt_BR | Brazilian Portuguese | @xfgusta
ru | Russian | @nexeleriot
sv | Swedish | @eson57
tr | Turkish | @noteqnil
ta | Tamil | @kbdharun
Dialect is a translation application, meaning it's intended to help get over language barriers, so we believe UI translation to be an essential part of the application's development. As such, we really appreciate all the work put into it! :)
If your name or GitHub profile is missing here or if you want to make any other changes to this file, pull requests are welcome!
Dialect has been translated into the following languages:
<a href="https://hosted.weblate.org/engage/dialect/">
<img src="https://hosted.weblate.org/widgets/dialect/-/dialect/multi-auto.svg" alt="Translation status" />
</a>
## Languages names translations
Translations for language names are automatically generated from the [Unicode CLDR Project](https://cldr.unicode.org/) data. You can contribute there if translations for your language are missing.
### Generation script
#### How to use
```bash
git clone https://github.com/dialect-app/po
pip install polib
python gen_cldr_langs.py
```
The script needs `polib` to run.
`gen_cldr_langs.py` should be run with `po/` as the working directory and will not work as expected otherwise.
#### How to contribute
The `gen_cldr_langs.py` script has a few things you could help with as well:
- If your language is named differently in the Unicode CLDR project, add a mapping in `CLDR_NAMES`.

47
cldr-langs/LINGUAS Normal file
View file

@ -0,0 +1,47 @@
ca
cs
de
eo
es
eu
fa
fi
fr
gl
he
hi
hr
hu
id
it
ka
kmr
ko
lt
nb_NO
nl
pl
pt
pt_BR
ru
sv
tr
ar
uk
kn
zh_CN
ja
lv
sk
si
fy
am
el
sr
da
bn
ta
zh_Hant
zgh
ur
fur

1555
cldr-langs/am.po Normal file

File diff suppressed because it is too large Load diff

1744
cldr-langs/ar.po Normal file

File diff suppressed because it is too large Load diff

1663
cldr-langs/bn.po Normal file

File diff suppressed because it is too large Load diff

1858
cldr-langs/ca.po Normal file

File diff suppressed because it is too large Load diff

1987
cldr-langs/cs.po Normal file

File diff suppressed because it is too large Load diff

1744
cldr-langs/da.po Normal file

File diff suppressed because it is too large Load diff

1951
cldr-langs/de.po Normal file

File diff suppressed because it is too large Load diff

1732
cldr-langs/el.po Normal file

File diff suppressed because it is too large Load diff

475
cldr-langs/eo.po Normal file
View file

@ -0,0 +1,475 @@
#
msgid ""
msgstr ""
"Project-Id-Version: dialect-cldr-langs\n"
"Language: eo\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Afar"
msgstr "afara"
msgid "Abkhazian"
msgstr "abĥaza"
msgid "Afrikaans"
msgstr "afrikansa"
msgid "Amharic"
msgstr "amhara"
msgid "Arabic"
msgstr "araba"
msgid "Assamese"
msgstr "asama"
msgid "Aymara"
msgstr "ajmara"
msgid "Azerbaijani"
msgstr "azerbajĝana"
msgid "Azeri"
msgstr "azerbajĝana"
msgid "Bashkir"
msgstr "baŝkira"
msgid "Belarusian"
msgstr "belorusa"
msgid "Bulgarian"
msgstr "bulgara"
msgid "Bislama"
msgstr "bislamo"
msgid "Bangla"
msgstr "bengala"
msgid "Tibetan"
msgstr "tibeta"
msgid "Breton"
msgstr "bretona"
msgid "Bosnian"
msgstr "bosnia"
msgid "Catalan"
msgstr "kataluna"
msgid "Corsican"
msgstr "korsika"
msgid "Czech"
msgstr "ĉeĥa"
msgid "Welsh"
msgstr "kimra"
msgid "Danish"
msgstr "dana"
msgid "German"
msgstr "germana"
msgid "Divehi"
msgstr "mahla"
msgid "Dzongkha"
msgstr "dzonko"
msgid "Efik"
msgstr "ibibioefika"
msgid "Greek"
msgstr "greka"
msgid "English"
msgstr "angla"
msgid "Esperanto"
msgstr "esperanto"
msgid "Spanish"
msgstr "hispana"
msgid "Estonian"
msgstr "estona"
msgid "Basque"
msgstr "eŭska"
msgid "Persian"
msgstr "persa"
msgid "Finnish"
msgstr "finna"
msgid "Filipino"
msgstr "filipina"
msgid "Fijian"
msgstr "fiĝia"
msgid "Faroese"
msgstr "feroa"
msgid "French"
msgstr "franca"
msgid "Western Frisian"
msgstr "frisa"
msgid "Irish"
msgstr "irlanda"
msgid "Scottish Gaelic"
msgstr "gaela"
msgid "Galician"
msgstr "galega"
msgid "Guarani"
msgstr "gvarania"
msgid "Gujarati"
msgstr "guĝarata"
msgid "Hausa"
msgstr "haŭsa"
msgid "Hawaiian"
msgstr "havaja"
msgid "Hebrew"
msgstr "hebrea"
msgid "Hindi"
msgstr "hinda"
msgid "Croatian"
msgstr "kroata"
msgid "Haitian Creole"
msgstr "haitia kreola"
msgid "Hungarian"
msgstr "hungara"
msgid "Armenian"
msgstr "armena"
msgid "Interlingua"
msgstr "interlingvao"
msgid "Indonesian"
msgstr "indonezia"
msgid "Interlingue"
msgstr "okcidentalo"
msgid "Inupiaq"
msgstr "eskima"
msgid "Icelandic"
msgstr "islanda"
msgid "Italian"
msgstr "itala"
msgid "Inuktitut"
msgstr "inuita"
msgid "Japanese"
msgstr "japana"
msgid "Javanese"
msgstr "java"
msgid "Georgian"
msgstr "kartvela"
msgid "Kazakh"
msgstr "kazaĥa"
msgid "Kalaallisut"
msgstr "gronlanda"
msgid "Khmer"
msgstr "kmera"
msgid "Kannada"
msgstr "kanara"
msgid "Korean"
msgstr "korea"
msgid "Kashmiri"
msgstr "kaŝmira"
msgid "Kurdish"
msgstr "kurda"
msgid "Kyrgyz"
msgstr "kirgiza"
msgid "Latin"
msgstr "latino"
msgid "Luxembourgish"
msgstr "luksemburga"
msgid "Lingala"
msgstr "lingala"
msgid "Lao"
msgstr "laŭa"
msgid "Lithuanian"
msgstr "litova"
msgid "Latvian"
msgstr "latva"
msgid "Malagasy"
msgstr "malagasa"
msgid "Māori"
msgstr "maoria"
msgid "Macedonian"
msgstr "makedona"
msgid "Malayalam"
msgstr "malajalama"
msgid "Mongolian"
msgstr "mongola"
msgid "Marathi"
msgstr "marata"
msgid "Malay"
msgstr "malaja"
msgid "Maltese"
msgstr "malta"
msgid "Burmese"
msgstr "birma"
msgid "Nauru"
msgstr "naura"
msgid "Norwegian Bokmål"
msgstr "dannorvega"
msgid "Nepali"
msgstr "nepala"
msgid "Dutch"
msgstr "nederlanda"
msgid "Norwegian Nynorsk"
msgstr "novnorvega"
msgid "Norwegian"
msgstr "norvega"
msgid "Occitan"
msgstr "okcitana"
msgid "Oromo"
msgstr "oroma"
msgid "Odia"
msgstr "orijo"
msgid "Punjabi"
msgstr "panĝaba"
msgid "Polish"
msgstr "pola"
msgid "Pashto"
msgstr "paŝtoa"
msgid "Portuguese"
msgstr "portugala"
msgid "Brazilian Portuguese"
msgstr "brazilportugala"
msgid "European Portuguese"
msgstr "eŭropportugala"
msgid "Quechua"
msgstr "keĉua"
msgid "Romansh"
msgstr "romanĉa"
msgid "Rundi"
msgstr "burunda"
msgid "Romanian"
msgstr "rumana"
msgid "Russian"
msgstr "rusa"
msgid "Kinyarwanda"
msgstr "ruanda"
msgid "Sanskrit"
msgstr "sanskrito"
msgid "Sindhi"
msgstr "sinda"
msgid "Sango"
msgstr "sangoa"
msgid "Serbo-Croatian"
msgstr "serbo-Kroata"
msgid "Sinhala"
msgstr "sinhala"
msgid "Slovak"
msgstr "slovaka"
msgid "Slovenian"
msgstr "slovena"
msgid "Samoan"
msgstr "samoa"
msgid "Shona"
msgstr "ŝona"
msgid "Somali"
msgstr "somala"
msgid "Albanian"
msgstr "albana"
msgid "Serbian"
msgstr "serba"
msgid "Swati"
msgstr "svazia"
msgid "Southern Sotho"
msgstr "sota"
msgid "Sundanese"
msgstr "sunda"
msgid "Swedish"
msgstr "sveda"
msgid "Swahili"
msgstr "svahila"
msgid "Tamil"
msgstr "tamila"
msgid "Telugu"
msgstr "telugua"
msgid "Tajik"
msgstr "taĝika"
msgid "Thai"
msgstr "taja"
msgid "Tigrinya"
msgstr "tigraja"
msgid "Turkmen"
msgstr "turkmena"
msgid "Tagalog"
msgstr "tagaloga"
msgid "Klingon"
msgstr "klingona"
msgid "Tswana"
msgstr "cvana"
msgid "Tongan"
msgstr "tongaa"
msgid "Turkish"
msgstr "turka"
msgid "Tsonga"
msgstr "conga"
msgid "Tatar"
msgstr "tatara"
msgid "Uyghur"
msgstr "ujgura"
msgid "Ukrainian"
msgstr "ukraina"
msgid "Unknown language"
msgstr "nekonata lingvo"
msgid "Urdu"
msgstr "urduo"
msgid "Uzbek"
msgstr "uzbeka"
msgid "Vietnamese"
msgstr "vjetnama"
msgid "Volapük"
msgstr "volapuko"
msgid "Wolof"
msgstr "volofa"
msgid "Xhosa"
msgstr "ksosa"
msgid "Yiddish"
msgstr "jida"
msgid "Yoruba"
msgstr "joruba"
msgid "Zhuang"
msgstr "ĝuanga"
msgid "Chinese"
msgstr "ĉina"
msgid "Chinese, Mandarin"
msgstr "ĉina"
msgid "Simplified Chinese"
msgstr "ĉina simpligita"
msgid "Simplified Mandarin Chinese"
msgstr "ĉina simpligita"
msgid "Traditional Chinese"
msgstr "ĉina tradicia"
msgid "Traditional Mandarin Chinese"
msgstr "ĉina tradicia"
msgid "Zulu"
msgstr "zulua"
msgid "No linguistic content"
msgstr "nelingvaĵo"

1747
cldr-langs/es.po Normal file

File diff suppressed because it is too large Load diff

1375
cldr-langs/eu.po Normal file

File diff suppressed because it is too large Load diff

1729
cldr-langs/fa.po Normal file

File diff suppressed because it is too large Load diff

1981
cldr-langs/fi.po Normal file

File diff suppressed because it is too large Load diff

1990
cldr-langs/fr.po Normal file

File diff suppressed because it is too large Load diff

577
cldr-langs/fur.po Normal file
View file

@ -0,0 +1,577 @@
#
msgid ""
msgstr ""
"Project-Id-Version: dialect-cldr-langs\n"
"Language: fur\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Afar"
msgstr "afar"
msgid "Abkhazian"
msgstr "abcazian"
msgid "Avestan"
msgstr "avestan"
msgid "Afrikaans"
msgstr "afrikaans"
msgid "Amharic"
msgstr "amaric"
msgid "Aragonese"
msgstr "aragonês"
msgid "Old English"
msgstr "vieri inglês"
msgid "Arabic"
msgstr "arap"
msgid "Aramaic"
msgstr "aramaic"
msgid "Assamese"
msgstr "assamês"
msgid "Asturian"
msgstr "asturian"
msgid "Avaric"
msgstr "avar"
msgid "Aymara"
msgstr "aymarà"
msgid "Azerbaijani"
msgstr "azerbaijani"
msgid "Azeri"
msgstr "azerbaijani"
msgid "Belarusian"
msgstr "bielorùs"
msgid "Bulgarian"
msgstr "bulgar"
msgid "Bangla"
msgstr "bengalês"
msgid "Tibetan"
msgstr "tibetan"
msgid "Breton"
msgstr "breton"
msgid "Bosnian"
msgstr "bosniac"
msgid "Catalan"
msgstr "catalan"
msgid "Chechen"
msgstr "cecen"
msgid "Chamorro"
msgstr "chamorro"
msgid "Corsican"
msgstr "cors"
msgid "Coptic"
msgstr "coptic"
msgid "Cree"
msgstr "cree"
msgid "Czech"
msgstr "cec"
msgid "Church Slavic"
msgstr "sclâf de glesie"
msgid "Welsh"
msgstr "galês"
msgid "Danish"
msgstr "danês"
msgid "German"
msgstr "todesc"
msgid "Austrian German"
msgstr "todesc de Austrie"
msgid "Swiss High German"
msgstr "alt todesc de Svuizare"
msgid "Slave"
msgstr "sclâf"
msgid "Ancient Egyptian"
msgstr "vieri egjizian"
msgid "Greek"
msgstr "grêc"
msgid "English"
msgstr "inglês"
msgid "Australian English"
msgstr "inglês australian"
msgid "Canadian English"
msgstr "inglês canadês"
msgid "British English"
msgstr "inglês britanic"
msgid "UK English"
msgstr "inglês britanic"
msgid "American English"
msgstr "ingles merecan"
msgid "US English"
msgstr "ingles merecan"
msgid "Esperanto"
msgstr "esperanto"
msgid "Spanish"
msgstr "spagnûl"
msgid "Latin American Spanish"
msgstr "spagnûl de Americhe Latine"
msgid "European Spanish"
msgstr "spagnûl iberic"
msgid "Estonian"
msgstr "eston"
msgid "Basque"
msgstr "basc"
msgid "Persian"
msgstr "persian"
msgid "Fula"
msgstr "fulah"
msgid "Finnish"
msgstr "finlandês"
msgid "Filipino"
msgstr "filipin"
msgid "Fijian"
msgstr "fizian"
msgid "Faroese"
msgstr "faroês"
msgid "French"
msgstr "francês"
msgid "Canadian French"
msgstr "francês dal Canade"
msgid "Swiss French"
msgstr "francês de Svuizare"
msgid "Old French"
msgstr "vieri francês"
msgid "Friulian"
msgstr "furlan"
msgid "Western Frisian"
msgstr "frisian"
msgid "Irish"
msgstr "gaelic irlandês"
msgid "Scottish Gaelic"
msgstr "gaelic scozês"
msgid "Galician"
msgstr "galizian"
msgid "Guarani"
msgstr "guaranì"
msgid "Gothic"
msgstr "gotic"
msgid "Ancient Greek"
msgstr "vieri grêc"
msgid "Gujarati"
msgstr "gujarati"
msgid "Manx"
msgstr "manx"
msgid "Hebrew"
msgstr "ebraic"
msgid "Hindi"
msgstr "hindi"
msgid "Croatian"
msgstr "cravuat"
msgid "Haitian Creole"
msgstr "haitian"
msgid "Hungarian"
msgstr "ongjarês"
msgid "Armenian"
msgstr "armen"
msgid "Indonesian"
msgstr "indonesian"
msgid "Igbo"
msgstr "igbo"
msgid "Inupiaq"
msgstr "inupiaq"
msgid "Ido"
msgstr "ido"
msgid "Icelandic"
msgstr "islandês"
msgid "Italian"
msgstr "talian"
msgid "Inuktitut"
msgstr "inuktitut"
msgid "Japanese"
msgstr "gjaponês"
msgid "Georgian"
msgstr "gjeorgjian"
msgid "Kazakh"
msgstr "kazac"
msgid "Kalaallisut"
msgstr "kalaallisut"
msgid "Khmer"
msgstr "khmer"
msgid "Kannada"
msgstr "kannada"
msgid "Korean"
msgstr "corean"
msgid "Kurdish"
msgstr "curd"
msgid "Cornish"
msgstr "cornualiês"
msgid "Latin"
msgstr "latin"
msgid "Ladino"
msgstr "ladin"
msgid "Luxembourgish"
msgstr "lussemburghês"
msgid "Limburgish"
msgstr "limburghês"
msgid "Lingala"
msgstr "lingala"
msgid "Lao"
msgstr "lao"
msgid "Lithuanian"
msgstr "lituan"
msgid "Latvian"
msgstr "leton"
msgid "Malagasy"
msgstr "malagasy"
msgid "Māori"
msgstr "maori"
msgid "Macedonian"
msgstr "macedon"
msgid "Malayalam"
msgstr "malayalam"
msgid "Mongolian"
msgstr "mongul"
msgid "Marathi"
msgstr "marathi"
msgid "Malay"
msgstr "malês"
msgid "Maltese"
msgstr "maltês"
msgid "Multiple languages"
msgstr "lenghis multiplis"
msgid "Mirandese"
msgstr "mirandês"
msgid "Neapolitan"
msgstr "napoletan"
msgid "Norwegian Bokmål"
msgstr "norvegjês bokmål"
msgid "North Ndebele"
msgstr "ndebele setentrionâl"
msgid "Low German"
msgstr "bas todesc"
msgid "Nepali"
msgstr "nepalês"
msgid "Dutch"
msgstr "olandês"
msgid "Flemish"
msgstr "flamant"
msgid "Norwegian Nynorsk"
msgstr "norvegjês nynorsk"
msgid "Norwegian"
msgstr "norvegjês"
msgid "Old Norse"
msgstr "vieri norvegjês"
msgid "Northern Sotho"
msgstr "sotho setentrionâl"
msgid "Navajo"
msgstr "navajo"
msgid "Occitan"
msgstr "ocitan"
msgid "Odia"
msgstr "oriya"
msgid "Ossetic"
msgstr "osetic"
msgid "Ottoman Turkish"
msgstr "turc otoman"
msgid "Punjabi"
msgstr "punjabi"
msgid "Papiamento"
msgstr "papiamento"
msgid "Old Persian"
msgstr "vieri persian"
msgid "Polish"
msgstr "polac"
msgid "Old Provençal"
msgstr "vieri provenzâl"
msgid "Pashto"
msgstr "pashto"
msgid "Portuguese"
msgstr "portughês"
msgid "Brazilian Portuguese"
msgstr "portughês brasilian"
msgid "European Portuguese"
msgstr "portughês iberic"
msgid "Quechua"
msgstr "quechua"
msgid "Romansh"
msgstr "rumanç"
msgid "Romanian"
msgstr "romen"
msgid "Moldavian"
msgstr "moldâf"
msgid "Russian"
msgstr "rus"
msgid "Sanskrit"
msgstr "sanscrit"
msgid "Sardinian"
msgstr "sardegnûl"
msgid "Sicilian"
msgstr "sicilian"
msgid "Scots"
msgstr "scozês"
msgid "Sindhi"
msgstr "sindhi"
msgid "Northern Sami"
msgstr "sami setentrionâl"
msgid "Sango"
msgstr "sango"
msgid "Old Irish"
msgstr "vieri irlandês"
msgid "Sinhala"
msgstr "sinalês"
msgid "Slovak"
msgstr "slovac"
msgid "Slovenian"
msgstr "sloven"
msgid "Samoan"
msgstr "samoan"
msgid "Somali"
msgstr "somal"
msgid "Albanian"
msgstr "albanês"
msgid "Serbian"
msgstr "serp"
msgid "Swati"
msgstr "swati"
msgid "Southern Sotho"
msgstr "sotho meridionâl"
msgid "Sundanese"
msgstr "sundanês"
msgid "Sumerian"
msgstr "sumeric"
msgid "Swedish"
msgstr "svedês"
msgid "Swahili"
msgstr "swahili"
msgid "Tamil"
msgstr "tamil"
msgid "Telugu"
msgstr "telegu"
msgid "Tetum"
msgstr "tetum"
msgid "Tajik"
msgstr "tagic"
msgid "Thai"
msgstr "thai"
msgid "Turkmen"
msgstr "turcmen"
msgid "Tagalog"
msgstr "tagalog"
msgid "Turkish"
msgstr "turc"
msgid "Tatar"
msgstr "tartar"
msgid "Tahitian"
msgstr "tahitian"
msgid "Uyghur"
msgstr "uigur"
msgid "Ukrainian"
msgstr "ucrain"
msgid "Unknown language"
msgstr "indeterminade"
msgid "Urdu"
msgstr "urdu"
msgid "Uzbek"
msgstr "uzbec"
msgid "Venda"
msgstr "venda"
msgid "Vietnamese"
msgstr "vietnamite"
msgid "Walloon"
msgstr "valon"
msgid "Wolof"
msgstr "wolof"
msgid "Xhosa"
msgstr "xhosa"
msgid "Yiddish"
msgstr "yiddish"
msgid "Yoruba"
msgstr "yoruba"
msgid "Chinese"
msgstr "cinês"
msgid "Chinese, Mandarin"
msgstr "cinês"
msgid "Simplified Chinese"
msgstr "cinês semplificât"
msgid "Simplified Mandarin Chinese"
msgstr "cinês semplificât"
msgid "Traditional Chinese"
msgstr "cinês tradizionâl"
msgid "Traditional Mandarin Chinese"
msgstr "cinês tradizionâl"
msgid "Zulu"
msgstr "zulu"

1570
cldr-langs/fy.po Normal file

File diff suppressed because it is too large Load diff

1390
cldr-langs/gl.po Normal file

File diff suppressed because it is too large Load diff

1711
cldr-langs/he.po Normal file

File diff suppressed because it is too large Load diff

1702
cldr-langs/hi.po Normal file

File diff suppressed because it is too large Load diff

1744
cldr-langs/hr.po Normal file

File diff suppressed because it is too large Load diff

1744
cldr-langs/hu.po Normal file

File diff suppressed because it is too large Load diff

1780
cldr-langs/id.po Normal file

File diff suppressed because it is too large Load diff

1966
cldr-langs/it.po Normal file

File diff suppressed because it is too large Load diff

1975
cldr-langs/ja.po Normal file

File diff suppressed because it is too large Load diff

1591
cldr-langs/ka.po Normal file

File diff suppressed because it is too large Load diff

706
cldr-langs/kmr.po Normal file
View file

@ -0,0 +1,706 @@
#
msgid ""
msgstr ""
"Project-Id-Version: dialect-cldr-langs\n"
"Language: kmr\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Afar"
msgstr "afarî"
msgid "Abkhazian"
msgstr "abxazî"
msgid "Achinese"
msgstr "açehî"
msgid "Adyghe"
msgstr "adîgeyî"
msgid "Afrikaans"
msgstr "afrîkansî"
msgid "Ainu"
msgstr "aynuyî"
msgid "Aleut"
msgstr "alêwîtî"
msgid "Amharic"
msgstr "amharî"
msgid "Aragonese"
msgstr "aragonî"
msgid "Arabic"
msgstr "erebî"
msgid "Modern Standard Arabic"
msgstr "erebiya standard"
msgid "Assamese"
msgstr "asamî"
msgid "Asturian"
msgstr "astûrî"
msgid "Avaric"
msgstr "avarî"
msgid "Aymara"
msgstr "aymarayî"
msgid "Azerbaijani"
msgstr "azerî"
msgid "Azeri"
msgstr "azerî"
msgid "Bashkir"
msgstr "başkîrî"
msgid "Balinese"
msgstr "balînî"
msgid "Belarusian"
msgstr "belarusî"
msgid "Bemba"
msgstr "bembayî"
msgid "Bulgarian"
msgstr "bulgarî"
msgid "Bhojpuri"
msgstr "bojpûrî"
msgid "Bislama"
msgstr "bîslamayî"
msgid "Siksiká"
msgstr "blakfotî"
msgid "Bambara"
msgstr "bambarayî"
msgid "Bangla"
msgstr "bengalî"
msgid "Tibetan"
msgstr "tîbetî"
msgid "Breton"
msgstr "bretonî"
msgid "Bosnian"
msgstr "bosnî"
msgid "Buginese"
msgstr "bugî"
msgid "Catalan"
msgstr "katalanî"
msgid "Chechen"
msgstr "çeçenî"
msgid "Cebuano"
msgstr "sebwanoyî"
msgid "Chamorro"
msgstr "çamoroyî"
msgid "Chuukese"
msgstr "çûkî"
msgid "Mari"
msgstr "marî"
msgid "Cherokee"
msgstr "çerokî"
msgid "Cheyenne"
msgstr "çeyenî"
msgid "Central Kurdish"
msgstr "soranî"
msgid "Kurdish, Central"
msgstr "soranî"
msgid "Kurdish, Sorani"
msgstr "soranî"
msgid "Corsican"
msgstr "korsîkayî"
msgid "Czech"
msgstr "çekî"
msgid "Chuvash"
msgstr "çuvaşî"
msgid "Welsh"
msgstr "weylsî"
msgid "Danish"
msgstr "danmarkî"
msgid "German"
msgstr "elmanî"
msgid "Lower Sorbian"
msgstr "sorbiya jêrîn"
msgid "Duala"
msgstr "diwalayî"
msgid "Divehi"
msgstr "divehî"
msgid "Dzongkha"
msgstr "conxayî"
msgid "Ewe"
msgstr "eweyî"
msgid "Greek"
msgstr "yewnanî"
msgid "English"
msgstr "îngilîzî"
msgid "Esperanto"
msgstr "esperantoyî"
msgid "Spanish"
msgstr "spanî"
msgid "Estonian"
msgstr "estonî"
msgid "Basque"
msgstr "baskî"
msgid "Persian"
msgstr "farisî"
msgid "Fula"
msgstr "fulahî"
msgid "Finnish"
msgstr "fînî"
msgid "Filipino"
msgstr "fîlîpînoyî"
msgid "Fijian"
msgstr "fîjî"
msgid "Faroese"
msgstr "ferî"
msgid "French"
msgstr "frensî"
msgid "Friulian"
msgstr "friyolî"
msgid "Western Frisian"
msgstr "frîsî"
msgid "Irish"
msgstr "îrî"
msgid "Scottish Gaelic"
msgstr "gaelîka skotî"
msgid "Gilbertese"
msgstr "kîrîbatî"
msgid "Galician"
msgstr "galîsî"
msgid "Guarani"
msgstr "guwaranî"
msgid "Gorontalo"
msgstr "gorontaloyî"
msgid "Swiss German"
msgstr "elmanîşî"
msgid "Gujarati"
msgstr "gujaratî"
msgid "Manx"
msgstr "manksî"
msgid "Hausa"
msgstr "hawsayî"
msgid "Hawaiian"
msgstr "hawayî"
msgid "Hebrew"
msgstr "îbranî"
msgid "Hindi"
msgstr "hindî"
msgid "Hiligaynon"
msgstr "hîlîgaynonî"
msgid "Croatian"
msgstr "xirwatî"
msgid "Upper Sorbian"
msgstr "sorbiya jorîn"
msgid "Haitian Creole"
msgstr "haîtî"
msgid "Hungarian"
msgstr "mecarî"
msgid "Armenian"
msgstr "ermenî"
msgid "Herero"
msgstr "hereroyî"
msgid "Interlingua"
msgstr "interlingua"
msgid "Indonesian"
msgstr "indonezî"
msgid "Igbo"
msgstr "îgboyî"
msgid "Iloko"
msgstr "îlokanoyî"
msgid "Ingush"
msgstr "îngûşî"
msgid "Ido"
msgstr "îdoyî"
msgid "Icelandic"
msgstr "îzlendî"
msgid "Italian"
msgstr "îtalî"
msgid "Inuktitut"
msgstr "înuîtî"
msgid "Japanese"
msgstr "japonî"
msgid "Lojban"
msgstr "lojbanî"
msgid "Javanese"
msgstr "javayî"
msgid "Georgian"
msgstr "gurcî"
msgid "Kabyle"
msgstr "kabîlî"
msgid "Kabuverdianu"
msgstr "kapverdî"
msgid "Kazakh"
msgstr "qazaxî"
msgid "Kalaallisut"
msgstr "kalalîsûtî"
msgid "Khmer"
msgstr "ximêrî"
msgid "Kannada"
msgstr "kannadayî"
msgid "Korean"
msgstr "koreyî"
msgid "Konkani"
msgstr "konkanî"
msgid "Kashmiri"
msgstr "keşmîrî"
msgid "Colognian"
msgstr "rîpwarî"
msgid "Kurdish"
msgstr "kurdî"
msgid "Komi"
msgstr "komî"
msgid "Cornish"
msgstr "kornî"
msgid "Kyrgyz"
msgstr "kirgizî"
msgid "Ladino"
msgstr "ladînoyî"
msgid "Luxembourgish"
msgstr "luksembûrgî"
msgid "Lezghian"
msgstr "lezgînî"
msgid "Ganda"
msgstr "lugandayî"
msgid "Limburgish"
msgstr "lîmbûrgî"
msgid "Lakota"
msgstr "lakotayî"
msgid "Lingala"
msgstr "lingalayî"
msgid "Lao"
msgstr "lawsî"
msgid "Northern Luri"
msgstr "luriya bakur"
msgid "Lithuanian"
msgstr "lîtwanî"
msgid "Latvian"
msgstr "latviyayî"
msgid "Madurese"
msgstr "madurayî"
msgid "Masai"
msgstr "masayî"
msgid "Moksha"
msgstr "mokşayî"
msgid "Malagasy"
msgstr "malagasî"
msgid "Marshallese"
msgstr "marşalî"
msgid "Māori"
msgstr "maorî"
msgid "Mi'kmaq"
msgstr "mîkmakî"
msgid "Minangkabau"
msgstr "mînangkabawî"
msgid "Macedonian"
msgstr "makedonî"
msgid "Malayalam"
msgstr "malayalamî"
msgid "Mongolian"
msgstr "mongolî"
msgid "Mohawk"
msgstr "mohawkî"
msgid "Marathi"
msgstr "maratî"
msgid "Malay"
msgstr "malezî"
msgid "Maltese"
msgstr "maltayî"
msgid "Burmese"
msgstr "burmayî"
msgid "Erzya"
msgstr "erzayî"
msgid "Mazanderani"
msgstr "mazenderanî"
msgid "Nauru"
msgstr "nawrûyî"
msgid "Neapolitan"
msgstr "napolîtanî"
msgid "Norwegian Bokmål"
msgstr "norwecî (bokmål)"
msgid "Nepali"
msgstr "nepalî"
msgid "Niuean"
msgstr "nîwî"
msgid "Dutch"
msgstr "holendî"
msgid "Flemish"
msgstr "flamî"
msgid "Norwegian Nynorsk"
msgstr "norwecî (nynorsk)"
msgid "Northern Sotho"
msgstr "sotoyiya bakur"
msgid "Navajo"
msgstr "navajoyî"
msgid "Occitan"
msgstr "oksîtanî"
msgid "Oromo"
msgstr "oromoyî"
msgid "Odia"
msgstr "oriyayî"
msgid "Ossetic"
msgstr "osetî"
msgid "Punjabi"
msgstr "puncabî"
msgid "Pampanga"
msgstr "kapampanganî"
msgid "Papiamento"
msgstr "papyamentoyî"
msgid "Palauan"
msgstr "palawî"
msgid "Polish"
msgstr "polonî"
msgid "Prussian"
msgstr "prûsyayî"
msgid "Pashto"
msgstr "peştûyî"
msgid "Portuguese"
msgstr "portugalî"
msgid "Quechua"
msgstr "keçwayî"
msgid "Rapanui"
msgstr "rapanuyî"
msgid "Rarotongan"
msgstr "rarotongî"
msgid "Romansh"
msgstr "romancî"
msgid "Romanian"
msgstr "romanî"
msgid "Russian"
msgstr "rusî"
msgid "Aromanian"
msgstr "aromanî"
msgid "Kinyarwanda"
msgstr "kînyariwandayî"
msgid "Sanskrit"
msgstr "sanskrîtî"
msgid "Sardinian"
msgstr "sardînî"
msgid "Sicilian"
msgstr "sicîlî"
msgid "Scots"
msgstr "skotî"
msgid "Sindhi"
msgstr "sindhî"
msgid "Northern Sami"
msgstr "samiya bakur"
msgid "Sinhala"
msgstr "kîngalî"
msgid "Slovak"
msgstr "slovakî"
msgid "Slovenian"
msgstr "slovenî"
msgid "Samoan"
msgstr "samoayî"
msgid "Inari Sami"
msgstr "samiya înarî"
msgid "Shona"
msgstr "şonayî"
msgid "Somali"
msgstr "somalî"
msgid "Albanian"
msgstr "elbanî"
msgid "Serbian"
msgstr "sirbî"
msgid "Sranan Tongo"
msgstr "sirananî"
msgid "Swati"
msgstr "swazî"
msgid "Southern Sotho"
msgstr "sotoyiya başûr"
msgid "Sundanese"
msgstr "sundanî"
msgid "Swedish"
msgstr "swêdî"
msgid "Swahili"
msgstr "swahîlî"
msgid "Comorian"
msgstr "komorî"
msgid "Syriac"
msgstr "siryanî"
msgid "Tamil"
msgstr "tamîlî"
msgid "Telugu"
msgstr "telûgûyî"
msgid "Tetum"
msgstr "tetûmî"
msgid "Tajik"
msgstr "tacikî"
msgid "Thai"
msgstr "tayî"
msgid "Tigrinya"
msgstr "tigrînî"
msgid "Turkmen"
msgstr "tirkmenî"
msgid "Klingon"
msgstr "klîngonî"
msgid "Tswana"
msgstr "tswanayî"
msgid "Tongan"
msgstr "tongî"
msgid "Tok Pisin"
msgstr "tokpisinî"
msgid "Turkish"
msgstr "tirkî"
msgid "Taroko"
msgstr "tarokoyî"
msgid "Tsonga"
msgstr "tsongayî"
msgid "Tatar"
msgstr "teterî"
msgid "Tumbuka"
msgstr "tumbukayî"
msgid "Tuvalu"
msgstr "tuvalûyî"
msgid "Tahitian"
msgstr "tahîtî"
msgid "Central Atlas Tamazight"
msgstr "temazîxtî"
msgid "Udmurt"
msgstr "udmurtî"
msgid "Uyghur"
msgstr "oygurî"
msgid "Ukrainian"
msgstr "ukraynî"
msgid "Urdu"
msgstr "urdûyî"
msgid "Uzbek"
msgstr "ozbekî"
msgid "Vietnamese"
msgstr "viyetnamî"
msgid "Volapük"
msgstr "volapûkî"
msgid "Walloon"
msgstr "walonî"
msgid "Waray"
msgstr "warayî"
msgid "Wolof"
msgstr "wolofî"
msgid "Xhosa"
msgstr "xosayî"
msgid "Yiddish"
msgstr "yidîşî"
msgid "Yoruba"
msgstr "yorubayî"
msgid "Cantonese"
msgstr "kantonî"
msgid "Chinese, Cantonese"
msgstr "kantonî"
msgid "Zulu"
msgstr "zuluyî"
msgid "Zaza"
msgstr "zazakî"

1705
cldr-langs/kn.po Normal file

File diff suppressed because it is too large Load diff

1744
cldr-langs/ko.po Normal file

File diff suppressed because it is too large Load diff

1978
cldr-langs/lt.po Normal file

File diff suppressed because it is too large Load diff

1696
cldr-langs/lv.po Normal file

File diff suppressed because it is too large Load diff

1
cldr-langs/meson.build Normal file
View file

@ -0,0 +1 @@
i18n.gettext('dialect-cldr-langs', preset: 'glib')

1945
cldr-langs/nb_NO.po Normal file

File diff suppressed because it is too large Load diff

1942
cldr-langs/nl.po Normal file

File diff suppressed because it is too large Load diff

1990
cldr-langs/pl.po Normal file

File diff suppressed because it is too large Load diff

1702
cldr-langs/pt.po Normal file

File diff suppressed because it is too large Load diff

1702
cldr-langs/pt_BR.po Normal file

File diff suppressed because it is too large Load diff

1744
cldr-langs/ru.po Normal file

File diff suppressed because it is too large Load diff

1378
cldr-langs/si.po Normal file

File diff suppressed because it is too large Load diff

1723
cldr-langs/sk.po Normal file

File diff suppressed because it is too large Load diff

1675
cldr-langs/sr.po Normal file

File diff suppressed because it is too large Load diff

1996
cldr-langs/sv.po Normal file

File diff suppressed because it is too large Load diff

1723
cldr-langs/ta.po Normal file

File diff suppressed because it is too large Load diff

1987
cldr-langs/tr.po Normal file

File diff suppressed because it is too large Load diff

1759
cldr-langs/uk.po Normal file

File diff suppressed because it is too large Load diff

1387
cldr-langs/ur.po Normal file

File diff suppressed because it is too large Load diff

145
cldr-langs/zgh.po Normal file
View file

@ -0,0 +1,145 @@
#
msgid ""
msgstr ""
"Project-Id-Version: dialect-cldr-langs\n"
"Language: zgh\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Akan"
msgstr "ⵜⴰⴽⴰⵏⵜ"
msgid "Amharic"
msgstr "ⵜⴰⵎⵀⴰⵔⵉⵜ"
msgid "Arabic"
msgstr "ⵜⴰⵄⵔⴰⴱⵜ"
msgid "Belarusian"
msgstr "ⵜⴰⴱⵉⵍⴰⵔⵓⵙⵜ"
msgid "Bulgarian"
msgstr "ⵜⴰⴱⵍⵖⴰⵔⵉⵜ"
msgid "Bangla"
msgstr "ⵜⴰⴱⵏⵖⴰⵍⵉⵜ"
msgid "Czech"
msgstr "ⵜⴰⵜⵛⵉⴽⵉⵜ"
msgid "German"
msgstr "ⵜⴰⵍⵉⵎⴰⵏⵜ"
msgid "Greek"
msgstr "ⵜⴰⴳⵔⵉⴳⵉⵜ"
msgid "English"
msgstr "ⵜⴰⵏⴳⵍⵉⵣⵜ"
msgid "Spanish"
msgstr "ⵜⴰⵙⴱⵏⵢⵓⵍⵉⵜ"
msgid "Persian"
msgstr "ⵜⴰⴼⵓⵔⵙⵉⵜ"
msgid "French"
msgstr "ⵜⴰⴼⵔⴰⵏⵙⵉⵙⵜ"
msgid "Hausa"
msgstr "ⵜⴰⵀⴰⵡⵙⴰⵜ"
msgid "Hindi"
msgstr "ⵜⴰⵀⵉⵏⴷⵉⵜ"
msgid "Hungarian"
msgstr "ⵜⴰⵀⵏⵖⴰⵔⵉⵜ"
msgid "Indonesian"
msgstr "ⵜⴰⵏⴷⵓⵏⵉⵙⵉⵜ"
msgid "Igbo"
msgstr "ⵜⵉⴳⴱⵓⵜ"
msgid "Italian"
msgstr "ⵜⴰⵟⴰⵍⵢⴰⵏⵜ"
msgid "Japanese"
msgstr "ⵜⴰⵊⴰⴱⴱⵓⵏⵉⵜ"
msgid "Javanese"
msgstr "ⵜⴰⵊⴰⴱⴰⵏⵉⵜ"
msgid "Khmer"
msgstr "ⵜⴰⵅⵎⵉⵔⵜ"
msgid "Korean"
msgstr "ⵜⴰⴽⵓⵔⵉⵜ"
msgid "Malay"
msgstr "ⵜⴰⵎⴰⵍⴰⵡⵉⵜ"
msgid "Burmese"
msgstr "ⵜⴰⴱⵉⵔⵎⴰⵏⵉⵜ"
msgid "Nepali"
msgstr "ⵜⴰⵏⵉⴱⴰⵍⵉⵜ"
msgid "Dutch"
msgstr "ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ"
msgid "Punjabi"
msgstr "ⵜⴰⴱⵏⵊⴰⴱⵉⵜ"
msgid "Polish"
msgstr "ⵜⴰⴱⵓⵍⵓⵏⵉⵜ"
msgid "Portuguese"
msgstr "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ"
msgid "Romanian"
msgstr "ⵜⴰⵔⵓⵎⴰⵏⵉⵜ"
msgid "Russian"
msgstr "ⵜⴰⵔⵓⵙⵉⵜ"
msgid "Kinyarwanda"
msgstr "ⵜⴰⵔⵓⵡⴰⵏⴷⵉⵜ"
msgid "Somali"
msgstr "ⵜⴰⵙⵓⵎⴰⵍⵉⵜ"
msgid "Swedish"
msgstr "ⵜⴰⵙⵡⵉⴷⵉⵜ"
msgid "Tamil"
msgstr "ⵜⴰⵜⴰⵎⵉⵍⵜ"
msgid "Thai"
msgstr "ⵜⴰⵜⴰⵢⵍⴰⵏⴷⵉⵜ"
msgid "Turkish"
msgstr "ⵜⴰⵜⵓⵔⴽⵉⵜ"
msgid "Ukrainian"
msgstr "ⵜⵓⴽⵔⴰⵏⵉⵜ"
msgid "Urdu"
msgstr "ⵜⵓⵔⴷⵓⵜ"
msgid "Vietnamese"
msgstr "ⵜⴰⴱⵉⵜⵏⴰⵎⵉⵜ"
msgid "Yoruba"
msgstr "ⵜⴰⵢⵔⵓⴱⴰⵜ"
msgid "Standard Moroccan Tamazight"
msgstr "ⵜⴰⵎⴰⵣⵉⵖⵜ"
msgid "Chinese"
msgstr "ⵜⴰⵛⵉⵏⵡⵉⵜ"
msgid "Chinese, Mandarin"
msgstr "ⵜⴰⵛⵉⵏⵡⵉⵜ"
msgid "Zulu"
msgstr "ⵜⴰⵣⵓⵍⵓⵜ"

1750
cldr-langs/zh_CN.po Normal file

File diff suppressed because it is too large Load diff

1945
cldr-langs/zh_Hant.po Normal file

File diff suppressed because it is too large Load diff

102
gen_cldr_langs.py Normal file
View file

@ -0,0 +1,102 @@
# Copyright 2021 Mufeed Ali
# Copyright 2023 Rafael Mardojai CM
# SPDX-License-Identifier: GPL-3.0-or-later
import json
import os
import subprocess
import polib
CLDR_NAMES = {
"kmr": "ku", # They seem to be the same since Kurmanji (ku) is Northern Kurdish (kmr).
"zh_CN": "zh-Hans",
"zh_TW": "zh-Hant",
"zh-CN": "zh-Hans",
"zh-TW": "zh-Hant",
}
""" Maps gettext (Weblate) codes to CLDR """
def process_language(lang, english_langs, langs_list):
lang = lang.strip()
print(f"Processing {lang}...")
cldr_present = True # Assume CLDR file is present.
cldr_lang = CLDR_NAMES[lang] if lang in CLDR_NAMES else lang.replace("_", "-")
country_code = lang.split("_")[0]
try:
print("Looking for required CLDR file...")
cldr_file = open(
f"cldr-json/cldr-json/cldr-localenames-full/main/{cldr_lang}/languages.json",
"r",
)
cldr_json = json.load(cldr_file)
except FileNotFoundError:
print(f"No CLDR file found for language: {cldr_lang}.")
try:
cldr_lang = country_code
cldr_file = open(
f"cldr-json/cldr-json/cldr-localenames-full/main/{cldr_lang}/languages.json",
"r",
)
cldr_json = json.load(cldr_file)
print(f"Using file for {cldr_lang} instead.")
except FileNotFoundError:
print("Could not find possible substitutes.")
cldr_present = False # Correct earlier assumption.
if cldr_present:
po = polib.POFile()
po.metadata = {
"Project-Id-Version": "dialect-cldr-langs",
"Language": lang,
"Content-Type": "text/plain; charset=utf-8",
"Content-Transfer-Encoding": "8bit",
}
cldr_langs = cldr_json["main"][cldr_lang]["localeDisplayNames"]["languages"]
for lang_code, lang_name in cldr_langs.items():
english_name = english_langs.get(lang_code)
if english_name is not None:
entry = polib.POEntry(
msgid=english_name,
msgstr=lang_name,
)
po.append(entry)
po.save(f"cldr-langs/{lang}.po")
langs_list.append(lang)
# Clone CLDR json data if needed
if not os.path.isdir("cldr-json"):
print("Cloning Unicode CLDR repository...")
subprocess.call(["git", "clone", "https://github.com/unicode-org/cldr-json"])
try:
# Get English names for gettext catalog creation
print("Getting language English names for catalog...")
cldr_file = open(
"cldr-json/cldr-json/cldr-localenames-full/main/en/languages.json",
"r",
)
cldr_json = json.load(cldr_file)
english_langs = cldr_json["main"]["en"]["localeDisplayNames"]["languages"]
# Parse UI LINGUAS file to know what languages generate
linguas_file = open("ui/LINGUAS", "r")
generated = [] # Store generated languages
for lang in linguas_file:
# Create catalog for language
process_language(lang, english_langs, generated)
except FileNotFoundError:
print("No CLDR file found for English!")
print("Creating LINGUAS file...")
with open("cldr-langs/LINGUAS", "w") as f:
f.writelines("\n".join(generated) + "\n")

View file

@ -1,39 +0,0 @@
# Language Names Updater
This script tries to pull language names from the sources:
- Unicode CLDR
- Google Translate
## How to use
```bash
git clone https://github.com/dialect-app/po
cd po/lang_update
python lang_update.py
```
`lang_update.py` should be run with `po/lang_update` as the working directory and will not work as expected otherwise.
`-g` or `--google` can be passed to force the usage of Google Translate as the source for language names.
You can also pass a language code to only update one language:
```bash
python lang_update.py "ca"
```
## How to contribute
If you would like to work on language names, please contribute to [Unicode CLDR](https://cldr.unicode.org/).
If you decide that the language names from Unicode CLDR are not good enough and feel like you could do a better job, you can open an issue at [dialect-app/po](https://github.com/dialect-app/po/issues) and continue updating your translation as per usual. You could also instead add your language code to the `EXCLUDE_LIST` in the `lang_update.py` script and send a PR.
The `lang_update.py` script has a few things you could help with as well:
- The `EXCLUDE_LIST` list could be expanded or shortened depending on the accuracy of Unicode CLDR project's language names for a particular language. You could do this by checking `cldr-json`. For example: [French Unicode CLDR languages.json](https://github.com/unicode-org/cldr-json/blob/main/cldr-json/cldr-localenames-full/main/fr/languages.json) . The link format is:
```
https://github.com/unicode-org/cldr-json/blob/main/cldr-json/cldr-localenames-full/main/{language_code_here}/languages.json
```
- If language names should be capitalized in your language, add the language code to `CAPS_LIST`.
- If your language is named differently in the Unicode CLDR project, add a mapping in `CLDR_NAMES`.

View file

@ -1,252 +0,0 @@
import argparse
import json
import os
import re
import requests
import subprocess
from bs4 import BeautifulSoup
LANGUAGES = {
"af": "Afrikaans",
"sq": "Albanian",
"am": "Amharic",
"ar": "Arabic",
"hy": "Armenian",
"az": "Azerbaijani",
"eu": "Basque",
"be": "Belarusian",
"bn": "Bengali",
"bs": "Bosnian",
"bg": "Bulgarian",
"ca": "Catalan",
"ceb": "Cebuano",
"ny": "Chichewa",
"zh": "Chinese",
"zh-Hans": "Chinese (Simplified)",
"zh-Hant": "Chinese (Traditional)",
"co": "Corsican",
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
"nl": "Dutch",
"en": "English",
"eo": "Esperanto",
"et": "Estonian",
"tl": "Filipino",
"fi": "Finnish",
"fr": "French",
"fy": "Frisian",
"gl": "Galician",
"ka": "Georgian",
"de": "German",
"el": "Greek",
"gu": "Gujarati",
"ht": "Haitian Creole",
"ha": "Hausa",
"haw": "Hawaiian",
"iw": "Hebrew",
"he": "Hebrew",
"hi": "Hindi",
"hmn": "Hmong",
"hu": "Hungarian",
"is": "Icelandic",
"ig": "Igbo",
"id": "Indonesian",
"ga": "Irish",
"it": "Italian",
"ja": "Japanese",
"jw": "Javanese",
"kn": "Kannada",
"kk": "Kazakh",
"km": "Khmer",
"rw": "Kinyarwanda",
"ko": "Korean",
"ku": "Kurdish (Kurmanji)",
"ky": "Kyrgyz",
"lo": "Lao",
"la": "Latin",
"lv": "Latvian",
"lt": "Lithuanian",
"lb": "Luxembourgish",
"mk": "Macedonian",
"mg": "Malagasy",
"ms": "Malay",
"ml": "Malayalam",
"mt": "Maltese",
"mi": "Maori",
"mr": "Marathi",
"mn": "Mongolian",
"my": "Myanmar (Burmese)",
"ne": "Nepali",
"no": "Norwegian",
"or": "Odia (Oriya)",
"ps": "Pashto",
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
"pa": "Punjabi",
"ro": "Romanian",
"ru": "Russian",
"sm": "Samoan",
"gd": "Scots Gaelic",
"sr": "Serbian",
"st": "Sesotho",
"sn": "Shona",
"sd": "Sindhi",
"si": "Sinhala",
"sk": "Slovak",
"sl": "Slovenian",
"so": "Somali",
"es": "Spanish",
"su": "Sundanese",
"sw": "Swahili",
"sv": "Swedish",
"tg": "Tajik",
"ta": "Tamil",
"tt": "Tatar",
"te": "Telugu",
"th": "Thai",
"tr": "Turkish",
"tk": "Turkmen",
"uk": "Ukrainian",
"ur": "Urdu",
"ug": "Uyghur",
"uz": "Uzbek",
"vi": "Vietnamese",
"cy": "Welsh",
"xh": "Xhosa",
"yi": "Yiddish",
"yo": "Yoruba",
"zu": "Zulu",
}
CLDR_NAMES = {
"kmr": "ku", # They seem to be the same since Kurmanji (ku) is Northern Kurdish (kmr).
"zh_CN": "zh-Hans",
"zh_TW": "zh-Hant",
"zh-CN": "zh-Hans",
"zh-TW": "zh-Hant",
}
# Add any language to this list to exclude it from the automated process.
EXCLUDE_LIST = [
# No decent source
"oc", # Occitan
# Was manually updated by the translator
"eo", # Esperanto
"fr", # French
"fy", # Frisian
"ja", # Japanese
"lv", # Latvian
"uk", # Ukranian
"zh_CN", # Chinese
]
# Even if a language is in this list, you can pass it as a parameter to the program.
# If any language is on this list and it shouldn't be, please create an issue:
# https://www.github.com/dialect-app/po
# You can also open an issue if any language should be added.
# All languages that need "capitalization"
CAPS_LIST = [
"it", # Italian
]
parser = argparse.ArgumentParser()
parser.add_argument(
"language", nargs="?", help="the language code for language to update"
)
parser.add_argument(
"-g", "--google", help="force use google for language names", action="store_true"
)
args = parser.parse_args()
if not os.path.isdir("cldr-json"):
print("Cloning Unicode CLDR repository...")
subprocess.call(["git", "clone", "https://github.com/unicode-org/cldr-json"])
def process_language(lang, arged=False):
lang = lang.strip()
if lang and (arged is True or lang not in EXCLUDE_LIST):
cldr_present = True # Assume CLDR file is present.
cldr_lang = CLDR_NAMES[lang] if lang in CLDR_NAMES else lang.replace("_", "-")
g_lang = lang.split("_")[0]
print(f"Reading {lang}.po ...")
lang_file = open(f"../{lang}.po", "r")
lang_file_contents = lang_file.read()
lang_file.close()
try:
print("Looking for required CLDR file...")
cldr_file = open(
f"cldr-json/cldr-json/cldr-localenames-full/main/{cldr_lang}/languages.json",
"r",
)
cldr_json = json.load(cldr_file)
except FileNotFoundError:
print(f"No CLDR file found for language: {cldr_lang}.")
try:
cldr_lang = g_lang
cldr_file = open(
f"cldr-json/cldr-json/cldr-localenames-full/main/{cldr_lang}/languages.json",
"r",
)
cldr_json = json.load(cldr_file)
print(f"Using file for {cldr_lang} instead.")
except FileNotFoundError:
print("Could not find possible substitutes.")
cldr_present = False # Correct earlier assumption.
if cldr_present and not args.google:
cldr_langs = cldr_json["main"][cldr_lang]["localeDisplayNames"]["languages"]
for lang_code, lang_name in cldr_langs.items():
if lang_code not in LANGUAGES:
continue
if cldr_lang in CAPS_LIST:
lang_name = lang_name.capitalize()
lang_file_contents = re.sub(
rf'msgid "{re.escape(LANGUAGES[lang_code])}"\nmsgstr ".*"\n',
rf'msgid "{LANGUAGES[lang_code]}"\nmsgstr "{lang_name}"\n',
lang_file_contents,
)
else:
print("Fetching localized names from Google Translate...")
page = requests.get("https://translate.google.com/?hl=" + g_lang)
soup = BeautifulSoup(page.text, "html5lib")
print("Generating updated string with localized names...")
for div in soup.find_all("div"):
if div.attrs.get("class", None) == ["qSb8Pe"]:
lang_code = div.attrs["data-language-code"]
lang_name = div.find(attrs={"class": "Llmcnf"}).string
lang_file_contents = re.sub(
rf'msgid "{re.escape(LANGUAGES[lang_code])}"\nmsgstr ".*"\n',
rf'msgid "{LANGUAGES[lang_code]}"\nmsgstr "{lang_name}"\n',
lang_file_contents,
)
print(f"Saving {lang}.po ...")
lang_file = open(f"../{lang}.po", "w")
lang_file.write(lang_file_contents)
lang_file.close()
print()
if args.language:
process_language(args.language, True)
else:
linguas_file = open("../LINGUAS", "r")
for lang in linguas_file:
process_language(lang)

View file

@ -1 +1,2 @@
i18n.gettext('dialect', preset: 'glib')
subdir('ui')
subdir('cldr-langs')

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

View file

1
ui/meson.build Normal file
View file

@ -0,0 +1 @@
i18n.gettext('dialect', preset: 'glib')

View file

View file

View file

View file

View file

View file

View file

View file

Some files were not shown because too many files have changed in this diff Show more