MILLEN BOX 2

個人iOSアプリ開発者hollymotoによる勉強の記録。時々雑記。

Localeについて

こんにちは。hollymoto@anthrgrnwrld です。
今日はLocaleについてメモを残します。

Apple公式リファレンスはここ。

https://developer.apple.com/documentation/foundation/locale

そしてめっちゃ参考になるページはここ。

【Swift】Localeの使い方 | カピ通信

(ツーかですね、基本的に上の「めっちゃ参考になるページ」を読めば万事解決なんですよ。ただね、それだと私に何も残らなくて忘れちゃうので内容コピーになっちゃうかもですけど残しときたい、というのが今回の趣旨ですわ。)

目次

1. Localeの指定方法 (=Locale構造体の取得)

let locale = Locale(identifier: "Locale識別子")

2. Locale識別子のなんとなくルール

Locale識別子は言語(Language)地域(Region)を組み合わせた文字列

ルール
"言語(小文字2文字)_地域(大文字2文字)" Locale

  • 例1 : "en_US"(英語+米国地域)

  • 例2 : "ja_JP"(日本語+日本地域)

  • 例3 : "jp_FR"(日本語+フランス地域)

3. 現在端末が認識しているLocale構造体を取得する

let locale = Locale.current

4. Locale構造体からLocale識別子を取得する

let locale = Locale.current       //Locale構造体(端末から取得したホヤホヤのもの)
let localeID = locale.identifier  //localeID = Locale識別子
print(localeId)                   // ex: en_US

5. 指定可能な全てのLocale識別子一覧を取得する方法

let identifiers = Locale.availableIdentifiers   //使用可能なLocale識別子一覧の取得
print(identifiers)    //めっちゃ出てくる

めっちゃ出たのを少しコピペ

["eu", "hr_BA", "en_CM", "en_BI", "en_AE", "rw_RW", "ast", "en_SZ", "he_IL", "ar", "uz_Arab", "en_PN", "as", "en_NF", "ks_IN", "es_KY", "rwk_TZ", "zh_Hant_TW", "en_CN", "gsw_LI", "ta_IN", "th_TH", "es_EA", ... "kw_GB", "rm_CH", "en_ME", "nyn", "mk_MK", "bs_Cyrl_BA", "ar_MR", "es_GL", "en_BM", "ms_Arab", "en_AI", "gl_ES", "en_PR", "trv_TW", "ne_IN", "or_IN", "byn_ER", "khq_ML", "ia_001", "en_MG", "iu_CA", "en_LC", "pt_TL", "ta_SG", "tn_ZA", "myv", "syr", "jmc_TZ", "ceb_PH", "om_ET", "lv_LV", "ps_PK", "es_US", ... "ks_Deva", "zh_Hans_HK", "is", "ksh", "my", "mn_MN", "en", "it", "dsb_DE", "ii_CN", "eo", "iu", "en_CL", "en_ZA", "en_AD", "smn", "mni_Beng_IN", "ak", "en_RU", "kkj_CM", "am", "es", "et", "uk_UA"]

ここ、いつも混乱してたんですが、このページを見つけれてよかったです。目から鱗でした。