我有一组文档,它们共享一个通用样式文件,该文件具有此特定集合共享的所有功能和模板。其中大部分都使用同一种语言,但其中只有极少数实际上是其他语言的翻译。我想继续使用相同样式的包含文件,但有些细节(例如页脚和标题页)需要根据语言进行调整。
我在用着多语1,并且每个文档都有自己的语言声明使用\setmainlanguage{}
(就我而言,主要是土耳其语)。是否有某种方法可以检索已设置的语言,并根据文档默认语言有条件地输出不同的字符串?
1 实际上由于某种原因我的样式文件还有\usepackage[turkish]{babel}
,这似乎是多余的,并且可能与多语种相冲突;也许我应该在处理这个问题的时候弄清楚为什么它会出现在那里!
答案1
polyglossia
将主要语言名称存储在宏中\xpg@main@language
,这样就很容易实现您想要的。
例子:
\documentclass{article}
\usepackage{xstring}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{turkish}
\makeatletter
\newcommand{\mainlanguage}{\xpg@main@language}
\makeatother
\begin{document}
This document is written in \mainlanguage.
\IfStrEq{\mainlanguage}{turkish}{Yes, it's Turkish!}{No, it's not Turkish!}
\end{document}
输出:
附注:babel
如果您polyglossia
已经在使用,请不要使用...