Skip to content

i18n(ar): revise every page's Arabic into Modern Standard Arabic - #36

Merged
eaitbrahim merged 2 commits into
mainfrom
i18n/ar-msa-revision
Aug 20, 2026
Merged

i18n(ar): revise every page's Arabic into Modern Standard Arabic#36
eaitbrahim merged 2 commits into
mainfrom
i18n/ar-msa-revision

Conversation

@eaitbrahim

Copy link
Copy Markdown
Contributor

Closes #34.

A revision pass over every Arabic string the site renders, against the English
source. English stays the source of truth — no rev or translatedFromRev
moves, because the English did not change. This is a language pass, not a
re-translation: meaning, structure, and the FR-9 honest framing are unchanged.

Defects fixed, beyond style

A factual bug. ui.ts notFound.body said «للموقع طبعتان» — two editions —
while the site ships three locales (en/ar/fr).

A broken pluraliser. ui.ts news.comments rendered «2 تعليقًا». It now
handles zero, singular, dual (تعليقان), the 3–10 form (تعليقات), and 11+.

Non-words and detached prefixes. «مزيدة» where the English reads claim;
«ب أصل» and «ب GitHub» with the prefix split off; «يُنفّده» for «يُنفّذه»; «صمتّ»
for «صمَت».

Mistranslations that changed meaning.

Was Read as Now
العجلات road wheels حزم wheel
كتبٍ رقيقة thin literary books دفاتر أوامر ضعيفة السيولة
الأسهم الورقية paper share certificates الأسهم في التداول التجريبي
قواطع سحب withdrawal breakers قواطع التراجُع (drawdown)
الكيل measuring / a measure عارضة السفينة
الاستفتاءات fatwa-seeking / referendum استطلاعات الرأي
فوريٌّ طويلٌ فقط does not parse الشراء الفوري فقط

The polls one matters more than its size: «استفتاء» reads as fatwa-seeking on a
site about Shariah compliance.

Agreement. «ثمانية عشر سكة» → «ثماني عشرة سكة»; the gender flips in
compliance.doesNot; a singular subject with a dual predicate in
install.notMeaning; «سيولتها» for a masculine منتج; the لا النافية للجنس
cases; and حيث used for non-locative "where/when".

Terminology

One rendering per term across all nine pages, glossed with the English where the
term is technical: fail-closed → يرفض عند الفشل · overfitting → الإفراط في
المُلاءمة · rule parameters → وسائط · paper trading → التداول التجريبي ·
drawdown → التراجُع · benchmark → مؤشّر مرجعي · order book → دفتر الأوامر ·
credentials → بيانات الاعتماد · stale → متقادم.

وسائط replaces «المعاملات», which reads as transactions on a trading site.

Verification

  • npx tsc --noEmit clean
  • npm run build green — 41 pages, RTL layout unchanged
  • Re-scan for detached prefixes, double spaces, and each of the old calques comes back empty

Not in scope

French was explicitly left alone.

🤖 Generated with Claude Code

https://claude.ai/code/session_01EURzVpngXDN1dk9c5FMFhW

eaitbrahim and others added 2 commits August 20, 2026 19:02
English stays the source of truth, so no rev or translatedFromRev moves —
this is a language pass over the existing translation, not a re-translation.

Beyond grammar, the read-through turned up defects worth naming:

- ui.ts notFound.body claimed the site has two editions; it ships three.
- ui.ts news.comments rendered "2 تعليقًا". Now handles zero, singular,
  dual, the 3-10 form, and 11+.
- Non-words and detached prefixes: «مزيدة» for "claim", «ب أصل»,
  «ب GitHub», «يُنفّده», «صمتّ».
- Mistranslations that changed meaning: Python wheels as road wheels,
  thin order books as thin literary books, "equities paper" as paper
  share certificates, drawdown as withdrawal, the ship's keel as
  measuring, and polls as «الاستفتاءات» — fatwa-seeking on a Shariah site.
- Agreement: «ثمانية عشر سكة» → «ثماني عشرة سكة», the gender flips in
  compliance.doesNot, singular subject with dual predicate in
  install.notMeaning, and the لا النافية للجنس cases.

Terminology is now one rendering per term across all nine pages:
fail-closed → يرفض عند الفشل, overfitting → الإفراط في المُلاءمة, rule
parameters → وسائط (was «المعاملات», which reads as *transactions* on a
trading site), paper → التداول التجريبي, benchmark → مؤشّر مرجعي.

Closes #34

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EURzVpngXDN1dk9c5FMFhW
main gained four content PRs (#30-#33) after this branch opened: the sharpened
honest-result paragraph, the improvement-work note, the paper-first install
section, and the paper-gate line on features. Their English and French come
across unchanged, with the rev bumps they carry.

Their new Arabic strings arrived written in the register this branch is
replacing, so they were revised on the way in:

- home.honest — the cross-verification paragraph now follows the new English
  and drops «تكوين»/«مقياس» for «تهيئة»/«مؤشّر مرجعي»; «وسنوافيكم» became
  «وسنوافيك», since the rest of the page addresses the reader in the singular.
- features.inert — the paper-gate line uses «نمط التداول التجريبي» rather than
  «الملف الورقي», «وسائط» rather than «معاملات», and «بيانات اعتماد» for
  credentials.
- install.paperFirst — same paper vocabulary, and «التوثيقات» for attestations
  rather than «الشهادات», which is the word this site uses for TLS/code-signing
  certificates two sections below.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EURzVpngXDN1dk9c5FMFhW
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
76.4% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@eaitbrahim
eaitbrahim merged commit 6fc83d0 into main Aug 20, 2026
2 of 3 checks passed
@eaitbrahim
eaitbrahim deleted the i18n/ar-msa-revision branch August 21, 2026 21:50
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.

i18n(ar): revise every page's Arabic into proper Modern Standard Arabic

1 participant