本地化基本规则

时间:2009-11-06 04:04:37

标签: localization

我刚刚将我的第一个本地化应用程序提交到iPhone应用程序商店。我决定这样做是为了了解应用程序本地化,因为我的应用程序非常简单,可以通过使用我平庸的法语来进行本地化。我知道我没有做任何“正确”的事情,但我从做过一次就学到了很多东西。我想继续为我未来的所有应用做这件事。

首先,我学会了编写本地化代码,但在您的应用程序准备好发布之前不要开始本地化。我花了太多时间在2个UI文件中进行小调整。

您最喜欢的本地化基础知识,基本规则和最佳做法是什么? 我主要是想像我这样的小型爱好开发者,尽管来自大联盟的东西也会很有趣。

3 个答案:

答案 0 :(得分:4)

对我来说最大的一个是不连接字符串

坏:

"You have " + messageCount + " messages"; 

好:

"You have {0} messages" 

单词顺序因语言而异,因此您无法假设您的动态数据可能出现在句子中的哪个位置。

答案 1 :(得分:3)

在您的界面中,允许大约30-50%的英语翻译扩展。我在职业生涯早期学到的一种方法是制作UI的“猪拉丁”本地化版本。

如果您的用户界面在Pig Latin中仍然清晰可辨,那么在实际语言中它可能是清晰的。

  

Ifway ouryay userway interfaceway isway illstay egiblelay inway Igpay   Atinlay,itway illway obatelypray ebay egiblelay inway ealray   anguageslay。

答案 2 :(得分:1)

  • 对所有字符串使用Unicode - UTF-16或UTF-8。如果读/写任何默认不假设的程序/格式,请确保明确指定UTF-16或UTF-8。

  • 正如Mike Sickler所说,不要连接字符串。更好的是,没有带插入的句子,因为你不知道插入如何影响句子的其余部分 - 不同的语言对复数/等有不同的规则。

不好:"You have " + messageCount + " messages"

更好:"You have {0} messages"(但如果{0} == 1怎么办?你写消息吗?希伯来语怎么样,其中“一个”出现在名词之后,但其他数字出现在?之前?)

最佳:"Messages: {0}"

  • 正如rhsatrhs所说,允许30-50%的扩张。在我的(大联盟)公司,我们通常认为德国人是最长的,尽管我发现有时俄罗斯的人数增加了100%。我怀疑有时翻译人员不知道确切的术语,因此他们使用近似术语编写更长的描述(例如:符号==>源代码参考标记)。