2017-10-06 4 views
0

J'essaie de créer un nouveau site Web multilingue. J'utilise poEDit et getText() fonction. Je ne sais pas ce que j'ai manqué avec ce code:site en plusieurs langues poEDit et getText()

<?php 
    if (!function_exists("gettext")) 
    { 
     echo "gettext is not installed\n"; 
    } else { 
     echo "gettext is supported\n"; 
    } 

    $language = 'ar_JO'; 
    putenv("LANG=$language"); 
    setlocale(LC_ALL, $language); 

    $domain = 'ar_JO'; 
    bindtextdomain($domain, "./locale"); 
    bind_textdomain_codeset($domain, 'UTF-8'); 
    textdomain($domain); 

    echo _("HELLO_WORLD"); 
    echo _("hi this to be translated "); 

Répondre

0

Le répertoire est très importé. Créer une structure de répertoires comme ceci:

locale/de_DE/LC_MESSAGES/messages_de_DE.mo 
locale/de_DE/LC_MESSAGES/messages_de_DE.po 

Ensuite, essayez ce code exemple:

<?php 

$locale = 'de_DE'; 
//$locale = 'fr_CH'; 
$domain = 'messages'; 
$codeset = 'UTF-8'; 
$directory = __DIR__ . '/locale'; 

// Activate the locale settings 
putenv('LC_ALL=' . $locale); 
setlocale(LC_ALL, $locale); 

// Debugging output 
$file = sprintf('%s/%s/LC_MESSAGES/%s_%s.mo', $directory, $locale, $domain, $locale); 
echo $file . "\n"; 

// Generate new text domain 
$textDomain = sprintf('%s_%s', $domain, $locale); 

// Set base directory for all locales 
bindtextdomain($textDomain, $directory); 

// Set domain codeset (optional) 
bind_textdomain_codeset($textDomain, $codeset); 

// File: ./locale/de_DE/LC_MESSAGES/messages_de_DE.mo 
textdomain($textDomain); 

// test translations 
echo _('Yes'); 
+0

J'ai ce "C: \ wamp \ www \ loginSystemOOP/locale/ar_JO/LC_MESSAGES/messages_ar_JO.mo" et ma structure de fichiers est 'C: \ wamp \ www \ loginSystemOOP/locale/ar_JO/LC_MESSAGES /' –