Id нравится программировать многоязычное приложение с игрой !. Я никогда не делал этого раньше, поэтому я искал некоторые советы, как это сделать на первом месте.модель базы данных internationlization play framework
Задача: позволяет предположить, что у меня есть простое приложение с вопросами и ответами. Представьте, что это похоже на опрос. В зависимости от языка, который пользователь выбирает, вопросы и ответы отображаются на правильном языке. Для лучшего unstanding модели будет выглядеть следующим образом:
вопрос: ид, questionString
ответ: идентификатор, fk_questionId, answerString, isRightBool
Как видим обычный 1: N отношение. Но как подойти теперь к поддержке нескольких языков?
- Идея будет дублировать всю базу данных ... эта идея кажется простой, но уродливой из-за дополнительных накладных расходов для последующих изменений ... было бы кошмаром, я думаю.
- дополнительные поля, такие как questionStringGerman, questionStringEnglish. Не нравится эта идея ...
- Дополнительная таблица для каждого класса моделей с соотношением 1: n. Например question_lang и answer_lang. Колумбы - это языки. Кажется, легче справиться.
- Один стол для всех переводов. Колумбы - это языки. Кажется, легче всего справиться с исправлениями.
Какой подход лучше всего подходит для динамического перевода. Возможно, я что-то пропустил. Был бы рад, если бы кто-то мог сказать мне, какой подход подходит к этой проблеме.
Thx заранее!
Thx для ответа. Как я вижу, вы просто кладете слой между вопросом и ответами. Дело в более сложной структуре, это приведет к появлению многих «слоев-объектов/наборов данных». U получает дополнительный объект/набор каждого ответа. Что делать, если у вас нет связанных с языком полей в ответе? как вес. У вас есть повторяющиеся записи, не так ли? Все еще думая о идее ура :) – whereismydipp
, в этом случае у вас будет вес в общей таблице. очень похоже на концепцию oop. вам понадобится другая таблица table4 (id, fk_qqid, common_fields .....). правильно? – ligerdave