Apartment gemを使用して、アプリケーションのリクエストごとにポストグラススキーマに切り替える。テナントが見つかると、データベースフィールドに基づいてロケールを設定します。postgreスキーマを使用してテナントごとにレールをカスタマイズする
I18n.locale = current_tenant.locale || I18n.default_locale
これはスイッチング言語に最適です。今、ymlファイルの単一のキーを変更するように顧客からリクエストがあります。顧客に特定のキーをオーバーライドするデータベース駆動型の方法を提供したいと思いますが、個々のキーを無効にするためにI18nバックエンドを設定する方法がわかりません。私はactive_record gemを使用することができますが、これは翻訳をグローバルに格納します。したがって、1つのテナントに対してオーバーライドすると、すべてがオーバーライドされます。
言語の代わりに翻訳をプリロードしてテナントのサブドメインを検索する方法が必要だと思います。私が見つけたすべてのメソッドは、要求ごとにではなく、イニシャライザでバックエンドの読み込みを行うように見えるので、これを行う方法がわかりません。
これは何https://github.com/svenfuchs/i18nです-active_recordは、私が避けたいものです。私はテナントごとにすべての翻訳をプリロードし、デフォルトの「シンプルな」i18nバックエンドをオーバーライドすることを検討しています。 – typeoneerror