Я создал веб-сайт в Symfony2, используя веб-сайт website.com/_locale/xxxxxxxx, чтобы перевести статические данные на два языка. Эта реализация работает успешно, но я хочу пойти дальше этого. Я хочу запустить этот веб-сайт для нескольких других стран, и необходима правильная трансформация, чтобы управлять этими странами (с разными языками) на одном веб-сайте.Symfony2 распространение данных на нескольких языках
Предположим, у меня есть сущность для Магазинов. Каждый созданный объект имеет некоторые переменные, такие как адрес, вид бизнеса, оборудование и т. Д. Это позволяет пользователю создавать запись на своем родном языке, но все записи будут перемешаны в таблице. В таблице будут указаны данные на итальянском, английском, испанском языках, а когда кто-то войдет на сайт из другого места, мы, к сожалению, должны просмотреть данные другого языка.
Я хочу, чтобы у пользователя была возможность создать новый магазин на двух языках: английском и английском. Решения я думал, являются:
- Я создам новый столбец в той же таблице, например, «original_language» и каждая запись будет сохранена с локалью: en_US, es_SP и т.д. Когда сайт хочет получить строка будет выполнять поиск по ОДНОЙ таблице будет тысячи записей.
- Я создам другую таблицу, которая будет зеркалом оригинальной, на другом языке. Это означает, что у меня будет таблица/организация «Магазины», «Магазины_и», «Магазины_и», «Магазины_бр» и т. Д. К сожалению, это решение потребует от меня создания нескольких таблиц и связей между другими связанными таблицами.
- Я создам еще один столбец в той же строке для каждого поля. Shops.description, Shops.address и т.д. также будет включать Shops.description_en, Shops.description_br, Shops.address_en, Shops.address_br и т.д.
Что является самым безопасным, быстрым и более профессиональным способом сделать то, что я хотеть?
Не ходи с несколькими таблицами/колонок! Это ужасно, и мне приходится иметь дело с ним в старых базах данных! Просто не надо! – Ocramius
Так это плохая практика? – Radolino
Да, это так. Все, что вы представляете в виде коллекции/индексированной коллекции, представляет собой таблицу в SQL. Если вы получили несколько значений для поля, это отношение 1-n. – Ocramius