Доктрина 2 - Лучшая практика для I18N?

Я ищу некоторые рекомендации о том, как обрабатывать таблицы, которые должны иметь поля, которые должны быть переведены на n. Я прочитал, что лучший подход к его базовой таблице, который содержит все поля, которые не относятся к языку, и одна таблица, которая содержит все поля с переводами.

Пример:


 PRODUCT             PRODUCT_TRANSLATIONS
+--------------+    +----------------------+
| id           |    | id                   |
+--------------+    +----------------------+
| category_id  |    | product_id           |
+--------------+    +----------------------+
| price        |    | language_id          |
+--------------+    +----------------------+
                    | name                 |
                    +----------------------+
                    | description          |
                    +----------------------+

Итак, у нас будет продукт базовой таблицы, который содержит все метаданные и таблицу продукта_Трансляции, где все данные хранятся, что необходимо перевести на несколько языков. Таблица продукта имеет ориентирные отношения с таблицей Product_Translations.

Что будет доктриной для обработки такого сценария? Если я запрашиваю таблицу продуктов, я бы все переводы присоединились к этой таблице. Но большую часть времени я только хочу иметь один перевод для данного идентификатора продукта. Я мог бы использовать класс репозитория, чтобы написать свои собственные методы Getter для ограничения результата, установленного только на один язык, но у меня будет много таблиц, которые имеют поля, которые необходимо перевести. Бьюсь об заклад, есть более общее решение для этой проблемы. Другая проблема в том, что если я запрошу один объект, который связан с другим объектом, я получу все переводы для этого второго объекта.

BTW: Я знаю о расширении переносимого поведения с помощью Gediminas, но мне не нравится тот факт, что все переводы хранятся в одну таблицу.

Итак, я ищу любую лучшую практику, когда дело доходит до интернационализации. Любая мысль на этой теме высоко ценится.

7
задан Dan 12 September 2011 в 20:19
поделиться