动态更改日期时间的语言

动态更改日期时间的语言

我正在构建一个相当复杂的信件模板作为article扩展类,它需要能够理解两种语言(英语和德语)。这是通过babel(使用ngermanenglish作为包选项)和来实现的\DeclareOption,它用于\selectlanguage确定哪一种。

目前,我使用datetime\today设置日期,但这需要babel在之前加载datetime来源)。正确的做法是什么?

我可以想象以下内容,但不知道如何做:

  • 重新加载babel,以便在处理语言选项后更新日期格式

  • 指定语言datetime(或使用支持此功能的其他包)

  • 通过手动完成ifthenelse(我可以这样做,但必须有更优雅的方法吗?)

感谢您的输入!

最小非工作示例:

\usepackage[english, ngerman]{babel}
\usepackage{datetime}

\DeclareOption{E}{
    \selectlanguage{english}
}
\ProcessOptions\relax
% date formatting magic here please %
\today

答案1

暂时,我决定采用以下方法(毕竟这个东西需要工作),但如果有人知道更优雅的解决方案,我会很高兴听到!

\ifthenelse{
    \equal{\mylanguage}{german}
    }{ % german
    \renewcommand{\dateseparator}{.}
    }{ % english
    \renewcommand{\dateseparator}{/}
    }
    \ddmmyyyydate
    \today

相关内容