所以,我有两个本地化--en和es。我希望他们找到
en.site.com 和 es.site.com
或 site.en 和 site.es
但是遵循这个教程https://middlemanapp.com/advanced/localization/我只能像
一样site.com/photos 和 site.com/es/photos
看起来并不好。
我的源/ CNAME文件只有一行
site.com
也许我必须用它做什么?如果是,究竟是什么?我根本无法找到任何教程或示例>< 如果您知道如何在中间人中为两个本地化使用不同的域,请提供帮助。提前谢谢!
答案 0 :(得分:0)
我之前从未使用过Middleman,但是我最近构建了一个需要类似提供多租户的应用程序。
我所做的是创建了一个机架中间件层,它将根据传入的请求主机设置某些变量。在您的情况下,您可以为每个请求设置Rails default_locale,或者配置Middleman以更改区域设置。
你可以做一些非常基本的实现:
应用/中间件/ locale_switcher_middleware.rb
class LocaleSwitcherMiddleware
def initialize(app)
@app = app
end
def call(env)
request = Rack::Request.new(env)
if request.host.include("es.")
I18n.default_locale = :es
else
# default to english
I18n.default_locale = :en
end
@app.call(env)
end
end
application.rb中
config.middleware.use "LocaleSwitcherMiddleware"