[PR #4172] feat(i18n): add Albanian README and website translations #6108

Open
opened 2026-10-31 01:11:55 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/4172
Author: @pirrozani
Created: 10/15/2026
Status: 🔄 Open

Base: main ← Head: feat/albanian-localization


📝 Commits (5)

  • 8f0eaf1 feat(i18n): add Albanian README and website translations
  • 756bfb4 fix(i18n): preserve literal names and correct Albanian instructions
  • e0f3309 fix(i18n): clarify Albanian technical terms and copy actions
  • 939f7b2 chore(i18n): merge main and keep Albanian last
  • 80b07f6 fix(i18n): preserve technical meaning in Albanian translations

📊 Changes

69 files changed (+60160 additions, -42773 deletions)

View changed files

📝 README.md (+1 -2)
📝 docs/readme/README_ar.md (+1 -2)
📝 docs/readme/README_de.md (+1 -2)
📝 docs/readme/README_el.md (+1 -1)
📝 docs/readme/README_es.md (+1 -2)
📝 docs/readme/README_fa.md (+1 -2)
📝 docs/readme/README_fr.md (+1 -2)
📝 docs/readme/README_id.md (+1 -2)
📝 docs/readme/README_it.md (+1 -2)
📝 docs/readme/README_ja.md (+1 -2)
📝 docs/readme/README_ko.md (+1 -2)
📝 docs/readme/README_ml.md (+1 -2)
📝 docs/readme/README_pl.md (+1 -2)
📝 docs/readme/README_pt-BR.md (+1 -2)
📝 docs/readme/README_ru.md (+1 -2)
➕ docs/readme/README_sq.md (+356 -0)
📝 docs/readme/README_th.md (+1 -2)
📝 docs/readme/README_tr.md (+1 -2)
📝 docs/readme/README_uk.md (+1 -2)
📝 docs/readme/README_vi.md (+1 -2)

...and 49 more files

📄 Description

Summary

Fixes #4170.

Add Albanian (sq, Shqip, left-to-right) to the README editions and website, with all 1,727 active messages translated. Shqip is last in every README language list and the website inventory, after Malayalam.

Merge upstream main 3ddb2e4cf in 939f7b269, preserving Malayalam's README and pending website catalog, upstream Korean/Simplified Chinese/Turkish corrections, and this PR's review fixes.

Problem and expected behavior

Albanian readers should be able to select Shqip and read translated guides, case studies, figures, accessibility labels, and interaction messages.

Change and scope

  • Add docs/readme/README_sq.md and website/locales/sq/messages.po; register sq and regenerate public language selectors and alternate-language metadata through the existing gettext workflow.
  • Update reciprocal README navigation and test registration, preserved onboarding commands, Albanian showcase links, and Malayalam-to-Albanian ordering with Shqip last.
  • Protect seven literal-bearing translation units and exclude the literal SVG formula 20 + 30 × tile_x. Extraction and rendering share the figure_units selection function, including ancestor exclusions.
  • Preserve upstream wording when migrating corrected Korean and Simplified Chinese entries to protected placeholders. Compare all unchanged-key translations and reviewer comments against main; compare Albanian against its pre-merge revision.
  • Preserve Malayalam's intentional English fallback: its 1,727 messages remain pending, and its 19 fallback reading pages are labeled and nonindexable. This PR does not claim Malayalam website translation coverage.

Documentation/usability only relative to main. No new provider, target interaction, execution authority, or CLI/MCP/Evidence contract change. No package/release metadata changes or build outputs are included. A maintainer scope decision for new execution/injection/mutation capabilities is not applicable.

Validation of the merged result

Executed on Windows using the pinned Node.js 24.18.0 and npm 11.16.0 for npm validation, plus the existing website Python environment. Checks ran on the reviewed merge tree; the commit hook left that tree unchanged.

  • npm run check — passed typecheck, lint, formatting, knip, metadata, module boundaries, and architecture guards. Lint reported warnings, with zero errors.
  • npm run check:fast — passed; passed again in the pre-push hook.
  • npm run format:check — passed repository-wide.
  • npm run docs:check — passed generated-document/fact/license checks and all 7 README tests.
  • npm run test:local -- tests/conformance/readmeConsistency.test.ts — all 7 passed.
  • website/.venv/Scripts/python.exe -B scripts/website.py translations check --language sq --strict — passed, 1,727/1,727 translated, zero missing/fuzzy messages.
  • website/.venv/Scripts/python.exe -B scripts/website.py translations check — passed catalog/placeholder/markup validation: all 20 translated catalogs complete; Malayalam intentionally 0/1,727.
  • website/.venv/Scripts/python.exe -B scripts/website.py sync --check — passed, zero drift.
  • website/.venv/Scripts/python.exe -B scripts/website.py check — not fully passing on this host. Build/link/metadata phases passed: 418 reading pages in 22 languages, 420 HTML pages verified, 29,949 local references, SVG XML, example ZIP, sitemap/SEO, and publisher checks. Of 22 regression tests, 18 passed and 4 errored while creating directory symlinks because Windows denied the required privilege (WinError 1314). No tests were skipped or weakened to hide this limitation. The regression phase took 224.224 seconds; this is not a performance comparison.
  • Parsed PO comparison preserved 36,127 unchanged-key translations and their reviewer comments, including 898 nonempty reviewer comments. Existing translated catalogs have only seven protected-placeholder migrations and the formula exclusion beyond regenerated source references.
  • Rendered root/Albanian homepage and Albanian FAQ checks confirmed Malayalam precedes Shqip, Albanian alternate metadata is present, Malayalam alternate metadata is excluded, and the Malayalam homepage has noindex, follow.
  • git diff --cached --check — passed before committing; no unresolved conflicts remained.

Local prerequisites were refreshed with npm ci. Matching-version Windows native artifacts were restored from the published rea-agents@6.5.0 tarball using the documented source-checkout procedure, with the addon digest verified; these files remain ignored and uncommitted. This does not establish analysis-provider behavior.

Review follow-up and remaining gaps

Earlier fixes in 756bfb43b and e0f3309c7 remain intact: archive extraction and checkout context; memory-store, spawn-angle, panning-factor and multiplication wording; protected commands/methods/paths/formula; Albanian showcase routes; UTF-8 fixture I/O; verification terminology; IPC handlers; copy-action labels; double-precision constants; assembly nouns; and TH04 bullet/direction wording. Regression coverage includes SVG ancestor exclusions, literal preservation in every edition, and Albanian copy-button accessibility labels.

Historical validation before the main merge included a fully passing website check and headless Edge/Playwright checks of the Albanian homepage and FAQ at 390px/1440px, root and /rea/ prefixes, theme switching, and FAQ interactions. Those browser checks were not rerun on the merged result. Earlier negative regressions demonstrated the SVG exclusion and copy-label failures and simulated cp1252 fixture failure; no native cp1252 OS run is claimed.

AI-assisted translation drafting received technical corrections. Native Albanian verification of the initial translation was previously confirmed by the author; separate native-speaker re-review of later editorial changes is not established. The human owner approved the reviewed merge for commit and push in this session. No real analysis providers were exercised. The full npm suite and check:pr were not run. Full website regression success remains unverified on a symlink-capable host.

Compatibility, safety, and release

  • Additive locale; no breaking change or migration.
  • Commands, code, URLs, paths, placeholders, recorded values, and Evidence remain protected.
  • No runtime translation API; builds remain offline after dependencies are installed. Initial drafting used a public translation service for public documentation text.
  • Localized HTML remains generated in ignored _site/.

Author readiness

Human owner: @pirrozani

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff.
  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/4172 **Author:** [@pirrozani](https://github.com/pirrozani) **Created:** 10/15/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/albanian-localization` --- ### 📝 Commits (5) - [`8f0eaf1`](https://github.com/morluto/rea/commit/8f0eaf166667c3bbcd5d957c5219a0ff65be1050) feat(i18n): add Albanian README and website translations - [`756bfb4`](https://github.com/morluto/rea/commit/756bfb43b3c9a963bea773ff03d7c90be78e96ac) fix(i18n): preserve literal names and correct Albanian instructions - [`e0f3309`](https://github.com/morluto/rea/commit/e0f3309c70d28ee46b53544bc4a04f64e7adadd8) fix(i18n): clarify Albanian technical terms and copy actions - [`939f7b2`](https://github.com/morluto/rea/commit/939f7b2697782a00445c153e1c9713dda2946587) chore(i18n): merge main and keep Albanian last - [`80b07f6`](https://github.com/morluto/rea/commit/80b07f6510f9908b8fda85f39633068c0c90f234) fix(i18n): preserve technical meaning in Albanian translations ### 📊 Changes **69 files changed** (+60160 additions, -42773 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -2) 📝 `docs/readme/README_ar.md` (+1 -2) 📝 `docs/readme/README_de.md` (+1 -2) 📝 `docs/readme/README_el.md` (+1 -1) 📝 `docs/readme/README_es.md` (+1 -2) 📝 `docs/readme/README_fa.md` (+1 -2) 📝 `docs/readme/README_fr.md` (+1 -2) 📝 `docs/readme/README_id.md` (+1 -2) 📝 `docs/readme/README_it.md` (+1 -2) 📝 `docs/readme/README_ja.md` (+1 -2) 📝 `docs/readme/README_ko.md` (+1 -2) 📝 `docs/readme/README_ml.md` (+1 -2) 📝 `docs/readme/README_pl.md` (+1 -2) 📝 `docs/readme/README_pt-BR.md` (+1 -2) 📝 `docs/readme/README_ru.md` (+1 -2) ➕ `docs/readme/README_sq.md` (+356 -0) 📝 `docs/readme/README_th.md` (+1 -2) 📝 `docs/readme/README_tr.md` (+1 -2) 📝 `docs/readme/README_uk.md` (+1 -2) 📝 `docs/readme/README_vi.md` (+1 -2) _...and 49 more files_ </details> ### 📄 Description ## Summary Fixes #4170. Add Albanian (`sq`, Shqip, left-to-right) to the README editions and website, with all 1,727 active messages translated. Shqip is last in every README language list and the website inventory, after Malayalam. Merge upstream main `3ddb2e4cf` in `939f7b269`, preserving Malayalam's README and pending website catalog, upstream Korean/Simplified Chinese/Turkish corrections, and this PR's review fixes. ## Problem and expected behavior Albanian readers should be able to select Shqip and read translated guides, case studies, figures, accessibility labels, and interaction messages. ## Change and scope - Add `docs/readme/README_sq.md` and `website/locales/sq/messages.po`; register `sq` and regenerate public language selectors and alternate-language metadata through the existing gettext workflow. - Update reciprocal README navigation and test registration, preserved onboarding commands, Albanian showcase links, and Malayalam-to-Albanian ordering with Shqip last. - Protect seven literal-bearing translation units and exclude the literal SVG formula `20 + 30 × tile_x`. Extraction and rendering share the `figure_units` selection function, including ancestor exclusions. - Preserve upstream wording when migrating corrected Korean and Simplified Chinese entries to protected placeholders. Compare all unchanged-key translations and reviewer comments against main; compare Albanian against its pre-merge revision. - Preserve Malayalam's intentional English fallback: its 1,727 messages remain pending, and its 19 fallback reading pages are labeled and nonindexable. This PR does not claim Malayalam website translation coverage. Documentation/usability only relative to main. No new provider, target interaction, execution authority, or CLI/MCP/Evidence contract change. No package/release metadata changes or build outputs are included. A maintainer scope decision for new execution/injection/mutation capabilities is not applicable. ## Validation of the merged result Executed on Windows using the pinned Node.js 24.18.0 and npm 11.16.0 for npm validation, plus the existing website Python environment. Checks ran on the reviewed merge tree; the commit hook left that tree unchanged. - `npm run check` — passed typecheck, lint, formatting, knip, metadata, module boundaries, and architecture guards. Lint reported warnings, with zero errors. - `npm run check:fast` — passed; passed again in the pre-push hook. - `npm run format:check` — passed repository-wide. - `npm run docs:check` — passed generated-document/fact/license checks and all 7 README tests. - `npm run test:local -- tests/conformance/readmeConsistency.test.ts` — all 7 passed. - `website/.venv/Scripts/python.exe -B scripts/website.py translations check --language sq --strict` — passed, 1,727/1,727 translated, zero missing/fuzzy messages. - `website/.venv/Scripts/python.exe -B scripts/website.py translations check` — passed catalog/placeholder/markup validation: all 20 translated catalogs complete; Malayalam intentionally 0/1,727. - `website/.venv/Scripts/python.exe -B scripts/website.py sync --check` — passed, zero drift. - `website/.venv/Scripts/python.exe -B scripts/website.py check` — **not fully passing on this host**. Build/link/metadata phases passed: 418 reading pages in 22 languages, 420 HTML pages verified, 29,949 local references, SVG XML, example ZIP, sitemap/SEO, and publisher checks. Of 22 regression tests, 18 passed and 4 errored while creating directory symlinks because Windows denied the required privilege (`WinError 1314`). No tests were skipped or weakened to hide this limitation. The regression phase took 224.224 seconds; this is not a performance comparison. - Parsed PO comparison preserved 36,127 unchanged-key translations and their reviewer comments, including 898 nonempty reviewer comments. Existing translated catalogs have only seven protected-placeholder migrations and the formula exclusion beyond regenerated source references. - Rendered root/Albanian homepage and Albanian FAQ checks confirmed Malayalam precedes Shqip, Albanian alternate metadata is present, Malayalam alternate metadata is excluded, and the Malayalam homepage has `noindex, follow`. - `git diff --cached --check` — passed before committing; no unresolved conflicts remained. Local prerequisites were refreshed with `npm ci`. Matching-version Windows native artifacts were restored from the published `rea-agents@6.5.0` tarball using the documented source-checkout procedure, with the addon digest verified; these files remain ignored and uncommitted. This does not establish analysis-provider behavior. ## Review follow-up and remaining gaps Earlier fixes in `756bfb43b` and `e0f3309c7` remain intact: archive extraction and checkout context; memory-store, spawn-angle, panning-factor and multiplication wording; protected commands/methods/paths/formula; Albanian showcase routes; UTF-8 fixture I/O; verification terminology; IPC handlers; copy-action labels; double-precision constants; assembly nouns; and TH04 bullet/direction wording. Regression coverage includes SVG ancestor exclusions, literal preservation in every edition, and Albanian copy-button accessibility labels. Historical validation before the main merge included a fully passing website check and headless Edge/Playwright checks of the Albanian homepage and FAQ at 390px/1440px, root and `/rea/` prefixes, theme switching, and FAQ interactions. Those browser checks were **not rerun on the merged result**. Earlier negative regressions demonstrated the SVG exclusion and copy-label failures and simulated cp1252 fixture failure; no native cp1252 OS run is claimed. AI-assisted translation drafting received technical corrections. Native Albanian verification of the initial translation was previously confirmed by the author; separate native-speaker re-review of later editorial changes is not established. The human owner approved the reviewed merge for commit and push in this session. No real analysis providers were exercised. The full npm suite and `check:pr` were not run. Full website regression success remains unverified on a symlink-capable host. ## Compatibility, safety, and release - Additive locale; no breaking change or migration. - Commands, code, URLs, paths, placeholders, recorded values, and Evidence remain protected. - No runtime translation API; builds remain offline after dependencies are installed. Initial drafting used a public translation service for public documentation text. - Localized HTML remains generated in ignored `_site/`. ## Author readiness Human owner: @pirrozani - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. ## Before merge - [ ] This PR addresses a concrete problem or an agreed enhancement. - [ ] Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff. - [ ] The PR has one focused outcome and the title follows `type(scope): outcome`. - [ ] Related issue is linked, or the reason for not linking one is stated above. - [ ] Tests cover changed observable behavior and meaningful failure paths. - [ ] Owning docs, contracts, and generated metadata are updated where needed. - [ ] User-visible CLI/MCP changes include representative output. - [ ] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#6108
No description provided.