在 Lumen 的 .env 文件中定义 APP_LOCALE 的 运行 时间设置值
Setting values at run time for APP_LOCALE defined in .env file in Lumen
我最近开始学习 Lumen 微框架,我需要在 运行 时间内更改我的 .env 文件中定义的 APP_LOCALE 键的值。我的目标是在 运行 时间切换语言以打印我的语言文件中定义的特定字符串的不同翻译。
在 Lumen 文档中写道:
To set configuration values at runtime, pass an array to the config helper
所以我在测试控制器中尝试了休闲:
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 文件中,我的 "default" APP_LOCALE 设置为 'fr' 并且调用此控制器的结果以法语打印我的字符串两次,而不是预期的一次以法语打印然后英语一次。
如何在 运行 时更改值?
config/app.php
中的键是 locale
,而不是 LOCALE
,因此您需要 config(['app.locale' => 'en'])
。 .env
中的名称不一定是 config
文件夹文件中的名称。
显然有人在我发布几天后 得到的答案是:
app('translator')->setLocale('en');
我最近开始学习 Lumen 微框架,我需要在 运行 时间内更改我的 .env 文件中定义的 APP_LOCALE 键的值。我的目标是在 运行 时间切换语言以打印我的语言文件中定义的特定字符串的不同翻译。
在 Lumen 文档中写道:
To set configuration values at runtime, pass an array to the config helper
所以我在测试控制器中尝试了休闲:
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 文件中,我的 "default" APP_LOCALE 设置为 'fr' 并且调用此控制器的结果以法语打印我的字符串两次,而不是预期的一次以法语打印然后英语一次。
如何在 运行 时更改值?
config/app.php
中的键是 locale
,而不是 LOCALE
,因此您需要 config(['app.locale' => 'en'])
。 .env
中的名称不一定是 config
文件夹文件中的名称。
显然有人在我发布几天后
app('translator')->setLocale('en');