Page

Language

返回给定页面的 Language 对象。

签名
PAGE.Language
返回类型
langs.Language

Page 对象上的 Language 方法返回给定页面的 Language 对象,其内容来自项目配置中的语言定义。

你也可以在 Site 对象上使用 Language 方法。详见说明。

方法

在 Language 对象上使用这些方法。

下面的示例都基于如下语言定义。

[languages.de]
direction = 'ltr'
label = 'Deutsch'
locale = 'de-DE'
weight = 2
Direction
(0.158.0 新增)
(string)返回语言定义中的 direction。
{{ .Language.Direction }} → ltr
IsDefault
(0.153.0 新增)
(bool)报告这是否为默认语言。
{{ .Language.IsDefault }} → true
Label
(0.158.0 新增)
(string)返回语言定义中的 label。
{{ .Language.Label }} → Deutsch
Lang
(0.158.0 起弃用)
请改用 Name。
LanguageCode
(0.158.0 起弃用)
请改用 Locale。
LanguageDirection
(0.158.0 起弃用)
请改用 Direction。
LanguageName
(0.158.0 起弃用)
请改用 Label。
Locale
(0.158.0 新增)
(string)返回语言定义中的 locale,找不到时回退到 Name。
{{ .Language.Locale }} → de-DE
Name
(0.153.0 新增)
(string)返回由 RFC 5646 定义的语言标签,即语言定义中转为小写的键名。
{{ .Language.Name }} → de
Weight
(0.158.0 起弃用)

示例

用下面的代码创建一个语言选择器,让用户在当前页面的不同翻译版本之间切换。

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