本地化您的应用程序以支持多种语言-iOS本地化

为什么我们需要支持多种语言? 因为并非所有iPhone和iPad用户都使用英语阅读或书写。 在此博客中,我将向您展示使用Xcode和iOS API本地化应用程序并使其以多种语言提供的功能是多么容易。

本地化是使您的应用程序支持多种语言的过程。 Xcode具有对本地化的内置支持。 有人认为本地化只是在进行翻译,这是正确的,但是本地化还包括其他元素,例如图像,声音等。此外,您还必须处理不同数值,日期和时间的显示格式。

在开始本地化工作之前,请确保您对应用程序进行国际化。

国际化是使您的应用适应不同语言,地区和文化的过程。 由于可以在世界的不同地方使用一种语言,因此您的应用应适应一个人居住的地区和文化习俗。

使用基础国际化-将面向用户的字符串与.storyboard.storyboard文件分开。

使用添加新的语言支持,在“项目信息”选项卡的“本地化”部分下单击“ + ”按钮。 然后选择您要支持的语言。

在这里,我们增加了俄罗斯的支持。

现在,您可以在.storyboard看到新语言

现在,我们必须导出在应用程序中用于翻译的文本。 为此,我们在编辑器菜单中有一个选项。

情节提要中使用的文本将自动导出。 对于控制器内部使用的文本,我们必须使用NSLocalizedString方法更改字符串。 一旦我们使用NSLocalizedString更改了字符串,Xcode就会自动为控制器内部使用的文本创建一个名为Localizable.strings的文件。

在导出本地化的结果中,我们将得到一个。 用于翻译的xliff (XML本地化交换文件格式)文件。 我们可以使用很多在线服务进行翻译和编辑。 xliff文件。 此外,我们还有用于xliff文件编辑的Mac应用程序。 例如: -Xliff编辑器

一旦您获得翻译。 来自转换器的xliff文件,您可以使用“编辑器”菜单中的“导入本地化”选项轻松导入到项目中。

此外,我们应该准备好代码以进行本地化。 首先,我们需要使用NSLocalizedString宏将面向用户的文本与代码分开。 在此示例中,我获得了警报标题,消息和按钮的本地化字符串。

 让localizedTitle = NSLocalizedString(“ Welcome”,评论:“”)let localizedContent = NSLocalizedString(“感谢您下载此应用程序”,评论:“”)let alert = UIAlertController(title:localizedTitle,消息:localizedContent,preferredStyle:.alert )alert.addAction(UIAlertAction(title:NSLocalizedString(“ Ok”,comment:“”),样式:.default,处理程序:nil))self.present(警报,动画:true,完成:nil) 

在开发期间和本地化之后,使用多种技术对您的应用程序进行本地化测试。

  • 在Interface Builder中,使用伪语言预览用户界面。
  • 使用不同的伪语言运行应用程序。

预览本地化

导入本地化之后,您可以使用界面生成器预览本地化

运行应用

您如何测试本地化字符串是否正确显示? 您当然可以手动切换模拟器或设备的语言,但是有一种更简单的方法。

单击工具栏中的活动方案,然后选择“编辑方案”

运行>选项>应用程序语言,选择要调试的语言

就这样!!!

在我的Github存储库上查看示例项目。

如有任何疑问,请在评论中让我知道。 如果您觉得有用,请拍手👏🏻以获取建议😊