Closed pauloney closed 9 months ago
The problem is that \textlang
is making the language tag lower-case, not the options, see https://github.com/reutenauer/polyglossia/blob/87a478951cdeb70739785a63a8e2b9b36a9d3094/tex/polyglossia.sty#L1982-L1985
it is probably just a simple mistake, I think the correct definition should be
\newcommand\textlang[3][]{
\xpg@str@lowercase{\xpg@tmp@opt}{#1}
\__xpg_textlanguage:een {\xpg@tmp@opt} {#2} {#3}
}%
So until it will be fixed you can do the following:
\documentclass{report}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[variant=austrian]{german}
\setlanguagealias*[variant=austrian]{german}{AT}
\ExplSyntaxOn
\makeatletter
\renewcommand\textlang[3][]{
\xpg@str@lowercase{\xpg@tmp@opt}{#1}
\__xpg_textlanguage:een {\xpg@tmp@opt} {#2} {#3}
}
\ExplSyntaxOff
\makeatother
\begin{document}
\textlang{AT}{Das ist auf Österreichisch.}
\end{document}
When using
\setlanguagealias
one can use upper case aliases fine for languages being used in\text<lang>
:but not in
\setlanguagealias*
for languages being used in\textlang{<lang>}
that generates an error.
Is it possible to have a consistent behaviour for all cases?