【问题标题】:Share front matter between translations在翻译之间共享前端内容
【发布时间】:2021-03-12 06:21:03
【问题描述】:

我有一个 Hugo 网站,每个文件都有翻译,使用页面包。

所以关于页面看起来像这样:

- about
  - about-image.jpg
  - index.en.md
  - index.nl.md
  - index.fr.md

问题是我必须在所有 .md 文件中重复非 i18n 前面的内容。

例如,datetags 等等。

是否有一种方法可以在 hugo 中定义一次(基本)前端,并且翻译只包含 i18n 所需的覆盖?

【问题讨论】:

  • 更好的问题 Dyve,你为什么只想要 1 个前面的内容?如果你有多种语言,你的元数据最好是不同的,标题,描述等。那么问题就变成了,也许你只想分享一些前沿问题,比如分类标签,但你不想他们特定的语言?或者可能不是?所以问题是,也许更多关于正在解决的问题的数据? (注意:我确实只使用 Hugo 和多语言网站进行开发,所以我真的在问一个具体问题,看看我是否可以提供帮助。
  • 迟到的回复,但是是的,这将是非 i18n 特定的信息。分类、发布日期等。
  • 所以,这是我知道的唯一方法,目前,gohugo.io/content-management/front-matter#target-specific-pages 不是一个坏主意(手动定位),从未尝试过(来自 M. Inam)但是,您还可以创建一个页面布局(这将是 HTML),然后有一个页面包 - 以基本语言作为索引。然后根据语言,“foo.es.md”或其他内容,通过并收集其余的部分。当我有机会时,我必须对其进行伪编码。这是一个概念,也许不值得……

标签: hugo


【解决方案1】:

您可以在站点的配置文件中定义默认语言。 然后,将不需要翻译的字符串设置为默认语言的翻译文件,其他文件中不定义。

由于缺少翻译,Hugo 将默认使用默认语言(如果在配置文件中定义)。 https://gohugo.io/content-management/multilingual/#missing-translations

【讨论】:

    【解决方案2】:

    Hugo 现在带来了前端级联参数,您可以使用它来制作后代页面,甚至像这样的翻译页面

    cascade:
    - _target:
        kind: page
        lang: en
        path: /blog/**
      background: yosemite.jpg
    - _target:
        kind: section
      background: goldenbridge.jpg
    title: Blog
    

    在此处了解更多信息https://gohugo.io/content-management/front-matter#front-matter-cascade

    【讨论】:

      猜你喜欢
      • 2016-01-24
      • 2013-11-10
      • 2019-07-23
      • 2023-04-01
      • 1970-01-01
      • 2014-04-25
      • 2021-03-08
      • 2016-07-31
      • 1970-01-01
      相关资源
      最近更新 更多