мульти-база данных не является хорошим решением, как только объекты в разных базах данных имеют отношения друг к другу. Обычно хорошим подходом является работа с метками на одном языке по умолчанию. Эти метки могут быть в четко определенном формате (например, «LABEL.TEXT_HELLO») или просто на базовом языке (например, «Hello World»).
Итак, все, что вам нужно сделать, - это создать таблицу для переводов, где базовый язык является ключом, и, надеюсь, для каждого ключа есть значение, содержащее перевод. Как только у вас есть переводы, вы можете написать метод на внешнем интерфейсе, который записывает метки на языке, используемом пользователем.
Например, в Zend Framework вы должны написать <h1><?= $this->translate('Hello World'); ?></h1>
вместо <h1>Hello World</h1>
Хорошо то, что если перевод отсутствует, вы все равно можете использовать запасной вариант (в данном случае английский), чтобы показать пользователю хоть что-то.
Таким образом, вы можете управлять своим приложением в одной базе данных, и пользователям, которые говорят на нескольких языках, не нужно переключаться между приложениями и контентом.
ура