所以我在故事板中有一个带有不同按钮,标签和一些文本视图的应用程序,我直接在故事板中输入文本.我启用了基本本地化并添加了几种语言. 这为Base(英语)和其他语言生成了故事板,其中
这为Base(英语)和其他语言生成了故事板,其中包含项目对象ID列表.
我翻译了所有内容,标签和按钮(ALL OF THEM)工作并以我设置的语言显示.
然而,无论我设置哪种语言,文本字段都会显示初始英文文本…
Text View是否还有其他步骤?
资料来源:Devforums.apple
引用:
as I understand it, strings such as the text property of a text view/field have to be set in code using NSLocalizedString. The first 1/2 hour of WWDC 2013 video session #219 Making Your App World Ready covers this if you have the time to watch it
因此,似乎解决方法(如果您不想以编程方式设置文本)是在发布应用程序之前将字符串文件转换为故事板.这似乎按预期工作,并显示UITextView正确本地化.
编辑:找到另一种允许保留.strings文件的解决方法.
在 – (void)viewDidLoad:
for(UIView* v in self.view.subviews) { if([v isKindOfClass:[UITextView class]]) { UITextView* txv = (UITextView*)v; NSString *loctxt = [txv.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; txv.text = NSLocalizedString(loctxt, @""); } }
这会从故事板中的任何内容生成Percent Escapes编码的字符串,如下所示:
Hello%20World
在Localizable.strings文件中,使用上面的键作为键,这将在运行时为应用的语言环境在应用程序中生成本地化文本,如下所示:
"Hello%20World" = "Hallo Welt";
Percent转义会处理基本字符串中的所有转义字符.