Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/php/multilenguaje»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con «===gettext()=== *Función en php que nos va a permitir tener nuestra página en varios lenguajes, lo que se llama internacionalizar nuestra aplicación de una forma profesi...»)
 
(Instalación)
Línea 8: Línea 8:
 
  apt-get install gettext
 
  apt-get install gettext
 
</source>
 
</source>
 +
*Fichero de  configuración de php (En mi caso)
 +
/etct/php/7.2/apache/php.ini
 +
y quitamos el comentario ''''';'''''  de la extensión ''''gettext'''''
 +
<source lang=bash>
 +
....
 +
;extension=gd2
 +
extension=gettext
 +
;extension=gmp
 +
....
 +
</source>
 +
*Reiniciamos servicio
 +
<source lang=bash>
 +
sudo service apache2 restart
 +
</source>
 +
 
===Estructura de dierectorios===
 
===Estructura de dierectorios===
 
*Se trata de tener un directorio por cada idioma que queramos hacer traducir
 
*Se trata de tener un directorio por cada idioma que queramos hacer traducir

Revisión de 01:52 8 sep 2018

gettext()

  • Función en php que nos va a permitir tener nuestra página en varios lenguajes, lo que se llama internacionalizar nuestra aplicación de una forma profesional
https://www.gnu.org/software/gettext/manual/gettext.html

Instalación

  • Para poder usar esta función debemos tener instalado el paquete de ubuntu identificado con el mismo nombre.
 apt-get install gettext
  • Fichero de configuración de php (En mi caso)
/etct/php/7.2/apache/php.ini

y quitamos el comentario ; de la extensión 'gettext

....
;extension=gd2
extension=gettext
;extension=gmp
....
  • Reiniciamos servicio
sudo service apache2 restart

Estructura de dierectorios

  • Se trata de tener un directorio por cada idioma que queramos hacer traducir
  • Estos directorios se espera bajo locate
  • Los nombres de cada directorio de cada idioma a de ser un nombre estandarizado
  • Podemos obtener una lista de las localizaciones instaladas en nuestro sistema
 locale -a

Creando los ficheros de texto

  • Una herramienta a usar puede ser poedit (Hay varias, esta parece que tiene mucha aceptación)
 apt-get install poedit

La página oficial

https://poedit.net/


Funciones a usar para traducir

bind_textdomain_codeset
Especifica el juego de caracteres en que los mensajes del catálogo del dominio serán devueltos
bindtextdomain
Establece la ruta del dominio
dcgettext
Sobrescribe el dominio de la búsqueda única del mensaje
dcngettext
Versión plural de dcgettext
dgettext
Sobrescribe el dominio actual
dngettext
Versión plural de dgettext
gettext
Consultar un mensaje en el dominio actual
ngettext
Versión plural de gettext
textdomain
Establece el dominio actual