2017-05-03 4 views
0

Textübersetzung über gettext funktioniert nicht. Helfen Sie mir bitteProbleme mit gettext php

$translate = 'messages'; 

putenv("LC_ALL=en_US"); 
T_setlocale(LC_ALL, "en_US"); 

bindtextdomain($translate, _ROOT_DIR_."locale/"); 
textdomain($translate); 
bind_textdomain_codeset($translate, 'UTF-8'); 

Ordnerstruktur:

locale -> en_US -> LC_MESSAGES -> messages.mo messages.po

Script messages.po:

msgid "" 
msgstr "" 
"POT-Creation-Date: 2017-05-03 15:53+0300\n" 
"PO-Revision-Date: 2017-05-03 15:54+0300\n" 
"Last-Translator: \n" 
"Language-Team: \n" 
"MIME-Version: 1.0\n" 
"Content-Type: text/plain; charset=UTF-8\n" 
"Content-Transfer-Encoding: 8bit\n" 
"X-Generator: Poedit 2.0.1\n" 
"X-Poedit-Basepath: .\n" 
"Plural-Forms: nplurals=2; plural=(n != 1);\n" 
"Language: en_US\n" 

#: index.php:5 
msgid "Bonjour tout le monde" 
msgstr "Hello world" 
+1

Willkommen bei SO. Bitte klären Sie, in welcher Hinsicht gettext "nicht funktioniert". Fügen Sie Fehlermeldungen hinzu und erklären Sie, was Sie erreichen möchten. –

+0

Wenn Sie unter Windows arbeiten, bin ich mir ziemlich sicher, dass Sie SOL werden ... Wenn Sie in * nix sind, denken Sie daran, dass Sie Apache neu starten müssen, nachdem Sie Änderungen an den .po-Dateien vorgenommen haben. – CD001

+0

Ich stimmte: .po und .mo Dateien, Gebietsschema, Domäne, und der Text ist immer noch nicht übersetzt Keine Fehler werden angezeigt Jedes Mal nach dem Ändern von .po ich öffne wieder open serever –

Antwort

0

Sie mussten nur eine Zeile in der Datei php.ini auskommentieren. So -

;extension=php_gettext.dll