Некоторые ключи gettext у меня не работают - вместо перевода показывает ключ, хотя он есть. Я делаю файл .mo с библиотекой PHP File_Gettext
Pear, и, похоже, он работает нормально, поэтому я сделал следующий скрипт, чтобы попробовать, какие клавиши не работают нормально:
$locale = 'en_GB';
$domain = 'messages';
setlocale(LC_ALL, $locale);
putenv("LC_ALL=".$locale);
bindtextdomain($domain, "D:/_gt");
bind_textdomain_codeset($domain, 'UTF-8');
textdomain($domain);
$mocreator = new File_Gettext_MO();
$mocreator->load('D:/_gt/en_GB/LC_MESSAGES/messages.mo');
foreach ($mocreator->strings as $key => $value) {
if ($value == gettext($key)) {
var_dump("ok");
} else {
var_dump($key, $value, gettext($key));
}
}
Из вывода выше я вижу, что некоторые ключи работают — я вижу много ok
— а некоторые нет, что приводит к следующему:
string 'Cancelled' (length=9)
string 'Storniert' (length=9)
string 'Cancelled' (length=9)
Итак, в файле есть перевод, но gettext почему-то не может его использовать.
File_Gettext_MO
. Найдите там строкуCacnelled
, возможно, вы ее видите. Возможно, вы также захотите добавить часть из вашего MO-файла в вопрос. - person hakre   schedule 17.06.2011Cancelled
, иStorniert
. Какую часть файла добавить? - person Fluffy   schedule 17.06.2011