Sigueme por RSS! RSS

CodeIgniter multi lenguaje

CodeIgniter por defecto viene con los mensajes de error en ingles, para pasarlo a español u otro idioma sigue los siguientes pasos:

1.- descarga el paquete correspondiente a el idioma que desees instalar (link español).

2.- descomprimelo en la carpeta language que en la versión 2.03, se encuentra en --> CodeIgniter --> system --> languaje.

3.- para cargar el idioma deseado tenemos tres alternativas:

opción 1: le indicamos a CodeIgniter que lo cargue por defecto: nos vamos a --> codeigniter --> application --> config y abrimos el archivo config.php.

buscamos la variable $config['language'] y establecemos como valor el nombre de la carpeta que descomprimimos en el directorio language, ejemplo:
$config['language'] = 'spanish'; // español

opción 2: configurando que idioma mostrar (generalmente) en tiempo de ejecución:

lo indicamos dentro de nuestro método constructor, en el controlador, ejemplo
$this->config->set_item('language','spanish'); // español

opción 3: seteamos el mensaje por cada error que queramos personalizar (también en tiempo de ejecución, en este caso no hace falta ningún pack de idioma).
// establecemos un mensaje personalizado para los campos requeridos
$this->form_validation->set_message('required', 'Este campo es obligatorio');

Para gustos colores, en el caso de que desees que tu sistema sea multi idiomas, basta con condicionar, puedes hacer uso de sesiones o cookies.

Actualización: si al hacer una validación codeigniter te muestra el siguiente mensaje:
Unable to load the requested language file: language/spanish/form_validation_lang.php

asegúrate de que exista la carpeta con los archivos de idiomas en el directorio especificado, si es así, entonces es un problema de permisos, solo debes cambiarlos y debería mostrarte luego el mensaje en el idioma indicado.

5 comentarios: Suscribete a los comentarios por RSS

Liliana

hola cass igual he instalado el archivo language/spanish pero en acentos no respeta y aparecen signos, sabes como se resuelve esto?

cass

hola Liliana, en donde no te muestra los acentos? dentro de los archivos de idiomas? en tu página? prueba colocando entre etiquetas HEAD la siguiente línea:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- si no te funciona, dame un poco más de detalles sobre lo que haces..
saludos!

Liliana

hola de nuevo!! =D me atrevo apreguntarte ya que estas mas entrado a codeigniter que yo y mi mega duda es la siguiente te explico mi asunto primero :) He generado un formulario de inicio de sesión (Login) por un lado y por otro uno de registro. pero los hice por separado tanto controladores, modelos y vistas, mi duda es habrá forma de que al cargar la pagina se muestren los dos juntos?

Liliana

ya lo intente desde el login pero cuando ocurre un error en el formulario de registro me devuelve solo la vista de ese formulario??? creo que realmente ando perdida XD

cass

Puedes cargar varios view desde una vista cualquiera (por ejemplo: cuando armas la plantilla por partes, cargas el head, el cuerpo, el footer, etc.), pero si lo haces como dices, luego será un lio controlarlo todo.

Lo que no entiendo es por qué quieres tener esos dos formularios en la misma pantalla, la idea debería ser, que en el formulario de login aparezca un enlace debajo que diga algo como "Quiero registrarme!" y que cuando el usuario le de click, lo redireccione al controlador que se encargara del registro.

Para crear un enlace o link válido en Codeigniter y que te envié directo al controlador de registro, puedes usar la función anchor del url_helper:
echo anchor('registro_c', 'Quiero registrarme!');

Publicar un comentario

- Los comentarios están siendo moderados y serán publicados en la brevedad posible.