Ho cercato di ordinare un file YAML di traduzione i18n con Ruby in modo da poter gestire le nuove traduzioni in un modo migliore e organizzato, ma mi sono chiesto se c'è qualcosa per facilitare l'operazione.Come posso ordinare i file YAML?
Ho trovato uno scrittore di file YAML in modo da poter scrivere un hash in un file, ma il mio problema è di ordinare correttamente l'hash. Se ho ottenuto l'hash h
, h.sort
restituisce un array e non ho ancora trovato un modo semplice per farlo.
Ho i file YAML come questo:
pt-br:
global:
misc:
total: "Total"
all: "Todos"
close: "Fechar"
cancel: "Cancelar"
crud:
access: "Acessar"
back: "Voltar"
edit: "Editar"
confirm: "Confirmar"
send: "Enviar"
...
(I file sono il modo più grande di questo)
Ma voglio ordinare loro in questo modo:
pt-br:
global:
crud:
access: "Acessar"
back: "Voltar"
confirm: "Confirmar"
edit: "Editar"
send: "Enviar"
misc:
all: "Todos"
cancel: "Cancelar"
close: "Fechar"
total: "Total"
ho pensato che qualche semplice metodo ricorsivo mi può aiutare in questo modo:
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)
c'è alcun plugin sublime per la stessa? –