Я не буду давать сравнение возможных вариантов для решение такой задачи как интернационализация ваших PHP-скриптов, я покажу как это сделать быстро и качественно с использованием стандартного для UNIX-мира подхода использовать GetText.
Модуль gettext включён в комплект поставки php начиная с версии 4.2 (если нет, но надо пересобрать его с поддержкой этого модуля).
Итак допустим у вас есть скрипт:
мы переделаем его так:
А сейчас подробнее, функция gettext переводит строку с одного языка (я использую всегда английский, чтобы небыло проблем перехода сайта с windows-1251 и utf-8) и возвращает в другом (заданым в настройках). Вместо конструкции gettext(“Hello”) можно использовать удобный алиас _(“Hello”). Функция ngettext позволяет выводить множественные строки как “1 комментарий, 2 комментария, 5 комментариев”. Удобство такого метода заключается так же в том, что ваш скрипт и сейчас продолжает работать и выводить все строки, но на своём стандартном языке.
Далее надо создать словарь для gettext. Находим в интернете программу poEdit. Создаём в дереве проекта папку “locale” это будет папка для хранения всех переводов. В этой папке создаём папку “ru_RU” в ней, как вы наверное уже догадались, будут храниться словари для русского языка. Но в ней нужно создать третью, последнюю папку “LC_MESSAGES”.
Далее создаём новый словарь, меню - “File→New catalog…”. Там всё просто, описываем проект и добавляем путь, где лежат у нас файлы и сохраняем словарь как “./locale/ru_RU/LC_MESSAGES/test.po”. Так же в поле “Plural forms” надо вписать nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10⇐4 && (n%100<10 || n%100>=20) ? 1 : 2); это описание для обработки функции ngettext. Удобство данной программы в том, что она через утилиту xgettext парсит ваши файлы и выдерает всё то, что нужно перевести. Остальное дело за вами.
Далее, после того как вы все фразы перевели и сохранили, в той же паке появился файл test.mo.
Добавим в начало нашего скрипта такие строки:
После этого ваше приложение должно заговорить по русски.
Регистрация доменов .РФ или RU за 195р!!!