2016-09-23 8 views
1

Rails I18n отлично подходит для переводов, как программист.Как я могу спрятать рельсы i18n файлы

Но некоторые клиенты предпочитают говорить в файлах i18n, которые мы создаем для них, поэтому мы хотели бы отправить «сплющенную» версию через Excel, чтобы они завершили работу.

Например, вместо отправки

en: 
    sessions: 
    new: 
     login: "Ingresa" 
     signup: "Regístrate" 

Мы хотели бы, чтобы он

en.sessions.new.login "Ingresa" 
en.sessions.new.signup "Regístrate" 

Какой лучший способ сделать это?

ответ

0

Расширенная версия может быть проверен здесь: https://repl.it/Dg4U/0

Когда вы просите перевод I18n дает вам содержание, или хэш.

Так что ваш начинающий Hash может быть

I18n.t('.') # The root element 

Затем вы можете использовать этот код

results = [] 

def squash(previous_key = '', h) 
    h.each do |key,value| 
    this_key = "#{previous_key}.#{key.to_s}" 
    if value.is_a? Hash 
     squash(this_key, value) 
    elsif value.is_a? Array 
     results << "#{this_key}: #{value.inspect}" 
    else 
     results << "#{this_key}: #{value}" 
    end 
    end 
end 

squash 'en', I18n.t('.') 

Там вы можете пользователем массив результатов, как вы, пожалуйста, чтобы использовать его. Я только что напечатал его на экране и вставил в Excel.

Смежные вопросы