Skip to content

[Bug]: activity explorer shows raw ICU plural strings for inputs/outputs #751

Description

@piotr-iohk

What happened?

On on-chain activity / transaction explore, Input and Output section titles show the raw ICU MessageFormat template instead of resolved copy, e.g. Polish:

{COUNT, PLURAL, ONE {WEJŚCIE} FEW {WEJŚCIA (#)} MANY {WEJŚCIA (#)} OTHER {WEJŚCIA (#)}}

Same class of failure confirmed in French. English and other one/other-only locales look fine.

Expected behavior

Resolved plural labels, e.g. Polish WEJŚCIE / WEJŚCIA (2), French ENTRÉE / ENTRÉES (2).

Steps to Reproduce

  1. Set app language to Polish or French (Settings → Language).
  2. Open an on-chain activity that has inputs/outputs.
  3. Open transaction details / explorer.
  4. Observe INPUT / OUTPUT headings show raw {count, plural, ...} text.

Logs / Screenshots / Recordings

Polish activity explorer showing raw ICU plural templates for inputs and outputs

Bitkit Version

2.5.0

Device / OS

iPhone 13, iOS (version TBD)

Reproducibility

Always

Additional context

  • Android not affected: same ICU strings exist, but Android uses android.icu.text.MessageFormat via localizedPlural / formatPlural.
  • iOS root cause: LocalizationHelper.formatterPlural in LocalizeHelpers.swift only regex-matches {var, plural, one {...} other {...}}. Patterns with few / many / zero fall through and return the raw pattern. File already has // TODO: implement a ICU message format library.
  • UI call site: ActivityExplorerView.swift via tPlural("wallet__activity_input"|"wallet__activity_output", ...).
  • Also at risk via tPlural: settings__backup__failed_message in Russian (includes few/many) — backup failure toast can show the same raw template.
  • Locales with complex activity input/output plurals: cs, es, es-419, fr, pl, pt-BR, ru.
  • Locales with simple one/other (likely OK today): ca, de, el, en, it, nl.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions