Salut.
Tu peux faire voir le code qui est censé afficher le texte à traduire stp ?
Sinon regarde le premier commentaire de la doc gettext : https://www.php.net/manual/en/book.gettext.php#122509
Problème:
Premièrement je vous remercie de votre aide et votre tuto sur internationaliser son site avec gettext est bien expliqué, mon system est Windows 10
langue Français. Php 8.1.0
j'ai suivi votre tuto à la lettre, mais une fois la page index est traduite en français, la traduction en espagnol ne marche pas, même si je redémarre, la page ne s'affiche plus en anglais et l'affichage reste en français..
j'aimerais bien que vous me veniez en aide et merci à vous.
Localization.php:
Salut.
Tu peux faire voir le code qui est censé afficher le texte à traduire stp ?
Sinon regarde le premier commentaire de la doc gettext : https://www.php.net/manual/en/book.gettext.php#122509
Bonjour JoolsMcFly
voila le code que je voulaius traduire:
"<?php
$head = "<title>".("Page d'accueil")."</title>";
?>
<h1><?= ("Bienvenue"); ?></h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sollicitudin, libero ut ullamcorper pellentesque, orci neque ullamcorper lacus, ac facilisis metus nunc malesuada dolor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aenean sed libero eu augue posuere semper quis nec felis. Aliquam et sagittis lectus. Aliquam id velit ligula. Mauris sodales malesuada est eu vulputate. Ut semper risus non urna adipiscing molestie. Curabitur dictum, nisl pharetra pharetra fermentum, elit tellus imperdiet nisi, in tempor ligula lacus congue tellus. Morbi at purus velit. Quisque arcu orci, suscipit ut dictum in, sodales quis turpis. Integer iaculis orci tellus, id vulputate nisi. Donec eu tellus quam. Nunc consectetur tempor eros, et volutpat sapien fringilla in. Cras pretium risus vel eros pulvinar in hendrerit orci tincidunt.
</p>
<p>
Mauris egestas, nibh dapibus sodales semper, enim lectus ornare lorem, in porttitor odio tellus ut nisi. Vivamus suscipit ligula nec felis aliquet luctus. Praesent euismod ultrices rutrum. Aliquam a quam id ipsum dictum cursus. Pellentesque ultrices luctus velit, ut ornare ipsum sagittis sed. Etiam at urna odio. Nam iaculis leo eget erat tincidunt ut auctor lacus sagittis. Pellentesque vel eros quam, fringilla pharetra arcu. Vivamus vulputate leo eu leo blandit vitae tincidunt eros malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce nibh ante, accumsan nec consectetur sit amet, blandit a nulla. <p> </p>
</p>
<h1><?= _("Derniers commentaires"); ?></h1>
<?php
$count = 10;
echo sprintf(ngettext("%d Commentaire","%d Commentaires",$count),$count);
?>"
Salut.
Il te manque des _ où tu veux traduire :
Ensuite, as-tu bien mis à jour les .po ? As-tu les locales cibles installées ?
Bonjour JoolsMcFly
d'abord je salue votre patience avec moi,
j'ai ajouté les "_" la ou il faut
et les langues locales "es" et "en" sont bien installées . Mais le problème persiste toujours.
Merci à vous!
Bonjour.
Est-ce que l'ensemble de ton code est celui-ci ?
T_setlocale n'est pas une fonctione officielle. C'est setlocale (pour linux) que tu veux je pense.
D'après un commentaire sur la doc PHP (que je te conseille de bien lire) pour Windows il faut faire
au lieu de setlocale.
Est-ce que tu peux ajouter ce code à la fin :
et montrer ce que ça affiche ?
Les fichiers .mo et .po sont bien dans le dossier LOCALE_DIR ?
Et tu as bien redémarré apache entre chaque changement ?