端末の地域と言語の設定は、アプリでは Locale として観測できますが、Locale ID を網羅した最新のリストが見当たらなかったので CSV ファイルを作りました。数年前のデータは Google 検索すると見付かるのですが、広東語とかが入ってないんですよね。
CSV ファイル
- iOS版 ioslocaleidentifiers.csv
- Android版 androidlocaleidentifiers.csv
製法
iOS は NSLocale の availableLocaleIdentifiers と localizedStringForLocaleIdentifier を使って、次のコードをビルドし、iOS 15.1 端末実機で動かして取得しました。OSバージョンが違うと結果は変わります。
NSArray *locales = [NSLocale availableLocaleIdentifiers];
for(NSString *locale in locales) {
NSLog(@"%@:%@", locale, [[NSLocale currentLocale] localizedStringForLocaleIdentifier:locale]);
}
Android は Locale の getAvailableLocales を使って、次のコードを Android 12 エミュレータ (API 31) で実行して取得しました。APIレベルが違うと結果は変わります。
for (locale in Locale.getAvailableLocales()) {
Log.d("LOCALE", locale.toLanguageTag() + "\t" + locale.displayName);
}