HUGO
News Docs Themes Community GitHub

Language

Returns the language object for the given site.

Syntax

SITE.Language

Returns

langs.Language

The Language method on a Page object returns the language object for the given page. The language object is derived from the language definition in the site configuration.

You can also use the Language method on a Page object. See details.

Methods

The examples below assume the following in the site configuration:

languages:
  de:
    languageCode: de-DE
    languageDirection: ltr
    languageName: Deutsch
    weight: 1
[languages]
  [languages.de]
    languageCode = 'de-DE'
    languageDirection = 'ltr'
    languageName = 'Deutsch'
    weight = 1
{
   "languages": {
      "de": {
         "languageCode": "de-DE",
         "languageDirection": "ltr",
         "languageName": "Deutsch",
         "weight": 1
      }
   }
}

IsDefault

New in v0.153.0

(bool) Reports whether this is the default language object as defined by the defaultContentLanguage setting in the site configuration.

{{ .Site.Language.IsDefault }} → true

Lang

(string) The language tag as defined by RFC 5646. This is the lower cased key from the site configuration.

{{ .Site.Language.Lang }} → de

LanguageCode

(string) The language code from the site configuration. Falls back to Lang if not defined.

{{ .Site.Language.LanguageCode }} → de-DE

LanguageDirection

(string) The language direction from the site configuration, either ltr or rtl.

{{ .Site.Language.LanguageDirection }} → ltr

LanguageName

(string) The language name from the site configuration.

{{ .Site.Language.LanguageName }} → Deutsch

Name

(string) The language tag as defined by RFC 5646. This is the lower cased key from the site configuration. This is an alias for Lang.

{{ .Site.Language.Name }} → de

Weight

(int) The language weight from the site configuration which determines its order in the slice of languages returned by the Languages method on a Site object.

{{ .Site.Language.Weight }} → 1

Example

Some of the methods above are commonly used in a base template as attributes for the html element.

<html
  lang="{{ .Site.Language.LanguageCode }}" 
  dir="{{ or .Site.Language.LanguageDirection `ltr` }}"
>