Language
返回给定页面的 Language 对象。
Page 对象上的 Language 方法返回给定页面的 Language 对象,其内容来自项目配置中的语言定义。
你也可以在 Site 对象上使用 Language 方法。详见说明。
方法
在 Language 对象上使用这些方法。
下面的示例都基于如下语言定义。
[languages.de]
direction = 'ltr'
label = 'Deutsch'
locale = 'de-DE'
weight = 2Direction- (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 起弃用)
示例
用下面的代码创建一个语言选择器,让用户在当前页面的不同翻译版本之间切换。
{{ 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 }}