feat: polish first-launch onboarding and post-setup permission guidance

Streamline the five-step flow with smarter skip logic, a centered welcome intro, clearer zh copy, keyboard setup detection via the extension, and home tips when permissions are still missing after onboarding completes.
This commit is contained in:
Rocky
2026-06-21 16:14:13 +08:00
parent 642c97c540
commit 993784d223
11 changed files with 591 additions and 276 deletions
@@ -99,6 +99,7 @@ public final class KeyboardViewController: UIInputViewController {
public override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
KeyboardSetupBridge.markExtensionAppearance(hasFullAccess: hasFullAccess)
consumePendingDictationResultIfNeeded()
refreshDictationProgressStateIfNeeded()
refreshFlowSessionState()
+1 -1
View File
@@ -3,7 +3,7 @@
"OSGKeyboard" = "OSGKeyboard";
/* Onboarding */
"onboarding.welcome.subtitle" = "Hold to talk. Release for polished text, in any app.";
"onboarding.welcome.subtitle" = "Tap the mic to speak, tap again to finish — polished text in any app.";
"onboarding.enable.title" = "Enable OSGKeyboard";
"onboarding.enable.step1" = "Settings → General → Keyboard → Keyboards";
"onboarding.enable.step2" = "Tap “Add New Keyboard…” and choose OSGKeyboard";
@@ -3,7 +3,7 @@
"OSGKeyboard" = "OSGKeyboard";
/* Onboarding */
"onboarding.welcome.subtitle" = "按住说话,松开即得润色文字。";
"onboarding.welcome.subtitle" = "点按麦克风说话,再点一次结束,文字即出现。";
"onboarding.enable.title" = "启用 OSGKeyboard";
"onboarding.enable.step1" = "设置 → 通用 → 键盘 → 键盘";
"onboarding.enable.step2" = "点击「添加新键盘…」并选择 OSGKeyboard";