Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/110884
Change subject: Use hard-coded language display names when displaying language
......................................................................
Use hard-coded language display names when displaying language
Wikipedia's ideas of languages and Android's don't exactly match
up and that causes issues everywhere. Let's just pretend Android's
doesn't exist, and we're all good :)
Change-Id: I1da4bb6ea32cdcf2ecf8536d92037761b6cd37f0
---
M scripts/generate_wiki_languages.py
M wikipedia/res/values/languages_list.xml
M wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
M wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java
4 files changed, 677 insertions(+), 55 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/84/110884/1
diff --git a/scripts/generate_wiki_languages.py
b/scripts/generate_wiki_languages.py
index f7caaf1..b0728f4 100644
--- a/scripts/generate_wiki_languages.py
+++ b/scripts/generate_wiki_languages.py
@@ -1,5 +1,5 @@
from urllib2 import urlopen
-import csv
+import unicodecsv as csv
import json
import lxml.builder as lb
from lxml import etree
@@ -12,24 +12,37 @@
lang_keys = []
lang_local_names = []
lang_eng_names = []
+
+is_first = True
for row in data:
- lang_keys.append(row[2])
- lang_local_names.append(row[10])
- lang_eng_names.append(row[1])
+ if is_first:
+ is_first = False
+ continue # skip headers!
+ if row[2] == 'got':
+ # 'got' is Gothic Runes, which lie ouotside the BMP
+ # Android segfaults on these. So let's ignore those.
+ # What's good for Android is also good for iOS :P
+ continue
+ lang_keys.append(row[2].replace("'", "\\'"))
+ lang_local_names.append(row[10].replace("'", "\\'"))
+ lang_eng_names.append(row[1].replace("'", "\\'"))
# Generate the XML, for Android
x = lb.E
keys = [x.item(k) for k in lang_keys]
+local_names = [x.item(k) for k in lang_local_names]
+eng_names = [x.item(k) for k in lang_eng_names]
-# Skip the headers!
-del keys[0]
resources = x.resources(
getattr(x, 'string-array')(*keys, name="preference_language_keys"),
+ getattr(x, 'string-array')(*local_names,
name="preference_language_local_names"),
+ getattr(x, 'string-array')(*eng_names,
name="preference_language_canonical_names")
)
+
open("languages_list.xml", "w").write(
- etree.tostring(resources, pretty_print=True, encoding="utf-8",
xml_declaration=True)
+ etree.tostring(resources, pretty_print=True)
)
# Generate the JSON, for iOS
diff --git a/wikipedia/res/values/languages_list.xml
b/wikipedia/res/values/languages_list.xml
index 5529fb9..95ce46f 100644
--- a/wikipedia/res/values/languages_list.xml
+++ b/wikipedia/res/values/languages_list.xml
@@ -11,8 +11,8 @@
<item>es</item>
<item>pl</item>
<item>war</item>
- <item>ceb</item>
<item>ja</item>
+ <item>ceb</item>
<item>vi</item>
<item>pt</item>
<item>zh</item>
@@ -44,15 +44,15 @@
<item>uz</item>
<item>et</item>
<item>vo</item>
+ <item>nn</item>
<item>hi</item>
<item>gl</item>
- <item>nn</item>
- <item>simple</item>
<item>hy</item>
+ <item>simple</item>
<item>la</item>
+ <item>sh</item>
<item>az</item>
<item>el</item>
- <item>sh</item>
<item>oc</item>
<item>th</item>
<item>ka</item>
@@ -71,27 +71,27 @@
<item>sq</item>
<item>bs</item>
<item>br</item>
- <item>mg</item>
<item>jv</item>
+ <item>mg</item>
<item>lb</item>
<item>mr</item>
<item>is</item>
<item>ml</item>
- <item>my</item>
<item>ba</item>
+ <item>my</item>
<item>yo</item>
<item>pnb</item>
<item>af</item>
<item>an</item>
<item>lmo</item>
<item>fy</item>
+ <item>tg</item>
<item>ga</item>
<item>bn</item>
<item>zh-yue</item>
- <item>tg</item>
+ <item>ky</item>
<item>ur</item>
<item>sw</item>
- <item>ky</item>
<item>io</item>
<item>ne</item>
<item>gu</item>
@@ -99,9 +99,9 @@
<item>scn</item>
<item>ce</item>
<item>nds</item>
- <item>ku</item>
- <item>cv</item>
<item>sco</item>
+ <item>cv</item>
+ <item>ku</item>
<item>ast</item>
<item>qu</item>
<item>su</item>
@@ -119,38 +119,38 @@
<item>mn</item>
<item>hif</item>
<item>arz</item>
- <item>zh-min-nan</item>
<item>mzn</item>
+ <item>zh-min-nan</item>
<item>yi</item>
<item>vec</item>
<item>sah</item>
- <item>nah</item>
<item>sa</item>
<item>si</item>
- <item>roa-tara</item>
+ <item>nah</item>
<item>bar</item>
+ <item>roa-tara</item>
<item>os</item>
<item>pa</item>
<item>pam</item>
<item>hsb</item>
+ <item>fo</item>
<item>se</item>
<item>li</item>
- <item>fo</item>
<item>mi</item>
- <item>co</item>
<item>ilo</item>
+ <item>co</item>
<item>gan</item>
- <item>bo</item>
<item>frr</item>
+ <item>bo</item>
<item>glk</item>
<item>rue</item>
<item>bcl</item>
<item>nds-nl</item>
+ <item>or</item>
<item>fiu-vro</item>
<item>mrj</item>
- <item>or</item>
- <item>tk</item>
<item>ps</item>
+ <item>tk</item>
<item>vls</item>
<item>xmf</item>
<item>gv</item>
@@ -162,37 +162,37 @@
<item>pag</item>
<item>csb</item>
<item>vep</item>
- <item>dv</item>
<item>hak</item>
+ <item>dv</item>
<item>nrm</item>
+ <item>so</item>
<item>rm</item>
<item>koi</item>
<item>udm</item>
+ <item>ay</item>
+ <item>stq</item>
<item>lad</item>
<item>sc</item>
<item>wuu</item>
- <item>zh-classical</item>
<item>lij</item>
+ <item>zh-classical</item>
<item>ug</item>
- <item>so</item>
<item>fur</item>
- <item>stq</item>
<item>mt</item>
- <item>ay</item>
<item>pi</item>
<item>nov</item>
<item>bh</item>
- <item>ksh</item>
- <item>as</item>
<item>eml</item>
+ <item>as</item>
+ <item>ksh</item>
<item>gn</item>
<item>kw</item>
<item>pcd</item>
<item>gag</item>
<item>ang</item>
<item>ace</item>
- <item>nv</item>
<item>szl</item>
+ <item>nv</item>
<item>ext</item>
<item>frp</item>
<item>ie</item>
@@ -202,13 +202,13 @@
<item>pfl</item>
<item>lez</item>
<item>krc</item>
- <item>xal</item>
<item>haw</item>
+ <item>xal</item>
<item>pdc</item>
- <item>rw</item>
<item>crh</item>
- <item>dsb</item>
+ <item>rw</item>
<item>kab</item>
+ <item>dsb</item>
<item>to</item>
<item>myv</item>
<item>arc</item>
@@ -216,8 +216,8 @@
<item>bjn</item>
<item>pap</item>
<item>kbd</item>
- <item>tpi</item>
<item>lo</item>
+ <item>tpi</item>
<item>lbe</item>
<item>wo</item>
<item>jbo</item>
@@ -226,27 +226,26 @@
<item>av</item>
<item>srn</item>
<item>ty</item>
- <item>kg</item>
<item>bxr</item>
+ <item>kg</item>
<item>ab</item>
<item>na</item>
<item>tet</item>
- <item>ltg</item>
<item>ig</item>
+ <item>ltg</item>
<item>nso</item>
<item>za</item>
<item>kaa</item>
<item>zu</item>
<item>chy</item>
<item>rmy</item>
- <item>cu</item>
- <item>cdo</item>
- <item>tn</item>
<item>chr</item>
+ <item>cu</item>
+ <item>tn</item>
+ <item>cdo</item>
<item>roa-rup</item>
<item>bi</item>
<item>pih</item>
- <item>got</item>
<item>sm</item>
<item>mo</item>
<item>bm</item>
@@ -255,29 +254,29 @@
<item>sd</item>
<item>pnt</item>
<item>ki</item>
- <item>tyv</item>
- <item>ee</item>
<item>ha</item>
+ <item>tyv</item>
+ <item>rn</item>
+ <item>ee</item>
<item>om</item>
+ <item>ak</item>
<item>fj</item>
<item>ti</item>
<item>ts</item>
- <item>ks</item>
<item>tw</item>
+ <item>ks</item>
+ <item>ff</item>
<item>sg</item>
<item>ve</item>
- <item>ff</item>
<item>st</item>
<item>cr</item>
- <item>rn</item>
<item>dz</item>
- <item>ak</item>
+ <item>xh</item>
<item>tum</item>
<item>ik</item>
<item>lg</item>
<item>ny</item>
<item>ch</item>
- <item>xh</item>
<item>ng</item>
<item>ii</item>
<item>cho</item>
@@ -289,4 +288,580 @@
<item>kr</item>
<item>hz</item>
</string-array>
+ <string-array name="preference_language_local_names">
+ <item>English</item>
+ <item>Nederlands</item>
+ <item>Deutsch</item>
+ <item>Svenska</item>
+ <item>Français</item>
+ <item>Italiano</item>
+ <item>Русский</item>
+ <item>Español</item>
+ <item>Polski</item>
+ <item>Winaray</item>
+ <item>日本語</item>
+ <item>Sinugboanong Binisaya</item>
+ <item>Tiếng Việt</item>
+ <item>Português</item>
+ <item>中文</item>
+
<item>Українська</item>
+ <item>Català</item>
+ <item>Norsk (Bokmål)</item>
+ <item>فارسی</item>
+ <item>Suomi</item>
+ <item>Bahasa Indonesia</item>
+ <item>Čeština</item>
+ <item>한국어</item>
+ <item>العربية</item>
+ <item>Magyar</item>
+ <item>Српски / Srpski</item>
+ <item>Bahasa Melayu</item>
+ <item>Română</item>
+ <item>Türkçe</item>
+ <item>Baso Minangkabau</item>
+ <item>Қазақша</item>
+ <item>Esperanto</item>
+ <item>Slovenčina</item>
+ <item>Dansk</item>
+ <item>Euskara</item>
+ <item>Lietuvių</item>
+
<item>Български</item>
+ <item>עברית</item>
+ <item>Hrvatski</item>
+ <item>Slovenščina</item>
+ <item>O‘zbek</item>
+ <item>Eesti</item>
+ <item>Volapük</item>
+ <item>Nynorsk</item>
+ <item>हिन्दी</item>
+ <item>Galego</item>
+ <item>Հայերեն</item>
+ <item>Simple English</item>
+ <item>Latina</item>
+ <item>Srpskohrvatski /
Српскохрватски</item>
+ <item>Azərbaycanca</item>
+ <item>Ελληνικά</item>
+ <item>Occitan</item>
+ <item>ไทย</item>
+ <item>ქართული</item>
+
<item>Македонски</item>
+ <item>नेपाल
भाषा</item>
+
<item>Беларуская</item>
+ <item>Piemontèis</item>
+ <item>Tagalog</item>
+ <item>தமிழ்</item>
+ <item>Tatarça /
Татарча</item>
+ <item>తెలుగు</item>
+ <item>Krèyol ayisyen</item>
+ <item>Cymraeg</item>
+ <item>Latviešu</item>
+
<item>Беларуская
(тарашкевіца)</item>
+ <item>Shqip</item>
+ <item>Bosanski</item>
+ <item>Brezhoneg</item>
+ <item>Basa Jawa</item>
+ <item>Malagasy</item>
+ <item>Lëtzebuergesch</item>
+ <item>मराठी</item>
+ <item>Íslenska</item>
+ <item>മലയാളം</item>
+ <item>Башҡорт</item>
+
<item>မြန်မာဘာသာ</item>
+ <item>Yorùbá</item>
+ <item>شاہ مکھی
پنجابی (Shāhmukhī
Pañjābī)</item>
+ <item>Afrikaans</item>
+ <item>Aragonés</item>
+ <item>Lumbaart</item>
+ <item>Frysk</item>
+ <item>Тоҷикӣ</item>
+ <item>Gaeilge</item>
+ <item>বাংলা</item>
+ <item>粵語</item>
+ <item>Кыргызча</item>
+ <item>اردو</item>
+ <item>Kiswahili</item>
+ <item>Ido</item>
+ <item>नेपाली</item>
+ <item>ગુજરાતી</item>
+ <item>ইমার
ঠার/বিষ্ণুপ্রিয়া
মণিপুরী</item>
+ <item>Sicilianu</item>
+ <item>Нохчийн</item>
+ <item>Plattdüütsch</item>
+ <item>Scots</item>
+ <item>Чăваш</item>
+ <item>Kurdî / كوردی</item>
+ <item>Asturianu</item>
+ <item>Runa Simi</item>
+ <item>Basa Sunda</item>
+ <item>Alemannisch</item>
+ <item>ಕನ್ನಡ</item>
+ <item>Interlingua</item>
+ <item>Basa Ugi</item>
+ <item>Nnapulitano</item>
+ <item>Žemaitėška</item>
+ <item>አማርኛ</item>
+ <item>Soranî / کوردی</item>
+ <item>Walon</item>
+ <item>Basa Banyumasan</item>
+ <item>Gàidhlig</item>
+ <item>Монгол</item>
+ <item>Fiji Hindi</item>
+ <item>مصرى (Maṣrī)</item>
+ <item>مَزِروني</item>
+ <item>Bân-lâm-gú</item>
+ <item>ייִדיש</item>
+ <item>Vèneto</item>
+ <item>Саха тыла (Saxa
Tyla)</item>
+
<item>संस्कृतम्</item>
+ <item>සිංහල</item>
+ <item>Nāhuatl</item>
+ <item>Boarisch</item>
+ <item>Tarandíne</item>
+ <item>Иронау</item>
+ <item>ਪੰਜਾਬੀ</item>
+ <item>Kapampangan</item>
+ <item>Hornjoserbsce</item>
+ <item>Føroyskt</item>
+ <item>Sámegiella</item>
+ <item>Limburgs</item>
+ <item>Māori</item>
+ <item>Ilokano</item>
+ <item>Corsu</item>
+ <item>贛語</item>
+ <item>Nordfriisk</item>
+ <item>བོད་སྐད</item>
+ <item>گیلکی</item>
+
<item>русиньскый
язык</item>
+ <item>Bikol</item>
+ <item>Nedersaksisch</item>
+ <item>ଓଡ଼ିଆ</item>
+ <item>Võro</item>
+ <item>Кырык Мары
(Kyryk Mary) </item>
+ <item>پښتو</item>
+ <item>تركمن /
Туркмен</item>
+ <item>West-Vlams</item>
+ <item>მარგალური
(Margaluri)</item>
+ <item>Gaelg</item>
+ <item>Zazaki</item>
+ <item>Zeêuws</item>
+ <item>Коми</item>
+
<item>ភាសាខ្មែរ</item>
+ <item>Олык Марий
(Olyk Marij)</item>
+ <item>Pangasinan</item>
+ <item>Kaszëbsczi</item>
+ <item>Vepsän</item>
+ <item>Hak-kâ-fa / 客家話</item>
+
<item>ދިވެހިބަސް</item>
+ <item>Nouormand/Normaund</item>
+ <item>Soomaaliga</item>
+ <item>Rumantsch</item>
+ <item>Перем Коми
(Perem Komi)</item>
+ <item>Удмурт
кыл</item>
+ <item>Aymar</item>
+ <item>Seeltersk</item>
+ <item>Dzhudezmo</item>
+ <item>Sardu</item>
+ <item>吴语</item>
+ <item>Líguru</item>
+ <item>古文 / 文言文</item>
+ <item>ئۇيغۇر
تىلى</item>
+ <item>Furlan</item>
+ <item>Malti</item>
+ <item>पाऴि</item>
+ <item>Novial</item>
+ <item>भोजपुरी</item>
+ <item>Emiliàn e rumagnòl</item>
+ <item>অসমীয়া</item>
+ <item>Ripoarisch</item>
+ <item>Avañe\'ẽ</item>
+ <item>Kernewek/Karnuack</item>
+ <item>Picard</item>
+ <item>Gagauz</item>
+ <item>Englisc</item>
+ <item>Bahsa Acèh</item>
+ <item>Ślůnski</item>
+ <item>Diné bizaad</item>
+ <item>Estremeñu</item>
+ <item>Arpitan</item>
+ <item>Interlingue</item>
+ <item>Mirandés</item>
+ <item>Lingala</item>
+ <item>chiShona</item>
+ <item>Pfälzisch</item>
+ <item>Лезги
чІал</item>
+
<item>Къарачай-Малкъар
(Qarachay-Malqar)</item>
+ <item>Hawai`i</item>
+ <item>Хальмг</item>
+ <item>Deitsch</item>
+ <item>Qırımtatarca</item>
+ <item>Ikinyarwanda</item>
+ <item>Taqbaylit</item>
+ <item>Dolnoserbski</item>
+ <item>faka Tonga</item>
+ <item>Эрзянь (Erzjanj Kelj)</item>
+ <item>ܐܪܡܝܐ</item>
+ <item>Kalaallisut</item>
+ <item>Bahasa Banjar</item>
+ <item>Papiamentu</item>
+ <item>Адыгэбзэ
(Adighabze)</item>
+ <item>ລາວ</item>
+ <item>Tok Pisin</item>
+ <item>Лакку</item>
+ <item>Wolof</item>
+ <item>Lojban</item>
+ <item>Мокшень (Mokshanj
Kälj)</item>
+ <item>Chavacano de Zamboanga</item>
+ <item>Авар</item>
+ <item>Sranantongo</item>
+ <item>Reo Mā`ohi</item>
+ <item>Буряад</item>
+ <item>KiKongo</item>
+ <item>Аҧсуа</item>
+ <item>dorerin Naoero</item>
+ <item>Tetun</item>
+ <item>Igbo</item>
+ <item>Latgaļu</item>
+ <item>Sesotho sa Leboa</item>
+ <item>Cuengh</item>
+ <item>Qaraqalpaqsha</item>
+ <item>isiZulu</item>
+ <item>Tsetsêhestâhese</item>
+ <item>romani - रोमानी</item>
+ <item>ᏣᎳᎩ</item>
+
<item>Словѣньскъ</item>
+ <item>Setswana</item>
+ <item>Mìng-dĕ̤ng-ngṳ̄</item>
+ <item>Armãneashce</item>
+ <item>Bislama</item>
+ <item>Norfuk</item>
+ <item>Gagana Samoa</item>
+
<item>Молдовеняскэ</item>
+ <item>Bamanankan</item>
+ <item>ᐃᓄᒃᑎᑐᑦ</item>
+ <item>SiSwati</item>
+ <item>سنڌي،
سندھی ،
सिन्ध</item>
+ <item>Ποντιακά</item>
+ <item>Gĩkũyũ</item>
+ <item>هَوُسَ</item>
+ <item>тыва дыл</item>
+ <item>Kirundi</item>
+ <item>Eʋegbe</item>
+ <item>Oromoo</item>
+ <item>Akana</item>
+ <item>Na Vosa Vakaviti</item>
+ <item>ትግርኛ</item>
+ <item>Xitsonga</item>
+ <item>Twi</item>
+ <item>कश्मीरी /
كشميري</item>
+ <item>Fulfulde</item>
+ <item>Sängö</item>
+ <item>Tshivenda</item>
+ <item>Sesotho</item>
+ <item>Nehiyaw</item>
+ <item>ཇོང་ཁ</item>
+ <item>isiXhosa</item>
+ <item>chiTumbuka</item>
+ <item>Iñupiak</item>
+ <item>Luganda</item>
+ <item>Chi-Chewa</item>
+ <item>Chamoru</item>
+ <item>Oshiwambo</item>
+ <item>ꆇꉙ</item>
+ <item>Choctaw</item>
+ <item>Ebon</item>
+ <item>Afar</item>
+ <item>Kuanyama</item>
+ <item>Hiri Motu</item>
+ <item>Muskogee</item>
+ <item>Kanuri</item>
+ <item>Otsiherero</item>
+ </string-array>
+ <string-array name="preference_language_canonical_names">
+ <item>English</item>
+ <item>Dutch</item>
+ <item>German</item>
+ <item>Swedish</item>
+ <item>French</item>
+ <item>Italian</item>
+ <item>Russian</item>
+ <item>Spanish</item>
+ <item>Polish</item>
+ <item>Waray-Waray</item>
+ <item>Japanese</item>
+ <item>Cebuano</item>
+ <item>Vietnamese</item>
+ <item>Portuguese</item>
+ <item>Chinese</item>
+ <item>Ukrainian</item>
+ <item>Catalan</item>
+ <item>Norwegian (Bokmål)</item>
+ <item>Persian</item>
+ <item>Finnish</item>
+ <item>Indonesian</item>
+ <item>Czech</item>
+ <item>Korean</item>
+ <item>Arabic</item>
+ <item>Hungarian</item>
+ <item>Serbian</item>
+ <item>Malay</item>
+ <item>Romanian</item>
+ <item>Turkish</item>
+ <item>Minangkabau</item>
+ <item>Kazakh</item>
+ <item>Esperanto</item>
+ <item>Slovak</item>
+ <item>Danish</item>
+ <item>Basque</item>
+ <item>Lithuanian</item>
+ <item>Bulgarian</item>
+ <item>Hebrew</item>
+ <item>Croatian</item>
+ <item>Slovenian</item>
+ <item>Uzbek</item>
+ <item>Estonian</item>
+ <item>Volapük</item>
+ <item>Norwegian (Nynorsk)</item>
+ <item>Hindi</item>
+ <item>Galician</item>
+ <item>Armenian</item>
+ <item>Simple English</item>
+ <item>Latin</item>
+ <item>Serbo-Croatian</item>
+ <item>Azerbaijani</item>
+ <item>Greek</item>
+ <item>Occitan</item>
+ <item>Thai</item>
+ <item>Georgian</item>
+ <item>Macedonian</item>
+ <item>Newar / Nepal Bhasa</item>
+ <item>Belarusian</item>
+ <item>Piedmontese</item>
+ <item>Tagalog</item>
+ <item>Tamil</item>
+ <item>Tatar</item>
+ <item>Telugu</item>
+ <item>Haitian</item>
+ <item>Welsh</item>
+ <item>Latvian</item>
+ <item>Belarusian (Taraškievica)</item>
+ <item>Albanian</item>
+ <item>Bosnian</item>
+ <item>Breton</item>
+ <item>Javanese</item>
+ <item>Malagasy</item>
+ <item>Luxembourgish</item>
+ <item>Marathi</item>
+ <item>Icelandic</item>
+ <item>Malayalam</item>
+ <item>Bashkir</item>
+ <item>Burmese</item>
+ <item>Yoruba</item>
+ <item>Western Panjabi</item>
+ <item>Afrikaans</item>
+ <item>Aragonese</item>
+ <item>Lombard</item>
+ <item>West Frisian</item>
+ <item>Tajik</item>
+ <item>Irish</item>
+ <item>Bengali</item>
+ <item>Cantonese</item>
+ <item>Kirghiz</item>
+ <item>Urdu</item>
+ <item>Swahili</item>
+ <item>Ido</item>
+ <item>Nepali</item>
+ <item>Gujarati</item>
+ <item>Bishnupriya Manipuri</item>
+ <item>Sicilian</item>
+ <item>Chechen</item>
+ <item>Low Saxon</item>
+ <item>Scots</item>
+ <item>Chuvash</item>
+ <item>Kurdish</item>
+ <item>Asturian</item>
+ <item>Quechua</item>
+ <item>Sundanese</item>
+ <item>Alemannic</item>
+ <item>Kannada</item>
+ <item>Interlingua</item>
+ <item>Buginese</item>
+ <item>Neapolitan</item>
+ <item>Samogitian</item>
+ <item>Amharic</item>
+ <item>Sorani</item>
+ <item>Walloon</item>
+ <item>Banyumasan</item>
+ <item>Scottish Gaelic</item>
+ <item>Mongolian</item>
+ <item>Fiji Hindi</item>
+ <item>Egyptian Arabic</item>
+ <item>Mazandarani</item>
+ <item>Min Nan</item>
+ <item>Yiddish</item>
+ <item>Venetian</item>
+ <item>Sakha</item>
+ <item>Sanskrit</item>
+ <item>Sinhalese</item>
+ <item>Nahuatl</item>
+ <item>Bavarian</item>
+ <item>Tarantino</item>
+ <item>Ossetian</item>
+ <item>Punjabi</item>
+ <item>Kapampangan</item>
+ <item>Upper Sorbian</item>
+ <item>Faroese</item>
+ <item>Northern Sami</item>
+ <item>Limburgish</item>
+ <item>Maori</item>
+ <item>Ilokano</item>
+ <item>Corsican</item>
+ <item>Gan</item>
+ <item>North Frisian</item>
+ <item>Tibetan</item>
+ <item>Gilaki</item>
+ <item>Rusyn</item>
+ <item>Central_Bicolano</item>
+ <item>Dutch Low Saxon</item>
+ <item>Oriya</item>
+ <item>Võro</item>
+ <item>Hill Mari</item>
+ <item>Pashto</item>
+ <item>Turkmen</item>
+ <item>West Flemish</item>
+ <item>Mingrelian</item>
+ <item>Manx</item>
+ <item>Zazaki</item>
+ <item>Zeelandic</item>
+ <item>Komi</item>
+ <item>Khmer</item>
+ <item>Meadow Mari</item>
+ <item>Pangasinan</item>
+ <item>Kashubian</item>
+ <item>Vepsian</item>
+ <item>Hakka</item>
+ <item>Divehi</item>
+ <item>Norman</item>
+ <item>Somali</item>
+ <item>Romansh</item>
+ <item>Komi-Permyak</item>
+ <item>Udmurt</item>
+ <item>Aymara</item>
+ <item>Saterland Frisian</item>
+ <item>Ladino</item>
+ <item>Sardinian</item>
+ <item>Wu</item>
+ <item>Ligurian</item>
+ <item>Classical Chinese</item>
+ <item>Uyghur</item>
+ <item>Friulian</item>
+ <item>Maltese</item>
+ <item>Pali</item>
+ <item>Novial</item>
+ <item>Bihari</item>
+ <item>Emilian-Romagnol</item>
+ <item>Assamese</item>
+ <item>Ripuarian</item>
+ <item>Guarani</item>
+ <item>Cornish</item>
+ <item>Picard</item>
+ <item>Gagauz</item>
+ <item>Anglo-Saxon</item>
+ <item>Acehnese</item>
+ <item>Silesian</item>
+ <item>Navajo</item>
+ <item>Extremaduran</item>
+ <item>Franco-Provençal/Arpitan</item>
+ <item>Interlingue</item>
+ <item>Mirandese</item>
+ <item>Lingala</item>
+ <item>Shona</item>
+ <item>Palatinate German</item>
+ <item>Lezgian</item>
+ <item>Karachay-Balkar</item>
+ <item>Hawaiian</item>
+ <item>Kalmyk</item>
+ <item>Pennsylvania German</item>
+ <item>Crimean Tatar</item>
+ <item>Kinyarwanda</item>
+ <item>Kabyle</item>
+ <item>Lower Sorbian</item>
+ <item>Tongan</item>
+ <item>Erzya</item>
+ <item>Aramaic</item>
+ <item>Greenlandic</item>
+ <item>Banjar</item>
+ <item>Papiamentu</item>
+ <item>Kabardian Circassian</item>
+ <item>Lao</item>
+ <item>Tok Pisin</item>
+ <item>Lak</item>
+ <item>Wolof</item>
+ <item>Lojban</item>
+ <item>Moksha</item>
+ <item>Zamboanga Chavacano</item>
+ <item>Avar</item>
+ <item>Sranan</item>
+ <item>Tahitian</item>
+ <item>Buryat (Russia)</item>
+ <item>Kongo</item>
+ <item>Abkhazian</item>
+ <item>Nauruan</item>
+ <item>Tetum</item>
+ <item>Igbo</item>
+ <item>Latgalian</item>
+ <item>Northern Sotho</item>
+ <item>Zhuang</item>
+ <item>Karakalpak</item>
+ <item>Zulu</item>
+ <item>Cheyenne</item>
+ <item>Romani</item>
+ <item>Cherokee</item>
+ <item>Old Church Slavonic</item>
+ <item>Tswana</item>
+ <item>Min Dong</item>
+ <item>Aromanian</item>
+ <item>Bislama</item>
+ <item>Norfolk</item>
+ <item>Samoan</item>
+ <item>Moldovan</item>
+ <item>Bambara</item>
+ <item>Inuktitut</item>
+ <item>Swati</item>
+ <item>Sindhi</item>
+ <item>Pontic</item>
+ <item>Kikuyu</item>
+ <item>Hausa</item>
+ <item>Tuvan</item>
+ <item>Kirundi</item>
+ <item>Ewe</item>
+ <item>Oromo</item>
+ <item>Akan</item>
+ <item>Fijian</item>
+ <item>Tigrinya</item>
+ <item>Tsonga</item>
+ <item>Twi</item>
+ <item>Kashmiri</item>
+ <item>Fula</item>
+ <item>Sango</item>
+ <item>Venda</item>
+ <item>Sesotho</item>
+ <item>Cree</item>
+ <item>Dzongkha</item>
+ <item>Xhosa</item>
+ <item>Tumbuka</item>
+ <item>Inupiak</item>
+ <item>Luganda</item>
+ <item>Chichewa</item>
+ <item>Chamorro</item>
+ <item>Ndonga</item>
+ <item>Sichuan Yi</item>
+ <item>Choctaw</item>
+ <item>Marshallese</item>
+ <item>Afar</item>
+ <item>Kuanyama</item>
+ <item>Hiri Motu</item>
+ <item>Muscogee</item>
+ <item>Kanuri</item>
+ <item>Herero</item>
+ </string-array>
</resources>
diff --git a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
index 30f0b13..a6225ba 100644
--- a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
@@ -149,4 +149,34 @@
}
return primaryType;
}
+
+ private String[] wikiCodes;
+ public int findWikiIndex(String wikiCode) {
+ if (wikiCodes == null) {
+ wikiCodes =
getResources().getStringArray(R.array.preference_language_keys);
+ }
+ for (int i = 0; i < wikiCodes.length; i++) {
+ if (wikiCodes[i].equals(wikiCode)) {
+ return i;
+ }
+ }
+
+ throw new RuntimeException("WikiCode " + wikiCode + " + not found+");
+ }
+
+ private String[] canonicalNames;
+ public String canonicalNameFor(int index) {
+ if (canonicalNames == null) {
+ canonicalNames =
getResources().getStringArray(R.array.preference_language_canonical_names);
+ }
+ return canonicalNames[index];
+ }
+
+ private String[] localNames;
+ public String localNameFor(int index) {
+ if (localNames == null) {
+ localNames =
getResources().getStringArray(R.array.preference_language_local_names);
+ }
+ return localNames[index];
+ }
}
diff --git
a/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java
b/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java
index 78cbd82..ea7a041 100644
--- a/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java
+++ b/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java
@@ -39,7 +39,7 @@
languagesFilter = (EditText)
view.findViewById(R.id.preference_languages_filter);
languagesList = (ListView)
view.findViewById(R.id.preference_languages_list);
- languagesList.setAdapter(new LanguagesAdapter(languages));
+ languagesList.setAdapter(new LanguagesAdapter(languages, app));
int selectedLangIndex =
Arrays.asList(languages).indexOf(app.getPrimaryLanguage());
languagesList.setItemChecked(selectedLangIndex, true);
@@ -80,10 +80,12 @@
private static class LanguagesAdapter extends BaseAdapter {
private final String[] originalLanguages;
private final ArrayList<String> languages;
+ private final WikipediaApp app;
- private LanguagesAdapter(String[] languages) {
+ private LanguagesAdapter(String[] languages, WikipediaApp app) {
this.originalLanguages = languages;
this.languages = new ArrayList(Arrays.asList(languages));
+ this.app = app;
}
public void setFilterText(String filter) {
@@ -124,10 +126,12 @@
TextView nameText = (TextView)
convertView.findViewById(android.R.id.text1);
TextView localNameText = (TextView)
convertView.findViewById(android.R.id.text2);
- Locale locale = new Locale(Utils.toJavaLanguageCode((String)
getItem(position)));
+ String wikiCode = (String) getItem(position);
- nameText.setText(locale.getDisplayLanguage(locale));
- localNameText.setText(locale.getDisplayLanguage());
+ int langIndex = app.findWikiIndex(wikiCode);
+
+ nameText.setText(app.canonicalNameFor(langIndex));
+ localNameText.setText(app.localNameFor(langIndex));
return convertView;
}
}
--
To view, visit https://gerrit.wikimedia.org/r/110884
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1da4bb6ea32cdcf2ecf8536d92037761b6cd37f0
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits