🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #10910

Re: gettext en php (largo)

#10910
From: Gran Buda
Date: Wed, 23 Jan 2002 17:52
109 lines
3418 bytes
Manuel, creo que la historia no va por ahí. Para detectar el idioma lo
que se suele hacer es lo siguiente: 

1.- Cuando un navegador hace una peticion web, acompaña ésta de cierta
informacion: nombre de la aplicacion, version, y.... idioma(s)
preferidos, por orden de preferencia. 
2.- En php se puede recoger esta información y utilizarla para mostrar
una página adecuada a cada idioma. Al respecto, prueba el siguiente
codigo: 

<html>
<?

echo( $HTTP_ACCEPT_LANGUAGE );

?>
</html>

Puedes ver mas consultando la funcion phpinfo(). 



Manuel escribió:
> 
> Hola.
> 
>  Estoy intentando crear una web en linux con apache y php4.
>  Me gustaría que esta web fuera multi-idioma. Leyendo la
>  documentación de php, me encotré con que este tenía soporte
>  para gettext, pero no consigo hacerlo funcionar...
> 
>  sigo estos pasos:
> 
>  1) he creado un directorio /var/www/locale/en/LC_MESSAGES,
>     donde se supone que debe ir el .mo. (para el ingles).
> 
>  2) en la pagina php (index.php):
> 
>        ...
>        putenv("LANG=en");
>        setlocale("LC_ALL", "en");
> 
>        bindTextDomain("index", "./locale");
>        textDomain('index');
>        ...
>        $menusec->item(gettext("Proyectos"));
>        ...
>   3) He creado el fichero messages.po, con:
>      xgettext index.php
> 
>      y me ha salido esto (yo he puesto el "Projects"):
> 
> # SOME DESCRIPTIVE TITLE.
> # Copyright (C) YEAR Free Software Foundation, Inc.
> # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
> #
> #, fuzzy
> msgid ""
> msgstr ""
> "Project-Id-Version: PACKAGE VERSION\n"
> "POT-Creation-Date: 2002-01-20 23:11+0100\n"
> "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
> "Language-Team: LANGUAGE <LL@li.org>\n"
> "MIME-Version: 1.0\n"
> "Content-Type: text/plain; charset=CHARSET\n"
> "Content-Transfer-Encoding: 8bit\n"
> 
> #: index.php:47
> msgid "Proyectos"
> msgstr "Proyects"
> 
> 
>    4) Luego he generado el .mo con:
>       msgfmt -o index.mo messages.po
> 
>       y lo he puesto en el directorio /var/www/locale/en/LC_MESSAGES
> 
>   Pero nada de nada. En la página siempre me aparece en
>   español. Alguien puede orientarme?
> 
> Un saludo y gracias con antelacion.
> 
> #
> # Powered by Debian GNU/Linux 3.0
> # http://www.alteasystem.com
> #
Technical Details
Message-ID: <3C4EF876.36857FCF@navegalia.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!npeer.kpnqwest.net!news.airtel.net
References: <a2ff2g$qoi$1@diana.bcn.ttd.net>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,c8e71cd97cfe0a75
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-01-23 09:52:42 PST
Message-ID: <3C4EF876.36857FCF@navegalia.com>
Date: Wed, 23 Jan 2002 18:52:54 +0100
From: Gran Buda <turing@navegalia.com>
Organization: -
X-Mailer: Mozilla 4.74 [es] (X11; U; Linux 2.2.16 i686)
X-Accept-Language: en
MIME-Version: 1.0
Newsgroups: es.comp.os.linux.programacion
Subject: Re: gettext en php (largo)
References: <a2ff2g$qoi$1@diana.bcn.ttd.net>
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
NNTP-Posting-Host: 212.73.36.224
X-Original-NNTP-Posting-Host: 212.73.36.224
X-Trace: news.airtel.net 1011808350 212.73.36.224 (23 Jan 2002 18:52:30 +0100)
Lines: 109
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!npeer.kpnqwest.net!news.airtel.net