2016-06-14 11 views
2

したがって、enとesの2つのローカリゼーションがあります。私は彼らが仲介業者を使用して異なる地域別に異なるドメインを使用するにはどうすればよいですか?

en.site.comes.site.com

またはsite.ensite.es

に探したいです

しかし、このチュートリアルの後にhttps://middlemanapp.com/advanced/localization/私は好きなだけを作ることができます良い見ていない

site.com/photossite.com/es/photos

私だけ

site.com 

たぶん私はそれをなめらかにしなければならない1行でソース/ CNAMEファイルがありますか?はいの場合、正確には何ですか?チュートリアルや例が一切見つかりません> < 仲介者の2つのローカリゼーションに異なるドメインを使用する方法を知っている場合は、助けてください。前もって感謝します!

答えて

0

私は以前はミドルマンを一度も使用していませんでしたが、最近はマルチテナントを提供するために同様のものを必要とするアプリケーションを作成しました。

私がやったことは、入ってくるリクエストホストに基づいて特定の変数を設定するラックミドルウェアレイヤーが作成されたことです。あなたの場合は、リクエストごとに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" 
関連する問題