我如何检索(并有条件地采取行动)我的文档的语言?

我如何检索(并有条件地采取行动)我的文档的语言?

我有一组文档,它们共享一个通用样式文件,该文件具有此特定集合共享的所有功能和模板。其中大部分都使用同一种语言,但其中只有极少数实际上是其他语言的翻译。我想继续使用相同样式的包含文件,但有些细节(例如页脚和标题页)需要根据语言进行调整。

我在用着多语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已经在使用,请不要使用...

相关内容