Я ищу некоторые рекомендации о том, как обрабатывать таблицы, которые должны иметь поля, которые должны быть переведены на n. Я прочитал, что лучший подход к его базовой таблице, который содержит все поля, которые не относятся к языку, и одна таблица, которая содержит все поля с переводами.
Пример:
PRODUCT PRODUCT_TRANSLATIONS +--------------+ +----------------------+ | id | | id | +--------------+ +----------------------+ | category_id | | product_id | +--------------+ +----------------------+ | price | | language_id | +--------------+ +----------------------+ | name | +----------------------+ | description | +----------------------+
Итак, у нас будет продукт базовой таблицы, который содержит все метаданные и таблицу продукта_Трансляции, где все данные хранятся, что необходимо перевести на несколько языков. Таблица продукта имеет ориентирные отношения с таблицей Product_Translations.
Что будет доктриной для обработки такого сценария? Если я запрашиваю таблицу продуктов, я бы все переводы присоединились к этой таблице. Но большую часть времени я только хочу иметь один перевод для данного идентификатора продукта. Я мог бы использовать класс репозитория, чтобы написать свои собственные методы Getter для ограничения результата, установленного только на один язык, но у меня будет много таблиц, которые имеют поля, которые необходимо перевести. Бьюсь об заклад, есть более общее решение для этой проблемы. Другая проблема в том, что если я запрошу один объект, который связан с другим объектом, я получу все переводы для этого второго объекта.
BTW: Я знаю о расширении переносимого поведения с помощью Gediminas, но мне не нравится тот факт, что все переводы хранятся в одну таблицу.
Итак, я ищу любую лучшую практику, когда дело доходит до интернационализации. Любая мысль на этой теме высоко ценится.