私はこの解決策になってしまった:私はUITextView-オブジェクトにアクセスし、使用するStoryboard.stringsからローカライズされたテキストを強制することができるのUIViewControllerで
。
func fixTextViewStoryboardLocalization() {
guard storyboard != nil else {
return // No need to fix it if storyboard is not presented
}
let storyboardName = storyboard!.value(forKey: "name") as! String
for case let textView as UITextView in view.subviews {
if let ident = textView.restorationIdentifier {
textView.text = NSLocalizedString("\(ident).text", tableName: storyboardName, bundle: Bundle.main, value: "", comment: "")
}
}
}
のviewDidLoadでこの関数を呼び出し、カスタムMyViewControllerを(あなたが好きな名前選択)を作成します。
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
fixTextViewStoryboardLocalization()
}
}
は、ストーリーボード・ビュー・コントローラは、クラスMyViewControllerからであることを確認してください:で MyViewController custom class in Storyboard
を上記のコードを実行するには、ストーリーボードの各UITextViewの復元IDを設定する必要があります。 UITextView Restoration ID
最終段階 - Storyboard.stringsでテキストビューをローカライズ:これはすべて私の絵コンテですべての私のUITextViewsのために働く
/* Class = "UITextView"; text = "Base text"; ObjectID = "MyTextView-Restoration-ID"; */
"MyTextView-Restoration-ID.text" = "Localized text comes here";
。
私はストーリーボードで私のローカリゼーションをしたいと思っています。あなたのソリューションでは、ローカライゼーションの一部をLocalizable.stringsに保存する必要があります。 – user2552888