feat: localize all UI text to Korean

Translate all user-facing strings to Korean across 25 files:
- UI screens: title, nickname, lobby, class select, waiting, game,
  shop, result, help, leaderboard, achievements, codex, stats
- Game logic: combat logs, events, achievements, mutations, emotes,
  lobby errors, session messages
- Keep English for: class names, monster names, item names, relic names

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 23:47:27 +09:00
parent 206ac522c5
commit f28160d4da
26 changed files with 286 additions and 286 deletions

View File

@@ -179,22 +179,22 @@ func (p *Player) TickEffects() []string {
if p.HP <= 0 {
p.HP = 1 // Poison can't kill, leaves at 1 HP
}
msgs = append(msgs, fmt.Sprintf("%s takes %d poison damage", p.Name, e.Value))
msgs = append(msgs, fmt.Sprintf("%s 독 피해 %d", p.Name, e.Value))
case StatusBurn:
p.HP -= e.Value
if p.HP <= 0 {
p.HP = 0
p.Dead = true
}
msgs = append(msgs, fmt.Sprintf("%s takes %d burn damage", p.Name, e.Value))
msgs = append(msgs, fmt.Sprintf("%s 화상 피해 %d", p.Name, e.Value))
case StatusFreeze:
msgs = append(msgs, fmt.Sprintf("%s is frozen!", p.Name))
msgs = append(msgs, fmt.Sprintf("%s 동결됨!", p.Name))
case StatusBleed:
p.HP -= e.Value
msgs = append(msgs, fmt.Sprintf("%s takes %d bleed damage", p.Name, e.Value))
msgs = append(msgs, fmt.Sprintf("%s 출혈 피해 %d", p.Name, e.Value))
e.Value++ // Bleed intensifies each turn
case StatusCurse:
msgs = append(msgs, fmt.Sprintf("%s is cursed! Healing reduced", p.Name))
msgs = append(msgs, fmt.Sprintf("%s 저주 상태! 회복량 감소", p.Name))
}
if p.HP < 0 {
p.HP = 0

View File

@@ -200,7 +200,7 @@ func TestBleedEffect(t *testing.T) {
p.AddEffect(ActiveEffect{Type: StatusBleed, Duration: 3, Value: 2})
msgs := p.TickEffects()
if len(msgs) == 0 || !strings.Contains(msgs[0], "bleed") {
if len(msgs) == 0 || !strings.Contains(msgs[0], "출혈") {
t.Error("expected bleed damage message")
}
if p.HP != startHP-2 {
@@ -231,7 +231,7 @@ func TestFreezeTickMessage(t *testing.T) {
p := NewPlayer("Test", ClassMage)
p.AddEffect(ActiveEffect{Type: StatusFreeze, Duration: 1, Value: 0})
msgs := p.TickEffects()
if len(msgs) == 0 || !strings.Contains(msgs[0], "frozen") {
if len(msgs) == 0 || !strings.Contains(msgs[0], "동결") {
t.Error("expected freeze message")
}
// Freeze duration 1 -> removed after tick