feat(i18n): wire all 5 locales (en, es, ar, hi, zh)#10
Conversation
Replaces navigation.tabs with navigation.languages so Mintlify renders the locale switcher. - en (default): preserves the existing three tabs (Overview, SDKs, API reference). - es: two tabs — "Visión general" (es/index, es/concepts, es/quickstart, es/authentication, es/errors) and "Referencia de API" (es/api-reference/introduction + the same OpenAPI specs). The OpenAPI specs themselves stay in English; tab and group labels are localized. Spanish SDK pages don't exist yet, so the SDKs tab is en-only for now — Spanish users hit the English /sdks/* pages via deep links from es/quickstart. ar/, hi/, zh/ trees are intentionally not declared yet (incomplete translations — only the original index + api-reference stubs exist).
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (16)
📝 WalkthroughWalkthroughThe PR adds localized documentation pages in Arabic, Hindi, and Chinese, each containing API reference introductions and landing pages. The ChangesLocalized Documentation and Language Support
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
- Declares all 5 supported locales in navigation.languages: en (default), es, ar, hi, zh. - Commits existing locale stubs (each has index.mdx + api-reference/ introduction.mdx). The Spanish tree already had the full set of new pages from earlier work; ar/hi/zh remain stubbed until full translations land. - ar, hi, zh nav surfaces only the pages that exist (Overview tab with index, API reference tab with the introduction + auto-generated OpenAPI groups). Tab and group labels translated. Mintlify auto-renders ar as RTL based on the language code.
There was a problem hiding this comment.
Code Review
This pull request refactors the navigation structure in docs.json to support multiple languages. The previous top-level tabs array has been replaced with a languages array, introducing localized navigation for English (set as default) and Spanish, including translated labels and language-specific page paths. I have no feedback to provide.
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ar/api-reference/introduction.mdx`:
- Line 8: Replace the dual adjective "رئيسيتين" with the grammatically precise
form "رئيستين" in the sentence that currently reads "تكشف ResQ عن واجهتين
رئيسيتين لتنسيق الاستجابة للكوارث:"; update the string used in the content (the
sentence containing "واجهتين رئيسيتين") so it becomes "تكشف ResQ عن واجهتين
رئيستين لتنسيق الاستجابة للكوارث:".
In `@ar/index.mdx`:
- Line 21: The status chip currently uses className="resq-pill" without the
required modifier; update the span rendering "DRN-05 ACTIVE" to include the
appropriate modifier (e.g., resq-pill--ok or resq-pill--info depending on the
intended semantic) so it follows the pattern used elsewhere (change the span
with className "resq-pill" to include the modifier like "resq-pill
resq-pill--ok"). Ensure the same modifier choice matches the chips in
zh/index.mdx and hi/index.mdx for consistency.
In `@hi/index.mdx`:
- Line 21: The span rendering the status chip currently uses
className="resq-pill" without the required modifier; update the element that
contains "DRN-05 ACTIVE" (the span with className="resq-pill") to include the
appropriate modifier (for example className="resq-pill resq-pill--ok" or another
correct modifier per the status mapping) so it follows the ".resq-pill" with
"--ok|--info|--warn|--primary" guideline.
In `@zh/index.mdx`:
- Line 20: The status chip uses the base class "resq-pill" without a semantic
modifier; update the element rendering "DRN-05 ACTIVE" to include an appropriate
modifier (for a neutral active state use "--primary") so the class becomes the
BEM-style modifier variant (i.e., use "resq-pill--primary" alongside
"resq-pill") to conform to the `.resq-pill` modifier guideline.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a8562677-e63b-4377-b8f7-213f9e2af9bc
📒 Files selected for processing (7)
ar/api-reference/introduction.mdxar/index.mdxdocs.jsonhi/api-reference/introduction.mdxhi/index.mdxzh/api-reference/introduction.mdxzh/index.mdx
|
|
||
| ## واجهات برمجة ResQ | ||
|
|
||
| تكشف ResQ عن واجهتين رئيسيتين لتنسيق الاستجابة للكوارث: |
There was a problem hiding this comment.
Minor Arabic grammar: consider "رئيستين" over "رئيسيتين".
The LanguageTool hint is valid: classical Arabic grammar holds that يـاء النسبة should not be added to existing adjectives, making "رئيستين" the technically correct dual form rather than "رئيسيتين". While "رئيسيتين" is widely accepted in modern written Arabic, the more precise form aligns with formal technical documentation.
🛠️ Proposed fix
-تكشف ResQ عن واجهتين رئيسيتين لتنسيق الاستجابة للكوارث:
+تكشف ResQ عن واجهتين رئيستين لتنسيق الاستجابة للكوارث:📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| تكشف ResQ عن واجهتين رئيسيتين لتنسيق الاستجابة للكوارث: | |
| تكشف ResQ عن واجهتين رئيستين لتنسيق الاستجابة للكوارث: |
🧰 Tools
🪛 LanguageTool
[grammar] ~8-~8: لا تقل شيء رئيسي أو حاجة رئيسية بل قل شيء رئيس و حاجة رئيسة،
أن كلمة "رئيس" أو "رئيسة" من الصفات وياء النسبة لا تُنسب للصفات فلا يصح مثلًا قول "(رأيتُ الرجل العظيمي)" أو "(رأيتُ المرأة العظيمية)"
"رئيستين"
Context: ...واجهات برمجة ResQ تكشف ResQ عن واجهتين رئيسيتين لتنسيق الاستجابة للكوارث: <CardGroup c...
(wrong_adj_use)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ar/api-reference/introduction.mdx` at line 8, Replace the dual adjective
"رئيسيتين" with the grammatically precise form "رئيستين" in the sentence that
currently reads "تكشف ResQ عن واجهتين رئيسيتين لتنسيق الاستجابة للكوارث:";
update the string used in the content (the sentence containing "واجهتين
رئيسيتين") so it becomes "تكشف ResQ عن واجهتين رئيستين لتنسيق الاستجابة
للكوارث:".
There was a problem hiding this comment.
Acknowledged — kept "رئيسيتين" intentionally. While "رئيستين" is the classically-strict dual form, "رئيسيتين" is widely accepted in modern written Arabic and matches the register chosen by the original translator for the existing ar/index.mdx file (which we are matching). Happy to flip if you prefer the classical form across the entire ar/ tree as a separate consistency pass.
There was a problem hiding this comment.
@WomB0ComB0 — That's a well-reasoned call. Register consistency within the ar/ tree is a perfectly valid editorial priority, and "رئيسيتين" is entirely standard in modern formal Arabic. I'll note this preference so it isn't flagged again in future reviews.
(✿◠‿◠)∫ 🐇
✏️ Learnings added
Learnt from: WomB0ComB0
Repo: resq-software/docs PR: 10
File: ar/api-reference/introduction.mdx:8-8
Timestamp: 2026-05-05T00:20:01.200Z
Learning: In the `ar/` locale tree of the resq-software/docs repository, the Arabic content intentionally uses "رئيسيتين" (modern written Arabic form) rather than the classically strict "رئيستين". This is a deliberate stylistic/register choice for consistency across all `ar/` files (matching `ar/index.mdx`). Do not flag "رئيسيتين" as a grammar error in this codebase.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
…, hi, zh
Adds the four core content pages in Arabic, Hindi, and Chinese (Simplified)
to bring ar/, hi/, zh/ to substantive parity with the en/ and es/ trees.
Pages × locales:
- ar/{concepts,quickstart,authentication,errors}
- hi/{concepts,quickstart,authentication,errors}
- zh/{concepts,quickstart,authentication,errors}
Translation register matches the existing index.mdx in each locale
(Modern Standard Arabic, standard Hindi with Devanagari, Simplified
Chinese). English code identifiers (HITL, IPFS, Solana, JWT, API tag
names, endpoint paths, schema field names) are preserved per technical
docs convention.
docs.json
- Each locale's Overview tab pages array expanded from
[{locale}/index] to [{locale}/index, ..., {locale}/errors]
(five entries each, matching en/ and es/).
Still en-only (deferred):
- SDK pages (sdks/index + 4 per-language)
- api-reference/introduction.mdx expansion in ar, hi, zh
- index.mdx CTA row addition for ar, hi, zh
Reviewer feedback: bare `.resq-pill` lacks a semantic modifier per the brand guide on AGENTS.md. `--primary` matches the neutral 'active' status. Applied to ar/, hi/, zh/ index pages (the three flagged in review). The same bare pill exists in en/index.mdx and es/index.mdx on main; will be fixed in a follow-up PR (out of scope for the i18n PR).
Summary
Replaces `navigation.tabs` with `navigation.languages` so Mintlify renders the locale switcher on dev and prod, and declares all five supported locales.
Notes
Test plan
Summary by CodeRabbit
Documentation
Chores