Autoload Language CodeInigniter
-
26-10-2019 - |
Pregunta
Hacer un sitio de varios idiomas con Codginiter. He creado dos carpetas. Uno para archivos de idioma francés y otro para inglés. Cuando voy a autocar los idiomas (inglés y francés) como tal
($autoload['language'] = array('en', 'fr');)
Recibo un error "No puedo cargar el archivo de idioma solicitado: idioma/inglés/fr_lang.php"
¿Cómo puedo hacer que se vea en la carpeta adecuada?
Gracias
Solución
$config['language']
es la carpeta predeterminada utilizada para cargar archivos de idioma, por lo que su
fr_lang.php
se carga desde allí.
Cambie el valor de:
$config['language']
Cuando sea necesario, como:
$this->config->set_item('language', 'value');
(Recuerde que esto debe hacerse antes de que se carguen los idiomas, por lo que usaría un gancho para eso http://codeigniter.com/user_guide/general/hooks.html.)
O bien, cargue sus archivos de idioma en la marcha:
$this->lang->load('filename', 'language');
Definitivamente debe ver las clases principales para comprender mejor cómo funcionan las cosas. Puede explorar el código fácilmente aquí: https://github.com/ellislab/codeigniterPor ejemplo, los idiomas están cargados con esta clase: https://github.com/ellislab/codeigniter/blob/develop/system/core/lang.php
Si necesitas más ayuda házmelo saber.