如何在词组中本地化国家名称?

时间:2019-05-21 12:09:39

标签: cocoa cocoa-touch localization nslocalizedstring nslocale

我想对诸如“ {country name}中的地方”之类的词组进行本地化(例如,通过-[NSLocale localizedStringForCountryCode:]来动态获得国家名称)。

问题在于,对于某些国家/地区名称,必须加冠名:

  • 美国en
  • 中的位置

有时以复数形式出现,不论大小写:男性或女性:

  • Lugares en los estados unidos(es
  • Lugares en 拉斯马尔代夫(es

根据短语中国名的起因(主语,宾语等),甚至可能需要拒绝该文章:

  • der Schweiz(de)中使用Orte
  • 去世 Schweiz(de代表“我们去瑞士”了)中的法赫伦人

或者我们甚至可能使用不同的介词:

  • 奥尔特 auf den Malediven(de,因为马尔代夫是岛屿,所以使用“ auf”代替“ in”)

是否有一个库或一组好的规则(例如基于正则表达式)可以用来完成此任务?

虽然我主要在寻找iOS解决方案,但我愿意从其他平台移植任何解决方案。

1 个答案:

答案 0 :(得分:0)

最好完全避免此问题,方法是:对整个短语进行本地化,然后按ISO国家/地区代码对其进行键入。 原因是规则是复杂的,不一定是规则的,并且因语言而异。以俄语为例,国名本身(而不是介词)必须根据句子中出现该词的因果关系进行修改-我认为其他各种斯拉夫语言也是如此。