a123e0bca2
Tiptap replaces the plain textarea: bold, italic, subheading, lists and links. Stored as Markdown so API clients keep reading and writing the same field, rendered with react-markdown.
746 lines
27 KiB
JSON
746 lines
27 KiB
JSON
{
|
||
"app": {
|
||
"name": "Logbuch",
|
||
"tagline": "What happened lately, per project."
|
||
},
|
||
"header": {
|
||
"newEntry": "Write entry",
|
||
"skipToContent": "Skip to content"
|
||
},
|
||
"nav": {
|
||
"overview": "Overview",
|
||
"search": "Search",
|
||
"archive": "By month",
|
||
"sidebar": "Main navigation",
|
||
"openMenu": "Open menu",
|
||
"closeMenu": "Close menu",
|
||
"state": "State {number}",
|
||
"admin": "Admin",
|
||
"toArchive": "To the log"
|
||
},
|
||
"pagination": {
|
||
"previous": "Back",
|
||
"next": "Next",
|
||
"status": "{from} - {to} of {total}"
|
||
},
|
||
"search": {
|
||
"title": "Search",
|
||
"label": "Search term",
|
||
"placeholder": "Search titles and teasers",
|
||
"submit": "Search",
|
||
"prompt": "Enter a search term.",
|
||
"found": "Matches for “{query}”",
|
||
"empty": "No entry found for “{query}”. Try a single word or take a look at the latest entries.",
|
||
"emptyTitle": "No match",
|
||
"promptTitle": "What are you looking for?",
|
||
"intro": "Searches titles and teasers of all published entries.",
|
||
"suggestions": "Published lately"
|
||
},
|
||
"post": {
|
||
"fields": {
|
||
"project": "Project",
|
||
"published": "Published",
|
||
"type": "Type",
|
||
"author": "Author",
|
||
"images": "Images",
|
||
"number": "Number"
|
||
},
|
||
"content": "Content",
|
||
"empty": "This entry has no content yet.",
|
||
"back": "All entries of {project}",
|
||
"details": "Details",
|
||
"readingTime": "{minutes} min read",
|
||
"emptyTitle": "No content yet"
|
||
},
|
||
"block": {
|
||
"before": "Before",
|
||
"after": "After",
|
||
"video": "Watch video",
|
||
"image": "Image",
|
||
"gallery": "Gallery",
|
||
"open": "Enlarge image",
|
||
"close": "Close",
|
||
"previous": "Previous image",
|
||
"next": "Next image",
|
||
"position": "{index} of {total}",
|
||
"compare": "Move the comparison",
|
||
"comparePosition": "{percent} percent before"
|
||
},
|
||
"notFound": {
|
||
"title": "This page is not in the logbook.",
|
||
"hint": "This address does not exist, or the entry is not published.",
|
||
"home": "To the overview",
|
||
"next": "From the overview you can reach every project and every entry. If you are looking for a specific entry, the search will help.",
|
||
"nextTitle": "What helps now",
|
||
"code": "404"
|
||
},
|
||
"theme": {
|
||
"label": "Change colour mode",
|
||
"light": "Light",
|
||
"dark": "Dark",
|
||
"system": "System"
|
||
},
|
||
"overview": {
|
||
"title": "What happened lately.",
|
||
"intro": "Every two weeks we write down per project what has been finished. With images, in full sentences, without ticket number gibberish.",
|
||
"allProjects": "All projects",
|
||
"empty": "No entry published yet. Create a project in the administration and write the first entry.",
|
||
"fields": {
|
||
"brands": "Fleet",
|
||
"period": "Period",
|
||
"entries": "Entries",
|
||
"updated": "Updated"
|
||
},
|
||
"entryCount": "{total} in total, {recent} within the last {days} days",
|
||
"period": "{from} - {to}",
|
||
"emptyTitle": "Nothing published yet",
|
||
"emptyFilteredTitle": "Nothing in this period",
|
||
"emptyFiltered": "No entry appeared in this period. Reset the filter or pick another month.",
|
||
"emptyTypeTitle": "Nothing of this kind",
|
||
"emptyType": "There is no entry of this kind here. Pick another kind or show all entries.",
|
||
"updated": "Last {date}",
|
||
"toAdmin": "To the administration",
|
||
"emptyProject": "No entry published in this project yet. Take a look at the other projects or write the first entry in the administration.",
|
||
"emptyPageTitle": "This page does not exist",
|
||
"emptyPage": "The list does not reach that far. Go back to the first page.",
|
||
"firstPage": "To the first page"
|
||
},
|
||
"entry": {
|
||
"latest": "Latest",
|
||
"older": "Older entries",
|
||
"summary": "{count, plural, one {# entry} other {# entries}} · {days} days",
|
||
"new": "New",
|
||
"read": "read",
|
||
"unread": "unread",
|
||
"number": "Entry {number}",
|
||
"images": "{count, plural, one {# image} other {# images}}",
|
||
"next": "More entries"
|
||
},
|
||
"archive": {
|
||
"title": "Archive",
|
||
"all": "All entries",
|
||
"filtered": "Narrowed down to {period}",
|
||
"entries": "{count, plural, one {# entry} other {# entries}}",
|
||
"months": {
|
||
"1": "Jan",
|
||
"2": "Feb",
|
||
"3": "Mar",
|
||
"4": "Apr",
|
||
"5": "May",
|
||
"6": "Jun",
|
||
"7": "Jul",
|
||
"8": "Aug",
|
||
"9": "Sep",
|
||
"10": "Oct",
|
||
"11": "Nov",
|
||
"12": "Dec"
|
||
},
|
||
"firstPage": "To the first page"
|
||
},
|
||
"inapp": {
|
||
"title": "Inside the application",
|
||
"hint": "Every app fetches the same entries through the API and renders them in its own design. Read state is kept per user of the respective app.",
|
||
"markAllRead": "Mark all read",
|
||
"open": "Open in Logbuch",
|
||
"close": "Close"
|
||
},
|
||
"footer": {
|
||
"state": "Updated {date}"
|
||
},
|
||
"login": {
|
||
"eyebrow": "Administration",
|
||
"title": "Sign in",
|
||
"intro": "Sign in to create projects and write entries.",
|
||
"email": "Email address",
|
||
"password": "Password",
|
||
"submit": "Sign in",
|
||
"pending": "Checking",
|
||
"back": "Back to Logbuch",
|
||
"noAccount": "Accounts are created by the administration. If you do not have one yet, ask the person who looks after Logbuch.",
|
||
"errors": {
|
||
"email": "Enter your email address exactly as it is stored on the account.",
|
||
"password": "Enter your password.",
|
||
"credentials": "Email address and password do not match. Check both and try again.",
|
||
"tooMany": "Too many attempts in a row. Wait a minute and try again.",
|
||
"unknown": "Signing in did not work just now. Try again in a moment."
|
||
},
|
||
"magic": {
|
||
"title": "With a sign-in link",
|
||
"intro": "Enter your address. You will receive a link by email that signs you in without a password.",
|
||
"email": "Email address",
|
||
"submit": "Send link",
|
||
"pending": "Sending",
|
||
"sentTitle": "The link is on its way",
|
||
"sent": "If {email} is allowed to sign in, an email with the sign-in link will arrive shortly.",
|
||
"sentHint": "The link is valid for {minutes} minutes and can be used once. If nothing arrives, check the spam folder.",
|
||
"again": "Use a different address",
|
||
"passwordTitle": "Sign in with a password instead",
|
||
"linkFailed": "This sign-in link is no longer valid. It expires after {minutes} minutes and can only be used once. Request a new link.",
|
||
"errors": {
|
||
"email": "Enter a complete email address, for example name@nyo.de.",
|
||
"tooMany": "Too many links have just been requested for this address. Wait {minutes} minutes and try again."
|
||
}
|
||
}
|
||
},
|
||
"admin": {
|
||
"eyebrow": "Administration",
|
||
"title": "Administration",
|
||
"intro": "This is where you create projects and write entries.",
|
||
"signedInAs": "Signed in as {name}",
|
||
"signOut": "Sign out",
|
||
"toArchive": "To Logbuch",
|
||
"projects": {
|
||
"eyebrow": "Administration",
|
||
"title": "Projects",
|
||
"intro": "A project is its own section in Logbuch, with its own colour, code and running number.",
|
||
"create": "Create project",
|
||
"createTitle": "New project",
|
||
"createIntro": "Name and brand are enough to start. The slug is suggested from the name and stays editable.",
|
||
"editIntro": "Changes take effect right away, in the archive as well.",
|
||
"save": "Save",
|
||
"saving": "Saving",
|
||
"back": "Back to the list",
|
||
"toArchive": "View in the archive",
|
||
"active": "Active",
|
||
"inactive": "Retired",
|
||
"emptyTitle": "No project yet",
|
||
"empty": "There is no project yet. Create the first one, then you can add entries and images for it.",
|
||
"noBrandsTitle": "A brand first",
|
||
"noBrands": "A project always belongs to a brand. Create a brand first, then you can create the project.",
|
||
"toBrands": "Create brand",
|
||
"columns": {
|
||
"name": "Name",
|
||
"code": "Code",
|
||
"brand": "Brand",
|
||
"brandMissing": "Unknown",
|
||
"color": "Colour",
|
||
"posts": "Entries",
|
||
"state": "State",
|
||
"edit": "Edit"
|
||
},
|
||
"fields": {
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"code": "Code",
|
||
"brand": "Brand",
|
||
"brandEmpty": "Pick a brand",
|
||
"color": "Colour",
|
||
"colorPicker": "Pick a colour",
|
||
"sort": "Sorting",
|
||
"description": "Description",
|
||
"active": "Project is active"
|
||
},
|
||
"hints": {
|
||
"slug": "Part of the archive address, for example /trakk. Lower case letters, digits and hyphens.",
|
||
"code": "Shown on the plate, at most four characters. Leave empty to derive it from the slug.",
|
||
"color": "Carries plate and bar. As a hex value, for example #2e7d5b.",
|
||
"sort": "Smaller numbers come first.",
|
||
"description": "One or two sentences on what the project is about.",
|
||
"active": "A retired project shows up neither in the archive nor in the API."
|
||
}
|
||
},
|
||
"projectsMeta": "{count, plural, =0 {no project} one {# project} other {# projects}}",
|
||
"emptyTitle": "No project yet",
|
||
"empty": "No project has been released for you yet, or none has been created.",
|
||
"role": {
|
||
"admin": "Administration",
|
||
"moderator": "Moderator"
|
||
},
|
||
"noAccess": {
|
||
"title": "Not released yet",
|
||
"forNobody": "Your account exists, but it is not released for any project. Ask the person who looks after Logbuch to add you as a moderator for your project.",
|
||
"forModerator": "This part of the administration is reserved for accounts with administration rights. You find your projects on the overview.",
|
||
"toOverview": "To the overview",
|
||
"wrongAccount": "Wrong account? Sign out and sign in with the right one."
|
||
},
|
||
"yourProjects": "Your projects",
|
||
"edit": "Edit",
|
||
"inactive": "Retired",
|
||
"emptyForAdmin": "There is no project yet. Create one, then you can add entries and images for it.",
|
||
"emptyAction": "Create project",
|
||
"nav": {
|
||
"label": "Administration sections",
|
||
"overview": "Overview",
|
||
"posts": "Entries",
|
||
"media": "Media",
|
||
"projects": "Projects",
|
||
"brands": "Brands",
|
||
"users": "Users",
|
||
"clients": "Access",
|
||
"manage": "Manage",
|
||
"postTypes": "Post types",
|
||
"api": "API"
|
||
},
|
||
"messages": {
|
||
"created": "Created.",
|
||
"updated": "Saved.",
|
||
"forbidden": "Your account is missing the right for this. Only administration may change it.",
|
||
"notFound": "That record is gone. Reload the page.",
|
||
"invalid": "Please check the marked fields.",
|
||
"slugTaken": "That slug already exists. Pick another one.",
|
||
"selfAdmin": "You cannot change the administration right on your own account. Another administration account has to do it.",
|
||
"typeInUse": "This type is still in use. Clear the active checkbox instead."
|
||
},
|
||
"errors": {
|
||
"nameRequired": "Enter a name.",
|
||
"slugInvalid": "A slug is made of lower case letters, digits and hyphens, at least two characters.",
|
||
"slugTaken": "That slug is taken. Pick another one.",
|
||
"codeInvalid": "The code holds at most four characters, letters and digits only.",
|
||
"colorInvalid": "The colour needs the form #rrggbb.",
|
||
"brandUnknown": "Pick a brand.",
|
||
"projectUnknown": "Pick a project or let the access cover all projects.",
|
||
"sortInvalid": "Sorting is a whole number from 0 to 9999.",
|
||
"modeInvalid": "Pick read or write.",
|
||
"scopeInvalid": "Pick an audience.",
|
||
"tooLong": "That text is too long.",
|
||
"invalid": "That value does not fit."
|
||
},
|
||
"entries": {
|
||
"eyebrow": "Administration",
|
||
"title": "Entries",
|
||
"intro": "Type a title, start writing, publish. Project, type and audience come preset.",
|
||
"listTitle": "All entries",
|
||
"create": "New entry",
|
||
"createTitle": "New entry",
|
||
"editTitle": "Entry",
|
||
"back": "To the list",
|
||
"meta": "{count, plural, =0 {no entry} one {# entry} other {# entries}}",
|
||
"noAuthor": "no author",
|
||
"emptyTitle": "No entry yet",
|
||
"empty": "There is no entry in your projects yet. Write the first one, it takes less than two minutes.",
|
||
"emptyFilteredTitle": "No match",
|
||
"emptyFiltered": "No entry matches this filter. Reset it or pick different values.",
|
||
"noProjectsTitle": "No project yet",
|
||
"noProjects": "No project has been released for you yet. Ask administration to add you as a moderator.",
|
||
"noProjectsForAdmin": "There is no project yet. Create one, then you can write entries for it.",
|
||
"toProjects": "Create project",
|
||
"columns": {
|
||
"number": "Number",
|
||
"title": "Title",
|
||
"project": "Project",
|
||
"type": "Type",
|
||
"audience": "Audience",
|
||
"status": "Status",
|
||
"date": "Date",
|
||
"author": "Author"
|
||
},
|
||
"pagination": {
|
||
"previous": "Back",
|
||
"next": "Next",
|
||
"status": "Page {page} of {pages}"
|
||
},
|
||
"filters": {
|
||
"project": "Project",
|
||
"allProjects": "All projects",
|
||
"status": "Status",
|
||
"allStatus": "Any status",
|
||
"type": "Type",
|
||
"allTypes": "All types",
|
||
"search": "Search",
|
||
"searchPlaceholder": "Title and teaser",
|
||
"submit": "Apply",
|
||
"reset": "Reset filter"
|
||
},
|
||
"status": {
|
||
"draft": "Draft",
|
||
"review": "Review",
|
||
"scheduled": "Scheduled",
|
||
"published": "Published",
|
||
"archived": "Withdrawn"
|
||
},
|
||
"audience": {
|
||
"internal": "Internal",
|
||
"customer": "Customer",
|
||
"public": "Public"
|
||
},
|
||
"fields": {
|
||
"title": "Title",
|
||
"titlePlaceholder": "What is it about?",
|
||
"teaser": "Teaser",
|
||
"teaserPlaceholder": "Two sentences that sum up the entry.",
|
||
"project": "Project",
|
||
"type": "Type",
|
||
"audience": "Audience",
|
||
"slug": "Slug",
|
||
"cover": "Cover image"
|
||
},
|
||
"hints": {
|
||
"audience": "Customers never see internal entries, public is visible to everyone.",
|
||
"teaser": "Shown in the list and in the lead. Leaving it empty is fine.",
|
||
"slug": "Part of the address in the archive. Leave it empty to derive it from the title.",
|
||
"cover": "Sits large above the entry. Without an image the plate takes that space.",
|
||
"drop": "Drag images here or paste them with Ctrl+V, several at once works.",
|
||
"schedule": "A moment in the future. The entry appears automatically once it is reached.",
|
||
"projectMove": "On a move the entry receives the next free number in the target project."
|
||
},
|
||
"save": {
|
||
"idle": "Nothing saved yet",
|
||
"pending": "Saving",
|
||
"dirty": "Unsaved changes",
|
||
"saved": "Saved at {time}",
|
||
"stored": "Last saved {time}"
|
||
},
|
||
"schedule": {
|
||
"title": "Schedule"
|
||
},
|
||
"actions": {
|
||
"save": "Save",
|
||
"publish": "Publish",
|
||
"publishing": "Publishing",
|
||
"schedule": "Set date",
|
||
"unschedule": "Drop date",
|
||
"archive": "Withdraw",
|
||
"resume": "Back to draft",
|
||
"preview": "Preview",
|
||
"edit": "Edit",
|
||
"addBlock": "Add block",
|
||
"remove": "Remove block",
|
||
"up": "Move up",
|
||
"down": "Move down",
|
||
"drag": "Move block",
|
||
"choose": "Choose image",
|
||
"change": "Other image",
|
||
"clear": "Remove image",
|
||
"upload": "Upload",
|
||
"close": "Close",
|
||
"delete": "Delete draft",
|
||
"deleteConfirm": "Really delete?",
|
||
"deleting": "Deleting"
|
||
},
|
||
"blocks": {
|
||
"text": "Text",
|
||
"image": "Image",
|
||
"gallery": "Gallery",
|
||
"before_after": "Before and after",
|
||
"video": "Video",
|
||
"quote": "Quote",
|
||
"code": "Code",
|
||
"link": "Link",
|
||
"callout": "Callout"
|
||
},
|
||
"blockFields": {
|
||
"text": "Text",
|
||
"textPlaceholder": "Write in full sentences. An empty line separates paragraphs.",
|
||
"image": "Image",
|
||
"gallery": "Images",
|
||
"galleryHint": "The order follows your selection.",
|
||
"before": "Before",
|
||
"after": "After",
|
||
"video": "Video file",
|
||
"videoHint": "Without a file a link to the video is enough.",
|
||
"url": "Address",
|
||
"label": "Label",
|
||
"description": "Description",
|
||
"quote": "Quote",
|
||
"source": "Source",
|
||
"language": "Language",
|
||
"code": "Code",
|
||
"tone": "Tone",
|
||
"toneInfo": "Note",
|
||
"toneWarning": "Warning"
|
||
},
|
||
"media": {
|
||
"empty": "This project has no image yet. Upload one or drag it into the editor.",
|
||
"altMissing": "no alt text"
|
||
},
|
||
"uploads": {
|
||
"pending": "{name} is uploading",
|
||
"done": "{name} is uploaded",
|
||
"failed": "{name}: {reason}"
|
||
},
|
||
"preview": {
|
||
"scope": "View as",
|
||
"untitled": "Untitled",
|
||
"empty": "This entry has no content yet.",
|
||
"hiddenTitle": "Invisible for this audience",
|
||
"hidden": "As {scope} this entry is not visible, it is meant for {audience}."
|
||
},
|
||
"checks": {
|
||
"blockersTitle": "This holds publishing back",
|
||
"title_missing": "The title is missing.",
|
||
"content_empty": "The entry has no content yet.",
|
||
"alt_text_missing": "An image has no alt text. Public entries require one.",
|
||
"tags_missing": "No tag set yet.",
|
||
"cover_missing": "No cover image set yet."
|
||
},
|
||
"errors": {
|
||
"forbidden": "Your account lacks the right for this.",
|
||
"projectUnknown": "This project does not exist.",
|
||
"typeUnknown": "This post type is no longer available. Pick a different one.",
|
||
"projectLocked": "The project cannot be changed once the entry exists.",
|
||
"notFound": "This entry is gone. Reload the page.",
|
||
"titleMissing": "Enter a title first.",
|
||
"titleTooLong": "The title is too long.",
|
||
"teaserTooLong": "The teaser is too long.",
|
||
"slugInvalid": "The slug consists of lowercase letters, digits and hyphens, at least two characters.",
|
||
"slugTaken": "This slug already exists in this project.",
|
||
"blocksInvalid": "A block is incomplete. Check the addresses and the images.",
|
||
"blocked": "Publishing is not possible yet.",
|
||
"statusInvalid": "This step is not possible from the current status.",
|
||
"scheduleMissing": "Pick a date and time.",
|
||
"schedulePast": "The date has to be in the future.",
|
||
"uploadFailed": "The upload did not work just now. Try again in a moment.",
|
||
"fileMissing": "Choose an image file.",
|
||
"fileTooLarge": "The file is larger than 15 MB. Shrink it and try again.",
|
||
"unsupportedType": "This format is not accepted. Use JPEG, PNG, WebP, AVIF, GIF or TIFF.",
|
||
"unreadableImage": "The file cannot be read as an image. Check whether it is complete.",
|
||
"unknown": "That did not work just now. Try again."
|
||
},
|
||
"format": {
|
||
"bold": "Bold",
|
||
"italic": "Italic",
|
||
"heading": "Subheading",
|
||
"bulletList": "Bullet list",
|
||
"orderedList": "Numbered list",
|
||
"link": "Add link",
|
||
"unlink": "Remove link",
|
||
"linkTarget": "Link address",
|
||
"linkApply": "Apply"
|
||
}
|
||
},
|
||
"brands": {
|
||
"eyebrow": "Administration",
|
||
"title": "Brands",
|
||
"intro": "Brands group projects, by company for example. Every project belongs to exactly one brand.",
|
||
"create": "Create brand",
|
||
"createTitle": "New brand",
|
||
"createIntro": "Name and colour are enough. The slug is suggested from the name.",
|
||
"editIntro": "Changes take effect right away for all projects of this brand.",
|
||
"save": "Save",
|
||
"saving": "Saving",
|
||
"back": "Back to the list",
|
||
"emptyTitle": "No brand yet",
|
||
"empty": "There is no brand yet. Create the first one, then you can create projects.",
|
||
"columns": {
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"color": "Colour",
|
||
"projects": "Projects",
|
||
"sort": "Sorting",
|
||
"edit": "Edit"
|
||
},
|
||
"fields": {
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"color": "Colour",
|
||
"colorPicker": "Pick a colour",
|
||
"sort": "Sorting"
|
||
},
|
||
"hints": {
|
||
"slug": "Lower case letters, digits and hyphens.",
|
||
"color": "As a hex value, for example #2b4a9b.",
|
||
"sort": "Smaller numbers come first."
|
||
}
|
||
},
|
||
"postTypes": {
|
||
"eyebrow": "Admin",
|
||
"title": "Post types",
|
||
"intro": "Post types mark what a post is about. Key, label, colour and order are set here.",
|
||
"create": "Add post type",
|
||
"createTitle": "New post type",
|
||
"createIntro": "Label and colour are enough. The key is derived from the German label.",
|
||
"editIntro": "Changes apply at once to every post of this type.",
|
||
"save": "Save",
|
||
"saving": "Saving",
|
||
"back": "Back to the list",
|
||
"emptyTitle": "No post type yet",
|
||
"empty": "There is no post type yet. Add the first one, then you can classify posts.",
|
||
"active": "Active",
|
||
"inactive": "Retired",
|
||
"usage": "{count, plural, =0 {no post} one {# post} other {# posts}}",
|
||
"deleteTitle": "Delete",
|
||
"delete": "Delete post type",
|
||
"deleting": "Deleting",
|
||
"deleteBlocked": "This type is used by {count, plural, one {# post} other {# posts}} and cannot be deleted. Clear the active checkbox instead, then it is no longer offered.",
|
||
"columns": {
|
||
"label": "Label",
|
||
"key": "Key",
|
||
"color": "Colour",
|
||
"posts": "Posts",
|
||
"sort": "Order",
|
||
"active": "Active",
|
||
"edit": "Edit"
|
||
},
|
||
"fields": {
|
||
"labelDe": "Label German",
|
||
"labelEn": "Label English",
|
||
"key": "Key",
|
||
"color": "Colour",
|
||
"colorPicker": "Pick a colour",
|
||
"sort": "Order",
|
||
"isActive": "Active"
|
||
},
|
||
"hints": {
|
||
"key": "Lower case letters, digits and hyphens. This is what the API reports.",
|
||
"color": "As a hex value, for example #2b4a9b. It marks the type on a post.",
|
||
"sort": "Smaller numbers come first, in the picker and in the filters.",
|
||
"isActive": "Only active types are offered while writing.",
|
||
"activeInUse": "Only active types are offered while writing. Posts that already carry this type keep it."
|
||
}
|
||
},
|
||
"users": {
|
||
"eyebrow": "Administration",
|
||
"title": "Users",
|
||
"intro": "Only people who write need an account. Reading works without one.",
|
||
"columns": {
|
||
"name": "Name",
|
||
"email": "Email",
|
||
"role": "Right",
|
||
"projects": "Projects",
|
||
"edit": "Open"
|
||
},
|
||
"roles": {
|
||
"admin": "Administration",
|
||
"moderator": "Moderator"
|
||
},
|
||
"you": "you",
|
||
"all": "all",
|
||
"back": "Back to the list",
|
||
"saving": "Saving",
|
||
"emptyTitle": "No account yet",
|
||
"empty": "There is no account yet. Create one with the command pnpm admin:create.",
|
||
"newAccountTitle": "New account",
|
||
"newAccount": "Accounts are created with the command pnpm admin:create. After that you hand out the rights here.",
|
||
"adminSection": "Administration right",
|
||
"isAdmin": "This account administers everything and reaches every project.",
|
||
"isNotAdmin": "This account works only in the projects it has been released for.",
|
||
"grantAdmin": "Grant administration right",
|
||
"revokeAdmin": "Revoke administration right",
|
||
"selfHint": "The administration right cannot be changed on your own account.",
|
||
"rolesSection": "Projects",
|
||
"assignedMeta": "{count, plural, =0 {no project} one {# project} other {# projects}}",
|
||
"adminHasAll": "This account holds the administration right and reaches every project anyway. The releases below apply once the administration right is revoked.",
|
||
"grantRole": "Release",
|
||
"revokeRole": "Withdraw",
|
||
"implicit": "through administration right",
|
||
"rolesHint": "A moderator creates and publishes entries and images of their projects.",
|
||
"noProjectsTitle": "No project yet",
|
||
"noProjects": "There is no project you could release yet.",
|
||
"toProjects": "Create project",
|
||
"accountSection": "Account",
|
||
"accountHint": "Name, email and password are set by the command pnpm admin:create."
|
||
},
|
||
"clients": {
|
||
"eyebrow": "Administration",
|
||
"title": "API access",
|
||
"intro": "Applications fetch entries through an access. Read access delivers published entries of its audience, write access creates drafts.",
|
||
"listTitle": "Access",
|
||
"meta": "{count, plural, =0 {no access} one {# access} other {# accesses}}",
|
||
"emptyTitle": "No access yet",
|
||
"empty": "There is no access yet. Create one below so an application can fetch entries.",
|
||
"columns": {
|
||
"name": "Name",
|
||
"mode": "Mode",
|
||
"scope": "Audience",
|
||
"project": "Project",
|
||
"lastUsed": "Last used",
|
||
"state": "State",
|
||
"action": "Action"
|
||
},
|
||
"modes": {
|
||
"read": "Read",
|
||
"write": "Write"
|
||
},
|
||
"scopes": {
|
||
"internal": "Internal",
|
||
"customer": "Customer",
|
||
"public": "Public"
|
||
},
|
||
"allProjects": "All projects",
|
||
"unknownProject": "Unknown",
|
||
"never": "never",
|
||
"activeState": "Active",
|
||
"revoked": "Revoked",
|
||
"revoke": "Revoke",
|
||
"revoking": "Revoking",
|
||
"createTitle": "Create access",
|
||
"createIntro": "The token is shown once and stored as a hash only. Whoever loses it creates a new access and revokes the old one.",
|
||
"create": "Create access",
|
||
"creating": "Creating",
|
||
"tokenTitle": "Token, visible now only",
|
||
"tokenHint": "Copy the token now and put it into the application. It cannot be shown again later.",
|
||
"copy": "Copy token",
|
||
"copied": "Copied",
|
||
"fields": {
|
||
"name": "Name",
|
||
"mode": "Mode",
|
||
"scope": "Audience",
|
||
"project": "Project"
|
||
},
|
||
"hints": {
|
||
"name": "How you recognise this access later, for example Trakk Web.",
|
||
"mode": "Read fetches entries. Write creates drafts and uploads images.",
|
||
"scope": "Decides which entries the access sees. Customer never gets internal entries.",
|
||
"project": "Without a binding the access covers all projects."
|
||
},
|
||
"publishTitle": "Publishing",
|
||
"publishHint": "No access may publish. That stays bound to accounts."
|
||
}
|
||
},
|
||
"filter": {
|
||
"type": "Type",
|
||
"allTypes": "All types"
|
||
},
|
||
"media": {
|
||
"eyebrow": "Images",
|
||
"title": "Media library",
|
||
"intro": "One image stock per project. Uploading creates WebP renditions in several widths automatically.",
|
||
"back": "All projects",
|
||
"library": "Stock",
|
||
"projectIntro": "Upload images and maintain alt text and caption. Without alt text a public entry cannot be published.",
|
||
"projectMeta": "{count, plural, =0 {no image} one {# image} other {# images}}",
|
||
"emptyProjectsTitle": "No project yet",
|
||
"emptyProjects": "No project has been released for you yet, or none has been created.",
|
||
"emptyLibraryTitle": "No image yet",
|
||
"emptyLibrary": "This project holds no image yet. Upload the first one with the field above.",
|
||
"upload": {
|
||
"title": "Upload image",
|
||
"hint": "JPEG, PNG, WebP, AVIF, GIF or TIFF. The original is kept, the renditions are made from it.",
|
||
"file": "File",
|
||
"submit": "Upload",
|
||
"pending": "Processing",
|
||
"limit": "15 MB at most"
|
||
},
|
||
"fields": {
|
||
"alt": "Alt text",
|
||
"altHint": "Mandatory for public entries, a recommendation otherwise.",
|
||
"altPlaceholder": "What can be seen in the image?",
|
||
"caption": "Caption"
|
||
},
|
||
"meta": {
|
||
"submit": "Save",
|
||
"pending": "Saving"
|
||
},
|
||
"card": {
|
||
"meta": "{width} × {height} · {size} KB · {variants, plural, =0 {no rendition} one {# rendition} other {# renditions}}",
|
||
"altMissing": "No alt text. It is mandatory for public entries.",
|
||
"variantError": "The renditions could not be created. The original is stored and usable.",
|
||
"delete": "Delete image",
|
||
"deleteConfirm": "Really delete?",
|
||
"keep": "Keep"
|
||
},
|
||
"messages": {
|
||
"uploaded": "The image is uploaded and the renditions are created.",
|
||
"saved": "Alt text and caption are saved.",
|
||
"fileMissing": "Pick an image file.",
|
||
"fileTooLarge": "The file is larger than 15 MB. Shrink it and try again.",
|
||
"unsupportedType": "This format is not accepted. Use JPEG, PNG, WebP, AVIF, GIF or TIFF.",
|
||
"unreadableImage": "The file cannot be read as an image. Check whether it is complete.",
|
||
"projectUnknown": "This project does not exist.",
|
||
"mediaUnknown": "This image no longer exists.",
|
||
"uploadFailed": "Uploading did not work just now. Try again in a moment.",
|
||
"deleted": "The image is deleted.",
|
||
"mediaInUse": "The image is still used in an entry. Remove it there first."
|
||
}
|
||
},
|
||
"mail": {
|
||
"magicLink": {
|
||
"subject": "Your sign-in link for Logbuch",
|
||
"greeting": "Hello,",
|
||
"body": "here is your sign-in link for Logbuch. It is valid for {minutes} minutes and can be used once.",
|
||
"ignore": "If you did not request a link, ignore this message. Nothing happens without the link.",
|
||
"signature": "Logbuch"
|
||
}
|
||
}
|
||
}
|