refactor(content): 게임 제목 변경 및 부적절한 내용 수정
- 게임 제목을 'ASCII NEVER DIE'로 통일 (모든 ARB 파일, app.dart) - 미성년 관련 몬스터 수식어를 RPG에 적합하게 변경: - foetal → primordial (원시) - baby → immature (미숙한) - preadolescent → growing (성장 중인) - teenage → young (어린) - underage → inexperienced (경험 부족) - 테스트 파일 업데이트 (새 제목에 맞춤)
This commit is contained in:
@@ -178,12 +178,12 @@ String modifierSick(String s) => isKoreanLocale ? '병든 $s' : 'sick $s';
|
|||||||
String modifierUndernourished(String s) =>
|
String modifierUndernourished(String s) =>
|
||||||
isKoreanLocale ? '영양실조 $s' : 'undernourished $s';
|
isKoreanLocale ? '영양실조 $s' : 'undernourished $s';
|
||||||
|
|
||||||
String modifierFoetal(String s) => isKoreanLocale ? '태아 $s' : 'foetal $s';
|
String modifierFoetal(String s) => isKoreanLocale ? '원시 $s' : 'primordial $s';
|
||||||
String modifierBaby(String s) => isKoreanLocale ? '아기 $s' : 'baby $s';
|
String modifierBaby(String s) => isKoreanLocale ? '미숙한 $s' : 'immature $s';
|
||||||
String modifierPreadolescent(String s) =>
|
String modifierPreadolescent(String s) =>
|
||||||
isKoreanLocale ? '사춘기 전 $s' : 'preadolescent $s';
|
isKoreanLocale ? '성장 중인 $s' : 'growing $s';
|
||||||
String modifierTeenage(String s) => isKoreanLocale ? '십대 $s' : 'teenage $s';
|
String modifierTeenage(String s) => isKoreanLocale ? '어린 $s' : 'young $s';
|
||||||
String modifierUnderage(String s) => isKoreanLocale ? '미성년 $s' : 'underage $s';
|
String modifierUnderage(String s) => isKoreanLocale ? '경험 부족 $s' : 'inexperienced $s';
|
||||||
|
|
||||||
String modifierGreater(String s) => isKoreanLocale ? '상위 $s' : 'greater $s';
|
String modifierGreater(String s) => isKoreanLocale ? '상위 $s' : 'greater $s';
|
||||||
String modifierMassive(String s) => isKoreanLocale ? '거대한 $s' : 'massive $s';
|
String modifierMassive(String s) => isKoreanLocale ? '거대한 $s' : 'massive $s';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// 아스키나라(ASCII-Nara) 한국어 번역 데이터
|
// ASCII NEVER DIE 한국어 번역 데이터
|
||||||
// 게임 데이터의 한국어 번역을 제공합니다.
|
// 게임 데이터의 한국어 번역을 제공합니다.
|
||||||
|
|
||||||
/// 종족 이름 한국어 번역
|
/// 종족 이름 한국어 번역
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// 아스키나라(ASCII-Nara) 세계관 게임 데이터
|
// ASCII NEVER DIE 세계관 게임 데이터
|
||||||
// 코드의 신이 창조한 디지털 판타지 세계
|
// 코드의 신이 창조한 디지털 판타지 세계
|
||||||
|
|
||||||
const Map<String, List<String>> pqConfigData = {
|
const Map<String, List<String>> pqConfigData = {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"@@locale": "en",
|
"@@locale": "en",
|
||||||
|
|
||||||
"appTitle": "ASCII-Nara",
|
"appTitle": "ASCII NEVER DIE",
|
||||||
"@appTitle": { "description": "Application title" },
|
"@appTitle": { "description": "Application title" },
|
||||||
|
|
||||||
"tagNoNetwork": "No network",
|
"tagNoNetwork": "No network",
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
"saveAndExit": "Save and Exit",
|
"saveAndExit": "Save and Exit",
|
||||||
"@saveAndExit": { "description": "Save and exit button" },
|
"@saveAndExit": { "description": "Save and exit button" },
|
||||||
|
|
||||||
"progressQuestTitle": "ASCII-Nara - {name}",
|
"progressQuestTitle": "ASCII NEVER DIE - {name}",
|
||||||
"@progressQuestTitle": {
|
"@progressQuestTitle": {
|
||||||
"description": "Game screen title with character name",
|
"description": "Game screen title with character name",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@@ -201,7 +201,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"welcomeMessage": "Welcome to ASCII-Nara!",
|
"welcomeMessage": "Welcome to ASCII NEVER DIE!",
|
||||||
"@welcomeMessage": { "description": "Welcome message in task progress panel" },
|
"@welcomeMessage": { "description": "Welcome message in task progress panel" },
|
||||||
|
|
||||||
"noSavedGames": "No saved games found.",
|
"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" },
|
"@newCharacterTitle": { "description": "New character screen title" },
|
||||||
|
|
||||||
"soldButton": "Sold!",
|
"soldButton": "Sold!",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"@@locale": "ja",
|
"@@locale": "ja",
|
||||||
|
|
||||||
"appTitle": "Ascii Never Die",
|
"appTitle": "ASCII NEVER DIE",
|
||||||
"tagNoNetwork": "No network",
|
"tagNoNetwork": "No network",
|
||||||
"tagIdleRpg": "Idle RPG loop",
|
"tagIdleRpg": "Idle RPG loop",
|
||||||
"tagLocalSaves": "Local saves",
|
"tagLocalSaves": "Local saves",
|
||||||
@@ -72,6 +72,6 @@
|
|||||||
"race": "Race",
|
"race": "Race",
|
||||||
"classTitle": "Class",
|
"classTitle": "Class",
|
||||||
"percentComplete": "{percent}% complete",
|
"percentComplete": "{percent}% complete",
|
||||||
"newCharacterTitle": "ASCII-Nara - New Character",
|
"newCharacterTitle": "ASCII NEVER DIE - New Character",
|
||||||
"soldButton": "Sold!"
|
"soldButton": "Sold!"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"@@locale": "ko",
|
"@@locale": "ko",
|
||||||
|
|
||||||
"appTitle": "아스키나라",
|
"appTitle": "아스키 네버 다이",
|
||||||
"tagNoNetwork": "오프라인",
|
"tagNoNetwork": "오프라인",
|
||||||
"tagIdleRpg": "방치형 RPG",
|
"tagIdleRpg": "방치형 RPG",
|
||||||
"tagLocalSaves": "로컬 저장",
|
"tagLocalSaves": "로컬 저장",
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
"saveProgressQuestion": "나가기 전에 저장하시겠습니까?",
|
"saveProgressQuestion": "나가기 전에 저장하시겠습니까?",
|
||||||
"exitWithoutSaving": "저장하지 않고 종료",
|
"exitWithoutSaving": "저장하지 않고 종료",
|
||||||
"saveAndExit": "저장 후 종료",
|
"saveAndExit": "저장 후 종료",
|
||||||
"progressQuestTitle": "아스키나라 - {name}",
|
"progressQuestTitle": "아스키 네버 다이 - {name}",
|
||||||
"levelUp": "레벨 업",
|
"levelUp": "레벨 업",
|
||||||
"completeQuest": "퀘스트 완료",
|
"completeQuest": "퀘스트 완료",
|
||||||
"completePlot": "플롯 완료",
|
"completePlot": "플롯 완료",
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
"actNumber": "{number}막",
|
"actNumber": "{number}막",
|
||||||
"noActiveQuests": "진행 중인 퀘스트 없음",
|
"noActiveQuests": "진행 중인 퀘스트 없음",
|
||||||
"questNumber": "퀘스트 #{number}",
|
"questNumber": "퀘스트 #{number}",
|
||||||
"welcomeMessage": "아스키나라에 오신 것을 환영합니다!",
|
"welcomeMessage": "아스키 네버 다이에 오신 것을 환영합니다!",
|
||||||
"noSavedGames": "저장된 게임이 없습니다.",
|
"noSavedGames": "저장된 게임이 없습니다.",
|
||||||
"loadError": "저장 파일 로드 실패: {error}",
|
"loadError": "저장 파일 로드 실패: {error}",
|
||||||
"name": "이름",
|
"name": "이름",
|
||||||
@@ -72,6 +72,6 @@
|
|||||||
"race": "종족",
|
"race": "종족",
|
||||||
"classTitle": "직업",
|
"classTitle": "직업",
|
||||||
"percentComplete": "{percent}% 완료",
|
"percentComplete": "{percent}% 완료",
|
||||||
"newCharacterTitle": "아스키나라 - 새 캐릭터",
|
"newCharacterTitle": "아스키 네버 다이 - 새 캐릭터",
|
||||||
"soldButton": "확인!"
|
"soldButton": "확인!"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ abstract class L10n {
|
|||||||
/// Application title
|
/// Application title
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'ASCII-Nara'**
|
/// **'ASCII NEVER DIE'**
|
||||||
String get appTitle;
|
String get appTitle;
|
||||||
|
|
||||||
/// Tag indicating offline mode
|
/// Tag indicating offline mode
|
||||||
@@ -194,7 +194,7 @@ abstract class L10n {
|
|||||||
/// Game screen title with character name
|
/// Game screen title with character name
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'ASCII-Nara - {name}'**
|
/// **'ASCII NEVER DIE - {name}'**
|
||||||
String progressQuestTitle(String name);
|
String progressQuestTitle(String name);
|
||||||
|
|
||||||
/// Level up tooltip
|
/// Level up tooltip
|
||||||
@@ -464,7 +464,7 @@ abstract class L10n {
|
|||||||
/// Welcome message in task progress panel
|
/// Welcome message in task progress panel
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'Welcome to ASCII-Nara!'**
|
/// **'Welcome to ASCII NEVER DIE!'**
|
||||||
String get welcomeMessage;
|
String get welcomeMessage;
|
||||||
|
|
||||||
/// No saved games message
|
/// No saved games message
|
||||||
@@ -530,7 +530,7 @@ abstract class L10n {
|
|||||||
/// New character screen title
|
/// New character screen title
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'ASCII-Nara - New Character'**
|
/// **'ASCII NEVER DIE - New Character'**
|
||||||
String get newCharacterTitle;
|
String get newCharacterTitle;
|
||||||
|
|
||||||
/// Confirm character creation button
|
/// Confirm character creation button
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class L10nEn extends L10n {
|
|||||||
L10nEn([String locale = 'en']) : super(locale);
|
L10nEn([String locale = 'en']) : super(locale);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get appTitle => 'ASCII-Nara';
|
String get appTitle => 'ASCII NEVER DIE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get tagNoNetwork => 'No network';
|
String get tagNoNetwork => 'No network';
|
||||||
@@ -55,7 +55,7 @@ class L10nEn extends L10n {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String progressQuestTitle(String name) {
|
String progressQuestTitle(String name) {
|
||||||
return 'ASCII-Nara - $name';
|
return 'ASCII NEVER DIE - $name';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -197,7 +197,7 @@ class L10nEn extends L10n {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get welcomeMessage => 'Welcome to ASCII-Nara!';
|
String get welcomeMessage => 'Welcome to ASCII NEVER DIE!';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get noSavedGames => 'No saved games found.';
|
String get noSavedGames => 'No saved games found.';
|
||||||
@@ -234,7 +234,7 @@ class L10nEn extends L10n {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get newCharacterTitle => 'ASCII-Nara - New Character';
|
String get newCharacterTitle => 'ASCII NEVER DIE - New Character';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get soldButton => 'Sold!';
|
String get soldButton => 'Sold!';
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class L10nJa extends L10n {
|
|||||||
L10nJa([String locale = 'ja']) : super(locale);
|
L10nJa([String locale = 'ja']) : super(locale);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get appTitle => 'Ascii Never Die';
|
String get appTitle => 'ASCII NEVER DIE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get tagNoNetwork => 'No network';
|
String get tagNoNetwork => 'No network';
|
||||||
@@ -234,7 +234,7 @@ class L10nJa extends L10n {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get newCharacterTitle => 'ASCII-Nara - New Character';
|
String get newCharacterTitle => 'ASCII NEVER DIE - New Character';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get soldButton => 'Sold!';
|
String get soldButton => 'Sold!';
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class L10nKo extends L10n {
|
|||||||
L10nKo([String locale = 'ko']) : super(locale);
|
L10nKo([String locale = 'ko']) : super(locale);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get appTitle => '아스키나라';
|
String get appTitle => '아스키 네버 다이';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get tagNoNetwork => '오프라인';
|
String get tagNoNetwork => '오프라인';
|
||||||
@@ -55,7 +55,7 @@ class L10nKo extends L10n {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String progressQuestTitle(String name) {
|
String progressQuestTitle(String name) {
|
||||||
return '아스키나라 - $name';
|
return '아스키 네버 다이 - $name';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -197,7 +197,7 @@ class L10nKo extends L10n {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get welcomeMessage => '아스키나라에 오신 것을 환영합니다!';
|
String get welcomeMessage => '아스키 네버 다이에 오신 것을 환영합니다!';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get noSavedGames => '저장된 게임이 없습니다.';
|
String get noSavedGames => '저장된 게임이 없습니다.';
|
||||||
@@ -234,7 +234,7 @@ class L10nKo extends L10n {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get newCharacterTitle => '아스키나라 - 새 캐릭터';
|
String get newCharacterTitle => '아스키 네버 다이 - 새 캐릭터';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get soldButton => '확인!';
|
String get soldButton => '확인!';
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class L10nZh extends L10n {
|
|||||||
L10nZh([String locale = 'zh']) : super(locale);
|
L10nZh([String locale = 'zh']) : super(locale);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get appTitle => 'Ascii Never Die';
|
String get appTitle => 'ASCII NEVER DIE';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get tagNoNetwork => 'No network';
|
String get tagNoNetwork => 'No network';
|
||||||
@@ -234,7 +234,7 @@ class L10nZh extends L10n {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get newCharacterTitle => 'ASCII-Nara - New Character';
|
String get newCharacterTitle => 'ASCII NEVER DIE - New Character';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get soldButton => 'Sold!';
|
String get soldButton => 'Sold!';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"@@locale": "zh",
|
"@@locale": "zh",
|
||||||
|
|
||||||
"appTitle": "Ascii Never Die",
|
"appTitle": "ASCII NEVER DIE",
|
||||||
"tagNoNetwork": "No network",
|
"tagNoNetwork": "No network",
|
||||||
"tagIdleRpg": "Idle RPG loop",
|
"tagIdleRpg": "Idle RPG loop",
|
||||||
"tagLocalSaves": "Local saves",
|
"tagLocalSaves": "Local saves",
|
||||||
@@ -72,6 +72,6 @@
|
|||||||
"race": "Race",
|
"race": "Race",
|
||||||
"classTitle": "Class",
|
"classTitle": "Class",
|
||||||
"percentComplete": "{percent}% complete",
|
"percentComplete": "{percent}% complete",
|
||||||
"newCharacterTitle": "ASCII-Nara - New Character",
|
"newCharacterTitle": "ASCII NEVER DIE - New Character",
|
||||||
"soldButton": "Sold!"
|
"soldButton": "Sold!"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
title: 'Ascii Never Die',
|
title: 'ASCII NEVER DIE',
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
localizationsDelegates: L10n.localizationsDelegates,
|
localizationsDelegates: L10n.localizationsDelegates,
|
||||||
supportedLocales: L10n.supportedLocales,
|
supportedLocales: L10n.supportedLocales,
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class ProgressService {
|
|||||||
/// 새 게임 초기화 (원본 GoButtonClick, Main.pas:741-767)
|
/// 새 게임 초기화 (원본 GoButtonClick, Main.pas:741-767)
|
||||||
/// Prologue 태스크들을 큐에 추가하고 첫 태스크 시작
|
/// Prologue 태스크들을 큐에 추가하고 첫 태스크 시작
|
||||||
GameState initializeNewGame(GameState state) {
|
GameState initializeNewGame(GameState state) {
|
||||||
// 초기 큐 설정 - 아스키나라(ASCII-Nara) 세계관 프롤로그 (l10n 지원)
|
// 초기 큐 설정 - ASCII NEVER DIE 세계관 프롤로그 (l10n 지원)
|
||||||
final prologueTexts = l10n.prologueTexts;
|
final prologueTexts = l10n.prologueTexts;
|
||||||
final initialQueue = <QueueEntry>[
|
final initialQueue = <QueueEntry>[
|
||||||
QueueEntry(
|
QueueEntry(
|
||||||
|
|||||||
@@ -98,8 +98,8 @@ void main() {
|
|||||||
_buildTestApp(GamePlayScreen(controller: controller)),
|
_buildTestApp(GamePlayScreen(controller: controller)),
|
||||||
);
|
);
|
||||||
|
|
||||||
// AppBar 타이틀 확인 (L10n 사용) - 아스키나라 세계관
|
// AppBar 타이틀 확인 (L10n 사용) - ASCII NEVER DIE
|
||||||
expect(find.textContaining('ASCII-Nara'), findsOneWidget);
|
expect(find.textContaining('ASCII NEVER DIE'), findsOneWidget);
|
||||||
|
|
||||||
// 3패널 헤더 확인
|
// 3패널 헤더 확인
|
||||||
expect(find.text('Character Sheet'), findsOneWidget);
|
expect(find.text('Character Sheet'), findsOneWidget);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ void main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// 화면 타이틀 확인 (l10n 적용됨)
|
// 화면 타이틀 확인 (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('Race'), findsOneWidget);
|
||||||
|
|||||||
@@ -7,15 +7,15 @@ void main() {
|
|||||||
) async {
|
) async {
|
||||||
await tester.pumpWidget(const AskiiNeverDieApp());
|
await tester.pumpWidget(const AskiiNeverDieApp());
|
||||||
|
|
||||||
// 프런트 화면이 렌더링되었는지 확인 (아스키나라 세계관)
|
// 프런트 화면이 렌더링되었는지 확인
|
||||||
expect(find.text('ASCII-Nara'), findsOneWidget);
|
expect(find.text('ASCII NEVER DIE'), findsOneWidget);
|
||||||
|
|
||||||
// "New character" 버튼 탭
|
// "New character" 버튼 탭
|
||||||
await tester.tap(find.text('New character'));
|
await tester.tap(find.text('New character'));
|
||||||
await tester.pumpAndSettle();
|
await tester.pumpAndSettle();
|
||||||
|
|
||||||
// NewCharacterScreen으로 이동했는지 확인 (l10n 적용됨)
|
// 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('Race'), findsOneWidget);
|
||||||
expect(find.text('Class'), findsOneWidget);
|
expect(find.text('Class'), findsOneWidget);
|
||||||
expect(find.text('Sold!'), findsOneWidget);
|
expect(find.text('Sold!'), findsOneWidget);
|
||||||
|
|||||||
Reference in New Issue
Block a user