Upgrade to Pro — share decks privately, control downloads, hide ads and more …

I [i18n] you: estrategias para manejo efectivo de traducciones en proyectos de open source

I [i18n] you: estrategias para manejo efectivo de traducciones en proyectos de open source

A pesar de que el inglés es el idioma de facto en el desarrollo de software, hay proyectos donde es fundamental el soporte para multiples idioma. En esta charla, les contaré sobre cómo dos proyectos en los que contribuyo, ruby-lang.org y docs.railsbridge.org manejan contenido en varios idiomas y algunos tips sobre cómo preparar tus proyectos FLOSS para implementar i18n fácilmente.

Fernando Perales

September 14, 2019
Tweet

More Decks by Fernando Perales

Other Decks in Technology

Transcript

  1. @FerPeralesM
    #CCOSS
    I [i18n] you: estrategias para manejo efectivo de
    traducciones en proyectos de open source
    Fernando Perales

    View Slide

  2. @FerPeralesM
    #CCOSS

    View Slide

  3. @FerPeralesM
    #CCOSS
    Ingeniero de Software @ michelada.io
    Egresado Ing. En Computación @ B. UdeG
    Promotor @ FLOSS
    Doom Metal Lover
    Anfitrión @ traguitos de michelada meetup

    View Slide

  4. @FerPeralesM
    #CCOSS

    View Slide

  5. @FerPeralesM
    #CCOSS
    i18n

    View Slide

  6. @FerPeralesM
    #CCOSS
    i18n
    internationalization

    View Slide

  7. @FerPeralesM
    #CCOSS
    Numerónimo

    View Slide

  8. @FerPeralesM
    #CCOSS
    salu2

    View Slide

  9. @FerPeralesM
    #CCOSS
    911

    View Slide

  10. @FerPeralesM
    #CCOSS
    101

    View Slide

  11. @FerPeralesM
    #CCOSS
    CR7

    View Slide

  12. @FerPeralesM
    #CCOSS
    G20

    View Slide

  13. @FerPeralesM
    #CCOSS
    k8s
    kubernetes

    View Slide

  14. @FerPeralesM
    #CCOSS
    a11y
    accessibility

    View Slide

  15. @FerPeralesM
    #CCOSS
    p45s

    View Slide

  16. @FerPeralesM
    #CCOSS
    Pneumonoultramicroscopicsilicovolcanoconiosis

    View Slide

  17. @FerPeralesM
    #CCOSS
    i18n
    internationalization

    View Slide

  18. @FerPeralesM
    #CCOSS
    –Wikipedia - Internacionalización y localización
    “La internacionalización es el proceso mediante
    el cual se prepara un elemento o producto
    para permitir su adaptación a diferentes
    regiones.”

    View Slide

  19. @FerPeralesM
    #CCOSS
    ¿Qué abarca la
    internacionalización?

    View Slide

  20. @FerPeralesM
    #CCOSS
    Varios idiomas

    View Slide

  21. @FerPeralesM
    #CCOSS
    Convenciones culturales

    View Slide

  22. @FerPeralesM
    #CCOSS
    Zonas horarias

    View Slide

  23. @FerPeralesM
    #CCOSS
    Formato de hora

    View Slide

  24. @FerPeralesM
    #CCOSS
    Formato de fecha

    View Slide

  25. @FerPeralesM
    #CCOSS
    Monedas internacionales

    View Slide

  26. @FerPeralesM
    #CCOSS
    Sistemas de peso y medidas

    View Slide

  27. @FerPeralesM
    #CCOSS
    Códigos de caracteres

    View Slide

  28. @FerPeralesM
    #CCOSS
    Formatos de números

    View Slide

  29. @FerPeralesM
    #CCOSS
    1400

    View Slide

  30. @FerPeralesM
    #CCOSS
    ¿Por qué pensar en la
    internacionalización?

    View Slide

  31. @FerPeralesM
    #CCOSS
    Somos muchos en el mundo

    View Slide

  32. @FerPeralesM
    #CCOSS
    worldometers.info

    View Slide

  33. @FerPeralesM
    #CCOSS

    View Slide

  34. @FerPeralesM
    #CCOSS
    Y hablamos diferentes
    lenguajes

    View Slide

  35. @FerPeralesM
    #CCOSS
    bbc.co.uk

    View Slide

  36. @FerPeralesM
    #CCOSS
    http://www.bbc.co.uk/languages/guide/languages.shtml
    “It’s estimated that up to 7,000 different
    languages are spoken around the world. 90%
    of these languages are used by less than
    100,000 people. Over a million people
    converse in 150-200 languages and 46
    languages have just a single speaker!”

    View Slide

  37. @FerPeralesM
    #CCOSS
    Y diferentes variantes
    regionales

    View Slide

  38. @FerPeralesM
    #CCOSS
    !

    View Slide

  39. @FerPeralesM
    #CCOSS
    es-ES = 99%

    View Slide

  40. @FerPeralesM
    #CCOSS

    View Slide

  41. @FerPeralesM
    #CCOSS
    es-ES = 99.7%
    ca-ES = 78.3%

    View Slide

  42. @FerPeralesM
    #CCOSS
    ¿Por qué es importante la
    internacionalización?

    View Slide

  43. @FerPeralesM
    #CCOSS

    View Slide

  44. @FerPeralesM
    #CCOSS

    View Slide

  45. @FerPeralesM
    #CCOSS

    View Slide

  46. @FerPeralesM
    #CCOSS
    "

    View Slide

  47. @FerPeralesM
    #CCOSS
    Trivia

    View Slide

  48. @FerPeralesM
    #CCOSS
    ¿Cuál es el porcentaje de
    personas que dominan el inglés
    en México?

    View Slide

  49. @FerPeralesM
    #CCOSS
    5%

    View Slide

  50. @FerPeralesM
    #CCOSS
    No debería ser obligatorio saber
    inglés para usar una
    computadora

    View Slide

  51. @FerPeralesM
    #CCOSS
    ¿Cómo decidir una estrategia
    de internacionalización?

    View Slide

  52. @FerPeralesM
    #CCOSS
    Tipo de proyecto

    View Slide

  53. @FerPeralesM
    #CCOSS
    Contenido generado por humanos
    vs
    Contenido generado por código

    View Slide

  54. @FerPeralesM
    #CCOSS
    Contenido generado por
    humanos

    View Slide

  55. @FerPeralesM
    #CCOSS
    ruby-lang.org

    View Slide

  56. @FerPeralesM
    #CCOSS

    View Slide

  57. @FerPeralesM
    #CCOSS

    View Slide

  58. @FerPeralesM
    #CCOSS
    docs.railsbridge.org

    View Slide

  59. @FerPeralesM
    #CCOSS

    View Slide

  60. @FerPeralesM
    #CCOSS

    View Slide

  61. @FerPeralesM
    #CCOSS
    Contenido generado por código

    View Slide

  62. @FerPeralesM
    #CCOSS
    spreecommerce.org

    View Slide

  63. @FerPeralesM
    #CCOSS

    View Slide

  64. @FerPeralesM
    #CCOSS
    Traducciones en el código
    vs
    Uso de servicios

    View Slide

  65. @FerPeralesM
    #CCOSS
    Traducciones en el código

    View Slide

  66. @FerPeralesM
    #CCOSS
    Estructura de directorios

    View Slide

  67. @FerPeralesM
    #CCOSS
    ruby-lang.org

    View Slide

  68. @FerPeralesM
    #CCOSS

    View Slide

  69. @FerPeralesM
    #CCOSS
    docs.railsbridge.org

    View Slide

  70. @FerPeralesM
    #CCOSS

    View Slide

  71. @FerPeralesM
    #CCOSS

    View Slide

  72. @FerPeralesM
    #CCOSS

    View Slide

  73. @FerPeralesM
    #CCOSS
    Archivos

    View Slide

  74. @FerPeralesM
    #CCOSS
    es.yml

    View Slide

  75. @FerPeralesM
    #CCOSS

    View Slide

  76. @FerPeralesM
    #CCOSS
    ¿Qué formato vamos a usar?

    View Slide

  77. @FerPeralesM
    #CCOSS
    ruby-lang.org

    View Slide

  78. @FerPeralesM
    #CCOSS

    View Slide

  79. @FerPeralesM
    #CCOSS

    View Slide

  80. @FerPeralesM
    #CCOSS
    docs.railsbridge.org

    View Slide

  81. @FerPeralesM
    #CCOSS

    View Slide

  82. @FerPeralesM
    #CCOSS
    Traducciones en servicios

    View Slide

  83. @FerPeralesM
    #CCOSS
    transifex.com

    View Slide

  84. @FerPeralesM
    #CCOSS
    Consejos generales

    View Slide

  85. @FerPeralesM
    #CCOSS
    Iniciar tu proyecto con una
    estructura que permita
    incorporar i18n fácilmente

    View Slide

  86. @FerPeralesM
    #CCOSS
    Abstraer la capa de
    internacionalización

    View Slide

  87. @FerPeralesM
    #CCOSS
    github.com/
    ruby-i18n/i18n

    View Slide

  88. @FerPeralesM
    #CCOSS
    config/locales/en.yml

    View Slide

  89. @FerPeralesM
    #CCOSS

    View Slide

  90. @FerPeralesM
    #CCOSS
    Usar llaves como la fuente de
    traducción

    View Slide

  91. @FerPeralesM
    #CCOSS

    View Slide

  92. @FerPeralesM
    #CCOSS

    View Slide

  93. @FerPeralesM
    #CCOSS
    Proveer contexto a los
    traductores

    View Slide

  94. @FerPeralesM
    #CCOSS
    read

    View Slide

  95. @FerPeralesM
    #CCOSS
    No todos los traductores
    programan

    View Slide

  96. @FerPeralesM
    #CCOSS
    No todos los programadores
    traducen

    View Slide

  97. @FerPeralesM
    #CCOSS
    Sé tolerante c:

    View Slide

  98. @FerPeralesM
    #CCOSS
    Consejos avanzados

    View Slide

  99. @FerPeralesM
    #CCOSS
    No omitir estructuras
    gramaticales

    View Slide

  100. @FerPeralesM
    #CCOSS
    EN: {adjetivo} {sujeto}
    ES: {sujeto} {adjetivo}

    View Slide

  101. @FerPeralesM
    #CCOSS
    Puede haber varios tipos de
    plurales

    View Slide

  102. @FerPeralesM
    #CCOSS
    Considera los tamaños de texto

    View Slide

  103. @FerPeralesM
    #CCOSS
    w3.org/
    International/articles/article-
    text-size

    View Slide

  104. @FerPeralesM
    #CCOSS

    View Slide

  105. @FerPeralesM
    #CCOSS
    392 views

    View Slide

  106. @FerPeralesM
    #CCOSS
    Idioma Traducción
    Radio
    Coreano ઑഥ 0.8
    Inglés views 1
    Chino 次檢視 1.2
    Portugués visualizações 2.6
    Francés consultations 2.6
    Alemán -mal angesehen 2.8
    Italiano visualizzazioni 3

    View Slide

  107. @FerPeralesM
    #CCOSS
    Recursos

    View Slide

  108. @FerPeralesM
    #CCOSS
    w3.org/
    International

    View Slide

  109. @FerPeralesM
    #CCOSS
    ¿Preguntas?

    View Slide

  110. @FerPeralesM
    #CCOSS
    I18n.t('messages.thank_you')
    [email protected]

    View Slide