@morphemecms/cms 0.5.0 → 0.7.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/CHANGELOG.md +16 -0
- package/astro.mjs +3 -0
- package/bin/morpheme.mjs +3 -1
- package/defaults/blockTexts.ts +2 -2
- package/defaults/collections.ts +10 -0
- package/defaults/editor.ts +57 -53
- package/defaults/privacy.ts +4 -1
- package/defaults/rules.ts +36 -38
- package/defaults/standardPages.ts +0 -3
- package/defaults/texts.ts +11 -2
- package/demo/src/content/pages/about.md +2 -0
- package/icons/lucide/browser-fill.svg +1 -0
- package/icons/lucide/buildings-fill.svg +1 -0
- package/icons/lucide/certificate-fill.svg +1 -0
- package/icons/lucide/chart-line-up-fill.svg +1 -0
- package/icons/lucide/chats-fill.svg +1 -0
- package/icons/lucide/envelope-simple-fill.svg +1 -0
- package/icons/lucide/file-text-fill.svg +1 -0
- package/icons/lucide/folder-simple-fill.svg +1 -0
- package/icons/lucide/gauge.svg +1 -1
- package/icons/lucide/gear-six.svg +1 -0
- package/icons/lucide/globe-simple.svg +1 -0
- package/icons/lucide/heart-fill.svg +1 -0
- package/icons/lucide/layout.svg +1 -0
- package/icons/lucide/list-checks-fill.svg +1 -0
- package/icons/lucide/magnifying-glass-fill.svg +1 -0
- package/icons/lucide/megaphone-fill.svg +1 -0
- package/icons/lucide/newspaper-fill.svg +1 -0
- package/icons/lucide/paint-brush-broad-fill.svg +1 -0
- package/icons/lucide/puzzle-piece-fill.svg +1 -0
- package/icons/lucide/shield-check-fill.svg +1 -0
- package/icons/lucide/sidebar-simple.svg +1 -1
- package/icons/lucide/sidebar.svg +1 -0
- package/icons/lucide/square-half-bottom-fill.svg +1 -0
- package/icons/lucide/square-half.svg +1 -0
- package/icons/lucide/squares-four-fill.svg +1 -0
- package/icons/lucide/storefront-fill.svg +1 -0
- package/icons/lucide/tag-fill.svg +1 -0
- package/icons/lucide/toggle-right-fill.svg +1 -0
- package/icons/lucide/trash-fill.svg +1 -0
- package/icons/lucide/user-fill.svg +1 -0
- package/icons/lucide/wrench-fill.svg +1 -0
- package/icons/material-symbols/browser-fill.svg +1 -0
- package/icons/material-symbols/buildings-fill.svg +1 -0
- package/icons/material-symbols/certificate-fill.svg +1 -0
- package/icons/material-symbols/chart-line-up-fill.svg +1 -0
- package/icons/material-symbols/chats-fill.svg +1 -0
- package/icons/material-symbols/envelope-simple-fill.svg +1 -0
- package/icons/material-symbols/file-text-fill.svg +1 -0
- package/icons/material-symbols/folder-simple-fill.svg +1 -0
- package/icons/material-symbols/gauge.svg +1 -1
- package/icons/material-symbols/gear-six.svg +1 -0
- package/icons/material-symbols/globe-simple.svg +1 -0
- package/icons/material-symbols/heart-fill.svg +1 -0
- package/icons/material-symbols/layout.svg +1 -0
- package/icons/material-symbols/list-checks-fill.svg +1 -0
- package/icons/material-symbols/magnifying-glass-fill.svg +1 -0
- package/icons/material-symbols/megaphone-fill.svg +1 -0
- package/icons/material-symbols/newspaper-fill.svg +1 -0
- package/icons/material-symbols/paint-brush-broad-fill.svg +1 -0
- package/icons/material-symbols/puzzle-piece-fill.svg +1 -0
- package/icons/material-symbols/shield-check-fill.svg +1 -0
- package/icons/material-symbols/sidebar-simple.svg +1 -1
- package/icons/material-symbols/sidebar.svg +1 -0
- package/icons/material-symbols/square-half-bottom-fill.svg +1 -0
- package/icons/material-symbols/square-half.svg +1 -0
- package/icons/material-symbols/squares-four-fill.svg +1 -0
- package/icons/material-symbols/storefront-fill.svg +1 -0
- package/icons/material-symbols/tag-fill.svg +1 -0
- package/icons/material-symbols/toggle-right-fill.svg +1 -0
- package/icons/material-symbols/trash-fill.svg +1 -0
- package/icons/material-symbols/user-fill.svg +1 -0
- package/icons/material-symbols/wrench-fill.svg +1 -0
- package/icons/phosphor/browser-fill.svg +1 -0
- package/icons/phosphor/buildings-fill.svg +1 -0
- package/icons/phosphor/certificate-fill.svg +1 -0
- package/icons/phosphor/chart-line-up-fill.svg +1 -0
- package/icons/phosphor/chats-fill.svg +1 -0
- package/icons/phosphor/envelope-simple-fill.svg +1 -0
- package/icons/phosphor/file-text-fill.svg +1 -0
- package/icons/phosphor/folder-simple-fill.svg +1 -0
- package/icons/phosphor/gear-six.svg +1 -0
- package/icons/phosphor/globe-simple.svg +1 -0
- package/icons/phosphor/heart-fill.svg +1 -0
- package/icons/phosphor/layout.svg +1 -0
- package/icons/phosphor/list-checks-fill.svg +1 -0
- package/icons/phosphor/magnifying-glass-fill.svg +1 -0
- package/icons/phosphor/megaphone-fill.svg +1 -0
- package/icons/phosphor/newspaper-fill.svg +1 -0
- package/icons/phosphor/paint-brush-broad-fill.svg +1 -0
- package/icons/phosphor/puzzle-piece-fill.svg +1 -0
- package/icons/phosphor/shield-check-fill.svg +1 -0
- package/icons/phosphor/sidebar.svg +1 -0
- package/icons/phosphor/square-half-bottom-fill.svg +1 -0
- package/icons/phosphor/square-half.svg +1 -0
- package/icons/phosphor/squares-four-fill.svg +1 -0
- package/icons/phosphor/storefront-fill.svg +1 -0
- package/icons/phosphor/tag-fill.svg +1 -0
- package/icons/phosphor/toggle-right-fill.svg +1 -0
- package/icons/phosphor/trash-fill.svg +1 -0
- package/icons/phosphor/user-fill.svg +1 -0
- package/icons/phosphor/wrench-fill.svg +1 -0
- package/lib/breakpoints.d.mts +13 -0
- package/lib/breakpoints.mjs +20 -0
- package/lib/breakpoints.test.mjs +39 -0
- package/lib/build-lane.d.mts +15 -0
- package/lib/build-lane.mjs +23 -0
- package/lib/build-lane.test.mjs +74 -0
- package/lib/build-settings.d.mts +16 -0
- package/lib/build-settings.mjs +39 -0
- package/lib/build-settings.test.mjs +41 -0
- package/lib/contracts.d.mts +3 -2
- package/lib/contracts.mjs +3 -2
- package/lib/drawer-swipe.d.mts +10 -0
- package/lib/drawer-swipe.mjs +17 -0
- package/lib/drawer-swipe.test.mjs +33 -0
- package/lib/drawerKeys.d.mts +9 -0
- package/lib/drawerKeys.mjs +26 -0
- package/lib/drawerKeys.test.mjs +21 -0
- package/lib/eyebrow.d.mts +6 -0
- package/lib/eyebrow.mjs +24 -0
- package/lib/eyebrow.test.mjs +20 -0
- package/lib/front-sections.test.mjs +82 -0
- package/lib/heading-levels.d.mts +7 -0
- package/lib/heading-levels.mjs +16 -0
- package/lib/heading-levels.test.mjs +37 -0
- package/lib/inline.ts +3 -2
- package/lib/markdown.ts +2 -0
- package/lib/materialIcon.d.mts +21 -0
- package/lib/materialIcon.mjs +29 -0
- package/lib/materialIcon.test.mjs +45 -0
- package/lib/menu-layout.d.mts +11 -0
- package/lib/menu-layout.mjs +14 -0
- package/lib/menu-layout.test.mjs +23 -0
- package/lib/menu.d.mts +59 -0
- package/lib/menu.mjs +129 -0
- package/lib/menu.test.mjs +291 -0
- package/lib/rehype-emphasize.d.mts +4 -0
- package/lib/rehype-emphasize.mjs +20 -0
- package/lib/rehype-emphasize.test.mjs +39 -0
- package/lib/section-in-view.d.mts +8 -0
- package/lib/section-in-view.mjs +25 -0
- package/lib/section-in-view.test.mjs +35 -0
- package/lib/section-marker.d.mts +5 -0
- package/lib/section-marker.mjs +18 -0
- package/lib/section-marker.test.mjs +22 -0
- package/lib/section-ranges.d.mts +12 -0
- package/lib/section-ranges.mjs +43 -0
- package/lib/section-ranges.test.mjs +61 -0
- package/lib/sheet-stops.d.mts +68 -0
- package/lib/sheet-stops.mjs +198 -0
- package/lib/sheet-stops.test.mjs +155 -0
- package/lib/still-timer.d.mts +5 -0
- package/lib/still-timer.mjs +17 -0
- package/lib/still-timer.test.mjs +42 -0
- package/lib/text-sections.d.mts +10 -0
- package/lib/text-sections.mjs +45 -0
- package/lib/text-sections.test.mjs +78 -0
- package/lib/video.mjs +2 -1
- package/lib/without-h1.d.mts +1 -0
- package/lib/without-h1.mjs +7 -0
- package/lib/without-h1.test.mjs +26 -0
- package/lib/word-at.d.mts +6 -0
- package/lib/word-at.mjs +20 -0
- package/lib/word-at.test.mjs +19 -0
- package/package.json +3 -1
- package/pages/editor/version.json.js +22 -2
- package/scripts/already-checked.mjs +11 -0
- package/scripts/already-checked.test.mjs +18 -0
- package/scripts/build-settings-problems.mjs +27 -0
- package/scripts/build-settings-problems.test.mjs +35 -0
- package/scripts/check-content.mjs +42 -4
- package/scripts/check-worker.mjs +96 -4
- package/scripts/ci-build.mjs +85 -0
- package/scripts/ci-build.test.mjs +137 -0
- package/scripts/editor-roundtrip.mjs +62 -3
- package/scripts/editor-screens.mjs +21 -7
- package/scripts/git-env.mjs +6 -0
- package/scripts/step-command.mjs +34 -0
- package/scripts/step-command.test.mjs +50 -0
- package/scripts/text-problems.mjs +83 -0
- package/scripts/text-problems.test.mjs +74 -0
- package/scripts/worker-modules.mjs +11 -1
- package/site/breakpoints.d.mts +6 -0
- package/site/breakpoints.mjs +52 -0
- package/site/breakpoints.test.mjs +36 -0
- package/site/casing.d.mts +3 -0
- package/site/casing.mjs +26 -0
- package/site/content.config.ts +2 -0
- package/site/content.ts +2 -4
- package/site/defineSite.d.mts +1 -0
- package/site/defineSite.mjs +3 -0
- package/site/home.ts +3 -2
- package/site/icons.d.mts +116 -4
- package/site/icons.mjs +62 -6
- package/site/images.mjs +1 -1
- package/site/live-diff.d.mts +22 -0
- package/site/live-diff.mjs +98 -0
- package/site/live-diff.test.mjs +235 -0
- package/site/materialSymbols.d.mts +5 -0
- package/site/materialSymbols.mjs +19 -0
- package/site/sections.ts +1 -1
- package/site/theme.d.mts +1 -1
- package/site/theme.mjs +7 -1
- package/src/ActionParts.tsx +1 -1
- package/src/Advanced.tsx +101 -20
- package/src/App.tsx +47 -121
- package/src/AppList.tsx +1 -1
- package/src/BlockParts.tsx +3 -3
- package/src/Colors.tsx +1 -1
- package/src/CommunicationParts.tsx +1 -1
- package/src/ContainmentParts.tsx +80 -28
- package/src/Deleted.tsx +18 -4
- package/src/EditorFooter.tsx +14 -0
- package/src/EntryForm.tsx +75 -39
- package/src/FormFrame.tsx +3 -8
- package/src/Library.tsx +46 -51
- package/src/Licenses.tsx +27 -11
- package/src/MainDrawerParts.tsx +60 -0
- package/src/MainMenu.tsx +136 -0
- package/src/MarkdownEditor.tsx +175 -32
- package/src/Media.tsx +69 -16
- package/src/MediaTags.tsx +91 -0
- package/src/ModalSheetSample.tsx +47 -0
- package/src/NavigationParts.tsx +67 -21
- package/src/NavigationRestParts.tsx +1 -1
- package/src/Parts.tsx +71 -0
- package/src/PartsShown.tsx +1 -1
- package/src/PickerParts.tsx +2 -2
- package/src/Redirects.tsx +3 -2
- package/src/Screen.tsx +93 -90
- package/src/SelectionParts.tsx +22 -6
- package/src/SiteLogoLink.tsx +14 -0
- package/src/StartFab.tsx +22 -0
- package/src/StartStatus.tsx +1 -1
- package/src/autoTags.d.mts +28 -0
- package/src/autoTags.mjs +68 -0
- package/src/autoTags.test.mjs +109 -0
- package/src/buildSettings.test.mjs +20 -0
- package/src/buildSettings.ts +20 -0
- package/src/checkSite.ts +14 -1
- package/src/deploy.ts +7 -9
- package/src/editor.css +150 -17
- package/src/eyebrow.d.mts +5 -0
- package/src/eyebrow.mjs +53 -0
- package/src/eyebrowState.d.mts +21 -0
- package/src/eyebrowState.mjs +62 -0
- package/src/eyebrowState.test.mjs +78 -0
- package/src/fileRecords.d.mts +115 -0
- package/src/fileRecords.mjs +224 -0
- package/src/fileRecords.test.mjs +224 -0
- package/src/fileTagFilter.d.mts +30 -0
- package/src/fileTagFilter.mjs +44 -0
- package/src/fileTagFilter.test.mjs +57 -0
- package/src/fileTags.d.mts +56 -0
- package/src/fileTags.mjs +100 -0
- package/src/fileTags.test.mjs +127 -0
- package/src/firstHeading.d.mts +6 -0
- package/src/firstHeading.mjs +37 -0
- package/src/i18n/da-DK/advanced.ts +27 -12
- package/src/i18n/da-DK/app.ts +9 -7
- package/src/i18n/da-DK/apps.ts +16 -16
- package/src/i18n/da-DK/blockSettings.ts +9 -9
- package/src/i18n/da-DK/blocks.ts +2 -2
- package/src/i18n/da-DK/check.ts +5 -2
- package/src/i18n/da-DK/cms.ts +14 -12
- package/src/i18n/da-DK/colors.ts +5 -5
- package/src/i18n/da-DK/common.ts +2 -2
- package/src/i18n/da-DK/company.ts +3 -3
- package/src/i18n/da-DK/consents.ts +6 -6
- package/src/i18n/da-DK/forms.ts +6 -6
- package/src/i18n/da-DK/history.ts +6 -6
- package/src/i18n/da-DK/keywords.ts +2 -2
- package/src/i18n/da-DK/library.ts +17 -15
- package/src/i18n/da-DK/licenses.ts +4 -4
- package/src/i18n/da-DK/media.ts +10 -4
- package/src/i18n/da-DK/parts.ts +62 -25
- package/src/i18n/da-DK/preview.ts +5 -6
- package/src/i18n/da-DK/redirects.ts +7 -7
- package/src/i18n/da-DK/seo.ts +1 -1
- package/src/i18n/da-DK/text.ts +2 -0
- package/src/i18n/da-DK/theme.ts +5 -5
- package/src/i18n/en-US/advanced.ts +34 -18
- package/src/i18n/en-US/app.ts +7 -5
- package/src/i18n/en-US/apps.ts +9 -9
- package/src/i18n/en-US/blockSettings.ts +4 -4
- package/src/i18n/en-US/blocks.ts +6 -6
- package/src/i18n/en-US/check.ts +6 -3
- package/src/i18n/en-US/cms.ts +15 -14
- package/src/i18n/en-US/colors.ts +18 -18
- package/src/i18n/en-US/common.ts +3 -3
- package/src/i18n/en-US/consents.ts +4 -4
- package/src/i18n/en-US/forms.ts +5 -5
- package/src/i18n/en-US/history.ts +2 -2
- package/src/i18n/en-US/library.ts +21 -15
- package/src/i18n/en-US/licenses.ts +6 -6
- package/src/i18n/en-US/media.ts +7 -1
- package/src/i18n/en-US/parts.ts +60 -21
- package/src/i18n/en-US/preview.ts +5 -6
- package/src/i18n/en-US/redirects.ts +3 -3
- package/src/i18n/en-US/seo.ts +1 -1
- package/src/i18n/en-US/text.ts +3 -0
- package/src/i18n/en-US/theme.ts +6 -6
- package/src/icon.tsx +90 -27
- package/src/licenseData.test.mjs +28 -0
- package/src/licenseData.ts +12 -1
- package/src/markdown.d.mts +2 -0
- package/src/markdown.mjs +73 -5
- package/src/markdown.test.mjs +74 -0
- package/src/materialIcons.ts +8 -0
- package/src/menuChildren.ts +36 -0
- package/src/menuOpen.ts +34 -0
- package/src/pagePreview.tsx +23 -19
- package/src/r2Caching.ts +14 -0
- package/src/sectionFrame.ts +39 -0
- package/src/sectionState.d.mts +19 -0
- package/src/sectionState.mjs +31 -0
- package/src/sectionState.test.mjs +59 -0
- package/src/sections.d.mts +9 -7
- package/src/sections.mjs +74 -27
- package/src/sections.test.mjs +59 -0
- package/src/sidebar.ts +2 -2
- package/src/site.ts +27 -17
- package/src/stillCursor.d.mts +8 -0
- package/src/stillCursor.mjs +19 -0
- package/src/stillCursor.test.mjs +26 -0
- package/src/tagUses.d.mts +47 -0
- package/src/tagUses.mjs +121 -0
- package/src/tagUses.test.mjs +141 -0
- package/src/themeUi.ts +10 -0
- package/src/topBarSlot.tsx +37 -0
- package/src/ui.tsx +654 -150
- package/src/virtual.d.ts +5 -0
- package/starter/README.md +2 -1
- package/starter/package.json +2 -1
- package/starter/wrangler.jsonc +3 -2
- package/theme/blocks/cards/LinkCards.tsx +2 -1
- package/theme/blocks/hero/View.tsx +2 -1
- package/theme/blocks/video/View.tsx +2 -1
- package/theme/components/BlogIndex.astro +2 -2
- package/theme/components/BlogPosts.astro +1 -1
- package/theme/components/BlogPosts.tsx +9 -6
- package/theme/components/Container.astro +1 -1
- package/theme/components/CookieConsent.astro +1 -1
- package/theme/components/EndBlock.astro +1 -1
- package/theme/components/Footer.astro +5 -5
- package/theme/components/Header.astro +3 -3
- package/theme/components/Icon.astro +2 -2
- package/theme/components/MobileMenu.tsx +72 -61
- package/theme/components/MobileNav.astro +2 -2
- package/theme/components/PageHeader.astro +2 -2
- package/theme/components/PageSection.astro +1 -1
- package/theme/components/PopupButton.tsx +2 -2
- package/theme/components/PopupView.tsx +2 -2
- package/theme/components/PostList.tsx +7 -3
- package/theme/components/RichText.astro +22 -7
- package/theme/components/Section.astro +17 -10
- package/theme/components/SectionHeading.tsx +1 -1
- package/theme/components/home/PageBlock.astro +4 -4
- package/theme/components/home/Text.astro +3 -3
- package/theme/layouts/PageLayout.astro +3 -3
- package/theme/layouts/PostLayout.astro +9 -8
- package/theme/styles/base.css +13 -3
- package/theme/styles/blocks.css +97 -10
- package/theme/styles/components.css +9 -9
- package/theme/styles/elevation.test.mjs +168 -0
- package/theme/styles/global.css +65 -59
- package/theme/styles/ui.css +460 -131
- package/theme/templates/Home.astro +1 -1
- package/theme/templates/New.astro +5 -5
- package/theme/templates/NotFound.astro +2 -2
- package/theme/ui/BottomSheet.tsx +118 -21
- package/theme/ui/BottomSheetResizeIcon.tsx +13 -0
- package/theme/ui/Button.tsx +4 -3
- package/theme/ui/Dialog.tsx +1 -1
- package/theme/ui/FabMenu.tsx +13 -12
- package/theme/ui/LoadingIndicator.tsx +1 -1
- package/theme/ui/NavigationDrawer.tsx +116 -15
- package/theme/ui/NavigationRail.tsx +22 -13
- package/theme/ui/Search.tsx +1 -1
- package/theme/ui/SettingRow.tsx +31 -0
- package/theme/ui/Switch.tsx +11 -11
- package/theme/ui/TextField.tsx +17 -6
- package/theme/ui/bottomSheet.script.ts +3 -2
- package/theme/ui/bottomSheetControl.ts +131 -46
- package/theme/ui/fabMenu.script.ts +69 -53
- package/theme/ui/modalSheetSize.ts +214 -0
- package/theme/ui/navigationDrawerControl.ts +35 -0
- package/theme/ui/search.script.ts +4 -2
- package/worker/index.js +3 -0
- package/worker/plan-status.js +46 -0
- package/worker/push.js +7 -5
- package/worker/r2-status.js +2 -1
- package/icons/lucide/desktop.svg +0 -1
- package/icons/material-symbols/desktop.svg +0 -1
- package/icons/phosphor/desktop.svg +0 -1
package/src/i18n/en-US/cms.ts
CHANGED
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
// "Morpheme" under "Indstillinger" (the CMS's update page, #morpheme): the running version, a new one and its notes,
|
|
2
|
-
// and an update's progress; also the
|
|
2
|
+
// and an update's progress; also the notifications and commit messages (worker/cms-update.js).
|
|
3
3
|
|
|
4
4
|
export const cms = {
|
|
5
5
|
running: (v: string) => `Version ${v}`,
|
|
6
|
-
/** When
|
|
6
|
+
/** When npm was last asked for a new version, as when.ts writes it. */
|
|
7
7
|
checked: (when: string) => `Checked ${when}`,
|
|
8
8
|
notChecked: 'Not checked yet',
|
|
9
9
|
upToDate: 'Up to date',
|
|
10
10
|
available: (v: string) => `Version ${v} is available`,
|
|
11
11
|
whatsNew: 'What’s new',
|
|
12
12
|
major: 'A new major version isn’t installed by itself.',
|
|
13
|
-
skipped: (v: string) =>
|
|
13
|
+
skipped: (v: string) => `Version ${v} was undone because the website couldn’t be updated with it.`,
|
|
14
14
|
/** Followed by the command, in a code block. */
|
|
15
|
-
needsNpm: '
|
|
15
|
+
needsNpm: 'Updating needs npm. Run this in the website’s repository:',
|
|
16
16
|
update: 'Update',
|
|
17
17
|
tryAgain: 'Try again',
|
|
18
|
-
waiting: (v: string) => `Updating to ${v}.
|
|
18
|
+
waiting: (v: string) => `Updating to ${v}. This takes a few minutes.`,
|
|
19
19
|
undoing: (v: string) => `Undoing the update to ${v}.`,
|
|
20
20
|
done: (v: string) => `Updated to ${v}`,
|
|
21
|
-
undone: (v: string) => `The update to ${v} was undone because the
|
|
22
|
-
stuck: (v: string) =>
|
|
21
|
+
undone: (v: string) => `The update to ${v} was undone because the website couldn’t be updated with it.`,
|
|
22
|
+
stuck: (v: string) =>
|
|
23
|
+
`The website couldn’t be updated with ${v}, and going back to the earlier version failed too. Fix the website by hand.`,
|
|
23
24
|
unreachable: 'npm or GitHub couldn’t be reached.',
|
|
24
|
-
cannotWrite: 'The
|
|
25
|
-
noToken: 'The
|
|
26
|
-
noKv: 'The
|
|
27
|
-
notManaged: 'The
|
|
28
|
-
slowUndo: 'The token can’t
|
|
25
|
+
cannotWrite: 'The website’s GitHub token can’t save changes. In GitHub, give it Contents: Read and write.',
|
|
26
|
+
noToken: 'The website has no GitHub token (GITHUB_PUBLISH_TOKEN).',
|
|
27
|
+
noKv: 'The website has no KV storage (PUSH), so it can’t look for new versions.',
|
|
28
|
+
notManaged: 'The version is fixed in the website’s package.json, so it can’t be updated here.',
|
|
29
|
+
slowUndo: 'The GitHub token can’t see whether the update worked, so a failed update is undone after 20 minutes.',
|
|
29
30
|
/** The site's notifications (Notifications.tsx) and the commits the Worker writes, in the site's language. */
|
|
30
31
|
notifyDone: (v: string) => `Morpheme was updated to ${v}`,
|
|
31
|
-
notifyUndone: (v: string) => `The update of Morpheme to ${v} was undone because the
|
|
32
|
-
notifyStuck: (v: string) => `
|
|
32
|
+
notifyUndone: (v: string) => `The update of Morpheme to ${v} was undone because the website couldn’t be updated with it`,
|
|
33
|
+
notifyStuck: (v: string) => `The website couldn’t be updated with Morpheme ${v}, and going back failed too. Fix the website by hand.`,
|
|
33
34
|
commitUpdate: (v: string) => `Update Morpheme to ${v}`,
|
|
34
35
|
commitUndo: (v: string) => `Undo the update of Morpheme to ${v}`,
|
|
35
36
|
};
|
package/src/i18n/en-US/colors.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
// "Farver" (Colors.tsx): the site's
|
|
1
|
+
// "Farver" (Colors.tsx): the site's colors in light and dark mode.
|
|
2
2
|
export const colors = {
|
|
3
3
|
intro: "The website's colors in light and dark mode.",
|
|
4
4
|
light: 'Light mode',
|
|
5
5
|
dark: 'Dark mode',
|
|
6
6
|
/** The switch between the modes, for screen readers. */
|
|
7
7
|
modes: 'Mode',
|
|
8
|
-
/** The little page drawn in a mode's
|
|
8
|
+
/** The little page drawn in a mode's colors. */
|
|
9
9
|
preview: {
|
|
10
10
|
title: (mode: string) => `Example: ${mode.toLowerCase()}`,
|
|
11
11
|
heading: 'A heading',
|
|
@@ -21,22 +21,22 @@ export const colors = {
|
|
|
21
21
|
},
|
|
22
22
|
/** A pair that is too hard to read: what it is (the site's words), its contrast and the least it needs. */
|
|
23
23
|
tooLow: (what: string, ratio: string, min: string) => `Contrast too low: ${what} (${ratio}, at least ${min}).`,
|
|
24
|
-
/** checkSite.ts: a
|
|
24
|
+
/** checkSite.ts: a color in the file that is not one ('dark.accent: "rød"'). */
|
|
25
25
|
notAColorAt: (where: string) => `Not a color: ${where}`,
|
|
26
26
|
cannotSave: 'Some colors have too little contrast. Fix the ones marked in red.',
|
|
27
27
|
unreadable: 'The colors couldn’t be read. The default colors are shown.',
|
|
28
|
-
/** Dynamic
|
|
28
|
+
/** Dynamic color (Material 3): all the colors made from one source color. */
|
|
29
29
|
dynamic: {
|
|
30
|
-
/** The tab with dynamic
|
|
30
|
+
/** The tab with dynamic color, beside the modes'. */
|
|
31
31
|
tab: 'Generator',
|
|
32
32
|
source: 'Source color',
|
|
33
33
|
fromPicture: 'From a picture',
|
|
34
34
|
fromPictureDone: 'The source color was taken from the picture',
|
|
35
|
-
/** A picture without
|
|
35
|
+
/** A picture without color enough to make the colors from (a grey one). */
|
|
36
36
|
noColorInPicture: 'The picture has no color that can be used as a source color',
|
|
37
|
-
/** The generator's three base
|
|
37
|
+
/** The generator's three base colors at the top (ColorTiles), under this heading and named by it for screen readers. */
|
|
38
38
|
base: 'Colors',
|
|
39
|
-
/** The
|
|
39
|
+
/** The color wheel with the color harmonies (lib/dynamic-colors.ts HARMONIES). */
|
|
40
40
|
harmony: 'Harmony',
|
|
41
41
|
harmonyHint: 'Drag the big dot, and the other colors follow the harmony.',
|
|
42
42
|
wheel: 'Color wheel',
|
|
@@ -50,33 +50,33 @@ export const colors = {
|
|
|
50
50
|
contrast: 'Contrast',
|
|
51
51
|
contrastHint: 'Higher contrast makes the text easier to read.',
|
|
52
52
|
contrasts: { standard: 'Standard', medium: 'Medium', high: 'High' },
|
|
53
|
-
/** A
|
|
53
|
+
/** A color changed by hand while they are made from the source color. */
|
|
54
54
|
turnedOff: 'The generator no longer makes the colors, so you can change them yourself',
|
|
55
55
|
/** checkSite.ts: a wrong value in the choice in the file ('dynamic.variant: "rød"'). */
|
|
56
56
|
wrongAt: (where: string) => `Wrong value: ${where}`,
|
|
57
57
|
},
|
|
58
|
-
/** Each page's
|
|
58
|
+
/** Each page's colors as it was built, shown in the modes while an app changes the pages' colors (hooks/page-colors.ts). */
|
|
59
59
|
pages: {
|
|
60
|
-
intro: "Each page's colors, as they were when the website was last
|
|
61
|
-
/** At the top of the modes: the apps that give the pages their
|
|
60
|
+
intro: "Each page's colors, as they were when the website was last updated.",
|
|
61
|
+
/** At the top of the modes: the apps that give the pages their colors, by their names, and the way to the site's
|
|
62
62
|
* own, the fallback. */
|
|
63
63
|
title: "Colors from the pages' pictures",
|
|
64
64
|
byApps: (apps: string) => `${apps} gives the pages colors from their pictures. Where it doesn’t, the fallback colors are used.`,
|
|
65
65
|
showFallback: 'Show fallback colors',
|
|
66
|
-
/** The page with the site's own
|
|
66
|
+
/** The page with the site's own colors (FALLBACK_ROUTE), and what they are. */
|
|
67
67
|
fallback: 'Fallback colors',
|
|
68
|
-
fallbackIntro: (apps: string) => `The colors are used on
|
|
68
|
+
fallbackIntro: (apps: string) => `The website’s own colors are used on pages where ${apps} doesn’t give colors.`,
|
|
69
69
|
apps: 'Apps',
|
|
70
70
|
fromApp: 'Colors from a picture',
|
|
71
71
|
own: "The website's colors",
|
|
72
|
-
loading: "
|
|
73
|
-
missing: "The pages' colors can be seen
|
|
74
|
-
/** The
|
|
72
|
+
loading: "Loading the pages' colors…",
|
|
73
|
+
missing: "The pages' colors can be seen in a few minutes",
|
|
74
|
+
/** The colors of a page in a row, read out (the accent color, the light color, the background and the text). */
|
|
75
75
|
swatches: (mode: string) => `The colors in ${mode.toLowerCase()}`,
|
|
76
76
|
},
|
|
77
77
|
standard: 'Reset to default colors',
|
|
78
78
|
standardHint: 'Takes effect when you save.',
|
|
79
|
-
icons: '
|
|
79
|
+
icons: 'Edit the logo and icon under Appearance › Logo and icon.',
|
|
80
80
|
/** The commit, in the site's language (siteT). */
|
|
81
81
|
commit: 'Editor: new colors',
|
|
82
82
|
};
|
package/src/i18n/en-US/common.ts
CHANGED
|
@@ -104,7 +104,7 @@ export const common = {
|
|
|
104
104
|
company: 'Business',
|
|
105
105
|
header: 'Header',
|
|
106
106
|
lists: 'Lists',
|
|
107
|
-
blocks: '
|
|
107
|
+
blocks: 'Block templates',
|
|
108
108
|
media: 'Files',
|
|
109
109
|
/** How the site looks (#udseende, Library.tsx Theme): the theme, the colours, the logo and icon, and the site's own
|
|
110
110
|
* parts there (appearance in packages/editor/defaults/editor.ts: "Standardsider"). */
|
|
@@ -128,9 +128,9 @@ export const common = {
|
|
|
128
128
|
seo: 'Search engine optimization',
|
|
129
129
|
redirects: 'Redirects',
|
|
130
130
|
account: 'Account',
|
|
131
|
-
/** The
|
|
131
|
+
/** The last section of the main drawer, and the first part of the path to a setting (placeOf in site.ts). */
|
|
132
132
|
settings: 'Settings',
|
|
133
|
-
/** Under Indstillinger:
|
|
133
|
+
/** Under Indstillinger: the faster editor (#avanceret, Advanced.tsx). */
|
|
134
134
|
advanced: 'Advanced',
|
|
135
135
|
/** Under Indstillinger: the licences of what the site and the editor are made with (#licenser, Licenses.tsx). */
|
|
136
136
|
licenses: 'Licenses',
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// "Samtykker" under "Privatliv" (Consents.tsx, consentData.ts): the visitors' answers in the cookie banner.
|
|
2
2
|
export const consents = {
|
|
3
3
|
title: 'Consents',
|
|
4
|
-
intro: 'The visitors’ answers in the cookie banner, with the consent ID the banner shows them.
|
|
4
|
+
intro: 'The visitors’ answers in the cookie banner, with the consent ID the banner shows them. Answers are kept for 2 years.',
|
|
5
5
|
count: (n: number) => `${n} ${n === 1 ? 'answer' : 'answers'}`,
|
|
6
6
|
searchLabel: 'Search by consent ID',
|
|
7
7
|
sorts: { newest: 'Newest first', oldest: 'Oldest first' },
|
|
8
8
|
download: 'Download as CSV',
|
|
9
|
-
loading: 'Loading the consents',
|
|
9
|
+
loading: 'Loading the consents…',
|
|
10
10
|
notLoaded: (error: string) => `Couldn’t load the consents: ${error}`,
|
|
11
|
-
/**
|
|
12
|
-
notKept: 'Consents are kept only on the published
|
|
11
|
+
/** Answers aren't stored in a preview of a branch, or on the site on another host. */
|
|
12
|
+
notKept: 'Consents are kept only on the published website',
|
|
13
13
|
/** None, or none matching the search. */
|
|
14
14
|
none: (query: string) => (query ? `No consent ID starts with "${query}"` : 'No one has answered yet'),
|
|
15
15
|
/** Under the id in a row: the yes and no as one line ("Ja: Statistik · Nej: Marketing"). */
|
package/src/i18n/en-US/forms.ts
CHANGED
|
@@ -41,14 +41,14 @@ export const forms = {
|
|
|
41
41
|
/** "Skjul for søgemaskiner (noindex)" is ticked. */
|
|
42
42
|
noindex: (post: boolean) => `The ${post ? 'post' : 'page'} is hidden from Google`,
|
|
43
43
|
/** "Canonical URL" is a page the editor does not know. */
|
|
44
|
-
noCanonical: '
|
|
44
|
+
noCanonical: 'The canonical URL (the page Google should list) points to a page that doesn’t exist',
|
|
45
45
|
allAlt: 'All pictures have an alt text',
|
|
46
46
|
noAlt: (n: number) => `${n} ${n === 1 ? 'picture has' : 'pictures have'} no alt text`,
|
|
47
47
|
goodLinks: (n: number): string => (n === 1 ? 'The link has a descriptive text' : 'The links have descriptive text'),
|
|
48
48
|
/** The first link whose text is only "klik her", "læs mere" and the like. */
|
|
49
49
|
vagueLink: (text: string) => `The link "${text}" doesn’t say where it leads`,
|
|
50
50
|
/** How to do better, under a check that is not fine when it is folded out. */
|
|
51
|
-
fixNoH1: 'Write the page’s heading at the top of the text,
|
|
51
|
+
fixNoH1: 'Write the page’s heading at the top of the text, as a Heading.',
|
|
52
52
|
fixManyH1: 'Make the others Heading or Subheading.',
|
|
53
53
|
fixH1First: 'Move the heading (H1) up, so it comes first in the text.',
|
|
54
54
|
fixTitle: 'Write a Google title of at most about 60 characters.',
|
|
@@ -76,7 +76,7 @@ export const forms = {
|
|
|
76
76
|
titleNeedsLetters: 'The title must have letters or digits.',
|
|
77
77
|
/** Planlagt (scheduled), with a time that has passed. */
|
|
78
78
|
scheduledPast: 'The time has already passed. Choose a later time, or choose Published.',
|
|
79
|
-
/** The page is a standard page ("Forside", "Blogside" …, chosen `where`: "
|
|
79
|
+
/** The page is a standard page ("Forside", "Blogside" …, chosen `where`: "Udseende › Standardsider")
|
|
80
80
|
* and was made Kladde or Planlagt. */
|
|
81
81
|
standardPage: (label: string, where: string) =>
|
|
82
82
|
`The page is chosen as ${label} under ${where} and must be published. Choose another page there first.`,
|
|
@@ -94,7 +94,7 @@ export const forms = {
|
|
|
94
94
|
`${reason} ${typed ? 'Choose another address' : `Give the ${post ? 'post' : 'page'} another title`}.`,
|
|
95
95
|
fileExists: (name: string) => `There’s already a file named ${name}.md. Choose another address.`,
|
|
96
96
|
empty: (post: boolean) => `${post ? 'An empty blog post' : 'An empty page'} can’t be saved.`,
|
|
97
|
-
movedTitle: '
|
|
97
|
+
movedTitle: 'Redirect created',
|
|
98
98
|
movedText: (address: string, old: string, post: boolean, where: string) =>
|
|
99
99
|
`The ${post ? 'post' : 'page'} now has the address ${address}. The old address, ${old}, now redirects here.`,
|
|
100
100
|
ok: 'OK',
|
|
@@ -103,7 +103,7 @@ export const forms = {
|
|
|
103
103
|
/** An entry of a folder or a single file (DataForm.tsx). */
|
|
104
104
|
nameNeedsLetters: 'The name must have letters or digits.',
|
|
105
105
|
/** The fields (fields.tsx). */
|
|
106
|
-
fromTitle: '
|
|
106
|
+
fromTitle: 'Created from the title the first time you save the page.',
|
|
107
107
|
noIcon: 'No icon',
|
|
108
108
|
pickIcon: 'Choose an icon',
|
|
109
109
|
noIconYet: 'No icon yet',
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
export const history = {
|
|
4
4
|
/** The button in the top bar of a form, and the sheet it opens. */
|
|
5
5
|
versions: 'Earlier versions',
|
|
6
|
-
loading: 'Loading the versions',
|
|
6
|
+
loading: 'Loading the versions…',
|
|
7
7
|
notLoaded: (error: string) => `Couldn’t load the versions: ${error}`,
|
|
8
8
|
none: 'There are no earlier versions',
|
|
9
9
|
/** Who saved a version (their name on GitHub). */
|
|
@@ -24,7 +24,7 @@ export const history = {
|
|
|
24
24
|
deletedNote: 'Deleted items can be restored.',
|
|
25
25
|
/** What was deleted from Filer: "Slettede filer". */
|
|
26
26
|
files: 'files',
|
|
27
|
-
loadingDeleted: 'Loading deleted items',
|
|
27
|
+
loadingDeleted: 'Loading deleted items…',
|
|
28
28
|
deletedNotLoaded: (error: string) => `Couldn’t load deleted items: ${error}`,
|
|
29
29
|
noneDeleted: 'Nothing has been deleted recently',
|
|
30
30
|
deletedAt: (when: string, by: string) => (by ? `Deleted ${when} by ${by}` : `Deleted ${when}`),
|
|
@@ -6,6 +6,8 @@ export const library = {
|
|
|
6
6
|
cmsVersion: (version: string) => `Morpheme ${version}`,
|
|
7
7
|
/** Between the CMS version and the update time in the start screen's status. */
|
|
8
8
|
statusSeparator: ' · ',
|
|
9
|
+
/** The start screen's FAB menu (StartFab.tsx), which makes a new page or blog post. */
|
|
10
|
+
createNew: 'Create',
|
|
9
11
|
githubAccount: (login: string) => `GitHub account: ${login}`,
|
|
10
12
|
logOut: 'Log out',
|
|
11
13
|
/** The bell in the top bar and its screen (#notifikationer, Notifications.tsx): the messages shown at the bottom. */
|
|
@@ -25,9 +27,9 @@ export const library = {
|
|
|
25
27
|
off: 'Off',
|
|
26
28
|
/** Under a theme's name under "Temaer" and on its page: its version and who made it. */
|
|
27
29
|
themeByline: (version: string, author: string) => `Version ${version} · ${author}`,
|
|
28
|
-
/** By the theme the
|
|
30
|
+
/** By the theme the website uses, under "Temaer" and on its page. */
|
|
29
31
|
themeInUse: 'In use',
|
|
30
|
-
/** By the theme it is changed to, until the
|
|
32
|
+
/** By the theme it is changed to, until the website is updated: under "Temaer", and on its page. */
|
|
31
33
|
themeNext: 'Changing to it',
|
|
32
34
|
themeChanging: (name: string) => `Changing to ${name} in a few minutes`,
|
|
33
35
|
/** On a theme's page: the pictures of the site in it (packages/editor/scripts/theme-screenshots.mjs), each by what it shows. */
|
|
@@ -45,24 +47,24 @@ export const library = {
|
|
|
45
47
|
themeKeptContent: 'Pages and posts',
|
|
46
48
|
themeKeptBrand: 'Colors and logo',
|
|
47
49
|
themeKeptBlocks: "All blocks, in the theme's look",
|
|
48
|
-
/** The button on a theme's page that swaps the theme the
|
|
50
|
+
/** The button on a theme's page that swaps the theme the website uses to it. */
|
|
49
51
|
useTheme: 'Use the theme',
|
|
50
52
|
/** The question's button before the theme is changed. */
|
|
51
53
|
changeTheme: 'Change theme',
|
|
52
54
|
/** Asked before the theme is changed. */
|
|
53
|
-
changeThemeAsk: (name: string) => `The website gets the theme ${name}
|
|
55
|
+
changeThemeAsk: (name: string) => `The website gets the theme ${name} in a few minutes`,
|
|
54
56
|
/** The commit, in the site's language (siteT). */
|
|
55
57
|
themeCommit: (name: string) => `Editor: change theme to ${name}`,
|
|
56
58
|
/** A theme from the store (ThemeStore.tsx): installed, updated or uninstalled, asked before it is uninstalled, why
|
|
57
59
|
* one in use cannot be, and under "Afinstaller" when it can; a theme the store does not have; how many a developer
|
|
58
60
|
* has made; and the commits, in the site's language (siteT). */
|
|
59
|
-
themeInstalled: (name: string) => `${name} is installed
|
|
60
|
-
themeUpdated: (name: string, version: string) => `${name} is updated to ${version}
|
|
61
|
+
themeInstalled: (name: string) => `${name} is installed. You can choose it in a few minutes.`,
|
|
62
|
+
themeUpdated: (name: string, version: string) => `${name} is updated to ${version}. The website uses it in a few minutes.`,
|
|
61
63
|
themeUninstalled: (name: string) => `${name} is uninstalled`,
|
|
62
64
|
askUninstallTheme: (name: string) => `Uninstall ${name}? The theme is removed from the website.`,
|
|
63
65
|
themeStuck: 'The theme is in use and can’t be uninstalled. Choose another theme first.',
|
|
64
66
|
themeUninstallHint: 'Can be uninstalled, as the website doesn’t use the theme.',
|
|
65
|
-
themePendingHint: '
|
|
67
|
+
themePendingHint: 'You can choose the theme in a few minutes.',
|
|
66
68
|
themeNotInStore: 'The theme isn’t in the Appstore',
|
|
67
69
|
themeCount: (n: number) => (n === 1 ? '1 theme' : `${n} themes`),
|
|
68
70
|
searchThemes: 'Search for themes',
|
|
@@ -79,10 +81,10 @@ export const library = {
|
|
|
79
81
|
iconPackFrom: (theme: string) => `From the theme ${theme}`,
|
|
80
82
|
iconPackSamples: (name: string) => `Icons from ${name}`,
|
|
81
83
|
iconPackInUse: 'In use',
|
|
82
|
-
iconPackNext: 'Changing to it
|
|
83
|
-
changeIconPackAsk: (name: string) => `The website and the editor get the icons from ${name}
|
|
84
|
+
iconPackNext: 'Changing to it in a few minutes',
|
|
85
|
+
changeIconPackAsk: (name: string) => `The website and the editor get the icons from ${name} in a few minutes`,
|
|
84
86
|
changeIconPack: 'Change icon pack',
|
|
85
|
-
iconPackSaved: (change: string) => `${change}. The website and the editor get the new icons
|
|
87
|
+
iconPackSaved: (change: string) => `${change}. The website and the editor get the new icons in a few minutes.`,
|
|
86
88
|
iconPackCommit: (name: string) => `Editor: change icon pack to ${name}`,
|
|
87
89
|
/** Under "Bevægelse" (MotionSchemes in Library.tsx): each motion scheme's name and how it moves (lib/motion.ts); by the
|
|
88
90
|
* theme's own; asked before one is chosen, the question's button, what is said after it is saved, and the commit, in
|
|
@@ -94,9 +96,9 @@ export const library = {
|
|
|
94
96
|
calm: 'What moves does so briefly, and sections are shown right away',
|
|
95
97
|
},
|
|
96
98
|
motionOfTheme: 'The theme’s choice',
|
|
97
|
-
changeMotionAsk: (name: string) => `The website gets the ${name} motion
|
|
99
|
+
changeMotionAsk: (name: string) => `The website gets the ${name} motion in a few minutes. The editor gets it right away.`,
|
|
98
100
|
changeMotion: 'Change motion',
|
|
99
|
-
motionSaved: (change: string) => `${change}. The website gets the new motion
|
|
101
|
+
motionSaved: (change: string) => `${change}. The website gets the new motion in a few minutes.`,
|
|
100
102
|
motionCommit: (name: string) => `Editor: change motion to ${name}`,
|
|
101
103
|
/** Under "Sidekolonne" (SideColumn.tsx): the choice of no block and what is under it, what is said when no block can be
|
|
102
104
|
* drawn there, asked before one is chosen, the question's button, what is said after it is saved, and the commit, in
|
|
@@ -185,8 +187,12 @@ export const library = {
|
|
|
185
187
|
hideSubpages: 'Hide subpages',
|
|
186
188
|
showSubpagesOf: (title: string) => `Show subpages of ${title}`,
|
|
187
189
|
hideSubpagesOf: (title: string) => `Hide subpages of ${title}`,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
190
|
+
/** The name of the main navigation drawer (the site's parts in four sections). */
|
|
191
|
+
navigation: 'Navigation',
|
|
192
|
+
/** The top bar's menu button, which opens and closes that drawer. */
|
|
193
|
+
openMenu: 'Open the menu',
|
|
194
|
+
closeMenu: 'Close the menu',
|
|
195
|
+
/** The back row of a section's list in the main drawer (the first level). */
|
|
196
|
+
mainMenu: 'Main menu',
|
|
191
197
|
breadcrumbs: 'Breadcrumbs',
|
|
192
198
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// "Licenser" under "Indstillinger" (Licenses.tsx): the third-party work the site and the editor are made with, and the
|
|
2
|
-
//
|
|
2
|
+
// licenses on an app's and a theme's page.
|
|
3
3
|
import type { LicenseKind } from '../../licenseData';
|
|
4
4
|
|
|
5
5
|
export const licenses = {
|
|
@@ -8,10 +8,10 @@ export const licenses = {
|
|
|
8
8
|
system: 'The editor and the site',
|
|
9
9
|
app: (name: string) => `The app ${name}`,
|
|
10
10
|
theme: (name: string) => `The theme ${name}`,
|
|
11
|
-
/** A
|
|
11
|
+
/** A license that gives no rights ("UNLICENSED"), as its name. */
|
|
12
12
|
unlicensed: 'All rights reserved',
|
|
13
13
|
kinds: { font: 'Font', icons: 'Icons', library: 'Code', image: 'Pictures' },
|
|
14
|
-
/** Who brings it, after what it is: "
|
|
14
|
+
/** Who brings it, after what it is: "Code in the editor and on the site". */
|
|
15
15
|
inEditor: 'in the editor',
|
|
16
16
|
onSite: 'on the site',
|
|
17
17
|
inApp: (name: string) => `in the app ${name}`,
|
|
@@ -25,10 +25,10 @@ export const licenses = {
|
|
|
25
25
|
version: (version: string) => `Version ${version}`,
|
|
26
26
|
/** The app's or the theme's own work, first in its group. */
|
|
27
27
|
own: (name: string) => `${name} itself`,
|
|
28
|
-
loading: '
|
|
28
|
+
loading: 'Loading the licenses…',
|
|
29
29
|
/** The site has not been built since they came, or the editor is offline. */
|
|
30
|
-
missing: 'The licenses
|
|
31
|
-
/** One
|
|
30
|
+
missing: 'The licenses can be seen in a few minutes',
|
|
31
|
+
/** One license's page. */
|
|
32
32
|
text: 'License text',
|
|
33
33
|
noText: 'There’s no license text, as all rights are reserved',
|
|
34
34
|
standardText: (license: string) => `The package has no license file, so this is the standard text of ${license}.`,
|
package/src/i18n/en-US/media.ts
CHANGED
|
@@ -12,6 +12,8 @@ export const media = {
|
|
|
12
12
|
all: 'All',
|
|
13
13
|
kind: 'Type',
|
|
14
14
|
allKinds: 'All types',
|
|
15
|
+
tagFilter: 'Tag',
|
|
16
|
+
allTags: 'All tags',
|
|
15
17
|
/** The kinds of files in Filer: the filter, the buttons in the sheet, and (siteT) in the commits. */
|
|
16
18
|
kinds: {
|
|
17
19
|
picture: {
|
|
@@ -52,7 +54,7 @@ export const media = {
|
|
|
52
54
|
add: 'Add a file',
|
|
53
55
|
preparing: 'Preparing the picture…',
|
|
54
56
|
notDeleted: (error: string) => `Couldn’t delete: ${error}`,
|
|
55
|
-
nameTaken: 'There’s already a file with that name
|
|
57
|
+
nameTaken: 'There’s already a file with that name',
|
|
56
58
|
tooBig: (mb: number) => `The file is too big. It can be at most ${mb} MB.`,
|
|
57
59
|
notAFile: 'The file can’t be used. Choose a picture, a PDF, a video, or a zip file.',
|
|
58
60
|
name: 'Name',
|
|
@@ -63,11 +65,15 @@ export const media = {
|
|
|
63
65
|
usedOn: 'Used on',
|
|
64
66
|
siteDesign: "The website's design",
|
|
65
67
|
noPages: 'No pages',
|
|
68
|
+
tags: 'Tags',
|
|
69
|
+
addTag: 'Add tag',
|
|
70
|
+
createTag: 'Create a tag',
|
|
66
71
|
/** The commits, in the site's language (siteT); what: a kind's word ("billede", "PDF"). */
|
|
67
72
|
commit: {
|
|
68
73
|
add: (what: string, name: string) => `Editor: add ${what} "${name}"`,
|
|
69
74
|
delete: (what: string, name: string) => `Editor: delete ${what} "${name}"`,
|
|
70
75
|
rename: (what: string, from: string, to: string) => `Editor: rename ${what} "${from}" to "${to}"`,
|
|
76
|
+
tags: (what: string, name: string) => `Editor: change the tags of ${what} "${name}"`,
|
|
71
77
|
},
|
|
72
78
|
crop: {
|
|
73
79
|
format: 'Format',
|