docs/content/en/methods/page/Language.md
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.
The examples below assume the following language definition.
{{< code-toggle file=hugo >}} [languages.de] direction = 'ltr' label = 'Deutsch' locale = 'de-DE' weight = 2 {{< /code-toggle >}}
{{< new-in 0.158.0 />}}
(string) Returns the direction from the language definition.
{{ .Language.Direction }} → ltr
{{< new-in 0.153.0 />}}
(bool) Reports whether this is the default language.
{{ .Language.IsDefault }} → true
{{< new-in 0.158.0 />}}
(string) Returns the label from the language definition.
{{ .Language.Label }} → Deutsch
{{<deprecated-in 0.158.0 />}}
Use Name instead.
{{<deprecated-in 0.158.0 />}}
Use Locale instead.
{{<deprecated-in 0.158.0 />}}
Use Direction instead.
{{<deprecated-in 0.158.0 />}}
Use Label instead.
{{< new-in 0.158.0 />}}
(string) Returns the locale from the language definition, falling back to Name.
{{ .Language.Locale }} → de-DE
{{< new-in 0.153.0 />}}
(string) Returns the language tag as defined by RFC 5646. This is the lowercased key from the language definition.
{{ .Language.Name }} → de
{{<deprecated-in 0.158.0 />}}
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 }}