Skip to content

Conversation

@mickael-menu
Copy link
Member

@mickael-menu mickael-menu commented Jan 27, 2026

Changelog

Changed

  • The iOS minimum deployment target is now iOS 15.0.

LCP

  • The LCP dialog used by LCPDialogAuthentication has been redesigned.
    • Breaking: The LCP dialog localization string keys have been renamed. If you overrode these strings in your app, you must update them.
  • LCP localized strings are now sourced from the thorium-locales repository. Contributions are welcome on Weblate.

Migration Guide

LCP Dialog Localization Keys

The LCP dialog localization string keys have been renamed to align with the thorium-locales repository. Contributions are welcome on Weblate.

If you overrode any of these strings in your app's Localizable.strings, you must update them to use the new keys:

Old Key New Key
ReadiumLCP.dialog.cancel readium.lcp.dialog.actions.cancel
ReadiumLCP.dialog.continue readium.lcp.dialog.actions.continue
ReadiumLCP.dialog.forgotYourPassphrase readium.lcp.dialog.actions.recoverPassphrase
ReadiumLCP.dialog.hint readium.lcp.dialog.passphrase.hint
ReadiumLCP.dialog.header readium.lcp.dialog.message
ReadiumLCP.dialog.details.title readium.lcp.dialog.info.title
ReadiumLCP.dialog.details.body readium.lcp.dialog.info.body
ReadiumLCP.dialog.details.more readium.lcp.dialog.info.more
ReadiumLCP.dialog.error.incorrectPassphrase readium.lcp.dialog.errors.incorrectPassphrase
ReadiumLCP.dialog.title readium.lcp.dialog.title
ReadiumLCP.dialog.passphrase.placeholder readium.lcp.dialog.passphrase.placeholder

The following legacy strings from the old UIKit-based dialog have been removed entirely:

  • ReadiumLCP.dialog.prompt.message1
  • ReadiumLCP.dialog.prompt.message2
  • ReadiumLCP.dialog.reason.passphraseNotFound
  • ReadiumLCP.dialog.reason.invalidPassphrase
  • ReadiumLCP.dialog.prompt.forgotPassphrase
  • ReadiumLCP.dialog.prompt.support
  • ReadiumLCP.dialog.prompt.continue
  • ReadiumLCP.dialog.prompt.passphrase
  • ReadiumLCP.dialog.support
  • ReadiumLCP.dialog.support.website
  • ReadiumLCP.dialog.support.phone
  • ReadiumLCP.dialog.support.mail

Screenshot 2026-01-27 at 16 59 42 Screenshot 2026-01-27 at 17 00 03

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request redesigns the LCP (Licensed Content Protection) authentication dialog from a UIKit-based interface to SwiftUI, while aligning localization strings with the thorium-locales repository. The minimum iOS deployment target has been increased from iOS 13.4 to iOS 15.0 to support the new implementation.

Changes:

  • Redesigned LCP authentication dialog using SwiftUI with backwards compatibility helpers for iOS 15-16
  • Integrated localization strings from the thorium-locales repository with an automated conversion script
  • Updated minimum iOS deployment target to iOS 15.0

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Sources/LCP/Resources/en.lproj/Localizable.strings Updated with new localization keys from thorium-locales, replacing previous manual translations
Sources/LCP/Resources/fr.lproj/Localizable.strings Added empty French localization file (auto-generated, awaiting translations)
Sources/LCP/Authentications/LCPDialogViewController.swift Simplified to host SwiftUI dialog instead of UIKit-based implementation
Sources/LCP/Authentications/LCPDialogAuthentication.swift Removed navigation controller wrapper, now presents dialog directly
Sources/LCP/Authentications/LCPDialog.swift Added iOS 15 compatibility helpers and renamed localization keys
Sources/LCP/Authentications/Base.lproj/LCPDialogViewController.xib Removed UIKit interface builder file (no longer needed)
Package.swift Updated minimum iOS deployment target to 15.0
Makefile Added update-thorium-locales target for automated localization updates
BuildTools/Scripts/convert-thorium-localizations.js New script to convert thorium-locales JSON files to Apple .strings format
CHANGELOG.md Documented breaking changes and new features
.gitignore Added Claude AI development artifacts

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mickael-menu mickael-menu merged commit 0da8939 into develop Jan 27, 2026
5 checks passed
@mickael-menu mickael-menu deleted the thorium-locales branch January 27, 2026 17:05
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