docs: add Urdu (ur-pk) README translation with RTL support#3387
Conversation
📝 WalkthroughWalkthroughThis PR adds Urdu (Pakistan) language support to the OpenHuman repository by creating a comprehensive Urdu README and updating language selector links across all existing README files in English, German, Japanese, Korean, and Chinese to include the new Urdu option. ChangesUrdu Documentation Localization
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related issues
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@README.ur-pk.md`:
- Around line 63-65: The blockquote in README.ur-pk.md is split by a blank line
(MD028) between the lines starting "ابتدائی آزمائشی نسخہ" and "مقامی + منظم
خدمات:"; remove the empty line so the two quoted lines remain contiguous in the
same blockquote (i.e., ensure the "ابتدائی آزمائشی نسخہ" line and the "مقامی +
منظم خدمات:" line are directly adjacent with no blank line between them).
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: d3717699-29fe-4bb8-a43f-4f6d2912782c
📒 Files selected for processing (6)
README.de.mdREADME.ja-JP.mdREADME.ko.mdREADME.mdREADME.ur-pk.mdREADME.zh-CN.md
| > **ابتدائی آزمائشی نسخہ**: فعال ترقی جاری ہے، بے ضابطگیوں کی توقع کریں۔ | ||
|
|
||
| > **مقامی + منظم خدمات:** OpenHuman اپنا Memory Tree، Obsidian-style Markdown والٹ، ورک اسپیس کنفیگریشن، اور مقامی رن ٹائم اسٹیٹ آپ کی مشین پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی میزبان خدمات استعمال کرتا ہے اکاؤنٹ سائن ان، ماڈل روٹنگ، ویب سرچ پروکسی، اور Composio کنیکٹر پرت کے ذریعے منظم انضمام/OAuth فلو کے لیے۔ اگر آپ اپنا ماڈل، سرچ، یا Composio اسناد لانا چاہتے ہیں تو اپنی مرضی کے مطابق/مقامی سیٹنگز منتخب کریں؛ کچھ ریئل ٹائم ٹرگرز اور میزبان فیچرز اب بھی منظم بیک اینڈ کی ضرورت رکھتے ہیں۔ |
There was a problem hiding this comment.
Remove the blank line inside the blockquote to avoid markdownlint MD028.
Line 64 breaks the same blockquote into two blocks; keep the quote lines contiguous.
Suggested fix
> **ابتدائی آزمائشی نسخہ**: فعال ترقی جاری ہے، بے ضابطگیوں کی توقع کریں۔
-
> **مقامی + منظم خدمات:** OpenHuman اپنا Memory Tree، Obsidian-style Markdown والٹ، ورک اسپیس کنفیگریشن، اور مقامی رن ٹائم اسٹیٹ آپ کی مشین پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی میزبان خدمات استعمال کرتا ہے اکاؤنٹ سائن ان، ماڈل روٹنگ، ویب سرچ پروکسی، اور Composio کنیکٹر پرت کے ذریعے منظم انضمام/OAuth فلو کے لیے۔ اگر آپ اپنا ماڈل، سرچ، یا Composio اسناد لانا چاہتے ہیں تو اپنی مرضی کے مطابق/مقامی سیٹنگز منتخب کریں؛ کچھ ریئل ٹائم ٹرگرز اور میزبان فیچرز اب بھی منظم بیک اینڈ کی ضرورت رکھتے ہیں۔📝 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.
| > **ابتدائی آزمائشی نسخہ**: فعال ترقی جاری ہے، بے ضابطگیوں کی توقع کریں۔ | |
| > **مقامی + منظم خدمات:** OpenHuman اپنا Memory Tree، Obsidian-style Markdown والٹ، ورک اسپیس کنفیگریشن، اور مقامی رن ٹائم اسٹیٹ آپ کی مشین پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی میزبان خدمات استعمال کرتا ہے اکاؤنٹ سائن ان، ماڈل روٹنگ، ویب سرچ پروکسی، اور Composio کنیکٹر پرت کے ذریعے منظم انضمام/OAuth فلو کے لیے۔ اگر آپ اپنا ماڈل، سرچ، یا Composio اسناد لانا چاہتے ہیں تو اپنی مرضی کے مطابق/مقامی سیٹنگز منتخب کریں؛ کچھ ریئل ٹائم ٹرگرز اور میزبان فیچرز اب بھی منظم بیک اینڈ کی ضرورت رکھتے ہیں۔ | |
| > **ابتدائی آزمائشی نسخہ**: فعال ترقی جاری ہے، بے ضابطگیوں کی توقع کریں۔ | |
| > **مقامی + منظم خدمات:** OpenHuman اپنا Memory Tree، Obsidian-style Markdown والٹ، ورک اسپیس کنفیگریشن، اور مقامی رن ٹائم اسٹیٹ آپ کی مشین پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی میزبان خدمات استعمال کرتا ہے اکاؤنٹ سائن ان، ماڈل روٹنگ، ویب سرچ پروکسی، اور Composio کنیکٹر پرت کے ذریعے منظم انضمام/OAuth فلو کے لیے۔ اگر آپ اپنا ماڈل، سرچ، یا Composio اسناد لانا چاہتے ہیں تو اپنی مرضی کے مطابق/مقامی سیٹنگز منتخب کریں؛ کچھ ریئل ٹائم ٹرگرز اور میزبان فیچرز اب بھی منظم بیک اینڈ کی ضرورت رکھتے ہیں۔ |
🧰 Tools
🪛 LanguageTool
[whitespace] ~63-~63: آیا منظور شما «"نسخه"» است؟
Context: ...r="rtl" lang="ur"> > ابتدائی آزمائشی نسخہ: فعال ترقی جاری ہے، بے ضابطگیوں کی تو...
(ReplaceLettersInSameLangs)
[whitespace] ~63-~63: آیا منظور شما «"هے"» است؟
Context: ...ابتدائی آزمائشی نسخہ*: فعال ترقی جاری ہے، بے ضابطگیوں کی توقع کریں۔ > **مقامی +...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"هے۔"» است؟
Context: ... رن ٹائم اسٹیٹ آپ کی مشین پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی م...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"شده"» است؟
Context: ...م اسٹیٹ آپ کی مشین پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی میزبان خ...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"تجربه"» است؟
Context: ...پ کی مشین پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی میزبان خدمات استعما...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"بهی"» است؟
Context: ... پر محفوظ کرتا ہے۔ طے شدہ منظم تجربہ اب بھی OpenHuman کی میزبان خدمات استعمال کرتا ...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"هے"» است؟
Context: ... OpenHuman کی میزبان خدمات استعمال کرتا ہے اکاؤنٹ سائن ان، ماڈل روٹنگ، ویب سرچ پرو...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"چاهتے"» است؟
Context: ... اپنا ماڈل، سرچ، یا Composio اسناد لانا چاہتے ہیں تو اپنی مرضی کے مطابق/مقامی سیٹنگز ...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"هیں"» است؟
Context: ...ماڈل، سرچ، یا Composio اسناد لانا چاہتے ہیں تو اپنی مرضی کے مطابق/مقامی سیٹنگز منتخ...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"کچه"» است؟
Context: ... مرضی کے مطابق/مقامی سیٹنگز منتخب کریں؛ کچھ ریئل ٹائم ٹرگرز اور میزبان فیچرز اب بھی...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"بهی"» است؟
Context: ...کچھ ریئل ٹائم ٹرگرز اور میزبان فیچرز اب بھی منظم بیک اینڈ کی ضرورت رکھتے ہیں۔ # ان...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"رکهتے"» است؟
Context: ...بان فیچرز اب بھی منظم بیک اینڈ کی ضرورت رکھتے ہیں۔ # انسٹال کریں انسٹالر [tinyhuman...
(ReplaceLettersInSameLangs)
[whitespace] ~65-~65: آیا منظور شما «"هیں۔"» است؟
Context: ...چرز اب بھی منظم بیک اینڈ کی ضرورت رکھتے ہیں۔ # انسٹال کریں انسٹالر [tinyhumans.ai/...
(ReplaceLettersInSameLangs)
🪛 markdownlint-cli2 (0.22.1)
[warning] 64-64: Blank line inside blockquote
(MD028, no-blanks-blockquote)
🤖 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 `@README.ur-pk.md` around lines 63 - 65, The blockquote in README.ur-pk.md is
split by a blank line (MD028) between the lines starting "ابتدائی آزمائشی نسخہ"
and "مقامی + منظم خدمات:"; remove the empty line so the two quoted lines remain
contiguous in the same blockquote (i.e., ensure the "ابتدائی آزمائشی نسخہ" line
and the "مقامی + منظم خدمات:" line are directly adjacent with no blank line
between them).
There was a problem hiding this comment.
This blank because of our language style
There was a problem hiding this comment.
@AMIK-coorporations, understood — keeping the blank line as a deliberate stylistic separation between the two notes is perfectly fine. Just be aware that markdownlint will continue to flag it as MD028. If you'd like to suppress that warning, you can add a .markdownlintrc or inline comment to ignore it, but it's entirely optional for a documentation-only file.
(ᵔᴥᵔ)
🧠 Learnings used
Learnt from: CR
Repo: tinyhumansai/openhuman PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-05-05T18:16:07.997Z
Learning: Always create PRs against **[tinyhumansai/openhuman](https://github.com/tinyhumansai/openhuman)** ([pull requests](https://github.com/tinyhumansai/openhuman/pulls)), not only a fork's default remote. Use [`.github/PULL_REQUEST_TEMPLATE.md`](.github/PULL_REQUEST_TEMPLATE.md); AI-generated PR text should follow its sections and checklist.
Learnt from: senamakel
Repo: tinyhumansai/openhuman PR: 2208
File: app/src/lib/i18n/chunks/ar-3.ts:204-206
Timestamp: 2026-05-20T04:29:21.052Z
Learning: In the tinyhumansai/openhuman repository, new i18n translation keys added to non-English locale chunks (e.g., ar-3.ts, bn-3.ts, es-3.ts, etc.) intentionally use English string values as placeholders until a native-speaker review can be completed. This is an accepted pattern; do not flag untranslated strings in non-English locale files as blocking issues — they are deferred to follow-up PRs by design.
Learnt from: senamakel
Repo: tinyhumansai/openhuman PR: 2208
File: app/src/lib/i18n/chunks/id-3.ts:211-214
Timestamp: 2026-05-20T04:30:03.658Z
Learning: In the tinyhumansai/openhuman repository, new i18n translation keys added to non-English locale chunks (e.g., id-3.ts, ar-1.ts, bn-3.ts, es-3.ts, fr-3.ts, hi-3.ts, it-3.ts, ko-3.ts, pt-3.ts, ru-3.ts, zh-CN-3.ts) are intentionally shipped with English fallback values first. Native-speaker translation is handled separately as a follow-up and is explicitly out of scope for the originating PR. Do not flag untranslated non-English locale entries as issues in PRs for this project.
Learnt from: senamakel
Repo: tinyhumansai/openhuman PR: 2208
File: app/src/lib/i18n/chunks/ar-3.ts:207-210
Timestamp: 2026-05-20T04:29:49.863Z
Learning: In the tinyhumansai/openhuman repository, new i18n keys added to non-English locale chunks (e.g., ar-3.ts, bn-3.ts, es-3.ts, fr-3.ts, hi-3.ts, etc.) intentionally use English fallback strings when native-speaker translations are not yet available. Translating non-English locales requires native-speaker review and is deferred to follow-up PRs; do not flag untranslated non-English locale entries as issues during PR review.
Learnt from: CR
Repo: tinyhumansai/openhuman PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-06-03T03:23:47.354Z
Learning: Applies to src/openhuman/about_app/**/*.rs : Update `src/openhuman/about_app/` (capability catalog) when a change adds, removes, renames, relocates, or materially changes a user-facing feature.
Learnt from: senamakel
Repo: tinyhumansai/openhuman PR: 2208
File: app/src/lib/i18n/chunks/hi-3.ts:210-213
Timestamp: 2026-05-20T04:29:59.550Z
Learning: In the `tinyhumansai/openhuman` repository, new i18n keys added to non-English locale chunks (e.g., `hi-3.ts`, `ar-3.ts`, `bn-3.ts`, etc.) intentionally use English fallback strings when the corresponding native translations are not yet available. Native-speaker review is handled separately as a follow-up and is considered out of scope for the PR that introduces the feature.
Learnt from: senamakel
Repo: tinyhumansai/openhuman PR: 2208
File: app/src/lib/i18n/chunks/hi-1.ts:83-84
Timestamp: 2026-05-20T04:29:31.004Z
Learning: In the `tinyhumansai/openhuman` repository, new i18n translation keys added to non-English locale chunk files (e.g., `app/src/lib/i18n/chunks/hi-1.ts`, `ar-1.ts`, `bn-1.ts`, etc.) intentionally use English string values as fallbacks. Actual non-English translations require native-speaker review and are handled in separate follow-up PRs. Do not flag untranslated non-English locale strings as issues in this repo.
Learnt from: CR
Repo: tinyhumansai/openhuman PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-06-03T03:23:47.354Z
Learning: Applies to src/openhuman/about_app/**/*.rs : When a change adds, removes, renames, relocates, or materially changes a user-facing feature, update `src/openhuman/about_app/` in the same work so the runtime capability catalog remains the source of truth
Learnt from: CR
Repo: tinyhumansai/openhuman PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-06-03T03:23:47.354Z
Learning: Applies to src/openhuman/about_app/**/*.rs : When a change adds, removes, renames, relocates, or materially changes a user-facing feature, update src/openhuman/about_app/ in the same work so the runtime capability catalog remains the source of truth
Learnt from: CR
Repo: tinyhumansai/openhuman PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-06-03T05:05:50.773Z
Learning: Applies to src/openhuman/about_app/**/*.rs : When a change adds, removes, renames, relocates, or materially changes a user-facing feature, update `src/openhuman/about_app/` in the same work so the capability catalog remains the source of truth
Learnt from: senamakel
Repo: tinyhumansai/openhuman PR: 2208
File: app/src/lib/i18n/chunks/bn-3.ts:208-210
Timestamp: 2026-05-20T04:29:23.910Z
Learning: In the tinyhumansai/openhuman repository, new i18n keys added to non-English locale chunks (e.g. bn-3.ts, ar-3.ts, es-3.ts, etc.) intentionally use English fallback strings when native-speaker translations are not yet available. This is a deliberate project convention; do not flag untranslated strings in non-English locale chunk files as issues, as translations are tracked as separate follow-up work requiring native-speaker review.
Learnt from: senamakel
Repo: tinyhumansai/openhuman PR: 1991
File: docs/wechat-message-scraping-issue.md:29-29
Timestamp: 2026-05-17T09:24:59.313Z
Learning: When reviewing Markdown (.md), do not treat lowercase ".github" as a capitalization mistake when it appears in file path references inside links or parentheses (e.g., ".github/workflows/foo.yml"). Treat the ".github" directory name as a case-sensitive path convention; suggesting ".GitHub" would break links on case-sensitive filesystems. Only flag casing when it affects actual prose text (e.g., incorrectly written “GitHub”) rather than filesystem paths.
Summary
<div dir="rtl" lang="ur">/<div dir="ltr">switching for mixed Urdu/English content on GitHubاردوshield badge to all 5 existing README translations for consistent cross-linkingProblem
README.ur-pk.mdbut the shield badges section in all other READMEs was missing the Urdu badge, creating an inconsistencySolution
README.ur-pk.mdwith complete Urdu translation following the same structure as other translations<div dir="rtl" lang="ur">blocks for Urdu text and<div dir="ltr">blocks for code/badges/images — the standard approach for RTL rendering on GitHublang="ur"attribute to all RTL divs for proper Urdu font selection (Nastaliq/Naskh)اردو) to the badges section of README.md, README.zh-CN.md, README.ja-JP.md, README.ko.md, and README.de.mdSubmission Checklist
N/A: docs-only change, no code modifiedN/A: docs-only changeN/A: docs-only changeN/A: docs-only changeN/A: no code changesN/A: docs-only changeCloses #NNNImpact
Related
AI Authored PR Metadata (required for Codex/Linear PRs)
N/A(human-initiated contribution)N/AValidation Run
pnpm format:check—N/A: only Markdown files changed, no codeBehavior Changes
Summary by CodeRabbit