refactor(content): 게임 제목 변경 및 부적절한 내용 수정

- 게임 제목을 'ASCII NEVER DIE'로 통일 (모든 ARB 파일, app.dart)
- 미성년 관련 몬스터 수식어를 RPG에 적합하게 변경:
  - foetal → primordial (원시)
  - baby → immature (미숙한)
  - preadolescent → growing (성장 중인)
  - teenage → young (어린)
  - underage → inexperienced (경험 부족)
- 테스트 파일 업데이트 (새 제목에 맞춤)
This commit is contained in:
JiWoong Sul
2025-12-12 15:50:59 +09:00
parent 8314aea578
commit e30177e788
17 changed files with 43 additions and 43 deletions

View File

@@ -178,12 +178,12 @@ String modifierSick(String s) => isKoreanLocale ? '병든 $s' : 'sick $s';
String modifierUndernourished(String s) =>
isKoreanLocale ? '영양실조 $s' : 'undernourished $s';
String modifierFoetal(String s) => isKoreanLocale ? '태아 $s' : 'foetal $s';
String modifierBaby(String s) => isKoreanLocale ? '아기 $s' : 'baby $s';
String modifierFoetal(String s) => isKoreanLocale ? '원시 $s' : 'primordial $s';
String modifierBaby(String s) => isKoreanLocale ? '미숙한 $s' : 'immature $s';
String modifierPreadolescent(String s) =>
isKoreanLocale ? '사춘기 전 $s' : 'preadolescent $s';
String modifierTeenage(String s) => isKoreanLocale ? '십대 $s' : 'teenage $s';
String modifierUnderage(String s) => isKoreanLocale ? '미성년 $s' : 'underage $s';
isKoreanLocale ? '성장 중인 $s' : 'growing $s';
String modifierTeenage(String s) => isKoreanLocale ? '어린 $s' : 'young $s';
String modifierUnderage(String s) => isKoreanLocale ? '경험 부족 $s' : 'inexperienced $s';
String modifierGreater(String s) => isKoreanLocale ? '상위 $s' : 'greater $s';
String modifierMassive(String s) => isKoreanLocale ? '거대한 $s' : 'massive $s';

View File

@@ -1,4 +1,4 @@
// 아스키나라(ASCII-Nara) 한국어 번역 데이터
// ASCII NEVER DIE 한국어 번역 데이터
// 게임 데이터의 한국어 번역을 제공합니다.
/// 종족 이름 한국어 번역

View File

@@ -1,4 +1,4 @@
// 아스키나라(ASCII-Nara) 세계관 게임 데이터
// ASCII NEVER DIE 세계관 게임 데이터
// 코드의 신이 창조한 디지털 판타지 세계
const Map<String, List<String>> pqConfigData = {

View File

@@ -1,7 +1,7 @@
{
"@@locale": "en",
"appTitle": "ASCII-Nara",
"appTitle": "ASCII NEVER DIE",
"@appTitle": { "description": "Application title" },
"tagNoNetwork": "No network",
@@ -46,7 +46,7 @@
"saveAndExit": "Save and Exit",
"@saveAndExit": { "description": "Save and exit button" },
"progressQuestTitle": "ASCII-Nara - {name}",
"progressQuestTitle": "ASCII NEVER DIE - {name}",
"@progressQuestTitle": {
"description": "Game screen title with character name",
"placeholders": {
@@ -201,7 +201,7 @@
}
},
"welcomeMessage": "Welcome to ASCII-Nara!",
"welcomeMessage": "Welcome to ASCII NEVER DIE!",
"@welcomeMessage": { "description": "Welcome message in task progress panel" },
"noSavedGames": "No saved games found.",
@@ -244,7 +244,7 @@
}
},
"newCharacterTitle": "ASCII-Nara - New Character",
"newCharacterTitle": "ASCII NEVER DIE - New Character",
"@newCharacterTitle": { "description": "New character screen title" },
"soldButton": "Sold!",

View File

@@ -1,7 +1,7 @@
{
"@@locale": "ja",
"appTitle": "Ascii Never Die",
"appTitle": "ASCII NEVER DIE",
"tagNoNetwork": "No network",
"tagIdleRpg": "Idle RPG loop",
"tagLocalSaves": "Local saves",
@@ -72,6 +72,6 @@
"race": "Race",
"classTitle": "Class",
"percentComplete": "{percent}% complete",
"newCharacterTitle": "ASCII-Nara - New Character",
"newCharacterTitle": "ASCII NEVER DIE - New Character",
"soldButton": "Sold!"
}

View File

@@ -1,7 +1,7 @@
{
"@@locale": "ko",
"appTitle": "아스키나라",
"appTitle": "아스키 네버 다이",
"tagNoNetwork": "오프라인",
"tagIdleRpg": "방치형 RPG",
"tagLocalSaves": "로컬 저장",
@@ -16,7 +16,7 @@
"saveProgressQuestion": "나가기 전에 저장하시겠습니까?",
"exitWithoutSaving": "저장하지 않고 종료",
"saveAndExit": "저장 후 종료",
"progressQuestTitle": "아스키나라 - {name}",
"progressQuestTitle": "아스키 네버 다이 - {name}",
"levelUp": "레벨 업",
"completeQuest": "퀘스트 완료",
"completePlot": "플롯 완료",
@@ -61,7 +61,7 @@
"actNumber": "{number}막",
"noActiveQuests": "진행 중인 퀘스트 없음",
"questNumber": "퀘스트 #{number}",
"welcomeMessage": "아스키나라에 오신 것을 환영합니다!",
"welcomeMessage": "아스키 네버 다이에 오신 것을 환영합니다!",
"noSavedGames": "저장된 게임이 없습니다.",
"loadError": "저장 파일 로드 실패: {error}",
"name": "이름",
@@ -72,6 +72,6 @@
"race": "종족",
"classTitle": "직업",
"percentComplete": "{percent}% 완료",
"newCharacterTitle": "아스키나라 - 새 캐릭터",
"newCharacterTitle": "아스키 네버 다이 - 새 캐릭터",
"soldButton": "확인!"
}

View File

@@ -104,7 +104,7 @@ abstract class L10n {
/// Application title
///
/// In en, this message translates to:
/// **'ASCII-Nara'**
/// **'ASCII NEVER DIE'**
String get appTitle;
/// Tag indicating offline mode
@@ -194,7 +194,7 @@ abstract class L10n {
/// Game screen title with character name
///
/// In en, this message translates to:
/// **'ASCII-Nara - {name}'**
/// **'ASCII NEVER DIE - {name}'**
String progressQuestTitle(String name);
/// Level up tooltip
@@ -464,7 +464,7 @@ abstract class L10n {
/// Welcome message in task progress panel
///
/// In en, this message translates to:
/// **'Welcome to ASCII-Nara!'**
/// **'Welcome to ASCII NEVER DIE!'**
String get welcomeMessage;
/// No saved games message
@@ -530,7 +530,7 @@ abstract class L10n {
/// New character screen title
///
/// In en, this message translates to:
/// **'ASCII-Nara - New Character'**
/// **'ASCII NEVER DIE - New Character'**
String get newCharacterTitle;
/// Confirm character creation button

View File

@@ -9,7 +9,7 @@ class L10nEn extends L10n {
L10nEn([String locale = 'en']) : super(locale);
@override
String get appTitle => 'ASCII-Nara';
String get appTitle => 'ASCII NEVER DIE';
@override
String get tagNoNetwork => 'No network';
@@ -55,7 +55,7 @@ class L10nEn extends L10n {
@override
String progressQuestTitle(String name) {
return 'ASCII-Nara - $name';
return 'ASCII NEVER DIE - $name';
}
@override
@@ -197,7 +197,7 @@ class L10nEn extends L10n {
}
@override
String get welcomeMessage => 'Welcome to ASCII-Nara!';
String get welcomeMessage => 'Welcome to ASCII NEVER DIE!';
@override
String get noSavedGames => 'No saved games found.';
@@ -234,7 +234,7 @@ class L10nEn extends L10n {
}
@override
String get newCharacterTitle => 'ASCII-Nara - New Character';
String get newCharacterTitle => 'ASCII NEVER DIE - New Character';
@override
String get soldButton => 'Sold!';

View File

@@ -9,7 +9,7 @@ class L10nJa extends L10n {
L10nJa([String locale = 'ja']) : super(locale);
@override
String get appTitle => 'Ascii Never Die';
String get appTitle => 'ASCII NEVER DIE';
@override
String get tagNoNetwork => 'No network';
@@ -234,7 +234,7 @@ class L10nJa extends L10n {
}
@override
String get newCharacterTitle => 'ASCII-Nara - New Character';
String get newCharacterTitle => 'ASCII NEVER DIE - New Character';
@override
String get soldButton => 'Sold!';

View File

@@ -9,7 +9,7 @@ class L10nKo extends L10n {
L10nKo([String locale = 'ko']) : super(locale);
@override
String get appTitle => '아스키나라';
String get appTitle => '아스키 네버 다이';
@override
String get tagNoNetwork => '오프라인';
@@ -55,7 +55,7 @@ class L10nKo extends L10n {
@override
String progressQuestTitle(String name) {
return '아스키나라 - $name';
return '아스키 네버 다이 - $name';
}
@override
@@ -197,7 +197,7 @@ class L10nKo extends L10n {
}
@override
String get welcomeMessage => '아스키나라에 오신 것을 환영합니다!';
String get welcomeMessage => '아스키 네버 다이에 오신 것을 환영합니다!';
@override
String get noSavedGames => '저장된 게임이 없습니다.';
@@ -234,7 +234,7 @@ class L10nKo extends L10n {
}
@override
String get newCharacterTitle => '아스키나라 - 새 캐릭터';
String get newCharacterTitle => '아스키 네버 다이 - 새 캐릭터';
@override
String get soldButton => '확인!';

View File

@@ -9,7 +9,7 @@ class L10nZh extends L10n {
L10nZh([String locale = 'zh']) : super(locale);
@override
String get appTitle => 'Ascii Never Die';
String get appTitle => 'ASCII NEVER DIE';
@override
String get tagNoNetwork => 'No network';
@@ -234,7 +234,7 @@ class L10nZh extends L10n {
}
@override
String get newCharacterTitle => 'ASCII-Nara - New Character';
String get newCharacterTitle => 'ASCII NEVER DIE - New Character';
@override
String get soldButton => 'Sold!';

View File

@@ -1,7 +1,7 @@
{
"@@locale": "zh",
"appTitle": "Ascii Never Die",
"appTitle": "ASCII NEVER DIE",
"tagNoNetwork": "No network",
"tagIdleRpg": "Idle RPG loop",
"tagLocalSaves": "Local saves",
@@ -72,6 +72,6 @@
"race": "Race",
"classTitle": "Class",
"percentComplete": "{percent}% complete",
"newCharacterTitle": "ASCII-Nara - New Character",
"newCharacterTitle": "ASCII NEVER DIE - New Character",
"soldButton": "Sold!"
}

View File

@@ -51,7 +51,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Ascii Never Die',
title: 'ASCII NEVER DIE',
debugShowCheckedModeBanner: false,
localizationsDelegates: L10n.localizationsDelegates,
supportedLocales: L10n.supportedLocales,

View File

@@ -38,7 +38,7 @@ class ProgressService {
/// 새 게임 초기화 (원본 GoButtonClick, Main.pas:741-767)
/// Prologue 태스크들을 큐에 추가하고 첫 태스크 시작
GameState initializeNewGame(GameState state) {
// 초기 큐 설정 - 아스키나라(ASCII-Nara) 세계관 프롤로그 (l10n 지원)
// 초기 큐 설정 - ASCII NEVER DIE 세계관 프롤로그 (l10n 지원)
final prologueTexts = l10n.prologueTexts;
final initialQueue = <QueueEntry>[
QueueEntry(

View File

@@ -98,8 +98,8 @@ void main() {
_buildTestApp(GamePlayScreen(controller: controller)),
);
// AppBar 타이틀 확인 (L10n 사용) - 아스키나라 세계관
expect(find.textContaining('ASCII-Nara'), findsOneWidget);
// AppBar 타이틀 확인 (L10n 사용) - ASCII NEVER DIE
expect(find.textContaining('ASCII NEVER DIE'), findsOneWidget);
// 3패널 헤더 확인
expect(find.text('Character Sheet'), findsOneWidget);

View File

@@ -20,7 +20,7 @@ void main() {
);
// 화면 타이틀 확인 (l10n 적용됨)
expect(find.text('ASCII-Nara - New Character'), findsOneWidget);
expect(find.text('ASCII NEVER DIE - New Character'), findsOneWidget);
// 종족 섹션 확인
expect(find.text('Race'), findsOneWidget);

View File

@@ -7,15 +7,15 @@ void main() {
) async {
await tester.pumpWidget(const AskiiNeverDieApp());
// 프런트 화면이 렌더링되었는지 확인 (아스키나라 세계관)
expect(find.text('ASCII-Nara'), findsOneWidget);
// 프런트 화면이 렌더링되었는지 확인
expect(find.text('ASCII NEVER DIE'), findsOneWidget);
// "New character" 버튼 탭
await tester.tap(find.text('New character'));
await tester.pumpAndSettle();
// NewCharacterScreen으로 이동했는지 확인 (l10n 적용됨)
expect(find.text('ASCII-Nara - New Character'), findsOneWidget);
expect(find.text('ASCII NEVER DIE - New Character'), findsOneWidget);
expect(find.text('Race'), findsOneWidget);
expect(find.text('Class'), findsOneWidget);
expect(find.text('Sold!'), findsOneWidget);