1 / 61

Estado de la Internacionalización en Sakai 2.6 Raúl E. Mengod López

Estado de la Internacionalización en Sakai 2.6 Raúl E. Mengod López Universidad Politécnica de Valencia. Santiago de Compostela, 20 Febrero de 2009. Índice. Introducción a la UPV Un poco de Historia de Sakai WG: i18n Traducción de Sakai ¿Cómo construir herramientas i18n? Best Practices

samson
Download Presentation

Estado de la Internacionalización en Sakai 2.6 Raúl E. Mengod López

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Estado de la Internacionalización en Sakai 2.6 Raúl E. Mengod López Universidad Politécnica de Valencia Santiago de Compostela, 20 Febrero de 2009

  2. Índice • Introducción a la UPV • Un poco de Historia de Sakai • WG: i18n • Traducción de Sakai • ¿Cómo construir herramientas i18n? • Best Practices • Estado actual de la i18n en Sakai • Problemas de i18n • Mejoras conseguidas en las últimas versiones • Spanish Sakai

  3. Introducción a la UPV Introducción a la UPV

  4. Introducción a la UPV • Universidad Politécnica Valencia (UPV) • Universidad pública creada en 1971 • Estudios principalmente técnicos • Misión y visión • La UPV es una universidad innovadora al servicio de la sociedad y de su progreso. Excelente en la formación de profesionales y en la investigación. 4

  5. Introducción a la UPV • La Universidad Politécnica de Valencia en cifras: • Centros Docentes 15 • Departamentos 44 • Titulaciones 1er Ciclo 31 • Titulaciones de 2º Ciclo 12 • Titulaciones 1er y 2º Ciclo 13 • Alumnos de 1er y 2º Ciclo 36.525 • Programas de Doctorado 66 • Alumnos de 3er Ciclo 1933 • P. Docente e Investigador 2.497 • P. Administración y Servicios 1.471 • Institutos de Investigación 40 • Contratación I+D+I 35 M. € • Presupuesto anual 218 M. € • Programas Máster 40 • Cursos de Especialización 66 • Empresas colaboradoras PCE 2.718 5

  6. Introducción a la UPV

  7. Sakai en la UPV • Piloto durante 2006 • Sistema con funcionalidad completa • Sólo usuarios seleccionados • Sistema en Producción en 2006/2007 • 4 servidores • Base de Datos Oracle • Integrado con nuestro propio SSO • Integrado con Matrícula • 4.000 sites • 40.000 alumnos • Basado en la versión 2.1.2 • Traducida a Castellano • Una personalización muy alta • Con parches de i18n 7

  8. Sakai en la UPV • Migración a 2.4.x en 2007/2008 • Re-personalización de los cambios de la 2.1.2 • Más parches de i18m • Avanzadilla de funcionalidades de la 2.6 • Migración a 2.6 en Julio 2009 • Problemática de los parches • Problemática de la adaptación

  9. Sakai en la UPV

  10. Un poco de Historia de Sakai

  11. Un poco de Historia de Sakai • Sakai 2.0 • Universidad de Lleida empezó el trabajo • Creación de los ficheros de properties • Traducción a Catalán • Sakai 2.1 • Corriendo sólo en monolingue pero con el idioma por defecto • Versión española no disponible • Sakai 2.1.1 • Versión multilingüe introducida por la Nagoya University • Clase especifica para tratar los bundle. Resourcebundle.java • Almacenamiento del idioma en las preferencias personales • Sakai 2.1.2 • Primera versión en Castellano • Faltaban muchas problemas

  12. Un poco de Historia de Sakai • Sakai 2.3 • Se añadieron más Idiomas • Sakai 2.4 • Solucionadas 29 incidencias • Tool revisar traducciones • Sakai 2.5 • Solucionadas 22 incidencias • Tool migración de traducciones • Sakai 2.6 • Solucionadas 11 incidencias

  13. WG: i18n

  14. WG: i18n • Espacio de i18n en sakai • Working Group de Sakai • http://bugs.sakaiproject.org/confluence/display/I18N/Home • Controlado por Beth Kirshner • ¿Que encontramos en el Confluence? • Configuración i18n de sakai • Guia traducción de sakai • Guia para el desarrollo • Herramientas traducción • Herramieta control de las traducciones

  15. WG: i18n http://bugs.sakaiproject.org/confluence/display/I18N/Home

  16. Configuración de la i18n

  17. Configuración de Sakai • Windows: • set JAVA_OPTS=%JAVA_OPTS% -Duser.language=es -Duser.region=ES • Linux or Unix • JAVA_OPTS="$JAVA_OPTS -Duser.language=es -Duser.region=ES

  18. Traducción de Sakai

  19. Traducción de Sakai • El primer paso para avanzar en la Internacionalización • Cada idioma tiene un responsable • Catalán : Lleida • Castellano: Valencia • Gallego: • Euskera: Navarra • Permisos de commit sobre los Ficheros en svn • Es necesaria una revisión y actualización constante

  20. Traducción de Sakai • Herramientas ayuda traducción • Editores de Ficheros de Recursos • ResourceProperties Editor http://sourceforge.net/projects/i18nedit • XLIFF Translation Editor https://open-language-tools.dev.java.net/ • Utilidad de Transferencia de Traducciones • Por la Universiad de Smolny (San Petersburgo) • Estado de las Traducciones • Utilidad en Universidad de Amsterdam http://qa1-nl.sakaiproject.org/international • Se actualiza diariamente contra el trunk • OJO con los ficheros excluidos • http://qa1-nl.sakaiproject.org/international/trunk/de.html#excludedfiles

  21. Traducción de Sakai

  22. Traducción de Sakai

  23. Traducción de Sakai

  24. Traducción de Sakai • Proceso de Revisión de un Idioma • Traducción en local y actualización en el trunk • Cada Responsible sube sus ficheros • Última revisión después de congelar el código de una versión • No se permiten cambios una vez generadas las Betas • Se suele generar ya la rama de mantenimiento • No siempre se mergean cambios posteriores

  25. ¿Cómo construir Herramientas i18n?

  26. Estándares i18n Sakai http://bugs.sakaiproject.org/confluence/display/I18N/How+to+write+Internationalized+Tools+in+Sakai • Por Beth Kirschner • Se basa todo en el uso de la clase ResourceLoader • Es una clase envolvente de la clase Loadbundle • Obtiene el idioma de la preferencia del usuario • Mira también el idioma del Browser • Si no busca el idioma por defecto del Servidor

  27. Estándares i18n Sakai http://bugs.sakaiproject.org/confluence/display/I18N/How+to+write+Internationalized+Tools+in+Sakai • Herramientas construidas con JSF • Crear un backing bean para mensajes messages en el fichero faces-config file o en la página JSP • Actualizar el Bean con el fichero de properties adecuado • Usarlo de la misma forma que se usa la clase LoadBundle • Herramientas construidas con Velocity • Crear una instancia de la clase ResourceLoader • Poner esta instancia en el contexto • Referenciarla como cualquier otra variable

  28. Estándares i18n Sakai http://bugs.sakaiproject.org/confluence/display/I18N/How+to+write+Internationalized+Tools+in+Sakai • Herramientas construidas con RSF • Definir el mensaje en la plantilla • <span rsf:id="msg=page.user.message.key">This is an internationalized message.</span> • Usar la clase UIMessage • <span rsf:id="my-rsf-id">This will be an internationalized message.</span> • UIMessage.make(tofill, "my-rsf-id", "page.user.message.key"); • Dejar el fichero de propiedades en el lugar por defecto • tool/src/webapp/WEB-INF/messages • Más Información en: • http://www2.caret.cam.ac.uk/rsfwiki/Wiki.jsp?page=I18N

  29. I18n Best Practices

  30. I18n Best Practices • Nunca Olvides el Estándar • Definir todas las herramientas de la misma forma • Los ficheros de Propiedades son nuestros amigos • La implementación es independiente del lenguaje • Seperar los ficheros de propiedades que dependen del idioma de los de configuración. • Separar los nombres de los códigos • Ej: Caso codificacion de estados

  31. I18n Best Practices • No debe existir texto literal en los ficheros .java o .jsp • Es más duro de desarrollar pero es necesario • El código es más difícil de entender • Sólo los datos introducidos por el usuario deberían guardare en la BD. • Evitar el almacenamiento de información necesaria para la lógica de la aplicación, estados, dispatchers. • Sólo el usurio debe insertar datos en la Bd y no la aplicación • No usar String internacionalizados en la lógica de la aplicación • Realizar pruebas en más de un idioma

  32. I18n Best Practices • Literales sensibles a idioma almacenados en la BD • Gradebook GB_GRADABLE_OBJECT_T.EXTERNAL_APP_NAME

  33. I18n Best Practices • Samigo: Datos de la Herramienta almacenados en la BD SAM_TYPE_T.KEYWORD

  34. I18n Best Practices • Separar valores y nombres en las Opciones msgcntr\messageforums-app\src\java\org\sakaiproject\tool\messageforums\DiscussionForumTool.java public List getPostingOptions() { List postingOptions = new ArrayList(); postingOptions.add(new SelectItem(PermissionBean.NONE,PermissionBean.NONE)); postingOptions.add(new SelectItem(PermissionBean.OWN,PermissionBean.OWN)); postingOptions.add(new SelectItem(PermissionBean.ALL,PermissionBean.ALL)); return postingOptions; }

  35. Estado Actual de la Internacionalización

  36. Estado de la Internacionalización Internationalization Status At the time of this writing, the following languages/locales are supported: English (US & UK), Japanese, Korean, Dutch, Simplified Chinese, Spanish, French (France & Canada), Catalan, Swedish, Arabic, Russian, Portuguese (Portugal & Brazil). Additionally, there are several aspects of internationalizing Sakai: 1) Ability to type international (unicode) characters into any Sakai toolStatus: Currently supported 2) Ability for any tool interface to dynamically reflect a user's preferred international localeStatus: Supported pending translation 3) Ability to create worksites whose page titles will statically reflect to a defined international localeStatus: Supported pending translation 4) Ability to create worksites whose page titles will dynamically reflect a user's preferred international localeStatus: Not supported yet (pending development) 5) Ability to create worksites whose page titles and tool interface will statically reflect a site's preferred international localeStatus: Not supported yet (pending development) 6) Ability to support right-to-left languagesStatus: Supported pending customized skins or CSS (see Sakai-RTL-skin.jpg)

  37. Problemas en el JIRA

  38. Problemas en el JIRA

  39. Problemas en el JIRA

  40. Problemas en el JIRA

  41. Problemas i18n

  42. Problemas i18n • Nombres de Páginas y Herramientas • Se insertan en la BD en el idioma de creación SAKAI_SITE_PAGE.TITLE SAKAI_SITE_TOOL.TITLE

  43. Problemas i18n • Solución UPV desde ver 2.1.2 • Cada herramienta tiene un nombre de registro (sakai.site.info) • Creación de un nuevo fichero de propiedades con estas claves. • Almacenar la clave en el campo nombre de la BD • Obtención del texto localizado a partir de la clave • Si no se encuentra texto, mostrar el contenido en la BD • Inconvenientes • No se permite la personalización del nombre • No se puede usar una misma herramienta varias veces (sakai.iframe) • Otra Solución (SAK-5296) • Tool registration files need to support xml:lang • Tool class would support retrieving the locale-specific text • How to handle tools that may be used one than more time?

  44. Problemas i18n • Globales a Sakai

  45. Localization • El problema de las Fechas • Diferentes formatos según Zona. • Poca uniformidad en sakai. • No se usa siempre el mismo código para solicitar fecha y para mostrar fecha.

  46. Localization

  47. Problemas i18n • De Codificación

  48. Problemas i18n • Problemas con solución

  49. Problemas i18n • Textos incluidos en las imágenes • Solución: Usar una imágen anónima

  50. Herramienta Ayuda • Herramienta Especial • Sólo en Inglés • No usa Ficheros de Propiedades

More Related