1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

gettext not working under local xampp

Discussion in 'PHP' started by thosecars82, Apr 13, 2010.

  1. #1
    I have a problem with this code
    
    <?
    Header( "HTTP/1.1 301 Moved Permanently" ); 
    Header( "Location: http://www.example.com" ); 
    ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <?php
    $language="fr_FR";
    putenv("LC_ALL=$language");
    setlocale(LC_ALL, $language);
    bindtextdomain("messages", "./locale");
    textdomain("messages");
    print "<p>"._("hi! This website is written in English.")."</p>\n";
    ?>
    </body>
    </html>
    
    Code (markup):
    No matter what string I set the variable $language with that gettext will always look for a translation in the folder locale\es_ES\LC_MESSAGES whether the language is Spanish (es_ES) or not. For example, in the above code, gettext will not look for the French translation as it should in
    locale\fr_FR\LC_MESSAGES but it will look for the translation into the folder corresponding to Spanish language, that is to say, locale\es_ES\LC_MESSAGES.

    Moreover, if gettext does not find the folder locale\es_ES\LC_MESSAGES then
    it will display the string in the original language(English) even if $language equals "fr_FR" and at the same time there is a locale\fr_FR\LC_MESSAGES folder created and the corresponding messages.mo and messages.po files created in this folder.

    I made sure that I re-run Apache and MySql under Xampp whenever I change anything in the code but it keeps having this undesired behaviour anyways.

    Do you have any idea about why only translations in .po files in the Spanish folder locale\es_ES\LC_MESSAGES are considered and not those translations corresponding to other languages and their corresponding folders?

    Thanks in advance.
     
    thosecars82, Apr 13, 2010 IP
  2. paipiski

    paipiski Peon

    Messages:
    37
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Did you try showing errors ?
    
    
     error_reporting(E_ALL);
     ini_set("display_errors", 1); 
     
    Code (markup):
     
    paipiski, Apr 21, 2010 IP