the thoughts (and in parts a first draft proposal) below are about "semantics" not syntax please keep that in mind when you think about them. In other words, if any such scheme gets implemented one day there are many questions that have to be answered and one has to find a sensible syntax etc but right now i do not care much about that aspect. instead what i would like you to think about are the underlying ideas, eg are there levels missing that are important, are there levels which do lie outside the proposed hierarchical structure (that would allow inheritance), etc comments welcome frank % 97/03/03 \documentclass{article} \usepackage{shortvrb} \MakeShortVerb{\|} \begin{document} \section{Customization of language tag semantics} As examples show, actions that need to be carried out by a formatter when encountering a language tag are, perhaps with the exception of selecting the correct hyphenation rules, not (necessarily) globally bound to the language tags but can depend on the current position in the document (e.g., languages nested within each other) as well as the document type (e.g., a truly multi-lingual document with equal status for each language versus a document written in a base language with embedded language fragments from other languages). In most cases it is a style component deciding which choice to take in border cases (e.g., are English quotations with French text typeset using rules employed for the rest of the text or \ldots). This style might be strongly influenced by traditional typesetting conventions for the base language of the document but from the inside \LaTeX{} no actions should be forced upon the user. \subsection{Customization levels} For this reason customization possibilities for the following cases are suggested (explained in more detail below): \begin{enumerate} \item \label{document-lang} complete document \item \label{bg-lang} background language (and change of background language) \item \label{frag-bg-lang} language fragment within background language \item \label{frag-frag-lang} language fragment within language fragment \end{enumerate} Case~\ref{document-lang} describes the language used for the whole document. This can be different from the background language, for example one might to have all chapter titles being headed "Chapter" even if one chapter or section is written in a language other than english (and thus would contain a change of background language).\footnote{Right now I don't offer any suggestion how this document language could be specified.} Case~\ref{bg-lang} refers to the major language being used for text. In most documents there exist only a single background language and all other elements are language fragments embedded into the background language. Case~\ref{frag-lang} refers to the case where a language fragment is embedded in text of the background language and case~\ref{frag-frag-lang} second or higher order embeddings. \subsection{Attaching language items to levels} Each language dependent item gets a definition associated with a language label (the syntax is irrelevant at the moment), e.g., \begin{verbatim} \DeclareLanguageCommand{\chaptername}{german}{Kapitel} \DeclareLanguageCommand{\chaptername}{usenglish}{Chapter} ... \end{verbatim} In addition for each such command its activation in the above cases, e.g., \begin{verbatim} \ApplyLanguageCommand{\chaptername}{background} \end{verbatim} changes the meaning of |\chaptername| whenever the background language changes. The above cases have a natural order that can be used for inheritance, e.g., if |\Quote{...}| would produce\footnote{This command does not exist and is meant as an abitrary example.} proper quotation characters and if that command would be defined at level~\ref{frag-bg-lang} then an embedded French quotation inside a German text would be using french quotation marks but if the German text would be embedded in an English document (making this a second order fragment) then German quotes would be used. On the other hand it would be used also if the background language would change to French. \subsection{The role of language initialization files} Language initialization files (comparable with the language files provided by Babel) would offer defaults allowing out of the box usage\footnote{Even for australian users :-)} but at the same time offer easy customization in class files or in the preamble of a document. \subsection{Discussion} [ your comments ] \end{document}