LaTeX 中当前语言的颜色名称

LaTeX 中当前语言的颜色名称

假设我们希望用当前语言来表达文档中使用的颜色:

\documentclass[USenglish,ngerman]{article}
\pagestyle{empty}
\usepackage{babel}
\usepackage[x11names]{xcolor}
\usepackage{etoolbox}
\newcommand{\actionColor}{blue}
\newcommand{\actionColorGerman}{blau}
\begin{document}
Die Aktionen werden \ifdefempty{\actionColorGerman}{in Textfarbe}{\actionColorGerman} gesetzt.
\end{document}

产量

该行动成为蓝色法律。

(这意味着动作(无论动作在我的文本中意味着什么)都是蓝色字体。)

当前代码很糟糕,因为\actionColor\actionColorGerman没有通过命令绑定在一起。例如,如果您更改/删除一个(例如blue),您可能会忘记更改/删除另一个(此处blau)。此外,如果您有十几个不同的语义颜色宏,\doodahXYZColor其值为 ,blue而另外十几个宏\gimmickXYZColor的值为red,则您必须添加十几个翻译,\doodahXYZColorGerman其值为 ,blau而另外十几个翻译的\gimmickXYZColorGerman值为rot。这是无用的重复。

是否有某个软件包已经完成了自动翻译颜色名称的练习?我不想重新发明自行车。理想情况下,我希望有一个宏

\colorInCurrentLanguage{…}

它接受一个参数(在我们的 MWE 中,\actionColor)并返回其在当前文档语言中的翻译(在我们的 MWE 中,blau)。

就我目前的目的而言,翻译成德语就可以了。

相关内容