當我在韓國語中添加文章標題爲例如爲:신품
FriendlyID韓國蛞蝓
FriendlyID寶石創建空白蛞蝓和網址就像是/8
...所以這是ID。看看這個鏈接:http://www.srecipe.kr.com/articles/8
其他語言的工作。
我怎樣才能得到映射到拉丁字母像/這是從신품
網址?
當我在韓國語中添加文章標題爲例如爲:신품
FriendlyID韓國蛞蝓
FriendlyID寶石創建空白蛞蝓和網址就像是/8
...所以這是ID。看看這個鏈接:http://www.srecipe.kr.com/articles/8
其他語言的工作。
我怎樣才能得到映射到拉丁字母像/這是從신품
網址?
像所有這些永久鏈接解決方案一樣,友好ID使用parameterize
方法將字符串轉換爲URL安全字符串。像這樣:
require 'active_support/all'
puts "Oh Hai There".parameterize
=> oh-hai-there
的問題出現在當您使用非ASCII字符串,其參數爲空字符串替換,造成您的問題:
# encoding: UTF-8
require 'active_support/all'
puts "신품".parameterize
=>
的ActiveSupport提供了一種方法來改變非ASCII字符串通過transliterate
方法近似近似。
# encoding: UTF-8
require 'active_support/all'
include ActiveSupport::Inflector
puts transliterate("Ærøskøbing")
=> AEroskobing
但是,如果它不知道一個字符,它會默認爲??
# encoding: UTF-8
require 'active_support/all'
include ActiveSupport::Inflector
puts transliterate "신품"
=> ??
但是,你可以告訴音譯如何處理字符。所以在Rails模型
# Store the transliterations in locales/en.yml
en:
i18n:
transliterate:
rule:
신: "abc"
품: "def"
puts transliterate "신품"
=> "abcdef"
所以,你可以使用transliterate(title).parameterize
而不只是參數。如果你將韓文字母翻譯成音譯部分,那麼你接近金。
您可以使用http://www.rubydoc.info/gems/unidecode/1.0.0/frames –
我忘了將結果規則包含在引號中: I18n :: InvalidLocaleData:無法從config/locales/en.yml:#
沒試過這些,但是我要去:
時,我已經試過我馬上彙報。
報告在哪裏? –
公平的評論。 2年多以後,我現在不記得我的結論是什麼。你認爲我應該刪除回覆還是留下回購清單,以防他們對某人有幫助? –
romaji回購對我有幫助!謝謝你的鏈接! –
有人回答了?我不這麼認爲!這被標記爲脫離主題,並強制關閉。請! –