можно ли использовать метод перевода для использования уже определенного перевода?
Да, для этого и нужен перевод I18n, например,
t 'something'
могу ли я использовать код ruby внутри?
Нет, это файл .yml, который не поддерживает Ruby или любые другие языки программирования.
Другой подход заключается в переводеэто один раз
Чтобы перевести один раз, вы можете написать новое задание Rake для генерации целевого yml для вас.
Или, возможно, обернуть функцию официального перевода новым методом, которыйможет распознать ваш пользовательский синтаксис строки:
# custom translate
def ct(msg)
msg.gsub(/#\{\s*([^\}]+)\s*\}/) {|_| t $1}
end
Назовите его так:
ct 'Your account is #{locked}.'
Я думаю, вам лучше удалить эти строки с ошибками из вашего файла yml, если это так.