Pasos para crear una web multilenguaje (dos o más idiomas) con urls amigables del tipo:

miweb.com/en/about
miweb.com/es/about
miweb.com/de/about

1. Editamos el archivo application/config/config y dejamos el valor de la variable index_page vacio (por defecto viene con valor de “index.php”):

2. Descargar la libreria i18n.

3. Pegamos los 2 archivos (MY_Lang.php, MY_Config.php) dentro de la carpeta: application/core.

4. Abrimos el archivo MY_Lang.php y editamos la variable $languages y editamos el array con los idiomas que vayamos a utilizar, por ejemplo:

5. Configuramos las rutas en el archivo application/config/routes.php:

6. Creamos los archivos php donde almacenaremos las variables con los textos de cada idioma. Estos archivos tienen que cumplir 2 reglas:

– El nombre de los archivos php deben finalizar con el nombre “_lang“.
– Deben guardarse en la carpeta: application/language/[idioma]/ de la siguiente forma:

application/language/english/generales_lang.php
application/language/spanish/generales_lang.php
application/language/deutsch/generales_lang.php

Un ejemplo de archivo, en este caso el archivo de idioma español: spanish/generales_lang.php:

7. En el archivo del controlador incluimos las librerias necesarias. Por ejemplo:

8. Ya por último solo nos queda ver su modo de uso. En este caso dentro de un archivo de vista:

Para obtener el codigo iso del idioma activo se utiliza la variable:

Otro ejemplo de navegación entre idiomas: