Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Dcoker/practica»
De WikiEducator
(Una revisión intermedia por el mismo usuario no mostrado) | |||
Línea 3: | Línea 3: | ||
{{MRM_Web| | {{MRM_Web| | ||
git clone https://github.com/MAlejandroR/Practica_Multiidioma/ | git clone https://github.com/MAlejandroR/Practica_Multiidioma/ | ||
− | + | }} | |
− | + | <br /> | |
+ | ===Práctica Multidioma=== | ||
*Esta práctica consiste en tomar este fichero y usando la bibliteca gettext, generar los ficheros necesarios para que este proyecto se adapte a los diferentes idiomas | *Esta práctica consiste en tomar este fichero y usando la bibliteca gettext, generar los ficheros necesarios para que este proyecto se adapte a los diferentes idiomas | ||
Línea 25: | Línea 26: | ||
*En todo momento el idioma aparecerá con un texto en cabecera de la página, así como seleccionado el radio correspondinete | *En todo momento el idioma aparecerá con un texto en cabecera de la página, así como seleccionado el radio correspondinete | ||
− | + | ====Consideraciones==== | |
* Se debe de mantener el idioma establecido entre la páginas | * Se debe de mantener el idioma establecido entre la páginas | ||
* Podemos navegar de una págiana a otra | * Podemos navegar de una págiana a otra | ||
Línea 43: | Línea 44: | ||
</source> | </source> | ||
Lo de xxx es por si hay mas ficheros | Lo de xxx es por si hay mas ficheros | ||
− | + | ==== Ver ejemplo==== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
* Podemos probar el ejemplo aquí | * Podemos probar el ejemplo aquí | ||
{{MRM_Web| | {{MRM_Web| | ||
http://manuel.infenlaces.com/distancia/practicas/practica_9_Multiidioma/ | http://manuel.infenlaces.com/distancia/practicas/practica_9_Multiidioma/ | ||
}} | }} |
Última revisión de 00:31 21 mar 2019
- Puedes clonar el proyecto base en
git clone https://github.com/MAlejandroR/Practica_Multiidioma/ |
Práctica Multidioma
- Esta práctica consiste en tomar este fichero y usando la bibliteca gettext, generar los ficheros necesarios para que este proyecto se adapte a los diferentes idiomas
- Deberá de verse en los idiomas
- Inglés
- Francés
- Castellano
- No funciona por ajax, por lo que cada vez que cambiemos el idioma deberemos ir al servidor para que adapte los textos al idioma establecido.
- Tendremos en el index un formulario que pide dos datos.
- Obligatoriamente hay que rellenar los dos datos, si no, dará un mensaje en el idioma correspondiente y se quedará en la página idex.
- Si rellenamos datos y presionamos el submit correspondiente iremos a una página llamada sitio.php donde veremos un mensaje de bienvenida con el nombre del usuario
- Igualmente en esta página podremos cambiar el idioma y volver a la página anterior (index)
- En todo momento el idioma aparecerá con un texto en cabecera de la página, así como seleccionado el radio correspondinete
Consideraciones
- Se debe de mantener el idioma establecido entre la páginas
- Podemos navegar de una págiana a otra
- Al ir de sitio.php a index.php, se debe de perder el nonmbre de usuario y su password
- Por defecto el idioma debe de ser el castellano
- Intenta no repetir código, usa las funciones por favor
- Otras consideraciones
- Al realizar la práctica he tenido las siguientes situaciones
1.- El idioma para establecer a las funciones putenv y setlocale he tenido que establecer es_ES.utf8, fr_FR.utf8 ....
Esta cuestión la he verificado por que veía que setlocale retornaba false, debe de retornar el valor establecido, si no es que no puede establecerlo
http://php.net/manual/es/function.setlocale.php |
2.- utf8, a veces no está bien reconocido, por lo que es mejor establecer el charset a ISO-8859-1
https://www.gnu.org/software/gettext/FAQ.html#nonascii_strings |
En caso de hacer esto, habrá que ponerlo tanto en cada página como al generar los ficheros po (portable object)
xgettext --from-code=ISO-8859-1 --language=PHP -j messages.po /var/www/idiomas/index.php /var/www/idiomas/sitio.php xxx
Lo de xxx es por si hay mas ficheros
Ver ejemplo
- Podemos probar el ejemplo aquí
http://manuel.infenlaces.com/distancia/practicas/practica_9_Multiidioma/ |