在xcode中查找非本地化的字符串
我不会在本文中解释如何在iOS中进行本地化。
深入了解基础知识,我们可以通过两种方式对字符串进行本地化。
- 在代码中,使用
NSLocalizedString("someStringToLocalize", tableName: nil, bundle: Bundle.main, value: "", comment: "")
。 - 使用情节提要本地化。
通常在代码中添加NSLocalizedString(:
方法,然后忘记将其添加到Localizable.strings
文件中。此外,我们可能会对情节提要文件进行本地化,并稍后在UI中添加一个新标签,而您会忘记添加本地化的情节提要字符串文件。
为了跟踪这些愚蠢的错误,xcode 7及更高版本提供了一个选项。
在方案编辑器中,查看“选项”选项卡。 在以下屏幕截图中,我启用了“显示非本地化的字符串”。
显示非本地化字符串复选框需要选中,我们可以根据需要选择应用程序语言。 然后编译并运行该应用程序。
我添加了一个字符串作为标签的文本(CalculatorDisplay是一个UILabel):
CalculatorDisplay.text = NSLocalizedString(“某些本地化字符串”,注释:“”)
另外,在“Some localized string”
文件中未添加字符串“Some localized string”
。 在这种情况下,它将在调试器中引发错误。
情节提要中可本地化的字符串:
对于未在.strings(YOUR_LANGUAGE)
文件中添加的情节.strings(YOUR_LANGUAGE)
的可本地化字符串,调试器将引发以下错误:
让我们检查第一个错误:
- 复制
GsZ-Y5–7R1
在错误中提到并在整个项目中进行搜索。
它似乎是UIButton的对象ID,可本地化的文本是UIButtons标题。 单击搜索结果,它可能会在情节提要中突出显示该对象。
情节提要字符串文件通常如下所示:
哪里, GsZ-Y5–7R1
是UIButton的对象ID。 现在复制GsZ-Y5–7R1.normalTitle
并将其添加到字符串文件。
“ GsZ-Y5-7R1。 normalTitle" = "Localized title for button";
做完!!!!!
结论:
本文未介绍如何本地化字符串文件和本地化情节提要文件。 这个过程非常简单。 我计划在不久的将来撰写一篇有关本地化和国际化的文章。
希望您今天学到了新东西。
注意 :Fabrizio Bernasconi提到了一个网站,用于生成可本地化的字符串文件。 试一试。
从XCode项目生成Localizable.strings:
http://xcode.fabriziobernasconi.it
请享用!!
如果您喜欢阅读这篇文章,请分享并推荐它,以便其他人可以找到💚💚💚💚💚💚!!!!
您可以在Medium上关注我以获取新文章。 另外,在LinkedIn上与我联系。
如果您有任何评论,问题或建议,请随时在下面的评论部分中发布它们!