laravel-localization с переведенным слагом, хранящимся в базе данных

Я пытаюсь сделать многоязычный Laravel. Для этого я использую разные пакеты

Мои слизни переводятся и хранятся в базе данных следующим образом:

{
   "fr": "a-propos",
   "en":"about"
 }

И все мои другие переводимые данные тоже такие. И чтобы получить доступ к одной из моих данных, я использую, например, $page->slug или же $page->title,

Мои переводы работают хорошо. Но сейчас я пытаюсь создать меню языков с правильными URL-адресами.

Хочу, если я на странице "о" имею две ссылки в меню:

  • http://myapp/en/about
  • http://myapp/fr/a-propos

Вот мой код:

<ul>
    @foreach(LaravelLocalization::getSupportedLocales() as $localeCode => $properties)
        <li>
            <a rel="alternate" hreflang="{{ $localeCode }}" href="{{ LaravelLocalization::getURLFromRouteNameTranslated($localeCode, $page->slug, [], true) }}">
                {{ $properties['native'] }}
            </a>
        </li>
    @endforeach
</ul>

К сожалению, мои URL плохие. Если я нахожусь на странице "о" на английском языке, я имею в своем меню:

  • http://myapp/en/about
  • http://myapp/fr/about

И я хотел бы http://myapp/fr/a-propos, Данные хранятся в моей базе данных.

Есть ли способ убедиться, что вы собираете данные с других языков, находясь в другой локали (здесь я на EN и хотел бы иметь FR FR).

Вы можете мне помочь? Большое спасибо!

0 ответов

Другие вопросы по тегам