CakePHP multilengüaje (Internationalization & Localization)

En este tutorial explicaremos como configurar los diferentes lenguajes en los que se mostrarán los menús y contenidos de un sitio web hecho mediante CakePHP.

Lo primero que hay que tener en cuenta a la hora de empezar con internallización es introducir los textos en el código de la siguiente manera:

1
<h2><?php __('texto en castellano que se puede traducir'); ?></h2>
2

Haciendo esto nuestro código está preparado para hacerse multilengüaje. En caso de no tener varios idiomas, la línea anterior sería equivalente a la siguiente:

1
<h2>texto en castellano que se puede traducir</h2>

Pero si por el contrario, está configurado el sitio CakePHP multilengüaje, entonces el texto entre ‘__()’ será utilizado como clave para cargar el texto en el idioma seleccionado.

¿De dónde obtiene CakePHP los textos para los diferentes idiomas?

En la estructura de carpetas del sitio web se tienen que copiar todos los ficheros ‘.po’ con las traducciones como se indica a continuación:

1
/app/locale/<locale>/LC_MESSAGES/<domain>.po
2
 
3
// Ejemplo de estructura para tres idiomas
4
/app/locale/eng/LC_MESSAGES/default.po (inglés)
5
/app/locale/fre/LC_MESSAGES/default.po (francés)
6
/app/locale/por/LC_MESSAGES/default.po (Portugués)

¿Cómo indicar el idioma a utilizar?

En el fichero app/Config/core.php habrá que indicar el idioma en el que se mostrarán los textos de la web. Para ello utilizar la siguiente línea. En ella se configura como idioma ‘francés':

1
Configure::write('Config.language', 'fre');

Añadiendo esa línea, el sitio web mostrará los textos con las traducciones configuradas en el fichero:

1
/app/locale/fre/LC_MESSAGES/default.po

Un ejemplo de este fichero es el siguiente

 Text |  copy code |? 
1
2
msgid "AllSettings"
3
msgstr "Ajustes"
4
 
5
msgid "Users"
6
msgstr "Usuarios"
7

Con estos sencillos pasos podemos mantener un sitio web en diferentes idiomas.

Share Button
Developando Web&Mobile

Sobre 

Developando es una pequeña empresa que se dedica al diseño web y de aplicaciones para móviles.

Vistia nuestra web o nuestro perfil Devel Opando para conocernos mejor.

    Find more about me on:
  • facebook
  • googleplus
  • linkedin
  • twitter
  • youtube

Deja tu comentario

Loading Disqus Comments ...
Loading Facebook Comments ...