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 5e414819e3
commit bc701e075d

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: