Enhance documentation and admin UI: Add detailed implementation guidelines in CLAUDE.md, introduce a referrer index in README.md, and update admin UI translations for improved user experience. Update package dependencies for better functionality and performance.

This commit is contained in:
Peter Meier
2026-03-13 10:55:33 +01:00
parent 7754d800f5
commit 606455c59b
42 changed files with 3814 additions and 421 deletions

View File

@@ -10,6 +10,7 @@
"dashboard": "Dashboard",
"types": "Types",
"assets": "Assets",
"settings": "Settings",
"login": "Login",
"logout": "Logout",
"searchPlaceholder": "Search collections…",
@@ -20,6 +21,7 @@
"noResults": "No results for \"{query}\""
},
"ContentForm": {
"copyCode": "Copy code",
"slugRequired": "Slug is required.",
"slugInUse": "Slug already in use.",
"slugMustStartWith": "Slug must start with \"{prefix}\".",
@@ -36,6 +38,11 @@
"pleaseSelect": "— Please select —",
"removeEntry": "Remove",
"addEntry": "+ Add entry",
"arrayAddItem": "Add item",
"arrayRemoveItem": "Remove item",
"arrayItemPlaceholder": "Value",
"arrayItemPlaceholderNumber": "Number",
"arrayHint": "List of values. Add or remove items below.",
"keyPlaceholder": "Key",
"valuePlaceholder": "Value",
"pickAsset": "Pick image",
@@ -58,6 +65,7 @@
"typesLabel": "Types: {collections}",
"selectType": "— Select type —",
"newEntry": "New entry",
"openEntry": "Open entry",
"noCollection": "No reference collection in schema. Set {collectionCode} or {collectionsCode} in the type, or start the API and reload the page."
},
"ReferenceArrayField": {
@@ -72,9 +80,10 @@
"moveUp": "Move up",
"moveDown": "Move down",
"remove": "Remove",
"newComponent": "+ New {collection} component",
"newComponent": "New {collection} component",
"createNewComponent": "+ Create new component…",
"openInNewTab": "Open in new tab; then reload this page.",
"openEntry": "Open entry",
"noCollection": "No reference collection in schema. Set {collectionCode} or {collectionsCode} in the type, or start the API and reload the page."
},
"MarkdownEditor": {
@@ -112,6 +121,9 @@
"editSchema": "Edit schema",
"hidePreview": "Hide data preview",
"showPreview": "Data preview",
"sectionSchema": "Schema",
"sectionDataPreview": "Current data",
"copyCode": "Copy code",
"loading": "Loading…",
"errorLoading": "Error loading"
},
@@ -127,6 +139,34 @@
"ContentLocaleSwitcher": {
"label": "Content language"
},
"Settings": {
"title": "Settings",
"connection": "Connection",
"apiUrl": "API URL",
"backendStatus": "Backend status",
"checking": "Checking…",
"apiReachable": "API reachable",
"apiUnreachable": "API unreachable",
"contentLocales": "Content locales",
"default": "default",
"thisDevice": "This device",
"uiLanguage": "UI language",
"itemsPerPage": "Items per page",
"itemsPerPageHint": "Applies to content list pages.",
"refreshData": "Refresh data",
"refreshDataSuccess": "Data refreshed.",
"clearSession": "Clear session",
"clearSessionHint": "Removes API key and all admin preferences (e.g. on shared devices).",
"clearSessionConfirmTitle": "Clear session?",
"clearSessionConfirmDescription": "This will log you out and remove all stored preferences (e.g. items per page). You can log in again afterwards.",
"clearSessionConfirmAction": "Clear",
"cancel": "Cancel",
"apiKeyStatus": "API key",
"apiKeyFromEnv": "Set from environment (read-only).",
"apiKeyManual": "Set manually (this session).",
"logout": "Log out",
"login": "Log in"
},
"Dashboard": {
"title": "Dashboard",
"subtitle": "Choose a collection to manage content.",
@@ -141,6 +181,10 @@
"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.",
"searchPlaceholder": "Search content types…",
"filterByTag": "Tag:",
"tagAll": "All",
"noResults": "No content types match your search or filter.",
"loading": "Loading…",
"errorLoading": "Error loading types: {error}",
"noTypes": "No types yet. Create one with \"New type\".",
@@ -176,9 +220,44 @@
"fieldsLabel": "Fields",
"addField": "Add field",
"fieldNamePlaceholder": "Field name",
"fieldTypeLabel": "Field type",
"required": "Required",
"removeField": "Remove field",
"collectionPlaceholder": "Collection (e.g. page)",
"allowedSlugsPlaceholder": "Allowed slugs (comma-separated, optional)",
"allowedCollectionsPlaceholder": "Allowed content types (comma-separated, optional)",
"arrayItemType": "Array item type",
"itemTypePlaceholder": "e.g. string, reference",
"arrayExplain": "This field is a list [ ] in JSON. Every position in the list has the same type—pick what one entry is below.",
"arrayEachEntry": "One list entry is",
"itemKindString": "Plain text (string)",
"itemKindNumber": "Number",
"itemKindObject": "Object (fixed sub-fields per entry)",
"itemKindReference": "Reference (slug to an entry in a collection)",
"objectItemFieldsLabel": "Fields on each list object",
"addObjectField": "Add sub-field",
"objectFieldNamePlaceholder": "Sub-field name",
"arrayReferenceHelp": "All slugs in the list must exist in this collection (unless you use allowed slugs).",
"multiSelectOptions": "Options",
"multiSelectOptionsPlaceholder": "e.g. option1, option2, option3",
"multiSelectOptionsHelp": "Comma- or newline-separated list of allowed values. User can select multiple.",
"stringWidgetLabel": "Input style",
"stringWidgetSingleline": "Single line",
"stringWidgetTextarea": "Multi-line (textarea)",
"stringWidgetCode": "Code (syntax highlighting)",
"codeLanguageLabel": "Code language",
"codeLanguageCss": "CSS",
"codeLanguageJavascript": "JavaScript",
"codeLanguageJson": "JSON",
"codeLanguageHtml": "HTML",
"defaultValueLabel": "Default value",
"defaultValuePlaceholder": "e.g. \"text\", 0, true, [\"a\",\"b\"]",
"defaultValueHelp": "JSON value; leave empty for none. Used when creating new entries.",
"defaultValueInvalid": "Invalid JSON for default value in field \"{field}\"",
"defaultValueBoolean": "Default: checked",
"defaultValueEmpty": "Leave empty for none",
"defaultValueMultiSelectSetOptions": "Set options above first, then choose defaults.",
"defaultValueArrayPlaceholder": "Comma-separated values",
"fieldDescriptionPlaceholder": "Field description (optional)",
"creating": "Creating…",
"createType": "Create type",
@@ -204,9 +283,44 @@
"fieldsLabel": "Fields",
"addField": "Add field",
"fieldNamePlaceholder": "Field name",
"fieldTypeLabel": "Field type",
"required": "Required",
"removeField": "Remove field",
"collectionPlaceholder": "Collection (e.g. page)",
"allowedSlugsPlaceholder": "Allowed slugs (comma-separated, optional)",
"allowedCollectionsPlaceholder": "Allowed content types (comma-separated, optional)",
"arrayItemType": "Array item type",
"itemTypePlaceholder": "e.g. string, reference",
"arrayExplain": "This field is a list [ ] in JSON. Every position in the list has the same type—pick what one entry is below.",
"arrayEachEntry": "One list entry is",
"itemKindString": "Plain text (string)",
"itemKindNumber": "Number",
"itemKindObject": "Object (fixed sub-fields per entry)",
"itemKindReference": "Reference (slug to an entry in a collection)",
"objectItemFieldsLabel": "Fields on each list object",
"addObjectField": "Add sub-field",
"objectFieldNamePlaceholder": "Sub-field name",
"arrayReferenceHelp": "All slugs in the list must exist in this collection (unless you use allowed slugs).",
"multiSelectOptions": "Options",
"multiSelectOptionsPlaceholder": "e.g. option1, option2, option3",
"multiSelectOptionsHelp": "Comma- or newline-separated list of allowed values. User can select multiple.",
"stringWidgetLabel": "Input style",
"stringWidgetSingleline": "Single line",
"stringWidgetTextarea": "Multi-line (textarea)",
"stringWidgetCode": "Code (syntax highlighting)",
"codeLanguageLabel": "Code language",
"codeLanguageCss": "CSS",
"codeLanguageJavascript": "JavaScript",
"codeLanguageJson": "JSON",
"codeLanguageHtml": "HTML",
"defaultValueLabel": "Default value",
"defaultValuePlaceholder": "e.g. \"text\", 0, true, [\"a\",\"b\"]",
"defaultValueHelp": "JSON value; leave empty for none. Used when creating new entries.",
"defaultValueInvalid": "Invalid JSON for default value in field \"{field}\"",
"defaultValueBoolean": "Default: checked",
"defaultValueEmpty": "Leave empty for none",
"defaultValueMultiSelectSetOptions": "Set options above first, then choose defaults.",
"defaultValueArrayPlaceholder": "Comma-separated values",
"fieldDescriptionPlaceholder": "Field description (optional)",
"saving": "Saving…",
"save": "Save",
@@ -227,20 +341,33 @@
"noEntries": "No entries.",
"noEntriesCreate": "No entries yet. Create the first one.",
"edit": "Edit",
"delete": "Delete",
"draft": "Draft",
"searchPlaceholder": "Search…",
"loading": "Loading…",
"sortBy": "Sort by {field}",
"sortAsc": "Ascending",
"sortDesc": "Descending"
"sortDesc": "Descending",
"typeDependencies": "Type dependencies",
"confirmDelete": "Delete \"{slug}\"?",
"confirmDeleteDescription": "This cannot be undone.",
"cancel": "Cancel",
"deleting": "Deleting…",
"yesDelete": "Yes, delete",
"deleted": "Entry deleted.",
"errorDeleting": "Error deleting entry."
},
"ContentNewPage": {
"breadcrumbNew": "New",
"title": "Create new entry"
"title": "Create new entry",
"sectionSchema": "Schema"
},
"ContentEditPage": {
"title": "Edit entry",
"apiLink": "API link (data preview):"
"apiLink": "API link (data preview):",
"referrersSection": "Referenced by",
"noReferrers": "No other entries reference this one.",
"openReferrer": "Open entry"
},
"AssetsPage": {
"titleAll": "All assets",