如何以正确的顺序列出所有语言并切换到特定语言的URL?

时间:2018-05-26 10:03:12

标签: hugo static-site

我在Ubuntu上使用Hugo 0.40.1 https://gohugo.io/,并尝试使用以下代码创建语言切换控件:

languages:
  en:
    weight: 1
    LanguageName: english
  es:
    weight: 2
    LanguageName: español
  fr:
    weight: 3
    LanguageName: français

config.yaml 文件包含以下内容:

{{1}}

这有以下问题:

  1. 无论我尝试什么变量/表达,我都无法显示 .LanguageName - 显示空字符串或当前页面语言 名字全部重复;请注意 .Lang 正常工作 - 但是 别的什么
  2. 根据文档, $ .Site.Languages 应该有效 按重量指定的顺序,但不起作用 那些和语言没有以任何可预测的方式排序
  3. 目前尚不清楚(从文档中)如何构建指向的URL 到当前页面的不同语言
  4. 我试图在这里以及在GitHub上发布它,试图找到过去与Hugo实现过类似内容的人。

1 个答案:

答案 0 :(得分:0)

雨果的讨论论坛非常有帮助,最终我找到了解决方案。有关详情,请参阅此链接: this question in the Hugo discussion forum

{{ range $.AllTranslations }}
    <a class='{{if eq .Lang $.Lang}} selected {{end}}' href='{{.RelPermalink}}'> {{ .Language.LanguageName }} </a>
{{ end }}

我的主要错误是使用Site.Languages,我必须使用翻译或通讯。

不确定订单和LanguageName的问题是什么,因为在某个时刻它只是“开始工作”。