Используя мой собственный опыт в качестве примера - у вас есть два варианта:
Каждый язык полностью отделен
Когда пользователь хочет перевести содержимое своей документации - он просто запускает новую, отдельную, полную версию документов - и переводит каждую страницу по мере их поступления. Вы можете скопировать существующие документы в качестве отправной точки, но каждый язык в любом случае будет независимым. Например, вот как документы для CakePHP в настоящее время организованы . Каждый язык фактически независим, что обеспечивает большую гибкость. Под гибкостью я подразумеваю, например, что страница на одном языке не должна существовать во всех других - или с тем же URL / именем.
Недостатком здесь является синхронизация версий или знание необходимости обновления перевода (новые изменения в версии на основном языке).
Хранить переводы как версии оригинала
В качестве альтернативы вы можете хранить переводы как версии основного / основного языка. что - это как мы делали это раньше. Это облегчало отслеживание того, что переводилось, но за счет гибкости.
Недостатком здесь является то, что он потенциально слишком жесткий - может быть нелегко добавить страницу, ориентированную на язык, добавление новой страницы не на основном языке также может вызвать проблемы
Это аналог "we would store 3 different version of that page in the database
".
Оба упомянутых подхода вполне верны, выберите тот, который решает большинство проблем, а наименьший - :)