[Bug]: iPhone 1.2.0 voice input recognizes Korean speech as unrelated English words
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/mobile
Summary
On T3 Code for iPhone 1.2.0, speaking Korean into the built-in composer microphone produces unrelated English words that sound similar to the Korean speech. This is phonetic misrecognition, not translation into meaningful English. The iPhone is configured in Korean.
Steps to reproduce
- Use T3 Code 1.2.0 on an iPhone configured in Korean.
- Start voice input using the T3 composer microphone (not the iOS keyboard dictation button).
- Speak Korean and confirm transcription.
- Observe the inserted draft text.
These describe the reporter's observed workflow; independent reproduction on another iPhone has not been performed.
Expected behavior
Korean speech should produce Korean text when the recognition language is Korean. If the device/engine does not support Korean, show an explicit unsupported-language message rather than interpreting the audio as English.
Actual behavior
The resulting text consists of phonetically similar but unrelated English words.
Impact
Major degradation or frequent failure: built-in Korean voice input is unusable for the reporter.
Version or commit
Installed iPhone app: 1.2.0.
Source inspected: the commit bumping the mobile version to 1.2.0, 6dbea7ed0947. The exact App Store build/OTA revision has not been verified.
Environment
- iPhone; system language reported as Korean.
- Exact iPhone model and iOS version are not yet recorded.
- This report concerns the native iPhone composer voice input, not desktop voice input.
Investigation: suspected locale selection issue, not a confirmed root cause
The implementation derives its recognition language from:
function getDeviceLocale(): string {
return Intl.DateTimeFormat().resolvedOptions().locale;
}
It then passes that locale to AppleTranscription.prepare(locale) and transcribes with the resolved locale. There is no explicit voice-language override in this path.
Source at the 1.2.0 version-bump commit
A separate, minimal Foundation test on a Korean-configured Mac demonstrated that the current app locale can differ from the user's preferred language:
import Foundation
print(Locale.preferredLanguages)
print(Locale.current.identifier)
print(Bundle.main.preferredLocalizations)
For a test app bundle with CFBundleDevelopmentRegion = en and only an en.lproj resource directory:
preferred: ["ko-KR"]
current: en_KR
bundle: ["en"]
After adding ko.lproj to that same test bundle:
preferred: ["ko-KR"]
current: ko_KR
bundle: ["ko"]
This is supporting evidence for a locale mismatch hypothesis, not an iPhone reproduction or a runtime trace from T3. en_KR represents English with the Korea region, not Korean. The affected iPhone's actual Intl locale and the locale returned by AppleTranscription.prepare() have not been captured.
Suggested investigation
- Capture the user's preferred languages, the
Intllocale, and the locale returned byAppleTranscription.prepare()on the affected iPhone. - Check whether the app's supported localizations cause an English locale to be selected despite a Korean system language.
- Consider selecting the recognition language from the user's preferred language or exposing a voice-language selector, while retaining Apple's supported-locale checks.
Logs or stack traces
No iPhone runtime logs or audio recordings are available. Source review and the separate macOS locale experiment were performed with AI assistance.
Workaround
No workaround has been verified on the affected iPhone.
Related discussion
Chinese speech recognition and desktop composer voice #10489 discusses a related language-selection concern; this report is specifically about Korean misrecognition on iPhone 1.2.0.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with apps/mobile/src/native/voiceTranscription.ios.ts at the locale selection and AppleTranscription.prepare() path described in the issue. Reproduce on an iPhone configured in Korean while capturing the preferred languages, Intl locale, and prepared locale; done means Korean speech yields Korean text or an explicit unsupported-language message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, typescript
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100