Files

329 lines
12 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"app": {
"title": "Idle Fantasy",
"subtitle": "Save Viewer",
"loading": "Loading save…"
},
"nav": {
"overview": "Overview",
"skills": "Skills",
"inventory": "Inventory",
"goals": "Goals",
"equipment": "Equipment",
"quests": "Quests",
"combat": "Combat",
"history": "History",
"backup": "Backup"
},
"settings": {
"language": "Language",
"langAuto": "Auto (browser)",
"langEn": "English",
"langDe": "Deutsch"
},
"actions": {
"importBackup": "Import game backup",
"exportViewer": "Export viewer",
"importViewer": "Import viewer",
"compare": "Compare",
"dismiss": "Dismiss"
},
"empty": {
"noSave": "No save imported. Start with: python app.py fantasyidler_save.json",
"noSaveWeb": "No save imported yet. Import a backup using the sidebar button.",
"loadError": "Failed to load: {message}",
"unknown": "Unknown",
"none": "None",
"empty": "Empty",
"noItems": "No items found",
"noSnapshots": "No snapshots yet. Import a backup.",
"noChanges": "No changes",
"pickTwoSnapshots": "Select two different snapshots."
},
"import": {
"failed": "Import failed",
"duplicate": "Backup already exists (duplicate).",
"success": "Imported: Snapshot #{id}",
"successWithNotes": "Imported: Snapshot #{id}\n\n{warnings} warning(s), {infos} note(s) see dashboard banner for details.",
"changesTitle": "Changes since last import",
"changesSummary": "Coins {coins} · Level {level} · {inv} inventory changes · {skills} skill changes",
"questsCompleted": "Story quests completed",
"slayerKills": "Slayer kills",
"dungeonRuns": "Dungeon runs",
"topInventory": "Largest inventory changes",
"topSkills": "Largest skill changes",
"titleError": "Import errors",
"titleWarning": "Import warnings",
"titleInfo": "Import notes",
"countErrors": "{count} error(s)",
"countWarnings": "{count} warning(s)",
"countInfos": "{count} info(s)",
"newFieldsSummary": "{count} new/unknown field(s) from the game",
"invalid_root": "The file is not a JSON object not a valid Idle Fantasy backup.",
"empty_save": "The save file is empty.",
"unknown_top_level": "Unknown field in backup: \"{field}\" (added by a game update?).",
"missing_field": "Expected field missing: \"{field}\" related data will be shown empty.",
"nested_json_invalid": "Field \"{field}\" could not be read as JSON raw value ignored.",
"invalid_coins": "Field \"coins\" is not numeric.",
"invalid_exported_at": "Field \"exported_at\" is not a valid timestamp.",
"missing_exported_at": "No export timestamp history comparisons may be inaccurate.",
"skill_xp_mismatch": "{count} skill(s) without XP entry (e.g. {examples}).",
"skill_level_mismatch": "{count} XP entries without skill level.",
"unparsed_nested_json": "Field \"{field}\" is still a text string JSON content could not be read.",
"invalid_type": "Field \"{field}\" has unexpected type ({type}).",
"coerced_empty_dict": "Field \"{field}\" is not an object treated as empty.",
"coerced_empty_list": "Field \"{field}\" is not a list skipped.",
"invalid_number": "Invalid number in \"{field}\"{detail}.",
"invalid_quest_entry": "Quest entry #{index} is not an object and was skipped.",
"invalid_session_entry": "Session entry #{index} is not an object and was skipped.",
"unparsed_session_frames": "Session #{index}: activity frames could not be read.",
"invalid_pets": "Field \"pets\" is not a list.",
"invalid_farming_patch": "Farming patch #{index} was skipped.",
"missing_character_name": "No character name found in save.",
"invalid_quest_ids": "Quest IDs ({label}) are not a list.",
"invalid_quest_progress": "Quest progress ({label}) is not an object."
},
"meta": {
"export": "Export",
"points": "points"
},
"kpi": {
"coins": "Coins",
"totalLevel": "Total level",
"items": "Items",
"totalQty": "Total quantity",
"goalsOpen": "Open goals"
},
"overview": {
"character": "Character",
"hp": "HP",
"activePotion": "Active potion",
"activeSpell": "Active spell",
"weaponSlot": "Weapon slot",
"blessing": "Blessing",
"sessionQueue": "Session queue",
"slayer": "Slayer",
"noSlayerTask": "No active slayer task",
"pets": "Pets",
"farming": "Farming",
"patch": "Patch {n}",
"guildRep": "Guild reputation"
},
"skills": {
"search": "Search skills…",
"sortLevel": "By level",
"sortXp": "By XP",
"sortName": "By name",
"skill": "Skill",
"level": "Level",
"progress": "Progress",
"addGoal": "Add goal",
"addGoalFor": "Add goal for {name}",
"trend": "Trend",
"trendExpand": "Click to enlarge chart",
"trendExpandFor": "Level history for {name}",
"advisorTitle": "Training advisor",
"advisorHint": "Click a skill in the table for XP training recommendations (recipe skills only).",
"advisorLoading": "Loading recommendations…",
"advisorUnsupported": "No recipe data for this skill yet.",
"advisorUnavailable": "Could not load recommendations.",
"advisorSummary": "{name} (level {level}) — {xp} XP to next level",
"advisorNoRecipes": "No activities unlocked at your current level.",
"advisorActivity": "Activity",
"advisorXpMin": "XP / min",
"advisorReqLevel": "Req. level",
"advisorMaterials": "Materials",
"advisorEtaCol": "Est. to level",
"advisorEta": "~{minutes} min",
"advisorMissing": "Missing: {items}",
"advisorAdoptSkillGoal": "Level {level} as goal",
"advisorAdoptGoalFor": "Goal: craft {count}× {name} (to next level)",
"advisorGoalCreated": "Skill goal created: {name} → level {target}",
"advisorItemGoalCreated": "Item goal created: craft {count}× {name}"
},
"inventory": {
"search": "Search items…",
"sortCategory": "By category",
"sortName": "By name",
"sortQty": "By quantity",
"highlightEquipped": "Highlight equipped",
"item": "Item",
"qty": "Qty",
"id": "ID",
"equipped": "Equipped",
"groupMeta": "{count} items · {qty} pcs",
"trend": "Trend",
"trendExpand": "Click to enlarge chart",
"trendExpandFor": "Quantity history for {name}",
"addGoal": "Add goal",
"addGoalFor": "Add goal for {name}"
},
"equipment": {
"title": "Equipment"
},
"quests": {
"story": "Story",
"daily": "Daily",
"weekly": "Weekly",
"guild": "Guild",
"filterAll": "All",
"filterOpen": "Open",
"filterDone": "Completed",
"quest": "Quest",
"progress": "Progress",
"status": "Status",
"done": "Done",
"open": "Open"
},
"combat": {
"enemyKills": "Enemy kills",
"dungeonRuns": "Dungeon runs",
"runs": "{count} runs",
"kills": "Kills",
"runsLabel": "Runs",
"entry": "Name",
"trend": "Trend",
"trendExpand": "Click to enlarge chart",
"trendExpandKillsFor": "Kill history for {name}",
"trendExpandRunsFor": "Run history for {name}",
"recentActivity": "Recent activity",
"activeSessions": "Active sessions",
"sessionDone": "done",
"sessionRunning": "running"
},
"history": {
"loading": "Loading history…",
"coinsChart": "Coins over time",
"levelChart": "Total level over time",
"snapshotCompare": "Snapshot comparison",
"allSnapshots": "All snapshots",
"character": "Character",
"file": "File",
"inventoryChanges": "Inventory changes ({count})",
"skillChanges": "Skill changes ({count})",
"delta": "Delta",
"xpDelta": "XP delta",
"skillLevelChart": "Top skills over time",
"delete": "Delete",
"deleteSnapshot": "Delete snapshot",
"deleteSnapshotConfirm": "Really delete this snapshot?",
"deleteSnapshotFailed": "Could not delete snapshot",
"coinsSummary": "Coins: {delta} · Total level: {levelDelta}"
},
"search": {
"global": "Search items, skills and goals…",
"noResults": "No results",
"type": {
"item": "Item",
"skill": "Skill",
"goal": "Goal"
}
},
"category": {
"currency": "Currency",
"ores_mining": "Ores & Mining",
"bars_smithing": "Bars & Smithing",
"wood_planks": "Wood & Planks",
"runes": "Runes",
"raw_food": "Raw Food",
"cooked_food": "Cooked Food",
"seeds_farming": "Seeds & Farming",
"melee_weapons": "Melee Weapons",
"ranged": "Ranged",
"magic": "Magic",
"armor": "Armor",
"bones_hides": "Bones & Hides",
"gems_jewelry": "Gems & Jewelry",
"potions_brews": "Potions & Brews",
"misc": "Misc"
},
"viewer": {
"landingLead": "Create your personal save viewer. No account just a private link to your data.",
"gameLink": "Idle Fantasy on GitHub",
"featureDashboard": "Skills, inventory, quests and history",
"featureUpload": "Import backups in the browser",
"featurePrivate": "Your data stays in your viewer only",
"create": "Create my viewer",
"creating": "Creating viewer…",
"createFailed": "Could not create viewer",
"warningTitle": "Important",
"warningBody": "There is no login. Your viewer is only accessible via its unique link. Bookmark or save the link without it, your data cannot be recovered.",
"linkTitle": "Your personal link",
"linkWarning": "Save this link there is no login. Without it, your data is lost.",
"copyLink": "Copy link",
"copied": "Copied!",
"copyPrompt": "Copy your viewer link:"
},
"pwa": {
"hintTitle": "Install as app",
"hintBody": "Install this viewer for quick access from your home screen or app list.",
"hintIos": "Tap Share, then \"Add to Home Screen\".",
"hintAndroid": "Open the browser menu and tap \"Install app\" or \"Add to Home screen\".",
"hintDesktop": "Use the install icon in the address bar or the browser menu → Install app.",
"install": "Install",
"installed": "App installed open it from your home screen or app list."
},
"viewerDb": {
"title": "Viewer backup",
"helpTitle": "What is this?",
"helpBody": "The viewer stores imported game backups, history charts, and goals in a SQLite database on the server. Export downloads that database as a backup. Import restores it and replaces all current viewer data. This is not the same as importing a game save (.json).",
"gameBackupNote": "To add a new game save snapshot, use Import game backup in the sidebar.",
"exportHint": "Download the SQLite database with all snapshots, history, and goals",
"importConfirm": "All current viewer data (snapshots, history, goals) will be replaced by the imported .db file. Continue?",
"importSuccess": "Viewer restored: {snapshots} snapshot(s), {goals} goal(s).",
"importFailed": "Could not import viewer database",
"invalidFile": "Please select a .db file (viewer export)."
},
"goals": {
"filterAll": "All",
"filterOpen": "Open",
"filterDone": "Completed",
"createGroup": "Create group",
"createGroupPrompt": "Group name:",
"groupProgress": "{completed} / {total} done",
"ungrouped": "Ungrouped",
"item": "Item",
"progress": "Progress",
"status": "Status",
"actions": "Actions",
"open": "Open",
"done": "Done",
"delete": "Delete",
"deleteGroup": "Delete group",
"deleteGroupConfirm": "Delete group \"{name}\"? Goals will be kept as ungrouped.",
"deleteConfirm": "Delete this goal?",
"clearCompleted": "Remove completed",
"empty": "No goals yet. Add goals from the Inventory or Skills tab.",
"loadError": "Failed to load goals",
"createFailed": "Could not create goal",
"groupCreateFailed": "Could not create group",
"modalTitle": "Add item goal",
"modalTitleSkill": "Add skill goal",
"cancel": "Cancel",
"targetQty": "Target quantity",
"targetLevel": "Target level",
"mode": "Mode",
"modeAbsolute": "Absolute (total qty/level)",
"modeRelative": "Relative (since creation)",
"modeRelativeHint": "Relative goal progress since creation",
"typeSkill": "Skill",
"currentLevel": "Current: level {level}",
"missing": "{qty} still needed",
"missingShort": "{qty}",
"etaSnapshots": "~{n} import(s)",
"hasGoal": "Open goal",
"total": "total",
"renameGroup": "Rename",
"renameGroupPrompt": "New group name:",
"selectGroup": "Group",
"noGroup": "No group",
"newGroup": "New group…",
"newGroupName": "New group name",
"currentQty": "Current: {qty}",
"completedBannerTitle": "Goals reached",
"completedItem": "{group}{name}: {current} / {target}",
"completedItemGroup": "{name}: ",
"groupCompleted": "Group completed: {name}"
}
}