This page describes a few important things about translating the CAcert website. How to translate CATS is described elsewhere.

The place to go to start translating is

If you do some translation work please also subscribe to the translations mailing list (low volume) because important notifications such as broken translations get posted there. If you change some string and thereby the translation gets broken it is your primary responsibility to correct it (if you don't know what's wrong just ask us, we will be glad to help). Other translators may not understand the language you are translating and therefore are unable to make informed decisions how to correct the problem. So you should really subscribe to that mailing list, it's only very few posts.

If you translate into a language with very few translations until now or you start a new language, read Translations/WhatFirst, it may be helpful for you.

How to use the system

There is a short introduction on how to use the web application. The translation server is actually just an instance of Pootle so if there is an issue not described there or below you can have a look at their documentation. If that also doesn't help just ask at the translations mailing list, don't be shy.

Strings Containing Variable Parts

If a string contains some strange sequence starting with a percent sign ("%<only_special_characters_or_numbers><exactly_one_letter>" – most often "%s" but things like "%2$*1$d" would also be possible) special attention is needed because those are quite fragile and tend to break the translation files. These sequences will be replaced with variable strings or HTML markup when the user displays the page. For example "The email address %s was successfully added to your account" could become "The email address was successfully added to your account" and "Further information can be found in %sthe wiki%s." can become "Further information can be found in the wiki."

Note that the sequence only runs from the percent sign to the first letter, the "t" is again part of the fixed text that you probably need to translate. E.g. for German I would translate the string as following "Im %sWiki%s finden Sie weitere Informationen." which would show as "Im Wiki finden Sie weitere Informationen." Notice that the link text as well as the position in the sentence was varied.


You need to keep exactly as many special sequences in your translation as there were in the original string. Otherwise the translation file breaks.

Special Characters

You don't need to worry about special characters, just enter the characters as they are. If you see remaining HTML-Entity encoded stuff ("&something;") then just replace it with the native variant.


You can't have HTML tags ("<something>foo</something>") in the translated string as they will be escaped to make the browser ignore the special meaning and display them literally. If you see places where HTML tags are used directly in the string to be translated and they should clearly keep their special meaning then file a bug report on our bug tracker.

See also


Translations (last edited 2021-10-08 18:14:09 by EtienneRuedin)