我注意到在确认通过选项传递给它的选项之前,首先biblatex
使用传递给它的语言选项。polyglossia
language = <language>
以下是说明该问题的 MWE。
\documentclass[slovene,a4paper,12pt]{article}
\usepackage{polyglossia}
\usepackage[language=slovene, backend=biber]{biblatex}
\usepackage[autostyle]{csquotes}
\setdefaultlanguage{slovenian}
\DeclareLanguageMapping{slovene}{slovene-apa}
\addbibresource{biblatex-examples.bib}
\begin{document}
Cite here \parencite{aksin}.
\printbibliography
\end{document}
该示例编译得很好,但如何避免给出的警告:
包 biblatex 警告:不支持语言“斯洛文尼亚语”。
(biblatex)在输入第 25 行使用后备语言“斯洛文尼亚语”。
答案1
在咨询biblatex
维护者 Philip Kime 后,我给出了他的解决方案:
\DeclareLanguageMapping{slovenian}{slovene}
使biblatex
并biber
理解两种语言标识符都指的是同一种sl-SI
语言(请参阅包文档,正如@moewe所建议的那样)。因此,参考书目字符串如andothers
或pages
成功获得各自的翻译 - 这是不是当我编译问题中提供的MWE时的情况。
关于日志文件中的警告,我确认它们是无法避免的。也就是说,除非将标识符slovenian
硬编码biblatex
为 的同义词slovene
,就像UKenglish
的同义词一样british
。
答案2
biblatex
总是会首先尝试从默认的 polyglossia/babel 语言中自动检测语言。您看到的问题是由于biblatex
和polyglossia
以不同的方式命名语言而产生的令人讨厌的现象。我希望将来polyglossia
和babel
可以标准化 BCP47 语言环境名称(biber
已经支持这些名称并在内部映射到polyglossia
/babel
名称)。