Можно ли получить ключ переведенной строки на laravel? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Можно ли получить ключ переведенной строки на laravel? [дубликат]

Сообщение Anonymous »

У меня есть ресурсы/lang/fr_FR.json, resources/lang/en_US.json и т. д., там у меня есть все ключи на испанском языке и их значения на нужном языке.

Я пытаюсь перевести входящий URL-адрес, например, если я нажимаю «контакт», если я говорю на испанском языке и переключаюсь на английский, это работает нормально, потому что у меня зарегистрирован ключевой контакт, но если я в английский У меня есть «контакт», но у меня нет этого ключа для перевода.

Это функция, которая меняет локаль URL-адреса
public function setLocale($locale, $desiredLocale)
{
$previousUrl = explode("/", url()->previous());
$newUrl = array();

foreach ($previousUrl as $segment) {
$translatedSegment = __($segment, [], $desiredLocale);
array_push($newUrl, $translatedSegment);
}
$uri = implode("/", $newUrl);
$uri = str_ireplace($locale, $desiredLocale, $uri);

return redirect($uri, 301);
}


РЕДАКТИРОВАНИЕ: Чего я хочу достичь

У меня на панели навигации есть раскрывающийся список с языками, es, fr , eng, например

Я нахожусь на http://localhost/laravel-project/public/es_ES/inicio, затем нажимаю на раскрывающийся список язык eng, и он отправляет меня по этому маршруту:

$key])}}">eng


Мой региональный маршрут:

//Language swap
Route::get('/language/{desiredLocale}', 'LocaleController@setLocale')->name('setLocale');


и мой localeController — это функция, которую я показал (переменная $locale поступает из промежуточного программного обеспечения, поэтому установлена ​​на url::default)

Он должен перенаправить меня на http://localhost/laravel-project/public/en_US/home

Потом с тех пор на моем web.php у меня есть:

Route::get(__('inicio'), function () {
return view('pages.home.index');
})->name('inicio');


Он будет искать в моем en_US.json слово и маршрут, и он будет существовать:

{
"inicio": "home",
}


Подробнее здесь: https://stackoverflow.com/questions/574 ... on-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»