Tag: L10n

快速指南:iOS国际化(i18n)和本地化(l10n)

您是否在开发iOS应用程序,但不知道如何国际化和本地化iOS应用程序? 如果答案是肯定的,那么您来对地方了。 在本文中,我们将介绍如何使用Swift在iOS应用程序中设置国际化(i18n)和本地化(l10n)。 苹果的移动操作系统iOS在过去几年中经历了非凡的全球增长,以至于苹果表示,现在有150多个国家/地区可以使用iOS App Store,并且iOS设备支持40多种语言。 国际化(i18n)是使您的应用适应不同语言和文化的过程。 另一方面,iOS中的本地化(l10n)是将您的应用翻译成针对特定语言环境的多种不同语言的过程。 注意»通常,开发人员(尤其是iOS开发人员)可以互换使用这两个术语(国际化和本地化),但实际上,两者是不同但相互联系的概念。 因此,我们将这篇基于教程的文章分为两个小节: iOS中的国际化 iOS中的本地化 你知道吗? »国际化和本地化通常分别缩写为i18n和l10n。 i18n中的18表示国际化的“ i”和“ n”之间的字符数,而10n中的10表示本地化的“ l”和“ n”之间的字符数。 花哨的东西,不是吗? 在深入讨论上述小节之前,让我们首先了解一些必需的步骤。 初赛 在本节中,我们将熟悉在iOS应用程序中执行i18n和l10n所需的步骤。 工具 您将需要以下工具: Xcode(最新版本)。 现在,我正在使用Xcode 9。 编程语言(iOS) 我们将使用以下语言进行编程: 迅速 决定 在实际进行国际化和本地化之前,您需要首先确定要定位的区域(地区)以及这些区域使用的语言。 初步步骤对于定位您的受众群体至关重要。 在本文中,我将使用英语作为基本语言,使用法语,中文(繁体)和德语作为其他本地化语言。 您可以根据需要和目标受众在应用程序中添加任意数量的语言。 添加其他语言的步骤将完全相同。 要知道的术语»地区或国家被称为地区,尤其是当我们处理国际化和本地化时。 无论您在何处找到“区域设置”,都仅表示某个国家或地区。 书呆子术语,不是吗? 既然我们已经讨论了这些基础知识,那么现在该深入了解前面提到的小节了。 iOS中的国际化(i18n) 正如我之前提到的,i18n是使您的应用适应不同语言环境的过程。 从iOS开发人员的角度来看,这是使字符串在外部可编辑的过程-无论是在情节提要中还是在代码中。 此外,为了根据各自​​的区域设置日期,数字等,您必须使用不同的内置类。 例如,我们可以使用“格式”类根据区域设置日期格式,根据首选语言设置数字格式等等。 现在,我们将使用简单的设置来适应国际化过程。 建议»在完成应用程序的设计和编码部分后,请务必执行国际化和本地化步骤。 为什么? 因为Xcode会通过在可本地化的文件中自动添加字符串来节省您的大部分时间。 如果在编写应用程序代码之前执行这些步骤,则必须手动将所有字符串添加到其指定文件中(用于本地化)。 最重要的是,您应该在最后完成国际化的所有步骤。 您(iOS开发人员)需要执行以下步骤才能国际化您的应用程序: 为i18n设置项目 创建新项目或拥有要国际化的现有应用程序后,请确保在Xcode的项目信息设置(如下所示)中选中了名为“ […]

Xcode快速提示–测试布局以进行本地化

Zendesk支持应用程序支持多种语言,这意味着我们在应用程序中显示的字符串会根据设备语言集而改变。 最近,当设备语言从默认语言(英语)更改时,我们遇到了UI组件定位错误的问题。 这在荷兰文中显示如下。 由于一些不确定的自动布局约束,包含字符串的UILabel随着字符串长度的增加而增大,从而导致下一个UI元素UISwitch被推到包含视图的边界之外。 在调查并解决此错误时,我们需要重复再现该问题。 我们没有改变繁琐的设备语言,而是偶然发现了一种称为伪本地化的测试方法。 伪本地化是一种用于测试国际化的测试方法,其中涉及用更改后的版本替换默认语言字符串。 例如,我们可以将“登录”替换为“登录登录,登录登录”。 然后,我们在Xcode方案编辑器中发现了一个非常有用的选项,该选项使我们能够使用伪本地化来测试布局,如下所示。 使用此设置,应用中的所有字符串都将被伪翻译所取代,该伪翻译由重复两次的原始字符串组成。 下面显示的是在启用此设置的情况下运行的应用程序,这导致默认字符串被伪翻译替换。 使用伪本地化Xcode方案设置,我们能够快速重现报告的问题并实施修复! 🎉我们的更新后的用户界面如下所示。 综上所述 伪本地化是一种用于测试国际化的测试方法,其中涉及用更改后的版本替换默认语言字符串。 Xcode包含一个方案设置,该设置使我们可以使用伪本地化来测试UI布局。 伪本地化应该是正常功能开发的一部分。 而已! 📱🚀👍🏽 也可以在petethedeveloper.com上获得