Deutsch
Über dieses Handbuch

Dieses Handbuch gehört zum Quartz-Plugin quartz-multilanguage. Und es ist mit ihm gebaut: Der Umschalter oben rechts kommt von dort.

Auch diese Box steht zweimal in der Konfiguration — einmal je Sprache.

2.2 – Reihenfolge und Basispfad

options:
  detection: [folder, suffix, frontmatter]   # Standard
  defaultLanguage: de

Geprüft wird in dieser Reihenfolge, und der erste Treffer gewinnt. Eine Datei de/guide.en.md gehört also zu de, wenn folder vor suffix steht — der Ordner war zuerst da.

Wer das umdreht, dreht auch das Ergebnis um:

options:
  detection: [suffix, folder, frontmatter]

Eine leere Liste (detection: []) ordnet alles der Standardsprache zu. Das ist kein Unfall, sondern der Weg, die Erkennung abzuschalten und alles über translations von Hand zu verknüpfen.

Wenn nichts zutrifft

Dann gilt defaultLanguage. Ohne Angabe ist das die erste Sprache in languages — eine Reihenfolge, die man leicht übersieht, wenn man später eine Sprache voranstellt.

Der Basispfad

Bei jeder Erkennung fällt nicht nur die Sprache an, sondern auch der Basispfad: der Slug ohne den Sprachanteil.

DateiSpracheBasispfad
de/notizen/kaffee.mddenotizen/kaffee
en/notizen/kaffee.mdennotizen/kaffee
guide.de.mddeguide
guide.mden (Standard)guide

Er ist das eigentlich Wichtige, denn auf ihm beruhen drei Dinge: die stillschweigende Verknüpfung über gleiche Pfade (Kapitel 3), die Fallback-Weiterleitungen und die Link-Korrektur.

Gleiche Basispfade sparen jede Konfiguration

Wer seine Dateien in beiden Sprachen gleich benennt — de/notizen/kaffee und en/notizen/kaffee —, braucht kein translationKey und kein translations. Die Verknüpfung ergibt sich. Erst wer übersetzte Dateinamen will (en/notes/coffee), muss es sagen.

Was jede Seite danach mitbringt

fileData.multilanguage = {
  lang, baseSlug, source, translationKey, translations
}

source sagt, welcher der drei Wege gegriffen hat — nützlich, wenn eine Seite unerwartet in der falschen Sprache landet. Zusätzlich wird frontmatter.lang gesetzt, falls es fehlt; daraus macht Quartz das <html lang>.