Language
Syntax
Returns
The Language method on a Page object returns the Language object for the given page, derived from the language definition in your project configuration.
You can also use the Language method on a Site object. See details.
Methods
The examples below assume the following language definition.
languages:
de:
direction: ltr
label: Deutsch
locale: de-DE
weight: 2
[languages]
[languages.de]
direction = 'ltr'
label = 'Deutsch'
locale = 'de-DE'
weight = 2
{
"languages": {
"de": {
"direction": "ltr",
"label": "Deutsch",
"locale": "de-DE",
"weight": 2
}
}
}
Direction
New in v0.158.0(string) Returns the direction from the language definition.
{{ .Language.Direction }} → ltrIsDefault
New in v0.153.0(bool) Reports whether this is the default language.
{{ .Language.IsDefault }} → trueLabel
New in v0.158.0(string) Returns the label from the language definition.
{{ .Language.Label }} → DeutschLang
Deprecated in v0.158.0Use Name instead.
LanguageCode
Deprecated in v0.158.0Use Locale instead.
LanguageDirection
Deprecated in v0.158.0Use Direction instead.
LanguageName
Deprecated in v0.158.0Use Label instead.
Locale
New in v0.158.0(string) Returns the locale from the language definition, falling back to Name.
{{ .Language.Locale }} → de-DEName
New in v0.153.0(string) Returns the language tag as defined by RFC 5646. This is the lowercased key from the language definition.
{{ .Language.Name }} → deWeight
Deprecated in v0.158.0Example
Use the code below to create a language selector, allowing users to navigate between the different translated versions of the current page.
{{ with .Rotate "language" }}
<nav class="language-selector">
<ul>
{{ range . }}
{{ if eq .Language $.Language }}
<li class="active">
<a aria-current="page" href="{{ .Permalink }}" hreflang="{{ .Language.Locale }}">{{ .Language.Label }}</a>
</li>
{{ else }}
<li>
<a href="{{ .Permalink }}" hreflang="{{ .Language.Locale }}">{{ .Language.Label }}</a>
</li>
{{ end }}
{{ end }}
</ul>
</nav>
{{ end }}