@rigel-cms/rigel 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/docs/content-locales.md +53 -0
- package/docs/extensions.md +194 -0
- package/package.json +16 -3
- package/src/article-body.ts +49 -37
- package/src/article-render.ts +25 -2
- package/src/article.ts +44 -0
- package/src/config.ts +26 -2
- package/src/editor/App.svelte +149 -107
- package/src/editor/blocks/extension.ts +29 -0
- package/src/editor/blocks/index.ts +17 -15
- package/src/editor/blocks/video.ts +2 -1
- package/src/editor/i18n/README.md +23 -0
- package/src/editor/i18n/de/connection.json +136 -0
- package/src/editor/i18n/de/defaults.json +6 -0
- package/src/editor/i18n/de/fields.json +130 -0
- package/src/editor/i18n/de/local.json +49 -0
- package/src/editor/i18n/de/media.json +166 -0
- package/src/editor/i18n/de/richtext.json +116 -0
- package/src/editor/i18n/de/shell.json +182 -0
- package/src/editor/i18n/de/system.json +14 -0
- package/src/editor/i18n/de/validation.json +82 -0
- package/src/editor/i18n/en/connection.json +136 -0
- package/src/editor/i18n/en/defaults.json +6 -0
- package/src/editor/i18n/en/fields.json +130 -0
- package/src/editor/i18n/en/local.json +49 -0
- package/src/editor/i18n/en/media.json +166 -0
- package/src/editor/i18n/en/richtext.json +116 -0
- package/src/editor/i18n/en/shell.json +182 -0
- package/src/editor/i18n/en/system.json +14 -0
- package/src/editor/i18n/en/validation.json +82 -0
- package/src/editor/i18n/es/connection.json +136 -0
- package/src/editor/i18n/es/defaults.json +6 -0
- package/src/editor/i18n/es/fields.json +130 -0
- package/src/editor/i18n/es/local.json +49 -0
- package/src/editor/i18n/es/media.json +166 -0
- package/src/editor/i18n/es/richtext.json +116 -0
- package/src/editor/i18n/es/shell.json +182 -0
- package/src/editor/i18n/es/system.json +14 -0
- package/src/editor/i18n/es/validation.json +82 -0
- package/src/editor/i18n/format.ts +26 -0
- package/src/editor/i18n/fr/connection.json +136 -0
- package/src/editor/i18n/fr/defaults.json +6 -0
- package/src/editor/i18n/fr/fields.json +130 -0
- package/src/editor/i18n/fr/local.json +49 -0
- package/src/editor/i18n/fr/media.json +166 -0
- package/src/editor/i18n/fr/richtext.json +116 -0
- package/src/editor/i18n/fr/shell.json +182 -0
- package/src/editor/i18n/fr/system.json +14 -0
- package/src/editor/i18n/fr/validation.json +82 -0
- package/src/editor/i18n/index.ts +18 -0
- package/src/editor/i18n/it/connection.json +136 -0
- package/src/editor/i18n/it/defaults.json +6 -0
- package/src/editor/i18n/it/fields.json +130 -0
- package/src/editor/i18n/it/local.json +49 -0
- package/src/editor/i18n/it/media.json +166 -0
- package/src/editor/i18n/it/richtext.json +116 -0
- package/src/editor/i18n/it/shell.json +182 -0
- package/src/editor/i18n/it/system.json +14 -0
- package/src/editor/i18n/it/validation.json +82 -0
- package/src/editor/i18n/ja/connection.json +136 -0
- package/src/editor/i18n/ja/defaults.json +6 -0
- package/src/editor/i18n/ja/fields.json +130 -0
- package/src/editor/i18n/ja/local.json +49 -0
- package/src/editor/i18n/ja/media.json +166 -0
- package/src/editor/i18n/ja/richtext.json +116 -0
- package/src/editor/i18n/ja/shell.json +182 -0
- package/src/editor/i18n/ja/system.json +14 -0
- package/src/editor/i18n/ja/validation.json +82 -0
- package/src/editor/i18n/locales.ts +13 -0
- package/src/editor/i18n/nl/connection.json +136 -0
- package/src/editor/i18n/nl/defaults.json +6 -0
- package/src/editor/i18n/nl/fields.json +130 -0
- package/src/editor/i18n/nl/local.json +49 -0
- package/src/editor/i18n/nl/media.json +166 -0
- package/src/editor/i18n/nl/richtext.json +116 -0
- package/src/editor/i18n/nl/shell.json +182 -0
- package/src/editor/i18n/nl/system.json +14 -0
- package/src/editor/i18n/nl/validation.json +82 -0
- package/src/editor/i18n/ru/connection.json +138 -0
- package/src/editor/i18n/ru/defaults.json +6 -0
- package/src/editor/i18n/ru/fields.json +132 -0
- package/src/editor/i18n/ru/local.json +49 -0
- package/src/editor/i18n/ru/media.json +166 -0
- package/src/editor/i18n/ru/richtext.json +116 -0
- package/src/editor/i18n/ru/shell.json +182 -0
- package/src/editor/i18n/ru/system.json +14 -0
- package/src/editor/i18n/ru/validation.json +82 -0
- package/src/editor/i18n/server.ts +13 -0
- package/src/editor/i18n/zh/connection.json +136 -0
- package/src/editor/i18n/zh/defaults.json +6 -0
- package/src/editor/i18n/zh/fields.json +130 -0
- package/src/editor/i18n/zh/local.json +49 -0
- package/src/editor/i18n/zh/media.json +166 -0
- package/src/editor/i18n/zh/richtext.json +116 -0
- package/src/editor/i18n/zh/shell.json +182 -0
- package/src/editor/i18n/zh/system.json +14 -0
- package/src/editor/i18n/zh/validation.json +82 -0
- package/src/editor/lib/ActionDialog.svelte +5 -4
- package/src/editor/lib/BlockEditor.svelte +305 -88
- package/src/editor/lib/CollectionPanel.svelte +17 -15
- package/src/editor/lib/DatePicker.svelte +15 -12
- package/src/editor/lib/ExtensionMount.svelte +12 -0
- package/src/editor/lib/Field.svelte +3 -2
- package/src/editor/lib/ImagePicker.svelte +82 -81
- package/src/editor/lib/MarkdownEditor.svelte +25 -24
- package/src/editor/lib/MediaPicker.svelte +6 -5
- package/src/editor/lib/MenuEditor.svelte +31 -30
- package/src/editor/lib/PreviewFrame.svelte +11 -6
- package/src/editor/lib/PropertiesTabs.svelte +3 -2
- package/src/editor/lib/PublishDialog.svelte +15 -14
- package/src/editor/lib/ReferenceSelect.svelte +3 -2
- package/src/editor/lib/SchemaField.svelte +15 -13
- package/src/editor/lib/SchemaPanel.svelte +20 -19
- package/src/editor/lib/Select.svelte +5 -4
- package/src/editor/lib/SeoGuidance.svelte +6 -5
- package/src/editor/lib/Settings.svelte +54 -54
- package/src/editor/lib/Shortcuts.svelte +7 -6
- package/src/editor/lib/SitePreview.svelte +10 -9
- package/src/editor/lib/TopBar.svelte +18 -17
- package/src/editor/lib/UnsavedChanges.svelte +7 -6
- package/src/editor/lib/VisualEditor.svelte +19 -18
- package/src/editor/lib/calendar.ts +10 -4
- package/src/editor/lib/embed-preview.ts +23 -5
- package/src/editor/lib/extension-preview.ts +121 -0
- package/src/editor/lib/github-auth.ts +23 -22
- package/src/editor/lib/github-backend.ts +96 -91
- package/src/editor/lib/images.ts +33 -31
- package/src/editor/lib/menu-tree.ts +5 -4
- package/src/editor/lib/preview-frame.ts +4 -3
- package/src/editor/lib/schema-edit.ts +3 -2
- package/src/editor/lib/settings.ts +5 -3
- package/src/editor/lib/slash-command.ts +1 -0
- package/src/editor/lib/tooltip.ts +1 -1
- package/src/editor/main.ts +9 -0
- package/src/editor/styles.css +15 -3
- package/src/env.d.ts +11 -1
- package/src/extensions.ts +160 -0
- package/src/index.ts +1 -1
- package/src/manifest/collections.ts +6 -5
- package/src/manifest/content-locales.ts +45 -0
- package/src/manifest/menu.ts +12 -10
- package/src/manifest/navigation.ts +13 -8
- package/src/manifest/references.ts +8 -7
- package/src/manifest/seo.ts +4 -3
- package/src/manifest/types.ts +4 -0
- package/src/preview.ts +36 -2
- package/src/routes/local-api.ts +5 -3
- package/src/routes/local-documents.ts +20 -16
- package/src/routes/local-media.ts +21 -16
- package/src/routes/local-menu.ts +9 -7
- package/src/routes/local-post.ts +18 -12
- package/src/routes/media-files.ts +10 -8
- package/src/routes/rigel-page.astro +2 -1
- package/src/schema/store.ts +22 -20
- package/src/schema/types.ts +2 -0
- package/src/schema/validate.ts +73 -69
- package/src/slugs.ts +11 -10
- package/src/vite/manifest-plugin.ts +38 -2
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{
|
|
2
|
+
"connection.invalidAuthOrigin": "Invalid authentication gateway origin.",
|
|
3
|
+
"connection.authorizationDenied": "GitHub authorization was denied. Sign in again and approve access to continue.",
|
|
4
|
+
"connection.tokenExchangeFailed": "The auth gateway could not exchange GitHub's authorization code for a token. Repository access has not been checked.",
|
|
5
|
+
"connection.loginFailed": "GitHub login failed. Please try signing in again.",
|
|
6
|
+
"connection.invalidCredentials": "GitHub returned invalid or expired credentials. Please sign in again.",
|
|
7
|
+
"connection.loginOpenFailed": "Unable to open GitHub login. Allow popups and try again.",
|
|
8
|
+
"connection.loginBlocked": "GitHub login popup was blocked. Allow popups and try again.",
|
|
9
|
+
"connection.loginCancelled": "GitHub login was cancelled. Please try again.",
|
|
10
|
+
"connection.loginTimeout": "GitHub login timed out. Please try again.",
|
|
11
|
+
"connection.invalidSession": "GitHub session is invalid. Please sign in again.",
|
|
12
|
+
"connection.invalidConfiguration": "Invalid GitHub repository or app configuration.",
|
|
13
|
+
"connection.unreachable": "Unable to reach GitHub. Check your connection and try again.",
|
|
14
|
+
"connection.sessionExpired": "GitHub session expired or was revoked. Please sign in again.",
|
|
15
|
+
"connection.accessRateLimited": "GitHub rate limit reached. Wait a few minutes and try again.",
|
|
16
|
+
"connection.accessDenied": "GitHub access denied. Check app permissions and organization approval, then sign in again.",
|
|
17
|
+
"connection.repositoryUnavailable": "GitHub repository or installation is unavailable. Check the repository name and app installation, then try again.",
|
|
18
|
+
"connection.accessCheckFailed": "GitHub could not verify access. Please try again later.",
|
|
19
|
+
"connection.invalidAccessResponse": "GitHub returned an invalid access response. Please try again.",
|
|
20
|
+
"connection.incompleteAccessListing": "GitHub access listing is incomplete. Please try again or narrow the app's repository selection.",
|
|
21
|
+
"connection.invalidUser": "GitHub returned an invalid user. Please sign in again.",
|
|
22
|
+
"connection.invalidRepository": "GitHub returned an invalid repository. Please try again.",
|
|
23
|
+
"connection.unsafePath": "Unsafe GitHub content path",
|
|
24
|
+
"connection.invalidBranch": "Invalid GitHub branch",
|
|
25
|
+
"connection.connectFirst": "Connect the configured GitHub repository first",
|
|
26
|
+
"connection.dedicatedDraftBranch": "GitHub content changes require a dedicated drafts branch, never the publishing branch",
|
|
27
|
+
"connection.overlappingDirectories": "GitHub content directories must not overlap",
|
|
28
|
+
"connection.invalidFilename": "Invalid content filename",
|
|
29
|
+
"connection.requestFailed": "GitHub request failed; check your connection and reconnect",
|
|
30
|
+
"connection.malformedResponse": "Malformed GitHub API response",
|
|
31
|
+
"connection.malformedSha": "Malformed GitHub SHA",
|
|
32
|
+
"connection.malformedPayload": "Malformed GitHub content payload",
|
|
33
|
+
"connection.invalidPayload": "Invalid or oversized GitHub content payload",
|
|
34
|
+
"connection.invalidUtf8": "Invalid UTF-8 GitHub content payload",
|
|
35
|
+
"connection.contentTooLarge": "Content exceeds the 1 MiB limit",
|
|
36
|
+
"connection.invalidRemoteJson": "Invalid remote content JSON",
|
|
37
|
+
"connection.incompleteTree": "Incomplete GitHub tree; content cannot be loaded safely",
|
|
38
|
+
"connection.malformedTreeEntry": "Malformed GitHub tree entry",
|
|
39
|
+
"connection.duplicateTreePath": "Duplicate GitHub tree path",
|
|
40
|
+
"connection.invalidDirectory": "Content directory must be a real GitHub directory",
|
|
41
|
+
"connection.invalidFile": "Content must be an existing regular GitHub file",
|
|
42
|
+
"connection.blobShaMismatch": "GitHub blob SHA mismatch",
|
|
43
|
+
"connection.invalidRemoteFilename": "Invalid remote content filename",
|
|
44
|
+
"connection.invalidCopyGroups": "Copy groups must contain value objects",
|
|
45
|
+
"connection.invalidDocument": "Remote document must be an object",
|
|
46
|
+
"connection.missingCollection": "Missing configured GitHub collection",
|
|
47
|
+
"connection.invalidArticle": "Invalid remote article",
|
|
48
|
+
"connection.menuSlugMismatch": "Remote menu slug does not match filename",
|
|
49
|
+
"connection.reloadDraft": "Reload draft content before saving to this repository",
|
|
50
|
+
"connection.draftConflictUnsaved": "GitHub draft branch conflict; reload before saving. Your unsaved edits are still here.",
|
|
51
|
+
"connection.draftConflict": "GitHub draft branch conflict; reload before saving.",
|
|
52
|
+
"connection.branchUpdateUnverified": "GitHub branch update could not be verified; retry or reload.",
|
|
53
|
+
"connection.deletionUnverified": "GitHub deletion could not be verified; reload",
|
|
54
|
+
"connection.saveChanged": "GitHub save changed before verification; reload",
|
|
55
|
+
"connection.waitBeforeSaving": "Wait for publishing to finish before saving.",
|
|
56
|
+
"connection.invalidValues": "Content values must be an object",
|
|
57
|
+
"connection.unknownCopyPage": "Unknown copy page",
|
|
58
|
+
"connection.reloadCopyPage": "Reload the copy page before saving",
|
|
59
|
+
"connection.unknownCollection": "Unknown collection",
|
|
60
|
+
"connection.missingSchema": "No document schema configured",
|
|
61
|
+
"connection.unknownDocument": "Unknown document type or slug",
|
|
62
|
+
"connection.creationDisabled": "Creating entries is disabled for this document type",
|
|
63
|
+
"connection.menusNotConfigured": "Menus must be configured by the site developer",
|
|
64
|
+
"connection.selectContent": "Select editable content before saving",
|
|
65
|
+
"connection.incompletePublishTree": "Incomplete GitHub tree. Publishing is unavailable; review this change on GitHub.",
|
|
66
|
+
"connection.malformedPublishTree": "Malformed GitHub publish tree",
|
|
67
|
+
"connection.malformedPublishTreeMode": "Malformed GitHub publish tree mode",
|
|
68
|
+
"connection.publishWriteRequired": "Publishing requires repository write access.",
|
|
69
|
+
"connection.squashDisabled": "Squash merging is disabled. Ask the repository owner to enable it before publishing.",
|
|
70
|
+
"connection.automaticDeletionEnabled": "Ask the repository owner to disable automatic head-branch deletion before publishing, so the drafts branch is preserved.",
|
|
71
|
+
"connection.comparisonTargetMismatch": "GitHub comparison does not match the reviewed target.",
|
|
72
|
+
"connection.comparisonLimit": "GitHub comparisons of 300 or more files are not supported. Publish this change on GitHub; no partial list is shown.",
|
|
73
|
+
"connection.unsupportedComparison": "Incomplete or unsupported GitHub file comparison. Publish this change on GitHub.",
|
|
74
|
+
"connection.incompleteRename": "Incomplete GitHub rename comparison",
|
|
75
|
+
"connection.incompleteComparison": "Incomplete GitHub file comparison. Publishing is unavailable; no partial list is shown.",
|
|
76
|
+
"connection.publishFileLimit": "Publishing 300 or more files is not supported. Review and publish this change on GitHub.",
|
|
77
|
+
"connection.branchesChangedDuringReview": "Branches changed during review. Review changes again before publishing.",
|
|
78
|
+
"connection.waitForWrite": "Wait for the current save or publish to finish.",
|
|
79
|
+
"connection.reviewFirst": "Review saved changes before publishing.",
|
|
80
|
+
"connection.branchesChanged": "Branches changed. Review changes again before publishing.",
|
|
81
|
+
"connection.pullRequestMismatch": "Pull request no longer matches this review. Review changes again.",
|
|
82
|
+
"connection.incompletePullRequests": "Incomplete GitHub pull request listing",
|
|
83
|
+
"connection.multiplePullRequests": "Multiple matching pull requests. Resolve them on GitHub before publishing.",
|
|
84
|
+
"connection.pullRequestListingStopped": "Incomplete GitHub pull request listing; publishing stopped.",
|
|
85
|
+
"connection.publishSettingsChanged": "Publishing settings or access changed. Enable squash merges, disable automatic branch deletion and verify write access, then review again.",
|
|
86
|
+
"connection.pullRequestCreationUnconfirmed": "The previous pull request creation is unconfirmed. Check GitHub before retrying; no duplicate was created.",
|
|
87
|
+
"connection.pullRequestTargetChanged": "Pull request or target changed. Review changes again before publishing.",
|
|
88
|
+
"connection.syncUnverified": "GitHub is still syncing drafts, or the sync could not be verified. Wait, reload draft content and review again. Nothing was published.",
|
|
89
|
+
"connection.mergeBlocked": "GitHub has not allowed this merge. Resolve conflicts, required checks, reviews or branch protections on GitHub, then retry. No protection is bypassed.",
|
|
90
|
+
"connection.mergeFailed": "GitHub did not merge the pull request. Check required checks, reviews and branch protections, then retry.",
|
|
91
|
+
"connection.publishUnverified": "The publish result could not be verified. Check this pull request on GitHub before retrying.",
|
|
92
|
+
"connection.publishPermissions": "Publishing requires GitHub App Contents and Pull requests read/write permissions, installation-owner approval and repository write access. Reconnect after approval. Branch protections still apply.",
|
|
93
|
+
"connection.publishRejected": "GitHub rejected publishing. Check conflicts, required checks/reviews, branch protections and squash settings. Review changes again if either branch moved.",
|
|
94
|
+
"connection.waitBeforeDeleting": "Wait for publishing to finish before deleting.",
|
|
95
|
+
"connection.contentExists": "Content already exists; choose another slug",
|
|
96
|
+
"connection.reloadContent": "Reload this content before changing it",
|
|
97
|
+
"connection.requestRateLimited": "GitHub rate limit reached; wait before retrying ({status})",
|
|
98
|
+
"connection.requestSessionExpired": "GitHub session expired; reconnect ({status})",
|
|
99
|
+
"connection.requestAccessDenied": "GitHub access denied; check repository installation permissions ({status})",
|
|
100
|
+
"connection.requestUnavailable": "GitHub repository, branch or file unavailable; check access and reload ({status})",
|
|
101
|
+
"connection.requestConflict": "GitHub content conflict; reload before saving ({status})",
|
|
102
|
+
"connection.requestRejected": "GitHub rejected this change; the path or branch may already exist; reload ({status})",
|
|
103
|
+
"connection.requestError": "GitHub request failed; retry after checking repository access ({status})",
|
|
104
|
+
"connection.publishOutcomeUnconfirmed": "Publish outcome is unconfirmed. Check pull request #{number} on GitHub, or retry to verify it before starting another publish.",
|
|
105
|
+
"connection.cancel": "Cancel",
|
|
106
|
+
"connection.working": "Working…",
|
|
107
|
+
"connection.actionFailed": "The action could not be completed. Try again.",
|
|
108
|
+
"connection.publishTitle": "Publish saved changes",
|
|
109
|
+
"connection.closePublishReview": "Close publish review",
|
|
110
|
+
"connection.publishDescription": "Publish includes {scope}, including files outside CMS content folders. Unsaved edits are never included or saved automatically.",
|
|
111
|
+
"connection.publishScope": "all saved changes on the drafts branch",
|
|
112
|
+
"connection.loadingReview": "Loading the complete file review…",
|
|
113
|
+
"connection.publishBranches": "{branch} to {publishBranch}, as one squash commit.",
|
|
114
|
+
"connection.syncDescription": "The publishing branch has changes not in drafts, including earlier squash publishes. First, explicitly sync it into drafts using GitHub’s normal merge. This does not publish. Conflicts stop the sync. Then review the updated files again before publishing.",
|
|
115
|
+
"connection.treeDifferences": "These are the current tree differences, not the final publish list:",
|
|
116
|
+
"connection.fileCount.one": "{count} file",
|
|
117
|
+
"connection.fileCount.other": "{count} files",
|
|
118
|
+
"connection.allChangedFiles": "All changed files",
|
|
119
|
+
"connection.previousFilename": "Previously: {filename}",
|
|
120
|
+
"connection.noSavedChanges": "No saved changes to publish. The branch trees are identical.",
|
|
121
|
+
"connection.publishSafety": "Both branch revisions are checked again before publishing. GitHub pins the draft revision, but cannot atomically lock the target revision; a target update in the final instant can still race. Required checks, reviews and branch protections apply.",
|
|
122
|
+
"connection.close": "Close",
|
|
123
|
+
"connection.reviewAgain": "Review again",
|
|
124
|
+
"connection.syncDraftsFirst": "Sync drafts first",
|
|
125
|
+
"connection.confirmPublish": "Confirm publish",
|
|
126
|
+
"connection.unsavedTitle": "Unsaved changes",
|
|
127
|
+
"connection.keepEditing": "Keep editing",
|
|
128
|
+
"connection.unsavedDescription": "You have unsaved changes. Save before leaving, or discard this draft?",
|
|
129
|
+
"connection.discardChanges": "Discard changes",
|
|
130
|
+
"connection.saving": "Saving…",
|
|
131
|
+
"connection.saveAndLeave": "Save and leave",
|
|
132
|
+
"connection.fileStatus.added": "added",
|
|
133
|
+
"connection.fileStatus.modified": "modified",
|
|
134
|
+
"connection.fileStatus.removed": "removed",
|
|
135
|
+
"connection.fileStatus.renamed": "renamed"
|
|
136
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"fields.remove": "Remove",
|
|
3
|
+
"fields.addItem": "Add item",
|
|
4
|
+
"fields.colorPicker": "{label} picker",
|
|
5
|
+
"fields.colorHexValue": "{label} hex value",
|
|
6
|
+
"fields.hideValue": "Hide {label}",
|
|
7
|
+
"fields.showValue": "Show {label}",
|
|
8
|
+
"fields.choose": "Choose…",
|
|
9
|
+
"fields.itemNumber": "Item {number}",
|
|
10
|
+
"fields.moveItemUp": "Move {label} item {number} up",
|
|
11
|
+
"fields.moveItemDown": "Move {label} item {number} down",
|
|
12
|
+
"fields.duplicateItem": "Duplicate {label} item {number}",
|
|
13
|
+
"fields.removeItem": "Remove {label} item {number}",
|
|
14
|
+
"fields.itemLabel": "{label} item {number}",
|
|
15
|
+
"fields.moveUp": "Move up",
|
|
16
|
+
"fields.moveDown": "Move down",
|
|
17
|
+
"fields.duplicate": "Duplicate",
|
|
18
|
+
"fields.selectLabel": "Select {label}…",
|
|
19
|
+
"fields.unavailableReference": "Unavailable ({id})",
|
|
20
|
+
"fields.noEntries": "No entries have been declared yet.",
|
|
21
|
+
"fields.properties": "Properties",
|
|
22
|
+
"fields.content": "Content",
|
|
23
|
+
"fields.seo": "SEO",
|
|
24
|
+
"fields.selectOptions": "Select options…",
|
|
25
|
+
"fields.noOptions": "No options available.",
|
|
26
|
+
"fields.demoContentNotice": "Field examples for testing. These values are separate from your website settings.",
|
|
27
|
+
"fields.sharedContentNotice": "Shared content. Changes appear on every page that references it.",
|
|
28
|
+
"fields.pageProperties": "Page properties",
|
|
29
|
+
"fields.urlSlug": "URL slug",
|
|
30
|
+
"fields.documentSlugHint": "Changes the URL, not the document identifier or filename. The website route must use the slug metadata.",
|
|
31
|
+
"fields.newPageNotice": "New page. Save writes the JSON file; the route appears once the site has the file.",
|
|
32
|
+
"fields.structure": "Structure",
|
|
33
|
+
"fields.moveSectionUp": "Move {label} up",
|
|
34
|
+
"fields.moveSectionDown": "Move {label} down",
|
|
35
|
+
"fields.duplicateSection": "Duplicate {label}",
|
|
36
|
+
"fields.removeSection": "Remove {label}",
|
|
37
|
+
"fields.sectionTypeToAdd": "Section type to add",
|
|
38
|
+
"fields.chooseSection": "Choose a section…",
|
|
39
|
+
"fields.addSection": "Add section",
|
|
40
|
+
"fields.pendingSections.one": "{count} new section will appear after Save.",
|
|
41
|
+
"fields.pendingSections.other": "{count} new sections will appear after Save.",
|
|
42
|
+
"fields.sectionProperties": "Section properties",
|
|
43
|
+
"fields.editReference": "Edit {label} ↗",
|
|
44
|
+
"fields.articleDetails": "Article details",
|
|
45
|
+
"fields.collectionSlugHint": "Changes the URL, not the content filename. The website route must use the slug metadata.",
|
|
46
|
+
"fields.commaSeparatedLabel": "{label} (comma-separated)",
|
|
47
|
+
"fields.editArticleBody": "Edit article body in preview",
|
|
48
|
+
"fields.loadingPreview": "Loading preview…",
|
|
49
|
+
"fields.editArticleBodyHint": "Click the article body in the preview to edit. Content changes require Save.",
|
|
50
|
+
"fields.seoNotSet": "Not set",
|
|
51
|
+
"fields.seoTooShort": "Too short",
|
|
52
|
+
"fields.seoTooLong": "Too long",
|
|
53
|
+
"fields.seoRecommendedLength": "Recommended length",
|
|
54
|
+
"fields.seoTitleLength": "SEO title length",
|
|
55
|
+
"fields.seoDescriptionLength": "SEO description length",
|
|
56
|
+
"fields.seoLengthDetails": "{count} characters. {status}. Recommended {min} to {max}.",
|
|
57
|
+
"fields.seoRecommendedCharacters": "Recommended: {min}–{max} characters.",
|
|
58
|
+
"fields.seoRecommendedImageSize": "Recommended size: 1200 × 628 px.",
|
|
59
|
+
"fields.section": "Section",
|
|
60
|
+
"fields.menuItemNotFound": "Menu item not found",
|
|
61
|
+
"fields.menuMoveIntoSelf": "An item cannot be moved into itself or its children",
|
|
62
|
+
"fields.menuDropTargetMissing": "Drop target no longer exists",
|
|
63
|
+
"fields.menuMoveDepthLimit": "This move exceeds the {maxDepth}-level limit",
|
|
64
|
+
"fields.menuItemMoved": "Menu item moved",
|
|
65
|
+
"fields.menuCannotMoveItem": "Cannot move item",
|
|
66
|
+
"fields.menuMaximumLevels": "Maximum {maxDepth} levels",
|
|
67
|
+
"fields.menuNewItem": "New item",
|
|
68
|
+
"fields.menuItemAdded": "Menu item added",
|
|
69
|
+
"fields.menuMoveCancelled": "Move cancelled",
|
|
70
|
+
"fields.menuItems": "Menu items",
|
|
71
|
+
"fields.menuPath": "Menu path",
|
|
72
|
+
"fields.menuUntitledItem": "Untitled item",
|
|
73
|
+
"fields.menuItemDetails": "{label} details",
|
|
74
|
+
"fields.menuItemActions": "Actions for {label}",
|
|
75
|
+
"fields.menuUp": "Up",
|
|
76
|
+
"fields.menuDown": "Down",
|
|
77
|
+
"fields.menuIndent": "Indent",
|
|
78
|
+
"fields.menuOutdent": "Outdent",
|
|
79
|
+
"fields.menuLabel": "Label",
|
|
80
|
+
"fields.menuLabelFor": "Label for {id}",
|
|
81
|
+
"fields.menuUrl": "URL",
|
|
82
|
+
"fields.menuUrlFor": "URL for {id}",
|
|
83
|
+
"fields.menuUrlPlaceholder": "/about or https://example.com",
|
|
84
|
+
"fields.menuOpenInNewTab": "Open in new tab",
|
|
85
|
+
"fields.menuGroupItems": "Items",
|
|
86
|
+
"fields.menuDragItem": "Drag {label}",
|
|
87
|
+
"fields.menuOpenItem": "Open {label}",
|
|
88
|
+
"fields.menuEmptyGroup": "No items in this group.",
|
|
89
|
+
"fields.menuEmpty": "No menu items yet.",
|
|
90
|
+
"fields.menuAddChild": "Add child",
|
|
91
|
+
"fields.menuMaximumLevelsHint": "Maximum {maxDepth} levels.",
|
|
92
|
+
"fields.menuRemoveTitle": "Remove “{label}”?",
|
|
93
|
+
"fields.menuRemoveDescription": "This removes the item and all its children from the draft. Press Save to persist the change.",
|
|
94
|
+
"fields.menuItemRemoved": "Menu item removed",
|
|
95
|
+
"fields.calendarHeading": "{month} {year}",
|
|
96
|
+
"fields.chooseDate": "Choose date…",
|
|
97
|
+
"fields.calendarFor": "{label} calendar",
|
|
98
|
+
"fields.previousMonth": "Previous month",
|
|
99
|
+
"fields.calendarMonth": "Calendar month",
|
|
100
|
+
"fields.calendarYear": "Calendar year",
|
|
101
|
+
"fields.nextMonth": "Next month",
|
|
102
|
+
"fields.today": "Today",
|
|
103
|
+
"fields.clear": "Clear",
|
|
104
|
+
"fields.month.january": "January",
|
|
105
|
+
"fields.month.february": "February",
|
|
106
|
+
"fields.month.march": "March",
|
|
107
|
+
"fields.month.april": "April",
|
|
108
|
+
"fields.month.may": "May",
|
|
109
|
+
"fields.month.june": "June",
|
|
110
|
+
"fields.month.july": "July",
|
|
111
|
+
"fields.month.august": "August",
|
|
112
|
+
"fields.month.september": "September",
|
|
113
|
+
"fields.month.october": "October",
|
|
114
|
+
"fields.month.november": "November",
|
|
115
|
+
"fields.month.december": "December",
|
|
116
|
+
"fields.weekday.sunday": "Sunday",
|
|
117
|
+
"fields.weekday.monday": "Monday",
|
|
118
|
+
"fields.weekday.tuesday": "Tuesday",
|
|
119
|
+
"fields.weekday.wednesday": "Wednesday",
|
|
120
|
+
"fields.weekday.thursday": "Thursday",
|
|
121
|
+
"fields.weekday.friday": "Friday",
|
|
122
|
+
"fields.weekday.saturday": "Saturday",
|
|
123
|
+
"fields.weekdayShort.sunday": "Su",
|
|
124
|
+
"fields.weekdayShort.monday": "Mo",
|
|
125
|
+
"fields.weekdayShort.tuesday": "Tu",
|
|
126
|
+
"fields.weekdayShort.wednesday": "We",
|
|
127
|
+
"fields.weekdayShort.thursday": "Th",
|
|
128
|
+
"fields.weekdayShort.friday": "Fr",
|
|
129
|
+
"fields.weekdayShort.saturday": "Sa"
|
|
130
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"local.documentTooLarge": "Document exceeds the 1 MiB limit",
|
|
3
|
+
"local.dataRequired": "Body requires a data object",
|
|
4
|
+
"local.unknownDocument": "Unknown document",
|
|
5
|
+
"local.readDocumentFailed": "Could not read document",
|
|
6
|
+
"local.documentDeveloperOnly": "Documents are created and removed by the site developer",
|
|
7
|
+
"local.unknownDocumentTarget": "Unknown document type or slug",
|
|
8
|
+
"local.saveDocumentFailed": "Could not save document",
|
|
9
|
+
"local.unknownCollectionSlug": "Unknown collection/slug",
|
|
10
|
+
"local.invalidArticle": "Invalid article",
|
|
11
|
+
"local.postExists": "A post with that slug already exists. Reload the collection and create the draft again.",
|
|
12
|
+
"local.postNotFound": "No such post",
|
|
13
|
+
"local.invalidMenuSlug": "Invalid menu slug",
|
|
14
|
+
"local.menuDeveloperOnly": "Menus are declared by the site developer. Only existing menus can be edited.",
|
|
15
|
+
"local.menuSlugMismatch": "Menu slug must match the request slug",
|
|
16
|
+
"local.menuNotFound": "No such menu",
|
|
17
|
+
"local.notFound": "Not found",
|
|
18
|
+
"local.unsupportedMedia": "Unsupported or mismatched media type/filename",
|
|
19
|
+
"local.mediaTooLarge": "Media exceeds {limit} MB",
|
|
20
|
+
"local.emptyMedia": "Empty media body",
|
|
21
|
+
"local.readImageFailed": "Could not read image body",
|
|
22
|
+
"local.emptyImage": "Empty image body",
|
|
23
|
+
"local.mediaBytesMismatch": "Media type does not match its bytes",
|
|
24
|
+
"local.saveImageFailed": "Could not save image",
|
|
25
|
+
"local.saveMetadataFailed": "Could not save metadata",
|
|
26
|
+
"local.mediaUrlRequired": "A media URL is required",
|
|
27
|
+
"local.fileNotFound": "File not found",
|
|
28
|
+
"local.deleteFileFailed": "Could not delete file. Try again.",
|
|
29
|
+
"local.missingSlug": "Missing slug",
|
|
30
|
+
"local.copyNotFound": "No copy module for {slug}",
|
|
31
|
+
"local.copyValuesNotFound": "Could not locate values block in {slug}.ts",
|
|
32
|
+
"local.unknownDocumentType": "Unknown document type {type}",
|
|
33
|
+
"local.creatingDisabled": "Creating entries is disabled for this document type",
|
|
34
|
+
"local.invalidDocumentSlug": "Invalid document slug",
|
|
35
|
+
"local.documentObjectRequired": "Document must be an object",
|
|
36
|
+
"local.documentExists": "A document with that slug already exists",
|
|
37
|
+
"local.documentNotFound": "No such document",
|
|
38
|
+
"local.writeDocumentFailed": "Could not write document",
|
|
39
|
+
"local.invalidMetadataBody": "Invalid request body",
|
|
40
|
+
"local.unknownMetadataField": "Unknown metadata field",
|
|
41
|
+
"local.unknownAsset": "Unknown asset",
|
|
42
|
+
"local.invalidDisplayName": "Invalid display name",
|
|
43
|
+
"local.metadataTitleString": "Title must be a string",
|
|
44
|
+
"local.metadataDescriptionString": "Description must be a string",
|
|
45
|
+
"local.metadataAltString": "Alt text must be a string",
|
|
46
|
+
"local.metadataAltImagesOnly": "Alt text is only available for images",
|
|
47
|
+
"local.mediaDirectoryUnavailable": "Media directory unavailable",
|
|
48
|
+
"local.menuStorageUnavailable": "Could not access menu: invalid stored data or unsafe/unavailable storage"
|
|
49
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
{
|
|
2
|
+
"media.insertMedia": "Insert media",
|
|
3
|
+
"media.image": "Image",
|
|
4
|
+
"media.video": "Video",
|
|
5
|
+
"media.insertImage": "Insert image",
|
|
6
|
+
"media.metadataSaveFailedStatus": "Metadata save failed ({status})",
|
|
7
|
+
"media.metadataSaved": "Metadata saved.",
|
|
8
|
+
"media.metadataSaveFailed": "Metadata save failed",
|
|
9
|
+
"media.deleteFailed": "Could not delete file ({status}). Try again.",
|
|
10
|
+
"media.fileDeleted": "File deleted.",
|
|
11
|
+
"media.listingUnavailable": "Media listing unavailable. Start the local dev server or rebuild the site.",
|
|
12
|
+
"media.enterVideoUrl": "Enter a video URL starting with https:// or /",
|
|
13
|
+
"media.enterImageUrl": "Enter an image URL starting with https:// or /",
|
|
14
|
+
"media.chooseVideoUrl": "Choose an MP4, WebM or MOV video URL.",
|
|
15
|
+
"media.chooseImageUrl": "Choose an image URL, not a document or other media file.",
|
|
16
|
+
"media.searchFailed": "Search failed",
|
|
17
|
+
"media.pasteVideoUrl": "Paste a {provider} video URL.",
|
|
18
|
+
"media.unsafeMediaUrl": "Unsafe media URL",
|
|
19
|
+
"media.uploadedMetadataFailed": "File uploaded, but metadata could not be saved ({status}). Retry to finish the import.",
|
|
20
|
+
"media.availableInLibrary": "Media available in the repository library.",
|
|
21
|
+
"media.photoImportFailed": "Photo import failed",
|
|
22
|
+
"media.chooseSupportedFile": "Choose a supported file up to {limit} MB with a safe filename.",
|
|
23
|
+
"media.chooseSupportedVideo": "Choose a supported video up to {limit} MB with a safe filename.",
|
|
24
|
+
"media.chooseSupportedImage": "Choose a supported image up to {limit} MB with a safe filename.",
|
|
25
|
+
"media.heading": "Media",
|
|
26
|
+
"media.upload": "Upload",
|
|
27
|
+
"media.noImage": "No image",
|
|
28
|
+
"media.choose": "Choose…",
|
|
29
|
+
"media.removeImage": "Remove image",
|
|
30
|
+
"media.repositoryWritable": "Repository media: public/{folder}. Uploads write files immediately on confirmation; content still requires Save.",
|
|
31
|
+
"media.repositorySnapshot": "Repository media: public/{folder}. Build-time snapshot. Uploads and stock imports require the local dev server; GitHub uploads are not connected.",
|
|
32
|
+
"media.view": "Media view",
|
|
33
|
+
"media.gridView": "Grid view",
|
|
34
|
+
"media.listView": "List view",
|
|
35
|
+
"media.type": "Media type",
|
|
36
|
+
"media.videoFormat": "Video format",
|
|
37
|
+
"media.imageFormat": "Image format",
|
|
38
|
+
"media.allItems": "All media items",
|
|
39
|
+
"media.allVideos": "All videos",
|
|
40
|
+
"media.allImages": "All images",
|
|
41
|
+
"media.category.Images": "Images",
|
|
42
|
+
"media.category.Audio": "Audio",
|
|
43
|
+
"media.category.Video": "Video",
|
|
44
|
+
"media.category.Documents": "Documents",
|
|
45
|
+
"media.category.Spreadsheets": "Spreadsheets",
|
|
46
|
+
"media.category.Archives": "Archives",
|
|
47
|
+
"media.category.Other": "Other",
|
|
48
|
+
"media.modifiedMonth": "Modified month",
|
|
49
|
+
"media.modifiedMonthHint": "Filesystem modified month (UTC), not upload date",
|
|
50
|
+
"media.allModifiedDates": "All modified dates",
|
|
51
|
+
"media.refresh": "Refresh",
|
|
52
|
+
"media.resetFilters": "Reset filters",
|
|
53
|
+
"media.searchMedia": "Search media",
|
|
54
|
+
"media.searchMediaPlaceholder": "Search media…",
|
|
55
|
+
"media.fileExtension": "FILE",
|
|
56
|
+
"media.library": "Media library",
|
|
57
|
+
"media.file": "File",
|
|
58
|
+
"media.fileType": "Type",
|
|
59
|
+
"media.size": "Size",
|
|
60
|
+
"media.modifiedUtc": "Modified (UTC)",
|
|
61
|
+
"media.loading": "Loading media…",
|
|
62
|
+
"media.noMatches": "No media match these filters.",
|
|
63
|
+
"media.emptyFolder": "No media in this folder yet.",
|
|
64
|
+
"media.editVideo": "Edit video",
|
|
65
|
+
"media.addVideoLink": "Add video link",
|
|
66
|
+
"media.uploadMedia": "Upload media",
|
|
67
|
+
"media.chooseVideo": "Choose video",
|
|
68
|
+
"media.chooseImage": "Choose image",
|
|
69
|
+
"media.editProviderVideo": "Edit {provider} video",
|
|
70
|
+
"media.addProviderVideo": "Add {provider} video",
|
|
71
|
+
"media.previewMedia": "Preview media",
|
|
72
|
+
"media.close": "Close",
|
|
73
|
+
"media.pdfPreview": "PDF preview",
|
|
74
|
+
"media.textPreview": "Text preview",
|
|
75
|
+
"media.selectedImagePreview": "Selected image preview",
|
|
76
|
+
"media.displayName": "Display name",
|
|
77
|
+
"media.mediaDisplayName": "Media display name",
|
|
78
|
+
"media.decorativeAlt": "Alt text (leave empty if decorative)",
|
|
79
|
+
"media.imageAlt": "Image alt text",
|
|
80
|
+
"media.alt": "Alt text",
|
|
81
|
+
"media.mediaAlt": "Media alt text",
|
|
82
|
+
"media.title": "Title",
|
|
83
|
+
"media.imageTitle": "Image title",
|
|
84
|
+
"media.mediaTitle": "Media title",
|
|
85
|
+
"media.description": "Description",
|
|
86
|
+
"media.imageDescription": "Image description",
|
|
87
|
+
"media.mediaDescription": "Media description",
|
|
88
|
+
"media.author": "Author: {author}",
|
|
89
|
+
"media.localUser": "Local user",
|
|
90
|
+
"media.videoUrl": "Video URL",
|
|
91
|
+
"media.imageUrl": "Image URL",
|
|
92
|
+
"media.captionOptional": "Caption (optional)",
|
|
93
|
+
"media.descriptiveAlt": "Alt text (describe the image; leave empty if decorative)",
|
|
94
|
+
"media.videoCaption": "Video caption",
|
|
95
|
+
"media.muted": "Muted",
|
|
96
|
+
"media.showControls": "Show controls",
|
|
97
|
+
"media.confirmUpload": "Confirmation uploads this file into the repository media folder. Content still requires Save.",
|
|
98
|
+
"media.confirmDownload": "Confirmation downloads this file into the repository media folder. Content still requires Save.",
|
|
99
|
+
"media.downloadFile": "Download file",
|
|
100
|
+
"media.deleteFile": "Delete file",
|
|
101
|
+
"media.filePath": "Media file path",
|
|
102
|
+
"media.cancel": "Cancel",
|
|
103
|
+
"media.saving": "Saving…",
|
|
104
|
+
"media.save": "Save",
|
|
105
|
+
"media.back": "Back",
|
|
106
|
+
"media.done": "Done",
|
|
107
|
+
"media.uploadingVideo": "Uploading video…",
|
|
108
|
+
"media.importingPhoto": "Importing photo…",
|
|
109
|
+
"media.useVideo": "Use video",
|
|
110
|
+
"media.uploadFile": "Upload file",
|
|
111
|
+
"media.importImage": "Import image",
|
|
112
|
+
"media.videoSources": "Video sources",
|
|
113
|
+
"media.imageSources": "Image sources",
|
|
114
|
+
"media.source.library": "library",
|
|
115
|
+
"media.source.upload": "upload",
|
|
116
|
+
"media.source.url": "url",
|
|
117
|
+
"media.unsplashUploadsHint": "Unsplash API photos require hotlinking and are available only when inserting images into content, not as repository uploads.",
|
|
118
|
+
"media.providerLinkHint": "Paste a {provider} link. Privacy-enhanced mode is enabled by default.",
|
|
119
|
+
"media.accessibleTitle": "Title for accessibility (optional)",
|
|
120
|
+
"media.privacyEnhanced": "Privacy-enhanced (no cookies until play)",
|
|
121
|
+
"media.updateVideo": "Update video",
|
|
122
|
+
"media.insert": "Insert",
|
|
123
|
+
"media.localFileHint": "Choose a local file, then preview and confirm. Nothing is uploaded until confirmation.",
|
|
124
|
+
"media.uploadVideoLimit": "Upload video (MP4, WebM, MOV) · {limit} MB maximum",
|
|
125
|
+
"media.uploadMediaLimit": "Upload media (images, audio, video, documents, spreadsheets, archives) · {limit} MB maximum",
|
|
126
|
+
"media.uploadImageLimit": "Upload image (JPEG, PNG, WebP, GIF, AVIF) · {limit} MB maximum",
|
|
127
|
+
"media.readOnlyUploads": "Local uploads require the local dev server. This library is read-only.",
|
|
128
|
+
"media.videoUrlPlaceholder": "https://… or /media/video.mp4",
|
|
129
|
+
"media.imageUrlPlaceholder": "https://… or /images/photo.jpg",
|
|
130
|
+
"media.useUrl": "Use this URL",
|
|
131
|
+
"media.picsumHint": "Placeholder photos from Lorem Picsum (seed, not semantic search).",
|
|
132
|
+
"media.unsplashHint": "Unsplash photos stay linked to Unsplash; selection records a download.",
|
|
133
|
+
"media.stockImportHint": "Import selected photos into the media folder (local dev only).",
|
|
134
|
+
"media.searchPhotos": "Search photos",
|
|
135
|
+
"media.searchPhotosPlaceholder": "Search photos…",
|
|
136
|
+
"media.search": "Search",
|
|
137
|
+
"media.noPhotos": "No photos found. Try another search.",
|
|
138
|
+
"media.deleteTitle": "Delete “{name}”?",
|
|
139
|
+
"media.deleteDescription": "This permanently deletes the file and its metadata. This cannot be undone. Any pages using this file will have broken media or links.",
|
|
140
|
+
"media.pexelsKeyPlaceholder": "e.g. Ab3dE6fG9hJ2…",
|
|
141
|
+
"media.pixabayKeyPlaceholder": "e.g. 12345678-abcdef012345…",
|
|
142
|
+
"media.unsplashKeyPlaceholder": "e.g. AbCdEf12_GhIjKl34…",
|
|
143
|
+
"media.providerStatus": "{provider} {status}",
|
|
144
|
+
"media.pixabayKeyRequired": "Add a Pixabay API key in Settings → Media",
|
|
145
|
+
"media.unsplashKeyRequired": "Add an Unsplash API key in Settings",
|
|
146
|
+
"media.pexelsKeyRequired": "Add a Pexels API key in Settings → Media",
|
|
147
|
+
"media.unknownStockProvider": "Unknown stock photo provider",
|
|
148
|
+
"media.unexpectedStockUrl": "Unexpected stock photo URL",
|
|
149
|
+
"media.unsplashPhotoMissing": "Unsplash photo or API key is missing",
|
|
150
|
+
"media.unsplashTrackingFailed": "Unsplash download tracking failed ({status})",
|
|
151
|
+
"media.unsafeImageUrl": "Unsafe image URL",
|
|
152
|
+
"media.remoteRequiresHttps": "Remote imports require HTTPS",
|
|
153
|
+
"media.unsplashHotlinkRequired": "Unsplash API images must stay hotlinked. Use Unsplash in the content image picker.",
|
|
154
|
+
"media.imageDownloadFailed": "Image download failed. The source must allow browser downloads (CORS); alternatively upload the image file.",
|
|
155
|
+
"media.photoDownloadFailed": "Photo download failed ({status})",
|
|
156
|
+
"media.photoLimitExceeded": "Photo exceeds the {limit} MB import limit",
|
|
157
|
+
"media.chooseImageFormat": "Choose a JPEG, PNG or WebP image.",
|
|
158
|
+
"media.emptyDownload": "Empty image download",
|
|
159
|
+
"media.uploadFailed": "Upload failed ({status}): {body}",
|
|
160
|
+
"media.invalidUploadedUrl": "Invalid uploaded asset URL",
|
|
161
|
+
"media.localImportRequired": "Photo import requires the local dev server",
|
|
162
|
+
"media.photoImportFailedStatus": "Photo import failed ({status})",
|
|
163
|
+
"media.invalidImportedUrl": "Invalid imported photo URL",
|
|
164
|
+
"media.providerVideo": "{provider} Video",
|
|
165
|
+
"media.embedCaption": "{provider} · {title}"
|
|
166
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"richtext.bold": "Bold",
|
|
3
|
+
"richtext.italic": "Italic",
|
|
4
|
+
"richtext.inlineCode": "Inline code",
|
|
5
|
+
"richtext.strikethrough": "Strikethrough",
|
|
6
|
+
"richtext.underline": "Underline",
|
|
7
|
+
"richtext.highlight": "Highlight",
|
|
8
|
+
"richtext.subscript": "Subscript",
|
|
9
|
+
"richtext.superscript": "Superscript",
|
|
10
|
+
"richtext.video": "Video",
|
|
11
|
+
"richtext.youtube": "YouTube",
|
|
12
|
+
"richtext.vimeo": "Vimeo",
|
|
13
|
+
"richtext.body": "Body",
|
|
14
|
+
"richtext.loadArticleError": "Unable to load article",
|
|
15
|
+
"richtext.safeUrlError": "Enter a safe http, https, mailto or relative URL.",
|
|
16
|
+
"richtext.link": "Link",
|
|
17
|
+
"richtext.moreFormatting": "More formatting",
|
|
18
|
+
"richtext.tableControls": "Table controls",
|
|
19
|
+
"richtext.addRowBelow": "Add row below",
|
|
20
|
+
"richtext.addColumnRight": "Add column right",
|
|
21
|
+
"richtext.removeRow": "Remove row",
|
|
22
|
+
"richtext.removeColumn": "Remove column",
|
|
23
|
+
"richtext.headerRow": "Header row",
|
|
24
|
+
"richtext.imageEditing": "Image editing",
|
|
25
|
+
"richtext.bodyFormatting": "Body formatting",
|
|
26
|
+
"richtext.editAltText": "Edit alt text",
|
|
27
|
+
"richtext.editImageLink": "Edit image link",
|
|
28
|
+
"richtext.addImageLink": "Add image link",
|
|
29
|
+
"richtext.blockType": "Block type",
|
|
30
|
+
"richtext.replaceImage": "Replace image",
|
|
31
|
+
"richtext.insertMedia": "Insert media",
|
|
32
|
+
"richtext.table": "Table",
|
|
33
|
+
"richtext.bulletedList": "Bulleted list",
|
|
34
|
+
"richtext.numberedList": "Numbered list",
|
|
35
|
+
"richtext.undo": "Undo",
|
|
36
|
+
"richtext.redo": "Redo",
|
|
37
|
+
"richtext.addBlock": "Add block",
|
|
38
|
+
"richtext.moreActions": "More actions",
|
|
39
|
+
"richtext.viewAsMarkdown": "View as Markdown",
|
|
40
|
+
"richtext.editLink": "Edit link",
|
|
41
|
+
"richtext.linkUrl": "Link URL",
|
|
42
|
+
"richtext.applyLink": "Apply link",
|
|
43
|
+
"richtext.removeLink": "Remove link",
|
|
44
|
+
"richtext.closeLink": "Close link",
|
|
45
|
+
"richtext.editImageAltText": "Edit image alt text",
|
|
46
|
+
"richtext.decorativeAltText": "Alt text (leave empty if decorative)",
|
|
47
|
+
"richtext.imageAltText": "Image alt text",
|
|
48
|
+
"richtext.applyAltText": "Apply alt text",
|
|
49
|
+
"richtext.closeAltText": "Close alt text",
|
|
50
|
+
"richtext.selectedTextFormatting": "Selected text formatting",
|
|
51
|
+
"richtext.closeMarkdownView": "Close Markdown view",
|
|
52
|
+
"richtext.bodyAsMarkdown": "Body as Markdown",
|
|
53
|
+
"richtext.articleBlocks": "Article blocks",
|
|
54
|
+
"richtext.insertParagraphHere": "Insert paragraph here",
|
|
55
|
+
"richtext.insertParagraph": "Insert paragraph",
|
|
56
|
+
"richtext.blockOptionsHandle": "Block options and drag handle",
|
|
57
|
+
"richtext.dragBlockHint": "Drag to reorder; click for block options",
|
|
58
|
+
"richtext.insertBlock": "Insert block",
|
|
59
|
+
"richtext.chooseBlock": "Choose a block",
|
|
60
|
+
"richtext.findBlock": "Find a block",
|
|
61
|
+
"richtext.findBlockPlaceholder": "Find a block…",
|
|
62
|
+
"richtext.noMatchingBlocks": "No matching blocks.",
|
|
63
|
+
"richtext.addTable": "Add table",
|
|
64
|
+
"richtext.blockOptions": "Block options",
|
|
65
|
+
"richtext.duplicateBlock": "Duplicate block",
|
|
66
|
+
"richtext.deleteBlock": "Delete block",
|
|
67
|
+
"richtext.moveUp": "Move up",
|
|
68
|
+
"richtext.moveDown": "Move down",
|
|
69
|
+
"richtext.convertBlockType": "Convert block type",
|
|
70
|
+
"richtext.code": "Code",
|
|
71
|
+
"richtext.bulletList": "Bullet list",
|
|
72
|
+
"richtext.quote": "Quote",
|
|
73
|
+
"richtext.unsupportedMarkdown": "This Markdown contains formatting the visual editor cannot safely preserve. Edit the original source below; nothing has been converted.",
|
|
74
|
+
"richtext.visual": "Visual",
|
|
75
|
+
"richtext.markdown": "Markdown",
|
|
76
|
+
"richtext.textStyle": "Text style",
|
|
77
|
+
"richtext.paragraph": "Paragraph",
|
|
78
|
+
"richtext.codeBlock": "Code block",
|
|
79
|
+
"richtext.textFormatting": "Text formatting",
|
|
80
|
+
"richtext.listsAndQuote": "Lists and quote",
|
|
81
|
+
"richtext.image": "Image",
|
|
82
|
+
"richtext.divider": "Divider",
|
|
83
|
+
"richtext.pageLoadError": "The page could not be loaded in the preview.",
|
|
84
|
+
"richtext.liveEditingUnavailable": "This page isn’t set up for live editing. Changes won’t appear in this preview.",
|
|
85
|
+
"richtext.previewUnavailable": "Preview unavailable",
|
|
86
|
+
"richtext.previewMode": "Preview mode",
|
|
87
|
+
"richtext.browse": "Browse",
|
|
88
|
+
"richtext.edit": "Edit",
|
|
89
|
+
"richtext.editPreviewHint": "Click a region to edit it. Scripts, forms and links stay disabled.",
|
|
90
|
+
"richtext.browsePreviewHint": "Scripts, forms and links are disabled in this preview.",
|
|
91
|
+
"richtext.previewOnWebsite": "Preview on website",
|
|
92
|
+
"richtext.togglePropertiesPanel": "Toggle properties panel",
|
|
93
|
+
"richtext.newPagePreviewHint": "New page — Save writes the file. The route renders once the site has it.",
|
|
94
|
+
"richtext.noDocumentPreview": "No preview URL is mapped to this document. Use the properties panel to edit.",
|
|
95
|
+
"richtext.websitePageEditor": "Website page editor",
|
|
96
|
+
"richtext.editText": "Edit text",
|
|
97
|
+
"richtext.propertiesPanelWidth": "Properties panel width",
|
|
98
|
+
"richtext.preparedPageLoadError": "The prepared page could not be loaded. Check its URL and framing headers.",
|
|
99
|
+
"richtext.previewTimeout": "The preview took too long to load. Check its URL and try again.",
|
|
100
|
+
"richtext.loadingPreview": "Loading preview…",
|
|
101
|
+
"richtext.preparedPageUnavailable": "The prepared page could not be loaded.",
|
|
102
|
+
"richtext.noPreparedAnchors": "This page has no prepared Rigel anchors.",
|
|
103
|
+
"richtext.websitePreview": "Website preview",
|
|
104
|
+
"richtext.liveDraftPreview": "Live website draft preview",
|
|
105
|
+
"richtext.preparedTemplateHint": "Prepared template · Scripts, navigation and forms disabled. Unanchored fields and lists are not previewed.",
|
|
106
|
+
"richtext.menuPreviewUnsupported": "Menu preview is not supported.",
|
|
107
|
+
"richtext.noContentPreview": "No prepared preview URL is mapped to this content.",
|
|
108
|
+
"richtext.previewFetchError": "Draft preview could not be fetched. Check the URL, HTTPS, CORS (Access-Control-Allow-Origin for this editor), redirects and the editor’s connect-src policy. Authentication cookies are not sent.",
|
|
109
|
+
"richtext.previewHtmlError": "Draft preview did not return HTML. Check the mapped route and Content-Type header.",
|
|
110
|
+
"richtext.heading": "Heading {level}",
|
|
111
|
+
"richtext.editingMode": "{label} editing mode",
|
|
112
|
+
"richtext.formatting": "{label} formatting",
|
|
113
|
+
"richtext.markdownSource": "{label} Markdown source",
|
|
114
|
+
"richtext.panelPixels": "{width} pixels",
|
|
115
|
+
"richtext.previewHttpError": "Draft preview returned HTTP {status}. Check the draft deployment and mapped route."
|
|
116
|
+
}
|