Path-Check / safeplaces-dct-app

COVID Safe Paths (based on Private Kit) is an open and privacy preserving system to use personal information to battle COVID
https://covidsafepaths.org
MIT License
466 stars 283 forks source link

Help Wanted on Languages- Figuring out the best way to add unsupported languages #218

Closed alpita-masurkar closed 4 years ago

alpita-masurkar commented 4 years ago

Hi everyone, We need some help on the language support.

What is needed: So, currently, there is a standard process that we follow for languages supported in our app. The languages that we can easily support are found here: https://developer.chrome.com/webstore/i18n. However, we have some amazing translators from areas where there's a lot of interest for this app, but the language is not reflected in the list in the above link.

Is there someone here who can help us with coming up with a procedure to support such languages? This would be a tremendous help! If you can help or have any questions, let us know. Thank you.

talha7o commented 4 years ago

https://developer.chrome.com/webstore/i18n is missing alot of languages. Maybe we can use this : https://gist.github.com/ndbroadbent/588fefab8e0f1b459fcec8181b41b39c

I have just added urdu language support.

rparet commented 4 years ago

@alpita-masurkar does this still need to be open? Or do you have a process that works for now?

E3V3A commented 4 years ago

I was looking into, how to add 2 languages not yet supported... But after looking above and the various PR's that say "added language" support, I remained too confused to proceed, as it was also changing code that seem to have nothing to do with any language at all.

Why not add a "how-to" to the Wiki or to a separate "HOW_TO_ADD_A_LANGUAGE.md" file?

alpita-masurkar commented 4 years ago

@E3V3A I remained too confused to proceed, as it was also changing code that seem to have nothing to do with any language at all. Can you elaborate more on this?

Cimbali commented 4 years ago

Should locales be externalised maybe? On my FOSS projects I tend to use poeditor.com as they are free for open source projects and support a lot more locales than what you listed.

As far as I can tell both use ISO 639-1 codes for the languages, so no clashes.

diff of supported locales (- google +poeditor) ```diff +aa Afar +ab Abkhazian +ae Avestan +af Afrikaans +ak Akan am Amharic +an Aragonese +ar_AE Arabic (AE) ar Arabic +ar_BH Arabic (BH) +ar_DZ Arabic (DZ) +ar_EG Arabic (EG) +ar_IQ Arabic (IQ) +ar_JO Arabic (JO) +ar_KW Arabic (KW) +ar_LB Arabic (LB) +ar_LY Arabic (LY) +ar_MA Arabic (MA) +ar_OM Arabic (OM) +ar_QA Arabic (QA) +ar_SA Arabic (SA) +ar_SY Arabic (SY) +ar_TN Arabic (TN) +ar_YE Arabic (YE) +as Assamese +ast Asturian +av Avaric +ay Aymara +az Azerbaijani +az_cyrl Azerbaijani (Cyrillic) +ba Bashkir +be Belarusian bg Bulgarian +bh Bihari languages +bi Bislama +bm Bambara bn Bengali +bo Tibetan +br Breton +bs Bosnian ca Catalan +ce Chechen +ch Chamorro +co Corsican +cr Cree cs Czech +cu Church Slavic +cv Chuvash +cy Welsh da Danish +de_AT German (AT) +de_BE German (BE) +de_CH German (CH) de German +de_LI German (LI) +de_LU German (LU) +dv Divehi +dz Dzongkha +ee Ewe el Greek +en_AU English (AU) +en_BZ English (BZ) +en_CA English (CA) en English en_GB English (UK) +en_GH English (GH) +en_HK English (HK) +en_IE English (IE) +en_IN English (IN) +en_JM English (JM) +en_KE English (KE) +en_MU English (MU) +en_NG English (NG) +en_NZ English (NZ) +en_PH English (PH) +en_SG English (SG) +en_TT English (TT) en_US English (US) +en_ZA English (ZA) +en_ZW English (ZW) +eo Esperanto es_419 Spanish (LA & C) +es_AR Spanish (AR) +es_BO Spanish (BO) +es_CL Spanish (CL) +es_CO Spanish (CO) +es_CR Spanish (CR) +es_DO Spanish (DO) +es_EC Spanish (EC) +es_GT Spanish (GT) +es_HN Spanish (HN) +es_MX Spanish (MX) +es_NI Spanish (NI) +es_PA Spanish (PA) +es_PE Spanish (PE) +es_PR Spanish (PR) +es_PY Spanish (PY) es Spanish +es_SV Spanish (SV) +es_UY Spanish (UY) +es_VE Spanish (VE) et Estonian +eu Basque fa Persian +ff Fulah fi Finnish fil Filipino +fj Fijian +fo Faroese +fr_BE French (BE) +fr_CA French (CA) +fr_CH French (CH) fr French +fr_LU French (LU) +fr_MC French (MC) +fy Western Frisian +ga Irish +gd Scottish Gaelic +gl Galician +gn Guarani gu Gujarati +gv Manx +ha Hausa he Hebrew hi Hindi +ho Hiri Motu hr Croatian +ht Haitian Creole hu Hungarian +hy Armenian +hz Herero +ia Interlingua id Indonesian +ie Interlingue +ig Igbo +ii Sichuan Yi +ik Inupiaq +io Ido +is Icelandic +it_CH Italian (CH) it Italian +iu Inuktitut ja Japanese +jam Jamaican Patois +jbo Lojban +jv Javanese +kab Kabyle +ka Georgian +kg Kongo +ki Kikuyu; Gikuyu +kj Kuanyama; Kwanyama +kk Kazakh +kl Kalaallisut +km Khmer kn Kannada ko Korean +kr Kanuri +ks Kashmiri +ku Kurdish +kv Komi +kw Cornish +ky Kirghiz +la Latin +lb Luxembourgish +lg Ganda +li Limburgish +ln Lingala +lo Lao lt Lithuanian +lu Luba-Katanga lv Latvian +me_cyrl Montenegrin (Cyrillic) +me_ME Montenegrin +mg Malagasy +mh Marshallese +mi Maori +mk Macedonian ml Malayalam +mn Mongolian +mo Moldavian; Moldovan mr Marathi +ms_BN Malay (BN) ms Malay +mt Maltese +my Burmese +na Nauru +nb Norwegian Bokmål +nd North Ndebele +ne Nepali +ng Ndonga +nl_BE Flemish nl Dutch +nn Norwegian Nynorsk no Norwegian +nr South Ndebele +nv Navajo; Navaho +ny Chichewa +oc Occitan +oj Ojibwa +om Oromo +or Oriya +os Ossetian; Ossetic +pa Panjabi; Punjabi +pi Pali pl Polish +prs Dari +ps Pushto; Pashto pt_BR Portuguese (Brazil) -pt_PT Portuguese (Portugal) +pt Portuguese +qu Quechua +rm Romansh +rn Rundi +rom Romani ro Romanian ru Russian +rw Kinyarwanda +ry Rusyn +sa Sanskrit +scn Sicilian +sc Sardinian +sd Sindhi +se Northern Sami +sg Sango +sh Serbo-Croatian +si Sinhalese sk Slovak sl Slovenian +sm Samoan +sn Shona +so Somali +sq Albanian +sr_cyrl Serbian (Cyrillic) sr Serbian +ss Swati +st Sotho, Southern +su Sundanese +sv_FI Swedish (FI) sv Swedish sw Swahili ta Tamil te Telugu +tg Tajik th Thai +ti Tigrinya +tk Turkmen +tl Tagalog +tn Tswana +to Tonga tr Turkish +ts Tsonga +tt Tatar +tw Twi +ty Tahitian +ug Uighur uk Ukrainian +ur Urdu +uz_cyrl Uzbek (Cyrillic) +uz Uzbek +ve Venda vi Vietnamese +vo Volapük +wa Walloon +wo Wolof +xh Xhosa +yi Yiddish +yo Yoruba +za Zhuang; Chuang +zh_CN Chinese +zh_Hans Chinese (simplified) +zh_Hant Chinese (traditional) +zh_HK Chinese (HK) +zh_MO Chinese (MO) +zh_SG Chinese (SG) +zh_TW Chinese (TW) +zu Zulu ```

I also have some experience with their API so I could make a PR based on what’s needed. I would suggest:

  1. creating an ad-hoc account on that platform (or another one of your choice),
  2. documenting how to add/modify a language,
  3. adding a script that automates getting the strings, that could be run before building
  4. adding a script that automates keeping the platform up to date, by running i18n:extract and uploading the reference languages’ strings (this automatically applies to all languages).
kenpugsley commented 4 years ago

@Cimbali - thanks for the information about poeditor.com. Seems like something worth looking into.

Patrick-Erichsen commented 4 years ago

Closing this as we are now using Lokalise.