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