docs, examples: Use TOML for i18n config files

Fix #3200
This commit is contained in:
Albert Nigmatzianov 2017-03-31 15:04:52 +02:00 committed by Bjørn Erik Pedersen
parent d122260de7
commit fe8462b205
5 changed files with 15 additions and 17 deletions

View file

@ -118,9 +118,9 @@ The above also uses the `i18n` func, see [Translation of strings](#translation-o
### Translation of strings ### Translation of strings
Hugo uses [go-i18n](https://github.com/nicksnyder/go-i18n) to support string translations. Follow the link to find tools to manage your translation workflows. Hugo uses [go-i18n](https://github.com/nicksnyder/go-i18n) to support string translations. Follow the link to find tools to manage your translation workflows.
Translations are collected from the `themes/[name]/i18n/` folder (built into the theme), as well as translations present in `i18n/` at the root of your project. In the `i18n`, the translations will be merged and take precedence over what is in the theme folder. Language files should be named according to RFC 5646 with names such as `en-US.yaml`, `fr.yaml`, etc. Translations are collected from the `themes/[name]/i18n/` folder (built into the theme), as well as translations present in `i18n/` at the root of your project. In the `i18n`, the translations will be merged and take precedence over what is in the theme folder. Language files should be named according to RFC 5646 with names such as `en-US.toml`, `fr.toml`, etc.
From within your templates, use the `i18n` function like this: From within your templates, use the `i18n` function like this:
@ -128,11 +128,11 @@ From within your templates, use the `i18n` function like this:
{{ i18n "home" }} {{ i18n "home" }}
``` ```
This uses a definition like this one in `i18n/en-US.yaml`: This uses a definition like this one in `i18n/en-US.toml`:
``` ```
- id: home [home]
translation: "Home" other = "Home"
``` ```
Often you will want to use to the page variables in the translations strings. To do that, pass on the "." context when calling `i18n`: Often you will want to use to the page variables in the translations strings. To do that, pass on the "." context when calling `i18n`:
@ -141,19 +141,18 @@ Often you will want to use to the page variables in the translations strings. To
{{ i18n "wordCount" . }} {{ i18n "wordCount" . }}
``` ```
This uses a definition like this one in `i18n/en-US.yaml`: This uses a definition like this one in `i18n/en-US.toml`:
``` ```
- id: wordCount [wordCount]
translation: "This article has {{ .WordCount }} words." other = "This article has {{ .WordCount }} words."
``` ```
An example of singular and plural form: An example of singular and plural form:
``` ```
- id: readingTime [readingTime]
translation: one = "One minute read"
one: "One minute read" other = "{{.Count}} minutes read"
other: "{{.Count}} minutes read"
``` ```
And then in the template: And then in the template:

View file

@ -0,0 +1,2 @@
[head_title]
other = "Multilingual"

View file

@ -1,3 +0,0 @@
- id: head_title
translation: "Multilingual"

View file

@ -0,0 +1,2 @@
[head_title]
other = "Mitmekeelne"

View file

@ -1,2 +0,0 @@
- id: head_title
translation: "Mitmekeelne"