@Ismail-1

Как сделать перевод динамических данных с БД laravel-vue-i18n?

В папке lang/en.json, ru.json Файлы переводов

Если не динамические данные перевожу как
ru.json
{
   "tipObekta": "Тип объекта"
}

en.json
{
   "tipObekta": "Object type"
}

<div>{{ $t('tipObekta') }}</div> //Тип объекта или //Object type

В зависимости от языка ru или en

Теперь я с БД получаю динамически объекты - Квартира, Дом, Дача и тд.
<div> {{ ads.tip_obekta }} </div> //Квартира или //Дом, //Дача  и тд.

Как организовать перевод для этих данных?
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
neuotq
@neuotq
Прокрастинация
Советую не мучатся делая свой велосипед и использовать пакет типа https://github.com/spatie/laravel-translatable .
Если не хочется прям привязываться к их реализации можно взять лайт версию этой идеи:
  • в базе поля что будут мультиязычными хранить в json
  • создать свой аналогичный трейт с мутаторами eloquent что будут брать и возвращать нужное значение на основе локали(можно акссесорами и другими способами, но будет не так "красиво")
  • добавить разных хелпер функций по вкусу.
  • Профит.

Почитайте код пакета выше, там всё просто в целом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы