我一直在嘗試對i18n進行排序來翻譯Ruby的YAML文件,這樣我就可以以更好和有組織的方式管理新的翻譯,但我一直在想是否有什麼可以緩解任務。如何分類YAML文件?
我發現一個YAML文件編寫器,所以我可以寫一個哈希到一個文件,但我的問題是正確排序哈希。如果我得到散列h
,h.sort
返回一個數組,我仍然沒有想到一個簡單的方法來做到這一點。
我有YAML文件是這樣的:
pt-br:
global:
misc:
total: "Total"
all: "Todos"
close: "Fechar"
cancel: "Cancelar"
crud:
access: "Acessar"
back: "Voltar"
edit: "Editar"
confirm: "Confirmar"
send: "Enviar"
...
(該文件的方式比這個更大)
但我想這種方式對它們進行排序:
pt-br:
global:
crud:
access: "Acessar"
back: "Voltar"
confirm: "Confirmar"
edit: "Editar"
send: "Enviar"
misc:
all: "Todos"
cancel: "Cancelar"
close: "Fechar"
total: "Total"
我認爲一些簡單的遞歸方法可以幫助我這樣:
def translation_sort(h)
if h.class == Hash
h = h.sort
h.each{|item| translation_sort(item)}
end
h
end
require "yaml"
h=YAML.load_file(File.open("~/pt-br.sample.yml"))
translation_sort(h)
是否有任何崇高的插件爲相同? –