Skip to content

chore: pull 2.6.0 translations from transifex - #1491

Closed
ovitrif wants to merge 4 commits into
masterfrom
chore/transifex-pull-2.6.0
Closed

ovitrif wants to merge 4 commits into
masterfrom
chore/transifex-pull-2.6.0

Conversation

@ovitrif

@ovitrif ovitrif commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

Twin: synonymdev/bitkit-ios#937
Refs: #1489

Description

  • Adds 676 translations Transifex now has for strings the repo was missing, merged key by key. No existing translation is changed or removed.
  • Most come from Transifex translation memory, which filled new 2.6.0 Android strings whose English exactly matches already-translated iOS strings. That covers 56 keys, about half of them Pubky/Paykit (profile, contacts, subscriptions, payment requests).
  • Per locale: ar 28, es-419 54, ca 44, cs 51, de 49, el 30, es 43, es-ES 45, fr 48, it 49, nl 44, pl 53, pt 28, pt-BR 54, ru 56.
  • Keeps the repo's value wherever Transifex differs: about 11–14 strings per locale whose English changed after the last Transifex sync, plus 1–5 per locale where the repo copy is newer.
  • Skips values equal to English and 6 keys no code references (slashtags__* profile strings, other__coming_soon, profile__qr_scan_label).

Out of Scope

  • Remaining 2.6.0 gap: Transifex has no translations for the rest yet. Missing per locale, of 1,598 English strings (Pubky/Paykit in brackets, of 225): ar 543 (211), es-419 512 (198), ca 522 (202), cs 515 (200), de 521 (201), el 536 (210), es 527 (201), es-ES 521 (200), fr 522 (200), it 517 (199), nl 522 (203), pl 517 (198), pt 547 (212), pt-BR 512 (198), ru 510 (196). An AI-assisted PR will fill them.
  • Native review: translation memory matches on English text alone, so short strings can carry the wrong context; for example, German hardware__passphrase_* reads "Passwort". Payment, security and recovery copy needs native review.

Design

N/A — no UI changes.

Preview

N/A — translation-only change.

QA Notes

Journeys

N/A — no user-visible behaviour change.

Manual Tests

N/A

Automated Checks

  • ran XML parse of every changed strings.xml — files are well-formed
  • ran key-level check of each added string — placeholders and markup match the English, and the value differs from English

@ovitrif ovitrif added this to the 2.6.0 milestone Oct 14, 2026
@ovitrif ovitrif self-assigned this Oct 14, 2026

@piotr-iohk piotr-iohk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

QA review

Scope: reviewed the full PR diff against its merge base at c521c68a, including resource lookup, formatting and remaining translation coverage. Feedback on this draft PR; this is a COMMENT review, not approval.

1 actionable finding — LOW: use Spanish wording for the hardware passphrase label/title.

When the app language is Spanish (es, es-rES, or b+es+419), the newly added hardware__passphrase_button and hardware__passphrase_title resolve to Portuguese “Frase de acesso”. These resources are read by HwPairedSheet.kt, HwPassphraseSheet.kt and HwPassphrasePromptSheet.kt, so the paired-device action and passphrase-entry screens would display Portuguese wording. Please replace both values in all three Spanish resources with reviewed Spanish copy that identifies the passphrase clearly. Example at the reviewed revision.

Evidence: source analysis; these keys were absent on the base revision. No device reproduction or key-handling defect is claimed.

Validation performed: all 676 additions preserve existing resource values; no added-key duplicate or placeholder/markup mismatch was detected. All 15 changed XML resources parse and compile with AAPT2 36.0.0.

Remaining AI-assisted follow-up

Against 1,598 English source keys, missing nonempty values per locale are:

Locale Missing
ar 543
es-419 512
ca 522
cs 515
de 521
el 536
es 527
es-ES 521
fr 522
it 517
nl 522
pl 517
pt 547
pt-BR 512
ru 510

Prioritize the supported Pubky/Paykit flows: all 9 Pubky-auth strings are missing in every locale, along with 72–74 of 77 subscription strings and 55–58 of 60 payment-request strings. Profile and contact namespaces still miss 75–84 of 90 and 39–45 of 48 respectively. These are full namespace counts, broader than the release-feature subset in the PR description.

The raw backlog includes potentially unused English keys; establish usage before bulk translation. Preserve existing values, validate placeholders/plurals/markup, and retain native-speaker review for payment, security and recovery wording. Hardware passphrase terminology also needs review across languages; matching English text in translation memory does not establish matching context.

The pre-existing whole-file overwrite risk in pull-translations.sh is unchanged here and should be addressed separately to protect repo-only translations. Follow-up: #1489. Companion: synonymdev/bitkit-ios#937.

Device/layout testing and native-speaker approval were not performed in this review. Build/E2E jobs are skipped on this draft; resource compilation is not a full app build.

@ovitrif

ovitrif commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator Author

When the app language is Spanish (es, es-rES, or b+es+419), the newly added hardware__passphrase_button and hardware__passphrase_title resolve to Portuguese “Frase de acesso”.

@piotr-iohk Fixed in 8496e09 for all three Spanish resources. It was a spelling issue rather than a wording choice: "acesso" is Portuguese and Spanish is "acceso". The same spelling was already in onboarding__passphrase and the security__pass* strings from the earlier pull, and b+es+419 also had "accceso", so I corrected every occurrence in those files. All three files still parse as XML.

The iOS companion has the same fix for es and es-419 in synonymdev/bitkit-ios@98854b4 (synonymdev/bitkit-ios#937). Native-speaker review of the passphrase terminology across languages will come with the AI-assisted translation PRs.

@ovitrif
ovitrif marked this pull request as ready for review October 14, 2026 20:54
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-14T21:01:53.373420Z 8496e09 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Regtest APK

Built from f28bb07 (run).

Download bitkit-dev-debug universal APK (expires in 30 days).

@greptile-apps

greptile-apps Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[Low impact] Updates translated UI strings for version 2.6.0.

The PR appears safe to merge, with non-blocking translation corrections recommended.

Findings

  1. P2 Profile name says surname ▶
  2. P2 Contact labels read as commands ▶
  3. P2 Contacts headline has incorrect grammar ▶
  4. P2 Dutch messages contain spelling errors ▶

Summary

Adds 676 missing translations across 15 locales, corrects Spanish passphrase spelling, and adds a changelog entry.

  • More app messages appear in the user's chosen language.

Reviews (1) · Last reviewed commit: "chore: correct spanish spelling of passp..." · Reviewed by Greptile

Comment thread app/src/main/res/values-es/strings.xml Outdated
Comment thread app/src/main/res/values-es/strings.xml Outdated
Comment thread app/src/main/res/values-fr/strings.xml Outdated
Comment thread app/src/main/res/values-nl/strings.xml Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8496e09a18

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="cards__backupSeedPhrase__title">Sichern</string>
<string name="btcpay__missing_mnemonic">Bitkit konnte deine Wiederherstellungsphrase nicht lesen.</string>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Sort newly added resources by name

Move this btcpay__... entry before the cards__... entries; the same ordering problem occurs in several other modified locale files, where newly added contacts__... blocks split existing common__... blocks. The repository explicitly requires new localizable resources to be added alphabetically, so all inserted keys should be repositioned accordingly.

AGENTS.md reference: AGENTS.md:L347-L348

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Left as is for now: this is the Transifex pull, which keeps its source ordering, and the ordering rule is a style matter for the maintainers rather than a rendering problem.

Comment thread app/src/main/res/values-es/strings.xml Outdated
Comment thread app/src/main/res/values-es/strings.xml Outdated
Comment thread app/src/main/res/values-b+es+419/strings.xml Outdated
Comment thread app/src/main/res/values-nl/strings.xml Outdated
Comment thread app/src/main/res/values-es-rES/strings.xml Outdated
Comment thread app/src/main/res/values-cs/strings.xml Outdated
Comment thread app/src/main/res/values-nl/strings.xml Outdated
Comment thread app/src/main/res/values-el/strings.xml Outdated
Comment thread app/src/main/res/values-fr/strings.xml Outdated

@talosmachina talosmachina left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No findings. Merges 676 Transifex translations into 15 Android locales; nothing existing is removed or reworded beyond the es / es-ES / es-419 refresh. Reviewed 8496e09, full tier. Reasoned from the diff and CI; the branch was not built here.

What I checked, and 2 candidates I ruled out

Checked mechanically, every added or changed string: the file parses (Android: XML; iOS: every line is a "key" = "value"; entry), no duplicate keys, every key exists in English, and each value carries the same %1$s / {name} placeholders and the same markup tags as its English source. All 15 locale files come out clean against values/strings.xml at the head.

CI: build, build-local, lint and detekt green; the e2e-tests-local shards were still running.

Ruled out

  • Unescaped apostrophes breaking aapt: none in the added values, and the build job compiles the resources.
  • The 7 removed es-419 / es-ES / es lines: they are replacements of the same keys, not deletions, so no locale loses a key.

Wording was not reviewed by a native speaker; the PR body already scopes that out.

Merge confidence: 4/5, every added string passes the placeholder and markup checks; the e2e shards had not finished.

@ovitrif

ovitrif commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator Author

Folded into #1492, which now targets master and carries this pull plus the AI-assisted translations and the review fixes, so 2.6.0 translations land in one PR per platform. @piotr-iohk your review findings here are fixed there (f28bb07, merged in fcf156f).

@ovitrif ovitrif closed this Oct 14, 2026
@ovitrif ovitrif removed this from the 3.0.0 milestone Oct 15, 2026
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.

3 participants