gpt4 book ai didi

ios - Storyboard中 UITextView 的本地化

转载 作者:可可西里 更新时间:2023-11-01 17:08:02 25 4
gpt4 key购买 nike

所以我在 Storyboard中有一个包含不同按钮、标签和一些 TextView 的应用程序,我直接在 Storyboard中输入了文本。我启用了基本本地化并添加了几种语言。

这为基本语言(英语)和其他语言生成了 Storyboard,其中包含项目 objectID 列表。我翻译了所有内容,标签和按钮(所有这些)都以我为设备设置的语言工作和显示。

然而,无论我设置哪种语言,文本字段都会显示初始英文文本... TextView 是否涉及任何额外的步骤?

最佳答案

所以,我做了一些研究,似乎为了使其正常工作,需要以编程方式设置 UITextView 的文本。

来源: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

因此,解决方法(如果您不想以编程方式设置文本)似乎是在发布应用程序之前将字符串文件转换为 Storyboard。这似乎确实按预期工作并显示了正确本地化的 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, @"");
}
}

这会从 Storyboard中的任何内容生成一个 Percent Escapes 编码字符串,如下所示:

Hello%20World

在您的 Localizable.strings 文件中,您使用上面的作为键,这将在运行时为所选语言环境在应用程序中生成本地化文本,如下所示:

"Hello%20World" = "Hallo Welt";

百分比转义处理基本字符串中的所有转义字符。

关于ios - Storyboard中 UITextView 的本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20038048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com