[PHP] gettext maakt geen bestanden *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben vandaag aan de slag gegaan met de gettext extensie voor php, maar ik krijg het niet goed werkend. Gettext wordt wel geladen (hij staat bij de overzicht van extensies bij phpinfo()), maar hij maakt geen mappen aan.

in de manual staat deze voorbeeld, waarmee het bestand ./locale/de_DE/LC_MESSAGES/myPHPApp.mo gegenereerd zou moeten worden.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Set language to German
setlocale(LC_ALL, 'de_DE');

// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");

// Choose domain
textdomain("myPHPApp");

// Translation is looking for in ./locale/de_DE/LC_MESSAGES/myPHPApp.mo now

// Print a test message
echo gettext("Welcome to My PHP Application");

// Or use the alias _() for gettext()
echo _("Have a nice day");
?> 


maar het maakt geen enkele bestand of map aan. weet iemand wat ik fout heb gedaan?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
oke, weet er nu al weer wat meer over ;)

heb dus van die GNU site tools gedownload om de teksten eruit te halen, en naar *.po te zetten, maar dat lukt me nu dus weer niet...

ik gebruik deze commando:

xgettext -a test.php

nu zou hij mappen moeten aanmaken, met daarin een po file dus, maar dat gebeurt niet. ik heb ook de mappen handmatig aangemaakt, maar ook dan doet die het niet.

Acties:
  • 0 Henk 'm!

Verwijderd

Hoe kom je toch op het idee dat xgettext directories aan zou moeten maken?

Je moet zorgen dat op de juiste plek het .mo bestand staat. En dat betekent dus dat je best weleens een paar commando's zult moeten uitvoeren. Eerst xgettext om de waarden in een .po bestand te zetten, die bewerk je, en met msgfmt 'compile' je er een .mo bestand van. En jij moet er maar voor zorgen dat die op de juiste plaats komt. In jouw geval in ./locale/de_DE/LC_MESSAGES/myPHPApp.mo, dat klopt.

[ Voor 3% gewijzigd door Verwijderd op 15-08-2004 19:37 ]