HUGO
Menu
GitHub 87110 stars Mastodon

Language

Returns the Language object for the given page.

Syntax

PAGE.Language

Returns

langs.Language

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 }} → ltr

IsDefault

New in v0.153.0

(bool) Reports whether this is the default language.

{{ .Language.IsDefault }} → true

Label

New in v0.158.0

(string) Returns the label from the language definition.

{{ .Language.Label }} → Deutsch

Lang

Deprecated in v0.158.0

Use Name instead.

LanguageCode

Deprecated in v0.158.0

Use Locale instead.

LanguageDirection

Deprecated in v0.158.0

Use Direction instead.

LanguageName

Deprecated in v0.158.0

Use Label instead.

Locale

New in v0.158.0

(string) Returns the locale from the language definition, falling back to Name.

{{ .Language.Locale }} → de-DE

Name

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 }} → de

Weight

Deprecated in v0.158.0

Example

Use the code below to create a language selector, allowing users to navigate between the different translated versions of the current page.

layouts/_partials/language-selector.html
{{ 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 }}