... Thanks to both. So -
On Thu, 25 Nov 2010 13:31:36 +0100, Taco Hoekwater
On 11/25/2010 01:13 PM, Wolfgang Schuster wrote:
Am 25.11.2010 um 12:49 schrieb Procházka Lukáš Ing. - Pontex s. r. o.:
Hello,
how to determine the current language being used in Ctx source via Lua? I mean soumething like:
--- \mainlanguage[cz]
\starttext AAA
\startluacode if context.mainlanguage == "cz" then -- Do something specific context("Ahoj!") elseif context.mainlanguage == "en" then -- Do something specific context("Hello!") else end \stopluacode \stoptext ---
So is there something like 'context.mainlanguage' or 'context.mainlanguage()' or 'tex.mainlanguage' or ...?
\mainlanguage[...] -> \currentmainlanguage \language[...] -> \currentlanguage
For the benefit of the mailing list archive, this means you can write in lua:
if "\currentmainlanguage"=="cz" then
Except that that will not work because 'cz' is just an alias for 'cs', so you should test for that instead:
if "\currentmainlanguage"=="cs" then context("Ahoj!") elseif "\currentmainlanguage"=="en" then context("Hello!")
Best wishes, Taco
a="\currentmainlanguage" =a currentmainlanguage =("\currentmainlanguage"=="currentmainlanguage")
- In standalone Lua, the "\c" would be read (translated) as "c", as "\c" is not a valid escape sequence. See the test: --- Microsoft Windows XP [Verze 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Lukas\ConTeXt\Samples\LuaTest>lua Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio true -- SO "\c" BECOMES "c" --- So does it mean that "\<char>" (in the beginning of a string) in Lua for ConTeXt is a "hack" which expands a (Con)TeX(t) internal value (in the case that <char> is not a valid escape char)? - If so, how to get an internal (Con)TeX(t) value which begins with a valid escape <char>, e.g. 't', so e.g. "\textwidth"? ("\t" should become <tab> in this case, or am I wrong?) (Where to read about? I've been searching in luatexref-t.pdf...) Lukas