Попытка увидеть, как можно программно заменить строку перевода в контролируемой ситуации.
например. i18n по умолчанию имеет
[
"button": "xxx"
]
Итак, когда мы запускаем trans('button')
, мы возвращаемся xxx
Однако мы находимся в ситуации со сторонним пакетом, где нам нужно изменить этот результат в особых обстоятельствах, например, представить ...
if (request()->mode === 'create') {
app('translator')->overwrite('button', 'yyyy');
}
Итак, когда мы делаем trans('button')
, мы получаем наш новый yyyy
Мы не ожидаем, что это будет сохраняться на разных страницах или что-то в этом роде, просто разовое изменение на лету, прежде чем мы доберемся до вида, который вы можете сделать config(['key' => 'new value'])
;
В настоящее время у нас есть решение, которое кажется немного деликатным и хакерским, и мы не думаем, что оно будет работать с кэшированием конфигурации, например, поэтому в идеале хотелось бы найти правильное решение.
return [
'button' => request()->is('custom-page') ? 'custom text' : 'default text',
];