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" }
|
||||
}
|
||||
}
|
||||
}
|
||||
75
lib/l10n/app_ja.arb
Normal file
75
lib/l10n/app_ja.arb
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"@@locale": "ja",
|
||||
|
||||
"appTitle": "Ascii Never Die",
|
||||
"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": "Progress Quest - {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",
|
||||
"spellBook": "Spell Book",
|
||||
"noSpellsYet": "No spells yet",
|
||||
"equipment": "Equipment",
|
||||
"inventory": "Inventory",
|
||||
"encumbrance": "Encumbrance",
|
||||
"plotDevelopment": "Plot Development",
|
||||
"quests": "Quests",
|
||||
"traitName": "Name",
|
||||
"traitRace": "Race",
|
||||
"traitClass": "Class",
|
||||
"traitLevel": "Level",
|
||||
"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",
|
||||
"gold": "Gold",
|
||||
"goldAmount": "Gold: {amount}",
|
||||
"prologue": "Prologue",
|
||||
"actNumber": "Act {number}",
|
||||
"noActiveQuests": "No active quests",
|
||||
"questNumber": "Quest #{number}",
|
||||
"welcomeMessage": "Welcome to Progress Quest!",
|
||||
"noSavedGames": "No saved games found.",
|
||||
"loadError": "Failed to load save file: {error}",
|
||||
"name": "Name",
|
||||
"generateName": "Generate Name",
|
||||
"total": "Total",
|
||||
"unroll": "Unroll",
|
||||
"roll": "Roll",
|
||||
"race": "Race",
|
||||
"classTitle": "Class",
|
||||
"percentComplete": "{percent}% complete"
|
||||
}
|
||||
75
lib/l10n/app_ko.arb
Normal file
75
lib/l10n/app_ko.arb
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"@@locale": "ko",
|
||||
|
||||
"appTitle": "Ascii Never Die",
|
||||
"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": "Progress Quest - {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",
|
||||
"spellBook": "Spell Book",
|
||||
"noSpellsYet": "No spells yet",
|
||||
"equipment": "Equipment",
|
||||
"inventory": "Inventory",
|
||||
"encumbrance": "Encumbrance",
|
||||
"plotDevelopment": "Plot Development",
|
||||
"quests": "Quests",
|
||||
"traitName": "Name",
|
||||
"traitRace": "Race",
|
||||
"traitClass": "Class",
|
||||
"traitLevel": "Level",
|
||||
"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",
|
||||
"gold": "Gold",
|
||||
"goldAmount": "Gold: {amount}",
|
||||
"prologue": "Prologue",
|
||||
"actNumber": "Act {number}",
|
||||
"noActiveQuests": "No active quests",
|
||||
"questNumber": "Quest #{number}",
|
||||
"welcomeMessage": "Welcome to Progress Quest!",
|
||||
"noSavedGames": "No saved games found.",
|
||||
"loadError": "Failed to load save file: {error}",
|
||||
"name": "Name",
|
||||
"generateName": "Generate Name",
|
||||
"total": "Total",
|
||||
"unroll": "Unroll",
|
||||
"roll": "Roll",
|
||||
"race": "Race",
|
||||
"classTitle": "Class",
|
||||
"percentComplete": "{percent}% complete"
|
||||
}
|
||||
566
lib/l10n/app_localizations.dart
Normal file
566
lib/l10n/app_localizations.dart
Normal file
@@ -0,0 +1,566 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
|
||||
import 'app_localizations_en.dart';
|
||||
import 'app_localizations_ja.dart';
|
||||
import 'app_localizations_ko.dart';
|
||||
import 'app_localizations_zh.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// Callers can lookup localized strings with an instance of L10n
|
||||
/// returned by `L10n.of(context)`.
|
||||
///
|
||||
/// Applications need to include `L10n.delegate()` in their app's
|
||||
/// `localizationDelegates` list, and the locales they support in the app's
|
||||
/// `supportedLocales` list. For example:
|
||||
///
|
||||
/// ```dart
|
||||
/// import 'l10n/app_localizations.dart';
|
||||
///
|
||||
/// return MaterialApp(
|
||||
/// localizationsDelegates: L10n.localizationsDelegates,
|
||||
/// supportedLocales: L10n.supportedLocales,
|
||||
/// home: MyApplicationHome(),
|
||||
/// );
|
||||
/// ```
|
||||
///
|
||||
/// ## Update pubspec.yaml
|
||||
///
|
||||
/// Please make sure to update your pubspec.yaml to include the following
|
||||
/// packages:
|
||||
///
|
||||
/// ```yaml
|
||||
/// dependencies:
|
||||
/// # Internationalization support.
|
||||
/// flutter_localizations:
|
||||
/// sdk: flutter
|
||||
/// intl: any # Use the pinned version from flutter_localizations
|
||||
///
|
||||
/// # Rest of dependencies
|
||||
/// ```
|
||||
///
|
||||
/// ## iOS Applications
|
||||
///
|
||||
/// iOS applications define key application metadata, including supported
|
||||
/// locales, in an Info.plist file that is built into the application bundle.
|
||||
/// To configure the locales supported by your app, you’ll need to edit this
|
||||
/// file.
|
||||
///
|
||||
/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.
|
||||
/// Then, in the Project Navigator, open the Info.plist file under the Runner
|
||||
/// project’s Runner folder.
|
||||
///
|
||||
/// Next, select the Information Property List item, select Add Item from the
|
||||
/// Editor menu, then select Localizations from the pop-up menu.
|
||||
///
|
||||
/// Select and expand the newly-created Localizations item then, for each
|
||||
/// locale your application supports, add a new item and select the locale
|
||||
/// you wish to add from the pop-up menu in the Value field. This list should
|
||||
/// be consistent with the languages listed in the L10n.supportedLocales
|
||||
/// property.
|
||||
abstract class L10n {
|
||||
L10n(String locale)
|
||||
: localeName = intl.Intl.canonicalizedLocale(locale.toString());
|
||||
|
||||
final String localeName;
|
||||
|
||||
static L10n of(BuildContext context) {
|
||||
return Localizations.of<L10n>(context, L10n)!;
|
||||
}
|
||||
|
||||
static const LocalizationsDelegate<L10n> delegate = _L10nDelegate();
|
||||
|
||||
/// A list of this localizations delegate along with the default localizations
|
||||
/// delegates.
|
||||
///
|
||||
/// Returns a list of localizations delegates containing this delegate along with
|
||||
/// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
|
||||
/// and GlobalWidgetsLocalizations.delegate.
|
||||
///
|
||||
/// Additional delegates can be added by appending to this list in
|
||||
/// MaterialApp. This list does not have to be used at all if a custom list
|
||||
/// of delegates is preferred or required.
|
||||
static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
|
||||
<LocalizationsDelegate<dynamic>>[
|
||||
delegate,
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
GlobalCupertinoLocalizations.delegate,
|
||||
GlobalWidgetsLocalizations.delegate,
|
||||
];
|
||||
|
||||
/// A list of this localizations delegate's supported locales.
|
||||
static const List<Locale> supportedLocales = <Locale>[
|
||||
Locale('en'),
|
||||
Locale('ja'),
|
||||
Locale('ko'),
|
||||
Locale('zh'),
|
||||
];
|
||||
|
||||
/// Application title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ascii Never Die'**
|
||||
String get appTitle;
|
||||
|
||||
/// Tag indicating offline mode
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No network'**
|
||||
String get tagNoNetwork;
|
||||
|
||||
/// Tag indicating idle RPG gameplay
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Idle RPG loop'**
|
||||
String get tagIdleRpg;
|
||||
|
||||
/// Tag indicating local save support
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Local saves'**
|
||||
String get tagLocalSaves;
|
||||
|
||||
/// New character button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'New character'**
|
||||
String get newCharacter;
|
||||
|
||||
/// Load save button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Load save'**
|
||||
String get loadSave;
|
||||
|
||||
/// Load game dialog title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Load Game'**
|
||||
String get loadGame;
|
||||
|
||||
/// View build plan button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'View build plan'**
|
||||
String get viewBuildPlan;
|
||||
|
||||
/// Build roadmap section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Build roadmap'**
|
||||
String get buildRoadmap;
|
||||
|
||||
/// Tech stack section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Tech stack'**
|
||||
String get techStack;
|
||||
|
||||
/// Cancel button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Cancel'**
|
||||
String get cancel;
|
||||
|
||||
/// Exit game dialog title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Exit Game'**
|
||||
String get exitGame;
|
||||
|
||||
/// Save progress confirmation message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Save your progress before leaving?'**
|
||||
String get saveProgressQuestion;
|
||||
|
||||
/// Exit without saving button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Exit without saving'**
|
||||
String get exitWithoutSaving;
|
||||
|
||||
/// Save and exit button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Save and Exit'**
|
||||
String get saveAndExit;
|
||||
|
||||
/// Game screen title with character name
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Progress Quest - {name}'**
|
||||
String progressQuestTitle(String name);
|
||||
|
||||
/// Level up tooltip
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Level Up'**
|
||||
String get levelUp;
|
||||
|
||||
/// Complete quest tooltip
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Complete Quest'**
|
||||
String get completeQuest;
|
||||
|
||||
/// Complete plot tooltip
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Complete Plot'**
|
||||
String get completePlot;
|
||||
|
||||
/// Character sheet panel title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Character Sheet'**
|
||||
String get characterSheet;
|
||||
|
||||
/// Traits section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Traits'**
|
||||
String get traits;
|
||||
|
||||
/// Stats section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Stats'**
|
||||
String get stats;
|
||||
|
||||
/// Experience section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Experience'**
|
||||
String get experience;
|
||||
|
||||
/// XP needed tooltip
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'XP needed for next level'**
|
||||
String get xpNeededForNextLevel;
|
||||
|
||||
/// Spell book section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Spell Book'**
|
||||
String get spellBook;
|
||||
|
||||
/// Empty spell book message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No spells yet'**
|
||||
String get noSpellsYet;
|
||||
|
||||
/// Equipment panel title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Equipment'**
|
||||
String get equipment;
|
||||
|
||||
/// Inventory panel title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Inventory'**
|
||||
String get inventory;
|
||||
|
||||
/// Encumbrance section title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Encumbrance'**
|
||||
String get encumbrance;
|
||||
|
||||
/// Plot development panel title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Plot Development'**
|
||||
String get plotDevelopment;
|
||||
|
||||
/// Quests panel title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Quests'**
|
||||
String get quests;
|
||||
|
||||
/// Name trait label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Name'**
|
||||
String get traitName;
|
||||
|
||||
/// Race trait label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Race'**
|
||||
String get traitRace;
|
||||
|
||||
/// Class trait label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Class'**
|
||||
String get traitClass;
|
||||
|
||||
/// Level trait label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Level'**
|
||||
String get traitLevel;
|
||||
|
||||
/// Strength stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'STR'**
|
||||
String get statStr;
|
||||
|
||||
/// Constitution stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'CON'**
|
||||
String get statCon;
|
||||
|
||||
/// Dexterity stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'DEX'**
|
||||
String get statDex;
|
||||
|
||||
/// Intelligence stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'INT'**
|
||||
String get statInt;
|
||||
|
||||
/// Wisdom stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'WIS'**
|
||||
String get statWis;
|
||||
|
||||
/// Charisma stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'CHA'**
|
||||
String get statCha;
|
||||
|
||||
/// Max HP stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'HP Max'**
|
||||
String get statHpMax;
|
||||
|
||||
/// Max MP stat
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'MP Max'**
|
||||
String get statMpMax;
|
||||
|
||||
/// Weapon equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Weapon'**
|
||||
String get equipWeapon;
|
||||
|
||||
/// Shield equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Shield'**
|
||||
String get equipShield;
|
||||
|
||||
/// Helm equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Helm'**
|
||||
String get equipHelm;
|
||||
|
||||
/// Hauberk equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Hauberk'**
|
||||
String get equipHauberk;
|
||||
|
||||
/// Brassairts equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Brassairts'**
|
||||
String get equipBrassairts;
|
||||
|
||||
/// Vambraces equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Vambraces'**
|
||||
String get equipVambraces;
|
||||
|
||||
/// Gauntlets equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Gauntlets'**
|
||||
String get equipGauntlets;
|
||||
|
||||
/// Gambeson equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Gambeson'**
|
||||
String get equipGambeson;
|
||||
|
||||
/// Cuisses equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Cuisses'**
|
||||
String get equipCuisses;
|
||||
|
||||
/// Greaves equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Greaves'**
|
||||
String get equipGreaves;
|
||||
|
||||
/// Sollerets equipment slot
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sollerets'**
|
||||
String get equipSollerets;
|
||||
|
||||
/// Gold label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Gold'**
|
||||
String get gold;
|
||||
|
||||
/// Gold with amount
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Gold: {amount}'**
|
||||
String goldAmount(int amount);
|
||||
|
||||
/// Prologue plot stage
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Prologue'**
|
||||
String get prologue;
|
||||
|
||||
/// Act with roman numeral
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Act {number}'**
|
||||
String actNumber(String number);
|
||||
|
||||
/// Empty quests message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No active quests'**
|
||||
String get noActiveQuests;
|
||||
|
||||
/// Quest with number
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Quest #{number}'**
|
||||
String questNumber(int number);
|
||||
|
||||
/// Welcome message in task progress panel
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Welcome to Progress Quest!'**
|
||||
String get welcomeMessage;
|
||||
|
||||
/// No saved games message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No saved games found.'**
|
||||
String get noSavedGames;
|
||||
|
||||
/// Load error message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to load save file: {error}'**
|
||||
String loadError(String error);
|
||||
|
||||
/// Name label in character creation
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Name'**
|
||||
String get name;
|
||||
|
||||
/// Generate name tooltip
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Generate Name'**
|
||||
String get generateName;
|
||||
|
||||
/// Total label for stats
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Total'**
|
||||
String get total;
|
||||
|
||||
/// Unroll button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Unroll'**
|
||||
String get unroll;
|
||||
|
||||
/// Roll button
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Roll'**
|
||||
String get roll;
|
||||
|
||||
/// Race selection title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Race'**
|
||||
String get race;
|
||||
|
||||
/// Class selection title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Class'**
|
||||
String get classTitle;
|
||||
|
||||
/// Percentage complete
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{percent}% complete'**
|
||||
String percentComplete(int percent);
|
||||
}
|
||||
|
||||
class _L10nDelegate extends LocalizationsDelegate<L10n> {
|
||||
const _L10nDelegate();
|
||||
|
||||
@override
|
||||
Future<L10n> load(Locale locale) {
|
||||
return SynchronousFuture<L10n>(lookupL10n(locale));
|
||||
}
|
||||
|
||||
@override
|
||||
bool isSupported(Locale locale) =>
|
||||
<String>['en', 'ja', 'ko', 'zh'].contains(locale.languageCode);
|
||||
|
||||
@override
|
||||
bool shouldReload(_L10nDelegate old) => false;
|
||||
}
|
||||
|
||||
L10n lookupL10n(Locale locale) {
|
||||
// Lookup logic when only language code is specified.
|
||||
switch (locale.languageCode) {
|
||||
case 'en':
|
||||
return L10nEn();
|
||||
case 'ja':
|
||||
return L10nJa();
|
||||
case 'ko':
|
||||
return L10nKo();
|
||||
case 'zh':
|
||||
return L10nZh();
|
||||
}
|
||||
|
||||
throw FlutterError(
|
||||
'L10n.delegate failed to load unsupported locale "$locale". This is likely '
|
||||
'an issue with the localizations generation tool. Please file an issue '
|
||||
'on GitHub with a reproducible sample app and the gen-l10n configuration '
|
||||
'that was used.',
|
||||
);
|
||||
}
|
||||
235
lib/l10n/app_localizations_en.dart
Normal file
235
lib/l10n/app_localizations_en.dart
Normal file
@@ -0,0 +1,235 @@
|
||||
// ignore: unused_import
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
import 'app_localizations.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// The translations for English (`en`).
|
||||
class L10nEn extends L10n {
|
||||
L10nEn([String locale = 'en']) : super(locale);
|
||||
|
||||
@override
|
||||
String get appTitle => 'Ascii Never Die';
|
||||
|
||||
@override
|
||||
String get tagNoNetwork => 'No network';
|
||||
|
||||
@override
|
||||
String get tagIdleRpg => 'Idle RPG loop';
|
||||
|
||||
@override
|
||||
String get tagLocalSaves => 'Local saves';
|
||||
|
||||
@override
|
||||
String get newCharacter => 'New character';
|
||||
|
||||
@override
|
||||
String get loadSave => 'Load save';
|
||||
|
||||
@override
|
||||
String get loadGame => 'Load Game';
|
||||
|
||||
@override
|
||||
String get viewBuildPlan => 'View build plan';
|
||||
|
||||
@override
|
||||
String get buildRoadmap => 'Build roadmap';
|
||||
|
||||
@override
|
||||
String get techStack => 'Tech stack';
|
||||
|
||||
@override
|
||||
String get cancel => 'Cancel';
|
||||
|
||||
@override
|
||||
String get exitGame => 'Exit Game';
|
||||
|
||||
@override
|
||||
String get saveProgressQuestion => 'Save your progress before leaving?';
|
||||
|
||||
@override
|
||||
String get exitWithoutSaving => 'Exit without saving';
|
||||
|
||||
@override
|
||||
String get saveAndExit => 'Save and Exit';
|
||||
|
||||
@override
|
||||
String progressQuestTitle(String name) {
|
||||
return 'Progress Quest - $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get levelUp => 'Level Up';
|
||||
|
||||
@override
|
||||
String get completeQuest => 'Complete Quest';
|
||||
|
||||
@override
|
||||
String get completePlot => 'Complete Plot';
|
||||
|
||||
@override
|
||||
String get characterSheet => 'Character Sheet';
|
||||
|
||||
@override
|
||||
String get traits => 'Traits';
|
||||
|
||||
@override
|
||||
String get stats => 'Stats';
|
||||
|
||||
@override
|
||||
String get experience => 'Experience';
|
||||
|
||||
@override
|
||||
String get xpNeededForNextLevel => 'XP needed for next level';
|
||||
|
||||
@override
|
||||
String get spellBook => 'Spell Book';
|
||||
|
||||
@override
|
||||
String get noSpellsYet => 'No spells yet';
|
||||
|
||||
@override
|
||||
String get equipment => 'Equipment';
|
||||
|
||||
@override
|
||||
String get inventory => 'Inventory';
|
||||
|
||||
@override
|
||||
String get encumbrance => 'Encumbrance';
|
||||
|
||||
@override
|
||||
String get plotDevelopment => 'Plot Development';
|
||||
|
||||
@override
|
||||
String get quests => 'Quests';
|
||||
|
||||
@override
|
||||
String get traitName => 'Name';
|
||||
|
||||
@override
|
||||
String get traitRace => 'Race';
|
||||
|
||||
@override
|
||||
String get traitClass => 'Class';
|
||||
|
||||
@override
|
||||
String get traitLevel => 'Level';
|
||||
|
||||
@override
|
||||
String get statStr => 'STR';
|
||||
|
||||
@override
|
||||
String get statCon => 'CON';
|
||||
|
||||
@override
|
||||
String get statDex => 'DEX';
|
||||
|
||||
@override
|
||||
String get statInt => 'INT';
|
||||
|
||||
@override
|
||||
String get statWis => 'WIS';
|
||||
|
||||
@override
|
||||
String get statCha => 'CHA';
|
||||
|
||||
@override
|
||||
String get statHpMax => 'HP Max';
|
||||
|
||||
@override
|
||||
String get statMpMax => 'MP Max';
|
||||
|
||||
@override
|
||||
String get equipWeapon => 'Weapon';
|
||||
|
||||
@override
|
||||
String get equipShield => 'Shield';
|
||||
|
||||
@override
|
||||
String get equipHelm => 'Helm';
|
||||
|
||||
@override
|
||||
String get equipHauberk => 'Hauberk';
|
||||
|
||||
@override
|
||||
String get equipBrassairts => 'Brassairts';
|
||||
|
||||
@override
|
||||
String get equipVambraces => 'Vambraces';
|
||||
|
||||
@override
|
||||
String get equipGauntlets => 'Gauntlets';
|
||||
|
||||
@override
|
||||
String get equipGambeson => 'Gambeson';
|
||||
|
||||
@override
|
||||
String get equipCuisses => 'Cuisses';
|
||||
|
||||
@override
|
||||
String get equipGreaves => 'Greaves';
|
||||
|
||||
@override
|
||||
String get equipSollerets => 'Sollerets';
|
||||
|
||||
@override
|
||||
String get gold => 'Gold';
|
||||
|
||||
@override
|
||||
String goldAmount(int amount) {
|
||||
return 'Gold: $amount';
|
||||
}
|
||||
|
||||
@override
|
||||
String get prologue => 'Prologue';
|
||||
|
||||
@override
|
||||
String actNumber(String number) {
|
||||
return 'Act $number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noActiveQuests => 'No active quests';
|
||||
|
||||
@override
|
||||
String questNumber(int number) {
|
||||
return 'Quest #$number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get welcomeMessage => 'Welcome to Progress Quest!';
|
||||
|
||||
@override
|
||||
String get noSavedGames => 'No saved games found.';
|
||||
|
||||
@override
|
||||
String loadError(String error) {
|
||||
return 'Failed to load save file: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get name => 'Name';
|
||||
|
||||
@override
|
||||
String get generateName => 'Generate Name';
|
||||
|
||||
@override
|
||||
String get total => 'Total';
|
||||
|
||||
@override
|
||||
String get unroll => 'Unroll';
|
||||
|
||||
@override
|
||||
String get roll => 'Roll';
|
||||
|
||||
@override
|
||||
String get race => 'Race';
|
||||
|
||||
@override
|
||||
String get classTitle => 'Class';
|
||||
|
||||
@override
|
||||
String percentComplete(int percent) {
|
||||
return '$percent% complete';
|
||||
}
|
||||
}
|
||||
235
lib/l10n/app_localizations_ja.dart
Normal file
235
lib/l10n/app_localizations_ja.dart
Normal file
@@ -0,0 +1,235 @@
|
||||
// ignore: unused_import
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
import 'app_localizations.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// The translations for Japanese (`ja`).
|
||||
class L10nJa extends L10n {
|
||||
L10nJa([String locale = 'ja']) : super(locale);
|
||||
|
||||
@override
|
||||
String get appTitle => 'Ascii Never Die';
|
||||
|
||||
@override
|
||||
String get tagNoNetwork => 'No network';
|
||||
|
||||
@override
|
||||
String get tagIdleRpg => 'Idle RPG loop';
|
||||
|
||||
@override
|
||||
String get tagLocalSaves => 'Local saves';
|
||||
|
||||
@override
|
||||
String get newCharacter => 'New character';
|
||||
|
||||
@override
|
||||
String get loadSave => 'Load save';
|
||||
|
||||
@override
|
||||
String get loadGame => 'Load Game';
|
||||
|
||||
@override
|
||||
String get viewBuildPlan => 'View build plan';
|
||||
|
||||
@override
|
||||
String get buildRoadmap => 'Build roadmap';
|
||||
|
||||
@override
|
||||
String get techStack => 'Tech stack';
|
||||
|
||||
@override
|
||||
String get cancel => 'Cancel';
|
||||
|
||||
@override
|
||||
String get exitGame => 'Exit Game';
|
||||
|
||||
@override
|
||||
String get saveProgressQuestion => 'Save your progress before leaving?';
|
||||
|
||||
@override
|
||||
String get exitWithoutSaving => 'Exit without saving';
|
||||
|
||||
@override
|
||||
String get saveAndExit => 'Save and Exit';
|
||||
|
||||
@override
|
||||
String progressQuestTitle(String name) {
|
||||
return 'Progress Quest - $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get levelUp => 'Level Up';
|
||||
|
||||
@override
|
||||
String get completeQuest => 'Complete Quest';
|
||||
|
||||
@override
|
||||
String get completePlot => 'Complete Plot';
|
||||
|
||||
@override
|
||||
String get characterSheet => 'Character Sheet';
|
||||
|
||||
@override
|
||||
String get traits => 'Traits';
|
||||
|
||||
@override
|
||||
String get stats => 'Stats';
|
||||
|
||||
@override
|
||||
String get experience => 'Experience';
|
||||
|
||||
@override
|
||||
String get xpNeededForNextLevel => 'XP needed for next level';
|
||||
|
||||
@override
|
||||
String get spellBook => 'Spell Book';
|
||||
|
||||
@override
|
||||
String get noSpellsYet => 'No spells yet';
|
||||
|
||||
@override
|
||||
String get equipment => 'Equipment';
|
||||
|
||||
@override
|
||||
String get inventory => 'Inventory';
|
||||
|
||||
@override
|
||||
String get encumbrance => 'Encumbrance';
|
||||
|
||||
@override
|
||||
String get plotDevelopment => 'Plot Development';
|
||||
|
||||
@override
|
||||
String get quests => 'Quests';
|
||||
|
||||
@override
|
||||
String get traitName => 'Name';
|
||||
|
||||
@override
|
||||
String get traitRace => 'Race';
|
||||
|
||||
@override
|
||||
String get traitClass => 'Class';
|
||||
|
||||
@override
|
||||
String get traitLevel => 'Level';
|
||||
|
||||
@override
|
||||
String get statStr => 'STR';
|
||||
|
||||
@override
|
||||
String get statCon => 'CON';
|
||||
|
||||
@override
|
||||
String get statDex => 'DEX';
|
||||
|
||||
@override
|
||||
String get statInt => 'INT';
|
||||
|
||||
@override
|
||||
String get statWis => 'WIS';
|
||||
|
||||
@override
|
||||
String get statCha => 'CHA';
|
||||
|
||||
@override
|
||||
String get statHpMax => 'HP Max';
|
||||
|
||||
@override
|
||||
String get statMpMax => 'MP Max';
|
||||
|
||||
@override
|
||||
String get equipWeapon => 'Weapon';
|
||||
|
||||
@override
|
||||
String get equipShield => 'Shield';
|
||||
|
||||
@override
|
||||
String get equipHelm => 'Helm';
|
||||
|
||||
@override
|
||||
String get equipHauberk => 'Hauberk';
|
||||
|
||||
@override
|
||||
String get equipBrassairts => 'Brassairts';
|
||||
|
||||
@override
|
||||
String get equipVambraces => 'Vambraces';
|
||||
|
||||
@override
|
||||
String get equipGauntlets => 'Gauntlets';
|
||||
|
||||
@override
|
||||
String get equipGambeson => 'Gambeson';
|
||||
|
||||
@override
|
||||
String get equipCuisses => 'Cuisses';
|
||||
|
||||
@override
|
||||
String get equipGreaves => 'Greaves';
|
||||
|
||||
@override
|
||||
String get equipSollerets => 'Sollerets';
|
||||
|
||||
@override
|
||||
String get gold => 'Gold';
|
||||
|
||||
@override
|
||||
String goldAmount(int amount) {
|
||||
return 'Gold: $amount';
|
||||
}
|
||||
|
||||
@override
|
||||
String get prologue => 'Prologue';
|
||||
|
||||
@override
|
||||
String actNumber(String number) {
|
||||
return 'Act $number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noActiveQuests => 'No active quests';
|
||||
|
||||
@override
|
||||
String questNumber(int number) {
|
||||
return 'Quest #$number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get welcomeMessage => 'Welcome to Progress Quest!';
|
||||
|
||||
@override
|
||||
String get noSavedGames => 'No saved games found.';
|
||||
|
||||
@override
|
||||
String loadError(String error) {
|
||||
return 'Failed to load save file: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get name => 'Name';
|
||||
|
||||
@override
|
||||
String get generateName => 'Generate Name';
|
||||
|
||||
@override
|
||||
String get total => 'Total';
|
||||
|
||||
@override
|
||||
String get unroll => 'Unroll';
|
||||
|
||||
@override
|
||||
String get roll => 'Roll';
|
||||
|
||||
@override
|
||||
String get race => 'Race';
|
||||
|
||||
@override
|
||||
String get classTitle => 'Class';
|
||||
|
||||
@override
|
||||
String percentComplete(int percent) {
|
||||
return '$percent% complete';
|
||||
}
|
||||
}
|
||||
235
lib/l10n/app_localizations_ko.dart
Normal file
235
lib/l10n/app_localizations_ko.dart
Normal file
@@ -0,0 +1,235 @@
|
||||
// ignore: unused_import
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
import 'app_localizations.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// The translations for Korean (`ko`).
|
||||
class L10nKo extends L10n {
|
||||
L10nKo([String locale = 'ko']) : super(locale);
|
||||
|
||||
@override
|
||||
String get appTitle => 'Ascii Never Die';
|
||||
|
||||
@override
|
||||
String get tagNoNetwork => 'No network';
|
||||
|
||||
@override
|
||||
String get tagIdleRpg => 'Idle RPG loop';
|
||||
|
||||
@override
|
||||
String get tagLocalSaves => 'Local saves';
|
||||
|
||||
@override
|
||||
String get newCharacter => 'New character';
|
||||
|
||||
@override
|
||||
String get loadSave => 'Load save';
|
||||
|
||||
@override
|
||||
String get loadGame => 'Load Game';
|
||||
|
||||
@override
|
||||
String get viewBuildPlan => 'View build plan';
|
||||
|
||||
@override
|
||||
String get buildRoadmap => 'Build roadmap';
|
||||
|
||||
@override
|
||||
String get techStack => 'Tech stack';
|
||||
|
||||
@override
|
||||
String get cancel => 'Cancel';
|
||||
|
||||
@override
|
||||
String get exitGame => 'Exit Game';
|
||||
|
||||
@override
|
||||
String get saveProgressQuestion => 'Save your progress before leaving?';
|
||||
|
||||
@override
|
||||
String get exitWithoutSaving => 'Exit without saving';
|
||||
|
||||
@override
|
||||
String get saveAndExit => 'Save and Exit';
|
||||
|
||||
@override
|
||||
String progressQuestTitle(String name) {
|
||||
return 'Progress Quest - $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get levelUp => 'Level Up';
|
||||
|
||||
@override
|
||||
String get completeQuest => 'Complete Quest';
|
||||
|
||||
@override
|
||||
String get completePlot => 'Complete Plot';
|
||||
|
||||
@override
|
||||
String get characterSheet => 'Character Sheet';
|
||||
|
||||
@override
|
||||
String get traits => 'Traits';
|
||||
|
||||
@override
|
||||
String get stats => 'Stats';
|
||||
|
||||
@override
|
||||
String get experience => 'Experience';
|
||||
|
||||
@override
|
||||
String get xpNeededForNextLevel => 'XP needed for next level';
|
||||
|
||||
@override
|
||||
String get spellBook => 'Spell Book';
|
||||
|
||||
@override
|
||||
String get noSpellsYet => 'No spells yet';
|
||||
|
||||
@override
|
||||
String get equipment => 'Equipment';
|
||||
|
||||
@override
|
||||
String get inventory => 'Inventory';
|
||||
|
||||
@override
|
||||
String get encumbrance => 'Encumbrance';
|
||||
|
||||
@override
|
||||
String get plotDevelopment => 'Plot Development';
|
||||
|
||||
@override
|
||||
String get quests => 'Quests';
|
||||
|
||||
@override
|
||||
String get traitName => 'Name';
|
||||
|
||||
@override
|
||||
String get traitRace => 'Race';
|
||||
|
||||
@override
|
||||
String get traitClass => 'Class';
|
||||
|
||||
@override
|
||||
String get traitLevel => 'Level';
|
||||
|
||||
@override
|
||||
String get statStr => 'STR';
|
||||
|
||||
@override
|
||||
String get statCon => 'CON';
|
||||
|
||||
@override
|
||||
String get statDex => 'DEX';
|
||||
|
||||
@override
|
||||
String get statInt => 'INT';
|
||||
|
||||
@override
|
||||
String get statWis => 'WIS';
|
||||
|
||||
@override
|
||||
String get statCha => 'CHA';
|
||||
|
||||
@override
|
||||
String get statHpMax => 'HP Max';
|
||||
|
||||
@override
|
||||
String get statMpMax => 'MP Max';
|
||||
|
||||
@override
|
||||
String get equipWeapon => 'Weapon';
|
||||
|
||||
@override
|
||||
String get equipShield => 'Shield';
|
||||
|
||||
@override
|
||||
String get equipHelm => 'Helm';
|
||||
|
||||
@override
|
||||
String get equipHauberk => 'Hauberk';
|
||||
|
||||
@override
|
||||
String get equipBrassairts => 'Brassairts';
|
||||
|
||||
@override
|
||||
String get equipVambraces => 'Vambraces';
|
||||
|
||||
@override
|
||||
String get equipGauntlets => 'Gauntlets';
|
||||
|
||||
@override
|
||||
String get equipGambeson => 'Gambeson';
|
||||
|
||||
@override
|
||||
String get equipCuisses => 'Cuisses';
|
||||
|
||||
@override
|
||||
String get equipGreaves => 'Greaves';
|
||||
|
||||
@override
|
||||
String get equipSollerets => 'Sollerets';
|
||||
|
||||
@override
|
||||
String get gold => 'Gold';
|
||||
|
||||
@override
|
||||
String goldAmount(int amount) {
|
||||
return 'Gold: $amount';
|
||||
}
|
||||
|
||||
@override
|
||||
String get prologue => 'Prologue';
|
||||
|
||||
@override
|
||||
String actNumber(String number) {
|
||||
return 'Act $number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noActiveQuests => 'No active quests';
|
||||
|
||||
@override
|
||||
String questNumber(int number) {
|
||||
return 'Quest #$number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get welcomeMessage => 'Welcome to Progress Quest!';
|
||||
|
||||
@override
|
||||
String get noSavedGames => 'No saved games found.';
|
||||
|
||||
@override
|
||||
String loadError(String error) {
|
||||
return 'Failed to load save file: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get name => 'Name';
|
||||
|
||||
@override
|
||||
String get generateName => 'Generate Name';
|
||||
|
||||
@override
|
||||
String get total => 'Total';
|
||||
|
||||
@override
|
||||
String get unroll => 'Unroll';
|
||||
|
||||
@override
|
||||
String get roll => 'Roll';
|
||||
|
||||
@override
|
||||
String get race => 'Race';
|
||||
|
||||
@override
|
||||
String get classTitle => 'Class';
|
||||
|
||||
@override
|
||||
String percentComplete(int percent) {
|
||||
return '$percent% complete';
|
||||
}
|
||||
}
|
||||
235
lib/l10n/app_localizations_zh.dart
Normal file
235
lib/l10n/app_localizations_zh.dart
Normal file
@@ -0,0 +1,235 @@
|
||||
// ignore: unused_import
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
import 'app_localizations.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// The translations for Chinese (`zh`).
|
||||
class L10nZh extends L10n {
|
||||
L10nZh([String locale = 'zh']) : super(locale);
|
||||
|
||||
@override
|
||||
String get appTitle => 'Ascii Never Die';
|
||||
|
||||
@override
|
||||
String get tagNoNetwork => 'No network';
|
||||
|
||||
@override
|
||||
String get tagIdleRpg => 'Idle RPG loop';
|
||||
|
||||
@override
|
||||
String get tagLocalSaves => 'Local saves';
|
||||
|
||||
@override
|
||||
String get newCharacter => 'New character';
|
||||
|
||||
@override
|
||||
String get loadSave => 'Load save';
|
||||
|
||||
@override
|
||||
String get loadGame => 'Load Game';
|
||||
|
||||
@override
|
||||
String get viewBuildPlan => 'View build plan';
|
||||
|
||||
@override
|
||||
String get buildRoadmap => 'Build roadmap';
|
||||
|
||||
@override
|
||||
String get techStack => 'Tech stack';
|
||||
|
||||
@override
|
||||
String get cancel => 'Cancel';
|
||||
|
||||
@override
|
||||
String get exitGame => 'Exit Game';
|
||||
|
||||
@override
|
||||
String get saveProgressQuestion => 'Save your progress before leaving?';
|
||||
|
||||
@override
|
||||
String get exitWithoutSaving => 'Exit without saving';
|
||||
|
||||
@override
|
||||
String get saveAndExit => 'Save and Exit';
|
||||
|
||||
@override
|
||||
String progressQuestTitle(String name) {
|
||||
return 'Progress Quest - $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get levelUp => 'Level Up';
|
||||
|
||||
@override
|
||||
String get completeQuest => 'Complete Quest';
|
||||
|
||||
@override
|
||||
String get completePlot => 'Complete Plot';
|
||||
|
||||
@override
|
||||
String get characterSheet => 'Character Sheet';
|
||||
|
||||
@override
|
||||
String get traits => 'Traits';
|
||||
|
||||
@override
|
||||
String get stats => 'Stats';
|
||||
|
||||
@override
|
||||
String get experience => 'Experience';
|
||||
|
||||
@override
|
||||
String get xpNeededForNextLevel => 'XP needed for next level';
|
||||
|
||||
@override
|
||||
String get spellBook => 'Spell Book';
|
||||
|
||||
@override
|
||||
String get noSpellsYet => 'No spells yet';
|
||||
|
||||
@override
|
||||
String get equipment => 'Equipment';
|
||||
|
||||
@override
|
||||
String get inventory => 'Inventory';
|
||||
|
||||
@override
|
||||
String get encumbrance => 'Encumbrance';
|
||||
|
||||
@override
|
||||
String get plotDevelopment => 'Plot Development';
|
||||
|
||||
@override
|
||||
String get quests => 'Quests';
|
||||
|
||||
@override
|
||||
String get traitName => 'Name';
|
||||
|
||||
@override
|
||||
String get traitRace => 'Race';
|
||||
|
||||
@override
|
||||
String get traitClass => 'Class';
|
||||
|
||||
@override
|
||||
String get traitLevel => 'Level';
|
||||
|
||||
@override
|
||||
String get statStr => 'STR';
|
||||
|
||||
@override
|
||||
String get statCon => 'CON';
|
||||
|
||||
@override
|
||||
String get statDex => 'DEX';
|
||||
|
||||
@override
|
||||
String get statInt => 'INT';
|
||||
|
||||
@override
|
||||
String get statWis => 'WIS';
|
||||
|
||||
@override
|
||||
String get statCha => 'CHA';
|
||||
|
||||
@override
|
||||
String get statHpMax => 'HP Max';
|
||||
|
||||
@override
|
||||
String get statMpMax => 'MP Max';
|
||||
|
||||
@override
|
||||
String get equipWeapon => 'Weapon';
|
||||
|
||||
@override
|
||||
String get equipShield => 'Shield';
|
||||
|
||||
@override
|
||||
String get equipHelm => 'Helm';
|
||||
|
||||
@override
|
||||
String get equipHauberk => 'Hauberk';
|
||||
|
||||
@override
|
||||
String get equipBrassairts => 'Brassairts';
|
||||
|
||||
@override
|
||||
String get equipVambraces => 'Vambraces';
|
||||
|
||||
@override
|
||||
String get equipGauntlets => 'Gauntlets';
|
||||
|
||||
@override
|
||||
String get equipGambeson => 'Gambeson';
|
||||
|
||||
@override
|
||||
String get equipCuisses => 'Cuisses';
|
||||
|
||||
@override
|
||||
String get equipGreaves => 'Greaves';
|
||||
|
||||
@override
|
||||
String get equipSollerets => 'Sollerets';
|
||||
|
||||
@override
|
||||
String get gold => 'Gold';
|
||||
|
||||
@override
|
||||
String goldAmount(int amount) {
|
||||
return 'Gold: $amount';
|
||||
}
|
||||
|
||||
@override
|
||||
String get prologue => 'Prologue';
|
||||
|
||||
@override
|
||||
String actNumber(String number) {
|
||||
return 'Act $number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noActiveQuests => 'No active quests';
|
||||
|
||||
@override
|
||||
String questNumber(int number) {
|
||||
return 'Quest #$number';
|
||||
}
|
||||
|
||||
@override
|
||||
String get welcomeMessage => 'Welcome to Progress Quest!';
|
||||
|
||||
@override
|
||||
String get noSavedGames => 'No saved games found.';
|
||||
|
||||
@override
|
||||
String loadError(String error) {
|
||||
return 'Failed to load save file: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get name => 'Name';
|
||||
|
||||
@override
|
||||
String get generateName => 'Generate Name';
|
||||
|
||||
@override
|
||||
String get total => 'Total';
|
||||
|
||||
@override
|
||||
String get unroll => 'Unroll';
|
||||
|
||||
@override
|
||||
String get roll => 'Roll';
|
||||
|
||||
@override
|
||||
String get race => 'Race';
|
||||
|
||||
@override
|
||||
String get classTitle => 'Class';
|
||||
|
||||
@override
|
||||
String percentComplete(int percent) {
|
||||
return '$percent% complete';
|
||||
}
|
||||
}
|
||||
75
lib/l10n/app_zh.arb
Normal file
75
lib/l10n/app_zh.arb
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"@@locale": "zh",
|
||||
|
||||
"appTitle": "Ascii Never Die",
|
||||
"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": "Progress Quest - {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",
|
||||
"spellBook": "Spell Book",
|
||||
"noSpellsYet": "No spells yet",
|
||||
"equipment": "Equipment",
|
||||
"inventory": "Inventory",
|
||||
"encumbrance": "Encumbrance",
|
||||
"plotDevelopment": "Plot Development",
|
||||
"quests": "Quests",
|
||||
"traitName": "Name",
|
||||
"traitRace": "Race",
|
||||
"traitClass": "Class",
|
||||
"traitLevel": "Level",
|
||||
"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",
|
||||
"gold": "Gold",
|
||||
"goldAmount": "Gold: {amount}",
|
||||
"prologue": "Prologue",
|
||||
"actNumber": "Act {number}",
|
||||
"noActiveQuests": "No active quests",
|
||||
"questNumber": "Quest #{number}",
|
||||
"welcomeMessage": "Welcome to Progress Quest!",
|
||||
"noSavedGames": "No saved games found.",
|
||||
"loadError": "Failed to load save file: {error}",
|
||||
"name": "Name",
|
||||
"generateName": "Generate Name",
|
||||
"total": "Total",
|
||||
"unroll": "Unroll",
|
||||
"roll": "Roll",
|
||||
"race": "Race",
|
||||
"classTitle": "Class",
|
||||
"percentComplete": "{percent}% complete"
|
||||
}
|
||||
Reference in New Issue
Block a user