Every official language, in JSON: 113 listed, five shipped so far
Build / Desktop, server and tools (push) Successful in 33s

The language list comes from CLDR (official in a UN member state, plus the
six UN languages), with autonyms and text direction supplied for the 21
that ICU does not know. Strings move from resx to one JSON file per
language, looked up by code, so a language unknown to ICU or MSBuild still
loads; tools/strings.cs checks keys and placeholders in CI. Arabic, Hindi
and Chinese drafts prove right-to-left and system-font fallback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-15 01:18:13 +02:00
1 parent 7589121846
commit 8eaf9f36fc
17 files changed
+1072 -99

No files matched your search

+791 -2
View File
@@ -1,4 +1,793 @@
[
{ "code": "en", "name": "English", "status": "reviewed" },
{ "code": "it", "name": "Italiano", "status": "reviewed" }
{
"code": "am",
"name": "አማርኛ",
"english": "Amharic",
"rtl": false,
"status": "draft"
},
{
"code": "ar",
"name": "العربية",
"english": "Arabic",
"rtl": true,
"status": "draft"
},
{
"code": "ay",
"name": "Aymar aru",
"english": "Aymara",
"rtl": false,
"status": "draft"
},
{
"code": "az",
"name": "Azərbaycan",
"english": "Azerbaijani",
"rtl": false,
"status": "draft"
},
{
"code": "az-Cyrl",
"name": "Азәрбајҹан (Кирил)",
"english": "Azerbaijani (Cyrillic)",
"rtl": false,
"status": "draft"
},
{
"code": "be",
"name": "Беларуская",
"english": "Belarusian",
"rtl": false,
"status": "draft"
},
{
"code": "bg",
"name": "Български",
"english": "Bulgarian",
"rtl": false,
"status": "draft"
},
{
"code": "bi",
"name": "Bislama",
"english": "Bislama",
"rtl": false,
"status": "draft"
},
{
"code": "bn",
"name": "বাংলা",
"english": "Bangla",
"rtl": false,
"status": "draft"
},
{
"code": "bs",
"name": "Bosanski",
"english": "Bosnian",
"rtl": false,
"status": "draft"
},
{
"code": "bs-Cyrl",
"name": "Босански (ћирилица)",
"english": "Bosnian (Cyrillic)",
"rtl": false,
"status": "draft"
},
{
"code": "ca",
"name": "Català",
"english": "Catalan",
"rtl": false,
"status": "draft"
},
{
"code": "cs",
"name": "Čeština",
"english": "Czech",
"rtl": false,
"status": "draft"
},
{
"code": "da",
"name": "Dansk",
"english": "Danish",
"rtl": false,
"status": "draft"
},
{
"code": "de",
"name": "Deutsch",
"english": "German",
"rtl": false,
"status": "draft"
},
{
"code": "dv",
"name": "ދިވެހި",
"english": "Dhivehi",
"rtl": true,
"status": "draft"
},
{
"code": "dz",
"name": "རྫོང་ཁ",
"english": "Dzongkha",
"rtl": false,
"status": "draft"
},
{
"code": "el",
"name": "Ελληνικά",
"english": "Greek",
"rtl": false,
"status": "draft"
},
{
"code": "en",
"name": "English",
"english": "English",
"rtl": false,
"status": "reviewed"
},
{
"code": "es",
"name": "Español",
"english": "Spanish",
"rtl": false,
"status": "draft"
},
{
"code": "et",
"name": "Eesti",
"english": "Estonian",
"rtl": false,
"status": "draft"
},
{
"code": "fa",
"name": "فارسی",
"english": "Persian",
"rtl": true,
"status": "draft"
},
{
"code": "fi",
"name": "Suomi",
"english": "Finnish",
"rtl": false,
"status": "draft"
},
{
"code": "fil",
"name": "Filipino",
"english": "Filipino",
"rtl": false,
"status": "draft"
},
{
"code": "fj",
"name": "Na Vosa Vakaviti",
"english": "Fijian",
"rtl": false,
"status": "draft"
},
{
"code": "fr",
"name": "Français",
"english": "French",
"rtl": false,
"status": "draft"
},
{
"code": "ga",
"name": "Gaeilge",
"english": "Irish",
"rtl": false,
"status": "draft"
},
{
"code": "gil",
"name": "Taetae ni Kiribati",
"english": "Gilbertese",
"rtl": false,
"status": "draft"
},
{
"code": "gn",
"name": "Avañe'ẽ",
"english": "Guarani",
"rtl": false,
"status": "draft"
},
{
"code": "gsw",
"name": "Schwiizertüütsch",
"english": "Swiss German",
"rtl": false,
"status": "draft"
},
{
"code": "he",
"name": "עברית",
"english": "Hebrew",
"rtl": true,
"status": "draft"
},
{
"code": "hi",
"name": "हिन्दी",
"english": "Hindi",
"rtl": false,
"status": "draft"
},
{
"code": "hif",
"name": "Fiji Baat",
"english": "Fiji Hindi",
"rtl": false,
"status": "draft"
},
{
"code": "ho",
"name": "Hiri Motu",
"english": "Hiri Motu",
"rtl": false,
"status": "draft"
},
{
"code": "hr",
"name": "Hrvatski",
"english": "Croatian",
"rtl": false,
"status": "draft"
},
{
"code": "ht",
"name": "Kreyòl ayisyen",
"english": "Haitian Creole",
"rtl": false,
"status": "draft"
},
{
"code": "hu",
"name": "Magyar",
"english": "Hungarian",
"rtl": false,
"status": "draft"
},
{
"code": "hy",
"name": "Հայերեն",
"english": "Armenian",
"rtl": false,
"status": "draft"
},
{
"code": "id",
"name": "Indonesia",
"english": "Indonesian",
"rtl": false,
"status": "draft"
},
{
"code": "is",
"name": "Íslenska",
"english": "Icelandic",
"rtl": false,
"status": "draft"
},
{
"code": "it",
"name": "Italiano",
"english": "Italian",
"rtl": false,
"status": "reviewed"
},
{
"code": "ja",
"name": "日本語",
"english": "Japanese",
"rtl": false,
"status": "draft"
},
{
"code": "ka",
"name": "ქართული",
"english": "Georgian",
"rtl": false,
"status": "draft"
},
{
"code": "kk",
"name": "Қазақ тілі",
"english": "Kazakh",
"rtl": false,
"status": "draft"
},
{
"code": "km",
"name": "ខ្មែរ",
"english": "Khmer",
"rtl": false,
"status": "draft"
},
{
"code": "ko",
"name": "한국어",
"english": "Korean",
"rtl": false,
"status": "draft"
},
{
"code": "ky",
"name": "Кыргызча",
"english": "Kyrgyz",
"rtl": false,
"status": "draft"
},
{
"code": "lb",
"name": "Lëtzebuergesch",
"english": "Luxembourgish",
"rtl": false,
"status": "draft"
},
{
"code": "lo",
"name": "ລາວ",
"english": "Lao",
"rtl": false,
"status": "draft"
},
{
"code": "lt",
"name": "Lietuvių",
"english": "Lithuanian",
"rtl": false,
"status": "draft"
},
{
"code": "lv",
"name": "Latviešu",
"english": "Latvian",
"rtl": false,
"status": "draft"
},
{
"code": "mg",
"name": "Malagasy",
"english": "Malagasy",
"rtl": false,
"status": "draft"
},
{
"code": "mh",
"name": "Kajin M̧ajeļ",
"english": "Marshallese",
"rtl": false,
"status": "draft"
},
{
"code": "mi",
"name": "Māori",
"english": "Māori",
"rtl": false,
"status": "draft"
},
{
"code": "mk",
"name": "Македонски",
"english": "Macedonian",
"rtl": false,
"status": "draft"
},
{
"code": "mn",
"name": "Монгол",
"english": "Mongolian",
"rtl": false,
"status": "draft"
},
{
"code": "ms",
"name": "Melayu",
"english": "Malay",
"rtl": false,
"status": "draft"
},
{
"code": "ms-Arab",
"name": "بهاس ملايو",
"english": "Malay (Arabic script)",
"rtl": true,
"status": "draft"
},
{
"code": "mt",
"name": "Malti",
"english": "Maltese",
"rtl": false,
"status": "draft"
},
{
"code": "my",
"name": "မြန်မာ",
"english": "Burmese",
"rtl": false,
"status": "draft"
},
{
"code": "na",
"name": "Dorerin Naoero",
"english": "Nauruan",
"rtl": false,
"status": "draft"
},
{
"code": "nb",
"name": "Norsk bokmål",
"english": "Norwegian Bokmål",
"rtl": false,
"status": "draft"
},
{
"code": "nd",
"name": "IsiNdebele",
"english": "North Ndebele",
"rtl": false,
"status": "draft"
},
{
"code": "ne",
"name": "नेपाली",
"english": "Nepali",
"rtl": false,
"status": "draft"
},
{
"code": "nl",
"name": "Nederlands",
"english": "Dutch",
"rtl": false,
"status": "draft"
},
{
"code": "nn",
"name": "Norsk nynorsk",
"english": "Norwegian Nynorsk",
"rtl": false,
"status": "draft"
},
{
"code": "no",
"name": "Norsk",
"english": "Norwegian",
"rtl": false,
"status": "draft"
},
{
"code": "ny",
"name": "Chichewa",
"english": "Chichewa",
"rtl": false,
"status": "draft"
},
{
"code": "pau",
"name": "Tekoi ra Belau",
"english": "Palauan",
"rtl": false,
"status": "draft"
},
{
"code": "pl",
"name": "Polski",
"english": "Polish",
"rtl": false,
"status": "draft"
},
{
"code": "ps",
"name": "پښتو",
"english": "Pashto",
"rtl": true,
"status": "draft"
},
{
"code": "pt",
"name": "Português",
"english": "Portuguese",
"rtl": false,
"status": "draft"
},
{
"code": "qu",
"name": "Runasimi",
"english": "Quechua",
"rtl": false,
"status": "draft"
},
{
"code": "rn",
"name": "Ikirundi",
"english": "Rundi",
"rtl": false,
"status": "draft"
},
{
"code": "ro",
"name": "Română",
"english": "Romanian",
"rtl": false,
"status": "draft"
},
{
"code": "ru",
"name": "Русский",
"english": "Russian",
"rtl": false,
"status": "draft"
},
{
"code": "rw",
"name": "Ikinyarwanda",
"english": "Kinyarwanda",
"rtl": false,
"status": "draft"
},
{
"code": "sg",
"name": "Sängö",
"english": "Sango",
"rtl": false,
"status": "draft"
},
{
"code": "si",
"name": "සිංහල",
"english": "Sinhala",
"rtl": false,
"status": "draft"
},
{
"code": "sk",
"name": "Slovenčina",
"english": "Slovak",
"rtl": false,
"status": "draft"
},
{
"code": "sl",
"name": "Slovenščina",
"english": "Slovenian",
"rtl": false,
"status": "draft"
},
{
"code": "sm",
"name": "Gagana Samoa",
"english": "Samoan",
"rtl": false,
"status": "draft"
},
{
"code": "sn",
"name": "ChiShona",
"english": "Shona",
"rtl": false,
"status": "draft"
},
{
"code": "so",
"name": "Soomaali",
"english": "Somali",
"rtl": false,
"status": "draft"
},
{
"code": "sq",
"name": "Shqip",
"english": "Albanian",
"rtl": false,
"status": "draft"
},
{
"code": "sr",
"name": "Српски",
"english": "Serbian",
"rtl": false,
"status": "draft"
},
{
"code": "sr-Latn",
"name": "Srpski (latinica)",
"english": "Serbian (Latin)",
"rtl": false,
"status": "draft"
},
{
"code": "ss",
"name": "SiSwati",
"english": "Swati",
"rtl": false,
"status": "draft"
},
{
"code": "st",
"name": "Sesotho",
"english": "Southern Sotho",
"rtl": false,
"status": "draft"
},
{
"code": "sv",
"name": "Svenska",
"english": "Swedish",
"rtl": false,
"status": "draft"
},
{
"code": "sw",
"name": "Kiswahili",
"english": "Swahili",
"rtl": false,
"status": "draft"
},
{
"code": "ta",
"name": "தமிழ்",
"english": "Tamil",
"rtl": false,
"status": "draft"
},
{
"code": "tet",
"name": "Tetun",
"english": "Tetum",
"rtl": false,
"status": "draft"
},
{
"code": "tg",
"name": "Тоҷикӣ",
"english": "Tajik",
"rtl": false,
"status": "draft"
},
{
"code": "th",
"name": "ไทย",
"english": "Thai",
"rtl": false,
"status": "draft"
},
{
"code": "ti",
"name": "ትግርኛ",
"english": "Tigrinya",
"rtl": false,
"status": "draft"
},
{
"code": "tk",
"name": "Türkmen dili",
"english": "Turkmen",
"rtl": false,
"status": "draft"
},
{
"code": "tn",
"name": "Setswana",
"english": "Tswana",
"rtl": false,
"status": "draft"
},
{
"code": "to",
"name": "Lea fakatonga",
"english": "Tongan",
"rtl": false,
"status": "draft"
},
{
"code": "tpi",
"name": "Tok Pisin",
"english": "Tok Pisin",
"rtl": false,
"status": "draft"
},
{
"code": "tr",
"name": "Türkçe",
"english": "Turkish",
"rtl": false,
"status": "draft"
},
{
"code": "tvl",
"name": "Te Ggana Tuuvalu",
"english": "Tuvaluan",
"rtl": false,
"status": "draft"
},
{
"code": "tzm",
"name": "Tamaziɣt n laṭlaṣ",
"english": "Central Atlas Tamazight",
"rtl": false,
"status": "draft"
},
{
"code": "uk",
"name": "Українська",
"english": "Ukrainian",
"rtl": false,
"status": "draft"
},
{
"code": "ur",
"name": "اردو",
"english": "Urdu",
"rtl": true,
"status": "draft"
},
{
"code": "uz",
"name": "O‘zbek",
"english": "Uzbek",
"rtl": false,
"status": "draft"
},
{
"code": "uz-Cyrl",
"name": "Ўзбекча (Кирил)",
"english": "Uzbek (Cyrillic)",
"rtl": false,
"status": "draft"
},
{
"code": "vi",
"name": "Tiếng Việt",
"english": "Vietnamese",
"rtl": false,
"status": "draft"
},
{
"code": "wni",
"name": "Shindzuani",
"english": "Ndzwani Comorian",
"rtl": false,
"status": "draft"
},
{
"code": "wo",
"name": "Wolof",
"english": "Wolof",
"rtl": false,
"status": "draft"
},
{
"code": "yo",
"name": "Èdè Yorùbá",
"english": "Yoruba",
"rtl": false,
"status": "draft"
},
{
"code": "zdj",
"name": "Shingazidja",
"english": "Ngazidja Comorian",
"rtl": false,
"status": "draft"
},
{
"code": "zh",
"name": "中文",
"english": "Chinese",
"rtl": false,
"status": "draft"
}
]