1

我正在使用 Carmen gem 来获取国家和各自的州。但是,当我使用 时Carmen::Country.named("Sri Lanka").subregions.collect{|p| p.name},我得到了这个数组:

["Basnāhira paḷāta",
 "Madhyama paḷāta",
 "Dakuṇu paḷāta",
 "Uturu paḷāta",
 "Næ̆gĕnahira paḷāta",
 "Vayamba paḷāta",
 "Uturumæ̆da paḷāta",
 "Ūva paḷāta",
 "Sabaragamuva paḷāta"]

使用 I18n 后,我得到:

["Basnahira pa?ata",
 "Daku?u pa?ata",
 "Madhyama pa?ata",
 "Nae?genahira pa?ata",
 "Sabaragamuva pa?ata",
 "Uturu pa?ata",
 "Uturumae?da pa?ata",
 "Uva pa?ata",
 "Vayamba pa?ata"]

?替换特殊字符。

4

1 回答 1

0

transliterate 将非 ascii 字符更改为 ascii 字符近似值,任何没有近似值的字符都替换为 ?。这在文档中进行了解释。如果这不是您想要做的,您不想使用音译方法。

如果您想编写自己的音译近似值,请这样做(来自我链接到的文档):

i18n:
  transliterate:
    rule:
      ü: "ue"
      ö: "oe"
于 2014-04-24T11:20:21.873 回答