中间人和 I18n : having some issues

标签 middleman i18n-gem

我已经在中间人中激活了 I18n,如下所示:

activate :i18n, mount_at_root: :de

现在我想自动从 / 重定向到 /de。这可能吗?

另外,我想知道为什么中间人使用 page_classes 帮助器自动分配类 index (对于德语)和 en_index (对于英语)?这没有多大意义——它是同一个页面,所以它应该使用英语和德语的 index 类。还是我错过了什么?

最佳答案

如果您 :mount_at_root => :de 德语将成为您的默认语言,因此不会前缀。

如果设置 :mount_at_root => :false 所有语言都应添加前缀。

我已成功使用以下配置来设置de/en路径。

这还将创建 page_classes,例如 en en_indexde de_index

activate :i18n, :mount_at_root => :false, :langs => [:de, :en]

http://middlemanapp.com/advanced/localization/

/ 重定向到 /de 是使用 redirect "index.html", :to => "de/index.html".

要防止 page_classes 使用语言为类添加前缀,请像这样覆盖帮助器:

helpers do
  def page_classes(path=current_path.dup, options={})
    super(path.sub(/^[a-z]{2}\//, ''), options)
  end
end

关于中间人和 I18n : having some issues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343214/

相关文章:

ruby - 安装了中间人但找不到二进制文件

ruby-on-rails - 用于从浏览器/前端翻译 Rails 应用程序上的 ruby​​ I18n 字符串的 gem?

android - 多语言支持

ruby-on-rails - Rails 以另一种格式翻译当前日期

ruby-on-rails - 我如何防止我的 routes.rb 拦截来自/blog 的请求?

中间人 - 如何访问区域设置/本地化/lang 变量

ajax - 无法通过身份验证向mailgun发送ajax请求

twitter-bootstrap - 为什么我在运行 'bower install' 时会收到此错误?

activerecord - I18n::Backend::ActiveRecord 范围

ruby-on-rails - rails i18n 语言环境特定的配置设置?