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

  2. *`NDPGPVOEFSPG3BJMT5FDI%PDT
    5SBOTMBUJPO1SPKFDUTJODF

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. so got an award by Matz in 2014

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  10. by reducing costs,

    View full-size slide

  11. by making money,

    View full-size slide

  12. UPCF"-8":4GSFTIEPDT

    View full-size slide

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

    View full-size slide

  14. Heroku Gumroad
    HTML PDF / EPUB
    ᶃ ᶅ



    Translation part
    Origin
    Intermediate
    Format
    Scaffold
    Basic Translation
    Translate API

    View full-size slide

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



    Selling part
    Intermediate
    Format
    Translate API
    Origin

    View full-size slide

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

    Translate API

    View full-size slide

  17. NFSHFVQTUSFBNTDSJQU

    View full-size slide

  18. &BTJFSUPDPNQBSF
    FBTJFSUPTFOEGFFECBDLT

    View full-size slide

  19. .JTUBLFTBSF1VMM3FRVFTU$IBODF

    View full-size slide

  20. 0OFPGVTHPUrails docs DPNNJUCJU

    View full-size slide

  21. :PVDBOCFJO3BJMT0SHBOJ[BUJPO

    View full-size slide

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

    View full-size slide

  23. JP
    docs
    EN
    docs
    Code
    Going Step by Step

    View full-size slide

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



    Translate API

    View full-size slide

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

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  30. yasslab / konjak
    Handle TMX and Get a diff

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  33. SAMPLE OUTPUT

    View full-size slide

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

    View full-size slide

  35. Register original repo and target branch
    Preview

    View full-size slide

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

    View full-size slide

  37. Translate only updated parts
    Preview

    View full-size slide

  38. Send your commit as a PR
    Preview

    View full-size slide

  39. We’re planning on releasing this

    as a web service for other OSS projects
    Preview

    View full-size slide

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

    View full-size slide

  41. TEST FOR CONTENTS

    View full-size slide

  42. GENERATE HTML

    View full-size slide

  43. LINK TO YOUR PRODUCT

    View full-size slide

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


    Translate API

    View full-size slide

  45. MARKDOWN -> REVIEW

    View full-size slide

  46. yasslab / hamidashi
    Test if printed outside area

    View full-size slide

  47. GENERATE EBOOK

    View full-size slide

  48. PUBLISH ON GUMROAD

    View full-size slide

  49. from http://railsguides.jp/

    View full-size slide

  50. DEMO: Ebook Edition

    View full-size slide

  51. Over 1,000 pages (PDF)

    View full-size slide

  52. Other experimental
    ways to sell contents

    View full-size slide

  53. 5-DAYS BLOCK SEMINAR

    View full-size slide

  54. RECORDED VER. (32H)

    View full-size slide

  55. SELLING
    @ COMIC
    MARKET
    YOUR_COUPON_CODE

    View full-size slide

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



    View full-size slide

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



    'FFECBDL 6QEBUF
    "UUSBDU 4FMM

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  60. by reducing costs,

    View full-size slide

  61. by making money,

    View full-size slide

  62. UPCF"-8":4GSFTIEPDT

    View full-size slide

  63. /PUBOPOFTIPUUSBOTMBUJPOQSPKFDU
    CVUCFBDPOUJOVPVTMZSVOOBCMFQSPKFDU
    Be Continuous

    View full-size slide

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

    View full-size slide

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

    View full-size slide