summaryrefslogtreecommitdiff
path: root/doc/translating.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/translating.md')
-rw-r--r--doc/translating.md72
1 files changed, 72 insertions, 0 deletions
diff --git a/doc/translating.md b/doc/translating.md
new file mode 100644
index 0000000..dbfbe36
--- /dev/null
+++ b/doc/translating.md
@@ -0,0 +1,72 @@
+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.