Context
The README is maintained in four languages — English, Русский, Español and 中文 — but the rule reference under docs/rules/ is English-only. That is 19 pages: one per DOL*** code, plus migrations.md, nplusone.md and the README.md index.
The rule pages are what someone reads at the moment a linter flags their code, which makes them the documentation most worth translating — and they are short and highly structured, so this is a good task to pick up incrementally.
What to change
Mirror the existing i18n layout, e.g. docs/i18n/rules/<lang>/DOL001.md, and link the set from the corresponding translated README.
Translate the prose, not the code. Every page carries bad/good Python examples, rule codes, option names and suppression syntax — those stay byte-identical so they remain copy-pasteable and greppable. What gets translated is the explanation, the rationale, and the "why this matters" text around them.
Scope — take as little as you like
This does not have to be all 19 pages, and it does not have to be a language already covered. Sensible units of work:
- the index (
docs/rules/README.md) alone, so the section has an entry point;
- one rule family —
DOL001–DOL007 (queryset), DOL011–DOL015 (model definition), DOL021–DOL022 (datetime), DOL031–DOL032 (forms/views);
nplusone.md and migrations.md, the two long-form pages.
Open a PR per chunk rather than saving them up — partial coverage is genuinely useful, and a huge PR is harder to review.
Please only translate into a language you actually speak. Machine-translated technical documentation is worse than no translation, and I have no way to review a language I do not read.
Acceptance criteria
- Files land under a path mirroring the existing
docs/i18n/ convention.
- Code blocks, rule codes and CLI flags are unchanged from the English source.
- The matching translated README links to the new pages.
- The PR names the language and confirms you speak it.
Note
docs/ is excluded from the GitHub Pages build, so these pages are read on GitHub — relative links between them work normally there.
Context
The README is maintained in four languages — English, Русский, Español and 中文 — but the rule reference under
docs/rules/is English-only. That is 19 pages: one perDOL***code, plusmigrations.md,nplusone.mdand theREADME.mdindex.The rule pages are what someone reads at the moment a linter flags their code, which makes them the documentation most worth translating — and they are short and highly structured, so this is a good task to pick up incrementally.
What to change
Mirror the existing i18n layout, e.g.
docs/i18n/rules/<lang>/DOL001.md, and link the set from the corresponding translated README.Translate the prose, not the code. Every page carries bad/good Python examples, rule codes, option names and suppression syntax — those stay byte-identical so they remain copy-pasteable and greppable. What gets translated is the explanation, the rationale, and the "why this matters" text around them.
Scope — take as little as you like
This does not have to be all 19 pages, and it does not have to be a language already covered. Sensible units of work:
docs/rules/README.md) alone, so the section has an entry point;DOL001–DOL007(queryset),DOL011–DOL015(model definition),DOL021–DOL022(datetime),DOL031–DOL032(forms/views);nplusone.mdandmigrations.md, the two long-form pages.Open a PR per chunk rather than saving them up — partial coverage is genuinely useful, and a huge PR is harder to review.
Please only translate into a language you actually speak. Machine-translated technical documentation is worse than no translation, and I have no way to review a language I do not read.
Acceptance criteria
docs/i18n/convention.Note
docs/is excluded from the GitHub Pages build, so these pages are read on GitHub — relative links between them work normally there.