нужно сделать поддержку многоязычности для сайта. решил использовать
gettext, т.к. шаблоны туда прикручивать уж слишком геморно, придется
чуть ли не с нуля переписывать.
завернул все строки в _(''), создал нужные *.po, скомпилил, положил куда
надо - не работает. в чем может быть проблема?
вот кусок кода:
$LANGS = array(
'ru' => array('title' => 'Русский', 'locale' => 'ru_RU.UTF-8'),
'en' => array('title' => 'English', 'locale' => 'en_GB.UTF-8')
);
$l = explode('.', $LANGS[$_SESSION['lang']]['locale']);
$LANG = $l[0];
$CHARSET = $l[1];
putenv("LANGUAGE=$LANG");
putenv("LANG=$LANG");
setlocale(LC_MESSAGES, $LANG);
setlocale(LC_ALL, $LANG);
bindtextdomain(PROJECT_UNIX_NAME, LOCALES_DIR);
bind_textdomain_codeset(PROJECT_UNIX_NAME, preg_replace("/^[a-z]{2}(_[A-Z]{2})?/m", "", $CHARSET));
textdomain(PROJECT_UNIX_NAME);
// PROJECT_UNIX_NAME, LOCALES_DIR - константы, определенные в конфиге
Ответ на:
комментарий
от friday
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [убунтопроблемы] Сломалась локаль (2011)
- Форум проблема в локализации (кодировка в .po файле) (2005)
- Форум gettext в php (2005)
- Форум gettext in PHP (2002)
- Форум gettext (2007)
- Форум gettext (2006)
- Форум gettext (2003)
- Форум [hg, gettext] Ширина строки gettext (2011)
- Форум gettext+Qt (2013)
- Форум django+gettext (2013)