Как проверть, содержит текущая ссылка перевод?

Для проверки наличия перевода в текущей ссылке в Laravel, можно воспользоваться встроенным функционалом маршрутов (routes) и локализацией (localization) фреймворка.

Сперва, нужно убедиться, что ваше приложение правильно настроено для работы с локализацией. В файле config/app.php убедитесь, что у вас есть поддержка локализации, то есть в значении ключа locale установлена соответствующая локаль.

Затем создайте необходимые файлы локализации в каталоге resources/lang, предварительно проверив, что такой каталог имеется в вашем проекте.

Далее, в файле routes/web.php определите все маршруты, учитывая локализацию.

Пример маршрута на английском языке:

Route::get('about', function () {
    return view('about');
});

Пример маршрута на русском языке:

Route::get('о-нас', function () {
    return view('about');
});

Теперь у нас есть два маршрута: /about и /о-нас, которые указывают на один и тот же экшн и возвращают одно и то же представление about.

После этого можно проверить, содержит ли текущая ссылка перевод. Для этого в контроллере или в представлении можно воспользоваться следующим кодом:

$locale = app()->getLocale(); // Получаем текущую локаль
$currentUrl = Request::url(); // Получаем текущую ссылку

// Проверяем, содержит ли текущая ссылка перевод
$translationExists = Str::contains($currentUrl, $locale);

if ($translationExists) {
    // Ваш код, если текущая ссылка содержит перевод
} else {
    // Ваш код, если текущая ссылка не содержит перевод
}

Обратите внимание, что в этом примере я использовал хелпер app()->getLocale(), чтобы получить текущую локаль, и хелпер Str::contains(), чтобы проверить наличие перевода в ссылке. Вы также можете использовать Request::segment() для получения текущего сегмента ссылки и сравнивать его с доступными локализациями вашего приложения.

Надеюсь, эта информация помогла вам понять, как проверить, содержит ли текущая ссылка перевод в Laravel. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.