i18 翻译 link_to 文本 rails

i18 translate link_to text rails

您好,我需要设计一个英语和西班牙语的应用程序 运行。rails 中是否有类似按钮的选项用于翻译 link_to 标签文本 我正在寻找与此类似的选项

helpers:
submit:
  # This will be the default ones, will take effect if no other
  # are specifically defined for the models.
  create: "Créer %{model}"
  update: "Modifier %{model}"

您只需要修复您的区域设置文件(缩进不正确):

helpers:
  submit:
    # This will be the default ones, will take effect if no other
    # are specifically defined for the models.
    create: "Créer %{model}"
    update: "Modifier %{model}"

全部described here

您需要将西班牙语和英语翻译分别保存在:config/locales/es.yml 和 config/locales/en.yml 中。

对于 link 文本,您可以执行以下操作:

es:
  links:
    home: "Casa"

那么您可以拨打:

<%= link_to t('links.home'), root_path %>

创建两个文件:config/locales/es.yml & config/locales/en.yml 并在各自的文件中定义西班牙语和英语内容。

然后像这样定义链接:

<% link_to t('path.to.key'), your_url %>

我在我的应用程序中完成了类似的工作以切换英语和斯瓦希里语。

切换语言代码:

查看:

<div class="pull-right">
  <% [:en, :swa].each do |language| %>
    <%= link_to language.to_s.upcase, change_language_path(language), class: "btn btn-info #{'disabled' if language == I18n.locale}" %>
  <% end %>
</div>

控制器:

def change_language
  cookies[:language] = params[:language]

  redirect_to :back
end

Route.rb

match 'change_language/:language' => 'my_controller#change_language', as: 'change_language'