From 7fcae4893e65682d9342735ffbb4dce29e3b5df0 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Thu, 19 Mar 2026 14:56:58 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=ED=83=80=EC=9E=85=20=EC=95=88?= =?UTF-8?q?=EC=A0=84=EC=84=B1=20=EA=B0=9C=EC=84=A0=20=EB=B0=8F=20=ED=95=98?= =?UTF-8?q?=EB=93=9C=EC=BD=94=EB=94=A9=20=EB=AC=B8=EC=9E=90=EC=97=B4=20l10?= =?UTF-8?q?n=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - return_rewards_dialog: _getRarityColor(dynamic) → ItemRarity? 타입 명시 - stats_section: 하드코딩된 Undo/Rolls 문자열을 l10n으로 교체 - game_text_l10n: uiUndoAndRolls, uiRollsOnly 추가 (한/영/일) - skill_data: 주석 스킬 개수 70→68 수정 --- lib/data/game_text_l10n.dart | 7 +++++++ .../game/widgets/return_rewards_dialog.dart | 18 +++++++++--------- .../new_character/widgets/stats_section.dart | 5 +++-- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/lib/data/game_text_l10n.dart b/lib/data/game_text_l10n.dart index e558778..fa17c2f 100644 --- a/lib/data/game_text_l10n.dart +++ b/lib/data/game_text_l10n.dart @@ -1021,6 +1021,13 @@ String uiRollHistory(int count) => _l('$count roll(s) in history', '리롤 기록: $count회', 'リロール履歴: $count回'); String get uiEnterName => _l('Please enter a name.', '이름을 입력해주세요.', '名前を入力してください。'); +String uiUndoAndRolls(int undo, int rolls) => _l( + 'Undo: $undo | Rolls: $rolls/5', + '되돌리기: $undo | 굴리기: $rolls/5', + 'やり直し: $undo | ロール: $rolls/5', +); +String uiRollsOnly(int rolls) => + _l('Rolls: $rolls/5', '굴리기: $rolls/5', 'ロール: $rolls/5'); String get uiTestMode => _l('Test Mode', '테스트 모드', 'テストモード'); String get uiTestModeDesc => _l('Use mobile layout on web', '웹에서 모바일 레이아웃 사용', 'Webでモバイルレイアウトを使用'); diff --git a/lib/src/features/game/widgets/return_rewards_dialog.dart b/lib/src/features/game/widgets/return_rewards_dialog.dart index 11fda5b..6007a12 100644 --- a/lib/src/features/game/widgets/return_rewards_dialog.dart +++ b/lib/src/features/game/widgets/return_rewards_dialog.dart @@ -4,6 +4,7 @@ import 'package:asciineverdie/data/game_text_l10n.dart' as l10n; import 'package:asciineverdie/data/potion_data.dart'; import 'package:asciineverdie/src/core/engine/iap_service.dart'; import 'package:asciineverdie/src/core/engine/return_rewards_service.dart'; +import 'package:asciineverdie/src/core/model/item_stats.dart'; import 'package:asciineverdie/src/core/model/treasure_chest.dart'; import 'package:asciineverdie/src/shared/retro_colors.dart'; @@ -449,15 +450,14 @@ class _ReturnRewardsDialogState extends State ); } - Color _getRarityColor(dynamic rarity) { - if (rarity == null) return Colors.white; - return switch (rarity.toString()) { - 'ItemRarity.common' => Colors.grey, - 'ItemRarity.uncommon' => Colors.green, - 'ItemRarity.rare' => Colors.blue, - 'ItemRarity.epic' => Colors.purple, - 'ItemRarity.legendary' => Colors.orange, - _ => Colors.white, + Color _getRarityColor(ItemRarity? rarity) { + return switch (rarity) { + null => Colors.white, + ItemRarity.common => Colors.grey, + ItemRarity.uncommon => Colors.green, + ItemRarity.rare => Colors.blue, + ItemRarity.epic => Colors.purple, + ItemRarity.legendary => Colors.orange, }; } diff --git a/lib/src/features/new_character/widgets/stats_section.dart b/lib/src/features/new_character/widgets/stats_section.dart index e9d5e7a..694a384 100644 --- a/lib/src/features/new_character/widgets/stats_section.dart +++ b/lib/src/features/new_character/widgets/stats_section.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:asciineverdie/data/game_text_l10n.dart' as game_l10n; import 'package:asciineverdie/l10n/app_localizations.dart'; import 'package:asciineverdie/src/core/engine/iap_service.dart'; import 'package:asciineverdie/src/shared/retro_colors.dart'; @@ -141,8 +142,8 @@ class StatsSection extends StatelessWidget { child: Center( child: Text( canUndo - ? 'Undo: $availableUndos | Rolls: $rollsRemaining/5' - : 'Rolls: $rollsRemaining/5', + ? game_l10n.uiUndoAndRolls(availableUndos, rollsRemaining) + : game_l10n.uiRollsOnly(rollsRemaining), style: const TextStyle( fontFamily: 'PressStart2P', fontSize: 11,