fix(i18n): unify Korean workspace terminology with correct particles#2931
fix(i18n): unify Korean workspace terminology with correct particles#2931say8425 wants to merge 1 commit intomanaflow-ai:mainfrom
Conversation
|
@say8425 is attempting to deploy a commit to the Manaflow Team on Vercel. A member of the Team first needs to authorize it. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughKorean localization strings in Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
e239f44 to
9a0a6af
Compare
Greptile SummaryThis 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.
Confidence Score: 3/5Not 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
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
Reviews (1): Last reviewed commit: "fix(i18n): unify Korean terminology in m..." | Re-trigger Greptile |
There was a problem hiding this comment.
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
📒 Files selected for processing (1)
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.
9a0a6af to
52d0f15
Compare
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:
Korean particle rules applied
"작업 공간" ends in consonant ㄴ, "워크스페이스" ends in vowel — particles must change:
Changes
Resources/Localizable.xcstrings: 88 Korean string replacements (88 ins / 88 del)Quality checks
kovalues modifiedTest plan
Resources/Localizable.xcstringsloads in XcodeReview Trigger
Summary by CodeRabbit