texlive[45472] Master/texmf-dist: datetime2-german (4oct17)

commits+karl at tug.org commits+karl at tug.org
Thu Oct 5 02:41:45 CEST 2017


Revision: 45472
          http://tug.org/svn/texlive?view=revision&revision=45472
Author:   karl
Date:     2017-10-05 02:41:45 +0200 (Thu, 05 Oct 2017)
Log Message:
-----------
datetime2-german (4oct17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/datetime2-german/README.md
    trunk/Master/texmf-dist/doc/latex/datetime2-german/datetime2-german.pdf
    trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx
    trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins
    trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf
    trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf
    trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf
    trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf
    trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf

Modified: trunk/Master/texmf-dist/doc/latex/datetime2-german/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datetime2-german/README.md	2017-10-05 00:41:31 UTC (rev 45471)
+++ trunk/Master/texmf-dist/doc/latex/datetime2-german/README.md	2017-10-05 00:41:45 UTC (rev 45472)
@@ -3,39 +3,17 @@
 
 Authors: Nicola L. C. Talbot (inactive), Sebastian Friedl  
 
-Licence: LPPL  
+Licence: LPPL 1.3c  
 
 Required Packages: `datetime2`, `tracklang`  
 
 This module is maintained.  
-Current maintainer is Sebastian Friedl.
+Current maintainer is Sebastian Friedl.  
 
-Example usage:  
+Thanks to Jürgen Spitzmüller for his valuable advice while developing Version 2.0 of this module.
 
-    \documentclass{article}
-    \usepackage[german]{datetime2}
-    \begin{document}
-    \today
-    \end{document}
+## Installation
 
-    \documentclass[german]{article}
-    \usepackage{babel}
-    \usepackage[useregional]{datetime2}
-    \begin{document}
-    \today
-    \end{document}
-
-    \documentclass{article}
-    \usepackage{polyglossia}
-    \setmainlanguage{german}
-    \usepackage[german]{datetime2}
-    \begin{document}
-    \today
-    \end{document}
-
-
-## INSTALLATION
-
 `latex datetime2-german.ins`
 
 Move all `*.ldf` files to `TEXMF/tex/latex/datetime2-contrib/datetime2-german/`
@@ -50,4 +28,4 @@
 
 Move `datetime2-german.pdf` and `README` to `TEXMF/doc/latex/datetime2-contrib/datetime2-german/`
 
-This material is subject to the LaTeX Project Public License. See [http://www.latex-project.org/lppl.txt](http://www.latex-project.org/lppl.txt "Show the current version of the LPPL") or `LICENSE.txt` for the details of that license.
+This material is subject to the LaTeX Project Public License. See [http://www.latex-project.org/lppl.txt](http://www.latex-project.org/lppl.txt "Show the current version of the LPPL") for the details of that license.

Modified: trunk/Master/texmf-dist/doc/latex/datetime2-german/datetime2-german.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx	2017-10-05 00:41:31 UTC (rev 45471)
+++ trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx	2017-10-05 00:41:45 UTC (rev 45472)
@@ -26,12 +26,14 @@
 %<*driver>
 \documentclass{ltxdoc}
 
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+
 \usepackage{alltt}
+\usepackage{csquotes}
 \usepackage{graphicx}
 \usepackage{hologo}
 \usepackage{multicol}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
 \usepackage[bookmarks,
             hyperindex=false,
             pdfauthor={Nicola L.C. Talbot, Sebastian Friedl},
@@ -45,8 +47,10 @@
 
 \usepackage[left=4.50cm,right=2.75cm,top=3.25cm,bottom=2.75cm,nohead]{geometry}
 
-\CheckSum{343}
+\parindent0pt
 
+\CheckSum{1085}
+
 \renewcommand*{\usage}[1]{\hyperpage{#1}}
 \renewcommand*{\main}[1]{\hyperpage{#1}}
 \IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}}
@@ -69,16 +73,16 @@
 %
 %\title{German Module for the \sty{datetime2} Package \\ {\large\url{https://github.com/SFr682k/datetime2-german}}}
 %\author{\begin{tabular}{cp{.05\textwidth}c} Nicola L. C. Talbot && Sebastian Friedl \\ (inactive) && {\normalsize\href{mailto:sfr682k at t-online.de}{\texttt{sfr682k at t-online.de}}} \end{tabular}}
-%\date{2017-09-10 (v1.2)}
+%\date{2017-10-03 (v2.0)}
 %\maketitle
 %
 %
 %\begin{abstract}
-%This is the German language module for the \sty{datetime2}
-%package. If you want to use the settings in this module you must
-%install it in addition to installing \sty{datetime2}. If you use
-%\sty{babel} or \sty{polyglossia}, you will need this module to
-%prevent them from redefining \cs{today}. The \sty{datetime2}
+% This is the German language module for the \sty{datetime2}
+% package. If you want to use the settings in this module you must
+% install it in addition to installing \sty{datetime2}. If you use
+% \sty{babel} or \sty{polyglossia}, you will need this module to
+% prevent them from redefining \cs{today}. The \sty{datetime2}
 % \opt{useregional} setting must be set to "text" or "numeric"
 % for the language styles to be set.
 % Alternatively, you can set the style in the document using
@@ -88,11 +92,15 @@
 %
 %
 %
-% Currently there is only a regionless style. \par
-% Actually, I think that it is not necessary to define variant styles (e.~g. "de-DE"\slash"de-DE-numeric" and "de-AT"\slash"de-AT-numeric") since there are --- as far as I know --- no differences in the \emph{format} of the date.
-% \par However, I'm only capable of standard German. If there \emph{are} differences in format and/or spelling, please create a feature request on GitHub or send me an e--mail. I would be very grateful, if some examples and/or a list of the weekdays' and months' spelling is/are also provided.
+% Currently there is a regionless style as well as variant styles ("de-DE", "de-AT" and "de-CH"). \\[\smallskipamount]
+% I'm only capable of German standard German. If I messed up anything in regards to format and/or spelling, or even a variant style with differences to the existing ones is missing, please create a feature request on GitHub or send me an e--mail. \\
+% I would be very grateful, if some examples and/or a list of the weekdays' and months' spelling is/are also provided.
 %
+% \bigskip
+% Thanks to Jürgen Spitzmüller for his valuable advice while developing Version 2.0 of this module.
 %
+%
+% \clearpage
 % \tableofcontents
 % \clearpage
 %
@@ -120,15 +128,24 @@
 %
 %
 %
-% \section{Usage}
-% \textit{See the \sty{datetime2} documentation for further details} \\[\smallskipamount]
-% Loading the German module by passing the \texttt{german} option to the \sty{datetime2} package: \\[\smallskipamount]
+% \clearpage
+% \part{The Documentation}
+% \section{Setting up \sty{datetime2} with a language module}
+% \subsection{Loading a language module}
+% \textit{There are three different ways to load the required language module. See the \sty{datetime2} documentation for further details}
+%
+% \medskip
+%
+% \textbf{Variant 1:} \\
+% Request the desired language module explicitly by passing the "german", "de-DE", "de-AT" or "de-CH" option to the \sty{datetime2} package: \\[\smallskipamount]
 %\verb|\documentclass{article}| \\
 %\verb|\usepackage[german]{datetime2}| \\
 %\verb|\begin{document}| \\
 %\verb|\today| \\
 %\verb|\end{document}| \\[\medskipamount]
-% Loading the German module via \sty{babel} and passing the \texttt{german} option to the \verb|\documentclass| command (or to \sty{babel} directly): \\[\smallskipamount]
+%
+% \textbf{Variant 2:} \\
+% Load \sty{babel} and pass the "german", "austrian" or "swissgerman" option to the \verb|\documentclass| command (or to \sty{babel} directly). If you now pass the \opt{useregional} option to \sty{datetime2}, the language module suitable to the one specified with \sty{babel} is loaded: \\[\smallskipamount]
 %\verb|\documentclass[german]{article}| \\
 %\verb|\usepackage{babel}| \\
 %\verb|\usepackage[useregional]{datetime2}| \\
@@ -135,7 +152,9 @@
 %\verb|\begin{document}| \\
 %\verb|\today| \\
 %\verb|\end{document}| \\[\medskipamount]
-% Loading the German module when using \sty{polyglossia} by passing the \texttt{german} option to the \sty{datetime2} package: \\[\smallskipamount]
+%
+% \textbf{Variant 3:} \\
+% When using \sty{polyglossia}, you should request the desired language module by passing the "german", "de-DE", "de-AT" or "de-CH" option to the \sty{datetime2} package: \\[\smallskipamount]
 %\verb|\documentclass{article}| \\
 %\verb|\usepackage{polyglossia}| \\
 %\verb|\setmainlanguage{german}| \\
@@ -144,30 +163,127 @@
 %\verb|\today| \\
 %\verb|\end{document}|
 %
-% \paragraph{\opt{showdow}--option} Pass the \opt{showdow} option to the \sty{datetime2} package to show the weekday
 %
-% \paragraph{Abbreviated weekday and month names} Use the \verb|\DTMlangsetup[german]{abbr}| command to switch to abbreviated weekday and month names. \\
-% Switch back to the non--abbreviated version with \verb|\DTMlangsetup[german]{abbr=false}|
+% \subsection{Other features}
+% \subsubsection{Showing the weekday}
+% All language modules shipped with \sty{datetime2-german} support showing the weekday. \\
+% To enable this feature, pass the \opt{showdow} option to the \sty{datetime2} package. \\
+% Please note, that this has no effect when using the "numeric" style of the "de-AT" variant.
 %
+% \subsubsection{Using abbreviated weekday and month names}
+% To enable abbreviated weekday and month names, use \verb|\DTMlangsetup[german]{abbr}|. \\
+% To disable them, use \verb|\DTMlangsetup[german]{abbr=false}|.
 %
+% \medskip
+% In both cases, replace "german" with the used variant style ("de-DE", "de-AT" or "de-CH"). \\
+% Please note, that this has no effect when using the "numeric" style of the "de-AT" variant.
 %
+%
 % \section{Style examples}
+% \subsection{Regionless style}
 % \begin{itemize}
 %    \item Non--numeric style: \\
-%    5. September 2017, 12:51:04 MESZ \\
-%    5. Sep. '17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
-%    Dienstag, 5. September 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
-%    Di., 5. Sep. '17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+%    3. Oktober 2017, 12:51:04 MESZ \\
+%    3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+%    Dienstag, 3. Oktober 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+%    Di, 3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
 %    %
 %    \item Numeric style: \\
-%    05.09.2017, 12:51:04 MESZ \\
-%    05.09.17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
-%    Dienstag, 05.09.2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
-%    Di., 05.09.17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+%    03.10.2017, 12:51:04 MESZ \\
+%    03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+%    Dienstag, 03.10.2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+%    Di, 03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
 % \end{itemize}
 %
 %
+% \subsection{German style (\texttt{de-DE})}
+% \begin{itemize}
+%    \item Non--numeric style: \\
+%    3. Oktober 2017, 12:51:04 MESZ \\
+%    3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+%    Dienstag, 3. Oktober 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+%    Di, 3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+%    %
+%    \item Numeric style: \\
+%    03.10.2017, 12:51:04 MESZ \\
+%    03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+%    Dienstag, 03.10.2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+%    Di, 03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% \end{itemize}
 %
+%
+% \subsection{Austrian style (\texttt{de-AT})}
+% \begin{itemize}
+%    \item Non--numeric style: \\
+%    3. Oktober 2017, 12:51:04 MESZ \\
+%    3. Okt. 2017, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+%    Dienstag, 3. Oktober 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+%    Di, 3. Okt. 2017, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+%    %
+%    \item Numeric style: \\
+%    2017-10-03, 12:51:04 MESZ
+% \end{itemize}
+%
+%
+% \subsection{Swiss style (\texttt{de-CH})}
+% \begin{itemize}
+%    \item Non--numeric style: \\
+%    3. Oktober 2017, 12.51.04 Uhr MESZ \\
+%    3. Okt. 2017, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version} \\
+%    Dienstag, 3. Oktober 2017, 12.51.04 Uhr MESZ \hfill \textit{with \opt{showdow} option} \\
+%    Di, 3. Okt. 2017, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+%    %
+%    \item Numeric style: \\
+%    03.10.2017, 12.51.04 Uhr MESZ \\
+%    03.10.17, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version} \\
+%    Dienstag, 03.10.2017, 12.51.04 Uhr MESZ \hfill \textit{with \opt{showdow} option} \\
+%    Di, 03.10.17, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% \end{itemize}
+%
+%
+%
+% \section{Further customization of styles}
+% There are a number of settings provided that can be used in \verb|\DTMlangsetup| to modify the date-time style. These are:
+% \begin{description}
+%	\item["dowdaysep"]%
+%	The separator between the day of week name and the day of month number.
+%
+%	\item["daymonthsep"]%
+%	The separator between the day and the month name
+%
+%	\item["monthyearsep"]%
+%	The separator between the month name and year
+%
+%	\item["datesep"]%
+%	The separator between the date numbers in the "numeric style"s
+%
+%	\item["timesep"]%
+%	The separator between hours, minutes and seconds
+%
+%	\item["datetimesep"]%
+%	The separator between the date and time for the full date-time format
+%
+%	\item["timezonesep"]%
+%	The separator between the time and zone for the full date-time format
+%
+%	\item["abbr"]%
+%	This is a boolean key. If "true", the month (and weekday name, if shown) is abbreviated.
+%
+%	\item["mapzone"]%
+%	This is a boolean key. If "true", the time zone mappings are applied.
+%
+%	\item["showdayofmonth"]%
+%	A boolean key that determines whether or not to show the day of the month
+%
+%	\item["showyear"]%
+%	A boolean key that determines whether or not to show the year
+%\end{description}
+%
+%
+% Although the keys listed here are \textit{defined} for all variant styles, it depends on \sty{datetime2}'s setup and the requested styles whether they're \textit{used}. \\
+% For more information about the \verb|\DTMlangsetup| command see the documentation of the main \sty{datetime2} package.
+%
+%
 % \section{License}
 % This material is subject to the \LaTeX\ Project Public License, Version 1.3c or later. \\
 % See the copyright headers of the single files for further details.
@@ -181,13 +297,18 @@
 %\PrintChanges
 %\addcontentsline{toc}{section}{\indexname}%
 %\PrintIndex}
-%\section{The Code}
+%\clearpage
+%\part{The Code}
 %\iffalse
 %    \begin{macrocode}
 %<*datetime2-german-utf8.ldf>
 %    \end{macrocode}
 %\fi
-%\subsection{UTF-8}
+%\section{Basic German module}
+% This module defines the \enquote{basic} German style, which contains the necessary vocab for all German localizations. \\
+% The date and time format is based on the "de-DE" variant.
+%
+%\subsection{Weekday and month names (UTF-8)}
 %This file contains the settings that use UTF-8 characters. This
 %file is loaded if \hologo{XeLaTeX} or \hologo{LuaLaTeX} are used. Please make sure
 %your text editor is set to UTF-8 if you want to view this code.
@@ -195,7 +316,7 @@
 %
 % Identify module
 %    \begin{macrocode}
-\ProvidesDateTimeModule{german-utf8}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-utf8}[2017/10/03 v2.0]
 %    \end{macrocode}
 %\begin{macro}{\DTMgermanordinal}
 %    \begin{macrocode}
@@ -239,9 +360,45 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\DTMdeATmonthname}
+%\changes{2.0}{2017-10-03}{Austrian month names implemented}
+% Austrian German month names. Spot the difference :D
+%    \begin{macrocode}
+\newcommand*{\DTMdeATmonthname}[1]{%
+  \ifcase#1
+  \or
+  Jänner%
+  \or
+  Februar%
+  \or
+  März%
+  \or
+  April%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  August%
+  \or
+  September%
+  \or
+  Oktober%
+  \or
+  November%
+  \or
+  Dezember%
+  \fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\DTMgermanshortmonthname}
 % Abbreviated German month names.
 %\changes{1.2}{2017-09-10}{Short month names implemented}
+%\changes{2.0}{2017-10-03}{Short month names fixed}
 %    \begin{macrocode}
 \newcommand*{\DTMgermanshortmonthname}[1]{%
   \ifcase#1
@@ -262,7 +419,7 @@
   \or
   Aug.%
   \or
-  Sep.%
+  Sept.%
   \or
   Okt.%
   \or
@@ -274,8 +431,78 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\DTMdeATshortmonthname}
+%\changes{2.0}{2017-10-03}{Austrian short month names implemented}
+% Abbreviated Austrian German month names.
+%    \begin{macrocode}
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+  \ifcase#1
+  \or
+  Jän.%
+  \or
+  Feb.%
+  \or
+  März%
+  \or
+  Apr.%
+  \or  
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  Aug.%
+  \or
+  Sept.%
+  \or
+  Okt.%
+  \or
+  Nov.%
+  \or
+  Dez.%
+  \fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHshortmonthname}
+% Abbreviated Swiss German month names.
+%\changes{2.0}{2017-10-03}{Swiss German short month names implemented}
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+  \ifcase#1
+  \or
+  Jan.%
+  \or
+  Febr.%
+  \or
+  März%
+  \or
+  April%
+  \or  
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  Aug.%
+  \or
+  Sept.%
+  \or
+  Okt.%
+  \or
+  Nov.%
+  \or
+  Dez.%
+  \fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\DTMgermanweekdayname}
-%Provides weekday names
+% Provides weekday names
 %    \begin{macrocode}
 \newcommand*{\DTMgermanweekdayname}[1]{%
   \ifcase#1
@@ -300,22 +527,23 @@
 %\begin{macro}{\DTMgermanshortweekdayname}
 %Provides abbreviated weekday names
 %\changes{1.2}{2017-09-10}{Short weekday names implemented}
+%\changes{2.0}{2017-10-03}{Short weekday names fixed}
 %    \begin{macrocode}
 \newcommand*{\DTMgermanshortweekdayname}[1]{%
   \ifcase#1
-  Mo.%
+  Mo%
   \or
-  Di.%
+  Di%
   \or
-  Mi.%
+  Mi%
   \or
-  Do.%
+  Do%
   \or
-  Fr.%
+  Fr%
   \or
-  Sa.%
+  Sa%
   \or
-  So.%
+  So%
   \fi
 }
 %    \end{macrocode}
@@ -331,7 +559,7 @@
 %<*datetime2-german-ascii.ldf>
 %    \end{macrocode}
 %\fi
-%\subsection{ASCII}
+%\subsection{Weekday and month names (ASCII)}
 %This file contains the settings that use \LaTeX\ commands for
 %non-ASCII characters. This should be input if neither \hologo{XeLaTeX} nor
 %\hologo{LuaLaTeX} are used. Even if the user has loaded \sty{inputenc} with
@@ -343,7 +571,7 @@
 %
 % Identify module
 %    \begin{macrocode}
-\ProvidesDateTimeModule{german-ascii}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-ascii}[2017/10/03 v2.0]
 %    \end{macrocode}
 %
 %\begin{macro}{\DTMgermanordinal}
@@ -388,9 +616,45 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\DTMdeATmonthname}
+%\changes{2.0}{2017-10-03}{Austrian month names implemented}
+% Austrian German month names.
+%    \begin{macrocode}
+\newcommand*{\DTMdeATmonthname}[1]{%
+  \ifcase#1
+  \or
+  J\protect\"anner%
+  \or
+  Februar%
+  \or
+  M\protect\"arz%
+  \or
+  April%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  August%
+  \or
+  September%
+  \or
+  Oktober%
+  \or
+  November%
+  \or
+  Dezember%
+  \fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\DTMgermanshortmonthname}
 % Abbreviated German month names.
 %\changes{1.2}{2017-09-10}{Short month names implemented}
+%\changes{2.0}{2017-10-03}{Short month names fixed}
 %    \begin{macrocode}
 \newcommand*{\DTMgermanshortmonthname}[1]{%
   \ifcase#1
@@ -411,7 +675,7 @@
   \or
   Aug.%
   \or
-  Sep.%
+  Sept.%
   \or
   Okt.%
   \or
@@ -423,6 +687,76 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\DTMdeATshortmonthname}
+%\changes{2.0}{2017-10-03}{Austrian short month names implemented}
+% Abbreviated Austrian German month names.
+%    \begin{macrocode}
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+  \ifcase#1
+  \or
+  J\protect\"an.%
+  \or
+  Feb.%
+  \or
+  M\protect\"arz%
+  \or
+  Apr.%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  Aug.%
+  \or
+  Sept.%
+  \or
+  Okt.%
+  \or
+  Nov.%
+  \or
+  Dez.%
+  \fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHshortmonthname}
+% Abbreviated Swiss German month names.
+%\changes{2.0}{2017-10-03}{Swiss German short month names implemented}
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+	\ifcase#1
+	\or
+	Jan.%
+	\or
+	Febr.%
+	\or
+	M\protect\"arz%
+	\or
+	April%
+	\or
+	Mai%
+	\or
+	Juni%
+	\or
+	Juli%
+	\or
+	Aug.%
+	\or
+	Sept.%
+	\or
+	Okt.%
+	\or
+	Nov.%
+	\or
+	Dez.%
+	\fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\DTMgermanweekdayname}
 %Provides weekday names
 %    \begin{macrocode}
@@ -449,22 +783,23 @@
 %\begin{macro}{\DTMgermanshortweekdayname}
 %Provides abbreviated weekday names
 %\changes{1.2}{2017-09-10}{Short weekday names implemented}
+%\changes{2.0}{2017-10-03}{Short weekday names fixed}
 %    \begin{macrocode}
 \newcommand*{\DTMgermanshortweekdayname}[1]{%
   \ifcase#1
-  Mo.%
+  Mo%
   \or
-  Di.%
+  Di%
   \or
-  Mi.%
+  Mi%
   \or
-  Do.%
+  Do%
   \or
-  Fr.%
+  Fr%
   \or
-  Sa.%
+  Sa%
   \or
-  So.%
+  So%
   \fi
 }
 %    \end{macrocode}
@@ -476,7 +811,7 @@
 %    \end{macrocode}
 %\fi
 %
-%\subsection{Main German Module (\texttt{datetime2-german.ldf})}
+%\subsection{Basic German Module (\texttt{datetime2-german.ldf})}
 %\changes{1.0}{2015-03-27}{Initial release}
 %
 %\iffalse
@@ -487,7 +822,7 @@
 %
 % Identify Module
 %    \begin{macrocode}
-\ProvidesDateTimeModule{german}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german}[2017/10/03 v2.0]
 %    \end{macrocode}
 % Need to find out if \hologo{XeTeX} or \hologo{LuaTeX} are being used.
 %    \begin{macrocode}
@@ -569,6 +904,7 @@
 %Provide keys that can be used in \cs{DTMlangsetup} to set these
 %separators.
 %    \begin{macrocode}
+\DTMdefkey{german}{dowdaysep}{\renewcommand*{\DTMgermandowdaysep}{#1}}
 \DTMdefkey{german}{daymonthsep}{\renewcommand*{\DTMgermandaymonthsep}{#1}}
 \DTMdefkey{german}{monthyearsep}{\renewcommand*{\DTMgermanmonthyearsep}{#1}}
 \DTMdefkey{german}{datetimesep}{\renewcommand*{\DTMgermandatetimesep}{#1}}
@@ -730,6 +1066,7 @@
 %
 % Define numeric style.
 %\changes{1.2}{2017-09-10}{Day of week implemented}
+%\changes{2.0}{2017-10-03}{Bugfix: month-year-separator}
 %    \begin{macrocode}
 \DTMnewstyle
  {german-numeric}% label
@@ -751,12 +1088,12 @@
       }%
       {}%
       \DTMtwodigits{##2}%
+      \DTMgermandatesep%
       \DTMifbool{german}{showyear}%
       {%
-      	\DTMgermandatesep%
-      	\DTMifbool{german}{abbr}%
-      	{\DTMtwodigits{##1}}%
-      	{\number##1 }% space intended
+        \DTMifbool{german}{abbr}%
+        {\DTMtwodigits{##1}}%
+        {\number##1 }% space intended
       }%
       {}%
     }%
@@ -850,5 +1187,1055 @@
 %</datetime2-german.ldf>
 %    \end{macrocode}
 %\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \section{German localization (\texttt{de-DE}, \texttt{datetime2-de-DE.ldf})}
+%\changes{2.0}{2017-10-03}{German localization added}
+%\iffalse
+%    \begin{macrocode}
+%<*datetime2-de-DE.ldf>
+%    \end{macrocode}
+%\fi
+% Identify Module
+%    \begin{macrocode}
+\ProvidesDateTimeModule{de-DE}[2017/10/03 v2.0]
+%    \end{macrocode}
+% Require the basic German module
+%    \begin{macrocode}
+\RequireDateTimeModule{german}
+%    \end{macrocode}
+%
+%
+% Allow the user a way of configuring the "de-DE" and
+% "de-DE-numeric" styles. This doesn't use the package wide
+% separators such as
+% \cs{dtm at datetimesep} in case other date formats are also required.
+%
+%\begin{macro}{\DTMdeDEdowdaysep}
+% The separator between weekday and day
+%    \begin{macrocode}
+\newcommand*{\DTMdeDEdowdaysep}{,\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEdaymonthsep}
+% The separator between the day and month for the text format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeDEdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEmonthyearsep}
+% The separator between the month and year for the text format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeDEmonthyearsep}{\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEdatetimesep}
+% The separator between the date and time blocks in the full format
+% (either text or numeric).
+%    \begin{macrocode}
+\newcommand*{\DTMdeDEdatetimesep}{,\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEtimezonesep}
+% The separator between the time and zone blocks in the full format
+% (either text or numeric).
+%    \begin{macrocode}
+\newcommand*{\DTMdeDEtimezonesep}{\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEdatesep}
+% The separator for the numeric date format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeDEdatesep}{.}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEtimesep}
+% The separator for the numeric time format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeDEtimesep}{:}
+%    \end{macrocode}
+%\end{macro}
+%
+% Provide keys that can be used in \cs{DTMlangsetup} to set these
+% separators.
+%    \begin{macrocode}
+\DTMdefkey{de-DE}{dowdaysep}{\renewcommand*{\DTMdeDEdowdaysep}{#1}}
+\DTMdefkey{de-DE}{daymonthsep}{\renewcommand*{\DTMdeDEdaymonthsep}{#1}}
+\DTMdefkey{de-DE}{monthyearsep}{\renewcommand*{\DTMdeDEmonthyearsep}{#1}}
+\DTMdefkey{de-DE}{datetimesep}{\renewcommand*{\DTMdeDEdatetimesep}{#1}}
+\DTMdefkey{de-DE}{timezonesep}{\renewcommand*{\DTMdeDEtimezonesep}{#1}}
+\DTMdefkey{de-DE}{datesep}{\renewcommand*{\DTMdeDEdatesep}{#1}}
+\DTMdefkey{de-DE}{timesep}{\renewcommand*{\DTMdeDEtimesep}{#1}}
+%    \end{macrocode}
+%
+% 
+% Define a boolean key that can switch between full and abbreviated formats for
+% the month and day of week names in the text format.
+%    \begin{macrocode}
+\DTMdefboolkey{de-DE}{abbr}[true]{}
+%    \end{macrocode}
+%
+% The default is full name
+%    \begin{macrocode}
+\DTMsetbool{de-DE}{abbr}{false}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the time zone mappings
+% should be used.
+%    \begin{macrocode}
+\DTMdefboolkey{de-DE}{mapzone}[true]{}
+%    \end{macrocode}
+% The default is to use mappings.
+%    \begin{macrocode}
+\DTMsetbool{de-DE}{mapzone}{true}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the day of month should be
+% displayed.
+%    \begin{macrocode}
+\DTMdefboolkey{de-DE}{showdayofmonth}[true]{}
+%    \end{macrocode}
+% The default is to show the day of month.
+%    \begin{macrocode}
+\DTMsetbool{de-DE}{showdayofmonth}{true}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the year should be
+% displayed.
+%    \begin{macrocode}
+\DTMdefboolkey{de-DE}{showyear}[true]{}
+%    \end{macrocode}
+% The default is to show the year.
+%    \begin{macrocode}
+\DTMsetbool{de-DE}{showyear}{true}
+%    \end{macrocode}
+%
+%
+% Define the "de-DE" style
+%    \begin{macrocode}
+\DTMnewstyle
+{de-DE}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-DE}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeDEdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-DE}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-DE}{abbr}%
+    {\DTMgermanshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-DE}{showyear}%
+    {%
+      \DTMdeDEmonthyearsep%
+      \DTMifbool{de-DE}{abbr}%
+      {'\DTMtwodigits{##1}}%
+      {\number##1 }% space intended
+    }%
+    {}%
+  }%
+  \renewcommand*\DTMDisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-DE}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeDEdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-DE}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-DE}{abbr}%
+    {\DTMgermanshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-DE}{showyear}%
+    {%
+      \DTMdeDEmonthyearsep%
+      \DTMifbool{de-DE}{abbr}%
+      {'\DTMtwodigits{##1}}%
+      {\number##1 }% space intended
+    }%
+    {}%
+  }
+}%
+{% time style (use default)
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeDEtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-DE}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMdeDEtimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeDEdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeDEtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}[9]{%
+    \ifDTMshowdate
+      \DTMDisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeDEdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeDEtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+}%
+%    \end{macrocode}
+%
+% Define numeric style.
+%    \begin{macrocode}
+\DTMnewstyle
+{de-DE-numeric}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-DE}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeDEdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-DE}{showdayofmonth}%
+    {%
+      \DTMtwodigits{##3}%
+      \DTMdeDEdatesep
+    }%
+    {}%
+    \DTMtwodigits{##2}%
+    \DTMdeDEdatesep%
+    \DTMifbool{de-DE}{showyear}%
+    {%
+      \DTMifbool{de-DE}{abbr}%
+      {\DTMtwodigits{##1}}%
+      {\number##1 }% space intended
+    }%
+    {}%
+    }%
+  \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeDEtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-DE}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeDEdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeDEtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+%    \end{macrocode}
+%
+% Switch style according to the \opt{useregional} setting.
+%    \begin{macrocode}
+\DTMifcaseregional
+  {}% do nothing
+  {\DTMsetstyle{de-DE}}
+  {\DTMsetstyle{de-DE-numeric}}
+%    \end{macrocode}
+%
+% Redefine \cs{dategerman} (or \cs{date}\meta{dialect}) to prevent
+% \sty{babel} from resetting \cs{today}. (For this to work,
+% \sty{babel} must already have been loaded if it's required.)
+%    \begin{macrocode}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+  \ifundef\dategerman
+  {% do nothing
+  }%
+  {%
+    \def\dategerman{%
+      \DTMifcaseregional
+      {}% do nothing
+      {\DTMsetstyle{german}}%
+      {\DTMsetstyle{german-numeric}}%
+    }%
+  }%
+}%
+{%
+  \csdef{date\CurrentTrackedDialect}{%
+    \DTMifcaseregional
+    {}% do nothing
+    {\DTMsetstyle{de-DE}}%
+    {\DTMsetstyle{de-DE-numeric}}
+  }%
+}%
+%    \end{macrocode}
+%
+%\iffalse
+%    \begin{macrocode}
+%</datetime2-de-DE.ldf>
+%    \end{macrocode}
+%\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \section{Austrian German localization (\texttt{de-AT}, \texttt{datetime2-de-AT.ldf})}
+%\changes{2.0}{2017-10-03}{Austrian German localization added}
+%
+%\iffalse
+%    \begin{macrocode}
+%<*datetime2-de-AT.ldf>
+%    \end{macrocode}
+%\fi
+% Identify Module
+%    \begin{macrocode}
+\ProvidesDateTimeModule{de-AT}[2017/10/03 v2.0]
+%    \end{macrocode}
+% Require the basic German module
+%    \begin{macrocode}
+\RequireDateTimeModule{german}
+%    \end{macrocode}
+%
+%
+% Allow the user a way of configuring the "de-AT" and
+% "de-AT-numeric" styles. This doesn't use the package wide
+% separators such as
+% \cs{dtm at datetimesep} in case other date formats are also required.
+%
+%\begin{macro}{\DTMdeATdowdaysep}
+% The separator between weekday and day
+%    \begin{macrocode}
+\newcommand*{\DTMdeATdowdaysep}{,\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATdaymonthsep}
+% The separator between the day and month for the text format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeATdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATmonthyearsep}
+% The separator between the month and year for the text format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeATmonthyearsep}{\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATdatetimesep}
+% The separator between the date and time blocks in the full format
+% (either text or numeric).
+%    \begin{macrocode}
+\newcommand*{\DTMdeATdatetimesep}{,\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATtimezonesep}
+% The separator between the time and zone blocks in the full format
+% (either text or numeric).
+%    \begin{macrocode}
+\newcommand*{\DTMdeATtimezonesep}{\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATdatesep}
+% The separator for the numeric date format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeATdatesep}{-}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATtimesep}
+% The separator for the numeric time format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeATtimesep}{:}
+%    \end{macrocode}
+%\end{macro}
+%
+% Provide keys that can be used in \cs{DTMlangsetup} to set these
+% separators.
+%    \begin{macrocode}
+\DTMdefkey{de-AT}{dowdaysep}{\renewcommand*{\DTMdeATdowdaysep}{#1}}
+\DTMdefkey{de-AT}{daymonthsep}{\renewcommand*{\DTMdeATdaymonthsep}{#1}}
+\DTMdefkey{de-AT}{monthyearsep}{\renewcommand*{\DTMdeATmonthyearsep}{#1}}
+\DTMdefkey{de-AT}{datetimesep}{\renewcommand*{\DTMdeATdatetimesep}{#1}}
+\DTMdefkey{de-AT}{timezonesep}{\renewcommand*{\DTMdeATtimezonesep}{#1}}
+\DTMdefkey{de-AT}{datesep}{\renewcommand*{\DTMdeATdatesep}{#1}}
+\DTMdefkey{de-AT}{timesep}{\renewcommand*{\DTMdeATtimesep}{#1}}
+%    \end{macrocode}
+%
+% 
+% Define a boolean key that can switch between full and abbreviated formats for
+% the month and day of week names in the text format.
+%    \begin{macrocode}
+\DTMdefboolkey{de-AT}{abbr}[true]{}
+%    \end{macrocode}
+%
+% The default is full name
+%    \begin{macrocode}
+\DTMsetbool{de-AT}{abbr}{false}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the time zone mappings
+% should be used.
+%    \begin{macrocode}
+\DTMdefboolkey{de-AT}{mapzone}[true]{}
+%    \end{macrocode}
+% The default is to use mappings.
+%    \begin{macrocode}
+\DTMsetbool{de-AT}{mapzone}{true}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the day of month should be
+% displayed.
+%    \begin{macrocode}
+\DTMdefboolkey{de-AT}{showdayofmonth}[true]{}
+%    \end{macrocode}
+% The default is to show the day of month.
+%    \begin{macrocode}
+\DTMsetbool{de-AT}{showdayofmonth}{true}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the year should be
+% displayed.
+%    \begin{macrocode}
+\DTMdefboolkey{de-AT}{showyear}[true]{}
+%    \end{macrocode}
+% The default is to show the year.
+%    \begin{macrocode}
+\DTMsetbool{de-AT}{showyear}{true}
+%    \end{macrocode}
+%
+%
+% Define the "de-AT" style
+%    \begin{macrocode}
+\DTMnewstyle
+{de-AT}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-AT}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeATdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-AT}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-AT}{abbr}%
+    {\DTMdeATshortmonthname{##2}}%
+    {\DTMdeATmonthname{##2}}%
+    %
+    \DTMifbool{de-AT}{showyear}%
+    {%
+      \DTMdeATmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }%
+  \renewcommand*\DTMDisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-AT}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeATdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-AT}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-AT}{abbr}%
+    {\DTMdeATshortmonthname{##2}}%
+    {\DTMdeATmonthname{##2}}%
+    %
+    \DTMifbool{de-AT}{showyear}%
+    {%
+      \DTMdeATmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }
+}%
+{% time style (use default)
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeATtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-AT}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMdeATtimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeATdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeATtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}[9]{%
+    \ifDTMshowdate
+      \DTMDisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeATdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeATtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+}%
+%    \end{macrocode}
+%
+% Define numeric style.
+%    \begin{macrocode}
+\DTMnewstyle
+{de-AT-numeric}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \DTMifbool{de-AT}{showyear}%
+    {%
+      \number##1 % space intended
+      \DTMdeATdatesep%
+    }%
+    {}%
+    %
+    \DTMtwodigits{##2}%
+    %
+    \DTMifbool{de-AT}{showdayofmonth}%
+    {%
+      \DTMdeATdatesep%
+      \DTMtwodigits{##3}%
+    }%
+    {}%
+  }%
+  \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeATtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-AT}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeATdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeATtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+%    \end{macrocode}
+%
+% Switch style according to the \opt{useregional} setting.
+%    \begin{macrocode}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-AT}}
+{\DTMsetstyle{de-AT-numeric}}
+%    \end{macrocode}
+%
+% Redefine \cs{dategerman} (or \cs{date}\meta{dialect}) to prevent
+% \sty{babel} from resetting \cs{today}. (For this to work,
+% \sty{babel} must already have been loaded if it's required.)
+%    \begin{macrocode}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+  \ifundef\dategerman
+  {% do nothing
+  }%
+  {%
+    \def\dategerman{%
+      \DTMifcaseregional
+      {}% do nothing
+      {\DTMsetstyle{german}}%
+      {\DTMsetstyle{german-numeric}}%
+    }%
+  }%
+}%
+{%
+  \csdef{date\CurrentTrackedDialect}{%
+    \DTMifcaseregional
+    {}% do nothing
+    {\DTMsetstyle{de-AT}}%
+    {\DTMsetstyle{de-AT-numeric}}
+  }%
+}%
+%    \end{macrocode}
+%
+%\iffalse
+%    \begin{macrocode}
+%</datetime2-de-AT.ldf>
+%    \end{macrocode}
+%\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \section{Swiss German localization (\texttt{de-CH}, \texttt{datetime2-de-CH.ldf})}
+%\changes{2.0}{2017-10-03}{Swiss German localization added}
+%\iffalse
+%    \begin{macrocode}
+%<*datetime2-de-CH.ldf>
+%    \end{macrocode}
+%\fi
+% Identify Module
+%    \begin{macrocode}
+\ProvidesDateTimeModule{de-CH}[2017/10/03 v2.0]
+%    \end{macrocode}
+% Require the basic German module
+%    \begin{macrocode}
+\RequireDateTimeModule{german}
+%    \end{macrocode}
+%
+%
+% Allow the user a way of configuring the "de-CH" and
+% "de-CH-numeric" styles. This doesn't use the package wide
+% separators such as
+% \cs{dtm at datetimesep} in case other date formats are also required.
+%
+%\begin{macro}{\DTMdeCHdowdaysep}
+% The separator between weekday and day
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHdowdaysep}{,\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHdaymonthsep}
+% The separator between the day and month for the text format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHmonthyearsep}
+% The separator between the month and year for the text format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHmonthyearsep}{\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHdatetimesep}
+% The separator between the date and time blocks in the full format
+% (either text or numeric).
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHdatetimesep}{,\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHtimezonesep}
+% The separator between the time and zone blocks in the full format
+% (either text or numeric).
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHtimezonesep}{\space}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHdatesep}
+% The separator for the numeric date format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHdatesep}{.}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHtimesep}
+% The separator for the numeric time format.
+%    \begin{macrocode}
+\newcommand*{\DTMdeCHtimesep}{.}
+%    \end{macrocode}
+%\end{macro}
+%
+% Provide keys that can be used in \cs{DTMlangsetup} to set these
+% separators.
+%    \begin{macrocode}
+\DTMdefkey{de-CH}{dowdaysep}{\renewcommand*{\DTMdeCHdowdaysep}{#1}}
+\DTMdefkey{de-CH}{daymonthsep}{\renewcommand*{\DTMdeCHdaymonthsep}{#1}}
+\DTMdefkey{de-CH}{monthyearsep}{\renewcommand*{\DTMdeCHmonthyearsep}{#1}}
+\DTMdefkey{de-CH}{datetimesep}{\renewcommand*{\DTMdeCHdatetimesep}{#1}}
+\DTMdefkey{de-CH}{timezonesep}{\renewcommand*{\DTMdeCHtimezonesep}{#1}}
+\DTMdefkey{de-CH}{datesep}{\renewcommand*{\DTMdeCHdatesep}{#1}}
+\DTMdefkey{de-CH}{timesep}{\renewcommand*{\DTMdeCHtimesep}{#1}}
+%    \end{macrocode}
+%
+% 
+% Define a boolean key that can switch between full and abbreviated formats for
+% the month and day of week names in the text format.
+%    \begin{macrocode}
+\DTMdefboolkey{de-CH}{abbr}[true]{}
+%    \end{macrocode}
+%
+% The default is full name
+%    \begin{macrocode}
+\DTMsetbool{de-CH}{abbr}{false}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the time zone mappings
+% should be used.
+%    \begin{macrocode}
+\DTMdefboolkey{de-CH}{mapzone}[true]{}
+%    \end{macrocode}
+% The default is to use mappings.
+%    \begin{macrocode}
+\DTMsetbool{de-CH}{mapzone}{true}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the day of month should be
+% displayed.
+%    \begin{macrocode}
+\DTMdefboolkey{de-CH}{showdayofmonth}[true]{}
+%    \end{macrocode}
+% The default is to show the day of month.
+%    \begin{macrocode}
+\DTMsetbool{de-CH}{showdayofmonth}{true}
+%    \end{macrocode}
+%
+% Define a boolean key that determines if the year should be
+% displayed.
+%    \begin{macrocode}
+\DTMdefboolkey{de-CH}{showyear}[true]{}
+%    \end{macrocode}
+% The default is to show the year.
+%    \begin{macrocode}
+\DTMsetbool{de-CH}{showyear}{true}
+%    \end{macrocode}
+%
+%
+% Define the "de-CH" style
+%    \begin{macrocode}
+\DTMnewstyle
+{de-CH}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-CH}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeCHdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-CH}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-CH}{abbr}%
+    {\DTMdeCHshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-CH}{showyear}%
+    {%
+      \DTMdeCHmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }%
+  \renewcommand*\DTMDisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-CH}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeCHdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-CH}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-CH}{abbr}%
+    {\DTMdeCHshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-CH}{showyear}%
+    {%
+      \DTMdeCHmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }
+}%
+{% time style (use default)
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeCHtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+    Uhr%
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-CH}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+        \ifDTMshowzoneminutes\DTMdeCHtimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeCHdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeCHtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}[9]{%
+    \ifDTMshowdate
+      \DTMDisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeCHdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeCHtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+}%
+%    \end{macrocode}
+%
+% Define numeric style.
+%    \begin{macrocode}
+\DTMnewstyle
+{de-CH-numeric}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-CH}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+		\DTMdeCHdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-CH}{showdayofmonth}%
+    {%
+      \DTMtwodigits{##3}%
+      \DTMdeCHdatesep
+    }%
+    {}%
+    \DTMtwodigits{##2}%
+    \DTMdeCHdatesep%
+    \DTMifbool{de-CH}{showyear}%
+    {%
+      \number##1 % space intended
+    }%
+    {}%
+  }%
+  \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeCHtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+    Uhr%
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-CH}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeCHdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeCHtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+%    \end{macrocode}
+%
+% Switch style according to the \opt{useregional} setting.
+%    \begin{macrocode}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-CH}}
+{\DTMsetstyle{de-CH-numeric}}
+%    \end{macrocode}
+%
+% Redefine \cs{dategerman} (or \cs{date}\meta{dialect}) to prevent
+% \sty{babel} from resetting \cs{today}. (For this to work,
+% \sty{babel} must already have been loaded if it's required.)
+%    \begin{macrocode}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+  \ifundef\dategerman
+  {% do nothing
+  }%
+  {%
+    \def\dategerman{%
+      \DTMifcaseregional
+      {}% do nothing
+      {\DTMsetstyle{german}}%
+      {\DTMsetstyle{german-numeric}}%
+    }%
+  }%
+}%
+{%
+  \csdef{date\CurrentTrackedDialect}{%
+    \DTMifcaseregional
+    {}% do nothing
+    {\DTMsetstyle{de-CH}}%
+    {\DTMsetstyle{de-CH-numeric}}
+  }%
+}%
+%    \end{macrocode}
+%
+%\iffalse
+%    \begin{macrocode}
+%</datetime2-de-CH.ldf>
+%    \end{macrocode}
+%\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
 %\Finale
-\endinput
+\endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins	2017-10-05 00:41:31 UTC (rev 45471)
+++ trunk/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins	2017-10-05 00:41:45 UTC (rev 45472)
@@ -19,13 +19,17 @@
 
  This work consists of the files datetime2-german.dtx and
  datetime2-german.ins and the derived files
- datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
- datetime2-german.ldf.
+ datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+ datetime2-german.ldf, datetime2-de-DE.ldf,
+ datetime2-de-AT.ldf and datetime2-de-CH.ldf
 
 \endpreamble
 
 \askforoverwritefalse
 
+
+
+
 \generate
 {%
   \file
@@ -59,5 +63,47 @@
   }%
 }
 
+
+
+
+\generate
+{%
+	\file
+	{datetime2-de-DE.ldf}%
+	{%
+		\usepreamble\defaultpreamble
+		\usepostamble\defaultpostamble
+		\from{datetime2-german.dtx}{datetime2-de-DE.ldf,package}%
+	}%
+}
+
+
+
+\generate
+{%
+	\file
+	{datetime2-de-AT.ldf}%
+	{%
+		\usepreamble\defaultpreamble
+		\usepostamble\defaultpostamble
+		\from{datetime2-german.dtx}{datetime2-de-AT.ldf,package}%
+	}%
+}
+
+
+
+\generate
+{%
+	\file
+	{datetime2-de-CH.ldf}%
+	{%
+		\usepreamble\defaultpreamble
+		\usepostamble\defaultpostamble
+		\from{datetime2-german.dtx}{datetime2-de-CH.ldf,package}%
+	}%
+}
+
+
+
 \endbatchfile
 

Added: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf	2017-10-05 00:41:45 UTC (rev 45472)
@@ -0,0 +1,249 @@
+%%
+%% This is file `datetime2-de-AT.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% datetime2-german.dtx  (with options: `datetime2-de-AT.ldf,package')
+%% 
+%%  datetime2-german.dtx
+%%  Copyright 2015 Nicola Talbot
+%%  Copyright 2017 Sebastian Friedl
+%% 
+%%  This work may be distributed and/or modified under the
+%%  conditions of the LaTeX Project Public License, either version 1.3c
+%%  of this license of (at your option) any later version.
+%%  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%%  and version 1.3c or later is part of all distributions of LaTeX
+%%  version 2008/05/04 or later.
+%% 
+%%  This work has the LPPL maintenance status `maintained'.
+%%  Current maintainer of the work is Sebastian Friedl
+%% 
+%%  This work consists of the files datetime2-german.dtx and
+%%  datetime2-german.ins and the derived files
+%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%%  datetime2-german.ldf, datetime2-de-DE.ldf,
+%%  datetime2-de-AT.ldf and datetime2-de-CH.ldf
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\ProvidesDateTimeModule{de-AT}[2017/10/03 v2.0]
+\RequireDateTimeModule{german}
+\newcommand*{\DTMdeATdowdaysep}{,\space}
+\newcommand*{\DTMdeATdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+\newcommand*{\DTMdeATmonthyearsep}{\space}
+\newcommand*{\DTMdeATdatetimesep}{,\space}
+\newcommand*{\DTMdeATtimezonesep}{\space}
+\newcommand*{\DTMdeATdatesep}{-}
+\newcommand*{\DTMdeATtimesep}{:}
+\DTMdefkey{de-AT}{dowdaysep}{\renewcommand*{\DTMdeATdowdaysep}{#1}}
+\DTMdefkey{de-AT}{daymonthsep}{\renewcommand*{\DTMdeATdaymonthsep}{#1}}
+\DTMdefkey{de-AT}{monthyearsep}{\renewcommand*{\DTMdeATmonthyearsep}{#1}}
+\DTMdefkey{de-AT}{datetimesep}{\renewcommand*{\DTMdeATdatetimesep}{#1}}
+\DTMdefkey{de-AT}{timezonesep}{\renewcommand*{\DTMdeATtimezonesep}{#1}}
+\DTMdefkey{de-AT}{datesep}{\renewcommand*{\DTMdeATdatesep}{#1}}
+\DTMdefkey{de-AT}{timesep}{\renewcommand*{\DTMdeATtimesep}{#1}}
+\DTMdefboolkey{de-AT}{abbr}[true]{}
+\DTMsetbool{de-AT}{abbr}{false}
+\DTMdefboolkey{de-AT}{mapzone}[true]{}
+\DTMsetbool{de-AT}{mapzone}{true}
+\DTMdefboolkey{de-AT}{showdayofmonth}[true]{}
+\DTMsetbool{de-AT}{showdayofmonth}{true}
+\DTMdefboolkey{de-AT}{showyear}[true]{}
+\DTMsetbool{de-AT}{showyear}{true}
+\DTMnewstyle
+{de-AT}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-AT}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeATdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-AT}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-AT}{abbr}%
+    {\DTMdeATshortmonthname{##2}}%
+    {\DTMdeATmonthname{##2}}%
+    %
+    \DTMifbool{de-AT}{showyear}%
+    {%
+      \DTMdeATmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }%
+  \renewcommand*\DTMDisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-AT}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeATdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-AT}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-AT}{abbr}%
+    {\DTMdeATshortmonthname{##2}}%
+    {\DTMdeATmonthname{##2}}%
+    %
+    \DTMifbool{de-AT}{showyear}%
+    {%
+      \DTMdeATmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }
+}%
+{% time style (use default)
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeATtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-AT}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMdeATtimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeATdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeATtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}[9]{%
+    \ifDTMshowdate
+      \DTMDisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeATdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeATtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+}%
+\DTMnewstyle
+{de-AT-numeric}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \DTMifbool{de-AT}{showyear}%
+    {%
+      \number##1 % space intended
+      \DTMdeATdatesep%
+    }%
+    {}%
+    %
+    \DTMtwodigits{##2}%
+    %
+    \DTMifbool{de-AT}{showdayofmonth}%
+    {%
+      \DTMdeATdatesep%
+      \DTMtwodigits{##3}%
+    }%
+    {}%
+  }%
+  \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeATtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-AT}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeATdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeATtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-AT}}
+{\DTMsetstyle{de-AT-numeric}}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+  \ifundef\dategerman
+  {% do nothing
+  }%
+  {%
+    \def\dategerman{%
+      \DTMifcaseregional
+      {}% do nothing
+      {\DTMsetstyle{german}}%
+      {\DTMsetstyle{german-numeric}}%
+    }%
+  }%
+}%
+{%
+  \csdef{date\CurrentTrackedDialect}{%
+    \DTMifcaseregional
+    {}% do nothing
+    {\DTMsetstyle{de-AT}}%
+    {\DTMsetstyle{de-AT-numeric}}
+  }%
+}%
+\endinput
+%%
+%% End of file `datetime2-de-AT.ldf'.


Property changes on: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf	2017-10-05 00:41:45 UTC (rev 45472)
@@ -0,0 +1,258 @@
+%%
+%% This is file `datetime2-de-CH.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% datetime2-german.dtx  (with options: `datetime2-de-CH.ldf,package')
+%% 
+%%  datetime2-german.dtx
+%%  Copyright 2015 Nicola Talbot
+%%  Copyright 2017 Sebastian Friedl
+%% 
+%%  This work may be distributed and/or modified under the
+%%  conditions of the LaTeX Project Public License, either version 1.3c
+%%  of this license of (at your option) any later version.
+%%  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%%  and version 1.3c or later is part of all distributions of LaTeX
+%%  version 2008/05/04 or later.
+%% 
+%%  This work has the LPPL maintenance status `maintained'.
+%%  Current maintainer of the work is Sebastian Friedl
+%% 
+%%  This work consists of the files datetime2-german.dtx and
+%%  datetime2-german.ins and the derived files
+%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%%  datetime2-german.ldf, datetime2-de-DE.ldf,
+%%  datetime2-de-AT.ldf and datetime2-de-CH.ldf
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\ProvidesDateTimeModule{de-CH}[2017/10/03 v2.0]
+\RequireDateTimeModule{german}
+\newcommand*{\DTMdeCHdowdaysep}{,\space}
+\newcommand*{\DTMdeCHdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+\newcommand*{\DTMdeCHmonthyearsep}{\space}
+\newcommand*{\DTMdeCHdatetimesep}{,\space}
+\newcommand*{\DTMdeCHtimezonesep}{\space}
+\newcommand*{\DTMdeCHdatesep}{.}
+\newcommand*{\DTMdeCHtimesep}{.}
+\DTMdefkey{de-CH}{dowdaysep}{\renewcommand*{\DTMdeCHdowdaysep}{#1}}
+\DTMdefkey{de-CH}{daymonthsep}{\renewcommand*{\DTMdeCHdaymonthsep}{#1}}
+\DTMdefkey{de-CH}{monthyearsep}{\renewcommand*{\DTMdeCHmonthyearsep}{#1}}
+\DTMdefkey{de-CH}{datetimesep}{\renewcommand*{\DTMdeCHdatetimesep}{#1}}
+\DTMdefkey{de-CH}{timezonesep}{\renewcommand*{\DTMdeCHtimezonesep}{#1}}
+\DTMdefkey{de-CH}{datesep}{\renewcommand*{\DTMdeCHdatesep}{#1}}
+\DTMdefkey{de-CH}{timesep}{\renewcommand*{\DTMdeCHtimesep}{#1}}
+\DTMdefboolkey{de-CH}{abbr}[true]{}
+\DTMsetbool{de-CH}{abbr}{false}
+\DTMdefboolkey{de-CH}{mapzone}[true]{}
+\DTMsetbool{de-CH}{mapzone}{true}
+\DTMdefboolkey{de-CH}{showdayofmonth}[true]{}
+\DTMsetbool{de-CH}{showdayofmonth}{true}
+\DTMdefboolkey{de-CH}{showyear}[true]{}
+\DTMsetbool{de-CH}{showyear}{true}
+\DTMnewstyle
+{de-CH}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-CH}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeCHdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-CH}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-CH}{abbr}%
+    {\DTMdeCHshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-CH}{showyear}%
+    {%
+      \DTMdeCHmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }%
+  \renewcommand*\DTMDisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-CH}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeCHdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-CH}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-CH}{abbr}%
+    {\DTMdeCHshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-CH}{showyear}%
+    {%
+      \DTMdeCHmonthyearsep%
+      \number##1 % space intended
+    }%
+    {}%
+  }
+}%
+{% time style (use default)
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeCHtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+    Uhr%
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-CH}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+        \ifDTMshowzoneminutes\DTMdeCHtimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeCHdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeCHtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}[9]{%
+    \ifDTMshowdate
+      \DTMDisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeCHdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeCHtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+}%
+\DTMnewstyle
+{de-CH-numeric}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-CH}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+\DTMdeCHdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-CH}{showdayofmonth}%
+    {%
+      \DTMtwodigits{##3}%
+      \DTMdeCHdatesep
+    }%
+    {}%
+    \DTMtwodigits{##2}%
+    \DTMdeCHdatesep%
+    \DTMifbool{de-CH}{showyear}%
+    {%
+      \number##1 % space intended
+    }%
+    {}%
+  }%
+  \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeCHtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+    Uhr%
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-CH}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeCHdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeCHtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-CH}}
+{\DTMsetstyle{de-CH-numeric}}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+  \ifundef\dategerman
+  {% do nothing
+  }%
+  {%
+    \def\dategerman{%
+      \DTMifcaseregional
+      {}% do nothing
+      {\DTMsetstyle{german}}%
+      {\DTMsetstyle{german-numeric}}%
+    }%
+  }%
+}%
+{%
+  \csdef{date\CurrentTrackedDialect}{%
+    \DTMifcaseregional
+    {}% do nothing
+    {\DTMsetstyle{de-CH}}%
+    {\DTMsetstyle{de-CH-numeric}}
+  }%
+}%
+\endinput
+%%
+%% End of file `datetime2-de-CH.ldf'.


Property changes on: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf	2017-10-05 00:41:45 UTC (rev 45472)
@@ -0,0 +1,262 @@
+%%
+%% This is file `datetime2-de-DE.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% datetime2-german.dtx  (with options: `datetime2-de-DE.ldf,package')
+%% 
+%%  datetime2-german.dtx
+%%  Copyright 2015 Nicola Talbot
+%%  Copyright 2017 Sebastian Friedl
+%% 
+%%  This work may be distributed and/or modified under the
+%%  conditions of the LaTeX Project Public License, either version 1.3c
+%%  of this license of (at your option) any later version.
+%%  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%%  and version 1.3c or later is part of all distributions of LaTeX
+%%  version 2008/05/04 or later.
+%% 
+%%  This work has the LPPL maintenance status `maintained'.
+%%  Current maintainer of the work is Sebastian Friedl
+%% 
+%%  This work consists of the files datetime2-german.dtx and
+%%  datetime2-german.ins and the derived files
+%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%%  datetime2-german.ldf, datetime2-de-DE.ldf,
+%%  datetime2-de-AT.ldf and datetime2-de-CH.ldf
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\ProvidesDateTimeModule{de-DE}[2017/10/03 v2.0]
+\RequireDateTimeModule{german}
+\newcommand*{\DTMdeDEdowdaysep}{,\space}
+\newcommand*{\DTMdeDEdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+\newcommand*{\DTMdeDEmonthyearsep}{\space}
+\newcommand*{\DTMdeDEdatetimesep}{,\space}
+\newcommand*{\DTMdeDEtimezonesep}{\space}
+\newcommand*{\DTMdeDEdatesep}{.}
+\newcommand*{\DTMdeDEtimesep}{:}
+\DTMdefkey{de-DE}{dowdaysep}{\renewcommand*{\DTMdeDEdowdaysep}{#1}}
+\DTMdefkey{de-DE}{daymonthsep}{\renewcommand*{\DTMdeDEdaymonthsep}{#1}}
+\DTMdefkey{de-DE}{monthyearsep}{\renewcommand*{\DTMdeDEmonthyearsep}{#1}}
+\DTMdefkey{de-DE}{datetimesep}{\renewcommand*{\DTMdeDEdatetimesep}{#1}}
+\DTMdefkey{de-DE}{timezonesep}{\renewcommand*{\DTMdeDEtimezonesep}{#1}}
+\DTMdefkey{de-DE}{datesep}{\renewcommand*{\DTMdeDEdatesep}{#1}}
+\DTMdefkey{de-DE}{timesep}{\renewcommand*{\DTMdeDEtimesep}{#1}}
+\DTMdefboolkey{de-DE}{abbr}[true]{}
+\DTMsetbool{de-DE}{abbr}{false}
+\DTMdefboolkey{de-DE}{mapzone}[true]{}
+\DTMsetbool{de-DE}{mapzone}{true}
+\DTMdefboolkey{de-DE}{showdayofmonth}[true]{}
+\DTMsetbool{de-DE}{showdayofmonth}{true}
+\DTMdefboolkey{de-DE}{showyear}[true]{}
+\DTMsetbool{de-DE}{showyear}{true}
+\DTMnewstyle
+{de-DE}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-DE}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeDEdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-DE}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-DE}{abbr}%
+    {\DTMgermanshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-DE}{showyear}%
+    {%
+      \DTMdeDEmonthyearsep%
+      \DTMifbool{de-DE}{abbr}%
+      {'\DTMtwodigits{##1}}%
+      {\number##1 }% space intended
+    }%
+    {}%
+  }%
+  \renewcommand*\DTMDisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-DE}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeDEdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-DE}{showdayofmonth}%
+    {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+    {}%
+    %
+    \DTMifbool{de-DE}{abbr}%
+    {\DTMgermanshortmonthname{##2}}%
+    {\DTMgermanmonthname{##2}}%
+    %
+    \DTMifbool{de-DE}{showyear}%
+    {%
+      \DTMdeDEmonthyearsep%
+      \DTMifbool{de-DE}{abbr}%
+      {'\DTMtwodigits{##1}}%
+      {\number##1 }% space intended
+    }%
+    {}%
+  }
+}%
+{% time style (use default)
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeDEtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-DE}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMdeDEtimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeDEdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeDEtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}[9]{%
+    \ifDTMshowdate
+      \DTMDisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeDEdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeDEtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+}%
+\DTMnewstyle
+{de-DE-numeric}% label
+{% date style
+  \renewcommand*\DTMdisplaydate[4]{%
+    \ifDTMshowdow
+      \ifnum##4>-1
+        \DTMifbool{de-DE}{abbr}%
+        {\DTMgermanshortweekdayname{##4}}%
+        {\DTMgermanweekdayname{##4}}%
+        \DTMdeDEdowdaysep
+      \fi
+    \fi
+    %
+    \DTMifbool{de-DE}{showdayofmonth}%
+    {%
+      \DTMtwodigits{##3}%
+      \DTMdeDEdatesep
+    }%
+    {}%
+    \DTMtwodigits{##2}%
+    \DTMdeDEdatesep%
+    \DTMifbool{de-DE}{showyear}%
+    {%
+      \DTMifbool{de-DE}{abbr}%
+      {\DTMtwodigits{##1}}%
+      {\number##1 }% space intended
+    }%
+    {}%
+    }%
+  \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+  \renewcommand*\DTMdisplaytime[3]{%
+    \DTMtwodigits{##1}%
+    \DTMdeDEtimesep\DTMtwodigits{##2}%
+    \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+  }%
+}%
+{% zone style
+  \DTMresetzones
+  \DTMgermanzonemaps
+  \renewcommand*{\DTMdisplayzone}[2]{%
+    \DTMifbool{de-DE}{mapzone}%
+    {\DTMusezonemapordefault{##1}{##2}}%
+    {%
+      \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+      \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+    }%
+  }%
+}%
+{% full style
+  \renewcommand*{\DTMdisplay}[9]{%
+    \ifDTMshowdate
+      \DTMdisplaydate{##1}{##2}{##3}{##4}%
+      \DTMdeDEdatetimesep
+    \fi
+    \DTMdisplaytime{##5}{##6}{##7}%
+    \ifDTMshowzone
+      \DTMdeDEtimezonesep
+      \DTMdisplayzone{##8}{##9}%
+    \fi
+  }%
+  \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+\DTMifcaseregional
+  {}% do nothing
+  {\DTMsetstyle{de-DE}}
+  {\DTMsetstyle{de-DE-numeric}}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+  \ifundef\dategerman
+  {% do nothing
+  }%
+  {%
+    \def\dategerman{%
+      \DTMifcaseregional
+      {}% do nothing
+      {\DTMsetstyle{german}}%
+      {\DTMsetstyle{german-numeric}}%
+    }%
+  }%
+}%
+{%
+  \csdef{date\CurrentTrackedDialect}{%
+    \DTMifcaseregional
+    {}% do nothing
+    {\DTMsetstyle{de-DE}}%
+    {\DTMsetstyle{de-DE-numeric}}
+  }%
+}%
+\endinput
+%%
+%% End of file `datetime2-de-DE.ldf'.


Property changes on: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf	2017-10-05 00:41:31 UTC (rev 45471)
+++ trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf	2017-10-05 00:41:45 UTC (rev 45472)
@@ -23,8 +23,9 @@
 %% 
 %%  This work consists of the files datetime2-german.dtx and
 %%  datetime2-german.ins and the derived files
-%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
-%%  datetime2-german.ldf.
+%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%%  datetime2-german.ldf, datetime2-de-DE.ldf,
+%%  datetime2-de-AT.ldf and datetime2-de-CH.ldf
 %% 
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -41,7 +42,7 @@
 %%   Right bracket \]     Circumflex    \^     Underscore    \_
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
-\ProvidesDateTimeModule{german-ascii}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-ascii}[2017/10/03 v2.0]
 \newcommand*{\DTMgermanordinal}[1]{%
   \number#1
 }
@@ -73,6 +74,34 @@
   Dezember%
   \fi
 }
+\newcommand*{\DTMdeATmonthname}[1]{%
+  \ifcase#1
+  \or
+  J\protect\"anner%
+  \or
+  Februar%
+  \or
+  M\protect\"arz%
+  \or
+  April%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  August%
+  \or
+  September%
+  \or
+  Oktober%
+  \or
+  November%
+  \or
+  Dezember%
+  \fi
+}
 \newcommand*{\DTMgermanshortmonthname}[1]{%
   \ifcase#1
   \or
@@ -92,7 +121,7 @@
   \or
   Aug.%
   \or
-  Sep.%
+  Sept.%
   \or
   Okt.%
   \or
@@ -101,6 +130,62 @@
   Dez.%
   \fi
 }
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+  \ifcase#1
+  \or
+  J\protect\"an.%
+  \or
+  Feb.%
+  \or
+  M\protect\"arz%
+  \or
+  Apr.%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  Aug.%
+  \or
+  Sept.%
+  \or
+  Okt.%
+  \or
+  Nov.%
+  \or
+  Dez.%
+  \fi
+}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+\ifcase#1
+\or
+Jan.%
+\or
+Febr.%
+\or
+M\protect\"arz%
+\or
+April%
+\or
+Mai%
+\or
+Juni%
+\or
+Juli%
+\or
+Aug.%
+\or
+Sept.%
+\or
+Okt.%
+\or
+Nov.%
+\or
+Dez.%
+\fi
+}
 \newcommand*{\DTMgermanweekdayname}[1]{%
   \ifcase#1
   Montag%
@@ -120,19 +205,19 @@
 }
 \newcommand*{\DTMgermanshortweekdayname}[1]{%
   \ifcase#1
-  Mo.%
+  Mo%
   \or
-  Di.%
+  Di%
   \or
-  Mi.%
+  Mi%
   \or
-  Do.%
+  Do%
   \or
-  Fr.%
+  Fr%
   \or
-  Sa.%
+  Sa%
   \or
-  So.%
+  So%
   \fi
 }
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf	2017-10-05 00:41:31 UTC (rev 45471)
+++ trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf	2017-10-05 00:41:45 UTC (rev 45472)
@@ -23,8 +23,9 @@
 %% 
 %%  This work consists of the files datetime2-german.dtx and
 %%  datetime2-german.ins and the derived files
-%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
-%%  datetime2-german.ldf.
+%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%%  datetime2-german.ldf, datetime2-de-DE.ldf,
+%%  datetime2-de-AT.ldf and datetime2-de-CH.ldf
 %% 
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -41,7 +42,7 @@
 %%   Right bracket \]     Circumflex    \^     Underscore    \_
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
-\ProvidesDateTimeModule{german-utf8}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-utf8}[2017/10/03 v2.0]
 \newcommand*{\DTMgermanordinal}[1]{%
   \number#1
 }
@@ -73,6 +74,34 @@
   Dezember%
   \fi
 }
+\newcommand*{\DTMdeATmonthname}[1]{%
+  \ifcase#1
+  \or
+  Jänner%
+  \or
+  Februar%
+  \or
+  März%
+  \or
+  April%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  August%
+  \or
+  September%
+  \or
+  Oktober%
+  \or
+  November%
+  \or
+  Dezember%
+  \fi
+}
 \newcommand*{\DTMgermanshortmonthname}[1]{%
   \ifcase#1
   \or
@@ -92,7 +121,7 @@
   \or
   Aug.%
   \or
-  Sep.%
+  Sept.%
   \or
   Okt.%
   \or
@@ -101,6 +130,62 @@
   Dez.%
   \fi
 }
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+  \ifcase#1
+  \or
+  Jän.%
+  \or
+  Feb.%
+  \or
+  März%
+  \or
+  Apr.%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  Aug.%
+  \or
+  Sept.%
+  \or
+  Okt.%
+  \or
+  Nov.%
+  \or
+  Dez.%
+  \fi
+}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+  \ifcase#1
+  \or
+  Jan.%
+  \or
+  Febr.%
+  \or
+  März%
+  \or
+  April%
+  \or
+  Mai%
+  \or
+  Juni%
+  \or
+  Juli%
+  \or
+  Aug.%
+  \or
+  Sept.%
+  \or
+  Okt.%
+  \or
+  Nov.%
+  \or
+  Dez.%
+  \fi
+}
 \newcommand*{\DTMgermanweekdayname}[1]{%
   \ifcase#1
   Montag%
@@ -120,19 +205,19 @@
 }
 \newcommand*{\DTMgermanshortweekdayname}[1]{%
   \ifcase#1
-  Mo.%
+  Mo%
   \or
-  Di.%
+  Di%
   \or
-  Mi.%
+  Mi%
   \or
-  Do.%
+  Do%
   \or
-  Fr.%
+  Fr%
   \or
-  Sa.%
+  Sa%
   \or
-  So.%
+  So%
   \fi
 }
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf	2017-10-05 00:41:31 UTC (rev 45471)
+++ trunk/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf	2017-10-05 00:41:45 UTC (rev 45472)
@@ -23,8 +23,9 @@
 %% 
 %%  This work consists of the files datetime2-german.dtx and
 %%  datetime2-german.ins and the derived files
-%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
-%%  datetime2-german.ldf.
+%%  datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%%  datetime2-german.ldf, datetime2-de-DE.ldf,
+%%  datetime2-de-AT.ldf and datetime2-de-CH.ldf
 %% 
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -41,7 +42,7 @@
 %%   Right bracket \]     Circumflex    \^     Underscore    \_
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
-\ProvidesDateTimeModule{german}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german}[2017/10/03 v2.0]
 \RequirePackage{ifxetex,ifluatex}
 \ifxetex
  \RequireDateTimeModule{german-utf8}
@@ -59,6 +60,7 @@
 \newcommand*{\DTMgermantimezonesep}{\space}
 \newcommand*{\DTMgermandatesep}{.}
 \newcommand*{\DTMgermantimesep}{:}
+\DTMdefkey{german}{dowdaysep}{\renewcommand*{\DTMgermandowdaysep}{#1}}
 \DTMdefkey{german}{daymonthsep}{\renewcommand*{\DTMgermandaymonthsep}{#1}}
 \DTMdefkey{german}{monthyearsep}{\renewcommand*{\DTMgermanmonthyearsep}{#1}}
 \DTMdefkey{german}{datetimesep}{\renewcommand*{\DTMgermandatetimesep}{#1}}
@@ -194,12 +196,12 @@
       }%
       {}%
       \DTMtwodigits{##2}%
+      \DTMgermandatesep%
       \DTMifbool{german}{showyear}%
       {%
-       \DTMgermandatesep%
-       \DTMifbool{german}{abbr}%
-       {\DTMtwodigits{##1}}%
-       {\number##1 }% space intended
+        \DTMifbool{german}{abbr}%
+        {\DTMtwodigits{##1}}%
+        {\number##1 }% space intended
       }%
       {}%
     }%



More information about the tex-live-commits mailing list