Skip to content

feat(flow): choose the speech level of Korean text - #951

Open
lovyestar wants to merge 3 commits into
Louis-CFM:mainfrom
lovyestar:feat/flow-korean-speech-level
Open

lovyestar wants to merge 3 commits into
Louis-CFM:mainfrom
lovyestar:feat/flow-korean-speech-level

Conversation

@lovyestar

@lovyestar lovyestar commented Oct 28, 2026 •

Copy link
Copy Markdown

Korean speech level for Coucou Flow

Why

Korean has grammatical speech levels, and the right one depends on who you are writing to. People often talk in a casual register but write to colleagues, customers and teachers in a polite one, and a mail in 반말, or a chat message to a superior at the wrong level, reads as rude. Dictation therefore often needs a rewrite after the fact. Flow's clean-up already fixes punctuation and fillers; this lets Claude also fix the level.

What

  • A "Korean speech level" setting: as spoken (default), 해요체 (polite), 합니다체 (formal), 해체 (casual).
  • Applied wherever Claude already rewrites a dictation: clean-up, prompt mode and translation.
  • The rule asks for the sentence a native speaker would say at that level, not only a new verb ending, and keeps the sentence type (a suggestion stays a suggestion). Example: 너 뭐 좋아해? → 어떤 걸 좋아하세요? (해요체).
  • The row sits on the Styles page, under the clean-up and the default style, and is shown only on a Korean Mac, when Korean is the translation language, or once a level has been chosen. It is off by default: nothing changes for anyone else.
  • No new dependency and no new network call (same Claude request as before, with one more instruction).

Notes

  • New strings are translated in en, fr, ko and zh-Hant (the check requires zh-Hant); other languages fall back to English.
  • Possible follow-up: the same idea for other languages that have speech levels or a formal/informal "you" (Japanese, German, French, Spanish, Russian…), ideally per app through the app styles.
  • Related: feat(i18n): add Korean localization across macOS, Windows and Linux #880 (Korean localization). This PR does not depend on it.

Test plan

  • scripts/test-korean-level.sh (added to CI), scripts/test-flow-text.sh, scripts/test-localization.py
  • Build with no new warnings
  • Dictated casual Korean with 해요체 on a Korean Mac: ends polite, the pronoun and wording follow
  • 합니다체 checked by dictation (오늘 회의 몇 시야 → 오늘 회의는 몇 시입니까?)
  • 해체 checked by dictation

Screenshots

The setting, on the Styles page (under the clean-up and the default style):

Korean speech level on the Styles page

A dictation rewritten in 합니다체 (see also #952 for the history):

History

A Flow setting for how polite Korean is written when Claude rewrites it
(clean-up, prompt mode, translation): as spoken, 해요체 (polite), 합니다체
(formal) or 해체 (casual). Added to the Prompt and translation card, shown
only on a Korean Mac, when Korean is the translation, or once a level is set.
Off by default: nothing changes for anyone else.
A suggestion (저녁 먹자) came out as a question about the listener's will
(저녁 먹을래요?). The rule now keeps questions, statements, requests and
suggestions as they were.
It is about how Claude writes, like the clean-up and the default style, so it
sits under them instead of in Settings. Same row, same conditions.
@lovyestar
lovyestar marked this pull request as ready for review October 28, 2026 04:20

This branch has not been deployed

No deployments
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.

1 participant