Многоязычность
Voyager поддерживает несколько языков для ваших моделей. Для начала вам необходимо настроить некоторые вещи.
Настройка
Сначала Вам нужно определить некоторые locales
в Вашем файле config/voyager.php
и enable
мультиязычность:
После этого Вам необходимо включить в модель трейт Translatable
и определить переводимые атрибуты:
Теперь вы увидите выбор языка в ваших страницах BREAD.
Использование
Переводы с большей загрузкой
Получить значение языка по умолчанию
Получить переведенное значение
Если вы не определите локаль, будет использована текущая локаль приложения. Вы можете передать в свою собственную локаль как строку. Если вы не определите fallbackLocale, то будет использована текущая локаль приложения. Вы можете передать свою собственную локаль как строку. Если вы хотите отключить запасную локаль, передайте false. Если для модели не найдено значений для определенного атрибута, либо для локали, либо для запасной локали, то этот атрибут будет равен null.
Перевести всю модель
Если вы не определите локаль, будет использована текущая локаль приложения. Вы можете передать в свою собственную локаль как строку. Если вы не определите fallbackLocale, то будет использована текущая локаль приложения. Вы можете передать в вашей собственной локали как строку. Если вы хотите отключить запасную локаль, передайте false. Если для модели не найдено значений для конкретного атрибута, либо для локали, либо для fallback, то этот атрибут будет равен null.
Проверка, что модель является переводимой
Установить атрибут перевод
Это позволит обновить или создать перевод для заголовка сообщения с помощью locale da. Обратите внимание, что если изменённый атрибут не подлежит переводу, то он будет вносить изменения непосредственно в саму модель. Это означает, что атрибут будет перезаписан в языковом наборе по умолчанию.
Query translatable Models
Для поиска переведенного значения Вы можете использовать метод whereTranslation
.
Например, для поиска slug в посте, вы бы использовали
whereTranslation
принимает следующие параметры:
field
поле, в котором вы хотите искатьoperator
оператор. По умолчани=
. Также может быть значение (То же самое, что и у where)value
значение, которое вы хотите найтиlocales
локали, в которых вы хотите искать в виде массива. Оставьтеnull
, если вы хотите искать во всех локалях.default
также выполняйте поиск в значении по умолчанию/локале. Значение по умолчанию равно true.
Last updated