4.5 国际化
如果你的书籍的语言不是英语,那么可能需要将某些英语单词和短语翻译成你使用的语言,例如在 HTML 输出中自动编号数字/表格时的单词“Figure”和“Table”。国际化可能不是 LaTeX 输出的问题,因为一些 LaTeX 软件包可以自动将这些术语翻译成本地语言,例如 ctexcap 中文软件包。
对于非 LaTeX 输出,你可以在配置文件 _bookdown.yml
中设置 language
字段。目前默认的设置为:
language:
label:
fig: 'Figure '
tab: 'Table '
eq: 'Equation '
thm: 'Theorem '
lem: 'Lemma '
cor: 'Corollary '
prp: 'Proposition '
cnj: 'Conjecture '
def: 'Definition '
exm: 'Example '
exr: 'Exercise '
hyp: 'Hypothesis '
proof: 'Proof. '
remark: 'Remark. '
solution: 'Solution. '
ui:
edit: Edit
chapter_name: ''
appendix_name: ''
例如,如果你想要将使用 FIGURE x.x
而不是 Figure x.x
,你可以将 fig
更改为 "FIGURE "
:
ui
下的字段用于指定用户界面中的某些术语。edit
字段指定在 _bookdown.yml
(第 4.4 节)中提到的 edit
链接相关联的文本。chapter_name
、appendix_name
、fig
、tab
和 eq
字段可以是要在篇章或引用编号前加入的字符串(例如 CHAPTER
或 FIGURE
),也可以是一个以接受数字(篇章或引用编号)输入并返回一个字符串的 R 函数(例如 !expr function(i) paste('Chapter', i)
)。以下是匈牙利语的一个例子:
language:
label:
fig: !expr function(i) paste(i, 'ábra')
ui:
chapter_name: !expr function(i) paste0(i, '. fejezet')
仅仅对于 chapter_name
和 appendix_name
,如果它是长度为 2 的字符向量,则章节标题前缀将为 paste0(chapter_name[1], i, chapter_name[2])
,其中 i
是章节编号。
当你使用使用多字节字符(如中文、日文和韩文 (CJK))的语言编写时会有一个警告:Pandoc 无法从纯 CJK 字符的章节标题中生成标识符,因此你将无法交叉引用章节(它们没有标签),除非你通过将 {#identifier}
附加到章节标题来手动为其分配标识符,其中 identifier
是你选择的标识符。