一段时间以来,我一直在从事一个非常特殊的bash-TeX
项目,有时我需要提供多语言支持。对于这个问题,我很快寻找了一个简单的解决方案,并决定使用translations
包。我需要一组可用于多种语言的表达式以及一对命令:一个用于获取翻译,另一个用于获取翻译,但首字母大写。以一种可能太天真的方式,我不幸地选择分别简单地调用我的命令\translate
和\Translate
。这导致后来发生冲突,如果translator
包被其他包加载(例如siunitx
)。显然,为我的命令选择一个更好的名称(例如使用适当的前缀)将直接解决我的问题。尽管如此,改进和学习的倾向让我阅读了文档,translator
以便看看它是否恰好是更适合我的用例的包。由于我无法真正注意到根本差异,我交出了关于这两个包的优缺点的问题。特别是,什么时候应该优先选择其中一个?这只是个人喜好问题吗?
作为补充,我还有一个好奇心。有没有直接的方法可以检查translator
包中是否有可用的翻译?换句话说,哪个相当于包\IfTranslation
的命令translations
?从translator
文档(第 1.3.5 节)显然,如果没有可用的翻译,则<key>
使用本身。因此,如果我必须自己编写\IfTranslation
命令,我会利用这一事实,将 a 的翻译<key>
与<key>
本身进行比较。这是一种明智的方法吗?