-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 568
|
||||||
Мультиязычность в Laravel03.09.2023, 13:00. Показов 717. Ответов 5
Метки нет Все метки)
(
Вроде избитая тема, но решил ее поднять по причине того, что до этого момента мультязычность в Laravel использовал только для админки типа так
Но если выйти за пределы админки появляются статьи, которые находятся в базе данных. И как с этим быть если сайт мультиязычный? Я полагаю, что в базе должны находиться статьи на разных языках. И не только статьи. Меню и т. п. Наверняка все должно быть в разных таблицах. Посоветуйте пожалуйста оптимальный вариант размещения в базе данных мультиязычного контента и вариант его переключения.
0
|
03.09.2023, 13:00 | |
Ответы с готовыми решениями:
5
Как использовать на сервере Laravel внутри папки Laravel? Installing laravel/laravel (v5.8.17) [ErrorException] mkdir(): Invalid path Объединить laravel и Форум (Laravel + XenForo) |
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 568
|
||||||||||||||||
04.09.2023, 19:51 [ТС] | ||||||||||||||||
Я правильно понял, что таблица articles будет одна (наверняка в ней можно добавить еще поле типа slug), а title description keywords name content будут в другой таблице на разных языках в зависимости от language_id?
В blade языки переключаются так
Видел варианты где запрос выглядит типа так
0
|
![]() 3887 / 3227 / 1351
Регистрация: 01.08.2012
Сообщений: 10,880
|
|
04.09.2023, 21:38 | |
Да, в неё закидываются все поля, которые не зависят от языка. В т.ч. slug.
Верно, для каждого языка создаётся отдельная запись. Создаёте отдельную таблицу с языками, и id языка записывается в language_id. Можно, конечно, и просто строку ru/en туда записывать, но я всё же за нормализацию. Получили язык из URL, запросили статью из базы с конкретным языком. Вроде всё просто, что у вас вызывает затруднения?
1
|
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 568
|
|||||||||||
05.09.2023, 08:22 [ТС] | |||||||||||
У меня языки в админке переключаются так
Тоесть если ?change_language=en то достается все из папки resources/en (картинка), где имеется нужный php типа cruds.php
Я так понимаю можно использовать этот механизм и для переключения языков вне админки. Тоесть если ?change_language=en доставать рекорды из таблицы article_descriptions где в поле language_id записано en. Имеется ввиду, что в поле language_id нужно будет записывать техт типа en, ru.
0
|
![]() 2481 / 1406 / 665
Регистрация: 23.08.2015
Сообщений: 3,546
|
|
05.09.2023, 14:30 | |
ru/en - это естественный потенциальный ключ, вы его можете выбрать в качестве первичного ключа и это не нарушит нормализацию.
Добавлено через 1 час 25 минут Выбранный язык должен куда-то сохраняться. Это можно делать на основе роутера, когда язык указывается в ссылке, типа http://laravelrednord/en/pages... ogramate/1 можно сделать и на поддоменах, Так же можно сохранять в сессию, куки, передавать через заголовки и т.д. 1) У приложения по сути настройка, где указывается язык. И технически вы можете изменять эту настройку через какой-нибудь провайдер. И ссылка вида ?change_language=en - это действие, изменяющее язык, а чтоб получить текущий есть в вашем же примере app()->getLocale()
0
|
05.09.2023, 14:30 | ||||||
Помогаю со студенческими работами здесь
6
Мультиязычность WP и мультиязычность Мультиязычность Мультиязычность Мультиязычность Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
|
Линейное решение нелинейной задачи. Формулы от LM по моему решению пока не проверял. В итоговой её формуле видно её заблуждение.
Hrethgir 10.04.2025
В продолжение
Эта LM дала ответ похожий на нормальный.
В комментриях мой комментарий - похоже она ошиблась с выведением итоговой формулы, но остальные проверю.
Assistant
qwen2. 5-14b-instruct
. . . .
|
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
|
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
|
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
|
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
|
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
|
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
|
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
|
Реализации таймеров в Unity
GameUnited 09.04.2025
Время — важный ресурс любой игры. Разработка качественных игровых механик невозможна без грамотного управления временем, а таймеры выступают ключевым инструментом этого управления. Представьте себе. . .
|