|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : février 2005 Messages : 63 ![]() |
J'ai un projet en PHP5 / MVC
J'utilise gettext avec PoEdit pour parser les sources pour l'i18n. ca mache nickel. La où ca se complique : Je souhaite, pour mes classes de vues, placer certaines valeurs dans un fichier INI. Ca fonctionne tres bien pour tout, sauf ce qui concerne les titre de vue, labels de boutons HTML, bref tout ce qui touche a la langue. La est mon probleme. J'aimerais placer les titres de mes vues dans le fichier INI mais je ne vois pas comment faire pour que gettext parse mon fichier INI et extraie les titres, labels de boutons, etc.. a traduire. Le seul moyen que je vois pour l'instant c'est d'abandonner le format INI et faire un tableau de config PHP que gettexte pasera sans probleme. une solution ? merci d'avance |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
utilise autre chose que gettext, pour parser les ini y'a parse_ini_file
__________________
http://blog.stealth35.com/ |
|
|
01
|
|
|
#3 |
|
Membre du Club
![]() Inscription : février 2005 Messages : 63 ![]() |
le parsage du INI ne pose aucun probleme.
J'utilise parse_ini_file(). Mon probleme c'est que je veux mettre des expression en francais dans mon INI mais gettext ne va pas les parser pour les ajouter a son dictionnaire .po puisque c'est un .ini et pas un .php. A moins que j'arrive a forcer le parsage du .INI et que je mette dedans des expression du type : [views] myView.title = _('le titre de la vue') est ce plus clair ? |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
c'est a faire dans ta function pour récupérer le ini ça
__________________
http://blog.stealth35.com/ |
|
|
01
|
|
|
#5 |
|
Membre du Club
![]() Inscription : février 2005 Messages : 63 ![]() |
en fait faut que les expression gettext soient écrite en dur dans un fichier parsable par le moteur gettext.
Ca peut pas etre dynamique (ou alors j'ai une connaissance limitée de gettext) Je cite l'exemple d'un conteneur statique au format INI mais ca pourrait tout aussi bien etre un YAML ou XML. |
|
|
00
|
|
|
#6 | ||||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
c'est à toi de faire un adaptateur prévu pour, et de passer pas une autre fonction que directement gettext
par exemple Code :
Code :
__________________
http://blog.stealth35.com/ |
||||
|
|
01
|
|
|
#7 |
|
Membre du Club
![]() Inscription : février 2005 Messages : 63 ![]() |
Tu utilise gettext ?
les expression ajoutées au fichier .po sont uniquement celles contenues dans un fichier PHP, marquées en tant que argument de la fonction native '_()' Il faut que ces expression existent en dur. dans le fichier a parser (parser au sens du moteur gettext, pas au sens du parsage INI) En gros il faudrait que le mtoeur gettext puisse aussi parser d'autres fichiers que des .php Je vais voir , simplement en changeant l'extension du .ini en .php, si moteur peut le parser. Puis ensuite je remet l'extension .ini |
|
|
00
|
|
|
#8 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
mais non gettext accepte aussi les variables heureusement d'ailleurs...
rien ne t’empêche de faire ca : Code :
__________________
http://blog.stealth35.com/ |
||
|
|
01
|
|
|
#9 |
|
Membre du Club
![]() Inscription : février 2005 Messages : 63 ![]() |
oui bien sur que gettext accepte les variables.
Mais la question avant tout est : comment ajouter la valeur 'titre de ma vue' au dictionnaire du .po ? |
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
c'est pas du-tout le but de gettext, php ne compile pas les .po, c'est a toi des les rajouter dans ton logiciel, ou alors utilise un autre systeme
__________________
http://blog.stealth35.com/ |
|
|
01
|
|
|
#11 |
|
Membre du Club
![]() Inscription : février 2005 Messages : 63 ![]() |
en effet :
le moteur gettext parse les sources PHP et ajout les expressions dans le dictionnaire .po et compile le .po en .mo. |
|
|
00
|
|
|
#12 | ||||
|
Membre du Club
![]() Inscription : février 2005 Messages : 63 ![]() |
Je vais tenter d’être plus clair :
j'ai donc créé une classe FooView dans laquelle y a un membre nommé $titre Je crée la valeur du titre dans mon fichier INI : Code :
Code :
il ne me trouve aucune expression a ajouter dans son dictionnaire. Pour aller jusqu'au bout de la problématique, je transpose la config du fichier INI dans un tableau classique PHP. Et la bien sur PoEdit trouve de nouvelles entrées. Conclusion : je n'ai aucun moyen d'ajouter dans le dictionnaire .po des expressions issues d'un fichier INI. Ça marche qu'avec des fichier .php Y a t-il moyen de trouver une solution a ce problème ? merci |
||||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
c'est :
__________________
http://blog.stealth35.com/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com