構造体


Locale


プレゼンテーション用にデータをフォーマットする際に使用する言語、文化、技術の慣習に関する情報。


iOS 8.0+ iPadOS 8.0+ Mac Catalyst 13.0+ macOS 10.10+

tvOS 9.0+ visionOS 1.0+ watchOS 2.0+ Xcode 8.0+

struct Locale





概観


Locale(ロケール) は、言語、文化、及び技術の慣習や標準に関する情報をカプセル化します。ロケールによってカプセル化される情報の例としては、数値の小数点記号に使用される記号や、日付と時刻の書式設定規則などがあります。


アプリはロケールを使用して、ユーザの習慣や好みに関する情報を提供し、フォーマットし、解釈します。データフォーマット API は、通常、ロケールを使用して、ロケールに適した方法でデータを表示します。


Locale(ロケール) は、en-US などの共通識別子から作成することも、そのコンポーネントを指定して作成することもできます。より一般的には、現在のシステム ロケール には、current または autoupdatingCurrent 静的変数を使用してアクセスします。


ロケールコンポーネントの操作


Locale は、適切な測定システム、通貨記号、日付と時刻の規則などのさまざまな特性を、currency (通貨)、numberingSystem (番号システム)、firstDayOfWeek (週の最初の日) などの厳密に型指定されたプロパティとして公開します。


さらに、Language プロパティを使用すると、Locale.Language 型を通じて言語の特性をあなたは調べることができます。それに対し NSLocale では、LanguageCode は単なる文字列識別子です。ロケールの言語を使用して、2 つのロケールが同じ言語を使用しているかどうか、または 1 つの言語が別の言語の親であるかどうかを比較できます。


以下の例では、中国語の識別子 zh-CN から Locale を作成します。次に、このロケールの Language にアクセスして言語の script を取得し、USEnglish (米国英語) ロケールを使用してスクリプトを説明するローカライズされた文字列 "Simplified Han" を取得します。繁体字中国語のロケール zh-Hant-CN では、スクリプトは Traditional Han になります。


  1. let zhCN = Locale(identifier: "zh-CN")
  2. if let script = zhCN.language.script {
  3. let enUS = Locale(identifier: "en-US")
  4. let localizedScript = enUS.localizedString(forScript: script) // "Simplified Han"
  5. }

コンポーネントからカスタムロケールを作成


カスタマイズされた Locale.Components から Locale インスタンスを作成することにより、カスタム ロケールを作成できます。ロケールの特定の側面を微調整したい場合にこれを行います。以下の例では、イギリス英語 (言語地域 GB) の言語規則を使用するロケールを作成しますが、通貨や測定単位などについては米国 (US) の規則を使用します。


  1. var components = Locale.Components(languageCode: "en", languageRegion: "GB")
  2. components.region = Locale.Region("US")
  3. let en_GB_US = Locale(components: components)

このようなカスタムロケールを作成することは、アプリでは必ずしも一般的ではありませんが、アプリのローカリゼーションの単体テストに役立ちます。





トピックス


識別子によるロケールの作成


init(identifier: String)

指定された識別子を持つロケールを作成します。


コンポーネントによるロケールの作成


init(components: Locale.Components)

与えられたコンポーネントからロケールを作成します。


struct Locale.Components

特定のオーバーライドを使用してロケールを作成するときに使用する、ロケールのコンポーネントを表す型。


init(languageCode: Locale.LanguageCode?, script: Locale.Script?, languageRegion: Locale.Region?)

指定された言語コード、スクリプト、および地域識別子を持つロケールを作成します。


init(languageComponents: Locale.Language.Components)

与えられた言語コンポーネントからロケールを作成します。


struct Locale.Language.Components

さまざまなコンポーネントによって言語を識別する型。



ユーザのロケールの取得


static var autoupdatingCurrent: Locale

ユーザの現在の設定を追跡するロケール。


static var current: Locale

プロパティが読み取られた時点でのユーザの地域設定を表すロケール。



既知の ID とコードを取得


static var availableIdentifiers: [String]

利用可能な識別子のリスト。


static var isoRegionCodes: [String]

利用可能な地域コードのリスト。

  廃止  


static var isoLanguageCodes: [String]

利用可能な言語コードのリスト。

  廃止  


static var isoCurrencyCodes: [String]

利用可能な通貨コードのリスト。

  廃止  


static var commonISOCurrencyCodes: [String]

一般的な通貨コードのリスト。



ID 同士間の変換


static func canonicalIdentifier(from: String) -> String

与えられた文字列から正規の識別子を返します。

  廃止  


static func components(fromIdentifier: String) -> [String : String]

識別子をその構成要素に分割する辞書を返します。

  廃止  


static func identifier(fromComponents: [String : String]) -> String

コンポーネントの辞書から識別子を構築します。


static func identifier(Locale.IdentifierType, from: String) -> String

指定された文字列に対して指定された標準に準拠する識別子を返します。


enum Locale.IdentifierType

ロケールの識別子を定義する標準を示す型。


static func canonicalLanguageIdentifier(from: String) -> String

与えられた文字列から正規の言語識別子を返します。


static func identifier(fromWindowsLocaleCode: Int) -> String?

与えられた Windows ロケールコードからロケール識別子を返します。変換できなかった場合は nil を返します。


static func windowsLocaleCode(fromIdentifier: String) -> Int?

与えられた識別子から Windows ロケールコードを返します。変換できなかった場合は nil を返します。



ロケールコンポーネントの取得


struct Locale.Components

特定のオーバーライドを使用してロケールを作成するときに使用する、ロケールのコンポーネントを表す型。



言語コンポーネントの取得


var language: Locale.Language

ロケールの言語。


struct Locale.Language

ロケールで使用される言語を表す型。



日付と時刻のコンポーネントの取得


var firstDayOfWeek: Locale.Weekday?

このロケールで表される週の最初の曜日。


enum Locale.Weekday

曜日を表す型で、ロケールの週の最初の曜日を示すために使用されます。


var hourCycle: Locale.HourCycle?

ロケールで使用される時間サイクル (1 から 12 または 0 から 23 など)。


enum Locale.HourCycle

1 から 12 または 0 から 23 など、ロケールで使用される時間サイクルを表す型。


var timeZone: TimeZone?

もしあれば、ロケールに関連するタイムゾーン。



測定と数え方のコンポーネントを指定


var currency: Locale.Currency?

ロケールで使用される通貨。


struct Locale.Currency

ドルやユーロなど、ロケールで使用される通貨システムを表す型。


var measurementSystem: Locale.MeasurementSystem

メートル法や米国のシステムなど、ロケールで使用される測定システム。


struct Locale.MeasurementSystem

メートル法や米国のシステムなど、ロケールで使用される測定システムを表す型。


var numberingSystem: Locale.NumberingSystem?

ロケールで使用される数え方のシステム。


var availableNumberingSystems: [Locale.NumberingSystem]

ロケールの有効な数え方のシステムをすべて含む配列。


struct Locale.NumberingSystem

ロケールで使用される数え方のシステムを表す型。



地域コンポーネントを取得


var region: Locale.Region?

ロケールで使用される地域。


struct Locale.Region

ロケールまたは言語を指定するために使用する、地理的領域を表す型。


var subdivision: Locale.Subdivision?

このロケールで使用される地域の optional の区分。


struct Locale.Subdivision

米国の state (州) やカナダの province (州) など、地域の区分を表す型。


var variant: Locale.Variant?

ロケールによって使用される optional のバリアント。


struct Locale.Variant

ロケールの言語バリアントを表す型。



順序付けコンポーネントの取得


var collation: Locale.Collation?

ロケールの文字列の並べ方順序。


struct Locale.Collation

ロケールで使用される文字列の並べ方順序を表す型。



ロケールに関する情報を取得


var identifier: String

ロケールの識別子。


func identifier(Locale.IdentifierType) -> String

指定された標準形式でロケール識別子を返します。


enum Locale.IdentifierType

ロケールの識別子を定義する標準を示す型。


var calendar: Calendar

ロケールのカレンダー、またはフォールバックとしてのグレゴリオ暦。


var regionCode: String?

ロケールの地域コード。地域コードがない場合は nil になります。

  廃止  


var languageCode: String?

ロケールの言語コード。言語コードがない場合は nil になります。

  廃止  


var scriptCode: String?

ロケールのスクリプトコード。スクリプトコードがない場合は nil になります。

  廃止  


var variantCode: String?

ロケールのバリアントコード。バリアントコードがない場合は nil になります。

  廃止  


var exemplarCharacterSet: CharacterSet?

ロケールの典型的な文字セット。存在しない場合は nil になります。


var collationIdentifier: String?

ロケールの照合識別子。照合識別子がない場合は nil になります。

  廃止  


var collatorIdentifier: String?

ロケールの照合機 (collator) 識別子。


var usesMetricSystem: Bool

ロケールがメートル法を使用している場合に true となるブール値。

  廃止  


var decimalSeparator: String?

ロケールの小数点区切り文字。


var groupingSeparator: String?

ロケールのグループ化区切り文字。


var currencyCode: String?

ロケールの通貨コード。

  廃止  


var currencySymbol: String?

ロケールの通貨記号。


var quotationBeginDelimiter: String?

ロケールの引用符開始区切り文字。


var quotationEndDelimiter: String?

ロケールの引用符終了区切り文字。


var alternateQuotationBeginDelimiter: String?

ロケールの代替引用符開始区切り文字。


var alternateQuotationEndDelimiter: String?

ロケールの代替引用符終了区切り文字。



ロケールに関する表示情報の取得


func localizedString(for: Calendar.Identifier) -> String?

指定されたカレンダーのローカライズされた文字列を返します。


func localizedString(forCollationIdentifier: String) -> String?

指定された ICU 照合識別子のローカライズされた文字列を返します。


func localizedString(forCollatorIdentifier: String) -> String?

指定された ICU 照合機識別子のローカライズされた文字列を返します。


func localizedString(forCurrencyCode: String) -> String?

指定された ISO 4217 通貨コードのローカライズされた文字列を返します。


func localizedString(forIdentifier: String) -> String?

指定されたロケール識別子のローカライズされた文字列を返します。


func localizedString(forLanguageCode: String) -> String?

指定された言語コードのローカライズされた文字列を返します。


func localizedString(forRegionCode: String) -> String?

指定された地域コードのローカライズされた文字列を返します。


func localizedString(forScriptCode: String) -> String?

指定されたスクリプトコードのローカライズされた文字列を返します。


func localizedString(forVariantCode: String) -> String?

指定されたバリアントコードのローカライズされた文字列を返します。



ユーザの優先言語の取得


static var preferredLanguages: [String]

ユーザの優先言語のリスト。



言語の行と文字の方向の取得


static func characterDirection(forLanguage: String) -> Locale.LanguageDirection

指定された言語コードの文字方向を返します。

  廃止  


static func lineDirection(forLanguage: String) -> Locale.LanguageDirection

指定された言語コードの行方向を返します。

  廃止  


typealias Locale.LanguageDirection

言語方向の標準セットのエイリアス。


enum NSLocale.LanguageDirection

テキストのページ全体にわたって言語がとる方向。



ロケールの比較


static func == (Locale, Locale) -> Bool

2 つの値が等しいかどうかを示すブール値を返します。


static func != (Locale, Locale) -> Bool

2 つの値が等しくないかどうかを示すブール値を返します。



ロケールの説明


var description: String

ロケールのテキストによる説明。


var debugDescription: String

デバッグに適したロケールのテキストによる説明。


var customMirror: Mirror

そのロケールを映し出す鏡。


var hashValue: Int

ロケールの計算されたハッシュ値。



コード化と復号化


init(from: any Decoder)

与えられた復号器から復号して新しいインスタンスを作成します。


func encode(to: any Encoder)

この値を与えられたエンコーダにコード化します。



ハッシュ化


func hash(into: inout Hasher)

この値の不可欠なコンポーネントを与えられたハッシャーに入力してハッシュします。



参照型の使用


class NSLocale

Locale に橋渡しする言語、文化、技術の慣習に関する情報を表すオブジェクト。参照の意味やその他の Foundation 固有の動作が必要な場合は NSLocale を使用します。


typealias Locale.ReferenceType

この値型と同等の参照型のエイリアス。





関連


以下に準拠


CustomDebugStringConvertible

CustomReflectable

CustomStringConvertible

Decodable

Encodable

Hashable

ReferenceConvertible

Sendable














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ