Skip to content

Commit

Permalink
Add 2022 template changes
Browse files Browse the repository at this point in the history
  • Loading branch information
r12a committed May 24, 2022
1 parent bc5fbe6 commit fe7d150
Show file tree
Hide file tree
Showing 8 changed files with 199 additions and 215 deletions.
52 changes: 25 additions & 27 deletions questions/qa-when-lang-neg.de.html
Expand Up @@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>Wann es angebracht ist, Sprachvereinbarung (language negotiation) einzusetzen</title>
<meta name="description" content="Wann ist es angebracht und wann nicht, Sprachvereinbarung () einzusetzen?" />
<script type="text/javascript">
<script>
var f = { }

// AUTHORS should fill in these assignments:
Expand Down Expand Up @@ -32,14 +32,14 @@

f.additionalLinks = ''
</script>
<script type="text/javascript" src="qa-when-lang-neg-data/translations.js"> </script>
<script type="text/javascript" src="../javascript/doc-structure/article-dt.js"> </script>
<script type="text/javascript" src="../javascript/boilerplate-text/boilerplate-de.js"></script><!--TRANSLATORS must change -en to the subtag for their language!-->
<script type="text/javascript" src="../javascript/doc-structure/article.js"> </script>
<script type="text/javascript" src="../javascript/articletoc-html5.js"></script>
<link rel="stylesheet" href="../style/article-2016.css" type="text/css" />
<script src="qa-when-lang-neg-data/translations.js"> </script>
<script src="../javascript/doc-structure/article-dt.js"> </script>
<script src="../javascript/boilerplate-text/boilerplate-de.js"> </script>
<!--TRANSLATORS must change -en in the line just above to the subtag for their language! -->
<script src="../javascript/doc-structure/article-2022.js"> </script>
<script src="../javascript/articletoc-2022.js"></script>
<link rel="stylesheet" href="../style/article-2022.css" />
<link rel="copyright" href="#copyright"/>
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>

<body>
Expand All @@ -50,14 +50,12 @@ <h1>Wann es angebracht ist, Sprachvereinbarung (<span lang="en">language negotia
</header>


<section>
<div id="audience">
<p><span id="intendedAudience" class="leadin">Intended audience:</span>
Webmaster, Serveradministratoren und alle, die verstehen möchten, wie Inhaltsvereinbarung anhand der Sprache funktioniert.</p>
<div id="audience">
<div id="updateInfo"></div><script>document.getElementById('updateInfo').innerHTML = g.updated</script>
</div>

<h2 id="question"><a href="#question">Question</a></h2>
<section id="question">
<h2>Frage</h2>
<p class="question">Wann ist es angebracht und wann nicht, Sprachvereinbarung einzusetzen?</p>

<aside class="insideinfonote"><p class="footnote">In deutschsprachigen Quellen wird oft die englische Bezeichnung „<span lang="en">language negotiation</span>“ beibehalten. In der deutschen Ausgabe <em><span lang="en">Apache</span> – Das umfassende Handbuch</em> von B. &amp; P. <span lang="en">Laurie</span> (<span lang="en">O’Reilly</span>) findet man „Sprachvereinbarung“. (Anm. d. Übers.)</p></aside>
Expand All @@ -67,14 +65,14 @@ <h2 id="question"><a href="#question">Question</a></h2>
</section>


<section>
<h2 id="answer"><a href="#answer">Answer</a></h2>
<section id="answer">
<h2>Antwort</h2>
<p>Einfache Antwort: <em>immer</em>.</p>
<p>Etwas ausführlicher: <em>fast</em> immer, <em>aber nicht ausschließlich</em>.</p>
<p>Sprachvereinbarung <a href="#shortcomings">funktioniert nicht immer wie gewünscht</a>; es gibt aber Wege, <a href="#overrides">die Schwachstellen zu beheben</a>; und man sollte für eine <a href="#stickyness">konsistente Navigation</a> sorgen.</p>

<section>
<h3 id="shortcomings"><a href="#shortcomings">Schwachstellen der Sprachvereinbarung</a></h3>
<section id="shortcomings">
<h3>Schwachstellen der Sprachvereinbarung</h3>
<p>Sprachvereinbarung ist offensichtlich eine nützliche Sache, aber bevor man sie implementiert, ist es wichtig, ihre Grenzen zu kennen. Um diese zu veranschaulichen, nehmen wir als Beispiel eine Website www.example.be, die ihre Inhalte in Flämisch, Französisch und Deutsch anbietet. Unsere Besucherin Sylvia spricht Italienisch, versteht aber auch Deutsch. Verschiedene Situationen können eintreten:</p>
<ol>
<li>Sylvias Browser ist korrekt konfiguriert; er gibt Italienisch als erste bevorzugte Sprache an, dann Deutsch als zweite. Italienisch ist auf dem Server www.example.be nicht verfügbar, die Seiten werden auf Deutsch ausgeliefert, die Benutzerin ist zufrieden, alles in Ordnung. Dafür ist Sprachvereinbarung da!</li>
Expand All @@ -85,15 +83,15 @@ <h3 id="shortcomings"><a href="#shortcomings">Schwachstellen der Sprachvereinbar
<p id="equivalence">Außerdem ist Sprachvereinbarung <em>irrelevant</em>, wenn die Seiten nicht äquivalent sind, also in verschiedenen Sprachen nicht den gleichen Inhalt haben. Die FAQ <a class="print" href="qa-mono-multilingual"><cite>Einsprachige vs. mehrsprachige Websites</cite></a> beleuchtet diesen Aspekt, siehe insbesondere die Abschnitte <em>„Mehrsprachig, gleicher Inhalt“</em> und <em>„Mehrsprachig, verschiedener Inhalt“</em>. Allerdings führt ein gewisses Maß an kultureller Anpassung (z.B. Angaben in einer anderen Währung) nicht zwangsläufig zu nicht äquivalenten Webseiten. Sprachvereinbarung kann aber nicht mehr sinnvoll eingesetzt werden, wenn Webseiten nicht äquivalent sind, d.h. Language-Negotiation stößt an ihre Grenzen, wenn eine <em>Website</em> so übertragen wurde, dass sich Seiten in verschiedenen Sprachversionen nicht einander entsprechen.</p>
</section>

<section>
<h3 id="overrides"><a href="#overrides">Behebung der Schwachstellen</a></h3>
<section id="overrides">
<h3>Behebung der Schwachstellen</h3>
<p>Trotz ihrer Grenzen ist Sprachvereinbarung eine nützliche Funktion und sollte bei mehrsprachigen Websites implementiert werden. Aber ihre Schwachstellen müssen beachtet werden. Kurz gesagt, es ist wichtig, dem Besucher Mittel in die Hand zu geben, die automatische Sprachauswahl zu <em>umgehen</em>, falls erforderlich. Das bedeutet, Interface-Elemente in die Seite zu einzubauen (nennen wir sie hier <em>Sprachauswahl-Elemente</em>), die zu den anderen verfügbaren Sprachversionen verlinken. Diese Sprachauswahl-Elemente müssen natürlich klar erkennbar sein und dem Nutzer verständlich, auch wenn er mit der gerade angezeigten Sprache nicht vertraut ist.</p>
<p>Es stellt sich die Frage: Sollen Sprachvereinbarung und manuelle Sprachauswahl für alle Seiten implementiert werden oder nur für die Startseite? Die beste Antwort ist „für alle Seiten“, außer für solche Seiten, die nicht <a href="#equivalence">hinreichend äquivalent</a> sind. Sprachvereinbarung ist nützlich, denn wenn Jaap einen Link innerhalb von www.example.be an Pierre mailt, bekommt Pierre die französische Version zu lesen, obwohl Jaap die flämische gelesen hatte. Sprachauswahl-Elemente müssen immer angeboten werden, egal ob Sprachvereinbarung implementiert ist oder nicht. Wenn keine Sprachvereinbarung durchgeführt wird, benötigt Pierre die Sprachauswahl-Elemente, um von Jaaps Link zur französischen Version zu gelangen; auch wenn Sprachvereinbarung durchgeführt wird, muss Sylvia in den oben genannten Situationen 2 und 3 manuell auf Deutsch umschalten können.</p>
<p>Übrigens: Einige Websites liefern eine spezielle Sprachauswahl-Seite aus, wenn es keine Übereinstimmung zwischen den vom Nutzer bevorzugten und den verfügbaren Sprachen gibt. (www.example.be könnte dies auch tun, anstatt Flämisch auszuliefern.) Das hat den Vorteil, dass die Situation klar ist und keine Sprache einer anderen vorgezogen wird, was politisch bedenklich sein könnte. Unglücklicherweise liefern einige Websites immer eine solche Seite (als Startseite) <em>anstatt</em> Sprachvereinbarung durchzuführen. Dadurch muss jeder über diese Seite gehen – ohne ersichtlichen Nutzen. Nicht nutzerfreundlich.</p>
</section>

<section>
<h3 id="stickyness"><a href="#stickyness">Navigation</a></h3>
<section id="stickyness">
<h3>Navigation</h3>
<p>Angenommen, Sylvia besucht www.example.be und bekommt Flämisch (Situationen 2 und 3). Sie wählt dann die deutsche Version aus, kein Problem. Aber dann folgt sie einem Link zu einer anderen interessanten Seite auf dieser Website. Oh, wieder Flämisch! Glücklicherweise ist das Sprachauswahl-Element für Deutsch immer noch vorhanden, aber nach einigem solchen Hin-und-Her wird sie verständlicherweise verärgert sein. Kann sich www.example.be nicht einfach merken, dass sie kein Flämisch lesen kann? Was hier fehlt, ist <em>Konsistenz</em>, eine Art „Gedächtnis“ für die explizite Sprachauswahl.</p>
<p>Es gibt verschiedene Wege, wie sich www.example.be die Sprachauswahl merken kann. Welcher gewählt wird, hängt von der auf dem Server verfügbaren Technologie und dem zu erwartenden Arbeitsaufwand ab.</p>
<p>Wenn die Website einen <em>Session</em>-Mechanismus bereitstellt (z.B. durch <a
Expand All @@ -106,15 +104,15 @@ <h3 id="stickyness"><a href="#stickyness">Navigation</a></h3>
</section>


<section>
<h2 id="bytheway"><a href="#bytheway">By the way</a></h2>
<section id="bytheway">
<h2>Übrigens</h2>
<p>Der HTTP-<span lang="en"><code class="kw" translate="no">Accept-Language</code>-Header</span> ist nicht die einzige verfügbare Quelle für die Sprachinformation. Alle Browser senden auch einen <span lang="en"><code class="kw" translate="no">User-Agent</code>-Header</span>, der den Hersteller, die Versionsnummer und in einigen Fällen auch die Sprachversion des Browsers angibt. Dieser kann genutzt werden, um die bevorzugte Sprache des Nutzers zu erraten, wenn der <span lang="en"><code class="kw" translate="no">Accept-Language</code>-Header</span> fehlt, was aber nicht so zuverlässig und nur auf eine Sprache beschränkt ist. Nur mit äußerster Vorsicht zu benutzen.</p>
<p>Sprachvereinbarung ist nur ein Aspekt von HTTP-Inhaltsvereinbarung (<span lang="en">content negotiation</span>). Andere Aspekte, die automatisch vereinbart werden können, sind der Medientyp (d.h. das Format: z.B. HTML, PDF oder Text), die Zeichencodierung und die Übertragungscodierung (verschlüsselt, komprimiert usw.). Sprachvereinbarung ist der nützlichste und am meisten verwandte.</p>
</section>


<section>
<h2 id="endlinks"><a href="#endlinks">Further reading</a></h2>
<section id="endlinks">
<h2>Literaturhinweise</h2>
<aside class="section" id="survey"> </aside><script>document.getElementById('survey').innerHTML = g.survey</script>

<ul id="full-links">
Expand All @@ -135,7 +133,7 @@ <h2 id="endlinks"><a href="#endlinks">Further reading</a></h2>
</ul>
</section>

<footer id="thefooter"></footer><script type="text/javascript">document.getElementById('thefooter').innerHTML = g.bottomOfPage</script>
<script type="text/javascript">completePage()</script>
<footer id="thefooter"></footer><script>document.getElementById('thefooter').innerHTML = g.bottomOfPage</script>
<script>completePage()</script>
</body>
</html>
50 changes: 24 additions & 26 deletions questions/qa-when-lang-neg.en.html
Expand Up @@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>When to use language negotiation</title>
<meta name="description" content="When is it appropriate, or not, to use language negotiation?" />
<script type="text/javascript">
<script>
var f = { }

// AUTHORS should fill in these assignments:
Expand Down Expand Up @@ -32,14 +32,14 @@

f.additionalLinks = ''
</script>
<script type="text/javascript" src="qa-when-lang-neg-data/translations.js"> </script>
<script type="text/javascript" src="../javascript/doc-structure/article-dt.js"> </script>
<script type="text/javascript" src="../javascript/boilerplate-text/boilerplate-en.js"></script><!--TRANSLATORS must change -en to the subtag for their language!-->
<script type="text/javascript" src="../javascript/doc-structure/article.js"> </script>
<script type="text/javascript" src="../javascript/articletoc-html5.js"></script>
<link rel="stylesheet" href="../style/article-2016.css" type="text/css" />
<script src="qa-when-lang-neg-data/translations.js"> </script>
<script src="../javascript/doc-structure/article-dt.js"> </script>
<script src="../javascript/boilerplate-text/boilerplate-en.js"> </script>
<!--TRANSLATORS must change -en in the line just above to the subtag for their language! -->
<script src="../javascript/doc-structure/article-2022.js"> </script>
<script src="../javascript/articletoc-2022.js"></script>
<link rel="stylesheet" href="../style/article-2022.css" />
<link rel="copyright" href="#copyright"/>
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>

<body>
Expand All @@ -50,14 +50,12 @@ <h1>When to use language negotiation</h1>
</header>


<section>
<div id="audience">
<p><span id="intendedAudience" class="leadin">Intended audience:</span>
webmasters, server administrators, and anyone who wants to better understand language-based content negotiation.</p>
<div id="updateInfo"></div><script>document.getElementById('updateInfo').innerHTML = g.updated</script>
</div>

<h2 id="question"><a href="#question">Question</a></h2>
<section id="question">
<h2>Question</h2>
<p class="question">When is it appropriate, or not, to use language negotiation?</p>

<p>Language negotiation is a function of the HTTP protocol which lets a server choose among several language versions of a page, based on
Expand All @@ -73,15 +71,15 @@ <h2 id="question"><a href="#question">Question</a></h2>
</section>


<section>
<h2 id="answer"><a href="#answer">Answer</a></h2>
<section id="answer">
<h2>Answer</h2>
<p>The short answer is: <em>always</em>.</p>
<p>A slightly longer answer is: <em>almost</em> always, <em>but not alone</em>.</p>
<p>Language negotiation <a href="#shortcomings">does not always work as intended</a>; there are techniques to <a href="#overrides">make up
for the shortcomings</a>; one should also provide for <a href="#stickyness">stickyness in navigation</a>.</p>

<section>
<h3 id="shortcomings"><a href="#shortcomings">Shortcomings of language negotiation</a></h3>
<section id="shortcomings">
<h3>Shortcomings of language negotiation</h3>
<p>Language negotiation is evidently a useful thing, but before implementing it across the board, it is important to understand its
limits. To illustrate these, we will use the example of a site, www.example.be, that offers its content in Flemish, French and German, implements
language negotiation and defaults to Flemish for all pages. Our visitor, Sylvia, will be Italian-speaking, but able to deal with German. Several
Expand All @@ -104,8 +102,8 @@ <h3 id="shortcomings"><a href="#shortcomings">Shortcomings of language negotiati
correspond to one another any more.</p>
</section>

<section>
<h3 id="overrides"><a href="#overrides">Making up for the shortcomings</a></h3>
<section id="overrides">
<h3>Making up for the shortcomings</h3>
<p>Despite its limitations, language negotiation is a useful function and it is desirable to implement it in multilingual sites. But the
shortcomings must be addressed. In short, it is important to provide means for visitors to <em>override</em> the automatic choice of language when it
is wrong. This means putting some interface elements in the page (we'll call them <em> language controls</em> here) that link to the other available
Expand All @@ -124,8 +122,8 @@ <h3 id="overrides"><a href="#overrides">Making up for the shortcomings</a></h3>
while offering no apparent advantage. Bad human factors design.</p>
</section>

<section>
<h3 id="stickyness"><a href="#stickyness">Navigation</a></h3>
<section id="stickyness">
<h3>Navigation</h3>
<p>Suppose Sylvia visits www.example.be and gets Flemish (situation 2 or 3). She then clicks on the German control and reads on, no real
trouble. But she then clicks on a link to get to an interesting page within the site. Oops, Flemish again! Fortunately, the German control is still
there, but after a couple of such detours she's getting understandably frustrated. Can't www.example.be just remember that she can't read Flemish?
Expand Down Expand Up @@ -153,8 +151,8 @@ <h3 id="stickyness"><a href="#stickyness">Navigation</a></h3>
</section>


<section>
<h2 id="bytheway"><a href="#bytheway">By the way</a></h2>
<section id="bytheway">
<h2>By the way</h2>
<p>The HTTP <code class="kw" translate="no">Accept-Language</code> header is not the only source of language information available. All browsers also send a <code class="kw" translate="no">User-Agent</code> header identifying the browser's make, version number and in some cases language version. This can be used to guess at the
user's preferred language if the <code class="kw" translate="no">Accept-Language</code> header is missing, but it is less reliable and more limited (one language only) than
Accept-Language. Use with extreme care.</p>
Expand All @@ -164,8 +162,8 @@ <h2 id="bytheway"><a href="#bytheway">By the way</a></h2>
</section>


<section>
<h2 id="endlinks"><a href="#endlinks">Further reading</a></h2>
<section id="endlinks">
<h2>Further reading</h2>
<aside class="section" id="survey"> </aside><script>document.getElementById('survey').innerHTML = g.survey</script>

<ul id="full-links">
Expand All @@ -186,7 +184,7 @@ <h2 id="endlinks"><a href="#endlinks">Further reading</a></h2>
</ul>
</section>

<footer id="thefooter"></footer><script type="text/javascript">document.getElementById('thefooter').innerHTML = g.bottomOfPage</script>
<script type="text/javascript">completePage()</script>
<footer id="thefooter"></footer><script>document.getElementById('thefooter').innerHTML = g.bottomOfPage</script>
<script>completePage()</script>
</body>
</html>

0 comments on commit fe7d150

Please sign in to comment.