comitium is currently translated into:

  • English (en-US)
  • French (fr-FR) — thanks to bacardi55
  • Italian (it-IT) — thanks to Stefano Costa

Translations for literally any language not listed above are welcome.

Translating comitium

Translating comitium is really easy! You have to translate like twenty words and that's it.

To start, download the YAML files with all the strings, you need all three two: files.yaml and errors.yaml. If you'd prefer to start with a language other than English, see other languages here).

The file will be a series of key-value pairs and comments, it'll be laid out like this:

# comment
key1: string to translate
another_key: another string to translate, with {{.replacements}} this time
## more comments

All you do is just translate the strings after the colon (:), but not anything in the replacement brackets ({{.replacement}}).

So to translate the line:

feed_subscriptions_link: Currently aggregating {{.num}} capsules, gopherholes, and websites.

You'd just translate the string Currently aggregating[...]capsules, gopherholes, and websites. and leave the feed_subscriptions_link: and {{.num}} as-is.

At minimum you need to do files.yaml (it's the shortest one) to translate the text that's outputted into feed.gmi and subscriptions.gmi. It's okay not to do the other two YAML files, as those are messages displayed to the administrator adding feeds and such rather than to the end reader. Obviously full translations are preferred though. You also don't need to translate comments in any of the files.

Finally, you don't need to directly translate everything, rather adapt them in a way that makes sense. For things like the subtitles in subscriptions.gmi, the lines can be completely changed altogether if necessary.

A few things to keep in mind:

  • Lines that contain colons are surrounded by single quotes (key: 'line: to translate'), leave those in place unless you remove the colon in your translation.
  • Lines that begin with a replacement (key: '{{.replace}} rest of line') must be surrounded by single quotes, leave those in place unless you move the position of the replacement.
  • If a line is surrounded by single quotes, then any single quotes within that line must be doubled. For instance doesn't would be changed to doesn''t'.
  • Double quotes must be backslash-escaped. For instance, a "quote" would be changed to a \"quote\".

There we go, you translate all the lines in files.yaml (and possibly help.yaml and errors.yaml) and that's it! You just translated comitium! Email the YAML files to me at alex [at] nytpu.com and I'll take care of the rest.

If you want to be extra helpful, you could also translate the quickstart and the man page, but you shouldn't feel obligated to do so.