[ckan-dev] Notes about the translation process

Sean Hammond sean.hammond at okfn.org
Wed Apr 24 09:41:30 UTC 2013


> I just translated some CKAN copy to German and stumbled upon a couple of things. Quite clearly there is a section missing in the contributing section of the docs about how to treat copy (at least I couldn't find any info about it).
> 
> Feel free to add to the following:
> 
> - Leave out unnecessary HTML from translation strings as best as you can (e.g. surrounding p-tags).
> - But don't split a sentence up in little translatable string pieces! Rather include some HTML (e.g. a-tag). Context is king.
> - If a string contains a variable amount, set up translation for singular and plurals.
> - If a string is ambiguous, add translation context (Jinja might not support this feature). E.g. "filter results", is filter a verb or a noun? (see: https://www.gnu.org/software/gettext/manual/html_node/Contexts.html )
> - If a string contains substitutions, name them descriptively. {dataset_title} beats {dataset} and especially {0} anytime.
> - Put punctuation inside the translatable string, leave unnecessary whitespace out.
> - Don't make translators translate stuff, that doesn't need translation (legacy_templates?).
> - Define which second-person pronoun should be used for translations: T-form or V-form (see https://en.wikipedia.org/wiki/T–V_distinction ). Settle for one or set up a two translations for one language.
> - Put up a wiki page that defines the canonical translation for specific CKAN terms in the different languages (e.g. "related item")
> - Localise dates, times, currency formatting, if possible.
> 
> For writing copy:
> - Review copy like you review code: There is one CKAN design, there should be one voice. Many developers have many voices (technical error message voice vs. friendly explanation voice). Apart from copy schizophrenia: many voices also make translation harder.
> - Use punctuation.
> 
> Please contribute, put it somewhere permanent and make developers read it.

I've created a couple of issues to get this done for 2.1:

https://github.com/okfn/ckan/issues/809
https://github.com/okfn/ckan/issues/810




More information about the ckan-dev mailing list