3

最近、Lumen マイクロ フレームワークの学習を開始しました。.env ファイルで定義されている APP_LOCALE キーの値を実行時に変更する必要があります。私の目標は、実行時に言語を切り替えて、言語ファイルで定義された特定の文字列のさまざまな翻訳を出力することです。

ルーメンのドキュメントには、次のように書かれています。

実行時に構成値を設定するには、構成ヘルパーに配列を渡します

そこで、テストコントローラーで次のことを試しました。

use Illuminate\Support\Facades\App;
use Laravel\Lumen\Routing\Controller as BaseController;

class Controller extends BaseController{
    public function show_test(){
        echo(trans('testfile.greetings'));
        config(['app.LOCALE' => 'en']);
        echo(trans('testfile.greetings'));
    }
}

私の.envファイルでは、「デフォルト」のAPP_LOCALEが「fr」に設定されており、このコントローラーを呼び出した結果、フランス語で1回、英語で1回という予想ではなく、フランス語で2回文字列が出力されます。

実行時に値を変更するにはどうすればよいですか?

4

2 に答える 2

3

どうやら、他の誰かが私の数日後に同じ質問を投稿し、次のような回答を得ました。

app('translator')->setLocale('en');
于 2015-07-16T16:31:04.033 に答える
1

config/app.phplocaleではなくLOCALE、あなたが望むものですconfig(['app.locale' => 'en'])。の名前.envは、必ずしもconfigフォルダーのファイルの名前ではありません。

于 2015-06-24T20:26:08.303 に答える