macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

NSLocaleクラス

INDEX>Foundation>NSLocale

apple(mac)
apple(iOS)

解説

ロケールクラス

ブラウン オーラルB プラックコントロール DB4510NE 電動歯ブラシ 乾電池式

ブラウン オーラルB プラックコントロール DB4510NE 電動歯ブラシ 乾電池式

継承 NSObject
準拠 NSObject (NSObject)
フレームワーク /System/Library/Frameworks/Foundation.framework
使用可能 OS X v10.4以降
iOS 2.0以降
定義 NSLocale.h

概要

ロケールは言語や文化、規則や規格など、地域などによって使われている情報をまとめたものです。たとえば日付の表記や使用言語などは地域によって違いますし、なかには小数点や桁区切りの記号が違う地域もあります。

iOS5.1では491種類のロケールが登録されています。

C言語フレームワークである、Core FoundationのCFLocaleRefとトールフリーブリッジです。ARC環境以外ではそのまま使用できます。
どちらかのフレームワークにしかないメソッド・関数を使いたい場合、キャストして使うことが出来ます。

ARC環境では、管理対象のオブジェクトキャストに__bridge、__bridge_retained、__bridge_transferが必要になります。

ロケールの取得と初期化

システムのロケールを取得するには(+ systemLocaleメソッドを使用します。

現在のロケールを取得するには(+ currentLocaleメソッドを使用します。現在のロケールを取得する方法はもう一つ(+ autoupdatingCurrentLocaleメソッドを使う方法があります。
両方とも取得した時は同じなのですが、+ autoupdatingCurrentLocaleの方は使用途中で設定変更(環境設定アプリの一般>言語環境>書式を変える)した場合に自動的に現在のロケールに変わるようになっています。

初期化方法では、allocで作成した後(– initWithLocaleIdentifierメソッドで初期化する方法があります。

ロケールについての情報を取得

キーとロケール情報で特定の情報を得るには(– displayNameForKey:valueメソッドを使用します。
ja-JPのようなロケールIDを取得するには(– localeIdentifierメソッドを使用します。
指定したキーで情報を取得するには(– objectForKeyメソッドを使用します。キーにNSLocaleLanguageCodeを渡してやることで、"ja"のような言語コードが取得できます。

キーについて
●NSLocaleIdentifier
ID
ja-JPではja-JPになっています。

●NSLocaleLanguageCode
言語コード
ja-JPではjaになっています。

●NSLocaleCountryCode
国コード
ja-JPではJPになっています。

●NSLocaleScriptCode
スクリプトコード
ja-JPでの設定はありません。中国語(簡体字)ではHansなどが登録されています。

●NSLocaleVariantCode
たった一つだけ登録されています
英語(アメリカ合衆国,コンピュータ) POSIX

●NSLocaleExemplarCharacterSet
基本の文字セット
ja-JPでは2130文字が登録されています。

●NSLocaleCalendar
使用するカレンダー NSCalendar
ja-JPではgregorianになっています。

●NSLocaleCollationIdentifier
設定されているロケールはありません。

●NSLocaleUsesMetricSystem;
メートル法を使うかどうかのNSNumberのBOOL値
ja-JPではYESになっています。

●NSLocaleMeasurementSystem
単位法
ja-JPではMetric(メートル法)になっています。他にはU.S.が数カ国

●NSLocaleDecimalSeparator
小数点記号
ja-JPでは"."となっています。","になっているロケールも多数あります。

●NSLocaleGroupingSeparator
桁区切り記号
ja-JPでは","となっています。

●NSLocaleCurrencySymbol
通貨記号
ja-JPでは"¥"となっています。

●NSLocaleCurrencyCode
通貨コード
ja-JPでは"JPY"となっています。

●NSLocaleCollatorIdentifier
まとめたID
ja-JPでは"ja-JP"となっています。

●NSLocaleQuotationBeginDelimiterKey
引用符(始まり)
ja-JPでは"「"となっています。

●NSLocaleQuotationEndDelimiterKey
引用符(終わり)
ja-JPでは"」"となっています。

●NSLocaleAlternateQuotationBeginDelimiterKey
代替引用符(始まり)
ja-JPでは"『"となっています。

●NSLocaleAlternateQuotationEndDelimiterKey
代替引用符(終わり)
ja-JPでは"』"となっています。

システムのロケール情報

システムで現在有効なロケールのID(ja-JPのような言語コードと国コードを合わせたもの)の一覧を取得するには(+ availableLocaleIdentifiersメソッドを使用します。
システムが持つISO国コード(JPのような2文字の英数大文字のコード)の一覧を取得するには(+ ISOCountryCodesメソッドを使用します。システムが持つISO通貨コードの一覧を取得するには(+ ISOCurrencyCodesメソッドを使用します。
システムが持つISO言語コード(jpのような2~3文字からからなるコード)の一覧を取得するには(+ ISOLanguageCodesメソッドを使用します。
システムが持つISO通貨コード(JPYのような3文字の英数大文字のコード)の一覧を取得するには(+ commonISOCurrencyCodesメソッドを使用します。

ID間の変換

指定したIDから正規のIDに変換するには(+ canonicalLocaleIdentifierFromStringメソッドを使用します。JA-JPと大文字と小文字を間違えた場合でもja-JPと正しいコードが返されます。
指定したIDから言語コードと国コードを辞書にして取得するには(+ componentsFromLocaleIdentifierメソッドを使用します。ja-JPを渡すと{kCFLocaleCountryCodeKey = JP;kCFLocaleLanguageCodeKey = ja;}として辞書(NSDictionary)が返されます。

国コードと言語コードの辞書でIDを取得するには(+ localeIdentifierFromComponentsメソッドを使用します。

指定した文字列から正規のIDにするには(+ canonicalLanguageIdentifierFromStringメソッドを使用します。

Windowsロケールコード(LCID)からロケールIDを取得するには(+ localeIdentifierFromWindowsLocaleCodeメソッドを使用します。逆の場合は(+ windowsLocaleCodeFromLocaleIdentifierメソッドを使用します。

言語のリストを取得

設定>一般>言語環境>言語で表示される、言語の配列を得るには(+ preferredLanguagesメソッドを使います。

言語での文字や行の向き

ロケールIDから文字の向きを取得するには(+ characterDirectionForLanguageメソッドを使用します。ja-JPであればNSLocaleLanguageDirectionLeftToRight(左から右)が返されます。
ロケールIDから行の向きを取得するには(+ lineDirectionForLanguageメソッドを使用します。ja-JPであればNSLocaleLanguageDirectionTopToBottom(上から下)が返されます。

適合するプロトコル