Skip to content

docs(i18n): add Italian model-rule translations - #95

Merged
FROWNINGdev merged 1 commit into
FROWNINGdev:mainfrom
JJordan0C:fix/italian-model-rule-translations
Sep 2, 2026
Merged

docs(i18n): add Italian model-rule translations#95
FROWNINGdev merged 1 commit into
FROWNINGdev:mainfrom
JJordan0C:fix/italian-model-rule-translations

Conversation

@JJordan0C

@JJordan0C JJordan0C commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Added Italian translations for the model-definition rule family (DOL011 through DOL015). I speak Italian and reviewed the wording for technical accuracy while keeping code blocks, rule identifiers, settings, and suppression syntax unchanged.

Because the project does not yet have an Italian main README, this also adds a dedicated Italian rule index and links it from the complete English rule reference.

Type of change

  • Bug fix (non-breaking, restores expected behaviour)
  • Feature (non-breaking, adds a capability)
  • Breaking change (existing users have to update config or code)
  • Docs / README / comments only (no runtime effect)
  • Internal refactor (no behaviour change, no public API change)
  • Dependency bump
  • CI / build / tooling

Test plan

  • Compared all 16 fenced Python code blocks with the English source after repository line-ending normalization; their contents are identical.
  • Verified that all relative Markdown links resolve.
  • Ran npm test: 242 tests passed.
  • Ran cd cli && python -m pytest -q: 475 tests and 41 subtests passed, with 2 tests skipped.
  • Ran cd cli && python -m ruff check django_orm_lens tests: passed.
  • Ran cd cli && python -m mypy django_orm_lens: passed.
  • Ran git diff --check: passed.

Checklist

  • I ran the full test suite locally (cd cli && pytest -q for Python, npm test for TypeScript) and it is green
  • I added or updated tests that cover the change (bugfixes should get a regression test)
  • If the change is user-facing I updated the CHANGELOG under ## [Unreleased]
  • If the change touches the MCP tool contract (new tool, new arg, new error code) I updated the tool description in mcp_server.py and the relevant tests in test_mcp_server.py
  • If this is a breaking change I called it out under ## Summary above and suggested a migration path

The unchecked items do not apply because this PR changes Markdown documentation only and does not change runtime behavior or the MCP contract.

Related issues / discussions

Refs #52

Refs #79

Summary by CodeRabbit

  • Documentation
    • Added Italian translations for model-definition rules DOL011–DOL015.
    • Added an Italian rules reference index summarizing rule codes, categories, severity, and applicability.
    • Linked the Italian model-rule documentation from the complete rules reference.
    • Documented guidance, examples, quick fixes, suppressions, and configuration options for each translated rule.

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 1747777f-8de2-4695-b74a-d22e7823aae5

📥 Commits

Reviewing files that changed from the base of the PR and between 738230e and fc532f7.

📒 Files selected for processing (8)
  • CHANGELOG.md
  • docs/i18n/rules/it/DOL011.md
  • docs/i18n/rules/it/DOL012.md
  • docs/i18n/rules/it/DOL013.md
  • docs/i18n/rules/it/DOL014.md
  • docs/i18n/rules/it/DOL015.md
  • docs/i18n/rules/it/README.md
  • docs/rules/README.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds Italian documentation for model-definition rules DOL011 through DOL015. It adds an Italian rule index, links the index from the complete reference, and records the translation in the Unreleased changelog.

Changes

Italian DOL rule documentation

Layer / File(s) Summary
Translated DOL011–DOL015 rule pages
docs/i18n/rules/it/DOL011.md, docs/i18n/rules/it/DOL012.md, docs/i18n/rules/it/DOL013.md, docs/i18n/rules/it/DOL014.md, docs/i18n/rules/it/DOL015.md
Adds Italian pages that document rule metadata, detection behavior, code examples, QuickFix guidance, and suppression options.
Italian index and reference links
docs/i18n/rules/it/README.md, docs/rules/README.md, CHANGELOG.md
Adds the Italian DOL011–DOL015 index, links it from the complete rule reference, and records the addition in the Unreleased changelog.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to fc532

This PR adds Italian documentation and an index without changing product behavior or runtime code; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Italian translations for the model-definition rules.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (8 skipped: 8 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@FROWNINGdev FROWNINGdev left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified this against the canonical English source rather than reading it for fluency alone, because the last batch of translations in exactly this rule range (#90) drifted from canonical and had to be rewritten. This one holds up:

  • Code blocks are byte-identical to the English originals — 3 blocks each in DOL011-DOL014, 4 in DOL015, zero differences. Nothing inside a fence got translated.
  • Structure matches line-for-line: 27/30/27/27/33 lines against 27/30/27/27/33, same heading levels in the same order, rule IDs intact.
  • The index table repeats the canonical metadata exactly — category, default severity and applicability for all five rules match docs/rules/README.md field for field. Only prose is translated.
  • The index is honest about being partial, pointing at the full English reference for everything not yet covered. That is the right call for a locale that starts with one rule family.
  • CHANGELOG entry sits under ### Added above ### Fixed, which is the Keep a Changelog order, and references #52 correctly.

One nit, purely typographic. The new index line uses a plain hyphen twice where the surrounding file uses dashes:

🌐 [Italiano](../i18n/rules/it/README.md) - model rules (`DOL011`-`DOL015`)
🌐 [Tiếng Việt](../i18n/rules/vi/README.md) — queryset rules (`DOL001`–`DOL007`)

The Vietnamese line above it uses an em dash before the description and an en dash inside the range. The same applies to the DOL0NN - Title headings in the five translated files, where English and Vietnamese both use an em dash. It renders fine either way, so this is not a blocker — say the word and I will normalise it after merge rather than send you round again for three characters.

@FROWNINGdev
FROWNINGdev merged commit 011c50e into FROWNINGdev:main Sep 2, 2026
18 checks passed
@FROWNINGdev

Copy link
Copy Markdown
Owner

Merged, and normalised the dash typography myself in #97 rather than sending you back for three characters — nothing else was touched, the diff is one line per file.

Worth saying why this one went in without a round of changes, because it is not the usual outcome. The last batch of translations covering exactly DOL011-DOL015 (#90) had drifted from the canonical source and had to be rewritten, so I checked yours against the English mechanically rather than reading it for fluency:

  • Code blocks byte-identical to the English originals — 3 blocks each in DOL011-DOL014, 4 in DOL015, zero differences. Nothing inside a fence was translated.
  • Line counts match the source exactly, heading levels in the same order, rule IDs intact.
  • The index table repeats the canonical category, severity and applicability field for field.
  • The index says plainly that the locale is partial and links out to the full English reference. That is the part I would have asked for if it were missing, and it was already there.

If you want to keep going, the obvious next chunk is the queryset family, DOL001-DOL008 — the most frequently triggered rules in the set, so the ones a reader is most likely to hit first. After that Italian would still be missing DOL021/DOL022 (datetime), DOL031/DOL032, and the four long-form pages (nplusone, migrations, blast-radius, drift). The Vietnamese set at docs/i18n/rules/vi/ is the only complete locale, so it is the map of what "finished" looks like.

A PR per family is easier for both of us than one large one. No obligation — three PRs in, two of them code, you have already done more than enough. But the pattern is yours now, and copying it is the cheap part.

@FROWNINGdev

Copy link
Copy Markdown
Owner

Filed the queryset family as #98 so it is claimable rather than just mentioned here — no obligation to take it, and it is open to anyone. Also opened #99 for Spanish, which is in the same position Italian was in a week ago: the README is translated, the rule reference is not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants