Строковые инструменты I18N поддерживают интерполяцию :
I18n.t('foo.bar', :baz => 'stackoverflow.com')
А затем в en.yml
:
foo:
bar:
I love %{baz} so much!
Просто не пытайтесь использовать %{default}
или %{scope}
в качестве переменных в ваших строках, I18n.translate
использует их для других целей:
Если перевод использует :default
или :scope
в качестве переменной интерполяции, I18n::ReservedInterpolationKey
Возникает исключение.
Это не относится к YAML в целом, но, похоже, ваш вопрос касается файлов перевода.