Вы можете расширить свой Laravel\Lumen\Application
в новом классе и заставить переменную $app
взять экземпляр из вашего нового класса в вашем файле bootstrap\app.php
1 - создать новый класс следующим образом: [116 ]
<?php namespace App\Core;
use Laravel\Lumen\Application as Core;
class Application extends Core
{
/**
* @param $locale
*/
public function setLocale($locale): void
{
$this['config']->set('app.locale', $locale);
$this['translator']->setLocale($locale);
$this['events']->fire('locale.changed', [ $locale ]);
}
public function getLocale()
{
return $this['config']->get('app.locale');
}
}
2 - создайте экземпляр из вашего нового класса, например:
$app = new App\Core\Application(
realpath(dirname(__DIR__) . '/')
);
В моем случае в Windows 10 это было столь же просто, как идущий в Настройки Языка в Windows и изменяющий окна отображают язык.
я, возможно, попытался изменить DefaultThreadCurrentUICulture, как описано выше в коде, но я чувствую, что это неправильно при многоязычных приложениях, и действительно сообщения об исключениях должны остаться на английском языке, таким образом, кто-то может погуглить их и получить справку.
В Инструменты / Параметры / Международные настройки. У меня есть возможность изменить язык с «Как в Microsoft Windows» на «Английский» (Visual Studio 2008 на случай, если это имеет значение). Если у вас нет английского языка, я не уверен, как вы добавляете другие языки ...
Отредактировано для добавления:
Поскольку вы говорите об исключениях приложений, вам необходимо изменить культуру приложения, которое вы дублируются, вы можете сделать это, следуя this , или, если это не вариант изменить культуру для всего приложения , в этом вопросе есть идеи для изменения культуры только в случаях, когда есть исключения выброшены.
Удалите языковой пакет .NET Framework xxx. (xxx = скучный язык сообщений)