Skip to content

Qt: Refresh GUI translation source catalog - #1928

Merged
levoncrypto merged 4 commits into
ui-redesignfrom
codex/complete-gui-translations
Sep 3, 2026
Merged

Qt: Refresh GUI translation source catalog#1928
levoncrypto merged 4 commits into
ui-redesignfrom
codex/complete-gui-translations

Conversation

@reubenyap

Copy link
Copy Markdown
Member

PR intention

Repair and refresh the Qt translation source catalog for the UI redesign. The extractor still emitted bitcoin-core while the application and catalogs use firo-core, and its CMake invocation omitted Firo package metadata. The checked-in English source catalog also missed current redesign and Spark strings.

This is a prerequisite for native-language translation work. It does not claim that the 85 non-English catalogs are complete. Related to #1914.

Code changes brief

  • Generate core strings under firo-core and pass Firo package and copyright metadata.
  • Use an xgettext response file to avoid Windows command-line limits, and preserve the generated catalog if extraction fails.
  • Regenerate bitcoinstrings.cpp and bitcoin_en.ts from the current ui-redesign sources, yielding 1,525 source messages.
  • Correct 15 existing catalog defects, including malformed rich text, broken %n placeholders, a blank Chinese Ping label, and an Estonian typo.

Validation:

  • Re-ran source extraction through the response file and obtained byte-identical generated C++.
  • Re-ran Qt 6.7.3 lupdate: 1,525 existing messages, 0 new, byte-identical English catalog.
  • Parsed all 86 TS files and checked locale IDs, duplicate active keys, blank finished entries, placeholders, rich-text structure, and resource mappings.
  • Qt 6.7.3 lrelease: 86/86 catalogs compiled with zero failures. Four untouched catalogs emit pre-existing plural-form notices.
  • git diff --check origin/ui-redesign...HEAD passed.
  • Full application build was not run.

Known limitation:

Localized coverage remains 31,088 of 129,625 source-language pairs (23.98%), leaving 98,537 untranslated pairs. Accurate completion requires a Firo-owned localization workflow and native review. This draft is stacked on ui-redesign, so the normal PR workflow that targets master will not run until this is retargeted after #1914 merges.

Restore malformed rich text and placeholders, and replace a blank Ping label.
Pass source paths through an xgettext response file to stay within Windows command-line limits. Stop before replacing the generated catalog when extraction fails.
@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Team

Run ID: 594eb851-8c9c-4fae-b93a-7d695496437e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@levoncrypto
levoncrypto marked this pull request as ready for review September 3, 2026 12:26
@codeant-ai

codeant-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR 440409f Sep 03, 2026 · 12:26 12:29

@codeant-ai

codeant-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@levoncrypto
levoncrypto merged commit 9e84404 into ui-redesign Sep 3, 2026
2 checks passed
@codeant-ai codeant-ai Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files label Sep 3, 2026
@codeant-ai

codeant-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown

User description

PR intention

Repair and refresh the Qt translation source catalog for the UI redesign. The extractor still emitted bitcoin-core while the application and catalogs use firo-core, and its CMake invocation omitted Firo package metadata. The checked-in English source catalog also missed current redesign and Spark strings.

This is a prerequisite for native-language translation work. It does not claim that the 85 non-English catalogs are complete. Related to #1914.

Code changes brief

  • Generate core strings under firo-core and pass Firo package and copyright metadata.
  • Use an xgettext response file to avoid Windows command-line limits, and preserve the generated catalog if extraction fails.
  • Regenerate bitcoinstrings.cpp and bitcoin_en.ts from the current ui-redesign sources, yielding 1,525 source messages.
  • Correct 15 existing catalog defects, including malformed rich text, broken %n placeholders, a blank Chinese Ping label, and an Estonian typo.

Validation:

  • Re-ran source extraction through the response file and obtained byte-identical generated C++.
  • Re-ran Qt 6.7.3 lupdate: 1,525 existing messages, 0 new, byte-identical English catalog.
  • Parsed all 86 TS files and checked locale IDs, duplicate active keys, blank finished entries, placeholders, rich-text structure, and resource mappings.
  • Qt 6.7.3 lrelease: 86/86 catalogs compiled with zero failures. Four untouched catalogs emit pre-existing plural-form notices.
  • git diff --check origin/ui-redesign...HEAD passed.
  • Full application build was not run.

Known limitation:

Localized coverage remains 31,088 of 129,625 source-language pairs (23.98%), leaving 98,537 untranslated pairs. Accurate completion requires a Firo-owned localization workflow and native review. This draft is stacked on ui-redesign, so the normal PR workflow that targets master will not run until this is retargeted after #1914 merges.


CodeAnt-AI Description

Refresh Qt translations for the redesigned Firo wallet and Spark features

What Changed

  • Updated the English translation catalog with current wallet redesign, Spark privacy, Spark Names, masternode, Tor, recovery, and transaction messages.
  • Added translation coverage for Spark payments, private-balance transfers, payment requests, address types, and clearer transaction and synchronization states.
  • Fixed malformed rich-text markup, broken placeholders, missing labels, and incorrect localized entries across supported languages.
  • Corrected source extraction to use the firo-core catalog context, include package metadata, handle long source lists on Windows, and avoid replacing generated output after extraction failures.

Impact

✅ Current redesigned wallet text available for translation
✅ Clearer Spark payment and wallet error messages
✅ Valid rich text and placeholders in localized interfaces

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai

codeant-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown

CodeAnt Nitpicks

5 code suggestions

1. The translation omits the space after the first sentence, causing the displayed Persian text to run together at the sentence boundary.

Possible bug · src/qt/locale/bitcoin_fa.ts:1260


2. Spaces inside the second bold tag become visible around the emphasized phrase, adding unintended whitespace to this rich-text guidance.

Possible bug · src/qt/locale/bitcoin_id_ID.ts:132


3. The singular form renders %nGB without a space, so the displayed disk requirement is joined incorrectly, such as “di 1GB richiesti”.

Typo · src/qt/locale/bitcoin_it.ts:843


4. 여덟개 violates standard Korean spacing, leaving a visible typo in the passphrase guidance shown to users.

Typo · src/qt/locale/bitcoin_ko_KR.ts:136


5. The completed Vietnamese translation omits the source sentence's final period, leaving the explanatory instruction visibly unfinished.

Typo · src/qt/locale/bitcoin_vi_VN.ts:732

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants