Skip to content

fix(i18n): unify Korean workspace terminology with correct particles#2931

Open
say8425 wants to merge 1 commit intomanaflow-ai:mainfrom
say8425:fix/i18n-korean-terminology-unify
Open

fix(i18n): unify Korean workspace terminology with correct particles#2931
say8425 wants to merge 1 commit intomanaflow-ai:mainfrom
say8425:fix/i18n-korean-terminology-unify

Conversation

@say8425
Copy link
Copy Markdown
Contributor

@say8425 say8425 commented Apr 16, 2026

Summary

Standardize "작업 공간" → "워크스페이스" (88 strings) with proper Korean particle (조사) adjustments.

Why "워크스페이스" not "작업 공간"?

The majority of existing Korean translations already use "워크스페이스". This PR unifies the remaining ~88 instances that still used the literal "작업 공간".

Why keep "윈도우" unchanged?

After researching Apple's official Korean localization:

  • Apple Support (ko-kr/102650): "윈도우 닫기", "새로운 Finder 윈도우"
  • macOS Window menu: labeled "윈도우" in Korean
  • Japanese parallel: Apple uses ウィンドウ (loanword), same CJK loanword pattern
  • Conclusion: "윈도우" is Apple's official term, not "창"

Korean particle rules applied

"작업 공간" ends in consonant ㄴ, "워크스페이스" ends in vowel — particles must change:

Particle Before (consonant) After (vowel)
Object 작업 공간 워크스페이스
Subject 작업 공간 워크스페이스
Conjunction 작업 공간 워크스페이스
Direction 작업 공간으로 워크스페이스
Topic 작업 공간 워크스페이스

Changes

  • Resources/Localizable.xcstrings: 88 Korean string replacements (88 ins / 88 del)
  • No code changes, no other languages affected
  • Zero particle errors verified programmatically

Quality checks

  • JSON validity verified
  • No remaining "작업 공간" in Korean values
  • Zero bad particle combinations (을/이/과/으로/은 after 워크스페이스)
  • Format specifiers preserved
  • Only ko values modified

Test plan

  • Verify Resources/Localizable.xcstrings loads in Xcode
  • Switch to Korean and verify "워크스페이스" used consistently in settings, dialogs, menus

Review Trigger

@coderabbitai review
@cubic-dev-ai review

Summary by CodeRabbit

  • Chores
    • Standardized Korean localization across the app by replacing the term “작업 공간” with “워크스페이스” in UI labels, commands, help text, prompts and formatted strings. Adjusted surrounding grammar and casing for natural Korean phrasing, improving consistency and clarity across status messages, labels, instructions and command descriptions.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 16, 2026

@say8425 is attempting to deploy a commit to the Manaflow Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 16, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b45c8042-194f-40e4-8b25-832c6e075c14

📥 Commits

Reviewing files that changed from the base of the PR and between 9a0a6af and 52d0f15.

📒 Files selected for processing (1)
  • Resources/Localizable.xcstrings
🚧 Files skipped from review as they are similar to previous changes (1)
  • Resources/Localizable.xcstrings

📝 Walkthrough

Walkthrough

Korean localization strings in Resources/Localizable.xcstrings were updated to replace the term “작업 공간” with “워크스페이스” across UI messages, command/help texts, and formatted values; surrounding grammar and particles were adjusted to match the new terminology.

Changes

Cohort / File(s) Summary
Korean Localization — Workspace Terminology
Resources/Localizable.xcstrings
Replaced occurrences of "작업 공간" with "워크스페이스" in UI labels, action phrases, formatted strings (e.g., “작업 공간 • %@”, “작업 공간 %lld”), prompts, and help/command text. Adjusted Korean particles and sentence structure to match the new term consistently.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Possibly related PRs

Poem

🐰 새 단어로 껑충, 문자열을 뛰어넘네,

워크스페이스로 바뀌니 읽기 더 경쾌하네.
줄바꿈, 조사도 깔끔히 맞추었지—
작은 변화에 기쁜 발자국 남기네. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: unifying Korean workspace terminology (작업 공간 → 워크스페이스) with proper particle adjustments, which directly matches the 88 string replacements in the PR.
Description check ✅ Passed The description is comprehensive, covering the what (88 replacements), why (majority already use 워크스페이스), and includes detailed Korean particle rules and quality checks. However, the Test plan section lists unchecked boxes, indicating testing was not completed before submission.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

@say8425 say8425 force-pushed the fix/i18n-korean-terminology-unify branch from e239f44 to 9a0a6af Compare April 16, 2026 02:21
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 16, 2026

Greptile Summary

This PR standardizes Korean terminology across 991 localization strings, replacing "작업 공간" → "워크스페이스" (88 occurrences) and "윈도우" → "창" (37 occurrences). The JSON is valid and no other languages were affected, but the batch replacement did not update the Korean grammatical particles that must agree with each noun's final phoneme.

  • "창" particle errors (7+ strings): "창" ends in a consonant (ㅇ), so it requires "을/과/으로", not the vowel-harmony forms "를/와/로" that were inherited from "윈도우". Examples: 창를 닫으시겠습니까? (line 34532), 창와 모든 워크스페이스 (line 34503), 창로 이동 (lines 32309, 32428).
  • "워크스페이스" particle errors (14+ strings): "워크스페이스" ends in a vowel (ㅔ), so it requires "를/가/와/로", not the consonant-harmony forms "을/이/과/으로" inherited from "작업 공간". Examples: 워크스페이스을 닫으시겠습니까? (line 34831), 워크스페이스이 없습니다 (line 27509), 워크스페이스으로 이동 (line 39019).

Confidence Score: 3/5

Not safe to merge without fixing ~21 Korean grammatical particle errors introduced by the batch terminology replacements.

Two systematic P1 issues are present: the "윈도우"→"창" replacement inherited vowel-harmony particles (를/와/로) that are wrong for a consonant-final noun, and the "작업 공간"→"워크스페이스" replacement inherited consonant-harmony particles (을/이/과/으로) that are wrong for a vowel-final noun. This produces visibly broken Korean grammar in dialogs, menus, and settings strings — directly degrading the experience for Korean-speaking users.

Resources/Localizable.xcstrings — all Korean ko values containing "창" or "워크스페이스" with grammatical particles need a second pass.

Important Files Changed

Filename Overview
Resources/Localizable.xcstrings 125 Korean string replacements standardizing "작업 공간"→"워크스페이스" and "윈도우"→"창", but the batch find-replace did not update dependent Korean grammatical particles — introducing ~21 visible grammar errors in UI strings (e.g. "창를", "창와", "워크스페이스을", "워크스페이스이", "워크스페이스과", "워크스페이스으로").

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["Batch replace\n'작업 공간' → '워크스페이스'\n'윈도우' → '창'"] --> B{Particle agreement\ncorrect?}
    B -->|작업 공간 → 워크스페이스| C["작업 공간 ends in consonant ㄴ\n→ particles: 을/이/과/으로\n\n워크스페이스 ends in vowel ㅔ\n→ needs: 를/가/와/로"]
    B -->|윈도우 → 창| D["윈도우 ends in vowel ㅜ\n→ particles: 를/와/로\n\n창 ends in consonant ㅇ\n→ needs: 을/과/으로"]
    C --> E["❌ 14+ incorrect particles\ne.g. 워크스페이스을, 워크스페이스이\n워크스페이스과, 워크스페이스으로"]
    D --> F["❌ 7+ incorrect particles\ne.g. 창를, 창와, 창로"]
    E --> G["User sees broken Korean grammar\nin dialogs, menus, settings"]
    F --> G
Loading

Reviews (1): Last reviewed commit: "fix(i18n): unify Korean terminology in m..." | Re-trigger Greptile

Comment thread Resources/Localizable.xcstrings Outdated
Comment thread Resources/Localizable.xcstrings Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Resources/Localizable.xcstrings`:
- Around line 32306-32312: The Korean translation under the "stringUnit" entry
currently has two particle errors: change the "value" from "워크스페이스을 창로 이동" to
"워크스페이스를 창으로 이동" (replace "을"→"를" and "창로"→"창으로"); update every "stringUnit"
block where the value matches "워크스페이스을 창로 이동" (including the other occurrence
flagged) to the corrected string so all Korean ("ko") entries use "워크스페이스를 창으로
이동".
- Around line 31328-31334: Replace the incorrect Korean object particle "을" with
"를" for all occurrences of the string value currently written as "워크스페이스을 읽음으로
표시" (and identical variants) in the localization entries; locate each "ko" ->
"stringUnit" -> "value" where the value contains "워크스페이스을" and update it to
"워크스페이스를 읽음으로 표시" so the object marker matches the vowel-ending noun. Ensure all
four repeated instances (the ones matching "워크스페이스을 읽음으로 표시") are changed
consistently.
- Around line 84586-84592: In the three "ko" JSON localization entries under the
"stringUnit" objects where the "value" currently reads "활성 워크스페이스 바로 다음에 새
워크스페이스을 삽입합니다.", change the object particle "워크스페이스을" to the correct "워크스페이스를"
so the value becomes "활성 워크스페이스 바로 다음에 새 워크스페이스를 삽입합니다."; apply the same
replacement for the other two identical "ko" stringUnit value occurrences
referenced in the diff (the three "ko" stringUnit "value" entries).
- Around line 34500-34506: Update the Korean translation string where "value" is
currently "현재 창와 모든 워크스페이스가 닫힙니다." and replace the incorrect conjunction "와"
with the correct "과" so the value reads "현재 창과 모든 워크스페이스가 닫힙니다."; locate the
entry under the "ko" -> "stringUnit" block (the "value" field) and modify it
accordingly.
- Around line 34709-34715: The Korean translation string currently set to
"워크스페이스과 모든 패널을 닫습니다." uses the wrong conjunction particle; update the "value"
for the relevant stringUnit from "워크스페이스과 모든 패널을 닫습니다." to "워크스페이스와 모든 패널을
닫습니다." so the particle matches the vowel-ending noun (refer to the stringUnit's
"value" entry shown in the diff).
- Around line 27506-27512: Update the Korean localization in the "ko" ->
"stringUnit" entry: replace the current value "검색과 일치하는 워크스페이스이 없습니다." with the
correct subject particle form "검색과 일치하는 워크스페이스가 없습니다." so the message uses "가"
for the vowel-ending noun; locate the "ko" block's stringUnit value and update
it accordingly.
- Around line 36137-36143: Fix two Korean particle typos in the localized string
value: in the JSON entry under "ko" → "stringUnit" replace the incorrect "선택한
워크스페이스을 새 창로" with the corrected "선택한 워크스페이스를 새 창으로" (update the "value" field
accordingly).
- Around line 36375-36381: The Korean localization entry under the "ko" ->
"stringUnit" -> "value" currently reads "모든 창와 워크스페이스을 닫습니다." and has incorrect
particles; update that value to use the correct Korean particles so it reads "모든
창과 워크스페이스를 닫습니다." (replace "창와" with "창과" and "워크스페이스을" with "워크스페이스를") in the
Resources/Localizable.xcstrings entry for the "ko" stringUnit.
- Around line 50584-50590: Fix the incorrect Korean object particle in the
localization value: in the "ko" entry where the stringUnit value reads "알림을 받은
워크스페이스을 맨 위로 이동합니다. 단축키 위치를 고정하려면 비활성화하세요.", change "워크스페이스을" to "워크스페이스를" so
the sentence reads correctly; update the value for that stringUnit in
Resources/Localizable.xcstrings accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d187d506-9a27-49c6-8e2f-f7cf9d7e0ca0

📥 Commits

Reviewing files that changed from the base of the PR and between 35167aa and 9a0a6af.

📒 Files selected for processing (1)
  • Resources/Localizable.xcstrings

Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Comment thread Resources/Localizable.xcstrings
Standardize "작업 공간" → "워크스페이스" (88 strings) with proper
Korean particle adjustments for vowel-ending word:

- 작업 공간을 → 워크스페이스를 (object marker)
- 작업 공간이 → 워크스페이스가 (subject marker)
- 작업 공간과 → 워크스페이스와 (conjunction)
- 작업 공간으로 → 워크스페이스로 (direction)
- 작업 공간은 → 워크스페이스는 (topic marker)

"윈도우" is intentionally kept unchanged — Apple's official Korean
macOS UI uses "윈도우" (loanword) for window, not native "창".
(Ref: Apple Support ko-kr/102650, macOS Window menu localization,
consistent with Japanese ウィンドウ loanword pattern.)

Only Korean (ko) values modified. Zero particle errors remaining.
@say8425 say8425 force-pushed the fix/i18n-korean-terminology-unify branch from 9a0a6af to 52d0f15 Compare April 16, 2026 02:31
@say8425 say8425 changed the title fix(i18n): unify Korean terminology in macOS app fix(i18n): unify Korean workspace terminology with correct particles Apr 16, 2026
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