<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="5.0" xml:id="olink.lang.fallback.sequence"> <refmeta> <refentrytitle>olink.lang.fallback.sequence</refentrytitle> <refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> </refmeta> <refnamediv> <refname>olink.lang.fallback.sequence</refname> <refpurpose>look up translated documents if olink not found?</refpurpose> </refnamediv> <refsynopsisdiv> <src:fragment xml:id="olink.lang.fallback.sequence.frag"> <xsl:param name="olink.lang.fallback.sequence"></xsl:param> </src:fragment> </refsynopsisdiv> <refsection><info><title>Description</title></info> <para>This parameter defines a list of lang values to search among to resolve olinks. </para> <para>Normally an olink tries to resolve to a document in the same language as the olink itself. The language of an olink is determined by its nearest ancestor element with a <tag class="attribute">lang</tag> attribute, otherwise the value of the <parameter>l10n.gentext.default.lang</parameter> parameter. </para> <para>An olink database can contain target data for the same document in multiple languages. Each set of data has the same value for the <tag>targetdoc</tag> attribute in the <tag>document</tag> element in the database, but with a different <tag>lang</tag> attribute value. </para> <para>When an olink is being resolved, the target is first sought in the document with the same language as the olink. If no match is found there, then this parameter is consulted for additional languages to try.</para> <para>The <parameter>olink.lang.fallback.sequence</parameter> must be a whitespace separated list of lang values to try. The first one with a match in the olink database is used. The default value is empty.</para> <para>For example, a document might be written in German and contain an olink with <literal>targetdoc="adminguide"</literal>. When the document is processed, the processor first looks for a target dataset in the olink database starting with:</para> <literallayout><literal><document targetdoc="adminguide" lang="de"></literal>. </literallayout> <para>If there is no such element, then the <parameter>olink.lang.fallback.sequence</parameter> parameter is consulted. If its value is, for example, <quote>fr en</quote>, then the processor next looks for <literal>targetdoc="adminguide" lang="fr"</literal>, and then for <literal>targetdoc="adminguide" lang="en"</literal>. If there is still no match, it looks for <literal>targetdoc="adminguide"</literal> with no lang attribute. </para> <para>This parameter is useful when a set of documents is only partially translated, or is in the process of being translated. If a target of an olink has not yet been translated, then this parameter permits the processor to look for the document in other languages. This assumes the reader would rather have a link to a document in a different language than to have a broken link. </para> </refsection> </refentry>