Actualmente tengo un idioma cargado dentro de MY_Controller que extiende CI_Controller. Pero dentro de una página especial cuyo controlador (llamémoslo controlador ABC) amplía MY_Controller, necesito anular el idioma cargado con otro idioma. Intenté cargar otro idioma dentro de este controlador ABC, pero sin éxito. ¿Hay alguna forma de descargar el idioma cargado y cargar otro idioma?Codeigniter Cambia el idioma cargado
Respuesta
¿Ha intentado solo con cargar el archivo de idioma que necesita?
$this->lang->load('filename', 'language');
Debe ser accesible a continuación, al igual que su idioma predeterminado. No he probado esto aunque, desde mi entendimiento, esta debería ser la manera de hacerlo.
Referencia: http://codeigniter.com/user_guide/libraries/language.html
REVISADO
terminé cavar un poco más para usted, y se encontró que no se puede cargar un idioma por defecto (definirlo como predeterminado en el controlador) y luego intente cambiarlo a otra cosa.
siga estos pasos:
- Si necesita un idioma que no sea Inglés (por defecto), establece que, en su configuración.
- Si desea cargar otro idioma de forma controlador, es necesario definir que (más comúnmente en su
constructor
usando algo como la selección gama sesión/usuario. - no puede cargar 2 idiomas (1 en el constructor, a continuación, otra en una clase diferente .. no funcionará)
referencia aquí por mensajes en el foro: http://codeigniter.com/forums/viewthread/176223/
sí, he cargado el idioma predeterminado (inglés) dentro de MY_Controller que se amplía por otros controladores. Intenté cargar un idioma secundario (chino) con la esperanza de que anulará el idioma inglés dentro de este controlador ABC que también amplía MY_Controller, pero aún así, solo se puede acceder al idioma inglés. – coder
He actualizado mi respuesta, parece que necesita reparar sus controladores, no puede declarar 2 idiomas en 1 controlador (o un controlador que extienda). – Jakub
Cool thx. Pensé que solo tenía que implementar otro parámetro opcional para mi constructor MY_Controller para determinar qué idioma cargar. Eso debería funcionar para mi caso. ¡Gracias por el esfuerzo! – coder
me encuentro con este problema y encontrar una solución complicado
$this->lang->load('text', 'english');
echo $this->lang->line('__YOUR_LANG_VARIABLE__');
//CI will record your lang file is loaded, unset it and then you will able to load another
//unset the lang file to allow the loading of another file
if(isset($this->lang->is_loaded)){
for($i=0; $i<=sizeof($this->lang->is_loaded); $i++){
unset($this->lang->is_loaded[$i]);
}
}
$this->lang->load('text', 'chinese');
echo $this->lang->line('__YOUR_LANG_VARIABLE__');
.
Espero que ayude.
Esta es la única solución de trabajo cuando se trabaja con archivos de idioma que tienen las mismas claves –
¡Funcionó como un amuleto! ¡Gracias! – Roomm
una manera más fácil es para restablecer los datos de lengua y is_loaded
$this->lang->is_loaded = array();
$this->lang->language = array();
funciona perfecto! Justo lo que estaba buscando. – JoshHighland
¡Gran respuesta, gracias por traer eso! – Ando
Esto funciona perfectamente bien para mí. ¡Gracias! – grpaiva
Sé que es un poco tarde para responder a esto, pero creo que se puede cambiar el 'lenguaje' elemento de configuración dinámica en función de los requerimientos página.
$this->config->set_item('language', 'chinese');
$this->config->set_item('language', 'english'); // based on the language folder of course holding language files
que tenían un requisito de enviar boletines de noticias de la base de usuarios de Lang, y esto me ayudó a cambiar el idioma sobre la marcha, espero que esto podría ayudar ..
Funciona para mí: D ... Esta debería ser la respuesta aceptada, creo, porque es la solución más fácil de todas las respuestas dadas. –
Si tiene cualquier aplicación instalada construido en codeigniter
y desea agregar un paquete de idioma, sólo tienes que seguir estos pasos:
- Añadir archivos de idioma en la carpeta
application/language/arabic
(añadí árabe lang en SMA2 construida en ci)
- Ir al archivo llamado
setting.php
En
application/modules/settings/views/setting.php
se encuentra la matriz:
<div class="controls">
<?php /*
$lang = array (
'english' => 'English',
'arabic' => 'Arabic', // +++ Add this line
'spanish' => 'Español'
Ahora guarde y ejecute la aplicación.
- 1. ¿Cambia el idioma dinámicamente con androids multilenguaje?
- 2. Cambiar el nombre de un archivo cargado en CodeIgniter
- 3. Cambia completamente el idioma IDE en Netbeans 6.8
- 4. La localización de Spring no cambia de idioma
- 5. Localización: la aplicación falla cuando se cambia el idioma en el simulador
- 6. document.observe ('dom: cargado', function() {
- 7. ¿Hay una llamada de delegado cuando cambia el idioma del teclado de iOS?
- 8. ajax cargado y el guión
- 9. Encontrar el servidor menos cargado
- 10. Escogiendo el idioma correcto
- 11. CodeIgniter si el controlador
- 12. Ajax cambiar el idioma
- 13. Cambiar el idioma del selector de fecha
- 14. instalar el idioma en texlive - hyphenation
- 15. Codeigniter extendiendo extendido MY_Controller
- 16. establece el idioma de iis
- 17. Paginación Codeigniter - Estoy perplejo
- 18. Cómo conectar el evento DOM cargado?
- 19. ¿Cómo puede una implementación de un idioma en el mismo idioma ser más rápido que el idioma?
- 20. No sobrescribir el archivo cargado a través del control FileUpload
- 21. ¿Girar también cambia el tamaño?
- 22. Cambia dinámicamente el fondo LinearLayout
- 23. android viewpager cambia el adaptador
- 24. Tamaño del archivo cargado
- 25. Mail video cargado
- 26. Cambiar el idioma de la aplicación iOS sobre la marcha
- 27. OpenGL: Cargar una textura cambia el color actual
- 28. Codeigniter global_xss_filtering
- 29. Enrutamiento CodeIgniter
- 30. CodeIgniter + CSS
Compruebe la respuesta en esta publicación http://stackoverflow.com/questions/31895341/codeigniter-dynamic-language-functionality/41661355#41661355 –