Кармен Джем с особыми персонажами

Я использую драгоценный камень Кармен для получения стран и соответствующих штатов. Но когда я использую 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"]

С ? заменой специальных символов.


person saibharath    schedule 24.04.2014    source источник
comment
что вы имеете в виду, когда говорите после использования I18n   -  person Mike H-R    schedule 24.04.2014
comment
чтобы избежать использования специальных символов в массиве состояний, я использовал i18n следующим образом -- I18n.transliterate(Basnāhira paḷāta), и он заменяет специальный символ и дает --› Basnahira pa?ata. и как я могу избавиться от этих специальных символов.   -  person saibharath    schedule 24.04.2014
comment
Я думаю, I18n просто не может транслитерировать эти символы.. Чего вы хотите добиться?   -  person roman-roman    schedule 24.04.2014
comment
я хочу преобразовать эти символы в английский язык   -  person saibharath    schedule 24.04.2014
comment
Вам нужно будет создать правила транслитерации, как я сказал в своем ответе, если вы хотите это сделать.   -  person Mike H-R    schedule 24.04.2014
comment
@MikeH-R, до сих пор я не могу преобразовать некоторые специальные символы, такие как .. æ ,z̧ Z̧ (хотя у меня есть i18n правил преобразования для этих букв).. только эти символы не учитываются для преобразования, но остаются специальными символы были успешно преобразованы.   -  person saibharath    schedule 16.07.2014


Ответы (1)


транслитерация изменяет символы, отличные от ascii, на приближения символов ascii, любые символы, для которых нет приближений, заменяются знаком ?. это объясняется в документации. Если это не то, что вы хотите сделать, вы не хотите использовать метод транслитерации.

Если вы хотите написать свои собственные приблизительные значения транслитерации, сделайте это так (из документов, на которые я ссылался):

i18n:
  transliterate:
    rule:
      ü: "ue"
      ö: "oe"
person Mike H-R    schedule 24.04.2014