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 full-size slide

  2. @FerPeralesM
    #CCOSS

    View full-size 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 full-size slide

  4. @FerPeralesM
    #CCOSS

    View full-size slide

  5. @FerPeralesM
    #CCOSS
    i18n

    View full-size slide

  6. @FerPeralesM
    #CCOSS
    i18n
    internationalization

    View full-size slide

  7. @FerPeralesM
    #CCOSS
    Numerónimo

    View full-size slide

  8. @FerPeralesM
    #CCOSS
    salu2

    View full-size slide

  9. @FerPeralesM
    #CCOSS
    911

    View full-size slide

  10. @FerPeralesM
    #CCOSS
    101

    View full-size slide

  11. @FerPeralesM
    #CCOSS
    CR7

    View full-size slide

  12. @FerPeralesM
    #CCOSS
    G20

    View full-size slide

  13. @FerPeralesM
    #CCOSS
    k8s
    kubernetes

    View full-size slide

  14. @FerPeralesM
    #CCOSS
    a11y
    accessibility

    View full-size slide

  15. @FerPeralesM
    #CCOSS
    p45s

    View full-size slide

  16. @FerPeralesM
    #CCOSS
    Pneumonoultramicroscopicsilicovolcanoconiosis

    View full-size slide

  17. @FerPeralesM
    #CCOSS
    i18n
    internationalization

    View full-size 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 full-size slide

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

    View full-size slide

  20. @FerPeralesM
    #CCOSS
    Varios idiomas

    View full-size slide

  21. @FerPeralesM
    #CCOSS
    Convenciones culturales

    View full-size slide

  22. @FerPeralesM
    #CCOSS
    Zonas horarias

    View full-size slide

  23. @FerPeralesM
    #CCOSS
    Formato de hora

    View full-size slide

  24. @FerPeralesM
    #CCOSS
    Formato de fecha

    View full-size slide

  25. @FerPeralesM
    #CCOSS
    Monedas internacionales

    View full-size slide

  26. @FerPeralesM
    #CCOSS
    Sistemas de peso y medidas

    View full-size slide

  27. @FerPeralesM
    #CCOSS
    Códigos de caracteres

    View full-size slide

  28. @FerPeralesM
    #CCOSS
    Formatos de números

    View full-size slide

  29. @FerPeralesM
    #CCOSS
    1400

    View full-size slide

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

    View full-size slide

  31. @FerPeralesM
    #CCOSS
    Somos muchos en el mundo

    View full-size slide

  32. @FerPeralesM
    #CCOSS
    worldometers.info

    View full-size slide

  33. @FerPeralesM
    #CCOSS

    View full-size slide

  34. @FerPeralesM
    #CCOSS
    Y hablamos diferentes
    lenguajes

    View full-size slide

  35. @FerPeralesM
    #CCOSS
    bbc.co.uk

    View full-size 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 full-size slide

  37. @FerPeralesM
    #CCOSS
    Y diferentes variantes
    regionales

    View full-size slide

  38. @FerPeralesM
    #CCOSS
    !

    View full-size slide

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

    View full-size slide

  40. @FerPeralesM
    #CCOSS

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  43. @FerPeralesM
    #CCOSS

    View full-size slide

  44. @FerPeralesM
    #CCOSS

    View full-size slide

  45. @FerPeralesM
    #CCOSS

    View full-size slide

  46. @FerPeralesM
    #CCOSS
    "

    View full-size slide

  47. @FerPeralesM
    #CCOSS
    Trivia

    View full-size slide

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

    View full-size slide

  49. @FerPeralesM
    #CCOSS
    5%

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  52. @FerPeralesM
    #CCOSS
    Tipo de proyecto

    View full-size slide

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

    View full-size slide

  54. @FerPeralesM
    #CCOSS
    Contenido generado por
    humanos

    View full-size slide

  55. @FerPeralesM
    #CCOSS
    ruby-lang.org

    View full-size slide

  56. @FerPeralesM
    #CCOSS

    View full-size slide

  57. @FerPeralesM
    #CCOSS

    View full-size slide

  58. @FerPeralesM
    #CCOSS
    docs.railsbridge.org

    View full-size slide

  59. @FerPeralesM
    #CCOSS

    View full-size slide

  60. @FerPeralesM
    #CCOSS

    View full-size slide

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

    View full-size slide

  62. @FerPeralesM
    #CCOSS
    spreecommerce.org

    View full-size slide

  63. @FerPeralesM
    #CCOSS

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  66. @FerPeralesM
    #CCOSS
    Estructura de directorios

    View full-size slide

  67. @FerPeralesM
    #CCOSS
    ruby-lang.org

    View full-size slide

  68. @FerPeralesM
    #CCOSS

    View full-size slide

  69. @FerPeralesM
    #CCOSS
    docs.railsbridge.org

    View full-size slide

  70. @FerPeralesM
    #CCOSS

    View full-size slide

  71. @FerPeralesM
    #CCOSS

    View full-size slide

  72. @FerPeralesM
    #CCOSS

    View full-size slide

  73. @FerPeralesM
    #CCOSS
    Archivos

    View full-size slide

  74. @FerPeralesM
    #CCOSS
    es.yml

    View full-size slide

  75. @FerPeralesM
    #CCOSS

    View full-size slide

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

    View full-size slide

  77. @FerPeralesM
    #CCOSS
    ruby-lang.org

    View full-size slide

  78. @FerPeralesM
    #CCOSS

    View full-size slide

  79. @FerPeralesM
    #CCOSS

    View full-size slide

  80. @FerPeralesM
    #CCOSS
    docs.railsbridge.org

    View full-size slide

  81. @FerPeralesM
    #CCOSS

    View full-size slide

  82. @FerPeralesM
    #CCOSS
    Traducciones en servicios

    View full-size slide

  83. @FerPeralesM
    #CCOSS
    transifex.com

    View full-size slide

  84. @FerPeralesM
    #CCOSS
    Consejos generales

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  89. @FerPeralesM
    #CCOSS

    View full-size slide

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

    View full-size slide

  91. @FerPeralesM
    #CCOSS

    View full-size slide

  92. @FerPeralesM
    #CCOSS

    View full-size slide

  93. @FerPeralesM
    #CCOSS
    Proveer contexto a los
    traductores

    View full-size slide

  94. @FerPeralesM
    #CCOSS
    read

    View full-size slide

  95. @FerPeralesM
    #CCOSS
    No todos los traductores
    programan

    View full-size slide

  96. @FerPeralesM
    #CCOSS
    No todos los programadores
    traducen

    View full-size slide

  97. @FerPeralesM
    #CCOSS
    Sé tolerante c:

    View full-size slide

  98. @FerPeralesM
    #CCOSS
    Consejos avanzados

    View full-size slide

  99. @FerPeralesM
    #CCOSS
    No omitir estructuras
    gramaticales

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  104. @FerPeralesM
    #CCOSS

    View full-size slide

  105. @FerPeralesM
    #CCOSS
    392 views

    View full-size 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 full-size slide

  107. @FerPeralesM
    #CCOSS
    Recursos

    View full-size slide

  108. @FerPeralesM
    #CCOSS
    w3.org/
    International

    View full-size slide

  109. @FerPeralesM
    #CCOSS
    ¿Preguntas?

    View full-size slide

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

    View full-size slide