【问题标题】:Localization ground rules本地化基本规则
【发布时间】:2009-11-06 04:04:36
【问题描述】:

前几天我刚刚向 iPhone 应用商店提交了我的第一个本地化应用。我决定这样做是为了了解应用程序本地化,因为我的应用程序足够简单,可以通过我平庸的法语进行本地化。我知道我没有做所有“正确”的事情,但我从做一次中学到了很多。我想继续为我未来的所有应用程序这样做。

一方面,我学会了在编写代码时考虑到本地化,但在您的应用准备好发布之前不要开始本地化。我花了太多时间对 2 个 UI 文件进行小调整。

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

【问题讨论】:

    标签: localization


    【解决方案1】:

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

    不好:

    "You have " + messageCount + " messages"; 
    

    好:

    "You have {0} messages" 
    

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

    【讨论】:

    • 哇,显然本地化是一个不受欢迎的标签。只有 12 次观看和 1 次回复。奇怪的。无论如何,谢谢迈克!你得到一个复选标记!
    • 是的,这是一门孤独的学科:)祝您的应用销售好运。
    【解决方案2】:

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

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

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

    【讨论】:

    • 哈!这可能是我在 SO 上看到的最幽默、最有用的回复。不错。
    【解决方案3】:
    • 对所有字符串使用 Unicode - UTF-16 或 UTF-8。如果读取/写入任何默认情况下不假定的程序/格式,请确保明确指定 UTF-16 或 UTF-8。

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

    错误:"You have " + messageCount + " messages"

    更好:"You have {0} messages"(但是如果 {0} == 1 怎么办?你会写消息吗?希伯来语呢,“one”在名词之后,其他数字在前面?)

    最佳:"Messages: {0}"

    • 正如 rhsatrhs 所说,允许 30-50% 的扩展。在我的(大联盟)公司中,我们通常认为德语是最长的,尽管我发现有时俄语会超过 100%。我怀疑有时是翻译人员不知道确切的术语,所以他们使用接近的术语编写更长的描述(例如:符号 ==> 源代码引用标记)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      相关资源
      最近更新 更多