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

How We Continuously Translate Tech Docs

How We Continuously Translate Tech Docs

Talked at Tokyo Rubyist Meetup in 08/16/2016.
https://trbmeetup.doorkeeper.jp/events/49120

Briefly explain about problems to translate tech documents like RailsGuides (1,500pages+) and RailsTutorial (700pages+), and sharing knowledges and experiences how we're trying to keep them up-to-date, which includes how we get a commit bit from rails/rails documentation team and how we make money from free online documents in order to continuously translate with communities.

「Railsチュートリアル (700p)」や「Railsガイド (1,500p)」といった大型の技術ドキュメントを翻訳するときの問題点や、継続的に翻訳するために試行錯誤している現状について共有します。また、Railsの公式ドキュメントチームからコミット権をもらった経緯や、無料で公開しているドキュメントでどういったビジネス展開が可能かについてもお話しします。

YassLab - Having a Good Life with OpenSource ;)
http://yasslab.jp/

Yohei Yasukawa

August 16, 2016
Tweet

More Decks by Yohei Yasukawa

Other Decks in Technology

Transcript

  1. )PX8F$POUJOVPVTMZ
    5SBOTMBUF5FDI%PDVNFOUT
    :BTT-BC

    View Slide

  2. *`NDPGPVOEFSPG3BJMT5FDI%PDT
    5SBOTMBUJPO1SPKFDUTJODF

    View Slide

  3. *`NDPGPVOEFSPG3BJMT5FDI%PDT
    5SBOTMBUJPO1SPKFDUTJODF
    700P 1,500P

    View Slide

  4. Printed Edition (¥30,000/book )

    View Slide

  5. In Japan, you can find
    them by googling ’Rails’

    View Slide

  6. Often-used by Ruby communities and
    help many Rails learners in Japan

    View Slide

  7. so got an award by Matz in 2014

    View Slide

  8. ܧଓత຋༁γεςϜ
    Continuous Translation System

    View Slide

  9. A translation system that
    keeps translated
    tech documents
    always up-to-date

    View Slide

  10. by reducing costs,

    View Slide

  11. by making money,

    View Slide

  12. UPCF"-8":4GSFTIEPDT

    View Slide

  13. Origin Translate API
    Heroku Gumroad
    HTML PDF / EPUB
    Intermediate
    Format
    Scaffold
    Basic Translation
    Figure of the system
    ᶃ ᶅ

    View Slide

  14. Heroku Gumroad
    HTML PDF / EPUB
    ᶃ ᶅ



    Translation part
    Origin
    Intermediate
    Format
    Scaffold
    Basic Translation
    Translate API

    View Slide

  15. Heroku Gumroad
    HTML
    ຋༁نൣͷ࡞੒
    (ॳճͷΈ)
    PDF / EPUB
    ᶃ ᶅ



    Selling part
    Intermediate
    Format
    Translate API
    Origin

    View Slide

  16. Heroku Gumroad
    HTML PDF / EPUB
    Monitoring / Feedback
    Origin
    Intermediate
    Format
    Scaffold
    Basic Translation
    ᶃ ᶅ

    Translate API

    View Slide

  17. NFSHFVQTUSFBNTDSJQU

    View Slide

  18. &BTJFSUPDPNQBSF
    FBTJFSUPTFOEGFFECBDLT

    View Slide

  19. .JTUBLFTBSF1VMM3FRVFTU$IBODF

    View Slide

  20. 0OFPGVTHPUrails docs DPNNJUCJU

    View Slide

  21. :PVDBOCFJO3BJMT0SHBOJ[BUJPO

    View Slide

  22. View Slide

  23. :PVOFWFSLOPXXIFOUIFOFYU
    QFSTPOXIPTUBSUTKVTUpYJOHB
    NJTTQFMMJOHJOUIFEPDVNFOUBUJPO
    FOETVQJNQMFNFOUJOHUIFOFYU
    HSFBUGFBUVSF
    #VUZPVTUBOEBDIBODFUPpOEPVU
    JGZPVTNJMFBOETBZUIBOLZPVGPS
    XIBUFWFSTNBMMDPOUSJCVUJPOUIBU
    HFUTUIFNPUJWBUJPOqPXJOH

    View Slide

  24. JP
    docs
    EN
    docs
    Code
    Going Step by Step

    View Slide

  25. Heroku Gumroad
    HTML PDF / EPUB
    Build a scaffold of translation
    Origin
    Intermediate
    Format
    Scaffold
    Basic Translation



    Translate API

    View Slide

  26. Google’s one is great for start.
    TRANSLATOR TOOLKIT
    (But NOT good for continuous updates because it costs a lot and can’t automate)

    View Slide

  27. TRANSLATION MEMORY
    Tech for Re-using Translation
    Cut into a segment
    Translate by segment

    View Slide

  28. TRANSLATION MEMORY
    But no APIs provided by GTT
    Cut into a segment
    Translate by segment

    View Slide

  29. Heroku Gumroad
    HTML PDF / EPUB
    Continuous Updates
    Translate API
    Intermediate
    Format
    Scaffold
    Basic Translation
    Origin
    ᶃ ᶅ

    View Slide

  30. TRANSLATION MEMORY
    GTT can export TMX file
    Cut into a segment
    Translate by segment

    View Slide

  31. yasslab / konjak
    Handle TMX and Get a diff

    View Slide

  32. INTEGRATE W/ API
    e.g. Send it to Google Translate API

    View Slide

  33. INTEGRATE W/ API
    Or, you can use Gengo API, too.

    View Slide

  34. SAMPLE OUTPUT

    View Slide

  35. So, integrate them
    into one web service,
    named Gitlate.

    View Slide

  36. Register original repo and target branch
    Preview

    View Slide

  37. Automatically collect new commits that
    need to translate by hand (or by API)
    Preview

    View Slide

  38. Translate only updated parts
    Preview

    View Slide

  39. Send your commit as a PR
    Preview

    View Slide

  40. We’re planning on releasing this

    as a web service for other OSS projects
    Preview

    View Slide

  41. Scaffold
    Basic Translation
    Heroku Gumroad
    HTML PDF / EPUB
    Intermediate
    Format
    Origin
    Generate HTML / Test / Deploy
    ᶆ ᶇ
    Translate API

    View Slide

  42. TEST FOR CONTENTS

    View Slide

  43. GENERATE HTML

    View Slide

  44. LINK TO YOUR PRODUCT

    View Slide

  45. Scaffold
    Basic Translation
    Heroku Gumroad
    HTML PDF / EPUB
    Intermediate
    Format
    Origin
    Generate Ebook / Test / Deploy


    Translate API

    View Slide

  46. MARKDOWN -> REVIEW

    View Slide

  47. yasslab / hamidashi
    Test if printed outside area

    View Slide

  48. GENERATE EBOOK

    View Slide

  49. PUBLISH ON GUMROAD

    View Slide

  50. from http://railsguides.jp/

    View Slide

  51. DEMO: Ebook Edition

    View Slide

  52. Over 1,000 pages (PDF)

    View Slide

  53. Other experimental
    ways to sell contents

    View Slide

  54. 5-DAYS BLOCK SEMINAR

    View Slide

  55. RECORDED VER. (32H)

    View Slide

  56. SELLING
    @ COMIC
    MARKET
    YOUR_COUPON_CODE

    View Slide

  57. Heroku Gumroad
    HTML PDF / EPUB
    Origin Translate API
    Intermediate
    Format
    Scaffold
    Basic Translation
    ᶃ ᶅ



    View Slide

  58. Heroku Gumroad
    HTML PDF / EPUB
    Origin Translate API
    Intermediate
    Format
    Scaffold
    Basic Translation
    ᶃ ᶅ



    'FFECBDL 6QEBUF
    "UUSBDU 4FMM

    View Slide

  59. ༧ࢉΛ૿΍͢
    (VJEFT
    5VUPSJBM

    View Slide

  60. ܧଓత຋༁γεςϜ
    Continuous Translation System

    View Slide

  61. by reducing costs,

    View Slide

  62. by making money,

    View Slide

  63. UPCF"-8":4GSFTIEPDT

    View Slide

  64. /PUBOPOFTIPUUSBOTMBUJPOQSPKFDU
    CVUCFBDPOUJOVPVTMZSVOOBCMFQSPKFDU
    Be Continuous

    View Slide

  65. )PX8F$POUJOVPVTMZ
    5SBOTMBUF5FDI%PDVNFOUT
    :BTT-BC

    View Slide

  66. provided by
    http://yasslab.jp/

    View Slide