i18n en PHP

268 views
219 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
268
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

i18n en PHP

  1. 1. i18n en PHP gotardo gonzálezviernes 20 de abril de 12
  2. 2. internationalizationviernes 20 de abril de 12
  3. 3. internationalizationviernes 20 de abril de 12
  4. 4. i18nviernes 20 de abril de 12
  5. 5. el problema desarrollo de una aplicación en diferentes idiomasviernes 20 de abril de 12
  6. 6. posibles soluciones • duplicar el proyecto en dos carpetas: no! www.midominio.com/es/ www.midominio.com/en/ • crear un fichero con constantes o un array de contenidos: define(_HolaMundo_, “Hello, World”); mmmh...
  7. 7.  no!viernes 20 de abril de 12
  8. 8. la solución! string gettext(string $message) ?php echo gettext(“Hola, mundo”); printf(_(“Hola, %”), $user-getNombre()); //
  9. 9.  un
  10. 10.  alias ? http://www.php.net/manual/es/function.gettext.phpviernes 20 de abril de 12
  11. 11. ficheros .po y .mo Portable Objectstexto
  12. 12.  plano Machine Objects binario es_ES.po en_US.po #: Un comentario #: This is a comment msgid Hola, %s msgid Hola, %s msgstr Hola, %s. msgstr Hello %s. http://www.poedit.net/viernes 20 de abril de 12
  13. 13. el árbol . .. /css/ /inc/ /javascript/ /locale/ mi_aplicacion.po /es_ES/ mi_aplicacion.mo /fr_FR/ /zh_CN/ index.phpviernes 20 de abril de 12
  14. 14. algunas funciones ?php //Establece una variable de entorno putenv(LC_ALL= . $idioma); //Establece una configuración de info. regional setlocale(LC_ALL, $idioma); //Establece una ruta para el dominio bindtextdomain(“mi_aplicacion”, “./locale/”); //Define el dominio de texto textdomain(“mi_aplicacion”); ?viernes 20 de abril de 12
  15. 15. todo preparado ?php //Buscar la traducción de una cadena echo _(“Hola, mundo”); ?viernes 20 de abril de 12
  16. 16. un último consejoviernes 20 de abril de 12
  17. 17. un último consejo ¡No
  18. 18.  utilices
  19. 19.  banderas! Una
  20. 20.  bandera
  21. 21.  identifica
  22. 22.  una
  23. 23.  nacionalidad,
  24. 24.   pero
  25. 25.  no
  26. 26.  un
  27. 27.  idioma.viernes 20 de abril de 12
  28. 28. un último consejo Mejor
  29. 29.  utiliza
  30. 30.  el
  31. 31.  nombre
  32. 32.  del
  33. 33.  idioma ul lia href = “index.php?lang=en”English/a/li lia href = “index.php?lang=es”Español/a/li lia href = “index.php?lang=fr”French/a/li /ulviernes 20 de abril de 12
  34. 34. muchas gracias Gotardo González 20 / 4 / 2012viernes 20 de abril de 12

×