190 lines
9.1 KiB
JSON
190 lines
9.1 KiB
JSON
{
|
|
"nav": {},
|
|
"header": {},
|
|
"footer": {},
|
|
"emails": {},
|
|
"pages": {
|
|
"admin": {
|
|
"nav": {
|
|
"studio": "Studio"
|
|
},
|
|
"logs": {
|
|
"audit": {
|
|
"filtersTitle": "Filter audit records",
|
|
"filterActor": "Actor (exact username or ID)",
|
|
"filterAction": "Exact action",
|
|
"filterFrom": "From date (UTC)",
|
|
"filterTo": "Through date (UTC)",
|
|
"filtersHint": "Dates include the full day in UTC. Actions and usernames must match exactly. Records are shown newest first.",
|
|
"applyFilters": "Apply filters",
|
|
"resetFilters": "Reset filters",
|
|
"invalidDetails": "These legacy details cannot be displayed.",
|
|
"beforeValue": "Before",
|
|
"afterValue": "After",
|
|
"exportHint": "CSV exports the current filtered page, up to 100 records."
|
|
}
|
|
},
|
|
"cmsErrors": {
|
|
"firstSeen": "First occurrence in retained records",
|
|
"lastSeen": "Latest occurrence",
|
|
"affectedUsers": "Distinct identified users",
|
|
"unidentifiedEvents": "Events without a verified user ID",
|
|
"metricsScope": "Counts cover only the retained records loaded here. Users are counted only from numeric server-side user IDs; anonymous and browser reports are not attributed.",
|
|
"assignedStaff": "Assigned to staff #{id}",
|
|
"unassigned": "Unassigned",
|
|
"assignSelf": "Assign to me",
|
|
"clearAssignment": "Clear assignment",
|
|
"openOperation": "Open related area",
|
|
"releaseOccurrences": "Occurrences by release",
|
|
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
|
},
|
|
"installation": {
|
|
"title": "Installation diagnostics",
|
|
"hint": "Read-only checks of this installation. Unknown means there is not enough evidence; configured does not prove external reachability.",
|
|
"checked": "Checked at {time} · probes completed in {ms} ms",
|
|
"recheck": "Check again",
|
|
"ok": "Check passed",
|
|
"failed": "Needs attention",
|
|
"unknown": "Not verified",
|
|
"missing": "Not configured",
|
|
"release": "Running release",
|
|
"database": "Database",
|
|
"redis": "Redis",
|
|
"emulator": "Emulator",
|
|
"storage": "Writable storage",
|
|
"migrations": "Database migrations",
|
|
"worker": "Background worker",
|
|
"renderer": "Renderer configuration",
|
|
"registry": "Container registry",
|
|
"releaseHint": "The full identifier of the running build. Use it to compare installations and choose a previous image for rollback.",
|
|
"databaseHint": "Connection check and measured SELECT 1 response time.",
|
|
"redisHint": "Optional for some pages; required for queued import work.",
|
|
"emulatorHint": "Response to the configured emulator ping.",
|
|
"storageHint": "Read/write permissions on storage, Nitro assets and SWF directories.",
|
|
"migrationsHint": "Number of packaged migrations absent from the database history. Apply migrations through the release process.",
|
|
"workerHint": "Last worker heartbeat in Redis. More than two minutes old needs investigation; no heartbeat cannot establish whether the worker is running.",
|
|
"rendererHint": "The client uses the configured address or /nitro-client/ by default. Open the game separately to verify rendering and assets.",
|
|
"registryHint": "Registry credentials live in CI, not in the CMS. Check the image publication job and its immutable release tag in Gitea."
|
|
},
|
|
"importHistory": {
|
|
"cancelled": "Cancelled",
|
|
"cancelFailed": "Could not request cancellation. Retry or refresh the job history.",
|
|
"cancelRequested": "Cancellation requested. The current item will finish; remaining items will not start.",
|
|
"cancelHint": "Cancellation preserves completed items and allows the current item to finish.",
|
|
"cancelRemaining": "Cancel remaining items",
|
|
"historyLimit": "Showing up to 30 most recently updated jobs.",
|
|
"refreshHistory": "Refresh history",
|
|
"showMoreItems": "Show 50 more items",
|
|
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
|
"reviewLocalData": "Review local data"
|
|
},
|
|
"articles": {
|
|
"form": {
|
|
"autosaveLoading": "Loading saved drafts…",
|
|
"autosaveReady": "Private draft autosave is ready.",
|
|
"autosaveSaving": "Saving private draft…",
|
|
"autosaveSaved": "Private draft saved. Publication changes require Save.",
|
|
"autosaveFailed": "Draft recovery is unavailable. Keep this page open and use Save; reload to retry recovery.",
|
|
"autosaveConflict": "Another tab changed this draft. Autosave is paused: reload to review the newer draft before continuing.",
|
|
"recoveryFound": "An unfinished private draft is available. Recover or discard it to enable autosave.",
|
|
"recoverDraft": "Recover draft",
|
|
"discardDraft": "Discard saved draft",
|
|
"confirmRecovery": "Replace the current editor content with this recovered draft? It will remain unpublished until you save.",
|
|
"confirmDiscardDraft": "Permanently discard your saved recovery draft? The current editor content will remain.",
|
|
"revisionHistory": "Previous saved versions (latest 20)",
|
|
"restoreRevision": "Restore into editor",
|
|
"confirmRevision": "Replace the current editor content with this previous version as a draft? Review it and choose a publication status before saving.",
|
|
"editConflict": "This article changed after you opened it. Your changes were not applied. Copy your work, reload the article, and merge the changes before saving again.",
|
|
"retryRecovery": "Reload recovery without changing this form"
|
|
},
|
|
"listActionError": "The article action could not be completed.",
|
|
"listStatus": "Publication status",
|
|
"listStatus_all": "All articles",
|
|
"listStatus_draft": "Draft",
|
|
"listStatus_published": "Published",
|
|
"listStatus_scheduled": "Scheduled",
|
|
"listSearch": "Search title or summary",
|
|
"listApply": "Apply",
|
|
"listLoading": "Loading…",
|
|
"listReset": "Reset filters",
|
|
"listUnavailable": "Articles are temporarily unavailable. Try again.",
|
|
"listRetry": "Try again",
|
|
"listTotal": "{count, plural, one {# matching article} other {# matching articles}}",
|
|
"listNoMatches": "No articles match these filters. Change the search or reset the filters.",
|
|
"listPagination": "Article pages",
|
|
"listPrevious": "Previous",
|
|
"listNext": "Next",
|
|
"listPage": "Page {page} of {total}"
|
|
},
|
|
"operations": {
|
|
"title": "Needs attention",
|
|
"hint": "Accessible work: imports sample your latest 30 jobs; errors sample up to 1,000 retained events. Older work may be outside these counts.",
|
|
"empty": "No pending items found in the checked records.",
|
|
"errors": "Unresolved CMS error groups",
|
|
"imports": "Your imports needing review",
|
|
"tickets": "Open support tickets",
|
|
"publications": "News drafts",
|
|
"unavailable": "{source}: data is temporarily unavailable.",
|
|
"installation": "Installation diagnostics"
|
|
}
|
|
},
|
|
"myDashboard": {
|
|
"messagesCaughtUp": "No unread messages",
|
|
"messagesUnavailable": "Open your inbox to check",
|
|
"eventTitle": "On the calendar",
|
|
"allEvents": "All events",
|
|
"eventsUnavailable": "The calendar is temporarily unavailable. Open all events to try again.",
|
|
"eventOngoing": "Happening now",
|
|
"eventUpcoming": "Coming up",
|
|
"eventDetails": "View event",
|
|
"noUpcomingEvents": "No upcoming events have been announced yet.",
|
|
"roomsUnavailable": "Rooms are temporarily unavailable. Open the community to try again."
|
|
}
|
|
},
|
|
"toolbar": {
|
|
"home": "Koti",
|
|
"reload": "Lataa uudelleen",
|
|
"fullscreen": "Koko näyttö",
|
|
"logout": "Kirjaudu ulos",
|
|
"onlineUsers": "Käyttäjät verkossa",
|
|
"emulatorOnline": "Emulaattori verkossa",
|
|
"emulatorOffline": "Emulaattori ei verkossa",
|
|
"dragToMove": "Vedä liikuttaaksesi",
|
|
"hide": "Piilota työkalupalkki",
|
|
"fullscreenExit": "Lopeta koko näyttö",
|
|
"show": "Näytä työkalupalkki",
|
|
"emulatorUnknown": "Emulaattorin tila tuntematon"
|
|
},
|
|
"admin": {
|
|
"studio": {
|
|
"completeness": {
|
|
"title": "Completeness and next steps",
|
|
"parts": {
|
|
"sql": "SQL item",
|
|
"catalog": "Catalog offer",
|
|
"furnidata": "Furnidata",
|
|
"icon": "Local icon",
|
|
"nitro": "Nitro file"
|
|
},
|
|
"statuses": {
|
|
"present": "Present",
|
|
"missing": "Missing",
|
|
"unknown": "Not verified",
|
|
"conflict": "Needs review"
|
|
},
|
|
"actions": {
|
|
"sql": "Import or repair this furni to create the missing item record.",
|
|
"catalog": "Import or repair this furni to add an offer using the automatic category and price.",
|
|
"furnidata": "Import or repair this furni to add the missing furniture data.",
|
|
"icon": "Import or repair this furni to retrieve the missing local icon.",
|
|
"nitro": "Import or repair this furni to retrieve the asset. For an existing item, Regenerate .nitro is also available.",
|
|
"recheck": "Recheck local state before repair. If this persists, check the local file access.",
|
|
"audit": "Review duplicate records and matching sprite IDs and types in Catalog audit before repair."
|
|
},
|
|
"openAudit": "Open Catalog audit to resolve conflicts",
|
|
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
|
|
}
|
|
}
|
|
}
|
|
}
|