Hola, estuve haciendo un research en el foro sobre el tema de la internacionalizacion y como conclusion se llego a que si es un sitio pequeño es mejor usar gettext. Alguien me podria decir cual es la mejor estrategia para un sitio de mediano porte usando, hoy en dia, la beta 2?
Gracias.
Comentarios
1) las urls deben tener este formato: dominio/idioma/... como lo hace apple por ejemplo "http://www.apple.com/es/mac/"
2) gettext, http://wiki.kumbiaphp.com/KumbiaPHP_y_gettext
* en enlaces externos de esa pagina tienes otras dos pistas mas.
suerte!
Con respecto a los links lamentablemente ya no funcionan. Yo lo que había pensado es directamente "comenzar" el sitio con una home donde seleccionas el idioma similar a este sitio: http://www.aerolineas.com.ar/home.asp
Luego se le dará la posibilidad al usuario de seleccionar el idioma mediante un clásico combo. Finalmente, los textos mostrados desde el lado de las Views sería del estilo:
echo _("nombre variable");
Y bueno, luego toda la complejidad que se le quiera dar (guardar preferencias en sesión, cookies, db, etc)
es muy fea esta solución?
Gracias.
Edit #1: recién ahora me di cuenta de que el primer link en la wiki tenía un error en la url, terminaba con un pipe (|), corregido y leyendo...
http://www.aerolineas.com.ar/ar/slug
$url = slug
$lang = ar
[routes]
/* = /pages/load/*
donde el * seria el slug y la accion load cargaria en contenido de la bd por el campo idioma y el campo slug
- lei y seguí el tutorial
http://cachi.temiga.org/2010/07/18/kumbiaphp-i18n-internacionalizacion/
- dado que el tuto está para 1beta1, tuve que adaptarlo, por ejemplo el .htaccess que toco es el que está ubicado en /default/public/
- el .htaccess me quedo así:
# Para peticiones que no son archivos ni directorios
# Reescribe a index.php?url=URL
RewriteRule ^(es|en|fr)/(.*) index.php?_url=/$2&lang=$1 [QSA,L]
#RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
- ahora viene la parte más complicada,
la variable $URL_PATH ubicada en /default/public/index.php
en 1beta2 se llama $url y vale:
$url = isset($_GET['_url']) ? $_GET['_url'] : '/';
y creo que aquí es donde se me complica. Jugando un poco con esta variable a lo máximo que llegué es que, me funciona bien la redirección a los controladores (la parte del seteo de idioma, por ahora la dejo secundaria) pero no hay manera por ejemplo que en la pagina por defecto de KPHP 1beta2 me muestre el formato.
Cuando hago un "ver codigo fuente" en Chrome leo que la ruta al css está quedando asi:
link href="css/bienvenida.css" ... (sin barra delante)
es decir no está encontrando los archivos de recursos (y no me imagino que otra cosa más ya que aún no pude avanzar)
Si a alguien le ha funcionado por favor, se agradecerá la ayuda.Gracias.
PD: en el peor caso, que es lo peor que puede pasar de arrancar con la 1beta1?
lo demas esta bien si lo pusiste como lo tiene CaChi
si no usas vhost las rutas para public ( css ) son relativas ( ../img/mi_img.png ).
si usas vhost PUBLIC_PATH es igual al root del dominio, '/'.
yo por ejemplo tengo todo alojado en un servidor compartido, y no se si me la mandé o que, pero tengo la carpeta core y default en el documentRoot, es decir tengo esto:
http://midominio/core
http://midominio/default/app
según lo que entiendo mi PUBLIC_PATH debería ser / o http://midominio/
Esta noche lo pruebo. Por otro lado ayer decidí seguir adelante de todas maneras asique comencé a jugar con las vistas, la verdad estoy entusiasmado. Gracias.