Gettext, PHP og Windows 2008

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en Windows 2008-server (installeret på italiensk). Den kører Zend Server CE 5.1, som er Apache2.2 og PHP 5.3.5.


Jeg lavede dette enkle script:


putenv("LC\_ALL=de\_DE");
bindtextdomain('messages', './langs');
textdomain('messages');

echo \_("Hello world");


Katalogerne er:


/lang
    /it\_IT
       /LC\_MESSAGES
           /messages.mo
           /messages.po
    /de\_DE
       /LC\_MESSAGES
           /messages.mo
           /messages.po


Det jeg får er den italienske besked, ikke den tyske.
Det ser ud til, at putenv() ikke har nogen virkning.
Vær opmærksom på, at sprogkatalogstrukturen er korrekt, da filen it\_IT er korrekt indlæst.


Hvordan kan jeg indlæse den tyske oversættelse?

Bedste reference


Ikke alle lokaliteter understøttes på Windows. Også lokale navne er forskellige på windows også. Understøttede sprog og regioner er angivet på Microsoft-websteder. Hvis du udvikler dig på Windows-maskine, og din produktionsserver er på Linux, tror jeg du bør overveje at bruge Zend\_Translate [5] [6] [7] [8]