Skip to content

feat: added Kurdish Sorani (ckb-IQ) localization#3248

Open
ProCraftKRD wants to merge 1 commit into
amruthpillai:mainfrom
ProCraftKRD:kurdish-localization
Open

feat: added Kurdish Sorani (ckb-IQ) localization#3248
ProCraftKRD wants to merge 1 commit into
amruthpillai:mainfrom
ProCraftKRD:kurdish-localization

Conversation

@ProCraftKRD

@ProCraftKRD ProCraftKRD commented Jul 10, 2026

Copy link
Copy Markdown

Here is the full localization for Kurdish Sorani (ckb-IQ).

I went through and added the translations into a new ckb-IQ.po file. To get everything wired up properly across the app, I also made a few necessary config updates:

  • Added ckb-IQ to the Lingui configuration and the locale schemas.

  • Updated all the existing .po files so "Kurdish Sorani" shows up correctly in the language switcher for users currently using other locales.

  • Updated localeMap and added a couple of quick tests in locale.test.ts to make sure isLocale recognizes the new code.

Summary by CodeRabbit

  • New Features

    • Added Kurdish Sorani as a selectable application language.
    • Added comprehensive Kurdish Sorani translations for the interface.
    • Added localized display names for Kurdish Sorani across supported languages.
    • Added support for Kurdish Sorani locale and script handling.
  • Tests

    • Added validation confirming Kurdish Sorani is recognized as a supported locale.

Copilot AI review requested due to automatic review settings July 10, 2026 16:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds the ckb-IQ Kurdish Sorani locale to shared validation, script selection, web registration, Lingui configuration, tests, and translation catalogs.

Changes

Kurdish Sorani localization

Layer / File(s) Summary
Locale schema and script support
packages/utils/src/locale.ts, packages/utils/src/locale.test.ts
Adds ckb-IQ to the locale schema, script selection, and validation tests.
Application registration and validation
apps/web/src/libs/locale.ts, apps/web/src/libs/locale.test.ts, apps/web/lingui.config.ts
Registers the locale in the web application and Lingui configuration, with matching validation coverage.
Translation catalogs
apps/web/locales/*.po
Adds the complete Kurdish Sorani catalog and localized “Kurdish Sorani” entries across existing catalogs.

Estimated code review effort: 3 (Moderate) | ~20 minutes

🚥 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 clearly describes the main change: adding Kurdish Sorani localization for ckb-IQ.
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.
✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

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 `@apps/web/locales/ckb-IQ.po`:
- Around line 1907-1909: Correct the corrupted gettext source-reference comments
in the locale file: update the reference for the “Filter by” entry associated
with `src/routes/dashboard/resumes/index.msgid` to use `index.tsx`, and update
the “Unarchive” entry associated with
`src/features/applications/components/application-detail-sheet.msgid` to use
`application-detail-sheet.tsx`.
- Around line 79-82: Fill the empty <2></2> span in the Kurdish Sorani FAQ
heading translation with the appropriate translation of “Questions,” preserving
all three translated words in the msgstr.

In `@apps/web/locales/uk-UA.po`:
- Around line 2473-2475: Replace the Latin C in the Ukrainian msgstr for
“Kurdish Sorani” with Cyrillic С, resulting in “Курдська Сорані”.

In `@apps/web/locales/vi-VN.po`:
- Around line 2473-2475: Update the Vietnamese translation for msgid "Kurdish
Sorani" in the locale catalog from "người Kurd Sorani" to the standard CLDR name
"Tiếng Kurd Sorani".
🪄 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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d3dcab7e-e67f-42e8-a6d3-12c96d1710e3

📥 Commits

Reviewing files that changed from the base of the PR and between 689e7e2 and 16d0c75.

📒 Files selected for processing (61)
  • apps/web/lingui.config.ts
  • apps/web/locales/af-ZA.po
  • apps/web/locales/am-ET.po
  • apps/web/locales/ar-SA.po
  • apps/web/locales/az-AZ.po
  • apps/web/locales/bg-BG.po
  • apps/web/locales/bn-BD.po
  • apps/web/locales/ca-ES.po
  • apps/web/locales/ckb-IQ.po
  • apps/web/locales/cs-CZ.po
  • apps/web/locales/da-DK.po
  • apps/web/locales/de-DE.po
  • apps/web/locales/el-GR.po
  • apps/web/locales/en-GB.po
  • apps/web/locales/en-US.po
  • apps/web/locales/es-ES.po
  • apps/web/locales/fa-IR.po
  • apps/web/locales/fi-FI.po
  • apps/web/locales/fr-FR.po
  • apps/web/locales/he-IL.po
  • apps/web/locales/hi-IN.po
  • apps/web/locales/hu-HU.po
  • apps/web/locales/id-ID.po
  • apps/web/locales/it-IT.po
  • apps/web/locales/ja-JP.po
  • apps/web/locales/km-KH.po
  • apps/web/locales/kn-IN.po
  • apps/web/locales/ko-KR.po
  • apps/web/locales/lt-LT.po
  • apps/web/locales/lv-LV.po
  • apps/web/locales/ml-IN.po
  • apps/web/locales/mr-IN.po
  • apps/web/locales/ms-MY.po
  • apps/web/locales/ne-NP.po
  • apps/web/locales/nl-NL.po
  • apps/web/locales/no-NO.po
  • apps/web/locales/or-IN.po
  • apps/web/locales/pl-PL.po
  • apps/web/locales/pt-BR.po
  • apps/web/locales/pt-PT.po
  • apps/web/locales/ro-RO.po
  • apps/web/locales/ru-RU.po
  • apps/web/locales/sk-SK.po
  • apps/web/locales/sl-SI.po
  • apps/web/locales/sq-AL.po
  • apps/web/locales/sr-SP.po
  • apps/web/locales/sv-SE.po
  • apps/web/locales/ta-IN.po
  • apps/web/locales/te-IN.po
  • apps/web/locales/th-TH.po
  • apps/web/locales/tr-TR.po
  • apps/web/locales/uk-UA.po
  • apps/web/locales/uz-UZ.po
  • apps/web/locales/vi-VN.po
  • apps/web/locales/zh-CN.po
  • apps/web/locales/zh-TW.po
  • apps/web/locales/zu-ZA.po
  • apps/web/src/libs/locale.test.ts
  • apps/web/src/libs/locale.ts
  • packages/utils/src/locale.test.ts
  • packages/utils/src/locale.ts

Comment on lines +79 to +82
#: src/routes/_home/-sections/faq.tsx
msgctxt "Home page FAQ section heading with each word visually separated into individual spans"
msgid "<0>Frequently</0><1>Asked</1><2>Questions</2>"
msgstr "<0>پرسیارە</0><1>باوەکان</1><2></2>"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Missing translation content in <2></2> tag.

The third span is empty, dropping the word "Questions" entirely from the translated FAQ heading — other locale catalogs (e.g. af-ZA, ar-SA) populate all three tags. This will render a visibly incomplete heading in the Kurdish Sorani UI.

🐛 Proposed fix
-msgstr "<0>پرسیارە</0><1>باوەکان</1><2></2>"
+msgstr "<0>پرسیارە</0><1>باوەکان</1><2>؟</2>"

(Use the appropriate Kurdish Sorani word/punctuation for "Questions" instead of an empty tag.)

🤖 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 `@apps/web/locales/ckb-IQ.po` around lines 79 - 82, Fill the empty <2></2> span
in the Kurdish Sorani FAQ heading translation with the appropriate translation
of “Questions,” preserving all three translated words in the msgstr.

Comment on lines +1907 to +1909
#: src/routes/dashboard/resumes/index.msgid
msgid "Filter by"
msgstr "پاڵاوتن بەپێی"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Corrupted source-reference comments (.msgid instead of .tsx).

Two #: reference comments point to non-existent files: src/routes/dashboard/resumes/index.msgid (should be index.tsx, matching the "Filter by" entry in other locales) and src/features/applications/components/application-detail-sheet.msgid (should be .tsx, matching the "Unarchive" entry elsewhere). These are metadata-only but broken source paths can confuse Crowdin/Lingui sync tooling that matches strings by source location.

🐛 Proposed fix
-#: src/routes/dashboard/resumes/index.msgid
+#: src/routes/dashboard/resumes/index.tsx
-#: src/features/applications/components/application-detail-sheet.msgid
+#: src/features/applications/components/application-detail-sheet.tsx

Also applies to: 4618-4621

🤖 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 `@apps/web/locales/ckb-IQ.po` around lines 1907 - 1909, Correct the corrupted
gettext source-reference comments in the locale file: update the reference for
the “Filter by” entry associated with `src/routes/dashboard/resumes/index.msgid`
to use `index.tsx`, and update the “Unarchive” entry associated with
`src/features/applications/components/application-detail-sheet.msgid` to use
`application-detail-sheet.tsx`.

Comment thread apps/web/locales/uk-UA.po
Comment on lines +2473 to +2475
#: src/libs/locale.ts
msgid "Kurdish Sorani"
msgstr "Курдська Cорані"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use Cyrillic С in the Ukrainian translation.

Line [2475] uses Latin C (U+0043) in Курдська Cорані. Replace it with Cyrillic С (U+0421): Курдська Сорані.

Proposed fix
-msgstr "Курдська Cорані"
+msgstr "Курдська Сорані"
📝 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
#: src/libs/locale.ts
msgid "Kurdish Sorani"
msgstr "Курдська Cорані"
#: src/libs/locale.ts
msgid "Kurdish Sorani"
msgstr "Курдська Сорані"
🤖 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 `@apps/web/locales/uk-UA.po` around lines 2473 - 2475, Replace the Latin C in
the Ukrainian msgstr for “Kurdish Sorani” with Cyrillic С, resulting in
“Курдська Сорані”.

Comment thread apps/web/locales/vi-VN.po
Comment on lines +2473 to +2475
#: src/libs/locale.ts
msgid "Kurdish Sorani"
msgstr "người Kurd Sorani"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Correct the Vietnamese language name.

Unicode CLDR uses Tiếng Kurd Sorani for this locale, but the catalog currently uses người Kurd Sorani, which is not the standard language display name. (unicode.org)

Proposed fix
 msgid "Kurdish Sorani"
-msgstr "người Kurd Sorani"
+msgstr "Tiếng Kurd Sorani"
📝 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
#: src/libs/locale.ts
msgid "Kurdish Sorani"
msgstr "người Kurd Sorani"
#: src/libs/locale.ts
msgid "Kurdish Sorani"
msgstr "Tiếng Kurd Sorani"
🤖 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 `@apps/web/locales/vi-VN.po` around lines 2473 - 2475, Update the Vietnamese
translation for msgid "Kurdish Sorani" in the locale catalog from "người Kurd
Sorani" to the standard CLDR name "Tiếng Kurd Sorani".

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.

2 participants