32
© 2009 IBM Corporation OpenStack Documentation and Translation Management The OpenStack Summit San Diago 2012 Ying Chun Guo (Daisy) OpenStack Doc Team [email protected] Anne Gentle OpenStack Doc Team [email protected]

OpenStack documentation & translation management 2012_summit

Embed Size (px)

DESCRIPTION

OpenStack documentation has a series of documents for administrators and API users. All these documents need to be translated. The continuous development of documents brings difficulties to the translation management, but the process can be automated with continuous integration. This slide deck introduces the process and the technologies used in the translation management during OpenStack document internationalization. It also includes a demo for creating a Chinese version of manuals.

Citation preview

Page 1: OpenStack documentation & translation management 2012_summit

© 2009 IBM Corporation

OpenStack Documentation and Translation Management

The OpenStack SummitSan Diago 2012

Ying Chun Guo (Daisy)OpenStack Doc [email protected]

Anne GentleOpenStack Doc [email protected]

Page 2: OpenStack documentation & translation management 2012_summit

2www.openstack.org

Agenda

Status of OpenStack Document

Translation Management & Process

Samples of Translation Process

Plans for next steps

Questions with Answers

Page 3: OpenStack documentation & translation management 2012_summit

3www.openstack.org

Agenda

Status of OpenStack Document

Translation Management & Process

Samples of Translation Process

Plans for next steps

Questions with Answers

Page 4: OpenStack documentation & translation management 2012_summit

www.openstack.org

文档页面Web Page for Documentation

http://docs.openstack.org

Page 5: OpenStack documentation & translation management 2012_summit

5www.openstack.org

Challenges of Community Document

Large amount of code

Change frequently

Grow quickly

Loose coupling

Manage document as code !

Page 6: OpenStack documentation & translation management 2012_summit

6www.openstack.org

Document Process: Design

Blueprints and discussion at Design Summit

Blueprints

Current blueprints found at https://blueprints.launchpad.net/openstack-manuals

Page 7: OpenStack documentation & translation management 2012_summit

7www.openstack.org

Document Process:Development

Github repositories store admin guides and API guides

Unit tests with Jenkins

Patch review with Gerrit

Page 8: OpenStack documentation & translation management 2012_summit

8www.openstack.org

Document Process:Bug tracking

Manage bugs through LanuchpadBug loggingBug triagingBug assigning

Page 9: OpenStack documentation & translation management 2012_summit

9www.openstack.org

Document Process: Publishing

Automatically publish with Jenkins

Page 10: OpenStack documentation & translation management 2012_summit

10www.openstack.org

Doc Team Composition

All OpenStack community members

One percenters = OpenStack-doc-core

Badge WearersAT&T IBMNebulaNiciraNimbis ServicesNuageRackspaceRedHat

Page 11: OpenStack documentation & translation management 2012_summit

11www.openstack.org

Statics

20+ Compute Extensions documented at api.openstack.org

66% Site visitors stay instead of leaving

100 Doc patches and reviews a month

726 Configuration options : 467 for nova.conf, 259 for swift conf files

10,000 Unique visitors a week at docs.openstack.org

Page 12: OpenStack documentation & translation management 2012_summit

12www.openstack.org

Agenda

Status of OpenStack Document

Translation Management & Process

Samples of Translation Process

Plans for next steps

Questions with Answers

Page 13: OpenStack documentation & translation management 2012_summit

13www.openstack.org

Challenges of Document Translation

Large amount of code

Change frequently

Grow quickly

Loose coupling

Manage document translation as code string translation!

Page 14: OpenStack documentation & translation management 2012_summit

14www.openstack.org

Translation Process: Slicing

Slice DocBook into string segment with a Python script, and generate a PO template

./tools/generatepot openstack-compute-admin

Page 15: OpenStack documentation & translation management 2012_summit

15www.openstack.org

Translation Process: Translating

Manage translation by TransifexTranslation project & resourcesTranslation memoryGlossary

Page 16: OpenStack documentation & translation management 2012_summit

16www.openstack.org

Translation Process:Merging

Merge the translated string into Docbook with a python script.

./tools/generatedocbook -l zh_CN -b openstack-compute-admin

Page 17: OpenStack documentation & translation management 2012_summit

17www.openstack.org

Translation Process:Uploading & Downloading

Upload the translation resources and download the translated results by commands of Transifex Client.

tx set --auto-local -r openstack-manuals-i18n.openstack-api-programming 'doc/src/docbkx/openstack-api-programming/locale/<lang>.po' --source-lang en --source-file doc/src/docbkx/openstack-api-programming/locale/openstack-api-programming.pot –execute

tx pull -f -l zh_CN -r openstack-manuals-i18n.api-quick-start

tx push -s -r openstack-manuals-i18n.api-quick-start

Page 18: OpenStack documentation & translation management 2012_summit

18www.openstack.org

Translation Process: Change Management

Synchronize the local translation resources with the resources in the Transifex server by Transifex Client commands.

Command “tx push” will automatically check the differences and merge the local copy and remote copy.

New strings will be added.Modified strings will be considered new ones and added as well.Strings which do not exist in the new source file (including ones which have been modified) will be removed from the database.The removed translations are kept in the Translation Memory of your project.

./tools/generatedocbook -l zh_CN -b openstack-manuals-i18n.api-quick-start

tx push -s -r openstack-manuals-i18n.api-quick-start

tx pull -r openstack-manuals-i18n.api-quick-start

Page 19: OpenStack documentation & translation management 2012_summit

19www.openstack.org

Statics

5 languages translation startedChinese – 11%, Spanish – 5%, Czech – 3%, Korean, French

15+ translators contributed.

Chinese translations“OpenStack API Quick Start” 100% finished“Network Administration Guide” 59% finished“OpenStack Install and Deploy Manual” 44% finished

Page 20: OpenStack documentation & translation management 2012_summit

20www.openstack.org

Agenda

Status of OpenStack Document

Translation Management & Process

Samples of Translation Process

Plans for next steps

Questions with Answers

Page 21: OpenStack documentation & translation management 2012_summit

www.openstack.org 21

Sample: Chinese Document Generation

Step 1: Check out the sources from Git repositorygit clone https://github.com/daisy-ycguo/openstack-manuals-i18n.git

Step 2: Check out the latest translation from Transifextx pull -f -l zh_CN -r openstack-manuals-i18n.api-quick-start

Page 22: OpenStack documentation & translation management 2012_summit

www.openstack.org

Sample: Chinese Document Generation

Step 3: Merge the translation segments back to DocBook./tools/generatedocbook -l zh_CN -b api-quick-start

Step 4: Generate PDF and HTML documentmvn generate-sources

Page 23: OpenStack documentation & translation management 2012_summit

23www.openstack.org

Agenda

Status of OpenStack Document

Translation Management & Process

Samples of Translation Process

Plans for next steps

Questions with Answers

Page 24: OpenStack documentation & translation management 2012_summit

www.openstack.org

Plans for next steps

Integrate the process into Continuous Integration system.Slicing & uploadingDownloadingMerging & publishing to website automaticallyUpdating

Resolve the issue: lack of translation context after slicing into statements.

Using a website to show the up-to-date translated documents, to facilitate the translators to check their translation results at any time.

Any kinds of contributions to translation process is warmly welcomed !

Page 25: OpenStack documentation & translation management 2012_summit

25www.openstack.org

Agenda

Status of OpenStack Document

Translation Management & Process

Samples of Translation Process

Questions with Answers

Plans for next steps

Page 26: OpenStack documentation & translation management 2012_summit

26www.openstack.org

How can I get on the openstack-core-docs team?

Do lots of reviews at http://review.openstack.org for the openstack-manuals project.

Triage bugs and log doc bugs at http://bugs.launchpad.net/openstack-manuals.

We’ll discuss on the openstack-docs-core mailing list and then invite you.

Page 27: OpenStack documentation & translation management 2012_summit

27www.openstack.org

How should I find doc work that needs to be done on a particular project?

Refer to http://bugs.launchpad.net/openstack-manuals and look for Wishlist for tasks, or any doc bug can be picked up as a work item.

We also track few blueprints which may need someone to work on, though doc bugs are probably the best first place to look

Page 28: OpenStack documentation & translation management 2012_summit

28www.openstack.org

Who should do reviews of my document changes?

Anne Gentle, the doc coordinator, or anyone on the openstack-doc-core team can help you identify reviewers, or you can also check the doc bug and ask the reporter to review the changes by adding their name to the reviewers list.

Page 29: OpenStack documentation & translation management 2012_summit

29www.openstack.org

How to contribute the translations?

If you want to contribute the translations, you need to register an account at Transifex, and then go to openstack-manuals translation page.

After that, select the languages you prefer, all of the language resources will be listed. Then select the resources you want to work on and click it. Click “Translate Now” in the pop-up dialog.

Page 30: OpenStack documentation & translation management 2012_summit

30www.openstack.org

How to get the latest translation documents?

Check out the latest resources from Git repository at first, and then check out the latest translation from Transifex. After that, merge the translation segment back to DocBook by running the Python script and generate PDF and HTML document by running Maven build.

Refer to “Sample: Chinese Document Generation”

Page 31: OpenStack documentation & translation management 2012_summit

31www.openstack.org

Conclusion

Managing document as code is key feature of OpenStack documentation.

The translation is just started. I will need the support and participation from all of you.

Your participation is warmly welcomed.

For any problems about documentation, please contact with Anne Gentle.

For any problems about translation, please contact with Ying Chun Guo.

Page 32: OpenStack documentation & translation management 2012_summit

www.openstack.org

ReferenceDocumentation page

http://docs.openstack.org

Blueprints of documentshttps://blueprints.launchpad.net/ openstack-manuals

Bugs of documentshttp://bugs.launchpad.net/openstack-manuals

Main page for openstack-manuals translation in Transifexhttps://www.transifex.net/projects/p/openstack-manuals-i18n/

OpenStack Document Translation Guidehttps://gist.github.com/3037139

Address of Chinese Openstack manuals (as temporary)http://1.openstackcn.sinaapp.com/?page_id=8