@kinetis/vector-ui 0.0.0-stage → 0.9.1
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 +34 -0
- package/LICENSE +18 -0
- package/README.md +72 -2
- package/app/app.config.ts +63 -0
- package/app/app.vue +11 -0
- package/app/components/Vx/Action/Dialog.vue +107 -0
- package/app/components/Vx/Cell/Boolean.vue +10 -0
- package/app/components/Vx/Cell/Color.vue +12 -0
- package/app/components/Vx/Cell/Count.vue +12 -0
- package/app/components/Vx/Cell/Date.vue +10 -0
- package/app/components/Vx/Cell/DateTime.vue +10 -0
- package/app/components/Vx/Cell/Email.vue +9 -0
- package/app/components/Vx/Cell/Enum.vue +14 -0
- package/app/components/Vx/Cell/File.vue +30 -0
- package/app/components/Vx/Cell/Image.vue +38 -0
- package/app/components/Vx/Cell/Json.vue +18 -0
- package/app/components/Vx/Cell/KeyValue.vue +25 -0
- package/app/components/Vx/Cell/Markdown.vue +18 -0
- package/app/components/Vx/Cell/Money.vue +16 -0
- package/app/components/Vx/Cell/Number.vue +16 -0
- package/app/components/Vx/Cell/Relation.vue +16 -0
- package/app/components/Vx/Cell/RichText.vue +41 -0
- package/app/components/Vx/Cell/Text.vue +13 -0
- package/app/components/Vx/Cell/Url.vue +11 -0
- package/app/components/Vx/Cell.vue +25 -0
- package/app/components/Vx/CommandPalette.vue +118 -0
- package/app/components/Vx/Confirm.vue +19 -0
- package/app/components/Vx/Dashboard.vue +27 -0
- package/app/components/Vx/FieldsForm.vue +46 -0
- package/app/components/Vx/Import/Dialog.vue +131 -0
- package/app/components/Vx/Inbox.vue +49 -0
- package/app/components/Vx/Input/Boolean.vue +10 -0
- package/app/components/Vx/Input/Currency.vue +25 -0
- package/app/components/Vx/Input/DateTime.vue +38 -0
- package/app/components/Vx/Input/Enum.vue +21 -0
- package/app/components/Vx/Input/KeyValue.vue +78 -0
- package/app/components/Vx/Input/Markdown.vue +120 -0
- package/app/components/Vx/Input/Money.vue +47 -0
- package/app/components/Vx/Input/Number.vue +24 -0
- package/app/components/Vx/Input/Relation.vue +127 -0
- package/app/components/Vx/Input/Repeater.vue +134 -0
- package/app/components/Vx/Input/RichText.vue +182 -0
- package/app/components/Vx/Input/Text.vue +21 -0
- package/app/components/Vx/Input/Textarea.vue +20 -0
- package/app/components/Vx/Input/Upload.vue +89 -0
- package/app/components/Vx/Layout.vue +111 -0
- package/app/components/Vx/List/BulkBar.vue +44 -0
- package/app/components/Vx/List/BulkEdit.vue +91 -0
- package/app/components/Vx/List/ColumnManager.vue +74 -0
- package/app/components/Vx/List/FilterBar.vue +224 -0
- package/app/components/Vx/List/ViewMenu.vue +115 -0
- package/app/components/Vx/Notifications.vue +9 -0
- package/app/components/Vx/Resource/Audit.vue +82 -0
- package/app/components/Vx/Resource/Form.vue +351 -0
- package/app/components/Vx/Resource/RelationPanel.vue +217 -0
- package/app/components/Vx/Resource/Show.vue +35 -0
- package/app/components/Vx/Resource/Table.vue +513 -0
- package/app/components/Vx/Widget/Card.vue +80 -0
- package/app/components/Vx/Widget/Partition.vue +21 -0
- package/app/components/Vx/Widget/Progress.vue +22 -0
- package/app/components/Vx/Widget/Stat.vue +22 -0
- package/app/components/Vx/Widget/Table.vue +31 -0
- package/app/components/Vx/Widget/Trend.vue +37 -0
- package/app/composables/useConfirm.ts +34 -0
- package/app/composables/useLeaveGuard.ts +21 -0
- package/app/composables/useVectorApi.ts +74 -0
- package/app/composables/useVectorAuthStore.ts +252 -0
- package/app/composables/useVectorBranding.ts +45 -0
- package/app/composables/useVectorDashboards.ts +15 -0
- package/app/composables/useVectorExtensions.ts +44 -0
- package/app/composables/useVectorFields.ts +68 -0
- package/app/composables/useVectorForm.ts +36 -0
- package/app/composables/useVectorIdle.ts +39 -0
- package/app/composables/useVectorImpersonation.ts +78 -0
- package/app/composables/useVectorInputs.ts +61 -0
- package/app/composables/useVectorJobs.ts +62 -0
- package/app/composables/useVectorLocale.ts +70 -0
- package/app/composables/useVectorNotifications.ts +24 -0
- package/app/composables/useVectorNotificationsInbox.ts +26 -0
- package/app/composables/useVectorPreferences.ts +30 -0
- package/app/composables/useVectorResource.ts +305 -0
- package/app/composables/useVectorRuntime.ts +42 -0
- package/app/composables/useVectorSchema.ts +56 -0
- package/app/composables/useVectorT.ts +9 -0
- package/app/composables/useVectorViews.ts +25 -0
- package/app/i18n/ar/actions.ts +11 -0
- package/app/i18n/ar/common.ts +23 -0
- package/app/i18n/ar/dashboard.ts +28 -0
- package/app/i18n/ar/fields.ts +77 -0
- package/app/i18n/ar/index.ts +12 -0
- package/app/i18n/ar/jobs.ts +36 -0
- package/app/i18n/ar/list.ts +160 -0
- package/app/i18n/ar/record.ts +62 -0
- package/app/i18n/ar/settings.ts +10 -0
- package/app/i18n/ar/shell.ts +54 -0
- package/app/i18n/de/actions.ts +11 -0
- package/app/i18n/de/common.ts +23 -0
- package/app/i18n/de/dashboard.ts +28 -0
- package/app/i18n/de/fields.ts +77 -0
- package/app/i18n/de/index.ts +12 -0
- package/app/i18n/de/jobs.ts +36 -0
- package/app/i18n/de/list.ts +160 -0
- package/app/i18n/de/record.ts +62 -0
- package/app/i18n/de/settings.ts +10 -0
- package/app/i18n/de/shell.ts +54 -0
- package/app/i18n/en/actions.ts +11 -0
- package/app/i18n/en/common.ts +23 -0
- package/app/i18n/en/dashboard.ts +28 -0
- package/app/i18n/en/fields.ts +77 -0
- package/app/i18n/en/index.ts +12 -0
- package/app/i18n/en/jobs.ts +36 -0
- package/app/i18n/en/list.ts +160 -0
- package/app/i18n/en/record.ts +62 -0
- package/app/i18n/en/settings.ts +10 -0
- package/app/i18n/en/shell.ts +54 -0
- package/app/i18n/es/actions.ts +11 -0
- package/app/i18n/es/common.ts +23 -0
- package/app/i18n/es/dashboard.ts +28 -0
- package/app/i18n/es/fields.ts +77 -0
- package/app/i18n/es/index.ts +12 -0
- package/app/i18n/es/jobs.ts +36 -0
- package/app/i18n/es/list.ts +160 -0
- package/app/i18n/es/record.ts +62 -0
- package/app/i18n/es/settings.ts +10 -0
- package/app/i18n/es/shell.ts +54 -0
- package/app/i18n/fr/actions.ts +11 -0
- package/app/i18n/fr/common.ts +23 -0
- package/app/i18n/fr/dashboard.ts +28 -0
- package/app/i18n/fr/fields.ts +77 -0
- package/app/i18n/fr/index.ts +12 -0
- package/app/i18n/fr/jobs.ts +36 -0
- package/app/i18n/fr/list.ts +160 -0
- package/app/i18n/fr/record.ts +62 -0
- package/app/i18n/fr/settings.ts +10 -0
- package/app/i18n/fr/shell.ts +54 -0
- package/app/i18n/he/actions.ts +11 -0
- package/app/i18n/he/common.ts +23 -0
- package/app/i18n/he/dashboard.ts +28 -0
- package/app/i18n/he/fields.ts +77 -0
- package/app/i18n/he/index.ts +12 -0
- package/app/i18n/he/jobs.ts +36 -0
- package/app/i18n/he/list.ts +160 -0
- package/app/i18n/he/record.ts +62 -0
- package/app/i18n/he/settings.ts +10 -0
- package/app/i18n/he/shell.ts +54 -0
- package/app/i18n/index.ts +111 -0
- package/app/i18n/it/actions.ts +11 -0
- package/app/i18n/it/common.ts +23 -0
- package/app/i18n/it/dashboard.ts +28 -0
- package/app/i18n/it/fields.ts +77 -0
- package/app/i18n/it/index.ts +12 -0
- package/app/i18n/it/jobs.ts +36 -0
- package/app/i18n/it/list.ts +160 -0
- package/app/i18n/it/record.ts +62 -0
- package/app/i18n/it/settings.ts +10 -0
- package/app/i18n/it/shell.ts +54 -0
- package/app/i18n/ja/actions.ts +11 -0
- package/app/i18n/ja/common.ts +23 -0
- package/app/i18n/ja/dashboard.ts +28 -0
- package/app/i18n/ja/fields.ts +77 -0
- package/app/i18n/ja/index.ts +12 -0
- package/app/i18n/ja/jobs.ts +36 -0
- package/app/i18n/ja/list.ts +160 -0
- package/app/i18n/ja/record.ts +62 -0
- package/app/i18n/ja/settings.ts +10 -0
- package/app/i18n/ja/shell.ts +54 -0
- package/app/i18n/ko/actions.ts +11 -0
- package/app/i18n/ko/common.ts +23 -0
- package/app/i18n/ko/dashboard.ts +28 -0
- package/app/i18n/ko/fields.ts +77 -0
- package/app/i18n/ko/index.ts +12 -0
- package/app/i18n/ko/jobs.ts +36 -0
- package/app/i18n/ko/list.ts +160 -0
- package/app/i18n/ko/record.ts +62 -0
- package/app/i18n/ko/settings.ts +10 -0
- package/app/i18n/ko/shell.ts +54 -0
- package/app/i18n/nl/actions.ts +11 -0
- package/app/i18n/nl/common.ts +23 -0
- package/app/i18n/nl/dashboard.ts +28 -0
- package/app/i18n/nl/fields.ts +77 -0
- package/app/i18n/nl/index.ts +12 -0
- package/app/i18n/nl/jobs.ts +36 -0
- package/app/i18n/nl/list.ts +160 -0
- package/app/i18n/nl/record.ts +62 -0
- package/app/i18n/nl/settings.ts +10 -0
- package/app/i18n/nl/shell.ts +54 -0
- package/app/i18n/pl/actions.ts +11 -0
- package/app/i18n/pl/common.ts +23 -0
- package/app/i18n/pl/dashboard.ts +28 -0
- package/app/i18n/pl/fields.ts +77 -0
- package/app/i18n/pl/index.ts +12 -0
- package/app/i18n/pl/jobs.ts +36 -0
- package/app/i18n/pl/list.ts +160 -0
- package/app/i18n/pl/record.ts +62 -0
- package/app/i18n/pl/settings.ts +10 -0
- package/app/i18n/pl/shell.ts +54 -0
- package/app/i18n/pt/actions.ts +11 -0
- package/app/i18n/pt/common.ts +23 -0
- package/app/i18n/pt/dashboard.ts +28 -0
- package/app/i18n/pt/fields.ts +77 -0
- package/app/i18n/pt/index.ts +12 -0
- package/app/i18n/pt/jobs.ts +36 -0
- package/app/i18n/pt/list.ts +160 -0
- package/app/i18n/pt/record.ts +62 -0
- package/app/i18n/pt/settings.ts +10 -0
- package/app/i18n/pt/shell.ts +54 -0
- package/app/i18n/pt-BR/actions.ts +11 -0
- package/app/i18n/pt-BR/common.ts +23 -0
- package/app/i18n/pt-BR/dashboard.ts +28 -0
- package/app/i18n/pt-BR/fields.ts +77 -0
- package/app/i18n/pt-BR/index.ts +12 -0
- package/app/i18n/pt-BR/jobs.ts +36 -0
- package/app/i18n/pt-BR/list.ts +160 -0
- package/app/i18n/pt-BR/record.ts +62 -0
- package/app/i18n/pt-BR/settings.ts +10 -0
- package/app/i18n/pt-BR/shell.ts +54 -0
- package/app/i18n/ru/actions.ts +11 -0
- package/app/i18n/ru/common.ts +23 -0
- package/app/i18n/ru/dashboard.ts +28 -0
- package/app/i18n/ru/fields.ts +77 -0
- package/app/i18n/ru/index.ts +12 -0
- package/app/i18n/ru/jobs.ts +36 -0
- package/app/i18n/ru/list.ts +160 -0
- package/app/i18n/ru/record.ts +62 -0
- package/app/i18n/ru/settings.ts +10 -0
- package/app/i18n/ru/shell.ts +54 -0
- package/app/i18n/tr/actions.ts +11 -0
- package/app/i18n/tr/common.ts +23 -0
- package/app/i18n/tr/dashboard.ts +28 -0
- package/app/i18n/tr/fields.ts +77 -0
- package/app/i18n/tr/index.ts +12 -0
- package/app/i18n/tr/jobs.ts +36 -0
- package/app/i18n/tr/list.ts +160 -0
- package/app/i18n/tr/record.ts +62 -0
- package/app/i18n/tr/settings.ts +10 -0
- package/app/i18n/tr/shell.ts +54 -0
- package/app/i18n/uk/actions.ts +11 -0
- package/app/i18n/uk/common.ts +23 -0
- package/app/i18n/uk/dashboard.ts +28 -0
- package/app/i18n/uk/fields.ts +77 -0
- package/app/i18n/uk/index.ts +12 -0
- package/app/i18n/uk/jobs.ts +36 -0
- package/app/i18n/uk/list.ts +160 -0
- package/app/i18n/uk/record.ts +62 -0
- package/app/i18n/uk/settings.ts +10 -0
- package/app/i18n/uk/shell.ts +54 -0
- package/app/i18n/zh-Hans/actions.ts +11 -0
- package/app/i18n/zh-Hans/common.ts +23 -0
- package/app/i18n/zh-Hans/dashboard.ts +28 -0
- package/app/i18n/zh-Hans/fields.ts +77 -0
- package/app/i18n/zh-Hans/index.ts +12 -0
- package/app/i18n/zh-Hans/jobs.ts +36 -0
- package/app/i18n/zh-Hans/list.ts +160 -0
- package/app/i18n/zh-Hans/record.ts +62 -0
- package/app/i18n/zh-Hans/settings.ts +10 -0
- package/app/i18n/zh-Hans/shell.ts +54 -0
- package/app/layouts/default.vue +8 -0
- package/app/layouts/vector.vue +238 -0
- package/app/middleware/vector-auth.ts +16 -0
- package/app/pages/d/[name].vue +12 -0
- package/app/pages/index.vue +22 -0
- package/app/pages/jobs/[id].vue +52 -0
- package/app/pages/jobs/index.vue +42 -0
- package/app/pages/login.vue +109 -0
- package/app/pages/p/[name].vue +37 -0
- package/app/pages/r/[resource]/[id]/edit.vue +54 -0
- package/app/pages/r/[resource]/[id]/index.vue +143 -0
- package/app/pages/r/[resource]/create.vue +53 -0
- package/app/pages/r/[resource]/index.vue +29 -0
- package/app/pages/settings.vue +104 -0
- package/app/plugins/vector-csp.client.ts +14 -0
- package/app/plugins/vector-extensions.client.ts +84 -0
- package/app/plugins/vector-i18n.ts +76 -0
- package/app/types/vector.ts +438 -0
- package/app/utils/files.ts +14 -0
- package/app/utils/format.ts +100 -0
- package/app/utils/richtext.ts +305 -0
- package/app/utils/rules.ts +113 -0
- package/app/utils/translate.ts +45 -0
- package/app/utils/widgets.ts +11 -0
- package/nuxt.config.ts +83 -0
- package/package.json +83 -5
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// The record area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
unknownResource: 'Unbekannte Ressource',
|
|
4
|
+
new: 'Neu',
|
|
5
|
+
newTitle: '{label} anlegen',
|
|
6
|
+
editTitle: '{title} bearbeiten',
|
|
7
|
+
createNotAllowed: 'Diese Ressource erlaubt hier keine neuen Datensätze.',
|
|
8
|
+
editNotAllowed: 'Sie dürfen diesen Datensatz nicht bearbeiten.',
|
|
9
|
+
saved: '{label} gespeichert.',
|
|
10
|
+
duplicate: 'Duplizieren',
|
|
11
|
+
copyOf: 'Eine Kopie von „{title}“. Werte, die eindeutig sein müssen, und Dateien sind zunächst leer.',
|
|
12
|
+
variants: {
|
|
13
|
+
menu: 'Weitere Speicheroptionen',
|
|
14
|
+
saveContinue: 'Speichern und weiter bearbeiten',
|
|
15
|
+
createContinue: 'Anlegen und weiter bearbeiten',
|
|
16
|
+
createAnother: 'Anlegen und weiteren hinzufügen',
|
|
17
|
+
},
|
|
18
|
+
leave: {
|
|
19
|
+
title: 'Änderungen verwerfen?',
|
|
20
|
+
text: 'Wenn Sie diese Seite verlassen, gehen nicht gespeicherte Änderungen verloren.',
|
|
21
|
+
discard: 'Verwerfen',
|
|
22
|
+
},
|
|
23
|
+
inTrash: 'Im Papierkorb',
|
|
24
|
+
deleteTitle: '{noun} „{title}“ löschen?',
|
|
25
|
+
deleteForeverTitle: '{noun} „{title}“ endgültig löschen?',
|
|
26
|
+
deleteSoftText: 'Der Datensatz wird in den Papierkorb verschoben und kann wiederhergestellt werden.',
|
|
27
|
+
deleteHardText: 'Dies kann nicht rückgängig gemacht werden.',
|
|
28
|
+
trashed: '{label} in den Papierkorb verschoben.',
|
|
29
|
+
deleted: '{label} gelöscht.',
|
|
30
|
+
restored: '{label} wiederhergestellt.',
|
|
31
|
+
impersonate: {
|
|
32
|
+
action: 'Identität wechseln',
|
|
33
|
+
title: 'Als „{title}“ handeln?',
|
|
34
|
+
text: 'Sie sehen und tun, was diese Person kann; jede Änderung wird in ihrem Namen protokolliert, mit Ihnen als ausführender Person.',
|
|
35
|
+
started: 'Sie handeln jetzt als {title}.',
|
|
36
|
+
},
|
|
37
|
+
audit: {
|
|
38
|
+
title: 'Verlauf',
|
|
39
|
+
byUser: 'von Benutzer {actor}',
|
|
40
|
+
impersonatedBy: '(ausgeführt von {impersonator})',
|
|
41
|
+
empty: 'Keine aufgezeichneten Änderungen.',
|
|
42
|
+
revert: 'Zurücksetzen',
|
|
43
|
+
revertLabel: 'Diese Änderung zurücksetzen',
|
|
44
|
+
revertTitle: 'Diese Änderung zurücksetzen?',
|
|
45
|
+
revertText: 'Stellt den früheren Wert von {fields} wieder her. Das Zurücksetzen wird ebenfalls im Verlauf festgehalten.',
|
|
46
|
+
reverted: 'Änderung zurückgesetzt.',
|
|
47
|
+
},
|
|
48
|
+
panel: {
|
|
49
|
+
attach: 'Verknüpfen',
|
|
50
|
+
attachTitle: '{label} verknüpfen',
|
|
51
|
+
attachCount: '{count} verknüpfen',
|
|
52
|
+
attached: '{count} {label} verknüpft.',
|
|
53
|
+
records: 'Datensätze',
|
|
54
|
+
record: 'Datensatz',
|
|
55
|
+
empty: 'Noch keine {label}.',
|
|
56
|
+
detach: 'Verknüpfung lösen',
|
|
57
|
+
detachLabel: 'Verknüpfung von {title} lösen',
|
|
58
|
+
detachTitle: 'Verknüpfung von „{title}“ lösen?',
|
|
59
|
+
detachText: 'Der Datensatz bleibt als {target} erhalten; nur die Verknüpfung zu {owner} wird entfernt.',
|
|
60
|
+
detached: 'Verknüpfung von {title} gelöst.',
|
|
61
|
+
},
|
|
62
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// The settings area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
pageTitle: 'Einstellungen',
|
|
4
|
+
heading: 'Einstellungen',
|
|
5
|
+
empty: {
|
|
6
|
+
title: 'Keine Einstellungen',
|
|
7
|
+
text: 'Für dieses Konto ist nichts zur Verwaltung registriert.',
|
|
8
|
+
},
|
|
9
|
+
saved: '{label} gespeichert.',
|
|
10
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// The shell area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
titleTemplate: '{title} · {brand}',
|
|
4
|
+
brandSubtitle: 'Admin',
|
|
5
|
+
account: 'Konto',
|
|
6
|
+
signOut: 'Abmelden',
|
|
7
|
+
toggleNavigation: 'Navigation ein-/ausblenden',
|
|
8
|
+
toggleTheme: 'Design wechseln',
|
|
9
|
+
language: 'Sprache: {name}',
|
|
10
|
+
languageFailed: 'Die Sprache konnte nicht gespeichert werden: {error}',
|
|
11
|
+
nav: {
|
|
12
|
+
main: 'Hauptmenü',
|
|
13
|
+
dashboard: 'Dashboard',
|
|
14
|
+
jobs: 'Jobs',
|
|
15
|
+
settings: 'Einstellungen',
|
|
16
|
+
pages: 'Seiten',
|
|
17
|
+
badge: '{count} {label}',
|
|
18
|
+
},
|
|
19
|
+
page: {
|
|
20
|
+
unknown: 'Unbekannte Seite',
|
|
21
|
+
loading: 'Seite wird geladen',
|
|
22
|
+
},
|
|
23
|
+
impersonation: {
|
|
24
|
+
actingAs: 'Sie handeln als {name}.',
|
|
25
|
+
anotherUser: 'ein anderer Benutzer',
|
|
26
|
+
stop: 'Identitätswechsel beenden',
|
|
27
|
+
noAccess: '{name} hat keinen Zugriff auf den Admin, daher gibt es in dieser Rolle nichts zu sehen. Der Identitätswechsel wurde beendet.',
|
|
28
|
+
noToken: 'Die Anwendung hat weder ein Token noch ein Neuladen geliefert, daher wurde nichts geändert.',
|
|
29
|
+
},
|
|
30
|
+
palette: {
|
|
31
|
+
placeholder: 'Datensätze und Ressourcen suchen…',
|
|
32
|
+
records: 'Datensätze',
|
|
33
|
+
resources: 'Ressourcen',
|
|
34
|
+
noMatch: 'Keine passenden Datensätze',
|
|
35
|
+
},
|
|
36
|
+
inbox: {
|
|
37
|
+
title: 'Benachrichtigungen',
|
|
38
|
+
markAllRead: 'Alle als gelesen markieren',
|
|
39
|
+
empty: 'Noch nichts',
|
|
40
|
+
},
|
|
41
|
+
login: {
|
|
42
|
+
pageTitle: 'Anmelden · {brand}',
|
|
43
|
+
subtitle: 'Beim Admin anmelden',
|
|
44
|
+
email: 'E-Mail',
|
|
45
|
+
password: 'Passwort',
|
|
46
|
+
submit: 'Anmelden',
|
|
47
|
+
invalidEmail: 'Geben Sie eine gültige E-Mail-Adresse ein',
|
|
48
|
+
welcome: 'Willkommen zurück, {name}.',
|
|
49
|
+
signedOutIdle: 'Sie wurden nach {minutes} Minuten ohne Aktivität abgemeldet. Melden Sie sich erneut an, um dort weiterzumachen, wo Sie aufgehört haben.',
|
|
50
|
+
},
|
|
51
|
+
home: {
|
|
52
|
+
title: 'Dashboard',
|
|
53
|
+
},
|
|
54
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// The actions area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
// "Run {action} on {subject}?", with the action's label in bold.
|
|
4
|
+
runOn: 'Run {action} on {subject}?',
|
|
5
|
+
subjectAll: 'every matching {label} ({count})',
|
|
6
|
+
subjectCount: '{count} {label}',
|
|
7
|
+
done: '{label} done.',
|
|
8
|
+
declined: 'The action declined.',
|
|
9
|
+
downloadStarted: 'Download started.',
|
|
10
|
+
queued: '{label} was queued.',
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Words every area shares. Keep a key here only when two areas or more use it.
|
|
2
|
+
export default {
|
|
3
|
+
save: 'Save',
|
|
4
|
+
cancel: 'Cancel',
|
|
5
|
+
create: 'Create',
|
|
6
|
+
edit: 'Edit',
|
|
7
|
+
delete: 'Delete',
|
|
8
|
+
deleteForever: 'Delete forever',
|
|
9
|
+
restore: 'Restore',
|
|
10
|
+
close: 'Close',
|
|
11
|
+
apply: 'Apply',
|
|
12
|
+
remove: 'Remove',
|
|
13
|
+
search: 'Search',
|
|
14
|
+
loading: 'Loading…',
|
|
15
|
+
required: 'Required',
|
|
16
|
+
none: '—',
|
|
17
|
+
yes: 'Yes',
|
|
18
|
+
no: 'No',
|
|
19
|
+
download: 'Download',
|
|
20
|
+
actions: 'Actions',
|
|
21
|
+
confirm: 'Confirm',
|
|
22
|
+
serverRejected: 'The server rejected the request.',
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// The dashboard area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
title: 'Dashboard',
|
|
4
|
+
range: 'Range',
|
|
5
|
+
loading: 'Loading',
|
|
6
|
+
percent: '{value}%',
|
|
7
|
+
duration: {
|
|
8
|
+
minutes: '{value} min',
|
|
9
|
+
hours: '{value} h',
|
|
10
|
+
},
|
|
11
|
+
partition: {
|
|
12
|
+
empty: 'Nothing in this range.',
|
|
13
|
+
},
|
|
14
|
+
progress: {
|
|
15
|
+
of: 'of {target}',
|
|
16
|
+
label: 'Progress',
|
|
17
|
+
},
|
|
18
|
+
stat: {
|
|
19
|
+
previous: 'vs {value} before',
|
|
20
|
+
},
|
|
21
|
+
table: {
|
|
22
|
+
empty: 'Nothing to show.',
|
|
23
|
+
seeAll: 'See all',
|
|
24
|
+
},
|
|
25
|
+
trend: {
|
|
26
|
+
total: 'Total {value}',
|
|
27
|
+
},
|
|
28
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// The fields area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
cell: {
|
|
4
|
+
loading: 'Loading {label}',
|
|
5
|
+
},
|
|
6
|
+
keyValue: {
|
|
7
|
+
key: 'Key',
|
|
8
|
+
value: 'Value',
|
|
9
|
+
entry: 'Entry {n}',
|
|
10
|
+
add: 'Add entry',
|
|
11
|
+
remove: 'Remove entry {n}',
|
|
12
|
+
more: '+{count} more',
|
|
13
|
+
repeated: 'Used more than once: {keys}. The last one is kept.',
|
|
14
|
+
},
|
|
15
|
+
repeater: {
|
|
16
|
+
add: 'Add {label}',
|
|
17
|
+
remove: 'Remove {label} {n}',
|
|
18
|
+
row: '{label} {n}',
|
|
19
|
+
count: '{count} of at most {max}',
|
|
20
|
+
unavailable: 'You may not see these rows.',
|
|
21
|
+
},
|
|
22
|
+
relation: {
|
|
23
|
+
placeholder: 'Type to search',
|
|
24
|
+
dependsFirst: 'Choose {label} first',
|
|
25
|
+
},
|
|
26
|
+
upload: {
|
|
27
|
+
storageKey: 'The storage key of the file.',
|
|
28
|
+
tooLarge: 'The file is larger than {size} MB.',
|
|
29
|
+
rejected: 'The file {message}',
|
|
30
|
+
uploaded: 'Uploaded {name} ({size} KB)',
|
|
31
|
+
theFile: 'the file',
|
|
32
|
+
upTo: 'up to {size} MB',
|
|
33
|
+
preview: '{label} preview',
|
|
34
|
+
remove: 'Remove {label}',
|
|
35
|
+
},
|
|
36
|
+
richtext: {
|
|
37
|
+
toolbar: '{label} formatting',
|
|
38
|
+
bold: 'Bold',
|
|
39
|
+
italic: 'Italic',
|
|
40
|
+
underline: 'Underline',
|
|
41
|
+
strike: 'Strikethrough',
|
|
42
|
+
code: 'Code',
|
|
43
|
+
heading: 'Heading {level}',
|
|
44
|
+
bulletList: 'Bulleted list',
|
|
45
|
+
orderedList: 'Numbered list',
|
|
46
|
+
blockquote: 'Quote',
|
|
47
|
+
codeBlock: 'Code block',
|
|
48
|
+
horizontalRule: 'Divider',
|
|
49
|
+
link: 'Link',
|
|
50
|
+
linkUrl: 'Link address',
|
|
51
|
+
linkRefused: 'Use an http(s), mailto or relative link',
|
|
52
|
+
insertTable: 'Insert table',
|
|
53
|
+
addRow: 'Add row',
|
|
54
|
+
addColumn: 'Add column',
|
|
55
|
+
deleteRow: 'Delete row',
|
|
56
|
+
deleteColumn: 'Delete column',
|
|
57
|
+
deleteTable: 'Delete table',
|
|
58
|
+
image: 'Insert image',
|
|
59
|
+
undo: 'Undo',
|
|
60
|
+
redo: 'Redo',
|
|
61
|
+
source: 'Source',
|
|
62
|
+
visual: 'Visual',
|
|
63
|
+
sourceOf: '{label} source',
|
|
64
|
+
},
|
|
65
|
+
rules: {
|
|
66
|
+
maxLength: 'At most {max} characters',
|
|
67
|
+
minLength: 'At least {min} characters',
|
|
68
|
+
email: 'Enter a valid e-mail address',
|
|
69
|
+
url: 'Enter a valid URL',
|
|
70
|
+
greaterThan: 'Must be greater than {limit}',
|
|
71
|
+
greaterThanOrEqual: 'Must be at least {limit}',
|
|
72
|
+
lessThan: 'Must be less than {limit}',
|
|
73
|
+
lessThanOrEqual: 'Must be at most {limit}',
|
|
74
|
+
invalidFormat: 'Invalid format',
|
|
75
|
+
notAllowed: 'Not an allowed value',
|
|
76
|
+
},
|
|
77
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import actions from './actions'
|
|
2
|
+
import common from './common'
|
|
3
|
+
import dashboard from './dashboard'
|
|
4
|
+
import fields from './fields'
|
|
5
|
+
import jobs from './jobs'
|
|
6
|
+
import list from './list'
|
|
7
|
+
import record from './record'
|
|
8
|
+
import settings from './settings'
|
|
9
|
+
import shell from './shell'
|
|
10
|
+
|
|
11
|
+
/** English, the fallback for every other locale: one object per area of the UI. */
|
|
12
|
+
export default { common, shell, list, record, actions, dashboard, jobs, settings, fields }
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// The jobs area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
title: 'Jobs',
|
|
4
|
+
heading: 'Background jobs',
|
|
5
|
+
columns: {
|
|
6
|
+
job: 'Job',
|
|
7
|
+
resource: 'Resource',
|
|
8
|
+
status: 'Status',
|
|
9
|
+
progress: 'Progress',
|
|
10
|
+
started: 'Started',
|
|
11
|
+
},
|
|
12
|
+
empty: 'No jobs yet. Large exports, imports and queued actions appear here.',
|
|
13
|
+
kind: {
|
|
14
|
+
action: 'action',
|
|
15
|
+
export: 'export',
|
|
16
|
+
import: 'import',
|
|
17
|
+
},
|
|
18
|
+
status: {
|
|
19
|
+
queued: 'queued',
|
|
20
|
+
running: 'running',
|
|
21
|
+
done: 'done',
|
|
22
|
+
failed: 'failed',
|
|
23
|
+
stalled: 'stalled',
|
|
24
|
+
},
|
|
25
|
+
detail: {
|
|
26
|
+
pageTitle: 'Job #{id}',
|
|
27
|
+
fallbackTitle: 'Job',
|
|
28
|
+
started: 'started {date}',
|
|
29
|
+
finished: 'finished {date}',
|
|
30
|
+
progress: 'Job progress',
|
|
31
|
+
processed: '{processed} processed',
|
|
32
|
+
processedOfTotal: '{processed} of {total} processed',
|
|
33
|
+
download: 'Download {file}',
|
|
34
|
+
file: 'file',
|
|
35
|
+
},
|
|
36
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// The list area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
field: 'Field',
|
|
4
|
+
search: 'Search {label}…',
|
|
5
|
+
noSearch: 'No searchable fields',
|
|
6
|
+
noGrouping: 'No grouping',
|
|
7
|
+
groupBy: 'Group by',
|
|
8
|
+
groupHeader: '{label}:',
|
|
9
|
+
expandGroup: 'Expand group',
|
|
10
|
+
collapseGroup: 'Collapse group',
|
|
11
|
+
trash: {
|
|
12
|
+
label: 'Trash',
|
|
13
|
+
active: 'Active',
|
|
14
|
+
only: 'Trash',
|
|
15
|
+
with: 'Active and trash',
|
|
16
|
+
},
|
|
17
|
+
exportCsv: 'Export CSV',
|
|
18
|
+
importCsv: 'Import CSV',
|
|
19
|
+
exportQueued: 'The export is large and was queued; you are notified when it is ready.',
|
|
20
|
+
exportPrepared: 'The export is being prepared; you are notified when it is ready.',
|
|
21
|
+
export: 'Export',
|
|
22
|
+
exportFormats: {
|
|
23
|
+
csv: 'CSV',
|
|
24
|
+
xlsx: 'Excel (XLSX)',
|
|
25
|
+
},
|
|
26
|
+
nothingMatches: 'Nothing matches',
|
|
27
|
+
empty: 'No {label} yet',
|
|
28
|
+
summary: {
|
|
29
|
+
sum: 'Sum',
|
|
30
|
+
avg: 'Average',
|
|
31
|
+
min: 'Min',
|
|
32
|
+
max: 'Max',
|
|
33
|
+
count: 'Count',
|
|
34
|
+
},
|
|
35
|
+
operation: {
|
|
36
|
+
deleteTitle: 'Delete {count} {noun}?',
|
|
37
|
+
restoreTitle: 'Restore {count} {noun}?',
|
|
38
|
+
forceDeleteTitle: 'Delete {count} {noun} forever?',
|
|
39
|
+
toTrash: 'They move to the trash and can be restored.',
|
|
40
|
+
irreversible: 'This cannot be undone.',
|
|
41
|
+
restored: '{count} {noun} restored.',
|
|
42
|
+
deleted: '{count} {noun} deleted.',
|
|
43
|
+
},
|
|
44
|
+
bulk: {
|
|
45
|
+
allMatching: 'All {total} matching',
|
|
46
|
+
selected: '{count} selected',
|
|
47
|
+
selectAllMatching: 'Select all {total} matching',
|
|
48
|
+
onlyChecked: 'Only checked rows',
|
|
49
|
+
clearSelection: 'Clear selection',
|
|
50
|
+
},
|
|
51
|
+
bulkEdit: {
|
|
52
|
+
everyMatching: 'every matching {noun} ({count})',
|
|
53
|
+
some: '{count} {noun}',
|
|
54
|
+
title: 'Edit {subject}',
|
|
55
|
+
fieldsToChange: 'Fields to change',
|
|
56
|
+
fieldsHint: 'Only the fields you pick are written; every other value stays as it is.',
|
|
57
|
+
applyTo: 'Apply to {count}',
|
|
58
|
+
updated: '{count} {noun} updated.',
|
|
59
|
+
},
|
|
60
|
+
columns: {
|
|
61
|
+
title: 'Columns',
|
|
62
|
+
moveUp: 'Move up',
|
|
63
|
+
moveDown: 'Move down',
|
|
64
|
+
reset: 'Reset',
|
|
65
|
+
},
|
|
66
|
+
filter: {
|
|
67
|
+
add: 'Add filter',
|
|
68
|
+
condition: 'Condition',
|
|
69
|
+
value: 'Value',
|
|
70
|
+
from: 'From',
|
|
71
|
+
to: 'To',
|
|
72
|
+
commaSeparated: 'Comma-separated',
|
|
73
|
+
clear: 'Clear',
|
|
74
|
+
yes: 'yes',
|
|
75
|
+
no: 'no',
|
|
76
|
+
and: 'and',
|
|
77
|
+
chip: '{field} {operator} {value}',
|
|
78
|
+
chipNoValue: '{field} {operator}',
|
|
79
|
+
anyOf: 'Any of',
|
|
80
|
+
anyOfGroup: 'Any of, group {n}',
|
|
81
|
+
alternative: 'Alternative {n}',
|
|
82
|
+
or: 'or',
|
|
83
|
+
orCondition: 'or…',
|
|
84
|
+
addAnyOf: 'Add “any of”',
|
|
85
|
+
addToAlternative: 'Add a condition to alternative {n}',
|
|
86
|
+
removeGroup: 'Remove group {n}',
|
|
87
|
+
advanced: 'Advanced condition',
|
|
88
|
+
operators: {
|
|
89
|
+
eq: 'is',
|
|
90
|
+
ne: 'is not',
|
|
91
|
+
lt: '<',
|
|
92
|
+
lte: '≤',
|
|
93
|
+
gt: '>',
|
|
94
|
+
gte: '≥',
|
|
95
|
+
in: 'is any of',
|
|
96
|
+
nin: 'is none of',
|
|
97
|
+
like: 'contains',
|
|
98
|
+
nlike: 'does not contain',
|
|
99
|
+
between: 'is between',
|
|
100
|
+
null: 'is empty',
|
|
101
|
+
nnull: 'is not empty',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
views: {
|
|
105
|
+
menu: 'Views',
|
|
106
|
+
allRecords: 'All records',
|
|
107
|
+
default: 'Default',
|
|
108
|
+
updateWithCurrent: 'Update view with the current list',
|
|
109
|
+
delete: 'Delete view',
|
|
110
|
+
deleteTitle: 'Delete view “{name}”?',
|
|
111
|
+
saveCurrent: 'Save current as view…',
|
|
112
|
+
saveTitle: 'Save view',
|
|
113
|
+
updateTitle: 'Update “{name}”',
|
|
114
|
+
name: 'Name',
|
|
115
|
+
share: 'Share with every admin',
|
|
116
|
+
openWith: 'Open this resource with this view',
|
|
117
|
+
openWithForEveryone: 'Open it this way for everyone without a default of their own',
|
|
118
|
+
shareFirst: 'Share the view to make it everyone’s default.',
|
|
119
|
+
everyoneDefault: 'Default for everyone',
|
|
120
|
+
saved: 'View “{name}” saved.',
|
|
121
|
+
},
|
|
122
|
+
import: {
|
|
123
|
+
title: 'Import {label}',
|
|
124
|
+
file: 'CSV file',
|
|
125
|
+
analyse: 'Analyse',
|
|
126
|
+
instructions: '{rows} rows. Map each column to a field, or leave it unmapped to skip it. A `manyToMany` column takes identifiers separated by `{pipe}`.',
|
|
127
|
+
csvColumn: 'CSV column',
|
|
128
|
+
sample: 'Sample',
|
|
129
|
+
skip: '— skip —',
|
|
130
|
+
start: 'Import {rows} rows',
|
|
131
|
+
queued: 'Import of {rows} rows queued.',
|
|
132
|
+
mode: 'Rows',
|
|
133
|
+
modes: {
|
|
134
|
+
create: 'Create new records',
|
|
135
|
+
update: 'Update existing records',
|
|
136
|
+
upsert: 'Update or create',
|
|
137
|
+
},
|
|
138
|
+
key: 'Match rows by',
|
|
139
|
+
noKey: 'Map a column to the key or a unique field first.',
|
|
140
|
+
modeHelp: {
|
|
141
|
+
update: 'Each row updates the record whose value matches; a row that matches none goes to the failed-rows file.',
|
|
142
|
+
upsert: 'Each row updates the record whose value matches, or creates one when none does.',
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
page: {
|
|
146
|
+
create: 'New {noun}',
|
|
147
|
+
unknown: 'Unknown resource',
|
|
148
|
+
unknownText: 'Nothing is registered as “{slug}”.',
|
|
149
|
+
},
|
|
150
|
+
inline: {
|
|
151
|
+
editLabel: 'Edit {label}',
|
|
152
|
+
pending: '{count} unsaved change | {count} unsaved changes',
|
|
153
|
+
save: 'Save changes',
|
|
154
|
+
discard: 'Discard',
|
|
155
|
+
saved: 'One record saved. | {count} records saved.',
|
|
156
|
+
conflict: 'A record changed since the list loaded. Reload it and edit again.',
|
|
157
|
+
leaveTitle: 'Discard {count} unsaved change? | Discard {count} unsaved changes?',
|
|
158
|
+
leaveText: 'Leaving the list drops the edits you have not saved.',
|
|
159
|
+
},
|
|
160
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// The record area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
unknownResource: 'Unknown resource',
|
|
4
|
+
new: 'New',
|
|
5
|
+
newTitle: 'New {label}',
|
|
6
|
+
editTitle: 'Edit {title}',
|
|
7
|
+
createNotAllowed: 'This resource does not allow creating records here.',
|
|
8
|
+
editNotAllowed: 'You may not edit this record.',
|
|
9
|
+
saved: '{label} saved.',
|
|
10
|
+
duplicate: 'Duplicate',
|
|
11
|
+
copyOf: 'A copy of “{title}”. Values that must be unique, and files, start empty.',
|
|
12
|
+
variants: {
|
|
13
|
+
menu: 'More ways to save',
|
|
14
|
+
saveContinue: 'Save and continue editing',
|
|
15
|
+
createContinue: 'Create and continue editing',
|
|
16
|
+
createAnother: 'Create and add another',
|
|
17
|
+
},
|
|
18
|
+
leave: {
|
|
19
|
+
title: 'Discard your changes?',
|
|
20
|
+
text: 'Leaving this page drops the changes you have not saved.',
|
|
21
|
+
discard: 'Discard',
|
|
22
|
+
},
|
|
23
|
+
inTrash: 'In the trash',
|
|
24
|
+
deleteTitle: 'Delete {noun} “{title}”?',
|
|
25
|
+
deleteForeverTitle: 'Delete forever {noun} “{title}”?',
|
|
26
|
+
deleteSoftText: 'It moves to the trash and can be restored.',
|
|
27
|
+
deleteHardText: 'This cannot be undone.',
|
|
28
|
+
trashed: '{label} moved to the trash.',
|
|
29
|
+
deleted: '{label} deleted.',
|
|
30
|
+
restored: '{label} restored.',
|
|
31
|
+
impersonate: {
|
|
32
|
+
action: 'Impersonate',
|
|
33
|
+
title: 'Act as “{title}”?',
|
|
34
|
+
text: 'You see and do what they can, and every change is logged as theirs, with you as the impersonator.',
|
|
35
|
+
started: 'You are now acting as {title}.',
|
|
36
|
+
},
|
|
37
|
+
audit: {
|
|
38
|
+
title: 'History',
|
|
39
|
+
byUser: 'by user {actor}',
|
|
40
|
+
impersonatedBy: '(as impersonated by {impersonator})',
|
|
41
|
+
empty: 'No recorded changes.',
|
|
42
|
+
revert: 'Revert',
|
|
43
|
+
revertLabel: 'Revert this change',
|
|
44
|
+
revertTitle: 'Revert this change?',
|
|
45
|
+
revertText: 'Puts back the earlier value of {fields}. The revert is recorded in the history too.',
|
|
46
|
+
reverted: 'Change reverted.',
|
|
47
|
+
},
|
|
48
|
+
panel: {
|
|
49
|
+
attach: 'Attach',
|
|
50
|
+
attachTitle: 'Attach {label}',
|
|
51
|
+
attachCount: 'Attach {count}',
|
|
52
|
+
attached: '{count} {label} attached.',
|
|
53
|
+
records: 'records',
|
|
54
|
+
record: 'record',
|
|
55
|
+
empty: 'No {label} yet.',
|
|
56
|
+
detach: 'Detach',
|
|
57
|
+
detachLabel: 'Detach {title}',
|
|
58
|
+
detachTitle: 'Detach “{title}”?',
|
|
59
|
+
detachText: 'It stays a {target}; only its link to this {owner} is removed.',
|
|
60
|
+
detached: '{title} detached.',
|
|
61
|
+
},
|
|
62
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// The settings area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
pageTitle: 'Settings',
|
|
4
|
+
heading: 'Settings',
|
|
5
|
+
empty: {
|
|
6
|
+
title: 'No settings',
|
|
7
|
+
text: 'Nothing is registered for this account to manage.',
|
|
8
|
+
},
|
|
9
|
+
saved: '{label} saved.',
|
|
10
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// The shell area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
titleTemplate: '{title} · {brand}',
|
|
4
|
+
brandSubtitle: 'Admin',
|
|
5
|
+
account: 'Account',
|
|
6
|
+
signOut: 'Sign out',
|
|
7
|
+
toggleNavigation: 'Toggle navigation',
|
|
8
|
+
toggleTheme: 'Toggle theme',
|
|
9
|
+
language: 'Language: {name}',
|
|
10
|
+
languageFailed: 'The language could not be saved: {error}',
|
|
11
|
+
nav: {
|
|
12
|
+
main: 'Main',
|
|
13
|
+
dashboard: 'Dashboard',
|
|
14
|
+
jobs: 'Jobs',
|
|
15
|
+
settings: 'Settings',
|
|
16
|
+
pages: 'Pages',
|
|
17
|
+
badge: '{count} {label}',
|
|
18
|
+
},
|
|
19
|
+
page: {
|
|
20
|
+
unknown: 'Unknown page',
|
|
21
|
+
loading: 'Loading the page',
|
|
22
|
+
},
|
|
23
|
+
impersonation: {
|
|
24
|
+
actingAs: 'You are acting as {name}.',
|
|
25
|
+
anotherUser: 'another user',
|
|
26
|
+
stop: 'Stop impersonating',
|
|
27
|
+
noAccess: '{name} has no access to the admin, so there is nothing to see as them. Impersonation was stopped.',
|
|
28
|
+
noToken: 'The application answered without a token or a reload, so nothing changed.',
|
|
29
|
+
},
|
|
30
|
+
palette: {
|
|
31
|
+
placeholder: 'Search records and resources…',
|
|
32
|
+
records: 'Records',
|
|
33
|
+
resources: 'Resources',
|
|
34
|
+
noMatch: 'No records match',
|
|
35
|
+
},
|
|
36
|
+
inbox: {
|
|
37
|
+
title: 'Notifications',
|
|
38
|
+
markAllRead: 'Mark all read',
|
|
39
|
+
empty: 'Nothing yet',
|
|
40
|
+
},
|
|
41
|
+
login: {
|
|
42
|
+
pageTitle: 'Sign in · {brand}',
|
|
43
|
+
subtitle: 'Sign in to the admin',
|
|
44
|
+
email: 'E-mail',
|
|
45
|
+
password: 'Password',
|
|
46
|
+
submit: 'Sign in',
|
|
47
|
+
invalidEmail: 'Enter a valid e-mail address',
|
|
48
|
+
welcome: 'Welcome back, {name}.',
|
|
49
|
+
signedOutIdle: 'You were signed out after {minutes} minutes of inactivity. Sign in again to continue where you left off.',
|
|
50
|
+
},
|
|
51
|
+
home: {
|
|
52
|
+
title: 'Dashboard',
|
|
53
|
+
},
|
|
54
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// The actions area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
// "Run {action} on {subject}?", with the action's label in bold.
|
|
4
|
+
runOn: '¿Ejecutar {action} en {subject}?',
|
|
5
|
+
subjectAll: 'todos los {label} coincidentes ({count})',
|
|
6
|
+
subjectCount: '{count} {label}',
|
|
7
|
+
done: 'Se completó {label}.',
|
|
8
|
+
declined: 'La acción se rechazó.',
|
|
9
|
+
downloadStarted: 'Descarga iniciada.',
|
|
10
|
+
queued: '{label} se puso en cola.',
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Words every area shares. Keep a key here only when two areas or more use it.
|
|
2
|
+
export default {
|
|
3
|
+
save: 'Guardar',
|
|
4
|
+
cancel: 'Cancelar',
|
|
5
|
+
create: 'Crear',
|
|
6
|
+
edit: 'Editar',
|
|
7
|
+
delete: 'Eliminar',
|
|
8
|
+
deleteForever: 'Eliminar definitivamente',
|
|
9
|
+
restore: 'Restaurar',
|
|
10
|
+
close: 'Cerrar',
|
|
11
|
+
apply: 'Aplicar',
|
|
12
|
+
remove: 'Quitar',
|
|
13
|
+
search: 'Buscar',
|
|
14
|
+
loading: 'Cargando…',
|
|
15
|
+
required: 'Obligatorio',
|
|
16
|
+
none: '—',
|
|
17
|
+
yes: 'Sí',
|
|
18
|
+
no: 'No',
|
|
19
|
+
download: 'Descargar',
|
|
20
|
+
actions: 'Acciones',
|
|
21
|
+
confirm: 'Confirmar',
|
|
22
|
+
serverRejected: 'El servidor rechazó la solicitud.',
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// The dashboard area's strings; see common.ts for words every area shares.
|
|
2
|
+
export default {
|
|
3
|
+
title: 'Panel',
|
|
4
|
+
range: 'Periodo',
|
|
5
|
+
loading: 'Cargando',
|
|
6
|
+
percent: '{value} %',
|
|
7
|
+
duration: {
|
|
8
|
+
minutes: '{value} min',
|
|
9
|
+
hours: '{value} h',
|
|
10
|
+
},
|
|
11
|
+
partition: {
|
|
12
|
+
empty: 'No hay nada en este periodo.',
|
|
13
|
+
},
|
|
14
|
+
progress: {
|
|
15
|
+
of: 'de {target}',
|
|
16
|
+
label: 'Progreso',
|
|
17
|
+
},
|
|
18
|
+
stat: {
|
|
19
|
+
previous: 'frente a {value} antes',
|
|
20
|
+
},
|
|
21
|
+
table: {
|
|
22
|
+
empty: 'No hay nada que mostrar.',
|
|
23
|
+
seeAll: 'Ver todo',
|
|
24
|
+
},
|
|
25
|
+
trend: {
|
|
26
|
+
total: 'Total {value}',
|
|
27
|
+
},
|
|
28
|
+
}
|