Skip to content

feat(linux): make the error details the app writes translatable - #3555

Merged
datlechin merged 6 commits into
mainfrom
feat/linux-translatable-errors
Oct 19, 2026
Merged

datlechin merged 6 commits into
mainfrom
feat/linux-translatable-errors

Conversation

@datlechin

@datlechin datlechin commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Why

Release criterion 9: no message the user cannot have translated. Error details from the core crates still reached the app as English: CSV import reasons, cell and JSON parse errors, the type and default parsers, the keyring, certificate files and a driver's unsupported feature.

Change

  • Core errors carry values instead of English: UnsupportedFeature, a JSON line and column, the CSV line, an io::ErrorKind. The app writes each sentence through gettext.
  • A keyring failure shows only the Secret Service's own reply; oo7's text goes to the log.
  • An internal driver error shows the app's sentence and logs its detail at trace.
  • A CSV file without a header names its fields "Column 1", "Column 2" in the app.

Verified

New tests pin each mapping. Changed on purpose: a_backend_error_keeps_its_detail (now a_backend_error_shows_the_services_words_and_never_oo7s), a_file_with_no_header_gets_names_from_the_positions, the_message_says_what_happened_in_words_not_the_error_text, a_bad_row_names_its_line_in_the_file.

@datlechin
datlechin merged commit febc280 into main Oct 19, 2026
24 checks passed
@datlechin
datlechin deleted the feat/linux-translatable-errors branch October 19, 2026 02:29
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.

1 participant