2012-07-16 5 views
1

J'ai une localisation de travail dans mon projet. Travailler signifie que mon projet est traduit dans n'importe quelle langue du dossier locale/sk, sk pour slovaque étant ma langue système par défaut.Setlocale renvoie false (WAMP)

Le réglage dans une autre langue ne fonctionne pas. J'ai essayé $lang = 'cs', 'cz', 'en', 'en_UK', 'en_UK.utf8' et d'autres. Cependant, seule la traduction dans le dossier 'sk' est prise et la fonction setlocale() renvoie la valeur false. J'ai essayé de changer la langue par défaut dans le navigateur - aucun effet.

Ceci est mon code:

putenv("LANG=$lang"); 
setlocale(LC_ALL, $lang); 
bindtextdomain("messages", realpath("../localem")); 
textdomain("messages"); 
... 
_("Welcome!") 

J'ai aussi essayé ces:

putenv("LANGUAGE=$lang"); 
putenv('LC_ALL=$lang'); 

Toutes les suggestions sont les bienvenus.

Edit:

$loc = array('nor'); 
if (setlocale(LC_ALL, $loc)==false) print ' false'; else print setlocale(LC_ALL, $loc); 

'nor' estampes Norwegian (Bokmĺl)_Norway.1252, 'rus' russe, mais 'svk' impressions fausses et le fait 'cze'.

Sur la liste tous ces éléments sont mentionnés:

http://msdn.microsoft.com/en-us/library/cdax410z%28v=vs.80%29.aspx

Répondre

1

Windows utilise un autre format pour la configuration locale, voir MSDN: List of Country/Region Strings.

Vous pouvez envoyer une liste des endroits à setLocale en envoyant dans un tableau, comme pour obtenir les noms de mois norvégien et formats de temps:

setlocale(LC_TIME, array('nb_NO.UTF-8', 'no_NO.UTF-8', 'nor')); 

Windows peut revenir mais les chaînes dans un autre encodage que UTF-8, Donc, vous voudrez peut-être gérer cela manuellement (conversion de cpXXXX à UTF-8).

+0

merci pour la réaction. J'ai édité ma question, pour signaler les progrès (je n'arrive toujours pas à comprendre et maintenant je commence à être confus) –

+0

aussi, même si je ne me trompe pas, aucune des traductions dans les dossiers 'non', 'ni', ou 'no_NO' est pris, mais toujours celui du dossier 'sk'. –

+0

Il est impossible de dire quel type de logique est présent pour trouver la traduction sans coller ces informations. Pour tout ce que nous savons, cela pourrait même ne pas dépendre de la valeur de setlocale. – MatsLindh