TranslationKey
Syntax
PAGE.TranslationKey
Returns
string
The translation key creates a relationship between all translations of a given page. The translation key is derived from the file path, or from the translationKey
parameter if defined in front matter.
With this site configuration:
hugo.
defaultContentLanguage: en
languages:
de:
contentDir: content/de
languageCode: de-DE
languageName: Deutsch
weight: 2
en:
contentDir: content/en
languageCode: en-US
languageName: English
weight: 1
defaultContentLanguage = 'en'
[languages]
[languages.de]
contentDir = 'content/de'
languageCode = 'de-DE'
languageName = 'Deutsch'
weight = 2
[languages.en]
contentDir = 'content/en'
languageCode = 'en-US'
languageName = 'English'
weight = 1
{
"defaultContentLanguage": "en",
"languages": {
"de": {
"contentDir": "content/de",
"languageCode": "de-DE",
"languageName": "Deutsch",
"weight": 2
},
"en": {
"contentDir": "content/en",
"languageCode": "en-US",
"languageName": "English",
"weight": 1
}
}
}
And this content:
content/
├── de/
│ ├── books/
│ │ ├── buch-1.md
│ │ └── book-2.md
│ └── _index.md
├── en/
│ ├── books/
│ │ ├── book-1.md
│ │ └── book-2.md
│ └── _index.md
└── _index.md
And this front matter:
content/en/books/book-1.md
---
title: Book 1
translationKey: foo
---
+++
title = 'Book 1'
translationKey = 'foo'
+++
{
"title": "Book 1",
"translationKey": "foo"
}
content/de/books/buch-1.md
---
title: Buch 1
translationKey: foo
---
+++
title = 'Buch 1'
translationKey = 'foo'
+++
{
"title": "Buch 1",
"translationKey": "foo"
}
When rendering either either of the pages above:
{{ .TranslationKey }} → page/foo
If the front matter of Book 2, in both languages, does not include a translation key:
{{ .TranslationKey }} → page/books/book-2