我已经在中间人中激活了 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_index
和 de 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/