Skip to content

Conversation

@ovitrif
Copy link
Collaborator

@ovitrif ovitrif commented Dec 18, 2025

feat: Extract all UI strings to resources

Description

This PR extracts all remaining hardcoded user-facing strings to Localizable.strings for localization support. The changes follow the existing key naming conventions (prefix__keyName) and maintain alphabetical ordering within sections.

Key changes:

  • Extracted ~50+ hardcoded strings across the app to localization resources
  • Replaced all tTodo() calls with proper t() calls using new localization keys
  • Added new keys aligned with Android (bitkit-android) where applicable for Transifex sync compatibility
  • New categories/keys added include:
    • common__ - Shared UI labels (coming_soon, error, on, off, show_all, etc.)
    • other__ - Miscellaneous strings (shop categories, LNURL errors, scanner errors, gift screens)
    • wallet__ - Wallet-specific strings (transfer labels, receive/send toasts, fee labels)
    • settings__ - Settings screen strings (address viewer, language change, logs)
    • security__ - Security-related strings (recovery errors, wipe failures)

Excluded from localization (intentionally):

  • Dev settings screens (ChannelOrders, DevSettingsView, BlocktankRegtestView, etc.)
  • Technical acronyms (TCP, TLS, Hash, Merkle Root, etc.)
  • Preview/sample code strings

Validation:

  • validate-translations.js passes with 0 errors, 0 warnings
  • ✅ Build succeeds

Linked Issues/Tasks

Screenshot / Video

N/A - No visual changes, only string extraction for localization infrastructure.

@ovitrif ovitrif merged commit 8543137 into master Dec 18, 2025
4 of 6 checks passed
@ovitrif ovitrif deleted the feat/i18n branch December 18, 2025 12:35
@jvsena42
Copy link
Member

jvsena42 commented Dec 18, 2025

It merged automatically without waiting for CI 👀

@ovitrif
Copy link
Collaborator Author

ovitrif commented Dec 18, 2025

Guess CI is not setup to gate merges @piotr-iohk

@piotr-iohk
Copy link
Collaborator

Guess CI is not setup to gate merges @piotr-iohk

I suppose now that unit, integration and e2e tests are stable it is OK to set them as required to pass before merging (as it is on Android), I will set it up. cc: @pwltr

@pwltr
Copy link
Contributor

pwltr commented Dec 22, 2025

Some of the localized strings have not been properly updated or are missing. Let's revert and reopen the PR in order to revise it.

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.

5 participants