文档语言

概述

文档语言在Pandoc处理大多数格式时起作用,并且在使用LaTeX(通过babelpolyglossia)或ConTeXt生成PDF输出时控制连字符。

此外,Quarto、Pandoc和LaTeX有时会生成需要本地化的文本输出。例如,交叉引用的“图”或“图列表”,标注标题如“注意”或“警告”,或折叠代码块的“代码”标题。

lang选项

lang文档选项通过使用IETF语言标签(遵循BCP 47标准)识别文档的主要语言,如enen-GB语言子标签查找工具可以查找或验证这些标签。

例如,此文档指定使用法语:

---
title: "我的文档"
lang: fr    
---

这将导致使用法语翻译以及应用其他特定于语言的规则进行文档处理。以下语言目前有完整的翻译可用:

  • 英语 (en, 默认使用)
  • 中文 (zh)
  • 西班牙语 (es)
  • 法语 (fr)
  • 日语 (ja)
  • 德语 (de)
  • 葡萄牙语 (pt)
  • 俄语 (ru)
  • 捷克语 (cs)
  • 芬兰语 (fi)
  • 荷兰语 (nl)
  • 意大利语 (it)
  • 波兰语 (pl)
  • 韩语 (ko)

备用语言

如果你对文档某一特定部分的默认语言不满意,可以通过language键提供备用语言(这可以在文档或项目级别使用)。例如,要覆盖标题块中使用的“作者”和“发布”标题的值,可以这样做:

---
title: "我的文档"
author: "Norah Jones"
date: 5/22/2022
language: 
  title-block-author-single: "作者"
  title-block-published: "更新"
---

如下面所述,你也可以在单独的YAML文件中提供这些翻译,并按如下方式引用它:

---
title: "我的文档"
author: "Norah Jones"
date: 5/22/2022
language: custom.yml
---

你可以通过参考此文件发现所有可以自定义的language值:https://github.com/quarto-dev/quarto-cli/blob/main/src/resources/language/_language.yml

每种语言的备用值

可以使用language键的子键将备用值限制为特定目标语言。这样,可以为每种语言定义不同的值。例如,你可以覆盖“发布”标题的英语和法语版本:

---
title: "我的文档"
author: "Norah Jones"
date: 5/22/2022
lang: fr
language:
  en:
    title-block-published: "更新"
  fr:
    title-block-published: "Mis à jour"
---

在这种情况下,将使用法语的“Mis à jour”,因为lang设置为fr

这些特定于语言的备用值也可以在单独的YAML文件中提供。例如,可以通过在元数据中设置language: custom-language.yml来使用以下文件:

custom-language.yml
en:
  title-block-published: "更新"
fr:
  title-block-published: "Mis à jour"

自定义翻译

你可以按如下方式为Quarto不支持的新语言创建和使用自定义翻译:

  1. 复制默认的_language.yml文件(https://github.com/quarto-dev/quarto-cli/blob/main/src/resources/language/_language.yml)。

  2. 提供从默认英语值的翻译。

  3. 使用language选项指定自定义翻译文件。例如:

    ---
    language: custom.yml
    ---

language选项可以在项目或文档级别指定。此外,如果你在与_quarto.yml配置文件的项目根目录中包含一个_language.yml文件,它将被自动使用。

如果你创建了一个语言翻译文件,请考虑贡献它,以便其他人也能受益。有关更多详细信息,请参阅关于贡献语言翻译的文档。