388 lines
20 KiB
INI
388 lines
20 KiB
INI
app.title=Prometeu Studio
|
|
app.projectTitle=Prometeu Studio - {0}
|
|
shield.loadingProject=Loading project {0}...
|
|
shield.version=Version {0}
|
|
shield.status.indexing=Indexing sources and restoring services...
|
|
shield.status.restoring=Restoring workspace surfaces and editor state...
|
|
shield.phase.indexing=Indexing
|
|
shield.phase.preparing=Preparing UI
|
|
shield.phase.restoring=Restoring State
|
|
shield.tip.shortcuts=Tip: the Studio shell will grow around workspace-first shortcuts and actions.
|
|
shield.tip.workspaces=Tip: workspaces stay fixed on the left rail for fast switching.
|
|
shield.tip.activity=Tip: global activity lives on the right; local logs stay in each workspace.
|
|
|
|
menu.file=File
|
|
menu.file.newProject=New Project
|
|
menu.file.open=Open
|
|
menu.file.save=Save
|
|
menu.edit=Edit
|
|
menu.view=View
|
|
menu.help=Help
|
|
|
|
shell.activity=Activity
|
|
launcher.title=Projects
|
|
launcher.subtitle=Open an existing project or create a new one to enter the Studio shell.
|
|
launcher.existingProjects=Existing Projects
|
|
launcher.openProject=Open Project
|
|
launcher.addProject=Add Project
|
|
launcher.forgetProject=Forget Project
|
|
launcher.createProject=Create New Project
|
|
launcher.projectNamePrompt=Project name
|
|
launcher.createButton=Create
|
|
wizard.title=New Project Wizard
|
|
wizard.back=Back
|
|
wizard.next=Next
|
|
wizard.create=Create Project
|
|
wizard.cancel=Cancel
|
|
wizard.browse=Browse
|
|
wizard.step.name.title=Project Name
|
|
wizard.step.name.description=Choose the new project's name.
|
|
wizard.step.language.title=Language and Project Layout
|
|
wizard.step.language.description=Choose the language, stdlib version, and default source root for the new project.
|
|
wizard.step.location.title=Project Location
|
|
wizard.step.location.description=Choose the parent directory where the project will be created.
|
|
wizard.step.details.title=Extra Details
|
|
wizard.step.details.description=Configure project-local editor and runtime details before choosing the project location.
|
|
wizard.step.confirm.title=Confirm Project Creation
|
|
wizard.step.confirm.description=Review the project details before creating it.
|
|
wizard.language.label=Language
|
|
wizard.stdlib.label=Stdlib Version
|
|
wizard.sourceRoot.label=Source Root
|
|
wizard.indentation.label=Indentation Width
|
|
wizard.runtime.label=Prometeu Runtime Path
|
|
wizard.runtime.prompt=/opt/prometeu/runtime
|
|
wizard.confirm.name=Name: {0}
|
|
wizard.confirm.language=Language: {0}
|
|
wizard.confirm.stdlib=Stdlib: {0}
|
|
wizard.confirm.sourceRoot=Source Root: {0}
|
|
wizard.confirm.location=Location: {0}
|
|
wizard.confirm.indentation=Indentation: {0}
|
|
wizard.confirm.runtime=Runtime: {0}
|
|
wizard.confirm.root=Project Root: {0}
|
|
wizard.error.nameRequired=Project name is required.
|
|
wizard.error.languageRequired=Project language is required.
|
|
wizard.error.stdlibRequired=Stdlib major must be a positive integer.
|
|
wizard.error.sourceRootRequired=Source root is required.
|
|
wizard.error.locationRequired=Project location is required.
|
|
wizard.error.indentationRequired=Indentation width must be selected.
|
|
|
|
toolbar.play=Play
|
|
toolbar.stop=Stop
|
|
toolbar.export=Export
|
|
workspace.code=Code
|
|
codeEditor.navigator.title=Project Navigator
|
|
codeEditor.navigator.refresh=Refresh
|
|
codeEditor.navigator.revealActive=Reveal active file
|
|
codeEditor.navigator.placeholder=Project navigation lands in the next implementation slice.
|
|
codeEditor.navigator.detail=This first shell reserves the full navigator surface, its refresh action, and the left-column composition without wiring project-tree data yet.
|
|
codeEditor.outline.title=Outline
|
|
codeEditor.outline.placeholder=Open a frontend document to inspect semantic symbols.
|
|
codeEditor.outline.symbols=Symbols
|
|
codeEditor.outline.emptySymbols=No semantic symbols are currently available for the active frontend document.
|
|
codeEditor.helper.title=Editor Helper
|
|
codeEditor.helper.placeholder=Open a frontend document to inspect semantic diagnostics.
|
|
codeEditor.helper.diagnostics=Diagnostics
|
|
codeEditor.helper.emptyDiagnostics=No diagnostics for the active frontend document.
|
|
codeEditor.tabs.placeholder=no-file-open.txt
|
|
codeEditor.tabs.overflow=More
|
|
codeEditor.status.breadcrumb=proj > src > file.pbs
|
|
codeEditor.status.position=L:C
|
|
codeEditor.status.lineSeparator=LF
|
|
codeEditor.status.indentation=Spaces: 4
|
|
codeEditor.status.language=Text
|
|
codeEditor.command.save=Save
|
|
codeEditor.command.saveAll=Save All
|
|
codeEditor.closeDirty.title=Unsaved changes
|
|
codeEditor.closeDirty.message=Save changes to {0} before closing?
|
|
codeEditor.closeDirty.save=Save
|
|
codeEditor.closeDirty.discard=Discard
|
|
codeEditor.closeDirty.cancel=Cancel
|
|
codeEditor.warning.frontendReadOnly=This frontend file is read-only in this wave. It cannot be edited or saved yet.
|
|
codeEditor.unsupportedFile.title=Unsupported file
|
|
codeEditor.unsupportedFile.message=This file is not supported in this wave: {0}
|
|
workspace.shipper=Shipper
|
|
workspace.shipper.logs=Logs
|
|
workspace.shipper.button.run=Build
|
|
workspace.shipper.button.clear=Clear
|
|
workspace.debug.state=State
|
|
workspace.debug.logs=Execution Logs
|
|
workspace.debug.status.idle=Idle
|
|
workspace.debug.status.preparing=Preparing
|
|
workspace.debug.status.prepareFailed=Preparation failed
|
|
workspace.debug.status.connecting=Connecting
|
|
workspace.debug.status.running=Running
|
|
workspace.debug.status.runtimeFailed=Runtime failed
|
|
workspace.debug.status.stopped=Stopped
|
|
|
|
workspace.assets=Assets
|
|
assets.navigator.title=Asset Navigator
|
|
assets.navigator.action.refresh=Refresh
|
|
assets.navigator.action.add=Add Asset
|
|
assets.navigator.action.pack=Pack
|
|
assets.search.prompt=Search assets by name or path
|
|
assets.filter.unregistered=Unregistered
|
|
assets.filter.diagnostics=Diagnostics
|
|
assets.filter.preload=Preload
|
|
assets.state.loading=Loading assets...
|
|
assets.state.empty=No registered or unregistered assets were found in this project.
|
|
assets.state.noResults=No assets match the current search or filters.
|
|
assets.state.ready={0} visible assets ({1} total).
|
|
assets.state.error=Asset workspace failed to load.
|
|
assets.badge.registered=Registered
|
|
assets.badge.unregistered=Unregistered
|
|
assets.badge.preload=Preload
|
|
assets.badge.diagnostics=Diagnostics
|
|
assets.section.summary=Summary
|
|
assets.section.runtimeContract=Runtime Contract
|
|
assets.section.bankComposition=Bank Composition
|
|
assets.section.sceneLayers=Scene Layers
|
|
assets.section.colorSchemaGroups=Color Schema Groups
|
|
assets.section.layerConfiguration=Layer Configuration
|
|
assets.section.paletteOverhauling=Palette Overhauling
|
|
assets.subsection.codecConfiguration=Codec Configuration
|
|
assets.subsection.metadata=Metadata
|
|
assets.section.inputsPreview=Inputs / Preview
|
|
assets.section.diagnostics=Diagnostics
|
|
assets.section.actions=Actions
|
|
assets.actions.empty=No actions available for this asset.
|
|
assets.action.register=Register
|
|
assets.action.analyse=Analyse
|
|
assets.action.generateTsx=Generate TSX
|
|
assets.action.generateTmx=Generate TMX
|
|
assets.action.validateSceneBank=Validate Scene Bank
|
|
assets.action.acceptSceneBank=Accept Scene Bank
|
|
assets.action.validateLayer=Validate Layer
|
|
assets.action.acceptLayer=Accept Layer
|
|
assets.action.delete=Delete
|
|
assets.deleteDialog.title=Delete Asset
|
|
assets.deleteDialog.description=Type the asset name below to confirm deletion of {0}.
|
|
assets.deleteDialog.prompt=Type the asset name exactly
|
|
assets.deleteDialog.note=Only asset.json is deleted. The asset directory and its remaining files stay on disk.
|
|
assets.deleteDialog.confirm=Delete
|
|
assets.action.includeInBuild=Include In Build
|
|
assets.action.excludeFromBuild=Exclude From Build
|
|
assets.action.relocate=Move
|
|
assets.action.remove=Remove
|
|
assets.mutation.previewTitle=Preview: {0}
|
|
assets.mutation.section.changes=Changes
|
|
assets.mutation.section.affectedAsset=Affected Asset
|
|
assets.mutation.section.registryImpact=Registry Impact
|
|
assets.mutation.section.workspaceImpact=Workspace Impact
|
|
assets.mutation.section.blockers=Blockers
|
|
assets.mutation.section.warnings=Warnings
|
|
assets.mutation.section.safeFixes=Safe Fixes
|
|
assets.mutation.empty.changes=No changes are currently staged.
|
|
assets.mutation.empty.registryImpact=No registry changes are currently staged.
|
|
assets.mutation.empty.workspaceImpact=No workspace changes are currently staged.
|
|
assets.mutation.empty.blockers=No blockers.
|
|
assets.mutation.empty.warnings=No warnings.
|
|
assets.mutation.empty.safeFixes=No safe fixes.
|
|
assets.mutation.cancel=Cancel
|
|
assets.mutation.apply=Apply
|
|
assets.mutation.confirm.title=Confirm Mutation
|
|
assets.mutation.confirm.header=Confirm {0}
|
|
form.action.change=Change
|
|
form.action.apply=Apply
|
|
form.action.reset=Reset
|
|
form.action.cancel=Cancel
|
|
assets.label.name=Name
|
|
assets.label.registration=Registration
|
|
assets.label.buildParticipation=Build Participation
|
|
assets.label.assetId=Asset ID
|
|
assets.label.type=Type
|
|
assets.label.studioRole=Studio Role
|
|
assets.label.sceneStatus=Scene Status
|
|
assets.label.sceneLayers=Scene Layers
|
|
assets.label.sceneDimensions=Layer Size
|
|
assets.label.layer=Layer
|
|
assets.label.layerOverview=Layer Overview
|
|
assets.label.tilemaps=Tilemaps
|
|
assets.label.tilemap=Tilemap
|
|
assets.label.tileset=Tileset
|
|
assets.label.supportFile=Support File
|
|
assets.label.useLayer=Use this layer
|
|
assets.type.glyphBank=Glyph Bank
|
|
assets.type.sceneBank=Scene Bank
|
|
assets.type.paletteBank=Palette Bank
|
|
assets.type.soundBank=Sound Bank
|
|
assets.type.unknown=Unknown
|
|
assets.specialization.none=None
|
|
assets.specialization.tileset=Tileset
|
|
assets.specialization.sprites=Sprites
|
|
assets.specialization.ui=UI
|
|
assets.sceneStatus.pendingValidation=Pending Validation
|
|
assets.sceneStatus.validatedPendingAcceptance=Validated / Pending Acceptance
|
|
assets.sceneStatus.ready=Ready
|
|
assets.sceneStatus.validationFailed=Validation Failed
|
|
assets.label.location=Location
|
|
assets.label.bank=Bank
|
|
assets.label.targetLocation=Target Location
|
|
assets.label.format=Format
|
|
assets.label.codec=Codec
|
|
assets.label.preload=Preload
|
|
assets.value.registered=Registered
|
|
assets.value.unregistered=Unregistered
|
|
assets.value.included=Included
|
|
assets.value.excluded=Excluded
|
|
assets.value.yes=Yes
|
|
assets.value.no=No
|
|
assets.value.notConfigured=Not configured
|
|
assets.value.layerOverviewPending=Overview reserved for this layer. Preview data will appear here when the layer pipeline is connected.
|
|
assets.progress.idle=Assets workspace idle.
|
|
assets.progress.refreshing=Refreshing assets...
|
|
assets.progress.loadingDetails=Loading selected asset details...
|
|
assets.logs.title=Logs
|
|
assets.diagnostics.empty=No diagnostics are currently attached to this asset.
|
|
assets.diagnostics.dialog.title=Asset Diagnostics
|
|
assets.diagnostics.dialog.summary={0} diagnostics for {1}
|
|
assets.diagnostics.label.category=Category
|
|
assets.diagnostics.label.evidence=Evidence
|
|
assets.diagnostics.label.blocking=Blocking
|
|
assets.preview.empty=Select an input to preview it here.
|
|
assets.preview.zoom=Zoom
|
|
assets.preview.textError=Unable to read this text-like input for preview.
|
|
assets.preview.imageError=Unable to decode this image for preview.
|
|
assets.preview.audioPlaceholder=Audio preview placeholder: {0}
|
|
assets.preview.genericPlaceholder=Preview placeholder for {0}
|
|
activity.progress.idle=No background work in progress.
|
|
activity.progress.assetsRefresh=Refreshing asset workspace...
|
|
assets.summary.loading=Hydrating asset workspace state...
|
|
assets.summary.empty=No assets are currently available.
|
|
assets.summary.ready=Navigator ready with {0} assets.
|
|
assets.summary.error=Asset workspace unavailable.
|
|
assets.details.loading=Waiting for asset data...
|
|
assets.details.empty=Create or add assets to this project to start using the Assets workspace.
|
|
assets.details.ready=Selected asset: {0}\nState: {1}\nRoot: {2}
|
|
assets.details.noSelection=Select an asset from the navigator once assets are available.
|
|
assets.details.bankComposition.available=Available
|
|
assets.details.bankComposition.selected=Selected
|
|
assets.details.bankComposition.readonlyHint=Current bank composition state is shown read-only until editing begins.
|
|
assets.details.bankComposition.editingHint=Bank composition editing shell is active. Behavior wiring lands in the next slice.
|
|
assets.paletteOverhauling.available=Candidate Palettes
|
|
assets.paletteOverhauling.selected=Bank Palettes
|
|
assets.paletteOverhauling.tileSelector=Preview Tile
|
|
assets.paletteOverhauling.appliedPalette=Applied Palette
|
|
assets.paletteOverhauling.previewEmpty=Select at least one palette to inspect it on a tile.
|
|
assets.paletteWizard.createTitle=Create Palette
|
|
assets.paletteWizard.updateTitle=Update Palette
|
|
assets.paletteWizard.name=Name
|
|
assets.paletteWizard.schema=Schema
|
|
assets.paletteWizard.original=Original Palette
|
|
assets.paletteWizard.editable=Editable Palette
|
|
assets.paletteWizard.applyColor=Apply Color
|
|
assets.paletteWizard.duplicate=An identical palette already exists for this schema.
|
|
assets.paletteWizard.ready=Palette is ready to be saved.
|
|
assets.colorSchema.empty=No schemas have been authored for this glyph bank yet.
|
|
assets.colorSchema.summary={0} schema groups ready, {1} selected tiles still unassigned.
|
|
assets.colorSchema.removeBlocked=Schema {0} cannot be removed while palettes still reference it.
|
|
assets.colorSchema.dialog.availableTiles=Available Tiles
|
|
assets.colorSchema.dialog.assignedTiles=Assigned Tiles
|
|
assets.colorSchema.dialog.colorCount=Color count: {0}
|
|
assets.colorSchema.dialog.tooManyColors=Color Schema Groups support at most 15 visible indices.
|
|
assets.details.codecConfiguration.empty=This codec does not expose configuration fields yet.
|
|
assets.details.metadata.empty=This asset does not expose metadata fields yet.
|
|
assets.addWizard.title=Add Asset
|
|
assets.addWizard.description=Create a registered asset root through a guided flow.
|
|
assets.addWizard.step.root.title=Choose Asset Root
|
|
assets.addWizard.step.root.description=Pick a directory inside assets/. Existing roots that already contain asset.json cannot be reused.
|
|
assets.addWizard.step.details.title=Describe Asset Contract
|
|
assets.addWizard.step.details.description=Choose the asset family first. Output format and codec are unlocked progressively from that choice.
|
|
assets.addWizard.step.summary.title=Review and Confirm
|
|
assets.addWizard.step.summary.description=Confirm the registered asset you are about to create and choose whether it should preload at startup.
|
|
assets.addWizard.label.name=Asset Name
|
|
assets.addWizard.label.root=Asset Root
|
|
assets.addWizard.label.type=Asset Type
|
|
assets.addWizard.label.specialization=Studio Specialization
|
|
assets.addWizard.label.format=Output Format
|
|
assets.addWizard.label.codec=Output Codec
|
|
assets.addWizard.label.preload=Preload on startup
|
|
assets.addWizard.prompt.type=Choose asset type
|
|
assets.addWizard.prompt.specialization=Choose Studio specialization
|
|
assets.addWizard.prompt.format=Choose output format
|
|
assets.addWizard.prompt.codec=Choose output codec
|
|
assets.addWizard.assetsRootHint=Assets root: {0}
|
|
assets.addWizard.browse.title=Choose Asset Root Directory
|
|
assets.addWizard.note=This preload flag can be changed later by editing asset.json. Inputs start empty and can be added after creation.
|
|
assets.addWizard.button.create=Create Asset
|
|
assets.addWizard.error.name=Asset name is required.
|
|
assets.addWizard.error.root=Asset root is required.
|
|
assets.addWizard.error.rootRelative=Asset root must be a relative path inside assets/.
|
|
assets.addWizard.error.rootOutsideAssets=The selected directory must stay inside assets/.
|
|
assets.addWizard.error.rootAlreadyAsset=The selected root already contains asset.json.
|
|
assets.addWizard.error.type=Choose an asset type before continuing.
|
|
assets.addWizard.error.specialization=Choose a Studio specialization before continuing.
|
|
assets.addWizard.error.format=Choose an output format before continuing.
|
|
assets.addWizard.error.codec=Choose an output codec before continuing.
|
|
assets.addWizard.error.unsupportedCombination=The selected asset type, output format, and codec combination is not supported.
|
|
assets.relocateWizard.title=Relocate Asset
|
|
assets.relocateWizard.description=Choose the destination for this asset and confirm the relocation inside this modal.
|
|
assets.relocateWizard.step.destination.title=Choose Destination
|
|
assets.relocateWizard.step.destination.description=Pick the parent directory and the new folder name for this asset.
|
|
assets.relocateWizard.step.summary.title=Review Relocation
|
|
assets.relocateWizard.step.summary.description=Review the mutation impact before confirming this relocation.
|
|
assets.relocateWizard.step.waiting.title=Moving Asset
|
|
assets.relocateWizard.step.waiting.description=Wait while the packer applies this move.
|
|
assets.relocateWizard.label.currentRoot=Current Asset Root
|
|
assets.relocateWizard.label.destinationParent=Destination Parent
|
|
assets.relocateWizard.label.destinationName=Destination Folder Name
|
|
assets.relocateWizard.label.targetRoot=Planned Target Root
|
|
assets.relocateWizard.prompt.destinationName=Choose the new asset folder name
|
|
assets.relocateWizard.assetsRootHint=Destination must stay inside assets/: {0}
|
|
assets.relocateWizard.browse.title=Choose Destination Parent Directory
|
|
assets.relocateWizard.note=OK applies this relocation immediately. Use Back if you need to change the destination.
|
|
assets.relocateWizard.button.confirm=OK
|
|
assets.relocateWizard.button.preview=Preview Relocation
|
|
assets.relocateWizard.error.parent=Destination parent must stay inside assets/.
|
|
assets.relocateWizard.error.name=Destination folder name is required.
|
|
assets.relocateWizard.error.outsideAssets=The planned target root must stay inside assets/.
|
|
assets.relocateWizard.error.targetAlreadyAsset=The planned target root already contains asset.json.
|
|
assets.relocateWizard.error.targetSame=The planned target root must differ from the current asset root.
|
|
assets.packWizard.title=Pack Workspace
|
|
assets.packWizard.step.deepSync.title=Prepare Deep Sync
|
|
assets.packWizard.step.deepSync.description=Start with a deep sync so the pack wizard reads the latest packer snapshot before validation or packing.
|
|
assets.packWizard.step.deepSyncWaiting.title=Deep Sync
|
|
assets.packWizard.step.deepSyncWaiting.description=Wait while the packer refreshes the workspace snapshot for this wizard.
|
|
assets.packWizard.step.summary.title=Pack Summary
|
|
assets.packWizard.step.summary.description=Review the current build set before validating or packing it.
|
|
assets.packWizard.step.validation.title=Validation
|
|
assets.packWizard.step.validation.description=Inspect blocking diagnostics for included assets before starting the pack.
|
|
assets.packWizard.step.packing.title=Packing
|
|
assets.packWizard.step.packing.description=Wait while the packer emits assets.pa and companion artifacts.
|
|
assets.packWizard.step.result.title=Pack Result
|
|
assets.packWizard.step.result.description=Review the final status returned by the packer.
|
|
assets.packWizard.button.validate=Validate
|
|
assets.packWizard.button.pack=Pack
|
|
assets.packWizard.button.close=Close
|
|
assets.packWizard.button.copyFailures=Copy Failure Summary
|
|
assets.packWizard.loading.summary=Loading pack summary...
|
|
assets.packWizard.loading.deepSync=Running deep sync...
|
|
assets.packWizard.loading.validation=Running pack validation...
|
|
assets.packWizard.loading.packing=Packing assets...
|
|
assets.packWizard.label.canonicalArtifact=Canonical Artifact
|
|
assets.packWizard.label.includedAssets=Included Assets
|
|
assets.packWizard.label.outsideBuildSet=Outside Build Set
|
|
assets.packWizard.label.totalInScope=Assets In Scope
|
|
assets.packWizard.label.validAssets=Valid Assets
|
|
assets.packWizard.label.blockedAssets=Blocked Assets
|
|
assets.packWizard.label.status=Status
|
|
assets.packWizard.label.packedAssets=Packed Assets
|
|
assets.packWizard.label.elapsed=Elapsed
|
|
assets.packWizard.label.emittedArtifacts=Emitted Artifacts
|
|
assets.packWizard.label.minArtifacts=Min Artifacts
|
|
assets.packWizard.label.maxArtifacts=Max Artifacts
|
|
assets.packWizard.label.lastModified=Last Modified
|
|
assets.packWizard.status.ready=Ready to pack
|
|
assets.packWizard.status.blocked=Validation blocked
|
|
assets.packWizard.status.running=Packing in progress
|
|
assets.packWizard.status.finished=Packing finished
|
|
assets.packWizard.validation.empty=No validation entries are currently available.
|
|
assets.packWizard.result.noArtifacts=No emitted artifacts were reported.
|
|
assets.packWizard.result.copyFailuresHint=Failure summary export is reserved for a future iteration.
|
|
assets.packWizard.deepSync.note=Next starts a deep sync before the wizard shows the pack summary.
|
|
assets.packWizard.deepSync.completed=Deep sync finished. Continue to review the current pack summary.
|
|
assets.packWizard.error.summary=Unable to load pack summary.
|
|
assets.packWizard.error.deepSync=Unable to complete deep sync for the current workspace.
|
|
assets.packWizard.error.validation=Unable to validate the current pack set.
|
|
assets.packWizard.error.pack=Unable to pack the current build set.
|
|
workspace.debug=Debug
|