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
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:
@ -128,11 +128,11 @@ From within your templates, use the `i18n` function like this:
{{ 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
translation: "Home"
[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`:
@ -141,19 +141,18 @@ Often you will want to use to the page variables in the translations strings. To
{{ 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
translation: "This article has {{ .WordCount }} words."
[wordCount]
other = "This article has {{ .WordCount }} words."
```
An example of singular and plural form:
```
- id: readingTime
translation:
one: "One minute read"
other: "{{.Count}} minutes read"
[readingTime]
one = "One minute read"
other = "{{.Count}} minutes read"
```
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"