@shotlingo/locale-codes
v1.0.1
Published
App Store + Google Play locale codes for 40+ supported languages. Maps ISO 639-1 codes to App Store Connect language codes and Google Play language codes.
Maintainers
Readme
@shotlingo/locale-codes
App Store + Google Play locale codes for 40+ supported languages.
Maps ISO 639-1 language codes to App Store Connect language codes and
Google Play Console language codes — the two are subtly different
(e.g. Hebrew is he on iOS but iw-IL on Google Play; Simplified Chinese
is zh-Hans on iOS but zh-CN on Google Play). Includes an RTL flag and
native name per locale.
Maintained alongside Shotlingo — the canonical mapping this package ships is the one used internally by Shotlingo's screenshot localization pipeline for 40+ App Store markets.
Install
npm install @shotlingo/locale-codesUsage
import { LOCALES, byIso, appStoreCode, playStoreCode, rtlLocales } from '@shotlingo/locale-codes';
LOCALES.length; // 43
byIso('zh-Hans');
// { iso: 'zh-Hans', name: 'Chinese (Simplified)', nativeName: '简体中文',
// appStore: 'zh-Hans', playStore: 'zh-CN', rtl: false }
appStoreCode('he'); // 'he'
playStoreCode('he'); // 'iw-IL' ← different on purpose
rtlLocales().map((l) => l.iso);
// ['ar', 'he', 'fa', 'ur']Pipe into a fastlane Deliverfile or App Store Connect upload
# Deliverfile — only upload metadata for locales App Store Connect accepts
APP_STORE_CONNECT_LOCALES = %w[
en-US ja de-DE es-ES fr-FR ko zh-Hans zh-Hant ar-SA pt-BR
]
languages(APP_STORE_CONNECT_LOCALES)The package's LOCALES array gives you the canonical App Store + Play list
without re-deriving it from scattered Apple / Google docs.
Companion tool
App Store Locale Codes lookup (Shotlingo) — interactive search + copy-to-clipboard for every locale. The same dataset, visually filtered, with the iOS / Play / RTL columns side by side.
Shotlingo localizes App Store screenshots into 40+ languages at the right device sizes in one upload — the locale mapping in this package is what powers its language selector.
See also
@shotlingo/screenshot-sizes— current App Store + Google Play screenshot dimensions per device class (2026).@shotlingo/text-expansion— translation length expansion ratios per locale so UI layouts don't break after translation.
License
MIT © Alperen Güntekin
