しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Xcode26のローカライズについて調べてみる

Xcode26でローカライズ周りが改善したようなので調べてみました

今回はUIKitでの使い方について調べてみます
まずはString catalogファイルを作成します

テストで1つ値を追加します

追加した値は下のような形で呼び出す事ができます
この処理の対応OSは16以上になります

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let label = UILabel()
        label.text = String(localized: .test)
        label.sizeToFit()
        label.center = view.center
        view.addSubview(label)
    }
}

次は値を埋め込む形式も試してみます
String catalogファイルでは下のように補完されるようになっていました

コードからは下のように呼び出す事ができます

label.text = String(localized: .test2(variableName: 32))

複数形の対応も今まで通り「vary by plural 」で行う事が可能です

SwiftUIでも下のような形で翻訳ファイルを呼ぶことができます
Xcodeが自動的にString catalogに追加した文字は呼べないので注意が必要です

Text(.test)