Lukáš Procházka <mailto:l...@pontex.cz>
31. Dezember 2015 um 11:07
Hello,

how to detect which language set by \mainlanguage[xy] is active?
How to detect it by a) ConTeXt and b) Lua?

Something like:

\mainlanguage[cz]

\ifmainlanguage{cz}
  Do someting
\fi

and

if context.languages.active() == "cz" then
  -- Do somthing
end
You can use the modes mechanism for this because you can use **<TAG> to check for the main language (set by \mainlanguage) and *<TAG> for the current language (set by \language).

\mainlanguage[cs]
%\language[en]

\starttext

\doifelsemode{**cs}{The main language is Czech.}{The main language is “\currentmainlanguage”.}

\startluacode
if tex.modes["**cs"] then
    context("The main language is Czech.")
else
    context("The main language is “\\currentmainlanguage”.")
end
\stopluacode

\blank

\doifelsemode{*cs}{The current language is Czech.}{The current language is “\currentlanguage”.}

\startluacode
if tex.modes["*cs"] then
    context("The current language is Czech.")
else
    context("The current language is “\\currentlanguage”.")
end
\stopluacode

\stoptext

Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to