summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/lang-lab.mkxl
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-11-23 19:48:34 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-11-23 19:48:34 +0100
commit18499e46a49b8ccf4346686d1cf626ada33935b8 (patch)
treebd0ae7b601b323e20954c10c07598637d9403e00 /tex/context/base/mkiv/lang-lab.mkxl
parent4b089e589d39346a66a27d04f9857fe16e4b7b41 (diff)
downloadcontext-18499e46a49b8ccf4346686d1cf626ada33935b8.tar.gz
2020-11-23 18:39:00
Diffstat (limited to 'tex/context/base/mkiv/lang-lab.mkxl')
-rw-r--r--tex/context/base/mkiv/lang-lab.mkxl364
1 files changed, 0 insertions, 364 deletions
diff --git a/tex/context/base/mkiv/lang-lab.mkxl b/tex/context/base/mkiv/lang-lab.mkxl
deleted file mode 100644
index 8968631a0..000000000
--- a/tex/context/base/mkiv/lang-lab.mkxl
+++ /dev/null
@@ -1,364 +0,0 @@
-%D \module
-%D [ file=lang-lab,
-%D version=1997.08.27,
-%D title=\CONTEXT\ Language Macros,
-%D subtitle=Labels,
-%D author=Hans Hagen / Tobias Burnus,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\writestatus{loading}{ConTeXt Language Macros / Labels}
-
-\registerctxluafile{lang-lab}{}
-\registerctxluafile{lang-txt}{}
-
-\unprotect
-
-%D Left-overs:
-
-\ifdefined\sixperemspace \else
- \permanent\def\sixperemspace{\normalUchar"2006}
-\fi
-
-%D In this module we deal with language dependant labels and prefixes, like in {\em
-%D Figure~12} and {\em Chapter 1}. In this file we set the default values. Users can
-%D easily overrule these.
-%D
-%D This module is dedicated to the grandfather of Tobias Burnus, who's extensive
-%D languages oriented library helped us a lot in finding the right translations. All
-%D those labels are collected in files that reflect their common ancestor.
-%D
-%D Not all languages can be satisfied with the labeling mechanism as provided here.
-%D Chinese for instance put a label in front as well as after a part number. This is
-%D why the current implementation of labels supports two labels too.
-
-%D \macros
-%D {setupheadtext, setuplabeltext}
-%D
-%D First we present some macros that deal with what we will call head and label
-%D texts. Such texts are defines by:
-%D
-%D \showsetup{setupheadtext}
-%D \showsetup{setuplabeltext}
-%D
-%D A regular \CONTEXT\ stores some 1500 labels at most.
-%D
-%D These commands accept all kind of inputs:
-%D
-%D \starttyping
-%D \setuplabeltext [language] [labellabel=text]
-%D \setuplabeltext [language] [labellabel=text,labellabel=text,...]
-%D \setuplabeltext [labellabel=text]
-%D \setuplabeltext [labellabel=text,labellabel=text,...]
-%D \stoptyping
-%D
-%D The last two cases concern the current language.
-
-\installcorenamespace{label}
-
-\let\currentlabelcategory\empty
-
-\permanent\tolerant\protected\def\definelabelclass[#1]#*[#2]%
- {\normalexpanded
- {\lang_labels_define_class_indeed
- {#1}%
- {\ifchknum#2\or#2\else\zerocount\fi}%
- \expandafter\noexpand\csname lang_labels_#1_text_1\endcsname
- \expandafter\noexpand\csname #1language\endcsname
- \expandafter\noexpand\csname lang_labels_#1_text_2\endcsname
- \expandafter\noexpand\csname left#1text\endcsname
- \expandafter\noexpand\csname right#1text\endcsname
- \expandafter\noexpand\csname #1texts\endcsname
- \expandafter\noexpand\csname #1text\endcsname}}
-
-% hm, not interfaced
-
-\let\thetextprefix\empty
-
-\protected\def\lang_labels_define_class_indeed#1#2#3#4#5#6#7#8#9%
- {\permanent\instance\setuvalue {setup#1text}{\protecttextprefixes#2\def\currenttextprefixclass{#1}\lang_labels_text_prefix_setup}%
- \permanent\instance\setuvalue{preset#1text}{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_setup}%
- \permanent\instance\setuvalue {copy#1text}{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_copy }%
- \permanent\instance\setuvalue {start#1text}{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_start[#1]}%
- \permanent\instance\letvalue {stop#1text}\relax
- \permanent\instance\def#4{\reallanguagetag{\defaultlanguage\currentmainlanguage}}%
- \ifnum#2=\plustwo % used for math and tags
- \instance\def#3{#5#4}%
- \instance\def#5##1##2% ##1=language
- {\ifcsname\??label\currentlabelcategory#1:##1:##2\endcsname
- \lastnamedcs
- \orelse\ifcsname\??label#1:##1:##2\endcsname
- \lastnamedcs
- \orelse\ifcsname\??language##1\s!default\endcsname
- \expandafter#5\lastnamedcs{##2}%
- \orelse\ifcsname\??label\currentlabelcategory#1:##2\endcsname
- \lastnamedcs
- \orelse\ifcsname\??label#1:##2\endcsname
- \lastnamedcs
- \orelse\ifcsname\??label\currentlabelcategory#1:\s!en:##2\endcsname
- \lastnamedcs
- \orelse\ifcsname\??label#1:\s!en:##2\endcsname
- \lastnamedcs
- \else
- ##2%
- \fi}%
- \permanent\instance\let#6\gobbleoneargument
- \permanent\instance\let#7\gobbleoneargument
- \permanent\instance\let#8\gobbletwoarguments
- \permanent\instance\let#9#3%
- \else
- \instance\protected\def#3{#5#4}%
- \instance\protected\def#5##1##2%
- {\ifcsname\??label#1:##1:##2\endcsname
- \enforced\expandafter\let\expandafter\thetextprefix\lastnamedcs
- \orelse\ifcsname\??language#4\s!default\endcsname
- \expandafter#5\lastnamedcs{##2}%
- \orelse\ifcsname\??label#1:##2\endcsname
- \enforced\expandafter\let\expandafter\thetextprefix\lastnamedcs
- \orelse\ifcsname\??label#1:\s!en:##2\endcsname
- \enforced\expandafter\let\expandafter\thetextprefix\lastnamedcs
- \else
- \enforced\let\thetextprefix\dummytextprefix
- \fi}%
- \permanent\instance\protected\def#6##1{#3{##1}\expandafter\flushleftlabelclass \thetextprefix}%
- \permanent\instance\protected\def#7##1{#3{##1}\expandafter\flushrightlabelclass\thetextprefix}%
- \permanent\instance\protected\def#8##1{#3{##1}\expandafter\flushbothlabelclass \thetextprefix}% #2
- \permanent\instance\protected\def#9##1{#3{##1}\expandafter\flushleftlabelclass \thetextprefix}%
- \fi
- \appendtoks
- \enforced\permanent\instance\let#6\firstofoneargument % to be checked
- \enforced\permanent\instance\let#7\firstofoneargument % to be checked
- \enforced\permanent\instance\let#8\firstofoneargument % to be checked
- \enforced\permanent\instance\let#9\firstofoneargument % to be checked
- \to \everysimplifycommands}
-
-% why not lang_* ?
-
-\let\flushleftlabelclass \firstoftwoarguments
-\let\flushrightlabelclass\secondoftwoarguments
-
-\permanent\def\flushbothlabelclass#1#2#3{#1#3#2}
-
-\permanent\def\dummytextprefix{\empty\empty}
-
-%D \macros
-%D {headtext, labeltext, leftlabeltext, rightlabeltext, labeltexts}
-%D
-%D Once defined, head and label texts can be called upon using:
-%D
-%D \showsetup{headtext}
-%D \showsetup{labeltext}
-%D
-%D \macros
-%D {presetheadtext,presetlabeltext}
-%D
-%D These macros enable us to automatically define head and label texts without
-%D replacing predefined ones. They are internal macros.
-
-\appendtoks \enforced\let\labellanguage\currentlanguage \to \everycurrentdate
-
-\newconstant\protecttextprefixes
-
-\let\currenttextprefixtag \s!unknown
-\let\currenttextprefixclass\s!unknown
-
-\tolerant\def\lang_labels_text_prefix_start[#1]#*[#2]#*[#3]% class language name
- {\ifarguments\or\or
- \edef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
- \edef\currenttextprefixname{#2}%
- \else
- \edef\currenttextprefixtag{\reallanguagetag{#2}}%
- \edef\currenttextprefixname{#3}%
- \fi
- \grabuntil{stop#1text}\lang_labels_text_prefix_start_indeed}
-
-\def\lang_labels_text_prefix_start_indeed#1% text (not special checking done here yet, only for long texts anyway)
- {\edefcsname\??label\currenttextprefixclass:\currenttextprefixtag:\currenttextprefixname\endcsname{{\clf_strip{#1}}\empty}}
-
-\tolerant\def\lang_labels_text_prefix_setup[#1]#*[#2]%
- {\ifarguments\or
- \edef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
- \processcommalist[#1]\lang_labels_text_prefix_setup_indeed
- \else
- \edef\currenttextprefixtag{\reallanguagetag{#1}}%
- \processcommalist[#2]\lang_labels_text_prefix_setup_indeed
- \fi}
-
-\def\lang_labels_text_prefix_setup_indeed#1%
- {\lang_labels_text_prefix_assign[#1]}
-
-\def\lang_labels_text_prefix_assign[#1=#2]%
- {\lang_labels_text_prefix_assign_indeed{#1}[#2,,]}
-
-\def\lang_labels_text_prefix_assign_indeed#1%
- {\ifcase\protecttextprefixes
- % no checking
- \expandafter\lang_labels_text_prefix_assign_yes
- \or
- % checking
- \ifcsname\??label\currenttextprefixclass:\currenttextprefixtag:#1\endcsname
- \expandafter\expandafter\expandafter\lang_labels_text_prefix_assign_nop
- \else
- \expandafter\expandafter\expandafter\lang_labels_text_prefix_assign_yes
- \fi
- \or
- % simple assignment (a bit overkill but it fits in the whole)
- \expandafter\lang_labels_text_prefix_assign_dumb
- \fi{#1}}
-
-\let\m_lang_labels_left \empty
-\let\m_lang_labels_right\empty
-
-\def\lang_labels_text_prefix_assign_yes#1[#2,#3,#4]%
- {\def\m_lang_labels_left {#2}% no longer an edef ... else \Word undefined expansion issues
- \def\m_lang_labels_right{#3}% no longer an edef ... else \Word undefined expansion issues
- \defcsname\??label\currenttextprefixclass:\currenttextprefixtag:#1%
- \ifempty\m_lang_labels_right
- \ifempty\m_lang_labels_left
- \endcsname{\empty\empty}%
- \else
- \endcsname{{#2}\empty}%
- \fi
- \else
- \endcsname{{#2}{#3}}%
- \fi}
-
-\def\lang_labels_text_prefix_assign_nop#1[#2]%
- {}
-
-\def\lang_labels_text_prefix_assign_dumb#1[#2,#3]%
- {\defcsname\??label\currenttextprefixclass:\currenttextprefixtag:#1\endcsname{#2}}
-
-\permanent\protected\def\setlabeltextpair#1#2#3#4#5% a fast one for usage at the Lua end
- {%\writestatus{!!!!}{#1:\reallanguagetag{#2}:#3}%
- \defcsname\??label#1:\reallanguagetag{#2}:#3\endcsname{{#4}{#5}}} % class tag key left right
-
-\tolerant\def\lang_labels_text_prefix_copy[#1]#*[#2]%
- {\ifarguments\or
- \edef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%
- \processcommalist[#1]\lang_labels_text_prefix_copy_indeed
- \else
- \edef\currenttextprefixtag{\reallanguagetag{#1}}%
- \processcommalist[#2]\lang_labels_text_prefix_copy_indeed
- \fi}
-
-\def\lang_labels_text_prefix_copy_indeed#1%
- {\lang_labels_text_prefix_copy_pair[#1]}
-
-\def\lang_labels_text_prefix_copy_pair[#1=#2]%
- {\lang_labels_text_prefix_copy_pair_indeed{#1}[#2,,]}
-
-% \def\lang_labels_text_prefix_copy_pair_indeed#1[#2,#3]%
-% {\expandafter\let
-% \csname\??label\currenttextprefixclass:\currenttextprefixtag:#1\expandafter\endcsname
-% \csname\??label\currenttextprefixclass:\currenttextprefixtag:#2\endcsname}
-%
-% this delays the aliasing so that we can switch mainlanguage in between
-
-\def\lang_labels_text_prefix_copy_pair_indeed#1[#2,#3]%
- {\edefcsname\??label\currenttextprefixclass:#1\endcsname
- {{\noexpand\csname\??label\currenttextprefixclass:\noexpand\reallanguagetag\noexpand\currentmainlanguage:#2\endcsname}{}}}
-
-\definelabelclass [head] [0] % titles
-\definelabelclass [label] [0] % texts
-\definelabelclass [mathlabel] [0] % functions
-\definelabelclass [taglabel] [2] % tags
-
-\clf_definelabels{head}{titles}\s!true\relax
-\clf_definelabels{label}{texts}\s!true\relax
-\clf_definelabels{mathlabel}{functions}\s!false\relax
-\clf_definelabels{taglabel}{tags}\s!false\relax
-
-%D \macros
-%D {translate}
-%D
-%D Sometimes macros contain language specific words that are to be typeset. Such
-%D macros can be made (more) language independant by using:
-%D
-%D \showsetup{translate}
-%D
-%D like for instance:
-%D
-%D \starttyping
-%D \translate[en=something,nl=iets]
-%D \stoptyping
-%D
-%D which expands to {\em something} or {\em iets}, depending on de current language.
-
-\installcorenamespace{translation}
-
-\permanent\tolerant\protected\def\translate[#1]%
- {\getparameters[\??translation][#1]%
- \ifcsname\??translation\currentlanguage\endcsname
- \lastnamedcs
- \orelse\ifcsname\??translation\s!en\endcsname
- \lastnamedcs
- \else
- [translation #1]%
- \fi}
-
-%D When used without argument, the last defined values are used. This enables
-%D repetitive use like
-%D
-%D \starttyping
-%D \en \translate\ means \nl \translate
-%D \stoptyping
-
-%D \macros
-%D {assigntranslation}
-%D
-%D This macro is a system macro, and can be used to assign a translation to a macro.
-%D Its form is:
-%D
-%D \starttyping
-%D \assigntranslation[en=something,nl=iets]\to\command
-%D \stoptyping
-
-% nicer is \edef\command{\translated[...]} ... todo
-
-\permanent\protected\def\assigntranslation[#1]\to#2% bad, this \to
- {\getparameters[\??translation][#1]%
- \edef#2{\begincsname\??translation\currentlanguage\endcsname}}
-
-%D \macros
-%D {commalistsentence}
-%D
-%D Redone in \LUA:
-%D
-%D \startbuffer
-%D \commalistsentence[aap,noot,mies]
-%D \commalistsentence[aap,noot]
-%D \commalistsentence[aap]
-%D \commalistsentence[a,b,c]
-%D \commalistsentence[a,b,c][{ \& },{ and }]
-%D \commalistsentence[a,b,c][+,-]
-%D \stopbuffer
-%D
-%D \typebuffer
-%D
-%D \startlines
-%D \getbuffer
-%D \stoplines
-
-\permanent\tolerant\protected\def\commalistsentence[#1]#*[#2]%
- {\clf_concatcommalist
- text {#1}%
- separators {#2}%
- separator {\detokenize\expandafter{\normalexpanded{\labeltext{and-1}}}}%
- last {\detokenize\expandafter{\normalexpanded{\labeltext{and-2}}}}%
- \relax}
-
-\setuplabeltext [\s!nl] [and-1={{, }}, and-2={{ en }}] % 1, 2 en 3
-\setuplabeltext [\s!en] [and-1={{, }}, and-2={{, }}] % 1, 2, 3
-\setuplabeltext [\s!de] [and-1={{, }}, and-2={{ und }}] % 1, 2 und 3
-\setuplabeltext [\s!hr] [and-1={{, }}, and-2={{ i }}] % 1, 2 i 3
-
-%D Goodie (handy at \LUA\ end):
-
-\permanent\protected\def\LABELTEXT#1{\WORD{\labeltext{#1}}} % only for simple cases!
-
-\protect \endinput