Back to Hugo

Language

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

0.163.32.2 KB
Original Source

The Language method on a Site object returns the Language object for the given site, derived from the language definition in your project configuration.

You can also use the Language method on a Page 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
{{ .Site.Language.Direction }} → ltr

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

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

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

go-html-template
{{ .Site.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
{{ .Site.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
{{ .Site.Language.Name }} → de

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

Example

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

go-html-template
<html
  lang="{{ .Site.Language.Locale }}" 
  dir="{{ or .Site.Language.Direction `ltr` }}"
>