Str_replace avec Gettext

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Str_replace avec Gettext

Re: Str_replace avec Gettext

par Castor Gaspard » 14 avr. 2011, 11:49

Hé, hé,

Merci, Mazarini, de ton observation. C'est pour ça que je suis un éternel débutant. :)

Cordialement,

Gaspard

Re: Str_replace avec Gettext

par Mazarini » 14 avr. 2011, 09:14

Bonjour,

Le fonctionnement du str_replace est différent .

Il faut faire un truc du genre :
$text = gettext('Ma phrase à traduire');
$text = str_replace('jour','nuit',$text);
str_replace('jour','nuit','localisation.php'); ne change rien puisque 'jour' n'est pas dans la chaine 'localisation.php'

Re: Str_replace avec Gettext

par Castor Gaspard » 14 avr. 2011, 08:17

Bonjour,

Bah, je me suis tourné vers une solution en JavaScript. Tant pis pour les clients ayant désactivé cette fonctionnalité : le site sera quand même accessible, sans perte d'information.

Merci de votre attention.

Cordialement,

Gaspard

Str_replace avec Gettext

par Castor Gaspard » 13 avr. 2011, 11:13

Bonjour,

J'aimerai savoir si on peut, à la volée, remplacer certaines chaînes de traduction affichées avec Gettext.

Je n'ai rien trouvé sur ce sujet, car mon idée est peut-être saugrenue. :mrgreen:

Le but est de fournir une typographie soignée sans forcément alourdir le fichier .po avec des entités Html, comme par exemple ajouter un espace insécable devant un point d'exclamation ou d'interrogation pour le français.

Voici le code de mon fichier localization.php...
$locale = 'fr_FR';
if (isset($_GET['locale'])) $locale = $_GET['locale'];
putenv('LC_ALL = $locale');
setlocale(LC_ALL, $locale);
bindtextdomain('messages', './locale');
bind_textdomain_codeset('messages', 'UTF-8');
textdomain('messages');
Si je fais sur la ligne suivante...
str_replace('jour', 'nuit', 'messages');
"jour" reste affiché.

J'ai aussi essayé après l'appel du fichier de localisation dans la page principale avec...
require_once('localization.php');
str_replace('jour', 'nuit, 'localization.php');
Au demeurant, je préfèrerai agir dans le fichier localization.php lui même pour n'affecter que l'affichage du français.

J'espère avoir été clair.

Mille mercis pour votre aide précieuse. :D

Cordialement,

Gaspard