Back to Hugo

Language

docs/content/en/methods/page/Language.md

0.163.32.7 KB
Original Source

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

Use these methods on the Language object.

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

Direction : {{< new-in 0.158.0 />}} : (string) Returns the direction from the language definition.

go-html-template
{{ .Language.Direction }} → ltr

IsDefault : {{< new-in 0.153.0 />}} : (bool) Reports whether this is the default language.

go-html-template
{{ .Language.IsDefault }} → true

Label : {{< new-in 0.158.0 />}} : (string) Returns the label from the language definition.

go-html-template
{{ .Language.Label }} → Deutsch

Lang : {{<deprecated-in 0.158.0 />}} : Use Name instead.

LanguageCode : {{<deprecated-in 0.158.0 />}} : Use Locale instead.

LanguageDirection : {{<deprecated-in 0.158.0 />}}

Use Direction instead. LanguageName : {{<deprecated-in 0.158.0 />}} : Use Label instead.

Locale : {{< new-in 0.158.0 />}} : (string) Returns the locale from the language definition, falling back to Name.

go-html-template
{{ .Language.Locale }} → de-DE

Name : {{< new-in 0.153.0 />}} : (string) Returns the language tag as defined by RFC 5646. This is the lowercased key from the language definition.

go-html-template
{{ .Language.Name }} → de

Weight : {{<deprecated-in 0.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.

go-html-template
{{ 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 }}