我刚刚将我的第一个本地化应用程序提交到iPhone应用程序商店。我决定这样做是为了了解应用程序本地化,因为我的应用程序非常简单,可以通过使用我平庸的法语来进行本地化。我知道我没有做任何“正确”的事情,但我从做过一次就学到了很多东西。我想继续为我未来的所有应用做这件事。
首先,我学会了编写本地化代码,但在您的应用程序准备好发布之前不要开始本地化。我花了太多时间在2个UI文件中进行小调整。
您最喜欢的本地化基础知识,基本规则和最佳做法是什么? 我主要是想像我这样的小型爱好开发者,尽管来自大联盟的东西也会很有趣。
答案 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}"