feat: add props system and refactor asset library architecture

This commit is contained in:
saturn
2026-03-19 15:37:47 +08:00
parent 9aff44e37a
commit f364bbc9e4
139 changed files with 9112 additions and 2827 deletions

View File

@@ -9,10 +9,13 @@
"allAssets": "All Assets",
"characters": "Characters",
"locations": "Locations",
"props": "Props",
"voices": "Voices",
"addCharacter": "Add Character",
"addLocation": "Add Location",
"addProp": "Add Prop",
"addVoice": "Add Voice",
"addAsset": "New Asset",
"downloadAll": "Download All",
"downloadAllTitle": "Download All Image Assets as ZIP",
"downloading": "Packing...",
@@ -37,7 +40,10 @@
"confirmDeleteFolder": "Delete this folder? Assets inside will be moved to uncategorized.",
"confirmDeleteCharacter": "Delete this character? This action cannot be undone.",
"confirmDeleteLocation": "Delete this location? This action cannot be undone.",
"confirmDeleteProp": "Delete this prop? This action cannot be undone.",
"confirmDeleteVoice": "Delete this voice? This action cannot be undone.",
"locationLabel": "Location",
"propLabel": "Prop",
"voiceName": "Voice Name",
"voiceNamePlaceholder": "Enter voice name",
"voiceNameRequired": "Please enter a voice name",
@@ -104,4 +110,4 @@
"dropOrClick": "Drop image or click to upload",
"supportedFormats": "JPG, PNG supported"
}
}
}

View File

@@ -3,12 +3,15 @@
"button": "Assets",
"characters": "Characters",
"locations": "Locations",
"props": "Props",
"noCharacters": "No characters",
"noLocations": "No locations",
"noProps": "No props",
"addCharacter": "Add Character",
"addLocation": "Add Location",
"addProp": "Add Prop",
"generateImage": "Generate Image",
"regenerateImage": "Regenerate",
"analyzeAssets": "Analyze Assets",
"analyzing": "Analyzing..."
}
}

View File

@@ -51,6 +51,13 @@
"description": "Location Description",
"descPlaceholder": "Enter location description..."
},
"prop": {
"title": "New Prop",
"name": "Prop Name",
"namePlaceholder": "Enter prop name",
"summary": "Prop Description",
"summaryPlaceholder": "Describe the prop..."
},
"artStyle": {
"title": "Art Style"
},
@@ -72,6 +79,8 @@
"addOnlyToAssetHub": "Add only to asset hub",
"addOnlyLocation": "Add location only",
"addOnlyToAssetHubLocation": "Add location to asset hub only",
"addOnlyProp": "Add prop only",
"addOnlyToAssetHubProp": "Add prop to asset hub only",
"addAndGeneratePrefix": "Add and generate",
"generateCountSuffix": "images",
"selectGenerateCount": "Select generation count",

View File

@@ -1,6 +1,7 @@
{
"selectCharacter": "Select Character from Asset Hub",
"selectLocation": "Select Location from Asset Hub",
"selectProp": "Select Prop from Asset Hub",
"selectVoice": "Select Voice from Asset Hub",
"searchPlaceholder": "Search by name or folder...",
"noAssets": "No assets in Asset Hub",
@@ -15,4 +16,4 @@
"copyFailed": "Copy failed",
"preview": "Preview",
"stop": "Stop"
}
}

View File

@@ -3,6 +3,7 @@
"title": "Assets Confirmation",
"characters": "Characters",
"locations": "Locations",
"props": "Props",
"analyze": "Analyze Assets",
"analyzing": "Analyzing...",
"generateAll": "Generate All",
@@ -14,8 +15,10 @@
"assetsTitle": "Asset Analysis",
"characterAssets": "Character Assets",
"locationAssets": "Location Assets",
"propAssets": "Prop Assets",
"counts": "{characterCount} Characters, {appearanceCount} Appearances",
"locationCounts": "{count} Locations",
"propCounts": "{count} Props",
"undoFailed": "Undo failed",
"undoFailedError": "Undo failed: {error}",
"undoSuccess": "Reverted to previous version",
@@ -70,6 +73,18 @@
"updateFailed": "Update description failed",
"addFailed": "Add location failed"
},
"prop": {
"add": "Add Prop",
"edit": "Edit Prop",
"delete": "Delete Prop",
"deleteConfirm": "Delete this prop?",
"deleteFailed": "Delete failed: {error}",
"name": "Prop Name",
"summary": "Summary",
"summaryPlaceholder": "Describe the prop",
"regenerateImage": "Regenerate",
"addFailed": "Add prop failed"
},
"image": {
"upload": "Upload Image",
"uploadReplace": "Upload Replacement",
@@ -160,6 +175,7 @@
"modifyFailed": "Modification failed",
"editCharacter": "Edit Character",
"editLocation": "Edit Location",
"editProp": "Edit Prop",
"saveAndGenerate": "Save and Generate",
"generatingAutoClose": "Generating image, will close automatically when done...",
"aiLocationTip": "Enter what you want to modify, AI will adjust the scene description",
@@ -177,7 +193,7 @@
"showGenerated": "Generated",
"showPending": "Pending",
"assetManagement": "Asset Management",
"assetCount": "{total} assets ({appearances} character appearances + {locations} locations)",
"assetCount": "{total} assets ({appearances} character appearances + {locations} locations + {props} props)",
"globalAnalyze": "Global Analysis",
"globalAnalyzing": "Performing global asset analysis...",
"globalAnalyzingHint": "Please don't refresh. Results will appear automatically when complete",
@@ -239,11 +255,17 @@
"aiDesignFailed": "AI design failed",
"createFailed": "Creation failed"
},
"filterBar": {
"all": "All",
"allEpisodes": "All Episodes",
"episodeLabel": "Ep.{number} · {name}"
},
"assetLibrary": {
"button": "Asset Library",
"title": "Asset Library",
"copySuccessCharacter": "Character appearance copied successfully",
"copySuccessLocation": "Location image copied successfully",
"copySuccessProp": "Prop image copied successfully",
"copySuccessVoice": "Voice copied successfully",
"copyFailed": "Copy failed: {error}",
"downloadEmpty": "No image assets to download",
@@ -332,4 +354,4 @@
"referenceImagesHint": "(optional, paste supported)",
"startEditing": "Start Editing"
}
}
}