Buenos días,
Estamos intentando hacer una aplicación con varios idiomas y no hay manera que nos funcione con kumbia spirit beta 1.
Hemos hecho una web de prueba (sin kumbiaphp) y creando los ficheros .po con el poedit, nos funciona la traducción. El problema está cuando lo intentamos hacer en la aplicación hecha con kumbia, no hace la traducción. Hemos intentado usar gettext i también la clase I18n que viene en kumbia.
Da la sensación que no encuentra los ficheros en el locale, pero hemos hecho mil pruebas con la ruta y no hay manera.
Sin usar la libreria de kumbia I18n hemos probado a usar gettext y poner el siguiente código en el aplication controler como pone en el ejemplo de la wiki, también en el template default.html y incluso en el mismo view, pero en ningún caso funciona.
$language="es_ES";
putenv("LC_ALL=$language");
setlocale(LC_ALL, $language);
bindtextdomain("messages", APP_PATH."./locale");
textdomain("messages");
el archivo se llama messages.po, pero cuando probamos con I18n lo llamamos default.po
Haber si saben que puede ser... muchas gracias!
Comentarios
Ya había leído y releído el manual, pero no he conseguido que funcione.
He perdido muchas horas mirando este tema, pero no ha habido suerte.
¿Se te ocurre alguna cosa que pueda probar?
bindtextdomain("messages", APP_PATH . 'locale');
Saludos
Lo he probado y sigue sin funcionar. Tal como dices y por las pruebas que he hecho la ruta correcta es como tu dices, pero sigue sin darme la traducción.
De todas formas me da la impresión que el error va por aquí...
Yo me encuentro con un problema muy parecido, tengo un servidor windows con Xamp, con la versión Php 2.9.x.
He seguido el tuto, paso a paso y no me reconoce las llamadas a las palabras clave.
Como smr, comenta que es algo de los paths he probado de crear un php en la carpeta languages y si que funciona pero al traspasar el código de llamada a un view y el de inicialización en el active controller, no me funciona.
Alguien sabe como solucionarlo? Si no tendré que optar por algún otro método para tener un portal multidioma.
Muchas gracias.
Y como bien dice damvaz es un problema del servidor, haz de verificar los locales y demas...
Éxitos!
Gracias a todos por las respuestas.
Lo estaba haciendo bien, pero por algún motivo que desconozco cada vez que modifico el archivo .po tengo que reiniciar el apache para que se muestren los cambios.
¿Es normal? ¿Tiene alguna explicación?
Pruebalo victor, haber si tienes suerte!
Saludos
Si tu sitio es pequeño y el contenido no cambia a menudo, te conviene usar gettext.
Pero si es un sistema CMS donde a cada rato se cambia el contenido, ya no conviene porque el programador estará supeditado a los caprichos del SO. En estos casos se usa base de datos, archivos ini o simplemente includes guardados en alguna carpeta llamada "lenguajes" o algo parecido.
Creanme, estoy hablando por experiencia. Usar gettext algunas veces conviene, pero otras no.
Disculpen si ofendo las costumbres de algunos. <!-- s:roll: --><img src="{SMILIES_PATH}/icon_rolleyes.gif" alt=":roll:" title="Rolling Eyes" /><!-- s:roll: -->
Por último compartu tu apreciación y digo que un sitio con bastante contenido dinámico por un sitio de noticias todo el contenido estatico lo agregaría vía gettext y de acuerdo al idioma se generan las noticias, claro quizas es un ejemplo muy general pero ciertamente la idea va en este mismo camino...
Éxitos!
Creo que en mi caso me interesa usar gettext ya que estoy desarrollando una aplicación y los cambios de texto son mínimos.