Skip to content

feat(i18n): wire all 5 locales (en, es, ar, hi, zh)#10

Merged
WomB0ComB0 merged 4 commits intomainfrom
feat/i18n-locales
May 5, 2026
Merged

feat(i18n): wire all 5 locales (en, es, ar, hi, zh)#10
WomB0ComB0 merged 4 commits intomainfrom
feat/i18n-locales

Conversation

@WomB0ComB0
Copy link
Copy Markdown
Member

@WomB0ComB0 WomB0ComB0 commented May 4, 2026

Summary

Replaces `navigation.tabs` with `navigation.languages` so Mintlify renders the locale switcher on dev and prod, and declares all five supported locales.

Locale Code Coverage Direction
English `en` (default) Full: 3 tabs (Overview, SDKs, API reference) LTR
Spanish `es` Substantial: 2 tabs, 5 translated content pages + retranslated API ref LTR
Arabic `ar` Stub: index + API ref intro RTL (auto)
Hindi `hi` Stub: index + API ref intro LTR
Chinese `zh` Stub: index + API ref intro LTR

Notes

  • ar/, hi/, zh/ trees were untracked in working directory; this PR commits them.
  • ar/hi/zh nav surfaces only the pages that exist (avoids 404s). Adding more pages later is additive.
  • OpenAPI specs stay in English; tab/group labels are localized per locale.
  • Spanish SDK pages don't exist yet — SDKs tab is en-only.

Test plan

  • Locale switcher visible in navbar on `mintlify dev`
  • Switching to each of the 5 locales loads the corresponding index
  • Arabic renders RTL
  • OpenAPI groups render under all locales
  • No 404s in any locale's navigation

Summary by CodeRabbit

  • Documentation

    • Added complete documentation in Arabic, Hindi, and Chinese, including landing pages and API reference guides for Infrastructure and Coordination APIs.
  • Chores

    • Expanded documentation platform to support Spanish, Arabic, Hindi, and Chinese languages with localized navigation and API specifications.

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).
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 4, 2026

Warning

Rate limit exceeded

@WomB0ComB0 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 33 minutes and 44 seconds before requesting another review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ff0a9ba1-ae5b-47dc-9d9a-f25c8de78139

📥 Commits

Reviewing files that changed from the base of the PR and between b4084c0 and c13e40b.

📒 Files selected for processing (16)
  • ar/authentication.mdx
  • ar/concepts.mdx
  • ar/errors.mdx
  • ar/index.mdx
  • ar/quickstart.mdx
  • docs.json
  • hi/authentication.mdx
  • hi/concepts.mdx
  • hi/errors.mdx
  • hi/index.mdx
  • hi/quickstart.mdx
  • zh/authentication.mdx
  • zh/concepts.mdx
  • zh/errors.mdx
  • zh/index.mdx
  • zh/quickstart.mdx
📝 Walkthrough

Walkthrough

The PR adds localized documentation pages in Arabic, Hindi, and Chinese, each containing API reference introductions and landing pages. The docs.json configuration is updated to expand language support beyond English, with each new language linked to the shared OpenAPI specifications.

Changes

Localized Documentation and Language Support

Layer / File(s) Summary
Configuration
docs.json
Navigation structure expanded to support four new languages (es, ar, hi, zh) alongside English, each with localized page tabs and API reference sections pointing to shared OpenAPI specs.
API Reference Introductions
ar/api-reference/introduction.mdx, hi/api-reference/introduction.mdx, zh/api-reference/introduction.mdx
Three language variants of API documentation introduce Infrastructure API (Rust/Axum) and Coordination API (TypeScript/Elysia) with tag-based scope tables defining capabilities (incidents, evidence, blockchain, solana, auth, Fleet, Intelligence, Storage, Simulation, Admin, Observability).
Landing Pages
ar/index.mdx, hi/index.mdx, zh/index.mdx
Three language variants of the documentation homepage with hero banner, operational status indicators, platform API cards, SDK/integration cards for multiple languages, core capability summaries, and ecosystem resource links.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • resq-software/docs#6: Updates API introduction content and modifies docs.json language/SDK navigation structure, overlapping with this PR's localization and docs.json changes.
  • resq-software/docs#1: Edits api-reference/introduction.mdx and docs.json in parallel with this PR's localized documentation additions and configuration expansion.

Poem

🐰 Across the globe, our docs now hop,
Arabic, Hindi, Chinese—won't stop!
With APIs clear in each tongue and rhyme,
ResQ's knowledge blooms with space and time.

🚥 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 accurately summarizes the main change: adding internationalization support for five locales (en, es, ar, hi, zh) by wiring them into the navigation configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/i18n-locales

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 and usage tips.

@github-actions github-actions Bot added area:content MDX/MD documentation content area:meta Repo meta — docs.json, README, etc. labels May 4, 2026
- 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.
@github-actions github-actions Bot added the area:i18n Localizations (ar, es, hi, zh) label May 4, 2026
@WomB0ComB0 WomB0ComB0 changed the title feat(i18n): wire en + es locales in navigation.languages feat(i18n): wire all 5 locales (en, es, ar, hi, zh) May 4, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between 085b884 and b4084c0.

📒 Files selected for processing (7)
  • ar/api-reference/introduction.mdx
  • ar/index.mdx
  • docs.json
  • hi/api-reference/introduction.mdx
  • hi/index.mdx
  • zh/api-reference/introduction.mdx
  • zh/index.mdx


## واجهات برمجة ResQ

تكشف ResQ عن واجهتين رئيسيتين لتنسيق الاستجابة للكوارث:
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot May 4, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

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.

Suggested change
تكشف 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 عن واجهتين رئيستين لتنسيق الاستجابة
للكوارث:".

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@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.

Comment thread ar/index.mdx Outdated
Comment thread hi/index.mdx Outdated
Comment thread zh/index.mdx Outdated
WomB0ComB0 added 2 commits May 4, 2026 20:14
…, 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).
@WomB0ComB0 WomB0ComB0 merged commit 81b0305 into main May 5, 2026
13 checks passed
@WomB0ComB0 WomB0ComB0 deleted the feat/i18n-locales branch May 5, 2026 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:content MDX/MD documentation content area:i18n Localizations (ar, es, hi, zh) area:meta Repo meta — docs.json, README, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant