# Introductions and translations

These concise introductions cover the same raw-byte example, quickstart,
platform boundaries, current progress links and contribution paths. Detailed
guides and the live instruments currently use English.

[English](en/README.md) · [简体中文](zh-CN/README.md) · [Español](es/README.md) ·
[Français](fr/README.md) · [日本語](ja/README.md) · [Português](pt/README.md) ·
[Deutsch](de/README.md) · [العربية](ar/README.md)

`en/README.md` is the maintained translation source. `manifest.json` records its
SHA-256 and the English revision used by every translation. When English changes,
review each translation before updating its source hash. Tests reject stale
entries and changed executable examples, and check local links. The hash proves
recorded freshness, not human translation quality. Native speakers are welcome
to correct phrasing through the ordinary contribution process.

Keep progress and release details in the canonical roadmap and changelog; link
them rather than duplicating volatile counts in each language. Preserve commands,
literal instruction bytes, support boundaries and the distinction between the
teaching model and actual QEMU/native evidence. Arabic prose uses RTL containers;
code blocks keep their LTR order.

The website renders these files at `intro/<language>/` during `make site-test`.
The small renderer supports H1/H2 headings, paragraphs, inline code, links and
`text`/`sh` fenced blocks. It escapes code and rejects unsupported HTML; Arabic
direction containers are represented by the page's `dir` and explicit LTR code.
Language pages include canonical/alternate metadata and local source-document
links. Keep the format simple rather than adding a Markdown dependency.
