我维护一个 LaTeX 包,它的输出是三个英文单词:“and”、“p.”和“pp.”。我希望如果有人在德语文档中使用我的包,这三个字符串会自动变成“und”、“S.”和“S.”
在 LaTeX 包中设置国际化支持的最普遍做法是什么?我不会将这些字符串翻译成每一种语言,但我确实想让我的包可翻译。
如果它是一个软件包,那么这可以通过无处不在的 GNU gettext 轻松完成。有某种“LaTeX gettext”吗?
答案1
你可以使用这个translator
包。它已经包含许多术语的翻译,例如and
、Page
或Pages
,但你也可以自己添加缺失的术语:
\documentclass[ngerman]{report}
\usepackage{babel}
\usepackage{translator}
\usedictionary{translator-basic-dictionary}
\deftranslation[to=German]{p.}{\translate{S.}}
\deftranslation[to=German]{pp.}{\translate{S.}}
\begin{document}
\translate{and}
\translate{Page}
\translate{Pages}
\translate{p.}
\translate{pp.}
\end{document}