创建什么样的应用程序将一个iOS应用程序翻译成其他语言版本,需要分为两步。***,我们需要为应用程序的所有用户准备不同的文本、图像和其他需要翻译的代码和故事板内容。此步骤称为国际化(I18N)。完成应用的国际化调整后,大家就可以进行应用的本地化了。在这里,我们要导出资产并将其发送给翻译人员。翻译资源后,我们将它们重新导入Xcode,应用程序就可以支持其他自然语言了。1.设置我们将使用一个简单的示例应用程序来感受整个本地化过程。要创建新的Xcode项目,您需要从SingleViewApplication获取模板并将新项目命名为LocalizationExample。接下来,我们需要创建一个简单的用户界面,以便我们可以直接看到本地化的效果。向Main.storyboard添加标签和图像视图。将标签的文本内容更改为“Hello,World!”。您可以点击这里下载图片资源,然后将en/logo.png添加到您自己的Xcode工程中(请确保Copyitemsifneeded项被勾选正确),并将Image字段更改为logo.png为Itis显示在图像视图中。除此之外,我们还需要确保为两种类型的UI元素添加CenterHorizo??ntallyinContainer布局规则。您还需要知道如何本地化应用程序中的硬编码字符串,因此接下来我们将控制台消息添加到AppDelegate.m。将以下日志语句添加到applicationDidFinishLaunching:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{NSLog(@"Hello,World!");返回是;本地化处理是图像、标签和硬编码字符串。请注意,开发本地化应用程序与创建普通的非本地化应用程序非常相似。您可以配置视图和定义自定义操作,而无需过多考虑本地化机制。在底层功能正常运行之前,大部分本地化业务都不会提上日程。2.国际化既然我们有了一个可以试验的基础应用程序,下一步就是将其国际化。在这里,我们将资源从本地化的整体代码中分离出来。Xcode提供了多项国际化处理功能,将帮助您更轻松地实现应用程序结果的本地化调整。第1步:准备故事板首先,我们需要了解如何将应用程序的用户界面国际化。第一步是告诉Xcode我们要支持哪个地区或地理位置。单击项目导航器中的LocalizationsExample项目,然后选择弹出列表左上角的蓝色项目图标。在“本地化”选项中,您可以为应用程序添加一个位置。对于此示例,我们会将示例项目翻译成西班牙语,因此单击加号并选择Spanish(es)。这时,系统会打开一个对话窗口,询问你想用已有的资源做什么。确保在Main.storyboard和LaunchScreen.xib中选择LocalizableStrings项,如下所示。单击“完成”继续下一步。此时我们会在Main.storyboard下发现两个新项目,一个是basestoryboard,另一个是Main.strings文件。前者是我们实际的故事板文件,后者是包含所有面向用户的故事板文本的字符串文件。这个字符串文件就是最后需要翻译的。Main.storyboard文件现已国际化并准备好进行本地化调整。第2步:准备硬编码字符串面向用户的字符串以硬编码形式存在于Objective-C/Swift类中,我们需要对它们进行特殊处理。例如,如果您需要以编程方式在故事板中设置UI元素,则此步骤是必需的。幸运的是,硬编码字符串的国际化只需要一个非常简单的过程。我们所要做的就是把它放在一个NSLocalizedString宏中,像这样:");NSLog(@"%@",greeting);returnYES;}第一个参数是我们要查找的字符串的键,第二个(可选)参数是将包含在导出字符串文件中的注释。您可以使用抽象的扁平键(例如@"greeting"),但我发现如果将需要翻译的实际字符用作键,代码内容将变得更具可读性。在下一节中,任何对NSLocalizedString的调用都将自动从我们的代码中提取出来,并添加到要翻译的字符串列表中。3.本地化应用程序的国际化完成后,我们就完成了资源本地化的所有前期准备工作。本地化是一个相当简单的工作,我们只需要导出所有需要翻译的字符串,将内容交给翻译人员,最后将翻译结果导入到项目中即可。我们可以在应用程序开发过程中随时执行此导出/翻译/导入过程,但通常最好的做法是先完成用户界面的主体,然后再开始本地化过程。第一步:导出字符串Xcode允许我们轻松地将所有国际化的字符串导出为单一的XML本地化交换文件格式(XMLLocalizationInterchangeFileFormat,后缀.xliff)文件,这也是业界使用的标准本地化文件格式。要生成这个文件,我们需要在ProjectNavigator中选择LocalizationExample,然后在Xcode菜单中点击Editor>ExportForLocalization...,***选择一个Xcode项目外的文件路径——这是为了避免与现有文件冲突混乱出现了。单击保存将创建一个包含es.xliff文件的新文件夹。打开后,你会发现里面包含了大量的XML内容,涉及到应用程序中需要本地化的所有字符串。这是我们需要发送给翻译人员的文件。他们会使用专门的工具来编辑这个XML,但在我们的例子中,直接编辑相关内容即可。打开es.xliff文件并搜索文本“Hello,World!”。此时,您应该找到两个单独的
