fix: onboarding permission refresh, keyboard l10n, and flow recording

Refresh mic/speech status when returning from TCC dialogs, persist onboarding
page across Settings trips, load extension strings from .lproj bundles via
ExtL10n, and keep flow result polling alive across host-app jumps.
This commit is contained in:
Rocky
2026-06-19 18:35:33 +08:00
parent 275fc81104
commit ef8115508c
9 changed files with 146 additions and 61 deletions
+10 -3
View File
@@ -1,14 +1,21 @@
// ExtL10n.swift
// OSGKeyboard · Keyboard Extension
//
// Loads strings from the extension bundle. Replaces the old KeyboardL10n
// hard-coded fallback map keys live in Localizable.strings.
// Loads strings from the keyboard extension bundle (not SwiftUI's default
// bundle, which may not see our Localizable.strings).
import Foundation
import SwiftUI
enum ExtL10n {
private static let bundle = Bundle(for: KeyboardViewController.self)
static func string(_ key: String) -> String {
NSLocalizedString(key, bundle: .main, comment: "")
NSLocalizedString(key, bundle: bundle, comment: "")
}
static func text(_ key: String) -> Text {
Text(string(key))
}
static func format(_ key: String, _ args: CVarArg...) -> String {