comitium is currently translated into: * English (en-US) * French (fr-FR) 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](/comitium/tree/localizations_src/en-US/), 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](/comitium/tree/localizations_src/)). 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](mailto:alex@nytpu.com) and I'll take care of the rest. If you want to be extra helpful, you could also translate [the quickstart](/comitium/tree/doc/quickstart.en.md), [the man page](/comitium/tree/doc/comitium.1.scd) and [this translating document](/comitium/tree/doc/translating.en.md), but you shouldn't feel obligated to do so.