From fac7c7e6fcf9eacab464ef2b1805850b83684f2c Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Thu, 11 Dec 2025 18:52:24 +0900 Subject: [PATCH] =?UTF-8?q?feat(l10n):=20=EC=BA=90=EB=A6=AD=ED=84=B0=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=20=ED=99=94=EB=A9=B4=20=ED=95=98=EB=93=9C?= =?UTF-8?q?=EC=BD=94=EB=94=A9=20=ED=85=8D=EC=8A=A4=ED=8A=B8=20l10n=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - newCharacterTitle, soldButton 키 추가 (app_en.arb, app_ko.arb) - new_character_screen.dart 하드코딩 텍스트를 L10n 함수로 변경 - 관련 테스트 업데이트 (widget_test.dart, new_character_screen_test.dart) 변경 내역: - "Progress Quest - New Character" → L10n.newCharacterTitle - "Sold!" → L10n.soldButton --- lib/l10n/app_en.arb | 8 +++++++- lib/l10n/app_ko.arb | 4 +++- lib/src/features/new_character/new_character_screen.dart | 4 ++-- test/features/new_character_screen_test.dart | 4 ++-- test/widget_test.dart | 4 ++-- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 48059bc..976c87c 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -242,5 +242,11 @@ "placeholders": { "percent": { "type": "int" } } - } + }, + + "newCharacterTitle": "ASCII-Nara - New Character", + "@newCharacterTitle": { "description": "New character screen title" }, + + "soldButton": "Sold!", + "@soldButton": { "description": "Confirm character creation button" } } diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index 4303c25..dbe72fd 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -71,5 +71,7 @@ "roll": "굴리기", "race": "종족", "classTitle": "직업", - "percentComplete": "{percent}% 완료" + "percentComplete": "{percent}% 완료", + "newCharacterTitle": "아스키나라 - 새 캐릭터", + "soldButton": "확인!" } diff --git a/lib/src/features/new_character/new_character_screen.dart b/lib/src/features/new_character/new_character_screen.dart index 9c78ec9..4c2853c 100644 --- a/lib/src/features/new_character/new_character_screen.dart +++ b/lib/src/features/new_character/new_character_screen.dart @@ -200,7 +200,7 @@ class _NewCharacterScreenState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: const Text('Progress Quest - New Character'), + title: Text(L10n.of(context).newCharacterTitle), centerTitle: true, ), body: SingleChildScrollView( @@ -231,7 +231,7 @@ class _NewCharacterScreenState extends State { FilledButton.icon( onPressed: _onSold, icon: const Icon(Icons.check), - label: const Text('Sold!'), + label: Text(L10n.of(context).soldButton), style: FilledButton.styleFrom( padding: const EdgeInsets.symmetric(vertical: 16), ), diff --git a/test/features/new_character_screen_test.dart b/test/features/new_character_screen_test.dart index 6e67a28..8171648 100644 --- a/test/features/new_character_screen_test.dart +++ b/test/features/new_character_screen_test.dart @@ -19,8 +19,8 @@ void main() { _buildTestApp(NewCharacterScreen(onCharacterCreated: (_) {})), ); - // 화면 타이틀 확인 - expect(find.text('Progress Quest - New Character'), findsOneWidget); + // 화면 타이틀 확인 (l10n 적용됨) + expect(find.text('ASCII-Nara - New Character'), findsOneWidget); // 종족 섹션 확인 expect(find.text('Race'), findsOneWidget); diff --git a/test/widget_test.dart b/test/widget_test.dart index 7f6a1ee..7e6365a 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -14,8 +14,8 @@ void main() { await tester.tap(find.text('New character')); await tester.pumpAndSettle(); - // NewCharacterScreen으로 이동했는지 확인 - expect(find.text('Progress Quest - New Character'), findsOneWidget); + // NewCharacterScreen으로 이동했는지 확인 (l10n 적용됨) + expect(find.text('ASCII-Nara - New Character'), findsOneWidget); expect(find.text('Race'), findsOneWidget); expect(find.text('Class'), findsOneWidget); expect(find.text('Sold!'), findsOneWidget);