Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'utilise Zend_Translate pour traduire ma barre de menu... Mais je ne peux pas utiliser les caractères de langues français (é è à etc...)
Je vous met ci-dessous un extrait de mon fichier .tmx et l'erreur.
Erreur: Zend_Translate_Exception: XML error: Invalid character at line 38 in F:\WWW\zwahlensa.ch\library\Zend\Translate\Adapter\Tmx.php on line 88
et une partie de mon fichier .tmx
<?xml version="1.0" ?> <!DOCTYPE tmx SYSTEM "tmx14.dtd"> <tmx version="1.4"> <header creationtoolversion="1.0.0" datatype="winres" segtype="sentence" adminlang="fr-ch" srclang="fr-ch" o-tmf="abc" creationtool="XYZTool" > </header> <body> <tu tuid='home'> <tuv xml:lang="fr"><seg>Accueil</seg></tuv> <tuv xml:lang="de"><seg>Startseite</seg></tuv> <tuv xml:lang="en"><seg>Home</seg></tuv> </tu> <tu tuid='enterprise'> <tuv xml:lang="fr"><seg>Entreprise</seg></tuv> <tuv xml:lang="de"><seg>Unternehmen</seg></tuv> <tuv xml:lang="en"><seg>Enterprise</seg></tuv> </tu> <tu tuid='products'> <tuv xml:lang="fr"><seg>Produits</seg></tuv> <tuv xml:lang="de"><seg>Produkte</seg></tuv> <tuv xml:lang="en"><seg>Products</seg></tuv> </tu>
Merci d'avance.
Dernière modification par Yoteco (01-05-2007 17:40:13)
Hors ligne
Je ne connais pas précisément ce type de fichiers, mais j'ai une petite remarque : tu as oublié de préciser l'encodage de ton fichier xml :
<?xml version="1.0" ?>
devrait être :
<?xml version="1.0" charset="utf-8" ?>
(utf8 ou iso-8859-1, c'est selon ta config)
Dernière modification par haltabush (25-04-2007 09:14:29)
Hors ligne
Quand je spécifie un charset il me retourne l'erreur suivante:
Zend_Translate_Exception: XML error: XML declaration not finished at line 1 in F:\WWW\zwahlensa.ch\library\Zend\Translate\Adapter\Tmx.php on line 88
C'est bizzare on doit pouvoir spécifier!!!
Hors ligne
j'ai la même erreur pour l'encodage, donc pour l'instant je l'ai omis.
Pour les accents j'utilise les codes correspondants : & # 233 ; -> é
Par contre après le problème c'est pour l'index dans le fichier tmx : que je mette le caractère accentué ou le code, il ne retrouve pas mon libellé en php
maKyo
Hors ligne
Etes vous surs que votre éditeur de texte est bien en UTF-8 ? UTF-8 est une façon d'encoder les caractères (charset). Il est probable que le ZF travaille avec des fichiers tmx en UTF-8.
A+, Philippe
Hors ligne
perso, j'ai trouvé une solution
dans mon tuid je le met sans accent,
dans la traduction "fr" je met le code :
<tu tuid='Introduisez le numero de client'>
<tuv xml:lang="fr"><seg>Introduisez le num & amp; #233;ro de client</seg></tuv>
du coté de ma vue php : <?php print $translate->_("Introduisez le numero de client"); ?>
et à l'affichage j'ai bien : Numéro de client
je viens de voir également dans la spec qu'il y a un attribut o-encoding dans la balise header
http://www.lisa.org/standards/tmx/tmx.html#SectionMisc
http://www.lisa.org/standards/tmx/tmx14.dtd
<!-- Header --> <!ELEMENT header (note|prop|ude)* > <!ATTLIST header creationtool CDATA #REQUIRED creationtoolversion CDATA #REQUIRED segtype (%segtypes;) #REQUIRED o-tmf CDATA #REQUIRED adminlang CDATA #REQUIRED srclang CDATA #REQUIRED datatype CDATA #REQUIRED o-encoding CDATA #IMPLIED creationdate CDATA #IMPLIED creationid CDATA #IMPLIED changedate CDATA #IMPLIED changeid CDATA #IMPLIED >
maKyo
Hors ligne
Pages: 1