Многоязыковая поддержка в php
Задача: есть скрипты, интерфейс у которых должен быть наА потом я решил, что можно все сделать проще.
Создается База Соответствий Фраз. Начиная с длинных фраз, типа «Click here to save file» -> «Нажмите здесь, чтобы сохранить» и заканчивая словами, типа «save» -> «сохранить».
Все сообщения в скриптах по-прежнему выводятся на одном языке, без изменений. Когда нам надо собрать версию на другом языке, мы просто прогоняем скрипты, как простые текстовые файлы, через замену по Базе. Сначала заменяем длинные фразы, потом оставшиеся слова.
И получаем версию на другом языке. Да, нужно постоянно держать базу фраз up-to-date, но абсолютно то же самое придется делать, если выводить все через массив.
Единственный минус, который я вижу: невозможность переключать язык интерфейса вообще. То есть мы имеем набор скриптов только на одном языке. Но почти всегда это не имеет значения.