ref: fe8462b205e0b1367953cb6816005f451a75a1e6
parent: d122260de76e2f2e8b22a727f6f49e07383ac9f8
author: Albert Nigmatzianov <[email protected]>
date: Fri Mar 31 11:04:52 EDT 2017
docs, examples: Use TOML for i18n config files Fix #3200
--- a/docs/content/content/multilingual.md
+++ b/docs/content/content/multilingual.md
@@ -118,9 +118,9 @@
### 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 @@
{{ 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 @@
{{ 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:
--- /dev/null
+++ b/examples/multilingual/i18n/en.toml
@@ -1,0 +1,2 @@
+[head_title]
+other = "Multilingual"
--- a/examples/multilingual/i18n/en.yaml
+++ /dev/null
@@ -1,3 +1,0 @@
-- id: head_title
- translation: "Multilingual"
-
--- /dev/null
+++ b/examples/multilingual/i18n/et.toml
@@ -1,0 +1,2 @@
+[head_title]
+other = "Mitmekeelne"
--- a/examples/multilingual/i18n/et.yaml
+++ /dev/null
@@ -1,2 +1,0 @@
-- id: head_title
- translation: "Mitmekeelne"