BCP 47, POSIX, Android and iOS folder names, ISO 639-2/3 codes.
Platform formats
Language and region
Runs in your browser. Files are not uploaded unless the tool says otherwise.
Convert language and locale codes between BCP 47, POSIX, ISO 639-1/2/3, Android resource folders, iOS .lproj and .NET cultures.
BCP 47, POSIX, Android and iOS folder names, ISO 639-2/3 codes.
Runs in your browser. Files are not uploaded unless the tool says otherwise.
Every platform spells locale identifiers slightly differently. The web, Flutter and .NET use BCP 47 tags with hyphens (pt-BR). Linux, Java and gettext use POSIX names with underscores and an optional charset (pt_BR.UTF-8). Android names resource folders values-pt-rBR, and switches to the values-b+ form when a script or a numeric region is involved (values-b+zh+Hans+CN, values-b+es+419). Xcode expects pt-BR.lproj. Mixing them up is a classic source of "translations exist but the app shows English".
en), otherwise ISO 639-2/3 (fil, haw).Hans, Hant, Latn, Cyrl). Needed when the same language is written in more than one script, such as Chinese or Serbian.US) or a UN M.49 area code (419 for Latin America).de-CH-1996.{lang} placeholder in file paths.fr is a better fallback for a French-speaking Canadian than a missing fr-CA.zh-Hans and zh-Hant are different translations, and zh-CN vs zh-TW hides that fact.dir="rtl" in HTML and mirrored layouts, not just translated text.SimpleLocalize accepts any BCP 47 language key and exports files under the naming convention of the chosen file format. See the CLI download documentation for the {lang} and {ns} placeholders.