Skip to content

i18n: add Urdu (ur) translation skeleton#1355

Merged
annejan merged 3 commits into
mainfrom
i18n/add-ur
Apr 30, 2026
Merged

i18n: add Urdu (ur) translation skeleton#1355
annejan merged 3 commits into
mainfrom
i18n/add-ur

Conversation

@annejan
Copy link
Copy Markdown
Member

@annejan annejan commented Apr 30, 2026

Summary

Urdu (ur) — Pakistan's official, RTL, ~230M speakers. Currently no QtPass coverage.

Bootstrapped via the skeleton + qmake6/lupdate workflow documented in the qtpass-localization skill. The file contains all 304 source strings as type="unfinished" (302 empty + 2 <numerusform> plural skeletons), ready for Weblate translators to claim.

Uses the language-only ur code (no country suffix) so Qt's locale fallback covers all regional variants. Mirrors #1335 (fa skeleton) and #1350 (single-variant rename batch).

Test plan

  • make distclean && qmake6 picks up the new file: Updating 'localization/localization_ur.ts'... Found 304 source text(s).
  • <TS version="2.1" language="ur"> correct.
  • 304 entries, all type="unfinished" (302 empty + 2 numerusform).

Related

This was originally part of #1349 (6 languages bundled together). Splitting into 6 individual PRs to make autofix-bot review tractable per locale. Drafted while #1351 (bn) lands first.

Summary by CodeRabbit

  • New Features
    • Added comprehensive Urdu language support across the app (configuration, authentication, crypto flows, search, tray, user management, WebDAV/status messages).
    • Urdu translations are included but marked as unfinished, indicating they’re initial drafts pending finalization.

Pakistan's official, RTL, ~230M speakers.

Bootstrapped via the skeleton + qmake6/lupdate workflow documented
in the qtpass-localization skill. The file contains all 304 source
strings as type="unfinished" (302 empty + 2 numerusform plural
skeletons), ready for Weblate translators to claim.

Uses the language-only 'ur' code (no country suffix) so Qt's
locale fallback covers all regional variants. Mirrors the recent
fa skeleton (#1335) and ar_MA -> ar / single-variant rename PRs
(#1328, #1350).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 30, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: d7564776-9caf-409d-ba54-4ca897753f01

📥 Commits

Reviewing files that changed from the base of the PR and between 2b1ce15 and 81557b0.

📒 Files selected for processing (1)
  • localization/localization_ur.ts

📝 Walkthrough

Walkthrough

A new Urdu Qt translation resource file (localization/localization_ur.ts) is added containing UI translation contexts and entries. The build configuration (src/src.pro) is updated to include this file in the Qt TRANSLATIONS list so it is processed by the translation pipeline.

Changes

Cohort / File(s) Summary
Urdu Localization
localization/localization_ur.ts
Adds a complete Urdu .ts translation resource with contexts for configuration, dialogs (password/OTP), GPG import/export, re-encryption/sharing flows, search UI, tray actions, user access management, and WebDAV/process messages. All translations marked type="unfinished".
Build Configuration
src/src.pro
Registers localization/localization_ur.ts in the TRANSLATIONS variable so Urdu is included in Qt's translation build pipeline.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Poem

🐰 I hopped a path of strings anew,
I stitched each phrase in morning dew,
Urdu whispers join the song,
Small hops make interfaces strong,
Hooray — translations, fresh and true!

🚥 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 pull request title 'i18n: add Urdu (ur) translation skeleton' directly and clearly describes the main change: adding a new Urdu translation file to the project.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch i18n/add-ur

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
Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coveralls
Copy link
Copy Markdown

coveralls commented Apr 30, 2026

Coverage Status

coverage: 28.015%. remained the same — i18n/add-ur into main

@annejan annejan marked this pull request as ready for review April 30, 2026 15:57
Copy link
Copy Markdown
Contributor

@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: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@localization/localization_ur.ts`:
- Around line 9-1639: The localization file localization_ur.ts contains numerous
empty <translation> elements for many message contexts (e.g., ConfigDialog,
MainWindow, QtPass, Pass, ImitatePass, UsersDialog); populate each empty
<translation> with a best-effort Urdu translation while leaving
type="unfinished" intact so Weblate can refine later. Edit the <translation>
content for each <message> (refer to message source strings like "Settings",
"Search Password", "Export Public Key", "Encryption failed: GPG key has
expired.", etc.) without altering the <source> text, XML structure, or
attributes; ensure UTF-8 encoding and that special characters are properly
escaped. Keep translations concise, match punctuation/format placeholders (e.g.,
%1, %n, &lt;strong&gt;) exactly, and run an XML/TS validation after edits to
avoid breaking the file.
🪄 Autofix (Beta)

✅ Autofix completed


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: 655c9091-8413-4911-a16d-eba01b8ce7e3

📥 Commits

Reviewing files that changed from the base of the PR and between 435d7cc and 2b1ce15.

📒 Files selected for processing (2)
  • localization/localization_ur.ts
  • src/src.pro

Comment thread localization/localization_ur.ts Outdated
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 30, 2026

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Fixes Applied Successfully

Fixed 1 file(s) based on 1 unresolved review comment.

Files modified:

  • localization/localization_ur.ts

Commit: 81557b0e71563261e9c4ae1d14092e11980ac925

The changes have been pushed to the i18n/add-ur branch.

Time taken: 11m 55s

Fixed 1 file(s) based on 1 unresolved review comment.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
@annejan annejan merged commit 78da5c7 into main Apr 30, 2026
23 of 24 checks passed
@annejan annejan deleted the i18n/add-ur branch April 30, 2026 16:32
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