ruby-on-rails - 您将如何提供用不同(语言环境)语言编写的菜单而不是在每个页面中重复它们?

标签 ruby-on-rails ruby menu

下面是一个法语菜单的例子,我还会有另外五种语言的菜单:

<a href="/<%= @lang %>/">Jeux</a>
<a href="/<%= @lang %>/get-the-player">Obtenir le lecteur</a>
<a href="/<%= @lang %>/about">À propos</a>
<a href="/<%= @lang %>/faq">FAQ</a>
<a href="/<%= @lang %>/contact">Contact</a>

目前菜单位于​​相关页面 (.html.erb) 中,使用下面列出的代码

<%= content_for :menu do %>    
    <a href="/<%= @lang %>/">Jeux</a>
    <a href="/<%= @lang %>/get-the-player">Obtenir le lecteur</a>
    <a href="/<%= @lang %>/about">À propos</a>
    <a href="/<%= @lang %>/faq">FAQ</a>
    <a href="/<%= @lang %>/contact">Contact</a>
<% end %>

完成上述操作后,我就获得了 application.html.erb 的引用

<%= yield :menu %>

对于其他语言,它可以以完全相同的方式完成,但是,有没有一种方法可以避免重复代码。也许让 Controller 去寻找它并将其呈现在确切的位置?请帮忙,

提前致谢!

============================================= ============================

    **CHECK BELOW FOR SOLUTIONS THAT I HAVE PROVIDED**

最佳答案

看看内置的 internationalization (i18n) API .

编辑:另一种方法是使用本地化 View ,如所述in the ruby on rails i18n guides .例如,您可以将文件命名为 index.fr.html.erbindex.en.html.erb。然后,根据您的 I18n.locale 设置,呈现适当的 View 。

关于ruby-on-rails - 您将如何提供用不同(语言环境)语言编写的菜单而不是在每个页面中重复它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13255037/

相关文章:

ruby - 在ruby中减去两个相同散列中的值

CSS3 变换一个元素而不是它的后代

ruby-on-rails - rails 3:将链接显示为按钮吗?

mysql - Rails + MySQL - 从 3 个具有特定格式的表加载数据(非常慢 "has_many"关系)

ruby-on-rails - 从 Rails 日期时间列中查询一天中的时间(带时区)

ruby - 使用 Ruby 查找早于 X 小时的文件

ruby-on-rails - 分组集合选择字母顺序 Rails

ruby-on-rails - Ruby on Rails 命名空间路由

c++ - 在 SDI : where to disable menu, 代码在 MDI 中正常

ruby-on-rails-4 - 如何在我的 View 中正确包含我的 user.address state 和 country 字段?