Translatable Ubuntu Code of Conduct and Leadership Code of Conduct

Registered by David Planella

We want to provide the Code of Conduct (CoC) and the Leadership Code of Conduct (LCoC) in anyone's own language, and we want to enable the community to translate it.

We'd like to discuss the steps needed to make this possible and to find people intersted in contributing to this goal

See the whiteboard for some preliminary work and open questions on this.

Blueprint information

Status:
Complete
Approver:
Jono Bacon
Priority:
Undefined
Drafter:
David Planella
Direction:
Needs approval
Assignee:
Laura Czajkowski
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
David Planella
Completed by
David Planella

Related branches

Sprints

Whiteboard

Premises:

* We want to make the CoC translatable
* We want to use our existing infrastructure: Launchpad Translations
* We want to make as minimum changes as possible to the CoC code

Note: all of this probably applies equally to the LCoC.

= Step 1: enable CoC translations =

The current CoC is a plain text file. By having no format, it makes it difficult to translate it.

In order to use Launchpad for translations, we need to convert it to the gettext format. There are two ways to do this:

== Option A: use docbook + xml2po ==

The current text file can be converted to docbook format, and then it can be processed with the xml2po file to obtain a gettext template that can be imported into Launchpad.

This is a tested solution, but which would require a few changes to the original code. Furthermore, it should be decided what the source document for the CoC would be in the future: the docbook file or the plain text file

There is some preliminary work available for this, basically the conversion of the text file to docbook:

  https://code.launchpad.net/~dpm/ubuntu-codeofconduct/i18n

== Option B: use intltool ==

There is a planned feature in intltool to be able to mark unformatted chunks of text in files as translatable. The idea is to be able to deliver this during the Natty cycle, but the intltool developers have not committed to this.

With this we would have a .txt.in text file from which all translations would be built from.

This is the simplest solution and the one that would require less changes to the current code, but we'd be relying on a feature that is not yet implemented.

= Step 2: publish the translations =

There is still the unresolved question of how we will ship those translations:

* In a package in the distro (e.g. on its own package or in ubuntu-docs)?
* Not at all, just making them available from a bzr branch?
* On the Ubuntu website?
* On the Launchpad page?

Session notes:

 * Use docbook as the source document
   * If other formats as Mallard are more useful in the future, the document can
     be converted in the future
 * Use option A - docbook + xml2po
 * Publish the CoC on a separate package - it should be trivial to get it in main
 * It should be on the default installation - talk to the desktop or foundations teams
 * There should be a note in http://www.ubuntu.com/community/conduct on how to see it in other languages - and perhaps in Launchpad
 * Signing: for now the suggestion is to keep signing the English document and point contributors to the translated versions as support documents to better understand the English one. Similarly to the GPL, we could have English as the official document and translations as non-official for now.

Work items:
[milo] Modify the current CoC code to remove the current plain text file and use a docbook version as the master document: TODO
Modify the current CoC code to create a Makefile with targets to: a) build a gettext template file (e.g. CoC.pot), b) build translated XML documents from the PO files from Launchpad, c) build translated plain text files from the PO files from Launchpad (optional): TODO
[milo] Investigate conversion docbook -> txt with a transform and if not available, write an xslt transformation that produces a plain text document with the same formatting as the current CoC plain text file: TODO
Create a .deb package that builds and installs the translated XML files: TODO
Integrate the translated XML files with yelp, so that they are shown on the main page or somewhere visible: TODO
Talk to Riddell on what format the Kubuntu help viewer expects for displaying documentation: TODO
File a main inclusion request (MIR) to sponsor the CoC package to main: TODO
Investigate adding the package to the seeds and do it if possible: TODO
File a bug to show a note on Launchpad mentioning where translations in other languages are: TODO
Talk to the ubuntu-website team to add a note to http://www.ubuntu.com/community/conduct mentioning where translations in other languages are: TODO

(?)

Work Items