Я не уверен, что является лучшей практикой, я могу сказать вам, что я часто использую. Возможно, это может помочь вам.
Сначала я определю несколько статических переводов, которые я смогу использовать для переводов, которые у меня будут много, например, для обычных ссылок crud.
Например:
en:
default:
new_model: "New %{model_name}"
edit_model: "Edit %{model_name}"
delete_model: "Delete %{model_name}"
Затем я использую стандартную активную запись i18n, чтобы придумать переводы модели. Например:
en:
activerecord:
models:
product: Artikel
attributes:
product:
name: Naam
Затем я могу объединить два, чтобы получить следующий пример.
<%= link_to t("default.new_model", :model_name => Product.model_name.human), new_product_path %>
<h1><%= t("default.edit_model", :model_name => Product.model_name.human) %><h1>
Вы могли бы даже пойти и построить помощников, чтобы придумать еще более стандартизированные способы сделать это.
Надеюсь, это поможет.