Instance Method インスタンスメソッド

localizedString(forKey:value:table:)

Returns a localized version of the string designated by the specified key and residing in the specified table. 指定されたキーによって指名された、そして指定されたテーブルに属している、文字列のローカライズされたバージョンを返します。

Declaration 宣言

func localizedString(forKey key: String, 
               value: String?, 
               table tableName: String?) -> String

Parameters パラメータ

key

The key for a string in the table identified by tableName. tableNameによって識別されるテーブルの中のある文字列に対するキー。

value

The value to return if key is nil or if a localized string for key can’t be found in the table. keynilならばまたはkeyに対するローカライズされた文字列がそのテーブルにおいて見つけられなかったならば返す値。

tableName

The receiver’s string table to search. If tableName is nil or is an empty string, the method attempts to use the table in Localizable.strings. 検索することになる、レシーバの持つ文字列テーブル。tableNamenilまたは空の文字列ならば、メソッドはLocalizable.stringsの中のテーブルを使うことを試みます。

Return Value 戻り値

A localized version of the string designated by key in table tableName. This method returns the following when key is nil or not found in table: keyによって指定される、テーブルtableNameの中の文字列のローカライズされたバージョン。このメソッドは、キーがnilまたはテーブルにおいて見つけられない場合は次のものを返します:

  • If key is nil and value is nil, returns an empty string. keynilでありvaluenilであるならば、空の文字列を返します。

  • If key is nil and value is non-nil, returns value. keynilでありvalueが非nilであるならば、valueを返します。

  • If key is not found and value is nil or an empty string, returns key. keyが見つけられないそしてvaluenilまたは空の文字列であるならば、keyを返します。

  • If key is not found and value is non-nil and not empty, return value. keyが見つけられないそしてvalueが非nilであり空でないならば、valueを返します。

Discussion 議論

For more details about string localization and the specification of a .strings file, see “String Resources.” 文字列ローカライゼーションについての詳細及び.stringsファイルの仕様の詳細として、“String Resources” を見てください。

Using the user default NSShowNonLocalizedStrings, you can alter the behavior of localizedString(forKey:value:table:) to log a message when the method can’t find a localized string. If you set this default to true (in the global domain or in the application’s domain), then when the method can’t find a localized string in the table, it logs a message to the console and capitalizes key before returning it. ユーザ初期設定のNSShowNonLocalizedStringsを使って、あなたはlocalizedString(forKey:value:table:)の挙動を改めて、メソッドがローカライズされた文字列を見つけられない場合にメッセージを記録できます。あなたがこの初期設定をtrueに設定する(グローバルドメインにおいてまたはアプリケーションの持つドメインにおいて)ならば、そのときメソッドがローカライズされた文字列をテーブルにおいて見つけられない場合、それはメッセージをコンソールに記録して、keyをそれを返す前にキャピタライズします。

The following example cycles through a static array of keys when a button is clicked, gets the value for each key from a strings table named Buttons.strings, and sets the button title with the returned value: 次の例は、ボタンがクリックされる時いくつかのキーからなる静的配列を端から端まで循環して、各キーに対する値をButtons.stringsと命名される文字列テーブルから取得して、そしてボタンのタイトルをその返される値で設定します:


- (void)changeTitle:(id)sender
{
    static int keyIndex = 0;
    NSBundle *thisBundle = [NSBundle bundleForClass:[self class]];
 
    NSString *locString = [thisBundle
        localizedStringForKey:assortedKeys[keyIndex++]
        value:@"No translation" table:@"Buttons"];
    [sender setTitle:locString];
    if (keyIndex == MAXSTRINGS) keyIndex=0;
}

See Also 参照

Related Documentation 関連文書