Files
comitium/doc/translating.en.md
T
2021-05-12 16:41:38 -06:00

73 lines
3.0 KiB
Markdown

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](/comitium/tree/localizations_src/en-US/), you need <del>all
three</del> 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) and [the man
page](/comitium/tree/doc/comitium.1.scd), but you shouldn't feel
obligated to do so.