Skip to content

Add GUI internationalization#143

Open
pepsing wants to merge 1 commit into
TheRealSavi:mainfrom
pepsing:codex/i18n-support
Open

Add GUI internationalization#143
pepsing wants to merge 1 commit into
TheRealSavi:mainfrom
pepsing:codex/i18n-support

Conversation

@pepsing

@pepsing pepsing commented Jun 30, 2026

Copy link
Copy Markdown

Summary

  • Add gettext-backed GUI internationalization with Settings > General language switching.
  • Add Chinese, German, French, and Spanish catalogs plus local extraction and compile tooling.
  • Localize the main browser, settings, sidebar, playlist, photo, and podcast surfaces while preserving user and media titles as data.
  • Improve default track table column fitting so generated widths fit the visible viewport before horizontal scrolling is needed.

Details

  • Language selection is persisted in global settings and rebuilding the main window applies it.
  • Catalogs are packaged via pyproject and documented in docs/i18n.md.
  • iPod internal playlist categories are normalized to canonical labels before translation, so localized device databases still follow the chosen UI language.
  • User-created playlist, album, photo album, and media titles are not translated.

Validation

  • uv run pytest
  • uv run ruff check
  • uv run python scripts/update_translations.py --check
  • git diff --check
  • Manual launch on macOS with a connected iPod Video 5.5th Gen (Mojo); verified English playlist internal categories render in English.

Closes #113

@pepsing pepsing force-pushed the codex/i18n-support branch from 31f7aab to 3a5f29c Compare June 30, 2026 09:59
@pepsing pepsing marked this pull request as ready for review June 30, 2026 10:02
@TheRealSavi

Copy link
Copy Markdown
Owner

thank you for all this work, i will be reviewing this PR and getting back to you or merging this week :)

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.

[Feature] Multiple language support

2 participants