Skip to content

Add Russian and Ukrainian localizations#130

Open
TinyFrontier wants to merge 1 commit into
momenbasel:mainfrom
TinyFrontier:feature/russian-ukrainian-localization
Open

Add Russian and Ukrainian localizations#130
TinyFrontier wants to merge 1 commit into
momenbasel:mainfrom
TinyFrontier:feature/russian-ukrainian-localization

Conversation

@TinyFrontier

Copy link
Copy Markdown

Summary

  • add complete Russian and Ukrainian UI translations
  • localize permission prompts, Finder service labels, dynamic content, and user-facing errors
  • register Russian and Ukrainian in the language picker and Xcode resources
  • add localization parity, format-specifier, duplicate-key, and bundle-packaging tests
  • update the supported-language list in the README

Why

PureMac did not previously support Russian or Ukrainian, and several dynamically constructed strings bypassed the localization lookup even when translation keys existed.

User impact

Russian- and Ukrainian-speaking users can select their language in Settings and use the complete GUI, including onboarding, Full Disk Access guidance, cleanup flows, permission prompts, and Finder services. The selected language still applies after relaunch, matching the existing language-switching behavior.

Validation

  • generated the project with XcodeGen 2.46.0
  • built the universal Release configuration for arm64 and x86_64
  • ran the complete XCTest suite: 10 tests, 0 failures
  • verified all .strings, plist, entitlement, and project files with plutil
  • verified localization key parity, format specifiers, duplicate keys, and packaged bundle resources
  • manually smoke-tested Russian and Ukrainian in the app

@TinyFrontier
TinyFrontier force-pushed the feature/russian-ukrainian-localization branch from e72d7f9 to 017b6c1 Compare July 19, 2026 08:40
@TinyFrontier
TinyFrontier marked this pull request as ready for review July 19, 2026 08:40
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