Ios 可本地化管柱套管的最佳实践

Ios 可本地化管柱套管的最佳实践,ios,localization,Ios,Localization,由于我正在本地化我的应用程序,我发现了许多重复的外壳 例如,我想使用“完成”和“完成”。我应该翻译两个独立的键值,还是应该使用“Done”和小写 有些语言是否有大写的不同单词 使用一个键而不是两个键的优点/缺点是什么。根据您的评论,您想知道您希望翻译的目标语言是否包含 大写字母是一个改变其含义的单词(有时也会改变) (发音)当它大写时 如果不了解你的具体情况,这是不可能回答的 但是,假设您可以对目标语言执行检查,并确认您不会受到影响,那么我建议您在单词中使用单一样式。这对您有以下几方面的好处:

由于我正在本地化我的应用程序,我发现了许多重复的外壳

例如,我想使用“完成”和“完成”。我应该翻译两个独立的键值,还是应该使用“Done”和小写

有些语言是否有大写的不同单词


使用一个键而不是两个键的优点/缺点是什么。

根据您的评论,您想知道您希望翻译的目标语言是否包含

大写字母是一个改变其含义的单词(有时也会改变) (发音)当它大写时

如果不了解你的具体情况,这是不可能回答的

但是,假设您可以对目标语言执行检查,并确认您不会受到影响,那么我建议您在单词中使用单一样式。这对您有以下几方面的好处:

  • 如果你为你的翻译付费,那么你可以节省$
  • 通过消除重复,您可以降低翻译冲突的风险(一些翻译公司可能会将单词分散到不同的人身上)
  • 你可以将这个词与它在你的应用程序中的显示方式分离开来,这样你就可以在以后需要的时候或将来的其他应用程序中自由地调整大小写

一般来说,你不应该孤立地考虑单个单词的本地化。您应该考虑将UI元素本地化,并将意图本地化。因此,与“完成”不同,您的意思是“用户按下按钮表示他们已完成的标签”。这可能与“表示任务已完成的标签”不同。它们的大写字母可能不同,但可能是完全不同的单词,也可能是完全不同的变位/变位/性别,具体取决于语法

这就是为什么
NSLocalizedString
的注释字段如此关键。如果它是空的,或者只是重复该键,那么很可能是错误地接近本地化

就像最基本的例子一样,考虑让译者翻译“火”这个词。在英语中,我们在“咆哮的火”和“开火”中使用同一个词。没有上下文,你无法翻译这个词;通过上下文,您可以指出是否希望在适当的情况下将其大写

尽管如此,有时两个不同的UI元素的含义完全相同,为了避免混淆,您绝对希望对它们使用相同的翻译,但有一种情况下,出于美学原因,您希望使用不同的大写形式。在这种情况下,您应该翻译方便的版本(通常是小写版本),然后使用
localizedCapitalized
localizedUppercase
对其进行调整。我经常用它来制作纽扣和帽子

但你是对的,有时大写一个词会改变它的意思,这又回到了评论你的本地化短语,这样译者就知道该使用哪种拼写。如果你的意思和上下文不完全相同,你可能需要两个键


对于你潜在的问题,英语中的单词根据其大写形式的不同有不同的含义(参见CodeBender的链接),但其他语言也有非常不同的规则。德语大写所有名词,但英语大写的某些形容词不大写。(比较“美国汽车”和“美国汽车”)。俄语的大小写规则与英语的大不相同(俄语大写,但俄语不大写,是)。俄语通常只大写某些短语中的第一个字母,而英语会大写每个单词(例如书名)。所以…这很复杂。要让母语人士感觉自然,通常需要一位知道自己在翻译什么的翻译人员。

IMO(这就是这个问题所要寻找的),你如何处理这一问题取决于你希望支持的语言。一个简单的例子是去谷歌翻译,把“完成”和“完成”放在俄语中。使用“完成”表示完成,而“完成”表示完成。我不会说俄语,所以我不知道这是否正确,但不同语言之间存在着独特翻译的潜力。另一方面,其他语言没有大写的概念,也不会受到影响。是的,我认为真正的问题是。。有些语言是否有大写的不同单词?如果不是的话,使用一个键而不是两个键的优缺点是什么。用“火”来比喻两个不同的意思有助于我更清楚地理解。我现在将使用UI元素作为键。谢谢。我会考虑不把它绑定到UI元素上。而不是上下文。原因是您可能有两个不同的UI元素,它们需要根据上下文完全相同的单词/句子。那么这是否意味着您要重复使用UI上下文键?或者为不同的UI元素创建一个新的?如果选择此选项,则可能希望将UI元素键视为实际键的别名。FWIW,我致力于高度本地化的产品,并为其构建了基础设施。因此,我的评论是基于对错误的严厉打击。