{ "LoginPage": { "title": "Login", "apiKeyLabel": "API key", "apiKeyPlaceholder": "Enter your API key", "submit": "Login", "hint": "Use the same key as RUSTYCMS_API_KEY on the server. Without a key you can only read; with a key you can edit." }, "Sidebar": { "dashboard": "Dashboard", "types": "Types", "assets": "Assets", "login": "Login", "logout": "Logout", "searchPlaceholder": "Search collections…", "searchAriaLabel": "Search collections", "closeMenu": "Close menu", "loading": "Loading…", "errorLoading": "Error loading collections", "noResults": "No results for \"{query}\"" }, "ContentForm": { "slugRequired": "Slug is required.", "slugInUse": "Slug already in use.", "slugMustStartWith": "Slug must start with \"{prefix}\".", "slugPrefix": "prefix", "slugSuffixPlaceholder": "e.g. my-campaign", "slugSuffixAriaLabel": "Slug suffix (prefix is fixed)", "slugPlaceholder": "e.g. my-post", "slugHint": "Lowercase letters (a-z), digits (0-9), hyphens. Spaces become hyphens.", "savedSuccessfully": "Saved successfully.", "errorSaving": "Error saving", "saving": "Saving…", "save": "Save", "backToList": "Back to list", "pleaseSelect": "— Please select —", "removeEntry": "Remove", "addEntry": "+ Add entry", "keyPlaceholder": "Key", "valuePlaceholder": "Value", "pickAsset": "Pick image", "pickFromAssets": "Pick from assets", "loadingAssets": "Loading assets…", "noAssets": "No assets yet. Upload images in the Assets section.", "status": "Status", "statusDraft": "Draft", "statusPublished": "Published", "statusHint": "Draft entries are not visible in the public API." }, "SearchableSelect": { "placeholder": "— Please select —", "clearLabel": "— Clear selection —", "filterPlaceholder": "Filter…", "emptyLabel": "No matches" }, "ReferenceField": { "typeLabel": "Type: {collection}", "typesLabel": "Types: {collections}", "selectType": "— Select type —", "newEntry": "New entry", "noCollection": "No reference collection in schema. Set {collectionCode} or {collectionsCode} in the type, or start the API and reload the page." }, "ReferenceArrayField": { "typeLabel": "Type: {collection}", "typesLabel": "Types: {collections}", "componentType": "Component type", "selectType": "— Select type —", "selectFromExisting": "— Select from existing —", "filterPlaceholder": "Filter…", "emptyLabel": "No matches", "selectExistingAriaLabel": "Select existing entry to add", "moveUp": "Move up", "moveDown": "Move down", "remove": "Remove", "newComponent": "+ New {collection} component", "createNewComponent": "+ Create new component…", "openInNewTab": "Open in new tab; then reload this page.", "noCollection": "No reference collection in schema. Set {collectionCode} or {collectionsCode} in the type, or start the API and reload the page." }, "MarkdownEditor": { "bold": "Bold", "italic": "Italic", "code": "Code", "link": "Link", "bulletList": "Bullet list", "bulletListButton": "• List", "placeholder": "Enter markdown… **bold**, *italic*, [link](url), - list", "preview": "Preview", "emptyPreview": "Empty — preview appears as you type." }, "PaginationLinks": { "back": "Back", "next": "Next", "pageInfo": "Page {page} of {totalPages} ({total} entries)" }, "DataPreviewPanel": { "hide": "Hide data preview", "show": "Data preview", "loading": "Loading…", "errorLoading": "Error loading" }, "SchemaPanel": { "hide": "Hide schema", "show": "Show schema" }, "SchemaAndEditBar": { "editSchema": "Edit schema" }, "SchemaAndPreviewBar": { "hideSchema": "Hide schema", "showSchema": "Show schema", "editSchema": "Edit schema", "hidePreview": "Hide data preview", "showPreview": "Data preview", "loading": "Loading…", "errorLoading": "Error loading" }, "ReferenceOrInlineField": { "reference": "Reference", "inline": "Inline", "inlineObject": "Inline object (no reference)", "noInlineSchema": "No inline schema. Reload or check API (useFields / collection)." }, "LocaleSwitcher": { "label": "Language" }, "ContentLocaleSwitcher": { "label": "Content language" }, "Dashboard": { "title": "Dashboard", "subtitle": "Choose a collection to manage content.", "newContentType": "New content type", "searchPlaceholder": "Search content types…", "filterByTag": "Tag:", "tagAll": "All", "noResults": "No content types match your search or filter.", "noCollections": "No collections loaded. Check that the RustyCMS API is running at {url}." }, "TypesPage": { "title": "Types", "newType": "New type", "description": "Content types (collections). Edit the schema or delete a type. Deleting removes the type definition file; existing content entries are not removed.", "loading": "Loading…", "errorLoading": "Error loading types: {error}", "noTypes": "No types yet. Create one with \"New type\".", "colName": "Name", "colDescription": "Description", "colCategory": "Category", "colActions": "Actions", "confirmDelete": "Delete \"{name}\"?", "confirmDeleteFinal": "Really delete \"{name}\"? This cannot be undone.", "delete": "Delete", "yesDelete": "Yes, delete", "deleting": "…", "cancel": "Cancel", "edit": "Edit" }, "NewTypePage": { "title": "Add new type", "description": "Creates a new content type (collection). The schema file is saved on the server at {path} and loaded via hot-reload.", "nameRequired": "Name is required.", "nameInvalid": "Name: only lowercase letters, digits and underscores.", "fieldRequired": "At least one field required.", "fieldNamesUnique": "Field names must be unique.", "errorCreating": "Error creating type.", "nameLabel": "Name", "namePlaceholder": "e.g. product, blog_post", "nameHint": "Lowercase letters, digits and underscores only.", "descriptionLabel": "Description", "categoryLabel": "Category", "categoryPlaceholder": "e.g. content", "tagsLabel": "Tags (comma-separated)", "tagsPlaceholder": "e.g. content, blog", "strictLabel": "Strict (reject unknown fields)", "fieldsLabel": "Fields", "addField": "Add field", "fieldNamePlaceholder": "Field name", "required": "Required", "removeField": "Remove field", "collectionPlaceholder": "Collection (e.g. page)", "fieldDescriptionPlaceholder": "Field description (optional)", "creating": "Creating…", "createType": "Create type", "cancel": "Cancel" }, "EditTypePage": { "fieldRequired": "At least one field required.", "fieldNamesUnique": "Field names must be unique.", "errorSaving": "Error saving type.", "missingName": "Missing type name.", "backToTypes": "Back to Types", "loading": "Loading…", "errorLoading": "Error loading type: {error}", "title": "Edit type: {name}", "description": "Change description, category, tags, and fields. The schema file is updated on the server.", "nameLabel": "Name", "descriptionLabel": "Description", "categoryLabel": "Category", "categoryPlaceholder": "e.g. content", "tagsLabel": "Tags (comma-separated)", "tagsPlaceholder": "e.g. content, blog", "strictLabel": "Strict (reject unknown fields)", "fieldsLabel": "Fields", "addField": "Add field", "fieldNamePlaceholder": "Field name", "required": "Required", "removeField": "Remove field", "collectionPlaceholder": "Collection (e.g. page)", "fieldDescriptionPlaceholder": "Field description (optional)", "saving": "Saving…", "save": "Save", "cancel": "Cancel" }, "ErrorBoundary": { "title": "Something went wrong", "reload": "Reload page" }, "Breadcrumbs": { "ariaLabel": "Breadcrumb", "content": "Content" }, "ContentListPage": { "title": "Entries", "newEntry": "New entry", "colActions": "Actions", "noEntries": "No entries.", "noEntriesCreate": "No entries yet. Create the first one.", "edit": "Edit", "draft": "Draft", "searchPlaceholder": "Search…", "loading": "Loading…", "sortBy": "Sort by {field}", "sortAsc": "Ascending", "sortDesc": "Descending" }, "ContentNewPage": { "breadcrumbNew": "New", "title": "Create new entry" }, "ContentEditPage": { "title": "Edit entry", "apiLink": "API link (data preview):" }, "AssetsPage": { "titleAll": "All assets", "titleRoot": "Root", "assetCount": "{count} image(s)", "assetCountFiltered": "{count} of {total} image(s)", "searchPlaceholder": "Search by filename…", "dateFrom": "From date", "dateTo": "To date", "upload": "Upload", "uploading": "Uploading…", "uploadedCount": "Uploaded {count} file(s).", "dropZoneHintRoot": "Click or drag & drop to upload to root", "dropZoneHintFolder": "Click or drag & drop to upload to \"{folder}\"", "loading": "Loading…", "errorLoading": "Error loading assets", "noAssets": "No assets here yet.", "urlCopied": "URL copied.", "copyUrl": "Copy URL", "confirmDelete": "Delete \"{filename}\"?", "confirmDeleteDesc": "This cannot be undone.", "yesDelete": "Yes, delete", "deleting": "…", "cancel": "Cancel", "deleted": "\"{filename}\" deleted.", "folders": "Folders", "all": "All", "root": "Root", "newFolder": "New folder", "folderNamePlaceholder": "e.g. blog", "folderCreated": "Folder \"{name}\" created.", "folderDeleted": "Folder \"{name}\" deleted.", "confirmDeleteFolder": "Delete folder \"{name}\"?", "confirmDeleteFolderDesc": "Only empty folders can be deleted.", "renameTitle": "Rename image", "renameFilenameLabel": "Filename", "rename": "Rename", "renaming": "Renaming…", "renamed": "\"{filename}\" renamed.", "copyWithTransformTitle": "Copy with transformation", "copyWithTransformDesc": "Create a new asset from this image with resize/crop/format. Same folder.", "copyWithTransformNewName": "New filename", "copyWithTransformCreate": "Create copy", "copyWithTransformDone": "Transformed copy created.", "transformPresetThumb": "Thumb 300px", "transformPresetSquare": "Square 1:1", "transformPresetMedium": "Medium 800px", "transformPresetJpeg": "JPEG 1200px", "transformWidth": "Width", "transformHeight": "Height", "transformAspect": "Aspect ratio", "transformFit": "Fit", "transformFormat": "Format", "transformQuality": "Quality (1–100)", "creating": "Creating…" } }