On Wed, 14 Nov 2001 08:01:54 -0700, [EMAIL PROTECTED] (Zak Greant) wrote:

>Drop by http://www.php-er.com and take a look at the chapter on 
>gettext.
>
>I have written a complete overview of using gettext with PHP. It is 
>also Unix-centric, but it is easier to understand than the gettext 
>docs. : )

Your page at:
http://www.php-er.com/chapters/Gettext_Functions.html
is very clear!

I have also completed the 'msgfmt' utility, so I have succesfully
created a "binary language file" (the .mo file from the .po file)
But.. unfortunately I still could not manage to get it work :-(

This is what I have done.

On the W2000-webserver, I've put the nl.mo file in the following
folder (directory):

[webroot]\melle\includes\translations\nl\LC_MESSAGES

so, in that directory resides the 'nl.mo' file.

I've altered your .php example to read:

=========
<HTML>
<BODY>
<?
// Bind a domain to directory
// Gettext uses domains to know what directories to
// search for translations to messages passed to gettext
bindtextdomain ('greetings', './includes/translations'); // Set the
current domain that gettext will use
textdomain ('greetings'); # Make an array
# Use the ISO two-letter codes as keys
# Use the language names as values
$iso_codes = array (
    'en'=>'English',
    'fr'=>'French',
    'it'=>'Italian',
    'pt'=>'Portuguese',
    'es'=>'Spanish',
    'nl'=>'Nederlands'
); foreach ($iso_codes as $iso_code => $language) {
    # Set the LANGUAGE environment variable to the desired language
    putenv ('LANGUAGE='.$iso_code); # Print out the language name and
greeting
# Filter the greeting through gettext
printf ("<b>%12s:</b> %s\n", $language, _("str_hello"));
}
?></BODY></HTML>
=======

I've put the above .php file in the [webroot]\melle folder.

The (wrong) output is:

     English: str_hello
      French: str_hello
     Italian: str_hello
  Portuguese: str_hello
     Spanish: str_hello
  Nederlands: str_hello

And, in the nl.po file, I have entered:

======
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2001-11-14 17:11+0100\n"
"Last-Translator: Melle Koning <[EMAIL PROTECTED]>\n"
"Language-Team:  <>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "str_hello"
msgstr "hallo"
======

So, what I expected was:

===
     English: str_hello
      French: str_hello
     Italian: str_hello
  Portuguese: str_hello
     Spanish: str_hello
  Nederlands: hallo
===

So this does not work!

Now, what I think could still be going wrong is that 'gettext' is
unable to find the nl.mo file, in other words gettext is unable to
find the right folder(directory)...

My question:
How should I alter:
bindtextdomain ('greetings', './includes/translations'); 

I have already done this:

echo bindtextdomain ('greetings', '.\includes\translations'); 

This returns:
C:/Inetpub/PowerPlate/melle/includes/translations

Which seems to be ok, with the difference that I guess windows wants
to have:
C:\Inetpub\PowerPlate\melle\includes\translations
(backslashes instead of forward slashes)?

Any other hints to get gettext to find the .mo files???

Thanks,








-- 
  http://hace.dyndns.org/ 
  Everything I say is my own opinion and not necessarily that of my employer.


-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to