feat(l10n): 게임 텍스트 다국어 지원 확장

- game_text_l10n.dart: 스탯/UI 텍스트 추가 (+61 라인)
- 한국어/일본어 번역 업데이트
- game_data_l10n.dart: 텍스트 접근자 추가
- equipment_stats_panel: l10n 적용 및 레이아웃 개선
- active_buff_panel, potion_inventory_panel: 코드 정리
- new_character_screen: 코드 정리
- progress_service: 마이너 개선
This commit is contained in:
JiWoong Sul
2025-12-23 15:51:56 +09:00
parent 99f5b74802
commit 1da6fa7a2b
10 changed files with 137 additions and 26 deletions

View File

@@ -1129,6 +1129,17 @@ String translateFaction(String englishFaction) {
return englishFaction;
}
/// 스킬/주문 이름 번역 (전투 로그용)
String translateSpell(String englishName) {
if (isKoreanLocale) {
return spellTranslationsKo[englishName] ?? englishName;
}
if (isJapaneseLocale) {
return spellTranslationsJa[englishName] ?? englishName;
}
return englishName;
}
// ============================================================================
// 프론트 화면 텍스트
// ============================================================================
@@ -1418,3 +1429,53 @@ String get uiDot {
if (isJapaneseLocale) return 'DOT';
return 'DOT';
}
// ============================================================================
// 아이템 희귀도
// ============================================================================
String get rarityCommon {
if (isKoreanLocale) return '일반';
if (isJapaneseLocale) return 'コモン';
return 'COMMON';
}
String get rarityUncommon {
if (isKoreanLocale) return '고급';
if (isJapaneseLocale) return 'アンコモン';
return 'UNCOMMON';
}
String get rarityRare {
if (isKoreanLocale) return '희귀';
if (isJapaneseLocale) return 'レア';
return 'RARE';
}
String get rarityEpic {
if (isKoreanLocale) return '영웅';
if (isJapaneseLocale) return 'エピック';
return 'EPIC';
}
String get rarityLegendary {
if (isKoreanLocale) return '전설';
if (isJapaneseLocale) return 'レジェンダリー';
return 'LEGENDARY';
}
// ============================================================================
// 캐릭터 생성 화면 텍스트
// ============================================================================
String uiRollHistory(int count) {
if (isKoreanLocale) return '리롤 기록: $count회';
if (isJapaneseLocale) return 'リロール履歴: $count回';
return '$count roll(s) in history';
}
String get uiEnterName {
if (isKoreanLocale) return '이름을 입력해주세요.';
if (isJapaneseLocale) return '名前を入力してください。';
return 'Please enter a name.';
}

View File

@@ -119,6 +119,17 @@ const Map<String, String> spellTranslationsJa = {
'Deploy': 'デプロイ',
'Scale Up': 'スケールアップ',
'Failover': 'フェイルオーバー',
// ポーション (Potions)
'Minor Health Patch': 'マイナーHPパッチ',
'Health Patch': 'HPパッチ',
'Major Health Patch': 'メジャーHPパッチ',
'Super Health Patch': 'スーパーHPパッチ',
'Ultra Health Patch': 'ウルトラHPパッチ',
'Minor Mana Cache': 'マイナーMPキャッシュ',
'Mana Cache': 'MPキャッシュ',
'Major Mana Cache': 'メジャーMPキャッシュ',
'Super Mana Cache': 'スーパーMPキャッシュ',
'Ultra Mana Cache': 'ウルトラMPキャッシュ',
};
/// モンスター名日本語翻訳 (主要モンスター)

View File

@@ -119,6 +119,17 @@ const Map<String, String> spellTranslationsKo = {
'Deploy': '배포',
'Scale Up': '스케일 업',
'Failover': '페일오버',
// 포션 (Potions)
'Minor Health Patch': '소형 HP 패치',
'Health Patch': 'HP 패치',
'Major Health Patch': '대형 HP 패치',
'Super Health Patch': '초대형 HP 패치',
'Ultra Health Patch': '최고급 HP 패치',
'Minor Mana Cache': '소형 MP 캐시',
'Mana Cache': 'MP 캐시',
'Major Mana Cache': '대형 MP 캐시',
'Super Mana Cache': '초대형 MP 캐시',
'Ultra Mana Cache': '최고급 MP 캐시',
};
/// 몬스터 이름 한국어 번역 (주요 몬스터만)