feat(l10n): 국제화(L10n) 시스템 도입 및 하드코딩 텍스트 변환
- flutter_localizations 및 intl 패키지 추가 - l10n.yaml 설정 파일 및 app_ko.arb 메시지 파일 생성 - 모든 화면(app, front, game_play, new_character, save_picker)의 하드코딩 텍스트를 L10n 키로 변환 - 테스트 파일에 localizationsDelegates 추가하여 L10n 지원
This commit is contained in:
246
lib/l10n/app_en.arb
Normal file
246
lib/l10n/app_en.arb
Normal file
@@ -0,0 +1,246 @@
|
||||
{
|
||||
"@@locale": "en",
|
||||
|
||||
"appTitle": "Ascii Never Die",
|
||||
"@appTitle": { "description": "Application title" },
|
||||
|
||||
"tagNoNetwork": "No network",
|
||||
"@tagNoNetwork": { "description": "Tag indicating offline mode" },
|
||||
|
||||
"tagIdleRpg": "Idle RPG loop",
|
||||
"@tagIdleRpg": { "description": "Tag indicating idle RPG gameplay" },
|
||||
|
||||
"tagLocalSaves": "Local saves",
|
||||
"@tagLocalSaves": { "description": "Tag indicating local save support" },
|
||||
|
||||
"newCharacter": "New character",
|
||||
"@newCharacter": { "description": "New character button" },
|
||||
|
||||
"loadSave": "Load save",
|
||||
"@loadSave": { "description": "Load save button" },
|
||||
|
||||
"loadGame": "Load Game",
|
||||
"@loadGame": { "description": "Load game dialog title" },
|
||||
|
||||
"viewBuildPlan": "View build plan",
|
||||
"@viewBuildPlan": { "description": "View build plan button" },
|
||||
|
||||
"buildRoadmap": "Build roadmap",
|
||||
"@buildRoadmap": { "description": "Build roadmap section title" },
|
||||
|
||||
"techStack": "Tech stack",
|
||||
"@techStack": { "description": "Tech stack section title" },
|
||||
|
||||
"cancel": "Cancel",
|
||||
"@cancel": { "description": "Cancel button" },
|
||||
|
||||
"exitGame": "Exit Game",
|
||||
"@exitGame": { "description": "Exit game dialog title" },
|
||||
|
||||
"saveProgressQuestion": "Save your progress before leaving?",
|
||||
"@saveProgressQuestion": { "description": "Save progress confirmation message" },
|
||||
|
||||
"exitWithoutSaving": "Exit without saving",
|
||||
"@exitWithoutSaving": { "description": "Exit without saving button" },
|
||||
|
||||
"saveAndExit": "Save and Exit",
|
||||
"@saveAndExit": { "description": "Save and exit button" },
|
||||
|
||||
"progressQuestTitle": "Progress Quest - {name}",
|
||||
"@progressQuestTitle": {
|
||||
"description": "Game screen title with character name",
|
||||
"placeholders": {
|
||||
"name": { "type": "String" }
|
||||
}
|
||||
},
|
||||
|
||||
"levelUp": "Level Up",
|
||||
"@levelUp": { "description": "Level up tooltip" },
|
||||
|
||||
"completeQuest": "Complete Quest",
|
||||
"@completeQuest": { "description": "Complete quest tooltip" },
|
||||
|
||||
"completePlot": "Complete Plot",
|
||||
"@completePlot": { "description": "Complete plot tooltip" },
|
||||
|
||||
"characterSheet": "Character Sheet",
|
||||
"@characterSheet": { "description": "Character sheet panel title" },
|
||||
|
||||
"traits": "Traits",
|
||||
"@traits": { "description": "Traits section title" },
|
||||
|
||||
"stats": "Stats",
|
||||
"@stats": { "description": "Stats section title" },
|
||||
|
||||
"experience": "Experience",
|
||||
"@experience": { "description": "Experience section title" },
|
||||
|
||||
"xpNeededForNextLevel": "XP needed for next level",
|
||||
"@xpNeededForNextLevel": { "description": "XP needed tooltip" },
|
||||
|
||||
"spellBook": "Spell Book",
|
||||
"@spellBook": { "description": "Spell book section title" },
|
||||
|
||||
"noSpellsYet": "No spells yet",
|
||||
"@noSpellsYet": { "description": "Empty spell book message" },
|
||||
|
||||
"equipment": "Equipment",
|
||||
"@equipment": { "description": "Equipment panel title" },
|
||||
|
||||
"inventory": "Inventory",
|
||||
"@inventory": { "description": "Inventory panel title" },
|
||||
|
||||
"encumbrance": "Encumbrance",
|
||||
"@encumbrance": { "description": "Encumbrance section title" },
|
||||
|
||||
"plotDevelopment": "Plot Development",
|
||||
"@plotDevelopment": { "description": "Plot development panel title" },
|
||||
|
||||
"quests": "Quests",
|
||||
"@quests": { "description": "Quests panel title" },
|
||||
|
||||
"traitName": "Name",
|
||||
"@traitName": { "description": "Name trait label" },
|
||||
|
||||
"traitRace": "Race",
|
||||
"@traitRace": { "description": "Race trait label" },
|
||||
|
||||
"traitClass": "Class",
|
||||
"@traitClass": { "description": "Class trait label" },
|
||||
|
||||
"traitLevel": "Level",
|
||||
"@traitLevel": { "description": "Level trait label" },
|
||||
|
||||
"statStr": "STR",
|
||||
"@statStr": { "description": "Strength stat" },
|
||||
|
||||
"statCon": "CON",
|
||||
"@statCon": { "description": "Constitution stat" },
|
||||
|
||||
"statDex": "DEX",
|
||||
"@statDex": { "description": "Dexterity stat" },
|
||||
|
||||
"statInt": "INT",
|
||||
"@statInt": { "description": "Intelligence stat" },
|
||||
|
||||
"statWis": "WIS",
|
||||
"@statWis": { "description": "Wisdom stat" },
|
||||
|
||||
"statCha": "CHA",
|
||||
"@statCha": { "description": "Charisma stat" },
|
||||
|
||||
"statHpMax": "HP Max",
|
||||
"@statHpMax": { "description": "Max HP stat" },
|
||||
|
||||
"statMpMax": "MP Max",
|
||||
"@statMpMax": { "description": "Max MP stat" },
|
||||
|
||||
"equipWeapon": "Weapon",
|
||||
"@equipWeapon": { "description": "Weapon equipment slot" },
|
||||
|
||||
"equipShield": "Shield",
|
||||
"@equipShield": { "description": "Shield equipment slot" },
|
||||
|
||||
"equipHelm": "Helm",
|
||||
"@equipHelm": { "description": "Helm equipment slot" },
|
||||
|
||||
"equipHauberk": "Hauberk",
|
||||
"@equipHauberk": { "description": "Hauberk equipment slot" },
|
||||
|
||||
"equipBrassairts": "Brassairts",
|
||||
"@equipBrassairts": { "description": "Brassairts equipment slot" },
|
||||
|
||||
"equipVambraces": "Vambraces",
|
||||
"@equipVambraces": { "description": "Vambraces equipment slot" },
|
||||
|
||||
"equipGauntlets": "Gauntlets",
|
||||
"@equipGauntlets": { "description": "Gauntlets equipment slot" },
|
||||
|
||||
"equipGambeson": "Gambeson",
|
||||
"@equipGambeson": { "description": "Gambeson equipment slot" },
|
||||
|
||||
"equipCuisses": "Cuisses",
|
||||
"@equipCuisses": { "description": "Cuisses equipment slot" },
|
||||
|
||||
"equipGreaves": "Greaves",
|
||||
"@equipGreaves": { "description": "Greaves equipment slot" },
|
||||
|
||||
"equipSollerets": "Sollerets",
|
||||
"@equipSollerets": { "description": "Sollerets equipment slot" },
|
||||
|
||||
"gold": "Gold",
|
||||
"@gold": { "description": "Gold label" },
|
||||
|
||||
"goldAmount": "Gold: {amount}",
|
||||
"@goldAmount": {
|
||||
"description": "Gold with amount",
|
||||
"placeholders": {
|
||||
"amount": { "type": "int" }
|
||||
}
|
||||
},
|
||||
|
||||
"prologue": "Prologue",
|
||||
"@prologue": { "description": "Prologue plot stage" },
|
||||
|
||||
"actNumber": "Act {number}",
|
||||
"@actNumber": {
|
||||
"description": "Act with roman numeral",
|
||||
"placeholders": {
|
||||
"number": { "type": "String" }
|
||||
}
|
||||
},
|
||||
|
||||
"noActiveQuests": "No active quests",
|
||||
"@noActiveQuests": { "description": "Empty quests message" },
|
||||
|
||||
"questNumber": "Quest #{number}",
|
||||
"@questNumber": {
|
||||
"description": "Quest with number",
|
||||
"placeholders": {
|
||||
"number": { "type": "int" }
|
||||
}
|
||||
},
|
||||
|
||||
"welcomeMessage": "Welcome to Progress Quest!",
|
||||
"@welcomeMessage": { "description": "Welcome message in task progress panel" },
|
||||
|
||||
"noSavedGames": "No saved games found.",
|
||||
"@noSavedGames": { "description": "No saved games message" },
|
||||
|
||||
"loadError": "Failed to load save file: {error}",
|
||||
"@loadError": {
|
||||
"description": "Load error message",
|
||||
"placeholders": {
|
||||
"error": { "type": "String" }
|
||||
}
|
||||
},
|
||||
|
||||
"name": "Name",
|
||||
"@name": { "description": "Name label in character creation" },
|
||||
|
||||
"generateName": "Generate Name",
|
||||
"@generateName": { "description": "Generate name tooltip" },
|
||||
|
||||
"total": "Total",
|
||||
"@total": { "description": "Total label for stats" },
|
||||
|
||||
"unroll": "Unroll",
|
||||
"@unroll": { "description": "Unroll button" },
|
||||
|
||||
"roll": "Roll",
|
||||
"@roll": { "description": "Roll button" },
|
||||
|
||||
"race": "Race",
|
||||
"@race": { "description": "Race selection title" },
|
||||
|
||||
"classTitle": "Class",
|
||||
"@classTitle": { "description": "Class selection title" },
|
||||
|
||||
"percentComplete": "{percent}% complete",
|
||||
"@percentComplete": {
|
||||
"description": "Percentage complete",
|
||||
"placeholders": {
|
||||
"percent": { "type": "int" }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user