English
About this handbook

This handbook belongs to the Quartz plugin quartz-multilanguage. And it is built with it: the switcher at the top right comes from there.

This box, too, appears twice in the configuration — once per language.

7.2 – Links between languages

Obsidian resolves [[coffee]] to the shortest matching path. In a bilingual vault that can be the copy in the other language — a German page then links to en/notes/coffee although de/notes/coffee exists.

In the vault that hardly shows. On the built site it throws the reader out of their language.

options:
  rewriteCrossLanguageLinks: true
order: 65

With that, such a link is rewritten at build time: to the version in the language of the linking page, if it exists. If it does not, the link stays as it was — a jump into the other language beats a jump into nothing.

Here order matters

The rewriting recognises a link by the data-slug that crawl-links (order 60) gave it while resolving it. It therefore has to happen after crawl-links — hence order: 65, the higher number running later. With the plugin earlier there is no data-slug to find, the rewriting comes to nothing and nobody notices: the links stay quietly wrong.

Folder and suffix conventions only

As with the redirects, this rests on computing the other language’s slug from one. Pages whose language sits only in the frontmatter are exempt.

Localized dates

options:
  localizeDates: true

Without this option every date follows the site-wide locale — on a German site the English pages say 10. Sept. 2026.

With it, the script formats every <time datetime> element in the browser in the language of the page, in the same format Quartz uses elsewhere.

Why this too happens only in the browser

The formatting needs the reader’s time zone and regional settings. At build time there is neither — what would appear is the date in the build machine’s time zone.