一些gettext鍵不適用於我 - 它們顯示的是鍵而不是翻譯,儘管有一個。我正在用PHP File_Gettext
梨庫的.mo文件,它似乎是工作好了,所以我做了下面的腳本來嘗試一下,哪些鍵不做工精細:如何調試php gettext?
$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使用它們因爲某些原因。
檢查翻譯文件。我認爲gettext比'File_Gettext_MO'更準確。在其中尋找字符串「Cacnelled」,可能是你可以看到的東西。您可能還想將MO文件中的零件添加到問題中。 – hakre 2011-06-17 08:57:11
@hakre,我可以在裏面看到'Cancelled'和'Storniert'。我應該添加哪部分文件? – Fluffy 2011-06-17 09:31:57
這是什麼庫? File_Gettext梨?我無法在任何地方找到File_Gettext_MO。 – Gazzer 2011-08-26 04:42:21