【问题标题】:Localizing Persons name in Android App for different locales在 Android 应用程序中为不同的语言环境本地化人名
【发布时间】:2015-03-01 03:37:49
【问题描述】:

在某些语言环境中,一个人的全名是用姓(姓氏,姓氏)然后名字(个人名字,名字)来写的,而不是更常见的名字,然后是姓氏的顺序。有没有API在 Android 中,它可以根据手机的区域设置为我的应用处理此名称排序。

【问题讨论】:

  • 虽然我不知道现有的库可以提供这些信息,但 CLDR has been considering 长期实施并收集各种语言环境的数据。到目前为止,还没有里程碑。
  • 来自 W3C i18n 的关于this page 的信息也可能派上用场。

标签: android localization internationalization


【解决方案1】:

恐怕没有 API。我一直在寻找它一段时间,我所知道的就是 @Shervin 分享的内容。

目前:

您可以尝试自己管理这一切,方法是从用户那里获取头衔、姓名、第二名和姓氏。在英语中,很容易正确排序并将其与空格连接。不幸的是 - not every language use spaces

研究:

CLDR 是提供任何特定于语言环境的数据的项目(例如在 ICU 中),但名称和姓氏的顺序为 is not there

可能的解决方案:

大多数解决方案可以总结为:

如果设计一个可以接受人们姓名的表单或数据库 拥有不同的背景,你应该问问自己,你是否 确实需要为名字和姓氏设置单独的字段。 有时您可能会选择单独的字段,因为您希望能够 使用姓名的一部分直接称呼该人,或提及 他们。例如,当 Google+ 提到“理查德的联系人”时。要么 也许是因为您想向他们发送带有他们名字的电子邮件 顶端。请注意,您不仅可能会因名称语法而遇到问题 在这里,但您还必须考虑到围绕 关于形式的世界(不是每个人都为陌生人感到高兴 以他们的名字称呼他们)。 单独询问可能会更好, 例如,在设置个人资料时,该人希望您如何 解决他们

http://www.w3.org/International/questions/qa-personal-names#fielddesign

因此,您必须选择是否需要分别询问用户的名字和姓氏(应该有助于排序),但即便如此 - 您也需要知道他们的姓名应该如何显示。

大多数情况下,您会看到要求用户提供的表单:名字、姓氏和显示名。检查here(第四个标题)以获得解释。

【讨论】:

    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多