<?php
define('ROOT', realpath(dirname(__FILE__)));
$locale = "ru-RU";
$dir = ROOT . DIRECTORY_SEPARATOR . "locale";
putenv("LC_ALL=" . $locale);
putenv("LANG=" . $locale);
putenv("LANGUAGE=" . $locale);
setlocale(LC_ALL, $locale);
bindtextdomain("application", $dir);
bind_textdomain_codeset("appllication", "UTF-8");
textdomain("application");
var_dump($locale, $dir, gettext("Hello"));
Результат:
string 'ru-RU' (length=5) string 'D:\OpenServer\domains\sp.loc\locale' (length=28) string 'Hello' (length=5)В папке locale такая структура:
locale:
ru
LC_ALL
application.po
application.mo
ru-RU
LC_ALL
application.po
application.mo
ru_RU
LC_ALL
application.po
application.mo
Russian_Russia
LC_ALL
application.po
application.mo
Собственно, в файле application.po единственный перевод строки "Hello".Получалось ли у кого заставить работать нормально gettext?
P.S. Для Windows подходят локали "ru-RU" и "Russian_Russia", но не "ru" или "ru_RU".
P.P.S. Во вложении собственно сам мини-проект.
