From 1a8858a3b1a68c6e0aea14ad8653e9b3015a4976 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Mon, 23 Feb 2026 15:49:28 +0900 Subject: [PATCH] =?UTF-8?q?feat(l10n):=20=EB=8B=A4=EA=B5=AD=EC=96=B4=20?= =?UTF-8?q?=EB=A6=AC=EC=86=8C=EC=8A=A4=20=ED=99=95=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 아레나, 통계, 설정 등 신규 번역 키 추가 - 한국어, 영어, 일본어 리소스 업데이트 - 생성된 localizations 파일 반영 --- lib/l10n/app_en.arb | 235 +++++++++++++++- lib/l10n/app_ja.arb | 287 ++++++++++++------- lib/l10n/app_ko.arb | 77 ++++- lib/l10n/app_localizations.dart | 432 ++++++++++++++++++++++++++++ lib/l10n/app_localizations_en.dart | 222 +++++++++++++++ lib/l10n/app_localizations_ja.dart | 437 ++++++++++++++++++++++------- lib/l10n/app_localizations_ko.dart | 222 +++++++++++++++ 7 files changed, 1695 insertions(+), 217 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 77d22f7..158374c 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -473,5 +473,238 @@ "@debugOfflineHoursDesc": { "description": "Offline hours debug description" }, "debugTestCharacterDesc": "Modify current character to Level 100\nand register to the Hall of Fame.", - "@debugTestCharacterDesc": { "description": "Test character creation description" } + "@debugTestCharacterDesc": { "description": "Test character creation description" }, + + "arenaTitle": "LOCAL ARENA", + "@arenaTitle": { "description": "Arena main screen title" }, + + "arenaSelectFighter": "SELECT YOUR FIGHTER", + "@arenaSelectFighter": { "description": "Arena character selection subtitle" }, + + "arenaEmptyTitle": "Not enough heroes", + "@arenaEmptyTitle": { "description": "Arena empty state title" }, + + "arenaEmptyHint": "Clear the game with 2+ characters", + "@arenaEmptyHint": { "description": "Arena empty state hint" }, + + "arenaSetupTitle": "ARENA SETUP", + "@arenaSetupTitle": { "description": "Arena setup screen title" }, + + "arenaStartBattle": "START BATTLE", + "@arenaStartBattle": { "description": "Start battle button" }, + + "arenaBattleTitle": "ARENA BATTLE", + "@arenaBattleTitle": { "description": "Arena battle screen title" }, + + "arenaMyEquipment": "MY EQUIPMENT", + "@arenaMyEquipment": { "description": "My equipment header" }, + + "arenaEnemyEquipment": "ENEMY EQUIPMENT", + "@arenaEnemyEquipment": { "description": "Enemy equipment header" }, + + "arenaSelected": "SELECTED", + "@arenaSelected": { "description": "Selected slot label" }, + + "arenaRecommended": "BEST", + "@arenaRecommended": { "description": "Recommended slot label" }, + + "arenaWeaponLocked": "LOCKED", + "@arenaWeaponLocked": { "description": "Weapon slot locked label" }, + + "arenaVictory": "VICTORY!", + "@arenaVictory": { "description": "Arena victory title" }, + + "arenaDefeat": "DEFEAT...", + "@arenaDefeat": { "description": "Arena defeat title" }, + + "arenaEquipmentExchange": "EQUIPMENT EXCHANGE", + "@arenaEquipmentExchange": { "description": "Equipment exchange section title" }, + + "arenaTurns": "TURNS", + "@arenaTurns": { "description": "Turns label" }, + + "arenaWinner": "WINNER", + "@arenaWinner": { "description": "Winner label" }, + + "arenaLoser": "LOSER", + "@arenaLoser": { "description": "Loser label" }, + + "arenaDefeatedIn": "{winner} defeated {loser} in {turns} TURNS", + "@arenaDefeatedIn": { + "description": "Battle summary text", + "placeholders": { + "winner": { "type": "String" }, + "loser": { "type": "String" }, + "turns": { "type": "int" } + } + }, + + "arenaScoreGain": "You will GAIN +{score}", + "@arenaScoreGain": { + "description": "Score gain prediction", + "placeholders": { + "score": { "type": "int" } + } + }, + + "arenaScoreLose": "You will LOSE {score}", + "@arenaScoreLose": { + "description": "Score loss prediction", + "placeholders": { + "score": { "type": "int" } + } + }, + + "arenaEvenTrade": "Even trade", + "@arenaEvenTrade": { "description": "Even trade label" }, + + "arenaScore": "SCORE", + "@arenaScore": { "description": "Score label" }, + + "statsStatistics": "Statistics", + "@statsStatistics": { "description": "Statistics dialog title" }, + + "statsSession": "Session", + "@statsSession": { "description": "Session tab label" }, + + "statsAccumulated": "Total", + "@statsAccumulated": { "description": "Accumulated tab label" }, + + "statsCombat": "Combat", + "@statsCombat": { "description": "Combat section title" }, + + "statsPlayTime": "Play Time", + "@statsPlayTime": { "description": "Play time label" }, + + "statsMonstersKilled": "Monsters Killed", + "@statsMonstersKilled": { "description": "Monsters killed label" }, + + "statsBossesDefeated": "Bosses Defeated", + "@statsBossesDefeated": { "description": "Bosses defeated label" }, + + "statsDeaths": "Deaths", + "@statsDeaths": { "description": "Deaths label" }, + + "statsDamage": "Damage", + "@statsDamage": { "description": "Damage section title" }, + + "statsDamageDealt": "Damage Dealt", + "@statsDamageDealt": { "description": "Damage dealt label" }, + + "statsDamageTaken": "Damage Taken", + "@statsDamageTaken": { "description": "Damage taken label" }, + + "statsAverageDps": "Average DPS", + "@statsAverageDps": { "description": "Average DPS label" }, + + "statsSkills": "Skills", + "@statsSkills": { "description": "Skills section title" }, + + "statsSkillsUsed": "Skills Used", + "@statsSkillsUsed": { "description": "Skills used label" }, + + "statsCriticalHits": "Critical Hits", + "@statsCriticalHits": { "description": "Critical hits label" }, + + "statsMaxCriticalStreak": "Max Critical Streak", + "@statsMaxCriticalStreak": { "description": "Max critical streak label" }, + + "statsCriticalRate": "Critical Rate", + "@statsCriticalRate": { "description": "Critical rate label" }, + + "statsEconomy": "Economy", + "@statsEconomy": { "description": "Economy section title" }, + + "statsGoldEarned": "Gold Earned", + "@statsGoldEarned": { "description": "Gold earned label" }, + + "statsGoldSpent": "Gold Spent", + "@statsGoldSpent": { "description": "Gold spent label" }, + + "statsItemsSold": "Items Sold", + "@statsItemsSold": { "description": "Items sold label" }, + + "statsPotionsUsed": "Potions Used", + "@statsPotionsUsed": { "description": "Potions used label" }, + + "statsProgress": "Progress", + "@statsProgress": { "description": "Progress section title" }, + + "statsLevelUps": "Level Ups", + "@statsLevelUps": { "description": "Level ups label" }, + + "statsQuestsCompleted": "Quests Completed", + "@statsQuestsCompleted": { "description": "Quests completed label" }, + + "statsRecords": "Records", + "@statsRecords": { "description": "Records section title" }, + + "statsHighestLevel": "Highest Level", + "@statsHighestLevel": { "description": "Highest level label" }, + + "statsHighestGoldHeld": "Highest Gold Held", + "@statsHighestGoldHeld": { "description": "Highest gold held label" }, + + "statsBestCriticalStreak": "Best Critical Streak", + "@statsBestCriticalStreak": { "description": "Best critical streak label" }, + + "statsTotalPlay": "Total Play", + "@statsTotalPlay": { "description": "Total play section title" }, + + "statsTotalPlayTime": "Total Play Time", + "@statsTotalPlayTime": { "description": "Total play time label" }, + + "statsGamesStarted": "Games Started", + "@statsGamesStarted": { "description": "Games started label" }, + + "statsGamesCompleted": "Games Completed", + "@statsGamesCompleted": { "description": "Games completed label" }, + + "statsCompletionRate": "Completion Rate", + "@statsCompletionRate": { "description": "Completion rate label" }, + + "statsTotalCombat": "Total Combat", + "@statsTotalCombat": { "description": "Total combat section title" }, + + "statsTotalDeaths": "Total Deaths", + "@statsTotalDeaths": { "description": "Total deaths label" }, + + "statsTotalLevelUps": "Total Level Ups", + "@statsTotalLevelUps": { "description": "Total level ups label" }, + + "statsTotalDamage": "Total Damage", + "@statsTotalDamage": { "description": "Total damage section title" }, + + "statsTotalSkills": "Total Skills", + "@statsTotalSkills": { "description": "Total skills section title" }, + + "statsTotalEconomy": "Total Economy", + "@statsTotalEconomy": { "description": "Total economy section title" }, + + "notifyLevelUpLabel": "LEVEL UP", + "@notifyLevelUpLabel": { "description": "Level up notification type label" }, + + "notifyQuestDoneLabel": "QUEST DONE", + "@notifyQuestDoneLabel": { "description": "Quest done notification type label" }, + + "notifyActClearLabel": "ACT CLEAR", + "@notifyActClearLabel": { "description": "Act clear notification type label" }, + + "notifyNewSpellLabel": "NEW SPELL", + "@notifyNewSpellLabel": { "description": "New spell notification type label" }, + + "notifyNewItemLabel": "NEW ITEM", + "@notifyNewItemLabel": { "description": "New item notification type label" }, + + "notifyBossSlainLabel": "BOSS SLAIN", + "@notifyBossSlainLabel": { "description": "Boss slain notification type label" }, + + "notifySavedLabel": "SAVED", + "@notifySavedLabel": { "description": "Game saved notification type label" }, + + "notifyInfoLabel": "INFO", + "@notifyInfoLabel": { "description": "Info notification type label" }, + + "notifyWarningLabel": "WARNING", + "@notifyWarningLabel": { "description": "Warning notification type label" } } diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index fa7df02..9240f85 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -2,79 +2,79 @@ "@@locale": "ja", "appTitle": "アスキー ネバー ダイ", - "tagNoNetwork": "No network", - "tagIdleRpg": "Idle RPG loop", - "tagLocalSaves": "Local saves", - "newCharacter": "New character", - "loadSave": "Load save", - "loadGame": "Load Game", - "viewBuildPlan": "View build plan", - "buildRoadmap": "Build roadmap", - "techStack": "Tech stack", - "cancel": "Cancel", - "exitGame": "Exit Game", - "saveProgressQuestion": "Save your progress before leaving?", - "exitWithoutSaving": "Exit without saving", - "saveAndExit": "Save and Exit", - "progressQuestTitle": "ASCII NEVER DIE - {name}", - "levelUp": "Level Up", - "completeQuest": "Complete Quest", - "completePlot": "Complete Plot", - "characterSheet": "Character Sheet", - "traits": "Traits", - "stats": "Stats", - "experience": "Experience", - "xpNeededForNextLevel": "XP needed for next level", + "tagNoNetwork": "オフライン", + "tagIdleRpg": "放置型RPG", + "tagLocalSaves": "ローカル保存", + "newCharacter": "新規キャラクター", + "loadSave": "ロード", + "loadGame": "ゲームをロード", + "viewBuildPlan": "ビルド計画を見る", + "buildRoadmap": "ビルドロードマップ", + "techStack": "技術スタック", + "cancel": "キャンセル", + "exitGame": "ゲーム終了", + "saveProgressQuestion": "終了する前にセーブしますか?", + "exitWithoutSaving": "セーブせずに終了", + "saveAndExit": "セーブして終了", + "progressQuestTitle": "アスキー ネバー ダイ - {name}", + "levelUp": "レベルアップ", + "completeQuest": "クエスト完了", + "completePlot": "プロット完了", + "characterSheet": "キャラクターシート", + "traits": "特性", + "stats": "能力値", + "experience": "経験値", + "xpNeededForNextLevel": "次のレベルまでの必要XP", "spellBook": "スキル", "noSpellsYet": "習得したスキルがありません", - "equipment": "Equipment", - "inventory": "Inventory", - "encumbrance": "Encumbrance", + "equipment": "装備", + "inventory": "インベントリ", + "encumbrance": "積載量", "combatLog": "戦闘ログ", - "plotDevelopment": "Plot Development", - "quests": "Quests", - "traitName": "Name", - "traitRace": "Race", - "traitClass": "Class", - "traitLevel": "Level", + "plotDevelopment": "ストーリー進行", + "quests": "クエスト", + "traitName": "名前", + "traitRace": "種族", + "traitClass": "職業", + "traitLevel": "レベル", "statStr": "STR", "statCon": "CON", "statDex": "DEX", "statInt": "INT", "statWis": "WIS", "statCha": "CHA", - "statHpMax": "HP Max", - "statMpMax": "MP Max", - "equipWeapon": "Weapon", - "equipShield": "Shield", - "equipHelm": "Helm", - "equipHauberk": "Hauberk", - "equipBrassairts": "Brassairts", - "equipVambraces": "Vambraces", - "equipGauntlets": "Gauntlets", - "equipGambeson": "Gambeson", - "equipCuisses": "Cuisses", - "equipGreaves": "Greaves", - "equipSollerets": "Sollerets", + "statHpMax": "HP最大", + "statMpMax": "MP最大", + "equipWeapon": "武器", + "equipShield": "盾", + "equipHelm": "兜", + "equipHauberk": "鎧", + "equipBrassairts": "肩当て", + "equipVambraces": "腕甲", + "equipGauntlets": "篭手", + "equipGambeson": "防護服", + "equipCuisses": "腿当て", + "equipGreaves": "脛当て", + "equipSollerets": "鉄靴", "gold": "コイン", "goldAmount": "コイン: {amount}", - "prologue": "Prologue", - "actNumber": "Act {number}", - "noActiveQuests": "No active quests", - "questNumber": "Quest #{number}", + "prologue": "プロローグ", + "actNumber": "第{number}幕", + "noActiveQuests": "進行中のクエストなし", + "questNumber": "クエスト #{number}", "welcomeMessage": "ASCII NEVER DIEへようこそ!", - "noSavedGames": "No saved games found.", - "loadError": "Failed to load save file: {error}", - "name": "Name", - "generateName": "Generate Name", - "total": "Total", + "noSavedGames": "セーブデータがありません。", + "loadError": "セーブファイルの読み込みに失敗しました: {error}", + "name": "名前", + "generateName": "名前を生成", + "total": "合計", "unroll": "元に戻す", - "roll": "Roll", - "race": "Race", - "classTitle": "Class", - "percentComplete": "{percent}% complete", - "newCharacterTitle": "ASCII NEVER DIE - New Character", - "soldButton": "Sold!", + "roll": "ロール", + "race": "種族", + "classTitle": "職業", + "percentComplete": "{percent}% 完了", + "newCharacterTitle": "アスキー ネバー ダイ - 新規キャラクター", + "soldButton": "決定!", "endingCongratulations": "★ おめでとうございます ★", "endingGameComplete": "ゲームをクリアしました!", @@ -95,55 +95,130 @@ "endingTapToSkip": "タップでスキップ", "endingHoldToSpeedUp": "長押しで高速スクロール", - "menuTitle": "MENU", - "optionsTitle": "OPTIONS", - "soundTitle": "SOUND", - "controlSection": "CONTROL", - "infoSection": "INFO", - "settingsSection": "SETTINGS", - "saveExitSection": "SAVE / EXIT", + "menuTitle": "メニュー", + "optionsTitle": "オプション", + "soundTitle": "サウンド", + "controlSection": "操作", + "infoSection": "情報", + "settingsSection": "設定", + "saveExitSection": "セーブ / 終了", "ok": "OK", - "rechargeButton": "RECHARGE", - "createButton": "CREATE", - "previewTitle": "PREVIEW", - "nameTitle": "NAME", - "statsTitle": "STATS", - "raceTitle": "RACE", - "classSection": "CLASS", + "rechargeButton": "チャージ", + "createButton": "作成", + "previewTitle": "プレビュー", + "nameTitle": "名前", + "statsTitle": "能力値", + "raceTitle": "種族", + "classSection": "職業", "bgmLabel": "BGM", - "sfxLabel": "SFX", + "sfxLabel": "効果音", "hpLabel": "HP", "mpLabel": "MP", "expLabel": "EXP", - "notifyLevelUp": "LEVEL UP!", - "notifyLevel": "Level {level}", - "notifyQuestComplete": "QUEST COMPLETE!", - "notifyPrologueComplete": "PROLOGUE COMPLETE!", - "notifyActComplete": "ACT {number} COMPLETE!", - "notifyNewSpell": "NEW SPELL!", - "notifyNewEquipment": "NEW EQUIPMENT!", - "notifyBossDefeated": "BOSS DEFEATED!", - "rechargeRollsTitle": "RECHARGE ROLLS", - "rechargeRollsFree": "Recharge 5 rolls for free?", - "rechargeRollsAd": "Watch an ad to recharge 5 rolls?", - "debugTitle": "DEBUG", - "debugCheatsTitle": "DEBUG CHEATS", - "debugToolsTitle": "DEBUG TOOLS", - "debugDeveloperTools": "DEVELOPER TOOLS", - "debugSkipTask": "SKIP TASK (L+1)", - "debugSkipTaskDesc": "Complete task instantly", - "debugSkipQuest": "SKIP QUEST (Q!)", - "debugSkipQuestDesc": "Complete quest instantly", - "debugSkipAct": "SKIP ACT (P!)", - "debugSkipActDesc": "Complete act instantly", - "debugCreateTestCharacter": "CREATE TEST CHARACTER", - "debugCreateTestCharacterDesc": "Register Level 100 character to Hall of Fame", - "debugCreateTestCharacterTitle": "CREATE TEST CHARACTER?", - "debugCreateTestCharacterMessage": "Current character will be converted to Level 100\nand registered to the Hall of Fame.\n\n⚠️ Current save file will be deleted.\nThis action cannot be undone.", - "debugTurbo": "DEBUG: TURBO (20x)", - "debugIapPurchased": "IAP PURCHASED", - "debugIapPurchasedDesc": "ON: Behave as paid user (ads removed)", - "debugOfflineHours": "OFFLINE HOURS", - "debugOfflineHoursDesc": "Test return rewards (applies on restart)", - "debugTestCharacterDesc": "Modify current character to Level 100\nand register to the Hall of Fame." + "notifyLevelUp": "レベルアップ!", + "notifyLevel": "レベル {level}", + "notifyQuestComplete": "クエスト完了!", + "notifyPrologueComplete": "プロローグ完了!", + "notifyActComplete": "第{number}幕 完了!", + "notifyNewSpell": "新しいスキル!", + "notifyNewEquipment": "新しい装備!", + "notifyBossDefeated": "ボス撃破!", + "rechargeRollsTitle": "ロール回数チャージ", + "rechargeRollsFree": "無料で5回チャージしますか?", + "rechargeRollsAd": "広告を見て5回チャージしますか?", + "debugTitle": "デバッグ", + "debugCheatsTitle": "デバッグチート", + "debugToolsTitle": "デバッグツール", + "debugDeveloperTools": "開発者ツール", + "debugSkipTask": "タスクスキップ (L+1)", + "debugSkipTaskDesc": "タスクを即時完了", + "debugSkipQuest": "クエストスキップ (Q!)", + "debugSkipQuestDesc": "クエストを即時完了", + "debugSkipAct": "アクトスキップ (P!)", + "debugSkipActDesc": "アクトを即時完了", + "debugCreateTestCharacter": "テストキャラクター作成", + "debugCreateTestCharacterDesc": "レベル100キャラクターを殿堂に登録", + "debugCreateTestCharacterTitle": "テストキャラクターを作成しますか?", + "debugCreateTestCharacterMessage": "現在のキャラクターがレベル100に変換され\n殿堂に登録されます。\n\n⚠️ 現在のセーブファイルは削除されます。\nこの操作は元に戻せません。", + "debugTurbo": "デバッグ: ターボ (20x)", + "debugIapPurchased": "IAP購入済み", + "debugIapPurchasedDesc": "ON: 有料ユーザーとして動作(広告非表示)", + "debugOfflineHours": "オフライン時間", + "debugOfflineHoursDesc": "復帰報酬テスト(再起動時に適用)", + "debugTestCharacterDesc": "現在のキャラクターをレベル100に変更して\n殿堂に登録します。", + + "arenaTitle": "ローカルアリーナ", + "arenaSelectFighter": "ファイターを選択", + "arenaEmptyTitle": "ヒーローが不足しています", + "arenaEmptyHint": "2人以上のキャラでクリアしてください", + "arenaSetupTitle": "アリーナ設定", + "arenaStartBattle": "バトル開始", + "arenaBattleTitle": "アリーナバトル", + "arenaMyEquipment": "自分の装備", + "arenaEnemyEquipment": "敵の装備", + "arenaSelected": "選択済み", + "arenaRecommended": "おすすめ", + "arenaWeaponLocked": "ロック", + "arenaVictory": "勝利!", + "arenaDefeat": "敗北...", + "arenaEquipmentExchange": "装備交換", + "arenaTurns": "ターン", + "arenaWinner": "勝者", + "arenaLoser": "敗者", + "arenaDefeatedIn": "{winner}が{loser}を{turns}ターンで撃破", + "arenaScoreGain": "+{score}獲得予定", + "arenaScoreLose": "{score}損失予定", + "arenaEvenTrade": "等価交換", + "arenaScore": "スコア", + + "statsStatistics": "統計", + "statsSession": "セッション", + "statsAccumulated": "累積", + "statsCombat": "戦闘", + "statsPlayTime": "プレイ時間", + "statsMonstersKilled": "倒したモンスター", + "statsBossesDefeated": "ボス討伐", + "statsDeaths": "死亡回数", + "statsDamage": "ダメージ", + "statsDamageDealt": "与えたダメージ", + "statsDamageTaken": "受けたダメージ", + "statsAverageDps": "平均DPS", + "statsSkills": "スキル", + "statsSkillsUsed": "スキル使用", + "statsCriticalHits": "クリティカルヒット", + "statsMaxCriticalStreak": "最大連続クリティカル", + "statsCriticalRate": "クリティカル率", + "statsEconomy": "経済", + "statsGoldEarned": "獲得ゴールド", + "statsGoldSpent": "消費ゴールド", + "statsItemsSold": "売却アイテム", + "statsPotionsUsed": "ポーション使用", + "statsProgress": "進行", + "statsLevelUps": "レベルアップ", + "statsQuestsCompleted": "完了したクエスト", + "statsRecords": "記録", + "statsHighestLevel": "最高レベル", + "statsHighestGoldHeld": "最大所持ゴールド", + "statsBestCriticalStreak": "最高連続クリティカル", + "statsTotalPlay": "総プレイ", + "statsTotalPlayTime": "総プレイ時間", + "statsGamesStarted": "開始したゲーム", + "statsGamesCompleted": "クリアしたゲーム", + "statsCompletionRate": "クリア率", + "statsTotalCombat": "総戦闘", + "statsTotalDeaths": "総死亡", + "statsTotalLevelUps": "総レベルアップ", + "statsTotalDamage": "総ダメージ", + "statsTotalSkills": "総スキル", + "statsTotalEconomy": "総経済", + + "notifyLevelUpLabel": "レベルアップ", + "notifyQuestDoneLabel": "クエスト完了", + "notifyActClearLabel": "幕完了", + "notifyNewSpellLabel": "新しいスキル", + "notifyNewItemLabel": "新しいアイテム", + "notifyBossSlainLabel": "ボス撃破", + "notifySavedLabel": "セーブ済み", + "notifyInfoLabel": "情報", + "notifyWarningLabel": "警告" } diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index ae27e5e..3750815 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -145,5 +145,80 @@ "debugIapPurchasedDesc": "ON: 유료 유저로 동작 (광고 제거)", "debugOfflineHours": "오프라인 시간", "debugOfflineHoursDesc": "복귀 보상 테스트 (재시작 시 적용)", - "debugTestCharacterDesc": "현재 캐릭터를 레벨 100으로 수정하여\n명예의 전당에 등록합니다." + "debugTestCharacterDesc": "현재 캐릭터를 레벨 100으로 수정하여\n명예의 전당에 등록합니다.", + + "arenaTitle": "로컬 아레나", + "arenaSelectFighter": "전사를 선택하세요", + "arenaEmptyTitle": "영웅이 부족합니다", + "arenaEmptyHint": "2명 이상 캐릭터로 클리어하세요", + "arenaSetupTitle": "아레나 설정", + "arenaStartBattle": "전투 시작", + "arenaBattleTitle": "아레나 전투", + "arenaMyEquipment": "내 장비", + "arenaEnemyEquipment": "상대 장비", + "arenaSelected": "선택됨", + "arenaRecommended": "추천", + "arenaWeaponLocked": "잠김", + "arenaVictory": "승리!", + "arenaDefeat": "패배...", + "arenaEquipmentExchange": "장비 교환", + "arenaTurns": "턴", + "arenaWinner": "승자", + "arenaLoser": "패자", + "arenaDefeatedIn": "{winner}이(가) {loser}을(를) {turns}턴 만에 격파", + "arenaScoreGain": "+{score} 획득 예정", + "arenaScoreLose": "{score} 손실 예정", + "arenaEvenTrade": "등가 교환", + "arenaScore": "점수", + + "statsStatistics": "통계", + "statsSession": "세션", + "statsAccumulated": "누적", + "statsCombat": "전투", + "statsPlayTime": "플레이 시간", + "statsMonstersKilled": "처치한 몬스터", + "statsBossesDefeated": "보스 처치", + "statsDeaths": "사망 횟수", + "statsDamage": "데미지", + "statsDamageDealt": "입힌 데미지", + "statsDamageTaken": "받은 데미지", + "statsAverageDps": "평균 DPS", + "statsSkills": "스킬", + "statsSkillsUsed": "스킬 사용", + "statsCriticalHits": "크리티컬 히트", + "statsMaxCriticalStreak": "최대 연속 크리티컬", + "statsCriticalRate": "크리티컬 비율", + "statsEconomy": "경제", + "statsGoldEarned": "획득 골드", + "statsGoldSpent": "소비 골드", + "statsItemsSold": "판매 아이템", + "statsPotionsUsed": "물약 사용", + "statsProgress": "진행", + "statsLevelUps": "레벨업", + "statsQuestsCompleted": "완료한 퀘스트", + "statsRecords": "기록", + "statsHighestLevel": "최고 레벨", + "statsHighestGoldHeld": "최대 보유 골드", + "statsBestCriticalStreak": "최고 연속 크리티컬", + "statsTotalPlay": "총 플레이", + "statsTotalPlayTime": "총 플레이 시간", + "statsGamesStarted": "시작한 게임", + "statsGamesCompleted": "클리어한 게임", + "statsCompletionRate": "클리어율", + "statsTotalCombat": "총 전투", + "statsTotalDeaths": "총 사망", + "statsTotalLevelUps": "총 레벨업", + "statsTotalDamage": "총 데미지", + "statsTotalSkills": "총 스킬", + "statsTotalEconomy": "총 경제", + + "notifyLevelUpLabel": "레벨 업", + "notifyQuestDoneLabel": "퀘스트 완료", + "notifyActClearLabel": "막 완료", + "notifyNewSpellLabel": "새 주문", + "notifyNewItemLabel": "새 아이템", + "notifyBossSlainLabel": "보스 처치", + "notifySavedLabel": "저장됨", + "notifyInfoLabel": "정보", + "notifyWarningLabel": "경고" } diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 958b9c3..f42633e 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -956,6 +956,438 @@ abstract class L10n { /// In en, this message translates to: /// **'Modify current character to Level 100\nand register to the Hall of Fame.'** String get debugTestCharacterDesc; + + /// Arena main screen title + /// + /// In en, this message translates to: + /// **'LOCAL ARENA'** + String get arenaTitle; + + /// Arena character selection subtitle + /// + /// In en, this message translates to: + /// **'SELECT YOUR FIGHTER'** + String get arenaSelectFighter; + + /// Arena empty state title + /// + /// In en, this message translates to: + /// **'Not enough heroes'** + String get arenaEmptyTitle; + + /// Arena empty state hint + /// + /// In en, this message translates to: + /// **'Clear the game with 2+ characters'** + String get arenaEmptyHint; + + /// Arena setup screen title + /// + /// In en, this message translates to: + /// **'ARENA SETUP'** + String get arenaSetupTitle; + + /// Start battle button + /// + /// In en, this message translates to: + /// **'START BATTLE'** + String get arenaStartBattle; + + /// Arena battle screen title + /// + /// In en, this message translates to: + /// **'ARENA BATTLE'** + String get arenaBattleTitle; + + /// My equipment header + /// + /// In en, this message translates to: + /// **'MY EQUIPMENT'** + String get arenaMyEquipment; + + /// Enemy equipment header + /// + /// In en, this message translates to: + /// **'ENEMY EQUIPMENT'** + String get arenaEnemyEquipment; + + /// Selected slot label + /// + /// In en, this message translates to: + /// **'SELECTED'** + String get arenaSelected; + + /// Recommended slot label + /// + /// In en, this message translates to: + /// **'BEST'** + String get arenaRecommended; + + /// Weapon slot locked label + /// + /// In en, this message translates to: + /// **'LOCKED'** + String get arenaWeaponLocked; + + /// Arena victory title + /// + /// In en, this message translates to: + /// **'VICTORY!'** + String get arenaVictory; + + /// Arena defeat title + /// + /// In en, this message translates to: + /// **'DEFEAT...'** + String get arenaDefeat; + + /// Equipment exchange section title + /// + /// In en, this message translates to: + /// **'EQUIPMENT EXCHANGE'** + String get arenaEquipmentExchange; + + /// Turns label + /// + /// In en, this message translates to: + /// **'TURNS'** + String get arenaTurns; + + /// Winner label + /// + /// In en, this message translates to: + /// **'WINNER'** + String get arenaWinner; + + /// Loser label + /// + /// In en, this message translates to: + /// **'LOSER'** + String get arenaLoser; + + /// Battle summary text + /// + /// In en, this message translates to: + /// **'{winner} defeated {loser} in {turns} TURNS'** + String arenaDefeatedIn(String winner, String loser, int turns); + + /// Score gain prediction + /// + /// In en, this message translates to: + /// **'You will GAIN +{score}'** + String arenaScoreGain(int score); + + /// Score loss prediction + /// + /// In en, this message translates to: + /// **'You will LOSE {score}'** + String arenaScoreLose(int score); + + /// Even trade label + /// + /// In en, this message translates to: + /// **'Even trade'** + String get arenaEvenTrade; + + /// Score label + /// + /// In en, this message translates to: + /// **'SCORE'** + String get arenaScore; + + /// Statistics dialog title + /// + /// In en, this message translates to: + /// **'Statistics'** + String get statsStatistics; + + /// Session tab label + /// + /// In en, this message translates to: + /// **'Session'** + String get statsSession; + + /// Accumulated tab label + /// + /// In en, this message translates to: + /// **'Total'** + String get statsAccumulated; + + /// Combat section title + /// + /// In en, this message translates to: + /// **'Combat'** + String get statsCombat; + + /// Play time label + /// + /// In en, this message translates to: + /// **'Play Time'** + String get statsPlayTime; + + /// Monsters killed label + /// + /// In en, this message translates to: + /// **'Monsters Killed'** + String get statsMonstersKilled; + + /// Bosses defeated label + /// + /// In en, this message translates to: + /// **'Bosses Defeated'** + String get statsBossesDefeated; + + /// Deaths label + /// + /// In en, this message translates to: + /// **'Deaths'** + String get statsDeaths; + + /// Damage section title + /// + /// In en, this message translates to: + /// **'Damage'** + String get statsDamage; + + /// Damage dealt label + /// + /// In en, this message translates to: + /// **'Damage Dealt'** + String get statsDamageDealt; + + /// Damage taken label + /// + /// In en, this message translates to: + /// **'Damage Taken'** + String get statsDamageTaken; + + /// Average DPS label + /// + /// In en, this message translates to: + /// **'Average DPS'** + String get statsAverageDps; + + /// Skills section title + /// + /// In en, this message translates to: + /// **'Skills'** + String get statsSkills; + + /// Skills used label + /// + /// In en, this message translates to: + /// **'Skills Used'** + String get statsSkillsUsed; + + /// Critical hits label + /// + /// In en, this message translates to: + /// **'Critical Hits'** + String get statsCriticalHits; + + /// Max critical streak label + /// + /// In en, this message translates to: + /// **'Max Critical Streak'** + String get statsMaxCriticalStreak; + + /// Critical rate label + /// + /// In en, this message translates to: + /// **'Critical Rate'** + String get statsCriticalRate; + + /// Economy section title + /// + /// In en, this message translates to: + /// **'Economy'** + String get statsEconomy; + + /// Gold earned label + /// + /// In en, this message translates to: + /// **'Gold Earned'** + String get statsGoldEarned; + + /// Gold spent label + /// + /// In en, this message translates to: + /// **'Gold Spent'** + String get statsGoldSpent; + + /// Items sold label + /// + /// In en, this message translates to: + /// **'Items Sold'** + String get statsItemsSold; + + /// Potions used label + /// + /// In en, this message translates to: + /// **'Potions Used'** + String get statsPotionsUsed; + + /// Progress section title + /// + /// In en, this message translates to: + /// **'Progress'** + String get statsProgress; + + /// Level ups label + /// + /// In en, this message translates to: + /// **'Level Ups'** + String get statsLevelUps; + + /// Quests completed label + /// + /// In en, this message translates to: + /// **'Quests Completed'** + String get statsQuestsCompleted; + + /// Records section title + /// + /// In en, this message translates to: + /// **'Records'** + String get statsRecords; + + /// Highest level label + /// + /// In en, this message translates to: + /// **'Highest Level'** + String get statsHighestLevel; + + /// Highest gold held label + /// + /// In en, this message translates to: + /// **'Highest Gold Held'** + String get statsHighestGoldHeld; + + /// Best critical streak label + /// + /// In en, this message translates to: + /// **'Best Critical Streak'** + String get statsBestCriticalStreak; + + /// Total play section title + /// + /// In en, this message translates to: + /// **'Total Play'** + String get statsTotalPlay; + + /// Total play time label + /// + /// In en, this message translates to: + /// **'Total Play Time'** + String get statsTotalPlayTime; + + /// Games started label + /// + /// In en, this message translates to: + /// **'Games Started'** + String get statsGamesStarted; + + /// Games completed label + /// + /// In en, this message translates to: + /// **'Games Completed'** + String get statsGamesCompleted; + + /// Completion rate label + /// + /// In en, this message translates to: + /// **'Completion Rate'** + String get statsCompletionRate; + + /// Total combat section title + /// + /// In en, this message translates to: + /// **'Total Combat'** + String get statsTotalCombat; + + /// Total deaths label + /// + /// In en, this message translates to: + /// **'Total Deaths'** + String get statsTotalDeaths; + + /// Total level ups label + /// + /// In en, this message translates to: + /// **'Total Level Ups'** + String get statsTotalLevelUps; + + /// Total damage section title + /// + /// In en, this message translates to: + /// **'Total Damage'** + String get statsTotalDamage; + + /// Total skills section title + /// + /// In en, this message translates to: + /// **'Total Skills'** + String get statsTotalSkills; + + /// Total economy section title + /// + /// In en, this message translates to: + /// **'Total Economy'** + String get statsTotalEconomy; + + /// Level up notification type label + /// + /// In en, this message translates to: + /// **'LEVEL UP'** + String get notifyLevelUpLabel; + + /// Quest done notification type label + /// + /// In en, this message translates to: + /// **'QUEST DONE'** + String get notifyQuestDoneLabel; + + /// Act clear notification type label + /// + /// In en, this message translates to: + /// **'ACT CLEAR'** + String get notifyActClearLabel; + + /// New spell notification type label + /// + /// In en, this message translates to: + /// **'NEW SPELL'** + String get notifyNewSpellLabel; + + /// New item notification type label + /// + /// In en, this message translates to: + /// **'NEW ITEM'** + String get notifyNewItemLabel; + + /// Boss slain notification type label + /// + /// In en, this message translates to: + /// **'BOSS SLAIN'** + String get notifyBossSlainLabel; + + /// Game saved notification type label + /// + /// In en, this message translates to: + /// **'SAVED'** + String get notifySavedLabel; + + /// Info notification type label + /// + /// In en, this message translates to: + /// **'INFO'** + String get notifyInfoLabel; + + /// Warning notification type label + /// + /// In en, this message translates to: + /// **'WARNING'** + String get notifyWarningLabel; } class _L10nDelegate extends LocalizationsDelegate { diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index b70f94d..ad29627 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -458,4 +458,226 @@ class L10nEn extends L10n { @override String get debugTestCharacterDesc => 'Modify current character to Level 100\nand register to the Hall of Fame.'; + + @override + String get arenaTitle => 'LOCAL ARENA'; + + @override + String get arenaSelectFighter => 'SELECT YOUR FIGHTER'; + + @override + String get arenaEmptyTitle => 'Not enough heroes'; + + @override + String get arenaEmptyHint => 'Clear the game with 2+ characters'; + + @override + String get arenaSetupTitle => 'ARENA SETUP'; + + @override + String get arenaStartBattle => 'START BATTLE'; + + @override + String get arenaBattleTitle => 'ARENA BATTLE'; + + @override + String get arenaMyEquipment => 'MY EQUIPMENT'; + + @override + String get arenaEnemyEquipment => 'ENEMY EQUIPMENT'; + + @override + String get arenaSelected => 'SELECTED'; + + @override + String get arenaRecommended => 'BEST'; + + @override + String get arenaWeaponLocked => 'LOCKED'; + + @override + String get arenaVictory => 'VICTORY!'; + + @override + String get arenaDefeat => 'DEFEAT...'; + + @override + String get arenaEquipmentExchange => 'EQUIPMENT EXCHANGE'; + + @override + String get arenaTurns => 'TURNS'; + + @override + String get arenaWinner => 'WINNER'; + + @override + String get arenaLoser => 'LOSER'; + + @override + String arenaDefeatedIn(String winner, String loser, int turns) { + return '$winner defeated $loser in $turns TURNS'; + } + + @override + String arenaScoreGain(int score) { + return 'You will GAIN +$score'; + } + + @override + String arenaScoreLose(int score) { + return 'You will LOSE $score'; + } + + @override + String get arenaEvenTrade => 'Even trade'; + + @override + String get arenaScore => 'SCORE'; + + @override + String get statsStatistics => 'Statistics'; + + @override + String get statsSession => 'Session'; + + @override + String get statsAccumulated => 'Total'; + + @override + String get statsCombat => 'Combat'; + + @override + String get statsPlayTime => 'Play Time'; + + @override + String get statsMonstersKilled => 'Monsters Killed'; + + @override + String get statsBossesDefeated => 'Bosses Defeated'; + + @override + String get statsDeaths => 'Deaths'; + + @override + String get statsDamage => 'Damage'; + + @override + String get statsDamageDealt => 'Damage Dealt'; + + @override + String get statsDamageTaken => 'Damage Taken'; + + @override + String get statsAverageDps => 'Average DPS'; + + @override + String get statsSkills => 'Skills'; + + @override + String get statsSkillsUsed => 'Skills Used'; + + @override + String get statsCriticalHits => 'Critical Hits'; + + @override + String get statsMaxCriticalStreak => 'Max Critical Streak'; + + @override + String get statsCriticalRate => 'Critical Rate'; + + @override + String get statsEconomy => 'Economy'; + + @override + String get statsGoldEarned => 'Gold Earned'; + + @override + String get statsGoldSpent => 'Gold Spent'; + + @override + String get statsItemsSold => 'Items Sold'; + + @override + String get statsPotionsUsed => 'Potions Used'; + + @override + String get statsProgress => 'Progress'; + + @override + String get statsLevelUps => 'Level Ups'; + + @override + String get statsQuestsCompleted => 'Quests Completed'; + + @override + String get statsRecords => 'Records'; + + @override + String get statsHighestLevel => 'Highest Level'; + + @override + String get statsHighestGoldHeld => 'Highest Gold Held'; + + @override + String get statsBestCriticalStreak => 'Best Critical Streak'; + + @override + String get statsTotalPlay => 'Total Play'; + + @override + String get statsTotalPlayTime => 'Total Play Time'; + + @override + String get statsGamesStarted => 'Games Started'; + + @override + String get statsGamesCompleted => 'Games Completed'; + + @override + String get statsCompletionRate => 'Completion Rate'; + + @override + String get statsTotalCombat => 'Total Combat'; + + @override + String get statsTotalDeaths => 'Total Deaths'; + + @override + String get statsTotalLevelUps => 'Total Level Ups'; + + @override + String get statsTotalDamage => 'Total Damage'; + + @override + String get statsTotalSkills => 'Total Skills'; + + @override + String get statsTotalEconomy => 'Total Economy'; + + @override + String get notifyLevelUpLabel => 'LEVEL UP'; + + @override + String get notifyQuestDoneLabel => 'QUEST DONE'; + + @override + String get notifyActClearLabel => 'ACT CLEAR'; + + @override + String get notifyNewSpellLabel => 'NEW SPELL'; + + @override + String get notifyNewItemLabel => 'NEW ITEM'; + + @override + String get notifyBossSlainLabel => 'BOSS SLAIN'; + + @override + String get notifySavedLabel => 'SAVED'; + + @override + String get notifyInfoLabel => 'INFO'; + + @override + String get notifyWarningLabel => 'WARNING'; } diff --git a/lib/l10n/app_localizations_ja.dart b/lib/l10n/app_localizations_ja.dart index a7ad8be..ad0a0c0 100644 --- a/lib/l10n/app_localizations_ja.dart +++ b/lib/l10n/app_localizations_ja.dart @@ -12,75 +12,75 @@ class L10nJa extends L10n { String get appTitle => 'アスキー ネバー ダイ'; @override - String get tagNoNetwork => 'No network'; + String get tagNoNetwork => 'オフライン'; @override - String get tagIdleRpg => 'Idle RPG loop'; + String get tagIdleRpg => '放置型RPG'; @override - String get tagLocalSaves => 'Local saves'; + String get tagLocalSaves => 'ローカル保存'; @override - String get newCharacter => 'New character'; + String get newCharacter => '新規キャラクター'; @override - String get loadSave => 'Load save'; + String get loadSave => 'ロード'; @override - String get loadGame => 'Load Game'; + String get loadGame => 'ゲームをロード'; @override - String get viewBuildPlan => 'View build plan'; + String get viewBuildPlan => 'ビルド計画を見る'; @override - String get buildRoadmap => 'Build roadmap'; + String get buildRoadmap => 'ビルドロードマップ'; @override - String get techStack => 'Tech stack'; + String get techStack => '技術スタック'; @override - String get cancel => 'Cancel'; + String get cancel => 'キャンセル'; @override - String get exitGame => 'Exit Game'; + String get exitGame => 'ゲーム終了'; @override - String get saveProgressQuestion => 'Save your progress before leaving?'; + String get saveProgressQuestion => '終了する前にセーブしますか?'; @override - String get exitWithoutSaving => 'Exit without saving'; + String get exitWithoutSaving => 'セーブせずに終了'; @override - String get saveAndExit => 'Save and Exit'; + String get saveAndExit => 'セーブして終了'; @override String progressQuestTitle(String name) { - return 'ASCII NEVER DIE - $name'; + return 'アスキー ネバー ダイ - $name'; } @override - String get levelUp => 'Level Up'; + String get levelUp => 'レベルアップ'; @override - String get completeQuest => 'Complete Quest'; + String get completeQuest => 'クエスト完了'; @override - String get completePlot => 'Complete Plot'; + String get completePlot => 'プロット完了'; @override - String get characterSheet => 'Character Sheet'; + String get characterSheet => 'キャラクターシート'; @override - String get traits => 'Traits'; + String get traits => '特性'; @override - String get stats => 'Stats'; + String get stats => '能力値'; @override - String get experience => 'Experience'; + String get experience => '経験値'; @override - String get xpNeededForNextLevel => 'XP needed for next level'; + String get xpNeededForNextLevel => '次のレベルまでの必要XP'; @override String get spellBook => 'スキル'; @@ -89,34 +89,34 @@ class L10nJa extends L10n { String get noSpellsYet => '習得したスキルがありません'; @override - String get equipment => 'Equipment'; + String get equipment => '装備'; @override - String get inventory => 'Inventory'; + String get inventory => 'インベントリ'; @override - String get encumbrance => 'Encumbrance'; + String get encumbrance => '積載量'; @override String get combatLog => '戦闘ログ'; @override - String get plotDevelopment => 'Plot Development'; + String get plotDevelopment => 'ストーリー進行'; @override - String get quests => 'Quests'; + String get quests => 'クエスト'; @override - String get traitName => 'Name'; + String get traitName => '名前'; @override - String get traitRace => 'Race'; + String get traitRace => '種族'; @override - String get traitClass => 'Class'; + String get traitClass => '職業'; @override - String get traitLevel => 'Level'; + String get traitLevel => 'レベル'; @override String get statStr => 'STR'; @@ -137,43 +137,43 @@ class L10nJa extends L10n { String get statCha => 'CHA'; @override - String get statHpMax => 'HP Max'; + String get statHpMax => 'HP最大'; @override - String get statMpMax => 'MP Max'; + String get statMpMax => 'MP最大'; @override - String get equipWeapon => 'Weapon'; + String get equipWeapon => '武器'; @override - String get equipShield => 'Shield'; + String get equipShield => '盾'; @override - String get equipHelm => 'Helm'; + String get equipHelm => '兜'; @override - String get equipHauberk => 'Hauberk'; + String get equipHauberk => '鎧'; @override - String get equipBrassairts => 'Brassairts'; + String get equipBrassairts => '肩当て'; @override - String get equipVambraces => 'Vambraces'; + String get equipVambraces => '腕甲'; @override - String get equipGauntlets => 'Gauntlets'; + String get equipGauntlets => '篭手'; @override - String get equipGambeson => 'Gambeson'; + String get equipGambeson => '防護服'; @override - String get equipCuisses => 'Cuisses'; + String get equipCuisses => '腿当て'; @override - String get equipGreaves => 'Greaves'; + String get equipGreaves => '脛当て'; @override - String get equipSollerets => 'Sollerets'; + String get equipSollerets => '鉄靴'; @override String get gold => 'コイン'; @@ -184,63 +184,63 @@ class L10nJa extends L10n { } @override - String get prologue => 'Prologue'; + String get prologue => 'プロローグ'; @override String actNumber(String number) { - return 'Act $number'; + return '第$number幕'; } @override - String get noActiveQuests => 'No active quests'; + String get noActiveQuests => '進行中のクエストなし'; @override String questNumber(int number) { - return 'Quest #$number'; + return 'クエスト #$number'; } @override String get welcomeMessage => 'ASCII NEVER DIEへようこそ!'; @override - String get noSavedGames => 'No saved games found.'; + String get noSavedGames => 'セーブデータがありません。'; @override String loadError(String error) { - return 'Failed to load save file: $error'; + return 'セーブファイルの読み込みに失敗しました: $error'; } @override - String get name => 'Name'; + String get name => '名前'; @override - String get generateName => 'Generate Name'; + String get generateName => '名前を生成'; @override - String get total => 'Total'; + String get total => '合計'; @override String get unroll => '元に戻す'; @override - String get roll => 'Roll'; + String get roll => 'ロール'; @override - String get race => 'Race'; + String get race => '種族'; @override - String get classTitle => 'Class'; + String get classTitle => '職業'; @override String percentComplete(int percent) { - return '$percent% complete'; + return '$percent% 完了'; } @override - String get newCharacterTitle => 'ASCII NEVER DIE - New Character'; + String get newCharacterTitle => 'アスキー ネバー ダイ - 新規キャラクター'; @override - String get soldButton => 'Sold!'; + String get soldButton => '決定!'; @override String get endingCongratulations => '★ おめでとうございます ★'; @@ -299,55 +299,55 @@ class L10nJa extends L10n { String get endingHoldToSpeedUp => '長押しで高速スクロール'; @override - String get menuTitle => 'MENU'; + String get menuTitle => 'メニュー'; @override - String get optionsTitle => 'OPTIONS'; + String get optionsTitle => 'オプション'; @override - String get soundTitle => 'SOUND'; + String get soundTitle => 'サウンド'; @override - String get controlSection => 'CONTROL'; + String get controlSection => '操作'; @override - String get infoSection => 'INFO'; + String get infoSection => '情報'; @override - String get settingsSection => 'SETTINGS'; + String get settingsSection => '設定'; @override - String get saveExitSection => 'SAVE / EXIT'; + String get saveExitSection => 'セーブ / 終了'; @override String get ok => 'OK'; @override - String get rechargeButton => 'RECHARGE'; + String get rechargeButton => 'チャージ'; @override - String get createButton => 'CREATE'; + String get createButton => '作成'; @override - String get previewTitle => 'PREVIEW'; + String get previewTitle => 'プレビュー'; @override - String get nameTitle => 'NAME'; + String get nameTitle => '名前'; @override - String get statsTitle => 'STATS'; + String get statsTitle => '能力値'; @override - String get raceTitle => 'RACE'; + String get raceTitle => '種族'; @override - String get classSection => 'CLASS'; + String get classSection => '職業'; @override String get bgmLabel => 'BGM'; @override - String get sfxLabel => 'SFX'; + String get sfxLabel => '効果音'; @override String get hpLabel => 'HP'; @@ -359,103 +359,322 @@ class L10nJa extends L10n { String get expLabel => 'EXP'; @override - String get notifyLevelUp => 'LEVEL UP!'; + String get notifyLevelUp => 'レベルアップ!'; @override String notifyLevel(int level) { - return 'Level $level'; + return 'レベル $level'; } @override - String get notifyQuestComplete => 'QUEST COMPLETE!'; + String get notifyQuestComplete => 'クエスト完了!'; @override - String get notifyPrologueComplete => 'PROLOGUE COMPLETE!'; + String get notifyPrologueComplete => 'プロローグ完了!'; @override String notifyActComplete(int number) { - return 'ACT $number COMPLETE!'; + return '第$number幕 完了!'; } @override - String get notifyNewSpell => 'NEW SPELL!'; + String get notifyNewSpell => '新しいスキル!'; @override - String get notifyNewEquipment => 'NEW EQUIPMENT!'; + String get notifyNewEquipment => '新しい装備!'; @override - String get notifyBossDefeated => 'BOSS DEFEATED!'; + String get notifyBossDefeated => 'ボス撃破!'; @override - String get rechargeRollsTitle => 'RECHARGE ROLLS'; + String get rechargeRollsTitle => 'ロール回数チャージ'; @override - String get rechargeRollsFree => 'Recharge 5 rolls for free?'; + String get rechargeRollsFree => '無料で5回チャージしますか?'; @override - String get rechargeRollsAd => 'Watch an ad to recharge 5 rolls?'; + String get rechargeRollsAd => '広告を見て5回チャージしますか?'; @override - String get debugTitle => 'DEBUG'; + String get debugTitle => 'デバッグ'; @override - String get debugCheatsTitle => 'DEBUG CHEATS'; + String get debugCheatsTitle => 'デバッグチート'; @override - String get debugToolsTitle => 'DEBUG TOOLS'; + String get debugToolsTitle => 'デバッグツール'; @override - String get debugDeveloperTools => 'DEVELOPER TOOLS'; + String get debugDeveloperTools => '開発者ツール'; @override - String get debugSkipTask => 'SKIP TASK (L+1)'; + String get debugSkipTask => 'タスクスキップ (L+1)'; @override - String get debugSkipTaskDesc => 'Complete task instantly'; + String get debugSkipTaskDesc => 'タスクを即時完了'; @override - String get debugSkipQuest => 'SKIP QUEST (Q!)'; + String get debugSkipQuest => 'クエストスキップ (Q!)'; @override - String get debugSkipQuestDesc => 'Complete quest instantly'; + String get debugSkipQuestDesc => 'クエストを即時完了'; @override - String get debugSkipAct => 'SKIP ACT (P!)'; + String get debugSkipAct => 'アクトスキップ (P!)'; @override - String get debugSkipActDesc => 'Complete act instantly'; + String get debugSkipActDesc => 'アクトを即時完了'; @override - String get debugCreateTestCharacter => 'CREATE TEST CHARACTER'; + String get debugCreateTestCharacter => 'テストキャラクター作成'; @override - String get debugCreateTestCharacterDesc => - 'Register Level 100 character to Hall of Fame'; + String get debugCreateTestCharacterDesc => 'レベル100キャラクターを殿堂に登録'; @override - String get debugCreateTestCharacterTitle => 'CREATE TEST CHARACTER?'; + String get debugCreateTestCharacterTitle => 'テストキャラクターを作成しますか?'; @override String get debugCreateTestCharacterMessage => - 'Current character will be converted to Level 100\nand registered to the Hall of Fame.\n\n⚠️ Current save file will be deleted.\nThis action cannot be undone.'; + '現在のキャラクターがレベル100に変換され\n殿堂に登録されます。\n\n⚠️ 現在のセーブファイルは削除されます。\nこの操作は元に戻せません。'; @override - String get debugTurbo => 'DEBUG: TURBO (20x)'; + String get debugTurbo => 'デバッグ: ターボ (20x)'; @override - String get debugIapPurchased => 'IAP PURCHASED'; + String get debugIapPurchased => 'IAP購入済み'; @override - String get debugIapPurchasedDesc => 'ON: Behave as paid user (ads removed)'; + String get debugIapPurchasedDesc => 'ON: 有料ユーザーとして動作(広告非表示)'; @override - String get debugOfflineHours => 'OFFLINE HOURS'; + String get debugOfflineHours => 'オフライン時間'; @override - String get debugOfflineHoursDesc => - 'Test return rewards (applies on restart)'; + String get debugOfflineHoursDesc => '復帰報酬テスト(再起動時に適用)'; @override - String get debugTestCharacterDesc => - 'Modify current character to Level 100\nand register to the Hall of Fame.'; + String get debugTestCharacterDesc => '現在のキャラクターをレベル100に変更して\n殿堂に登録します。'; + + @override + String get arenaTitle => 'ローカルアリーナ'; + + @override + String get arenaSelectFighter => 'ファイターを選択'; + + @override + String get arenaEmptyTitle => 'ヒーローが不足しています'; + + @override + String get arenaEmptyHint => '2人以上のキャラでクリアしてください'; + + @override + String get arenaSetupTitle => 'アリーナ設定'; + + @override + String get arenaStartBattle => 'バトル開始'; + + @override + String get arenaBattleTitle => 'アリーナバトル'; + + @override + String get arenaMyEquipment => '自分の装備'; + + @override + String get arenaEnemyEquipment => '敵の装備'; + + @override + String get arenaSelected => '選択済み'; + + @override + String get arenaRecommended => 'おすすめ'; + + @override + String get arenaWeaponLocked => 'ロック'; + + @override + String get arenaVictory => '勝利!'; + + @override + String get arenaDefeat => '敗北...'; + + @override + String get arenaEquipmentExchange => '装備交換'; + + @override + String get arenaTurns => 'ターン'; + + @override + String get arenaWinner => '勝者'; + + @override + String get arenaLoser => '敗者'; + + @override + String arenaDefeatedIn(String winner, String loser, int turns) { + return '$winnerが$loserを$turnsターンで撃破'; + } + + @override + String arenaScoreGain(int score) { + return '+$score獲得予定'; + } + + @override + String arenaScoreLose(int score) { + return '$score損失予定'; + } + + @override + String get arenaEvenTrade => '等価交換'; + + @override + String get arenaScore => 'スコア'; + + @override + String get statsStatistics => '統計'; + + @override + String get statsSession => 'セッション'; + + @override + String get statsAccumulated => '累積'; + + @override + String get statsCombat => '戦闘'; + + @override + String get statsPlayTime => 'プレイ時間'; + + @override + String get statsMonstersKilled => '倒したモンスター'; + + @override + String get statsBossesDefeated => 'ボス討伐'; + + @override + String get statsDeaths => '死亡回数'; + + @override + String get statsDamage => 'ダメージ'; + + @override + String get statsDamageDealt => '与えたダメージ'; + + @override + String get statsDamageTaken => '受けたダメージ'; + + @override + String get statsAverageDps => '平均DPS'; + + @override + String get statsSkills => 'スキル'; + + @override + String get statsSkillsUsed => 'スキル使用'; + + @override + String get statsCriticalHits => 'クリティカルヒット'; + + @override + String get statsMaxCriticalStreak => '最大連続クリティカル'; + + @override + String get statsCriticalRate => 'クリティカル率'; + + @override + String get statsEconomy => '経済'; + + @override + String get statsGoldEarned => '獲得ゴールド'; + + @override + String get statsGoldSpent => '消費ゴールド'; + + @override + String get statsItemsSold => '売却アイテム'; + + @override + String get statsPotionsUsed => 'ポーション使用'; + + @override + String get statsProgress => '進行'; + + @override + String get statsLevelUps => 'レベルアップ'; + + @override + String get statsQuestsCompleted => '完了したクエスト'; + + @override + String get statsRecords => '記録'; + + @override + String get statsHighestLevel => '最高レベル'; + + @override + String get statsHighestGoldHeld => '最大所持ゴールド'; + + @override + String get statsBestCriticalStreak => '最高連続クリティカル'; + + @override + String get statsTotalPlay => '総プレイ'; + + @override + String get statsTotalPlayTime => '総プレイ時間'; + + @override + String get statsGamesStarted => '開始したゲーム'; + + @override + String get statsGamesCompleted => 'クリアしたゲーム'; + + @override + String get statsCompletionRate => 'クリア率'; + + @override + String get statsTotalCombat => '総戦闘'; + + @override + String get statsTotalDeaths => '総死亡'; + + @override + String get statsTotalLevelUps => '総レベルアップ'; + + @override + String get statsTotalDamage => '総ダメージ'; + + @override + String get statsTotalSkills => '総スキル'; + + @override + String get statsTotalEconomy => '総経済'; + + @override + String get notifyLevelUpLabel => 'レベルアップ'; + + @override + String get notifyQuestDoneLabel => 'クエスト完了'; + + @override + String get notifyActClearLabel => '幕完了'; + + @override + String get notifyNewSpellLabel => '新しいスキル'; + + @override + String get notifyNewItemLabel => '新しいアイテム'; + + @override + String get notifyBossSlainLabel => 'ボス撃破'; + + @override + String get notifySavedLabel => 'セーブ済み'; + + @override + String get notifyInfoLabel => '情報'; + + @override + String get notifyWarningLabel => '警告'; } diff --git a/lib/l10n/app_localizations_ko.dart b/lib/l10n/app_localizations_ko.dart index 4628d3e..382bef5 100644 --- a/lib/l10n/app_localizations_ko.dart +++ b/lib/l10n/app_localizations_ko.dart @@ -455,4 +455,226 @@ class L10nKo extends L10n { @override String get debugTestCharacterDesc => '현재 캐릭터를 레벨 100으로 수정하여\n명예의 전당에 등록합니다.'; + + @override + String get arenaTitle => '로컬 아레나'; + + @override + String get arenaSelectFighter => '전사를 선택하세요'; + + @override + String get arenaEmptyTitle => '영웅이 부족합니다'; + + @override + String get arenaEmptyHint => '2명 이상 캐릭터로 클리어하세요'; + + @override + String get arenaSetupTitle => '아레나 설정'; + + @override + String get arenaStartBattle => '전투 시작'; + + @override + String get arenaBattleTitle => '아레나 전투'; + + @override + String get arenaMyEquipment => '내 장비'; + + @override + String get arenaEnemyEquipment => '상대 장비'; + + @override + String get arenaSelected => '선택됨'; + + @override + String get arenaRecommended => '추천'; + + @override + String get arenaWeaponLocked => '잠김'; + + @override + String get arenaVictory => '승리!'; + + @override + String get arenaDefeat => '패배...'; + + @override + String get arenaEquipmentExchange => '장비 교환'; + + @override + String get arenaTurns => '턴'; + + @override + String get arenaWinner => '승자'; + + @override + String get arenaLoser => '패자'; + + @override + String arenaDefeatedIn(String winner, String loser, int turns) { + return '$winner이(가) $loser을(를) $turns턴 만에 격파'; + } + + @override + String arenaScoreGain(int score) { + return '+$score 획득 예정'; + } + + @override + String arenaScoreLose(int score) { + return '$score 손실 예정'; + } + + @override + String get arenaEvenTrade => '등가 교환'; + + @override + String get arenaScore => '점수'; + + @override + String get statsStatistics => '통계'; + + @override + String get statsSession => '세션'; + + @override + String get statsAccumulated => '누적'; + + @override + String get statsCombat => '전투'; + + @override + String get statsPlayTime => '플레이 시간'; + + @override + String get statsMonstersKilled => '처치한 몬스터'; + + @override + String get statsBossesDefeated => '보스 처치'; + + @override + String get statsDeaths => '사망 횟수'; + + @override + String get statsDamage => '데미지'; + + @override + String get statsDamageDealt => '입힌 데미지'; + + @override + String get statsDamageTaken => '받은 데미지'; + + @override + String get statsAverageDps => '평균 DPS'; + + @override + String get statsSkills => '스킬'; + + @override + String get statsSkillsUsed => '스킬 사용'; + + @override + String get statsCriticalHits => '크리티컬 히트'; + + @override + String get statsMaxCriticalStreak => '최대 연속 크리티컬'; + + @override + String get statsCriticalRate => '크리티컬 비율'; + + @override + String get statsEconomy => '경제'; + + @override + String get statsGoldEarned => '획득 골드'; + + @override + String get statsGoldSpent => '소비 골드'; + + @override + String get statsItemsSold => '판매 아이템'; + + @override + String get statsPotionsUsed => '물약 사용'; + + @override + String get statsProgress => '진행'; + + @override + String get statsLevelUps => '레벨업'; + + @override + String get statsQuestsCompleted => '완료한 퀘스트'; + + @override + String get statsRecords => '기록'; + + @override + String get statsHighestLevel => '최고 레벨'; + + @override + String get statsHighestGoldHeld => '최대 보유 골드'; + + @override + String get statsBestCriticalStreak => '최고 연속 크리티컬'; + + @override + String get statsTotalPlay => '총 플레이'; + + @override + String get statsTotalPlayTime => '총 플레이 시간'; + + @override + String get statsGamesStarted => '시작한 게임'; + + @override + String get statsGamesCompleted => '클리어한 게임'; + + @override + String get statsCompletionRate => '클리어율'; + + @override + String get statsTotalCombat => '총 전투'; + + @override + String get statsTotalDeaths => '총 사망'; + + @override + String get statsTotalLevelUps => '총 레벨업'; + + @override + String get statsTotalDamage => '총 데미지'; + + @override + String get statsTotalSkills => '총 스킬'; + + @override + String get statsTotalEconomy => '총 경제'; + + @override + String get notifyLevelUpLabel => '레벨 업'; + + @override + String get notifyQuestDoneLabel => '퀘스트 완료'; + + @override + String get notifyActClearLabel => '막 완료'; + + @override + String get notifyNewSpellLabel => '새 주문'; + + @override + String get notifyNewItemLabel => '새 아이템'; + + @override + String get notifyBossSlainLabel => '보스 처치'; + + @override + String get notifySavedLabel => '저장됨'; + + @override + String get notifyInfoLabel => '정보'; + + @override + String get notifyWarningLabel => '경고'; }