web-dev-qa-db-ja.com

iPhone lprojフォルダーのロケールコード

プロジェクトローカリゼーションフォルダーのロケール名の省略形のリストはどこにありますか? (英語の場合はen、フランス語の場合はfrなど)。

私はドイツ語、スペイン語などをしたいと思っています。

28
Moshe

English.lprojSpanish.lprojなどと呼ぶだけです。

「省略名」は実際には IETF言語タグ (つまり BCP 47 )ですが、pt_PT.lprojではなくpt-PT.lprojを使用します。


実際の解釈ルーチンは https://github.com/Apple/Swift-corelibs-foundation/blob/master/CoreFoundation/PlugIn.subproj/CFBundle_Locale.c にあり、CFBundleGetLocalizationInfoForLocalization 関数。ここで複製:

| lproj identifiers              | L#  | C#  | Display name               |
|:-------------------------------|:----|:----|:---------------------------|
| en_US = en = English           | 0   | 0   | English (United States)    |
| en_GB                          | 0   | 2   | English (United Kingdom)   |
| en_AU                          | 0   | 15  | English (Australia)        |
| en_CA                          | 0   | 82  | English (Canada)           |
| en_SG                          | 0   | 100 | English (Singapore)        |
| en_IE                          | 0   | 108 | English (Ireland)          |
| fr_FR = fr = French            | 1   | 1   | French (France)            |
| fr_CA                          | 1   | 11  | French (Canada)            |
| fr_CH                          | 1   | 18  | French (Switzerland)       |
| fr_BE                          | 1   | 98  | French (Belgium)           |
| de_DE = de = German            | 2   | 3   | German (Germany)           |
| de_CH                          | 2   | 19  | German (Switzerland)       |
| de_AT                          | 2   | 92  | German (Austria)           |
| it_IT = it = Italian           | 3   | 4   | Italian (Italy)            |
| it_CH                          | 3   | 36  | Italian (Switzerland)      |
| nl_NL = nl = Dutch             | 4   | 5   | Dutch (Netherlands)        |
| nl_BE                          | 34  | 6   | Dutch (Belgium)            |    
| sv_SE = sv = Swedish           | 5   | 7   | Swedish (Sweden)           |
| es_ES = es = Spanish           | 6   | 8   | Spanish (Spain)            |
| es_XL                          | 6   | 86  | Spanish (Latin America)    |
| da_DK = da = Danish            | 7   | 9   | Danish (Denmark)           |
| pt_BR = pt = Portuguese        | 8   | 71  | Portuguese (Brazil)        |
| pt_PT                          | 8   | 10  | Portuguese (Portugal)      |
| nb_NO = nb = no = Norwegian    | 9   | 12  | Norwegian Bokmål (Norway)  |
| nn_NO = nn = Nynorsk           | 151 | 101 | Norwegian Nynorsk (Norway) |
| he_IL = he = Hebrew            | 10  | 13  | Hebrew (Israel)            |
| ja_JP = ja = Japanese          | 11  | 14  | Japanese (Japan)           |
|         ar = Arabic            | 12  | 16  | Arabic                     |
| fi_FI = fi = Finnish           | 13  | 17  | Finnish (Finland)          |
| el_GR = el = Greek             | 14  | 20  | Greek (Greece)             |
| el_CY                          | 14  | 23  | Greek (Cyprus)             |
| is_IS = is = Icelandic         | 15  | 21  | Icelandic (Iceland)        |
| mt_MT = mt = Maltese           | 16  | 22  | Maltese (Malta)            |
| tr_TR = tr = Turkish           | 17  | 24  | Turkish (Turkey)           |
| hr_HR = hr = Croatian          | 18  | 68  | Croatian (Croatia)         |
| zh_TW = zh-Hant                | 19  | 53  | Chinese (Taiwan)           |
| zh_CN = zh = zh-Hans = Chinese | 33  | 52  | Chinese (China)            |
| ur_PK = ur = Urdu              | 20  | 34  | Urdu (Pakistan)            |
| ur_IN                          | 20  | 96  | Urdu (India)               |
| hi_IN = hi = Hindi             | 21  | 33  | Hindi (India)              |
| th_TH = th = Thai              | 22  | 54  | Thai (Thailand)            |
| ko_KR = ko = Korean            | 23  | 51  | Korean (South Korea)       |
| lt_LT = lt = Lithuanian        | 24  | 41  | Lithuanian (Lithuania)     |
| pl_PL = pl = Polish            | 25  | 42  | Polish (Poland)            |
| hu_HU = hu = Hungarian         | 26  | 43  | Hungarian (Hungary)        |
| et_EE = et = Estonian          | 27  | 44  | Estonian (Estonia)         |
| lv_LV = lv = Latvian           | 28  | 45  | Latvian (Latvia)           |
|         se = Sami              | 29  | 46  | Northern Sami              |
| fo_FO = fo = Faroese           | 30  | 47  | Faroese (Faroe Islands)    |
| fa_IR = fa = Farsi             | 31  | 48  | Persian (Iran)             |
| ru_RU = ru = Russian           | 32  | 49  | Russian (Russia)           |
| ga_IE = ga = Irish             | 35  | 50  | Irish (Ireland)            |
|         sq = Albanian          | 36  | -1  | Albanian                   |
| ro_RO = ro = Romanian          | 37  | 39  | Romanian (Romania)         |
| cs_CZ = cs = Czech             | 38  | 56  | Czech (Czech Republic)     |
| sk_SK = sk = Slovak            | 39  | 57  | Slovak (Slovakia)          |
| sl_SI = sl = Slovenian         | 40  | 66  | Slovenian (Slovenia)       |
|         yi = Yiddish           | 41  | -1  | Yiddish                    |
| sr_CS = sr = Serbian           | 42  | 65  | Serbian (Serbia)           |
| mk_MK = mk = Macedonian        | 43  | 67  | Macedonian (Macedonia)     |
| bg_BG = bg = Bulgarian         | 44  | 72  | Bulgarian (Bulgaria)       |
| uk_UA = uk = Ukrainian         | 45  | 62  | Ukrainian (Ukraine)        |
| be_BY = be = Byelorussian      | 46  | 61  | Belarusian (Belarus)       |
| uz_UZ = uz = Uzbek             | 47  | 99  | Uzbek (Uzbekistan)         |
|         kk = Kazakh            | 48  | -1  | Kazakh                     |
| hy_AM = hy = Armenian          | 51  | 84  | Armenian (Armenia)         |
| ka_GE = ka = Georgian          | 52  | 85  | Georgian (Georgia)         |
|         mo = Moldavian         | 53  | -1  | Moldavian                  |
|         ky = Kirghiz           | 54  | -1  | Kyrgyz                     |
|         tg = Tajiki            | 55  | -1  | Tajik                      |
|         tk = Turkmen           | 56  | -1  | Turkmen                    |
|         mn = Mongolian         | 58  | -1  | Mongolian                  |
|         ps = Pashto            | 59  | -1  | Pashto                     |
|         ku = Kurdish           | 60  | -1  | Kurdish                    |
|         ks = Kashmiri          | 61  | -1  | Kashmiri                   |
|         sd = Sindhi            | 62  | -1  | Sindhi                     |
|         bo = Tibetan           | 63  | 105 | Tibetan                    |
| ne_NP = ne = Nepali            | 64  | 106 | Nepali (Nepal)             |
|         sa = Sanskrit          | 65  | -1  | Sanskrit                   |
| mr_IN = mr = Marathi           | 66  | 104 | Marathi (India)            |
|         bn = Bengali           | 67  | 60  | Bengali                    |
|         as = Assamese          | 68  | -1  | Assamese                   |
| gu_IN = gu = Gujarati          | 69  | 94  | Gujarati (India)           |
|         pa = Punjabi           | 70  | 95  | Punjabi                    |
|         or = Oriya             | 71  | -1  | Oriya                      |
|         ml = Malayalam         | 72  | -1  | Malayalam                  |
|         kn = Kannada           | 73  | -1  | Kannada                    |
|         ta = Tamil             | 74  | -1  | Tamil                      |
|         te = Telugu            | 75  | -1  | Telugu                     |
|         si = Sinhalese         | 76  | -1  | Sinhala                    |
|         my = Burmese           | 77  | -1  | Burmese                    |
|         km = Khmer             | 78  | -1  | Khmer                      |
|         lo = Lao               | 79  | -1  | Lao                        |
| vi_VN = vi = Vietnamese        | 80  | 97  | Vietnamese (Vietnam)       |
|         id = Indonesian        | 81  | -1  | Indonesian                 |
|         tl = Tagalog           | 82  | -1  | Tagalog                    |
|         ms = Malay             | 83  | -1  | Malay                      |
|         am = Amharic           | 85  | -1  | Amharic                    |
|         ti = Tigrinya          | 86  | -1  | Tigrinya                   |
|         om = Oromo             | 87  | -1  | Oromo                      |
|         so = Somali            | 88  | -1  | Somali                     |
|         sw = Swahili           | 89  | -1  | Swahili                    |
|         rw = Kinyarwanda       | 90  | -1  | Kinyarwanda                |
|         rn = Rundi             | 91  | -1  | Rundi                      |
|              Nyanja            | 92  | -1  | Nyanja                     |
|         mg = Malagasy          | 93  | -1  | Malagasy                   |
|         eo = Esperanto         | 94  | 103 | Esperanto                  |
|         cy = Welsh             | 128 | 79  | Welsh                      |
|         eu = Basque            | 129 | -1  | Basque                     |
| ca_ES = ca = Catalan           | 130 | 73  | Catalan (Spain)            |
|         la = Latin             | 131 | -1  | Latin                      |
|         qu = Quechua           | 132 | -1  | Quechua                    |
|         gn = Guarani           | 133 | -1  | Guarani                    |
|         ay = Aymara            | 134 | -1  | Aymara                     |
|         tt = Tatar             | 135 | -1  | Tatar                      |
|         ug = Uighur            | 136 | -1  | Uyghur                     |
| dz_BT = dz = Dzongkha          | 137 | 83  | Dzongkha (Bhutan)          |
|         jv = Javanese          | 138 | -1  | Javanese                   |
|         su = Sundanese         | 139 | -1  | Sundanese                  |
|         gl = Galician          | 140 | -1  | Galician                   |
| af_ZA = af = Afrikaans         | 141 | 102 | Afrikaans (South Africa)   |
|         br = Breton            | 142 | 77  | Breton                     |
| iu_CA = iu = Inuktitut         | 143 | 78  | Inuktitut (Canada)         |
|         Gd = Scottish          | 144 | 75  | Scottish Gaelic            |
|         gv = Manx              | 145 | 76  | Manx                       |
| to_TO = to = Tongan            | 147 | 88  | Tongan (Tonga)             |
|         grc                    | 148 | 40  | Ancient Greek              |
|         kl = Greenlandic       | 149 | 107 | Kalaallisut                |
|         az = Azerbaijani       | 150 | -1  | Azerbaijani                |

ここに:

  • L#は言語コードで、C#は国コードです。 2つの識別子が同じ言語と国コードを共有している場合、それらは同一であると見なします。
  • ソースファイルに表示される文字列のみを一覧表示しました。また、zh_HKTraditional Chinese(どちらもzh_TWと同じコード番号)のようなものも認識します。おそらく、より洗練されたCFLocaleリストを介して行われます。

IOS 10.3.1の時点で、次のlproj名のリストは実際にAppleで使用されています。

  • デンマーク語、オランダ語、英語、フランス語、ドイツ語、イタリア語、日本語、ポーランド語、ポルトガル語、ロシア語、スペイン語、スウェーデン語
  • ar、bo、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、hu、id、it、ja、ko、ms、nb、nl、no、pa、pl、 pt、ro、ru、sk、sv、th、tr、uk、ur、vi、chr(注:chr =チェロキー
  • en_AU、en_CA、en_CN、en_GB、en_ID、en_IN、en_JP、en_MY、en_NZ、en_SG
  • es_419、es_AR、es_CL、es_CO、es_CR、es_GT、es_MX、es_PA、es_PE、es_US
  • ar_SA、da_DK、de_AT、de_CH、fi_FI、fr_BE、fr_CA、fr_CH、he_IL、it_CH、ms_MY、nb_NO、nl_BE、nl_NL、pt_BR、pt_PT、ru_RU、sv_SE、th_TH、tr_TR、yue_zh、zhWCN、zh_CN
53
kennytm

まもなく、ほとんどの場合、 BCP 47コード で指定されている2文字のコードを使用する必要があります。

より長く、 official Apple documentation で指定されているように、 BCP 47コード を使用することになっています。

今の経験則は、理にかなっている可能な限り短いコードを使用することです。これにより、類似したロケールのカバレッジが最大化されるため、これを使用する必要があります。

たとえば、ロシア語でローカライズする場合は、_ru-RU_などの代替手段ではなく、ruコードのみを使用する必要があります。短いコードを使用すると、ロシア語を話す他の国のユーザーはあなたのアプリケーションをロシア語で見ることができるため、これは重要です。それ以外の場合は、ロシアのロシア語を使用している人にのみロシア語を表示します。

ほとんどの使用言語の推奨コードを含む言語コードの詳細を知りたい場合は、1年以上前に書いた短い記事を読む必要があります http://blog.i18n.ro/simplified-locale-コード/ -ポルトガル語中国語に関するいくつかのトリックがあることを覚えておいてください-)しかし、他の言語については、以下のリストを使用できます。

Arabic (ar), Czech (cs), Danish (da), German (de), Greek (el), Finnish (fi), Hebrew (he), Hungarian (hu), Italian (it), Japanese (ja), Korean (ko), Norwegian (nb), Dutch (nl), Polish (pl), Romanian (ro), Russian (ru), Swedish (sv), Turkish (tr), Ukrainian (uk).

3
sorin

この質問への回答はありましたが、複数の情報源により混乱を招いたと思います。実際、iOSには30の言語があり、.lprojフォルダーとして認識されます。地域コードを受け入れないため、fr-CAを指定してもカナダフランス語は取得されませんが、英語の文字列が使用されます。言語に2文字のコード(en.lproj、fr.lproj、es.lproj、de.lprojなど)を使用する必要があります。このルールの唯一の例外は中国語です。簡体字中国語の場合はzh_Hans、繁体字中国語の場合はzh_Hantです。

これをさらに混乱させるのは、iTunes App Storeが理解できる言語のセットが異なるであり、オーストラリア英語のような多くの地域バージョンを認識していることです。ブラジルのポルトガル語。

IOSとiTunesの両方で現在サポートされている言語と言語コードの完全な(および更新された)リストは、次のとおりです。

http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html

1
Localizer

ドイツ語はde、スペイン語はesです。これらのコードの一般的な形式はlanguageCode_CountryCodeまたはlanguageCode(国を指定せず、言語を指定する場合のデフォルトとして使用されます)。

したがって、en(一般的な英語)、en_GB(英語、ただし英国出身)、fr_FR(フランスのフランス語)、およびfr_CH(スイスフランス語)。

言語コードは ISO 639-1標準 の一部であり、国コードは ISO 3166標準 からのものです。

1
Dave DeLong