在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上与我联系。

如果您有任何评论,问题或建议,请随时在下面的评论部分中发布它们!