2つの異なるWebサイトで同じコードベースを使用しているマルチテナントアプリケーションを開発しています。それぞれ2つの言語で利用できます。マルチテナントアプリケーションの異なる翻訳
- サイトA FR
- サイトA EN
- サイトBのFR
- サイトB EN
Laravelは別のフォルダの下に、あなたはresources/lang
ディレクトリにローカライズ翻訳を保存することができます各言語(この場合はfr
フォルダとen
フォルダの1つ)に対応します。
これはうまくいきますが、現在のテナントに応じて異なる翻訳が必要な文字列があります。ウェブサイトAでは、「ホーム」ボタンのリンクは「ホーム」と呼ばれ、ウェブサイトBでは「ホームへ」と呼ばれる。
異なるテナントに異なる翻訳ファイルを指定するにはどうすればよいですか?
私はこのような何かやってみました。すると
/ ressources
/lang
/fr
/tenantA
- messages.php
/tenantB
- messages.php
/en
/tenantA
- messages.php
/tenantB
- messages.php
を、私は、サービスプロバイダーにグローバルロケールを設定します。
App::setLocale('en');
私はその後、私のビューから適切な翻訳をロードしよう:
{{ __('tenantA.messages.home') }}
これは動作しませんが、それはエコーアウトですtenantA.messages.home
(リテラルstrin g)messages.php
ファイルに含まれている翻訳の代わりに、home
キーの下に入力します。
どうすればこの問題を解決できますか?これを行うより良い方法はありますか?