wordpress-mobile / WordPress-iOS

WordPress for iOS - Official repository
http://ios.wordpress.org/
GNU General Public License v2.0
3.69k stars 1.12k forks source link

Add Language Selector in Settings #3558

Closed sendhil closed 8 years ago

sendhil commented 9 years ago

Corresponding Android issue - https://github.com/wordpress-mobile/WordPress-Android/issues/2309.

jleandroperez commented 8 years ago

Mockup:

language

jleandroperez commented 8 years ago

As discussed over Slack with @SergioEstevao + @astralbodies , Calypso + Android are both using a harcoded table that maps Strings <> Values.

We'll report an API issue (shortly!) requesting an API to actually download this mapping. In the meantime, we'll replicate Calypso and Android's mechanism.

Table below...!

    "languages": [
        { "value": 2, "langSlug": "af", "name": "af - Afrikaans" },
        { "value": 418, "langSlug": "als", "name": "als - Alemannisch" },
        { "value": 481, "langSlug": "am", "name": "am - አማርኛ" },
        { "value": 3, "langSlug": "ar", "name": "ar - العربية", "rtl": true },
        { "value": 419, "langSlug": "arc", "name": "arc - ܕܥܒܪܸܝܛ" },
        { "value": 4, "langSlug": "as", "name": "as - অসমীয়া" },
        { "value": 420, "langSlug": "ast", "name": "ast - Asturianu" },
        { "value": 421, "langSlug": "av", "name": "av - Авар" },
        { "value": 422, "langSlug": "ay", "name": "ay - Aymar" },
        { "value": 79, "langSlug": "az", "name": "az - Azərbaycan" },
        { "value": 423, "langSlug": "ba", "name": "ba - Башҡорт" },
        { "value": 5, "langSlug": "be", "name": "be - Беларуская" },
        { "value": 6, "langSlug": "bg", "name": "bg - Български" },
        { "value": 7, "langSlug": "bm", "name": "bm - Bamanankan" },
        { "value": 8, "langSlug": "bn", "name": "bn - বাংলা" },
        { "value": 9, "langSlug": "bo", "name": "bo - བོད་ཡིག" },
        { "value": 424, "langSlug": "br", "name": "br - Brezhoneg" },
        { "value": 454, "langSlug": "bs", "name": "bs - Bosanski" },
        { "value": 10, "langSlug": "ca", "name": "ca - Català" },
        { "value": 425, "langSlug": "ce", "name": "ce - Нохчийн" },
        { "value": 11, "langSlug": "cs", "name": "cs - Česky" },
        { "value": 12, "langSlug": "csb", "name": "csb - Kaszëbsczi" },
        { "value": 426, "langSlug": "cv", "name": "cv - Чӑваш" },
        { "value": 13, "langSlug": "cy", "name": "cy - Cymraeg" },
        { "value": 14, "langSlug": "da", "name": "da - Dansk" },
        { "value": 15, "langSlug": "de", "name": "de - Deutsch", "popular": 4 },
        { "value": 427, "langSlug": "dv", "name": "dv - ދިވެހިބަސް" },
        { "value": 16, "langSlug": "dz", "name": "dz - ཇོང་ཁ" },
        { "value": 17, "langSlug": "el", "name": "el - Ελληνικά" },
        { "value": 468, "langSlug": "el-po", "name": "el-po - Greek-polytonic" },
        { "value": 1, "langSlug": "en", "name": "en - English", "popular": 1 },
        { "value": 18, "langSlug": "eo", "name": "eo - Esperanto" },
        { "value": 19, "langSlug": "es", "name": "es - Español", "popular": 2 },
        { "value": 20, "langSlug": "et", "name": "et - Eesti" },
        { "value": 429, "langSlug": "eu", "name": "eu - Euskara" },
        { "value": 21, "langSlug": "fa", "name": "fa - فارسی", "rtl": true },
        { "value": 22, "langSlug": "fi", "name": "fi - Suomi" },
        { "value": 473, "langSlug": "fil", "name": "fil - Filipino" },
        { "value": 23, "langSlug": "fo", "name": "fo - Føroyskt" },
        { "value": 24, "langSlug": "fr", "name": "fr - Français", "popular": 5 },
        { "value": 478, "langSlug": "fr-be", "name": "fr-be - Français de Belgique" },
        { "value": 475, "langSlug": "fr-ca", "name": "fr-ca - Français (Canada)" },
        { "value": 474, "langSlug": "fr-ch", "name": "fr-ch - Français de Suisse" },
        { "value": 25, "langSlug": "fur", "name": "fur - Furlan" },
        { "value": 26, "langSlug": "fy", "name": "fy - Frysk" },
        { "value": 27, "langSlug": "ga", "name": "ga - Gaeilge" },
        { "value": 476, "langSlug": "gd", "name": "gd - Gàidhlig" },
        { "value": 457, "langSlug": "gl", "name": "gl - Galego" },
        { "value": 430, "langSlug": "gn", "name": "gn - Avañeẽ" },
        { "value": 28, "langSlug": "gu", "name": "gu - ગુજરાતી" },
        { "value": 29, "langSlug": "he", "name": "he - עברית", "popular": 6, "rtl": true },
        { "value": 30, "langSlug": "hi", "name": "hi - हिन्दी" },
        { "value": 431, "langSlug": "hr", "name": "hr - Hrvatski" },
        { "value": 31, "langSlug": "hu", "name": "hu - Magyar" },
        { "value": 467, "langSlug": "hy", "name": "hy - Armenian" },
        { "value": 32, "langSlug": "ia", "name": "ia - Interlingua" },
        { "value": 33, "langSlug": "id", "name": "id - Bahasa Indonesia", "popular": 12 },
        { "value": 432, "langSlug": "ii", "name": "ii - ꆇꉙ" },
        { "value": 469, "langSlug": "ilo", "name": "ilo - Ilokano" },
        { "value": 34, "langSlug": "is", "name": "is - Íslenska" },
        { "value": 35, "langSlug": "it", "name": "it - Italiano", "popular": 8 },
        { "value": 36, "langSlug": "ja", "name": "ja - 日本語", "popular": 7 },
        { "value": 37, "langSlug": "ka", "name": "ka - ქართული" },
        { "value": 462, "langSlug": "kk", "name": "kk - Қазақ тілі" },
        { "value": 38, "langSlug": "km", "name": "km - ភាសាខ្មែរ" },
        { "value": 39, "langSlug": "kn", "name": "kn - ಕನ್ನಡ" },
        { "value": 40, "langSlug": "ko", "name": "ko - 한국어", "popular": 15 },
        { "value": 433, "langSlug": "ks", "name": "ks - कश्मीरी - (كشميري)" },
        { "value": 41, "langSlug": "ku", "name": "ku - Kurdî / كوردي" },
        { "value": 434, "langSlug": "kv", "name": "kv - Коми" },
        { "value": 479, "langSlug": "ky", "name": "ky - кыргыз тили" },
        { "value": 42, "langSlug": "la", "name": "la - Latina" },
        { "value": 43, "langSlug": "li", "name": "li - Limburgs" },
        { "value": 44, "langSlug": "lo", "name": "lo - ລາວ" },
        { "value": 45, "langSlug": "lt", "name": "lt - Lietuvių" },
        { "value": 453, "langSlug": "lv", "name": "lv - latviešu valoda" },
        { "value": 435, "langSlug": "mk", "name": "mk - Македонски" },
        { "value": 46, "langSlug": "ml", "name": "ml - മലയാളം" },
        { "value": 472, "langSlug": "mn", "name": "mn - монгол хэл" },
        { "value": 461, "langSlug": "mr", "name": "mr - मराठी Marāṭhī" },
        { "value": 47, "langSlug": "ms", "name": "ms - Bahasa Melayu" },
        { "value": 465, "langSlug": "mt", "name": "mt - Malti" },
        { "value": 464, "langSlug": "mwl", "name": "mwl - Mirandés" },
        { "value": 436, "langSlug": "nah", "name": "nah - Nahuatl" },
        { "value": 437, "langSlug": "nap", "name": "nap - Nnapulitano" },
        { "value": 48, "langSlug": "nds", "name": "nds - Plattdüütsch" },
        { "value": 456, "langSlug": "ne", "name": "ne - Nepali" },
        { "value": 49, "langSlug": "nl", "name": "nl - Nederlands", "popular": 9 },
        { "value": 50, "langSlug": "nn", "name": "nn - Norsk (nynorsk)" },
        { "value": 51, "langSlug": "no", "name": "no - Norsk (bokmål)" },
        { "value": 52, "langSlug": "non", "name": "non - Norrǿna" },
        { "value": 53, "langSlug": "nv", "name": "nv - Diné bizaad" },
        { "value": 54, "langSlug": "oc", "name": "oc - Occitan" },
        { "value": 55, "langSlug": "or", "name": "or - ଓଡ଼ିଆ" },
        { "value": 56, "langSlug": "os", "name": "os - Иронау" },
        { "value": 57, "langSlug": "pa", "name": "pa - ਪੰਜਾਬੀ" },
        { "value": 58, "langSlug": "pl", "name": "pl - Polski" },
        { "value": 59, "langSlug": "ps", "name": "ps - پښتو" },
        { "value": 60, "langSlug": "pt", "name": "pt - Português" },
        { "value": 438, "langSlug": "pt-br", "name": "pt-br - Português do Brasil", "popular": 3 },
        { "value": 439, "langSlug": "qu", "name": "qu - Runa Simi" },
        { "value": 61, "langSlug": "ro", "name": "ro - Română" },
        { "value": 62, "langSlug": "ru", "name": "ru - Русский", "popular": 10 },
        { "value": 483, "langSlug": "rup", "name": "rup - Armãneashce" },
        { "value": 63, "langSlug": "sc", "name": "sc - Sardu" },
        { "value": 440, "langSlug": "sd", "name": "sd - سنڌي" },
        { "value": 471, "langSlug": "si", "name": "si - Sinhala" },
        { "value": 64, "langSlug": "sk", "name": "sk - Slovenčina" },
        { "value": 65, "langSlug": "sl", "name": "sl - Slovenščina" },
        { "value": 459, "langSlug": "so", "name": "so - Somali" },
        { "value": 66, "langSlug": "sq", "name": "sq - Shqip" },
        { "value": 67, "langSlug": "sr", "name": "sr - Српски / Srpski" },
        { "value": 441, "langSlug": "su", "name": "su - Basa Sunda" },
        { "value": 68, "langSlug": "sv", "name": "sv - Svenska" },
        { "value": 69, "langSlug": "ta", "name": "ta - தமிழ்" },
        { "value": 70, "langSlug": "te", "name": "te - తెలుగు" },
        { "value": 71, "langSlug": "th", "name": "th - ไทย" },
        { "value": 480, "langSlug": "tir", "name": "tir - ትግርኛ" },
        { "value": 455, "langSlug": "tl", "name": "tl - Tagalog" },
        { "value": 78, "langSlug": "tr", "name": "tr - Türkçe", "popular": 11 },
        { "value": 72, "langSlug": "tt", "name": "tt - Tatarça" },
        { "value": 442, "langSlug": "ty", "name": "ty - Reo Mā`ohi" },
        { "value": 443, "langSlug": "udm", "name": "udm - Удмурт" },
        { "value": 444, "langSlug": "ug", "name": "ug - Uyghur", "rtl": true },
        { "value": 73, "langSlug": "uk", "name": "uk - Українська" },
        { "value": 74, "langSlug": "ur", "name": "ur - اردو" },
        { "value": 458, "langSlug": "uz", "name": "uz - ????? ????" },
        { "value": 463, "langSlug": "va", "name": "va - valencià" },
        { "value": 445, "langSlug": "vec", "name": "vec - Vèneto" },
        { "value": 446, "langSlug": "vi", "name": "vi - Tiếng Việt" },
        { "value": 75, "langSlug": "wa", "name": "wa - Walon" },
        { "value": 447, "langSlug": "xal", "name": "xal - Хальмг" },
        { "value": 76, "langSlug": "yi", "name": "yi - ייִדיש" },
        { "value": 477, "langSlug": "yo", "name": "yo - èdè Yorùbá" },
        { "value": 448, "langSlug": "za", "name": "za - (Cuengh)" },
        { "value": 77, "langSlug": "zh", "name": "zh - 中文" },
        { "value": 449, "langSlug": "zh-cn", "name": "zh-cn - 中文(简体)", "popular": 13 },
        { "value": 450, "langSlug": "zh-hk", "name": "zh-hk - 中文(繁體)" },
        { "value": 451, "langSlug": "zh-sg", "name": "zh-sg - 中文(简体)" },
        { "value": 452, "langSlug": "zh-tw", "name": "zh-tw - 中文(繁體)", "popular": 14 }
    ]
jleandroperez commented 8 years ago

Closed via #4820. We'll implement UISearchController in another PR.

Thanks!