11
votes

Php gettext sous Windows

Il y a quelques tutoriels là-bas pour GetText (avec Poidit) ... Malheureusement, c'est surtout pour un environnement UNIX. Et encore plus malheureux, c'est que je gère mon serveur WAMP sur Windows XP (mais je développe un environnement UNIX) et aucun des tutoriels ne peut obtenir de fonctionner correctement pour moi. De Page manuelle , il apparaît que c'est un processus différent sur un processus Environnement Windows. J'ai essayé certaines des solutions dans les commentaires, mais je ne peux toujours pas le faire fonctionner! J'ai passé de nombreuses heures à ce sujet, j'espère que quelqu'un peut me signaler dans la bonne direction pour faire fonctionner cette chose! (Et je suis sûr qu'il y en a d'autres personnes qui partagent ma frustration.) Jusqu'à présent, avec ma configuration, je reçois seulement la sortie "Bonjour World!" Alors que je devrais avoir la chaîne traduite.

Voici ma configuration / code jusqu'à présent: xxx

structure de dossier xxx


4 commentaires

Quelle est la définition de "_" fonctionner?


Le chaos local a été ce qui m'a fait passer à Framefend.zend.com/manual/de /zend.translate.html


Pourquoi définissez-vous lc_messages ?


@Alixaxel - car lc_messages est Pas nécessairement défini . Dans mon expérience, il n'existe jamais sur Windows.


6 Réponses :


0
votes

Je n'ai pas fait une enquête complète à ce sujet, mais je suis sûr que l'une de vos erreurs est que vous avez utilisé des codes locaux non valides - même sur Windows, les codes locaux sont les mêmes - ce sont des locaux GetText et ils sont des plateformes croisées .

S'il vous plaît essayer d'utiliser simplement "de" comme code local, cela devrait fonctionner. Assurez-vous également que votre PHP dispose d'une extension GetText installé et activée (vérifiez avec PHPInfo).


1 commentaires

Les codes locaux sont différents dans Windows, vérifiez l'entrée gettext () sur le manuel PHP.



6
votes

J'ai couru dans des problèmes tout en travaillant avec GetText sur ma machine locale et, après une recherche, j'ai trouvé cette page qui a résolu mon problème: http: //www.kipras. com / blog / get-gettext-to-work-in-apache-on-windows / 96

Je vise à partir de la page Web: P>

sur les serveurs Linux (ou tout autre serveur à part Windows), la façon de le faire est Ceci: p>

putenv(“LC_ALL=en_US”);


2 commentaires

L'ancien lien en cassé, le lien de travail actuellement est kipras.com/blog/getting-gettext-to-work-in-apache-on-windows / 96


Pourquoi le vote en bas! C'est une vieille réponse. Si quelque chose de mauvais commentaire ou post une nouvelle réponse.



2
votes

J'ai eu le même problème et j'ai perdu près d'une journée environ. Enfin, j'ai trouvé une solution très simple, à savoir désinstaller Wamp Server (version 2.1) et Installez une version plus récente (wamserver 2.1e - 32 bits). C'est étrange, mais cela a résolu le problème complètement.

Voici le code d'échantillon qui a fonctionné pour moi: xxx

espère que cela aide.


2 commentaires

N'oubliez pas d'activer PHP_GETTEXT à partir du menu Extensions PHP dans le serveur WAMP.


Résolu pour moi non plus. Il semble un bug avec PHP 5.2.x, GetText et Windows. Voir ce message: Stackoverflow.com/questions/3398113/php-getext-problems



-3
votes

C'est parce que je n'avais pas installé les locaux.


2 commentaires

Cela répond pourquoi cela ne fonctionne pas mais cela n'aide pas vraiment sur la façon de le faire fonctionner.


Qu'est-ce que cela signifie que je n'ai pas installé de locaux? Il doit être vraiment douloureux de copier le lien ou de type 3 lignes de texte.



0
votes

Peut être trop tard, mais j'avais des problèmes similaires jusqu'à ce que j'ai activé "la balise ouverte courte" dans mes paramètres PHP Wamp


0 commentaires

0
votes

C'est la solution qui a fonctionné pour moi. Cela fonctionne sur le dernier wamserver. (Source: http://www.extradrm.com/blog/?p=1035)

1) télécharger php-gettext d'ici: https://launchpad.net/php- GetText / + Télécharger et décalez-le

2) Ajoutez les fichiers suivants trouvés dans la racine de paquet dans le même dossier que test-language.php: - gettext.inc - gettext.php - flux.php

3) Ouvrez votre php.ini et commentant wamserver php_gettext.dll:

; extension = php_getext.dll

4) Ceci est le nouveau test de test de test-language.php xxx

après tout cela, vous devez créer un dossier Locale, EN_US (ou d'une autre langue), LC_MESSAGES dossier, puis mettre le fichier message.po.


0 commentaires