Jin*_*Kim 2 unicode inflector ruby-on-rails-3
最后,我想使用Inflector.parameterize为文章标题创建slug,其中包含一堆unicode字符(例如"ḤellẒno"=>"hellz-no").根据http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-transliterate,它说它们将它们放在locales/en.yml文件中.
# Store the transliterations in locales/en.yml
i18n:
transliterate:
rule:
?: "h"
?: "z"
Run Code Online (Sandbox Code Playgroud)
我试过了,但以下不起作用:
"?ell? no".parameterize
# => "ell-no"
Run Code Online (Sandbox Code Playgroud)
但是,当我像第二段建议的那样在Ruby中更改它时,它可以工作.
I18n.backend.store_translations(:en, :i18n => {
:transliterate => {
:rule => {
"?" => "H",
"?" => "Z"
}
}
})
"?ell? no".parameterize
# => "hellz-no"
Run Code Online (Sandbox Code Playgroud)
我想我想知道为什么在locales/en.yml中放置自定义音译不起作用.
即使有人给出答案,作为一个Rails noob,我也想知道通常把代码放在第二个块的位置来手动设置I18n.backend.store_translations?
呃,我有一部分答案.与http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-transliterate上的文档不同,yml文件仍应指定语言 - 即de:
# Store the transliterations in locales/de.yml
de:
i18n:
transliterate:
rule:
ü: "ue"
ö: "oe"
Run Code Online (Sandbox Code Playgroud)
请仍然回答问题的第二部分,I18n.backend.store_translations(:en,...等代码应该放在Rails 3应用程序中?
| 归档时间: |
|
| 查看次数: |
1232 次 |
| 最近记录: |