インスタンスメソッド


localizedString(forKey:value:table:)


指定されたキーで指名され、指定された表に存在する文字列のローカライズされたバージョンを返します。


iOS 2.0+ iPadOS 2.0+ Mac Catalyst 13.0+ macOS 10.0+ tvOS 9.0

visionOS 1.0+ watchOS 2.0+

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




パラメータ


key

tableName で識別される表内の文字列のキー。


value

keynil の場合、または key のローカライズされた文字列が表内に見つからない場合に返される値。


tableName

検索すべき受信者の文字列の表。tableNamenil または空の文字列の場合、メソッドは Localizable.strings 内の表を使用しようとします。



戻り値


tableName 内の key で指名された文字列のローカライズされたバージョン。krynil であるか、表内に見つからない場合、このメソッドは以下を返します。


  • keynilvaluenil の場合は、空の文字列を返します。

  • keynilvaluenil 以外の場合は、値を返します。

  • key が見つからず、valuenil または空の文字列の場合は、key を返します。

  • key が見つからず、valuenil 以外で空でない場合は、value を返します。


  • 議論


    文字列のローカライズと .strings ファイルの仕様の詳細については、文字列リソース ("String Resources”) を参照してください。


    ユーザのデフォルトの NSShowNonLocalizedStrings を使用すると、localizedString(forKey:value:table:) (リンク切れ) の動作を変更して、メソッドがローカライズされた文字列を見つけられない場合にメッセージをログに記録できます。このデフォルトを true に設定すると (グローバルドメインまたはアプリケーションのドメインで)、メソッドが表内でローカライズされた文字列を見つけられない場合、コンソールにメッセージがログに記録され、key が大文字になってから返されます。


    以下の例では、ボタンがクリックされたときにキーの静的配列を循環させ、Buttons.strings という名前の文字列の表から各キーの値を取得し、返された値でボタンのタイトルを設定します。


    1. - (void)changeTitle:(id)sender
    2. {
    3. static int keyIndex = 0;
    4. NSBundle *thisBundle = [NSBundle bundleForClass:[self class]];
    5. NSString *locString = [thisBundle
    6. localizedStringForKey:assortedKeys[keyIndex++]
    7. value:@"No translation" table:@"Buttons"];
    8. [sender setTitle:locString];
    9. if (keyIndex == MAXSTRINGS) keyIndex=0;
    10. }




    以下も見よ


    関連した文書


    class func path(forResource: String?, ofType: String?, inDirectory: String) -> String?

    指定された名前と拡張子で識別され、与えられたバンドルのディレクトリに存在するリソースファイルの完全なパス名を返します。


    class func paths(forResourcesOfType: String?, inDirectory: String) -> [String]

    指定された拡張子を持ち、指定されたパスにあるバンドルのディレクトリに存在するすべてのバンドルリソースのパス名を含む配列を返します。



    func paths(forResourcesOfType: String?, inDirectory: String?) -> [String]

    指定されたファイル名拡張子を持ち、リソースのサブディレクトリに存在するすべてのバンドルリソースのパス名を含む配列を返します。


    func path(forResource: String?, ofType: String?, inDirectory: String?) -> String?

    指定された名前とファイル拡張子で識別され、指定されたバンドルのサブディレクトリにあるリソースの完全なパス名を返します。


    func path(forResource: String?, ofType: String?) -> String?

    指定された名前とファイル拡張子によって識別されるリソースの完全なパス名を返します。















    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ