Skip to content

fix: Czech backup notification plural#628

Merged
jvsena42 merged 2 commits into
masterfrom
fix/crash-malformed-translation
Jul 15, 2026
Merged

fix: Czech backup notification plural#628
jvsena42 merged 2 commits into
masterfrom
fix/crash-malformed-translation

Conversation

@jvsena42

Copy link
Copy Markdown
Member

This PR fixes the Czech backup-failure notification so its retry countdown renders correctly instead of leaking raw placeholder text.

Description

The Czech translation of settings__backup__failed_message used a translated word (dalších) where ICU plural syntax requires the literal other keyword. On iOS this string is formatted by the app's lenient regex-based plural helper rather than a strict ICU parser, so the malformed pattern does not crash the app (unlike the equivalent Android bug in synonymdev/bitkit-android#1080). Instead the regex simply fails to match, and Czech users see the raw pattern — {interval, plural, one {# minute} dalších {# minutes}} — literally in the backup-failure toast.

This corrects the Czech string to use the valid other keyword. An audit of all 13 locale string files confirmed this was the only malformed plural entry; every other plural already uses valid keywords, and Italian (which was also broken on Android) was already correct here.

Note: translations are synced from Transifex, so the same correction should also land upstream to avoid a future sync reintroducing it.

Linked Issues/Tasks

Related Android fix: synonymdev/bitkit-android#1080

QA Notes

Manual Tests

  • 1. Device language set to Czech → trigger a backup-failure notification (failed backup detected on periodic check): the toast shows the localized "Opakovaný pokus za N minut" retry message, not the raw {interval, plural, ...} placeholder.
  • 2. regression: Device language set to English → trigger the same backup-failure notification: toast still shows "Retrying in N minute(s)" correctly.

Automated Checks

  • N/A — translation-only string fix; validated by reading the corrected pattern against the plural regex in LocalizeHelpers.swift.

@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown

Greptile Summary

This PR fixes the Czech backup-failure countdown text. The main changes are:

  • Replaces the malformed plural branch with the supported other keyword.
  • Adds a changelog entry for the localization fix.

Confidence Score: 5/5

This looks safe to merge.

  • The corrected pattern matches the plural formatter's expected syntax.
  • The backup notification supplies the required interval argument.
  • No blocking issues were found in the changed code.

Important Files Changed

Filename Overview
Bitkit/Resources/Localization/cs.lproj/Localizable.strings Updates the Czech plural pattern to match the formatter's supported one and other syntax.
changelog.d/next/cs-backup-plural.fixed.md Adds an accurate release note for the corrected Czech notification.

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@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: 278be2545d

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread Bitkit/Resources/Localization/cs.lproj/Localizable.strings
@jvsena42 jvsena42 self-assigned this Jul 15, 2026
@jvsena42
jvsena42 requested a review from piotr-iohk July 15, 2026 12:26
@jvsena42
jvsena42 enabled auto-merge July 15, 2026 12:26

@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.

LGTM

@piotr-iohk piotr-iohk added this to the 2.4.0 milestone Jul 15, 2026
@jvsena42
jvsena42 merged commit b7389a9 into master Jul 15, 2026
11 checks passed
@jvsena42
jvsena42 deleted the fix/crash-malformed-translation branch July 15, 2026 13:57
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