1. ホーム
  2. アイオス

[解決済み】SwiftでNSLocalizedStringに相当するものは何ですか?

2022-04-04 12:37:43

質問

のSwiftに相当するものはありますか? NSLocalizedString(...) ? で Objective-C は、通常使用します。

NSString *string = NSLocalizedString(@"key", @"comment");

Swiftで同じことを実現するにはどうしたらいいでしょうか?私はある関数を見つけました。

func NSLocalizedString(
    key: String,
    tableName: String? = default,
    bundle: NSBundle = default,
    value: String = default,
    #comment: String) -> String

しかし、非常に長いので、まったく便利ではありません。

解決方法は?

その NSLocalizedString は、Swiftの世界にも存在します。

func NSLocalizedString(
    key: String,
    tableName: String? = default,
    bundle: NSBundle = default,
    value: String = default,
    #comment: String) -> String

tableName , bundle および value パラメータには default キーワードは、関数を呼び出す際にこれらのパラメータを省略できることを意味します。この場合、これらのパラメータのデフォルト値が使用されます。

このことから、メソッドの呼び出しは、次のように簡略化できるという結論に達します。

NSLocalizedString("key", comment: "comment")

スウィフト5 - は、特に変更なく、このまま動作しています。