中间人和 I18n:有一些问题

Jos*_*eim 3 middleman i18n-gem

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

activate :i18n, mount_at_root: :de
Run Code Online (Sandbox Code Playgroud)

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

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

小智 5

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

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

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

这也将创建page_classes诸如 asen en_indexde de_index

activate :i18n, :mount_at_root => :false, :langs => [:de, :en]
Run Code Online (Sandbox Code Playgroud)

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

/to重定向/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
Run Code Online (Sandbox Code Playgroud)