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:
@@ -1000,11 +1000,13 @@ class ProgressService {
|
||||
final damage = dot.damagePerTick * ticksTriggered;
|
||||
dotDamageThisTick += damage;
|
||||
|
||||
// DOT 데미지 이벤트 생성
|
||||
// DOT 데미지 이벤트 생성 (skillId → name 변환)
|
||||
final dotSkillName =
|
||||
SkillData.getSkillById(dot.skillId)?.name ?? dot.skillId;
|
||||
newEvents.add(
|
||||
CombatEvent.dotTick(
|
||||
timestamp: timestamp,
|
||||
skillName: dot.skillId,
|
||||
skillName: dotSkillName,
|
||||
damage: damage,
|
||||
targetName: monsterStats.name,
|
||||
),
|
||||
|
||||
@@ -459,11 +459,22 @@ class GameDataL10n {
|
||||
}
|
||||
|
||||
/// 각 단어의 첫 글자를 대문자로 (Title Case)
|
||||
/// 하이픈으로 연결된 단어도 처리 (예: "off-by-one" → "Off-by-One")
|
||||
static String _toTitleCase(String s) {
|
||||
return s
|
||||
.split(' ')
|
||||
.map((word) {
|
||||
if (word.isEmpty) return word;
|
||||
// 하이픈 포함 단어 처리
|
||||
if (word.contains('-')) {
|
||||
return word
|
||||
.split('-')
|
||||
.map((part) {
|
||||
if (part.isEmpty) return part;
|
||||
return part[0].toUpperCase() + part.substring(1);
|
||||
})
|
||||
.join('-');
|
||||
}
|
||||
return word[0].toUpperCase() + word.substring(1);
|
||||
})
|
||||
.join(' ');
|
||||
|
||||
Reference in New Issue
Block a user