ef8115508c
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.
25 lines
662 B
Swift
25 lines
662 B
Swift
// ExtL10n.swift
|
|
// OSGKeyboard · Keyboard Extension
|
|
//
|
|
// 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: bundle, comment: "")
|
|
}
|
|
|
|
static func text(_ key: String) -> Text {
|
|
Text(string(key))
|
|
}
|
|
|
|
static func format(_ key: String, _ args: CVarArg...) -> String {
|
|
String(format: string(key), locale: Locale.current, arguments: args)
|
|
}
|
|
}
|