[ckan-dev] Notes about the translation process

Stefan Wehrmeyer stefan.wehrmeyer at okfn.org
Tue Apr 16 20:02:26 UTC 2013


Dear CKAN-Devs,

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.

Cheers
Stefan






More information about the ckan-dev mailing list