Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support more languages in "Hide translation" settings #2843

Open
shuuji3 opened this issue Apr 22, 2024 · 1 comment
Open

Support more languages in "Hide translation" settings #2843

shuuji3 opened this issue Apr 22, 2024 · 1 comment
Labels
c: feature Request for new feature c: i18n Enhance i18n

Comments

@shuuji3
Copy link
Member

shuuji3 commented Apr 22, 2024

Currently, "Hide translation" settings support 30 languages: https://main.elk.zone/settings/language

But Mastodon listed 202 possible "Posting language" used in the post: https://m.webtoo.ls/settings/preferences/other

It seems that this "Posting language" is not necessarily a superset of the supported "Interface language". For example, there is only one English variation (en) in "Posting language" but there are five Chinese variants (zh, zh-CN, zh-HK, zh-TW, zh-YUE). So we'll need to handle "Posting language" and "Interface language" differently.

We can support the remaining 172 languages list for "Hide translation" even if we don't have the corresponding interface languages yet.

For reference, here's the language list created from the Mastodon UI:

[
  {
    "code": "aa",
    "name": "Afaraf"
  },
  {
    "code": "ab",
    "name": "аҧсуа бызшәа"
  },
  {
    "code": "ae",
    "name": "avesta"
  },
  {
    "code": "af",
    "name": "Afrikaans"
  },
  {
    "code": "ak",
    "name": "Akan"
  },
  {
    "code": "am",
    "name": "አማርኛ"
  },
  {
    "code": "an",
    "name": "aragonés"
  },
  {
    "code": "ar",
    "name": "اللغة العربية"
  },
  {
    "code": "as",
    "name": "অসমীয়া"
  },
  {
    "code": "av",
    "name": "авар мацӀ"
  },
  {
    "code": "ay",
    "name": "aymar aru"
  },
  {
    "code": "az",
    "name": "azərbaycan dili"
  },
  {
    "code": "ba",
    "name": "башҡорт теле"
  },
  {
    "code": "be",
    "name": "беларуская мова"
  },
  {
    "code": "bg",
    "name": "български език"
  },
  {
    "code": "bh",
    "name": "भोजपुरी"
  },
  {
    "code": "bi",
    "name": "Bislama"
  },
  {
    "code": "bm",
    "name": "bamanankan"
  },
  {
    "code": "bn",
    "name": "বাংলা"
  },
  {
    "code": "bo",
    "name": "བོད་ཡིག"
  },
  {
    "code": "br",
    "name": "brezhoneg"
  },
  {
    "code": "bs",
    "name": "bosanski jezik"
  },
  {
    "code": "ca",
    "name": "Català"
  },
  {
    "code": "ce",
    "name": "нохчийн мотт"
  },
  {
    "code": "ch",
    "name": "Chamoru"
  },
  {
    "code": "co",
    "name": "corsu"
  },
  {
    "code": "cr",
    "name": "ᓀᐦᐃᔭᐍᐏᐣ"
  },
  {
    "code": "cs",
    "name": "čeština"
  },
  {
    "code": "cu",
    "name": "ѩзыкъ словѣньскъ"
  },
  {
    "code": "cv",
    "name": "чӑваш чӗлхи"
  },
  {
    "code": "cy",
    "name": "Cymraeg"
  },
  {
    "code": "da",
    "name": "dansk"
  },
  {
    "code": "de",
    "name": "Deutsch"
  },
  {
    "code": "dv",
    "name": "Dhivehi"
  },
  {
    "code": "dz",
    "name": "རྫོང་ཁ"
  },
  {
    "code": "ee",
    "name": "Eʋegbe"
  },
  {
    "code": "el",
    "name": "Ελληνικά"
  },
  {
    "code": "en",
    "name": "English"
  },
  {
    "code": "eo",
    "name": "Esperanto"
  },
  {
    "code": "es",
    "name": "Español"
  },
  {
    "code": "et",
    "name": "eesti"
  },
  {
    "code": "eu",
    "name": "euskara"
  },
  {
    "code": "fa",
    "name": "فارسی"
  },
  {
    "code": "ff",
    "name": "Fulfulde"
  },
  {
    "code": "fi",
    "name": "suomi"
  },
  {
    "code": "fj",
    "name": "Vakaviti"
  },
  {
    "code": "fo",
    "name": "føroyskt"
  },
  {
    "code": "fr",
    "name": "Français"
  },
  {
    "code": "fy",
    "name": "Frysk"
  },
  {
    "code": "ga",
    "name": "Gaeilge"
  },
  {
    "code": "gd",
    "name": "Gàidhlig"
  },
  {
    "code": "gl",
    "name": "galego"
  },
  {
    "code": "gu",
    "name": "ગુજરાતી"
  },
  {
    "code": "gv",
    "name": "Gaelg"
  },
  {
    "code": "ha",
    "name": "هَوُسَ"
  },
  {
    "code": "he",
    "name": "עברית"
  },
  {
    "code": "hi",
    "name": "हिन्दी"
  },
  {
    "code": "ho",
    "name": "Hiri Motu"
  },
  {
    "code": "hr",
    "name": "Hrvatski"
  },
  {
    "code": "ht",
    "name": "Kreyòl ayisyen"
  },
  {
    "code": "hu",
    "name": "magyar"
  },
  {
    "code": "hy",
    "name": "Հայերեն"
  },
  {
    "code": "hz",
    "name": "Otjiherero"
  },
  {
    "code": "ia",
    "name": "Interlingua"
  },
  {
    "code": "id",
    "name": "Bahasa Indonesia"
  },
  {
    "code": "ie",
    "name": "Interlingue"
  },
  {
    "code": "ig",
    "name": "Asụsụ Igbo"
  },
  {
    "code": "ii",
    "name": "ꆈꌠ꒿ Nuosuhxop"
  },
  {
    "code": "ik",
    "name": "Iñupiaq"
  },
  {
    "code": "io",
    "name": "Ido"
  },
  {
    "code": "is",
    "name": "Íslenska"
  },
  {
    "code": "it",
    "name": "Italiano"
  },
  {
    "code": "iu",
    "name": "ᐃᓄᒃᑎᑐᑦ"
  },
  {
    "code": "ja",
    "name": "日本語"
  },
  {
    "code": "jv",
    "name": "basa Jawa"
  },
  {
    "code": "ka",
    "name": "ქართული"
  },
  {
    "code": "kg",
    "name": "Kikongo"
  },
  {
    "code": "ki",
    "name": "Gĩkũyũ"
  },
  {
    "code": "kj",
    "name": "Kuanyama"
  },
  {
    "code": "kk",
    "name": "қазақ тілі"
  },
  {
    "code": "kl",
    "name": "kalaallisut"
  },
  {
    "code": "km",
    "name": "ខេមរភាសា"
  },
  {
    "code": "kn",
    "name": "ಕನ್ನಡ"
  },
  {
    "code": "ko",
    "name": "한국어"
  },
  {
    "code": "kr",
    "name": "Kanuri"
  },
  {
    "code": "ks",
    "name": "कश्मीरी"
  },
  {
    "code": "ku",
    "name": "Kurmancî"
  },
  {
    "code": "kv",
    "name": "коми кыв"
  },
  {
    "code": "kw",
    "name": "Kernewek"
  },
  {
    "code": "ky",
    "name": "Кыргызча"
  },
  {
    "code": "la",
    "name": "latine"
  },
  {
    "code": "lb",
    "name": "Lëtzebuergesch"
  },
  {
    "code": "lg",
    "name": "Luganda"
  },
  {
    "code": "li",
    "name": "Limburgs"
  },
  {
    "code": "ln",
    "name": "Lingála"
  },
  {
    "code": "lo",
    "name": "ລາວ"
  },
  {
    "code": "lt",
    "name": "lietuvių kalba"
  },
  {
    "code": "lu",
    "name": "Tshiluba"
  },
  {
    "code": "lv",
    "name": "latviešu valoda"
  },
  {
    "code": "mg",
    "name": "fiteny malagasy"
  },
  {
    "code": "mh",
    "name": "Kajin M̧ajeļ"
  },
  {
    "code": "mi",
    "name": "te reo Māori"
  },
  {
    "code": "mk",
    "name": "македонски јазик"
  },
  {
    "code": "ml",
    "name": "മലയാളം"
  },
  {
    "code": "mn",
    "name": "Монгол хэл"
  },
  {
    "code": "mr",
    "name": "मराठी"
  },
  {
    "code": "ms",
    "name": "Bahasa Melayu"
  },
  {
    "code": "mt",
    "name": "Malti"
  },
  {
    "code": "my",
    "name": "ဗမာစာ"
  },
  {
    "code": "na",
    "name": "Ekakairũ Naoero"
  },
  {
    "code": "nb",
    "name": "Norsk bokmål"
  },
  {
    "code": "nd",
    "name": "isiNdebele"
  },
  {
    "code": "ne",
    "name": "नेपाली"
  },
  {
    "code": "ng",
    "name": "Owambo"
  },
  {
    "code": "nl",
    "name": "Nederlands"
  },
  {
    "code": "nn",
    "name": "Norsk Nynorsk"
  },
  {
    "code": "no",
    "name": "Norsk"
  },
  {
    "code": "nr",
    "name": "isiNdebele"
  },
  {
    "code": "nv",
    "name": "Diné bizaad"
  },
  {
    "code": "ny",
    "name": "chiCheŵa"
  },
  {
    "code": "oc",
    "name": "occitan"
  },
  {
    "code": "oj",
    "name": "ᐊᓂᔑᓈᐯᒧᐎᓐ"
  },
  {
    "code": "om",
    "name": "Afaan Oromoo"
  },
  {
    "code": "or",
    "name": "ଓଡ଼ିଆ"
  },
  {
    "code": "os",
    "name": "ирон æвзаг"
  },
  {
    "code": "pa",
    "name": "ਪੰਜਾਬੀ"
  },
  {
    "code": "pi",
    "name": "पाऴि"
  },
  {
    "code": "pl",
    "name": "Polski"
  },
  {
    "code": "ps",
    "name": "پښتو"
  },
  {
    "code": "pt",
    "name": "Português"
  },
  {
    "code": "qu",
    "name": "Runa Simi"
  },
  {
    "code": "rm",
    "name": "rumantsch grischun"
  },
  {
    "code": "rn",
    "name": "Ikirundi"
  },
  {
    "code": "ro",
    "name": "Română"
  },
  {
    "code": "ru",
    "name": "Русский"
  },
  {
    "code": "rw",
    "name": "Ikinyarwanda"
  },
  {
    "code": "sa",
    "name": "संस्कृतम्"
  },
  {
    "code": "sc",
    "name": "sardu"
  },
  {
    "code": "sd",
    "name": "सिन्धी"
  },
  {
    "code": "se",
    "name": "Davvisámegiella"
  },
  {
    "code": "sg",
    "name": "yângâ tî sängö"
  },
  {
    "code": "si",
    "name": "සිංහල"
  },
  {
    "code": "sk",
    "name": "slovenčina"
  },
  {
    "code": "sl",
    "name": "slovenščina"
  },
  {
    "code": "sn",
    "name": "chiShona"
  },
  {
    "code": "so",
    "name": "Soomaaliga"
  },
  {
    "code": "sq",
    "name": "Shqip"
  },
  {
    "code": "sr",
    "name": "српски језик"
  },
  {
    "code": "ss",
    "name": "SiSwati"
  },
  {
    "code": "st",
    "name": "Sesotho"
  },
  {
    "code": "su",
    "name": "Basa Sunda"
  },
  {
    "code": "sv",
    "name": "Svenska"
  },
  {
    "code": "sw",
    "name": "Kiswahili"
  },
  {
    "code": "ta",
    "name": "தமிழ்"
  },
  {
    "code": "te",
    "name": "తెలుగు"
  },
  {
    "code": "tg",
    "name": "тоҷикӣ"
  },
  {
    "code": "th",
    "name": "ไทย"
  },
  {
    "code": "ti",
    "name": "ትግርኛ"
  },
  {
    "code": "tk",
    "name": "Türkmen"
  },
  {
    "code": "tl",
    "name": "Wikang Tagalog"
  },
  {
    "code": "tn",
    "name": "Setswana"
  },
  {
    "code": "to",
    "name": "faka Tonga"
  },
  {
    "code": "tr",
    "name": "Türkçe"
  },
  {
    "code": "ts",
    "name": "Xitsonga"
  },
  {
    "code": "tt",
    "name": "татар теле"
  },
  {
    "code": "tw",
    "name": "Twi"
  },
  {
    "code": "ty",
    "name": "Reo Tahiti"
  },
  {
    "code": "ug",
    "name": "ئۇيغۇرچە‎"
  },
  {
    "code": "uk",
    "name": "Українська"
  },
  {
    "code": "ur",
    "name": "اردو"
  },
  {
    "code": "uz",
    "name": "Ўзбек"
  },
  {
    "code": "ve",
    "name": "Tshivenḓa"
  },
  {
    "code": "vi",
    "name": "Tiếng Việt"
  },
  {
    "code": "vo",
    "name": "Volapük"
  },
  {
    "code": "wa",
    "name": "walon"
  },
  {
    "code": "wo",
    "name": "Wollof"
  },
  {
    "code": "xh",
    "name": "isiXhosa"
  },
  {
    "code": "yi",
    "name": "ייִדיש"
  },
  {
    "code": "yo",
    "name": "Yorùbá"
  },
  {
    "code": "za",
    "name": "Saɯ cueŋƅ"
  },
  {
    "code": "zh",
    "name": "中文"
  },
  {
    "code": "zu",
    "name": "isiZulu"
  },
  {
    "code": "zh-CN",
    "name": "简体中文"
  },
  {
    "code": "zh-HK",
    "name": "繁體中文(香港)"
  },
  {
    "code": "zh-TW",
    "name": "繁體中文(臺灣)"
  },
  {
    "code": "zh-YUE",
    "name": "廣東話"
  },
  {
    "code": "ast",
    "name": "Asturianu"
  },
  {
    "code": "chr",
    "name": "ᏣᎳᎩ ᎦᏬᏂᎯᏍᏗ"
  },
  {
    "code": "ckb",
    "name": "سۆرانی"
  },
  {
    "code": "cnr",
    "name": "crnogorski"
  },
  {
    "code": "jbo",
    "name": "la .lojban."
  },
  {
    "code": "kab",
    "name": "Taqbaylit"
  },
  {
    "code": "ldn",
    "name": "Láadan"
  },
  {
    "code": "lfn",
    "name": "lingua franca nova"
  },
  {
    "code": "sco",
    "name": "Scots"
  },
  {
    "code": "sma",
    "name": "Åarjelsaemien Gïele"
  },
  {
    "code": "smj",
    "name": "Julevsámegiella"
  },
  {
    "code": "szl",
    "name": "ślůnsko godka"
  },
  {
    "code": "tok",
    "name": "toki pona"
  },
  {
    "code": "xal",
    "name": "Хальмг келн"
  },
  {
    "code": "zba",
    "name": "باليبلن"
  },
  {
    "code": "zgh",
    "name": "ⵜⴰⵎⴰⵣⵉⵖⵜ"
  }
]
@shuuji3 shuuji3 added c: feature Request for new feature c: i18n Enhance i18n labels Apr 22, 2024
Copy link

stackblitz bot commented Apr 22, 2024

Solve in StackBlitz Codeflow Start a new pull request in StackBlitz Codeflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: feature Request for new feature c: i18n Enhance i18n
Projects
None yet
Development

No branches or pull requests

1 participant