@adminiumjs/i18n 0.2.1 → 0.2.2-rc.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/dist/a11y-keys.d.ts.map +1 -1
- package/dist/a11y-keys.js +1 -0
- package/dist/a11y-keys.js.map +1 -1
- package/dist/create-i18n.d.ts.map +1 -1
- package/dist/create-i18n.js +1 -0
- package/dist/create-i18n.js.map +1 -1
- package/dist/editing.d.ts.map +1 -1
- package/dist/editing.js +1 -0
- package/dist/editing.js.map +1 -1
- package/dist/fallback.d.ts.map +1 -1
- package/dist/fallback.js +1 -0
- package/dist/fallback.js.map +1 -1
- package/dist/format/index.d.ts.map +1 -1
- package/dist/format/index.js +1 -0
- package/dist/format/index.js.map +1 -1
- package/dist/format-errors.d.ts.map +1 -1
- package/dist/format-errors.js +1 -0
- package/dist/format-errors.js.map +1 -1
- package/dist/icu-format.d.ts.map +1 -1
- package/dist/icu-format.js +1 -0
- package/dist/icu-format.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +1 -0
- package/dist/keys.js.map +1 -1
- package/dist/locales.d.ts +6 -2
- package/dist/locales.d.ts.map +1 -1
- package/dist/locales.js +7 -2
- package/dist/locales.js.map +1 -1
- package/dist/overrides.d.ts.map +1 -1
- package/dist/overrides.js +1 -0
- package/dist/overrides.js.map +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +1 -0
- package/dist/react.js.map +1 -1
- package/dist/resources/ar-eg/common.d.ts +692 -5
- package/dist/resources/ar-eg/common.d.ts.map +1 -1
- package/dist/resources/ar-eg/common.js +712 -24
- package/dist/resources/ar-eg/common.js.map +1 -1
- package/dist/resources/ar-eg/errors.d.ts +1 -0
- package/dist/resources/ar-eg/errors.d.ts.map +1 -1
- package/dist/resources/ar-eg/errors.js +2 -0
- package/dist/resources/ar-eg/errors.js.map +1 -1
- package/dist/resources/ar-eg/generated.d.ts.map +1 -1
- package/dist/resources/ar-eg/generated.js +1 -0
- package/dist/resources/ar-eg/generated.js.map +1 -1
- package/dist/resources/ar-eg/studio.d.ts.map +1 -1
- package/dist/resources/ar-eg/studio.js +1 -0
- package/dist/resources/ar-eg/studio.js.map +1 -1
- package/dist/resources/ar-eg/ui.d.ts.map +1 -1
- package/dist/resources/ar-eg/ui.js +1 -0
- package/dist/resources/ar-eg/ui.js.map +1 -1
- package/dist/resources/cs-cz/common.d.ts +692 -5
- package/dist/resources/cs-cz/common.d.ts.map +1 -1
- package/dist/resources/cs-cz/common.js +712 -24
- package/dist/resources/cs-cz/common.js.map +1 -1
- package/dist/resources/cs-cz/errors.d.ts +1 -0
- package/dist/resources/cs-cz/errors.d.ts.map +1 -1
- package/dist/resources/cs-cz/errors.js +2 -0
- package/dist/resources/cs-cz/errors.js.map +1 -1
- package/dist/resources/cs-cz/generated.d.ts.map +1 -1
- package/dist/resources/cs-cz/generated.js +1 -0
- package/dist/resources/cs-cz/generated.js.map +1 -1
- package/dist/resources/cs-cz/studio.d.ts.map +1 -1
- package/dist/resources/cs-cz/studio.js +1 -0
- package/dist/resources/cs-cz/studio.js.map +1 -1
- package/dist/resources/cs-cz/ui.d.ts.map +1 -1
- package/dist/resources/cs-cz/ui.js +1 -0
- package/dist/resources/cs-cz/ui.js.map +1 -1
- package/dist/resources/da-dk/common.d.ts +692 -5
- package/dist/resources/da-dk/common.d.ts.map +1 -1
- package/dist/resources/da-dk/common.js +712 -24
- package/dist/resources/da-dk/common.js.map +1 -1
- package/dist/resources/da-dk/errors.d.ts +1 -0
- package/dist/resources/da-dk/errors.d.ts.map +1 -1
- package/dist/resources/da-dk/errors.js +2 -0
- package/dist/resources/da-dk/errors.js.map +1 -1
- package/dist/resources/da-dk/generated.d.ts.map +1 -1
- package/dist/resources/da-dk/generated.js +1 -0
- package/dist/resources/da-dk/generated.js.map +1 -1
- package/dist/resources/da-dk/studio.d.ts.map +1 -1
- package/dist/resources/da-dk/studio.js +1 -0
- package/dist/resources/da-dk/studio.js.map +1 -1
- package/dist/resources/da-dk/ui.d.ts.map +1 -1
- package/dist/resources/da-dk/ui.js +1 -0
- package/dist/resources/da-dk/ui.js.map +1 -1
- package/dist/resources/de-de/common.d.ts +692 -5
- package/dist/resources/de-de/common.d.ts.map +1 -1
- package/dist/resources/de-de/common.js +712 -24
- package/dist/resources/de-de/common.js.map +1 -1
- package/dist/resources/de-de/errors.d.ts +1 -0
- package/dist/resources/de-de/errors.d.ts.map +1 -1
- package/dist/resources/de-de/errors.js +2 -0
- package/dist/resources/de-de/errors.js.map +1 -1
- package/dist/resources/de-de/generated.d.ts.map +1 -1
- package/dist/resources/de-de/generated.js +1 -0
- package/dist/resources/de-de/generated.js.map +1 -1
- package/dist/resources/de-de/studio.d.ts.map +1 -1
- package/dist/resources/de-de/studio.js +1 -0
- package/dist/resources/de-de/studio.js.map +1 -1
- package/dist/resources/de-de/ui.d.ts.map +1 -1
- package/dist/resources/de-de/ui.js +1 -0
- package/dist/resources/de-de/ui.js.map +1 -1
- package/dist/resources/en-us/common.d.ts +692 -5
- package/dist/resources/en-us/common.d.ts.map +1 -1
- package/dist/resources/en-us/common.js +712 -24
- package/dist/resources/en-us/common.js.map +1 -1
- package/dist/resources/en-us/errors.d.ts +1 -0
- package/dist/resources/en-us/errors.d.ts.map +1 -1
- package/dist/resources/en-us/errors.js +2 -0
- package/dist/resources/en-us/errors.js.map +1 -1
- package/dist/resources/en-us/generated.d.ts.map +1 -1
- package/dist/resources/en-us/generated.js +1 -0
- package/dist/resources/en-us/generated.js.map +1 -1
- package/dist/resources/en-us/studio.d.ts.map +1 -1
- package/dist/resources/en-us/studio.js +1 -0
- package/dist/resources/en-us/studio.js.map +1 -1
- package/dist/resources/en-us/ui.d.ts.map +1 -1
- package/dist/resources/en-us/ui.js +1 -0
- package/dist/resources/en-us/ui.js.map +1 -1
- package/dist/resources/fr-fr/common.d.ts +692 -5
- package/dist/resources/fr-fr/common.d.ts.map +1 -1
- package/dist/resources/fr-fr/common.js +712 -24
- package/dist/resources/fr-fr/common.js.map +1 -1
- package/dist/resources/fr-fr/errors.d.ts +1 -0
- package/dist/resources/fr-fr/errors.d.ts.map +1 -1
- package/dist/resources/fr-fr/errors.js +2 -0
- package/dist/resources/fr-fr/errors.js.map +1 -1
- package/dist/resources/fr-fr/generated.d.ts.map +1 -1
- package/dist/resources/fr-fr/generated.js +1 -0
- package/dist/resources/fr-fr/generated.js.map +1 -1
- package/dist/resources/fr-fr/studio.d.ts.map +1 -1
- package/dist/resources/fr-fr/studio.js +1 -0
- package/dist/resources/fr-fr/studio.js.map +1 -1
- package/dist/resources/fr-fr/ui.d.ts.map +1 -1
- package/dist/resources/fr-fr/ui.js +1 -0
- package/dist/resources/fr-fr/ui.js.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +1 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/lazy.d.ts.map +1 -1
- package/dist/resources/lazy.js.map +1 -1
- package/dist/resources/zh-cn/common.d.ts +692 -5
- package/dist/resources/zh-cn/common.d.ts.map +1 -1
- package/dist/resources/zh-cn/common.js +712 -24
- package/dist/resources/zh-cn/common.js.map +1 -1
- package/dist/resources/zh-cn/errors.d.ts +1 -0
- package/dist/resources/zh-cn/errors.d.ts.map +1 -1
- package/dist/resources/zh-cn/errors.js +2 -0
- package/dist/resources/zh-cn/errors.js.map +1 -1
- package/dist/resources/zh-cn/generated.d.ts.map +1 -1
- package/dist/resources/zh-cn/generated.js +1 -0
- package/dist/resources/zh-cn/generated.js.map +1 -1
- package/dist/resources/zh-cn/studio.d.ts.map +1 -1
- package/dist/resources/zh-cn/studio.js +1 -0
- package/dist/resources/zh-cn/studio.js.map +1 -1
- package/dist/resources/zh-cn/ui.d.ts.map +1 -1
- package/dist/resources/zh-cn/ui.js +1 -0
- package/dist/resources/zh-cn/ui.js.map +1 -1
- package/dist/resources/zh-tw/common.d.ts +692 -5
- package/dist/resources/zh-tw/common.d.ts.map +1 -1
- package/dist/resources/zh-tw/common.js +712 -24
- package/dist/resources/zh-tw/common.js.map +1 -1
- package/dist/resources/zh-tw/errors.d.ts +1 -0
- package/dist/resources/zh-tw/errors.d.ts.map +1 -1
- package/dist/resources/zh-tw/errors.js +2 -0
- package/dist/resources/zh-tw/errors.js.map +1 -1
- package/dist/resources/zh-tw/generated.d.ts.map +1 -1
- package/dist/resources/zh-tw/generated.js +1 -0
- package/dist/resources/zh-tw/generated.js.map +1 -1
- package/dist/resources/zh-tw/studio.d.ts.map +1 -1
- package/dist/resources/zh-tw/studio.js +1 -0
- package/dist/resources/zh-tw/studio.js.map +1 -1
- package/dist/resources/zh-tw/ui.d.ts.map +1 -1
- package/dist/resources/zh-tw/ui.js +1 -0
- package/dist/resources/zh-tw/ui.js.map +1 -1
- package/dist/review-status.d.ts.map +1 -1
- package/dist/review-status.js +8 -7
- package/dist/review-status.js.map +1 -1
- package/dist/revision.d.ts.map +1 -1
- package/dist/revision.js +1 -0
- package/dist/revision.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/validate-message.d.ts.map +1 -1
- package/dist/validate-message.js +1 -0
- package/dist/validate-message.js.map +1 -1
- package/locales/ar-EG/.meta.json +4790 -2678
- package/locales/ar-EG/common.json +711 -24
- package/locales/ar-EG/errors.json +1 -0
- package/locales/cs-CZ/.meta.json +4790 -2678
- package/locales/cs-CZ/common.json +711 -24
- package/locales/cs-CZ/errors.json +1 -0
- package/locales/da-DK/.meta.json +4790 -2678
- package/locales/da-DK/common.json +711 -24
- package/locales/da-DK/errors.json +1 -0
- package/locales/de-DE/.meta.json +4790 -2678
- package/locales/de-DE/common.json +711 -24
- package/locales/de-DE/errors.json +1 -0
- package/locales/en-US/common.json +711 -24
- package/locales/en-US/errors.json +1 -0
- package/locales/fr-FR/.meta.json +4790 -2678
- package/locales/fr-FR/common.json +711 -24
- package/locales/fr-FR/errors.json +1 -0
- package/locales/zh-CN/.meta.json +4790 -2678
- package/locales/zh-CN/common.json +711 -24
- package/locales/zh-CN/errors.json +1 -0
- package/locales/zh-TW/.meta.json +4790 -2678
- package/locales/zh-TW/common.json +711 -24
- package/locales/zh-TW/errors.json +1 -0
- package/package.json +2 -2
|
@@ -97,7 +97,12 @@
|
|
|
97
97
|
"planning": "Planning",
|
|
98
98
|
"people": "People",
|
|
99
99
|
"account": "Account"
|
|
100
|
-
}
|
|
100
|
+
},
|
|
101
|
+
"back": "Back",
|
|
102
|
+
"team": "Team",
|
|
103
|
+
"roles": "Roles & permissions",
|
|
104
|
+
"audit": "Audit log",
|
|
105
|
+
"security": "Password & sessions"
|
|
101
106
|
},
|
|
102
107
|
"topbar": {
|
|
103
108
|
"search": "Search…",
|
|
@@ -120,8 +125,8 @@
|
|
|
120
125
|
"askAi": "Ask AI",
|
|
121
126
|
"shortcuts": "Keyboard shortcuts",
|
|
122
127
|
"signOut": "Sign out",
|
|
123
|
-
"themeDark": "
|
|
124
|
-
"themeLight": "
|
|
128
|
+
"themeDark": "Dark mode",
|
|
129
|
+
"themeLight": "Light mode",
|
|
125
130
|
"footerNavigate": "navigate",
|
|
126
131
|
"footerOpen": "select",
|
|
127
132
|
"footerClose": "close",
|
|
@@ -544,6 +549,23 @@
|
|
|
544
549
|
"label": "Application name",
|
|
545
550
|
"helper": "Shown in the sidebar, browser title, and emails.",
|
|
546
551
|
"error": "Enter a name of at most 60 characters."
|
|
552
|
+
},
|
|
553
|
+
"logo": {
|
|
554
|
+
"label": "Logo",
|
|
555
|
+
"drop": "Drop an image here",
|
|
556
|
+
"helper": "PNG, JPEG, WebP, GIF or SVG, up to 1 MB. Replaces the built-in mark everywhere.",
|
|
557
|
+
"upload": "Upload logo",
|
|
558
|
+
"replace": "Replace logo",
|
|
559
|
+
"remove": "Remove",
|
|
560
|
+
"uploaded": "Logo updated",
|
|
561
|
+
"removed": "Logo removed",
|
|
562
|
+
"tooLarge": "That image is larger than 1 MB.",
|
|
563
|
+
"badType": "Choose a PNG, JPEG, WebP, GIF or SVG image.",
|
|
564
|
+
"undo": "Undo"
|
|
565
|
+
},
|
|
566
|
+
"showVersion": {
|
|
567
|
+
"label": "Version in the sidebar",
|
|
568
|
+
"helper": "The build number beside the logo. Off hides which version you run."
|
|
547
569
|
}
|
|
548
570
|
},
|
|
549
571
|
"security": {
|
|
@@ -573,6 +595,8 @@
|
|
|
573
595
|
"close": "Close",
|
|
574
596
|
"on": "On",
|
|
575
597
|
"off": "Off",
|
|
598
|
+
"shown": "Shown",
|
|
599
|
+
"hidden": "Hidden",
|
|
576
600
|
"change": "{before} → {after}"
|
|
577
601
|
},
|
|
578
602
|
"defaultsCard": {
|
|
@@ -591,6 +615,11 @@
|
|
|
591
615
|
"heading": "AI enrichment",
|
|
592
616
|
"body": "Configure an AI provider (or the copy-paste round-trip) to enrich labels, groups and relations.",
|
|
593
617
|
"cta": "Open AI settings"
|
|
618
|
+
},
|
|
619
|
+
"pagesCard": {
|
|
620
|
+
"heading": "Pages",
|
|
621
|
+
"body": "Add, edit and delete pages, change what each one shows, and reorder the sidebar.",
|
|
622
|
+
"cta": "Manage pages"
|
|
594
623
|
}
|
|
595
624
|
},
|
|
596
625
|
"settingsAi": {
|
|
@@ -956,7 +985,20 @@
|
|
|
956
985
|
"testFailed": "Connection failed.",
|
|
957
986
|
"v1Note": {
|
|
958
987
|
"title": "About this install",
|
|
959
|
-
"body": "This server
|
|
988
|
+
"body": "This server already keeps its own tables in a configured database, and this step does not move them. It validates that your choice is compatible with this connection — the server enforces the same rule independently (409 META_PLACEMENT_INVALID)."
|
|
989
|
+
},
|
|
990
|
+
"move": {
|
|
991
|
+
"title": "Moving Adminium’s tables",
|
|
992
|
+
"copying": "Moving Adminium’s tables…",
|
|
993
|
+
"restarting": "Restarting…",
|
|
994
|
+
"copyingBody": "Copying every adminium_ table into the new database. Your source data is not touched, and nothing is switched over until the copy is verified.",
|
|
995
|
+
"restartingBody": "The copy is done. Adminium is restarting onto the new database — this page will continue by itself in a few seconds.",
|
|
996
|
+
"failed": "Could not move Adminium’s tables — retry.",
|
|
997
|
+
"timeout": "Adminium moved its tables but has not come back yet. Your data is safe in the new database — reload this page in a moment."
|
|
998
|
+
},
|
|
999
|
+
"willMove": {
|
|
1000
|
+
"title": "This will move Adminium’s tables",
|
|
1001
|
+
"body": "Adminium is currently using its built-in SQLite store. Continue copies that store into the database you picked and restarts onto it — accounts, pages and settings come with it, so you stay signed in."
|
|
960
1002
|
}
|
|
961
1003
|
},
|
|
962
1004
|
"intent": {
|
|
@@ -1231,7 +1273,9 @@
|
|
|
1231
1273
|
"duplicate": "Duplicate {name}",
|
|
1232
1274
|
"remove": "Remove {name}",
|
|
1233
1275
|
"removed": "{name} removed.",
|
|
1234
|
-
"duplicated": "{name} duplicated."
|
|
1276
|
+
"duplicated": "{name} duplicated.",
|
|
1277
|
+
"unboundHint": "This widget shows sample data here and on the live page. Open Configure to connect it to a table.",
|
|
1278
|
+
"unbound": "Sample data"
|
|
1235
1279
|
},
|
|
1236
1280
|
"families": {
|
|
1237
1281
|
"kpi": "KPIs",
|
|
@@ -1254,7 +1298,149 @@
|
|
|
1254
1298
|
"saveVersionTitle": "Save a version",
|
|
1255
1299
|
"saveVersionBody": "Snapshots the current document. Restore it any time from Versions.",
|
|
1256
1300
|
"versionName": "Version name",
|
|
1257
|
-
"versionNamePlaceholder": "e.g. Before Q3 rates change"
|
|
1301
|
+
"versionNamePlaceholder": "e.g. Before Q3 rates change",
|
|
1302
|
+
"discard": "Discard changes",
|
|
1303
|
+
"discardTitle": "Discard your changes?",
|
|
1304
|
+
"discardBody": "The dashboard goes back to how it looked when you opened the editor. Your data isn’t affected.",
|
|
1305
|
+
"discardConfirm": "Discard changes",
|
|
1306
|
+
"keepEditing": "Keep editing",
|
|
1307
|
+
"discarded": "Changes discarded.",
|
|
1308
|
+
"binding": {
|
|
1309
|
+
"addFilter": "Add filter",
|
|
1310
|
+
"brokenBody": "It no longer matches a query this version understands, so the widget shows an error on the live page.",
|
|
1311
|
+
"brokenTitle": "This widget’s query is broken",
|
|
1312
|
+
"bucketColumn": "Date column",
|
|
1313
|
+
"bucketRequired": "Pick the column that carries the date.",
|
|
1314
|
+
"bucketUnit": "Group time by",
|
|
1315
|
+
"columnNone": "None",
|
|
1316
|
+
"columnPlaceholder": "Choose a column…",
|
|
1317
|
+
"connect": "Connect to data",
|
|
1318
|
+
"edit": "Edit query",
|
|
1319
|
+
"event": {
|
|
1320
|
+
"category": "Category column (optional)",
|
|
1321
|
+
"date": "Start date column",
|
|
1322
|
+
"end": "End date column (optional)",
|
|
1323
|
+
"title": "Title column"
|
|
1324
|
+
},
|
|
1325
|
+
"filterColumnRequired": "Pick a column.",
|
|
1326
|
+
"filterColumn": "Column",
|
|
1327
|
+
"filterListHelper": "Separate values with commas.",
|
|
1328
|
+
"filterOp": "Condition",
|
|
1329
|
+
"filterValue": "Value",
|
|
1330
|
+
"fn": {
|
|
1331
|
+
"avg": "Average",
|
|
1332
|
+
"countDistinct": "Count of distinct values",
|
|
1333
|
+
"count": "Count of rows",
|
|
1334
|
+
"max": "Maximum",
|
|
1335
|
+
"min": "Minimum",
|
|
1336
|
+
"sum": "Sum"
|
|
1337
|
+
},
|
|
1338
|
+
"groupByColumns": "Columns",
|
|
1339
|
+
"groupByRequired": "This view needs a breakdown column.",
|
|
1340
|
+
"groupByRows": "Rows",
|
|
1341
|
+
"groupBy": "Group by",
|
|
1342
|
+
"incompleteBody": "Fill in the highlighted fields — a half-written query would fail on the live dashboard.",
|
|
1343
|
+
"incompleteTitle": "This query isn’t finished",
|
|
1344
|
+
"limit": "Most rows to fetch",
|
|
1345
|
+
"loadingSchema": "Loading tables…",
|
|
1346
|
+
"lossyBody": "Parts of it — extra measures, sorts or page-filter links — aren’t shown here and will be dropped if you save.",
|
|
1347
|
+
"lossyTitle": "This query is more advanced than the editor",
|
|
1348
|
+
"measureColumnRequired": "This calculation needs a column.",
|
|
1349
|
+
"measureColumn": "Of column",
|
|
1350
|
+
"measureFn": "Calculate",
|
|
1351
|
+
"noConnectionBody": "Widgets can only be bound on a page that belongs to a connection.",
|
|
1352
|
+
"noConnectionTitle": "This page has no database connection",
|
|
1353
|
+
"noDateColumns": "This table has no date or timestamp column.",
|
|
1354
|
+
"noFilters": "No filters — every row in the table is counted.",
|
|
1355
|
+
"noSnapshotBody": "Tables and columns come from the connection’s last introspection. Run introspection in Studio, then reopen this editor.",
|
|
1356
|
+
"noSnapshotTitle": "No schema snapshot for this connection",
|
|
1357
|
+
"op": {
|
|
1358
|
+
"between": "is between",
|
|
1359
|
+
"ilike": "contains (any case)",
|
|
1360
|
+
"in": "is one of",
|
|
1361
|
+
"isNull": "is empty",
|
|
1362
|
+
"like": "contains",
|
|
1363
|
+
"notNull": "is not empty"
|
|
1364
|
+
},
|
|
1365
|
+
"orderAsc": "Oldest / lowest first",
|
|
1366
|
+
"orderBy": "Sort by",
|
|
1367
|
+
"orderDesc": "Newest / highest first",
|
|
1368
|
+
"orderDir": "Direction",
|
|
1369
|
+
"orderNone": "Database order",
|
|
1370
|
+
"pickTableFirst": "Pick a table to choose its columns.",
|
|
1371
|
+
"removeFilter": "Remove filter",
|
|
1372
|
+
"remove": "Remove data source",
|
|
1373
|
+
"save": "Use this query",
|
|
1374
|
+
"sectionBreakdown": "Breakdown",
|
|
1375
|
+
"sectionColumns": "Columns",
|
|
1376
|
+
"sectionFilters": "Filters",
|
|
1377
|
+
"sectionMeasure": "Measure",
|
|
1378
|
+
"sectionRows": "Rows",
|
|
1379
|
+
"sectionSource": "Source",
|
|
1380
|
+
"sectionTime": "Time axis",
|
|
1381
|
+
"sectionWindow": "Period",
|
|
1382
|
+
"selectColumns": "Columns to show",
|
|
1383
|
+
"selectRequired": "Choose at least one column to show.",
|
|
1384
|
+
"shape": {
|
|
1385
|
+
"calendarEvents": "Dated events",
|
|
1386
|
+
"categorical": "A value per category",
|
|
1387
|
+
"distribution": "The spread of one column",
|
|
1388
|
+
"matrix": "A grid of rows by columns",
|
|
1389
|
+
"metricDelta": "A number, compared to the period before",
|
|
1390
|
+
"multiTimeseries": "One line over time per category",
|
|
1391
|
+
"recordList": "A list of rows",
|
|
1392
|
+
"record": "One row",
|
|
1393
|
+
"singleMetric": "A single number",
|
|
1394
|
+
"stream": "A live feed of recent rows",
|
|
1395
|
+
"timeseries": "A value over time",
|
|
1396
|
+
"tree": "A value per category, split in two levels",
|
|
1397
|
+
"geoPoints": "A value per place or region",
|
|
1398
|
+
"flows": "How much moves from one category to another",
|
|
1399
|
+
"ohlc": "Open, high, low and close per period",
|
|
1400
|
+
"booleanMap": "An on/off flag per key"
|
|
1401
|
+
},
|
|
1402
|
+
"shapeHelper": "Changing this changes which query controls apply.",
|
|
1403
|
+
"shapeLabel": "What this widget shows",
|
|
1404
|
+
"summaryColumns": "{count, plural, one {# column} other {# columns}}",
|
|
1405
|
+
"summaryFilters": "{count, plural, one {# filter} other {# filters}}",
|
|
1406
|
+
"tableEmpty": "No matching table.",
|
|
1407
|
+
"tablePlaceholder": "Search tables…",
|
|
1408
|
+
"tableRequired": "Pick a table to query.",
|
|
1409
|
+
"table": "Table or view",
|
|
1410
|
+
"title": "Data source",
|
|
1411
|
+
"unbindableBody": "It shows the shape of data the query engine doesn’t build yet, so it renders its own sample content.",
|
|
1412
|
+
"unbindableTitle": "This widget can’t query data yet",
|
|
1413
|
+
"unboundBody": "It shows sample numbers here AND on the live page. Connect it to a table to show real data.",
|
|
1414
|
+
"unboundTitle": "Not connected to your data",
|
|
1415
|
+
"unit": {
|
|
1416
|
+
"day": "Daily",
|
|
1417
|
+
"hour": "Hourly",
|
|
1418
|
+
"month": "Monthly",
|
|
1419
|
+
"quarter": "Quarterly",
|
|
1420
|
+
"week": "Weekly",
|
|
1421
|
+
"year": "Yearly"
|
|
1422
|
+
},
|
|
1423
|
+
"valueColumnRequired": "Pick the column to measure.",
|
|
1424
|
+
"valueColumn": "Value column",
|
|
1425
|
+
"windowColumn": "Date column",
|
|
1426
|
+
"windowLast": "Last",
|
|
1427
|
+
"windowNone": "All time",
|
|
1428
|
+
"windowRequired": "Comparing to the previous period needs a date column.",
|
|
1429
|
+
"windowUnit": {
|
|
1430
|
+
"day": "days",
|
|
1431
|
+
"hour": "hours",
|
|
1432
|
+
"month": "months",
|
|
1433
|
+
"quarter": "quarters",
|
|
1434
|
+
"week": "weeks",
|
|
1435
|
+
"year": "years"
|
|
1436
|
+
},
|
|
1437
|
+
"windowUnitLabel": "Unit",
|
|
1438
|
+
"role": {
|
|
1439
|
+
"flagKey": "Key column",
|
|
1440
|
+
"flagValue": "On/off column"
|
|
1441
|
+
},
|
|
1442
|
+
"roleColumnsRequired": "Fill every required column, and leave no gaps before one you filled — these columns are read in order."
|
|
1443
|
+
}
|
|
1258
1444
|
},
|
|
1259
1445
|
"setup": {
|
|
1260
1446
|
"title": "Set up Adminium",
|
|
@@ -1607,7 +1793,8 @@
|
|
|
1607
1793
|
"helpAbout": "About Adminium"
|
|
1608
1794
|
},
|
|
1609
1795
|
"settings": {
|
|
1610
|
-
"explainer": "These settings apply to the Adminium app on this computer only. They are stored on this machine, not in your workspace."
|
|
1796
|
+
"explainer": "These settings apply to the Adminium app on this computer only. They are stored on this machine, not in your workspace.",
|
|
1797
|
+
"title": "Desktop settings"
|
|
1611
1798
|
},
|
|
1612
1799
|
"security": {
|
|
1613
1800
|
"heading": "Sign-in"
|
|
@@ -1654,7 +1841,8 @@
|
|
|
1654
1841
|
"mismatchBody": "Sharing is switched off, but the server has not released the network yet. Restart Adminium to close it.",
|
|
1655
1842
|
"transportTitle": "Traffic on your local network is not encrypted.",
|
|
1656
1843
|
"transportBody": "Share only on networks you trust. For remote access, use Adminium self-host behind HTTPS.",
|
|
1657
|
-
"firewall": "The first time you share, your operating system will ask whether to allow incoming connections — choose Allow, or other devices will not be able to reach Adminium."
|
|
1844
|
+
"firewall": "The first time you share, your operating system will ask whether to allow incoming connections — choose Allow, or other devices will not be able to reach Adminium.",
|
|
1845
|
+
"manageTeam": "Manage users & roles"
|
|
1658
1846
|
},
|
|
1659
1847
|
"setup": {
|
|
1660
1848
|
"title": "Welcome to Adminium",
|
|
@@ -1863,37 +2051,48 @@
|
|
|
1863
2051
|
},
|
|
1864
2052
|
"templates": {
|
|
1865
2053
|
"crud": {
|
|
1866
|
-
"title": "Records"
|
|
2054
|
+
"title": "Records",
|
|
2055
|
+
"description": "Rows in a searchable table."
|
|
1867
2056
|
},
|
|
1868
2057
|
"dashboard": {
|
|
1869
|
-
"title": "Dashboard"
|
|
2058
|
+
"title": "Dashboard",
|
|
2059
|
+
"description": "Charts and figures you arrange."
|
|
1870
2060
|
},
|
|
1871
2061
|
"board": {
|
|
1872
|
-
"title": "Board"
|
|
2062
|
+
"title": "Board",
|
|
2063
|
+
"description": "Cards in columns by status."
|
|
1873
2064
|
},
|
|
1874
2065
|
"calendar": {
|
|
1875
|
-
"title": "Calendar"
|
|
2066
|
+
"title": "Calendar",
|
|
2067
|
+
"description": "Records on a month grid, by date."
|
|
1876
2068
|
},
|
|
1877
2069
|
"scheduler": {
|
|
1878
|
-
"title": "Scheduler"
|
|
2070
|
+
"title": "Scheduler",
|
|
2071
|
+
"description": "A timeline per person."
|
|
1879
2072
|
},
|
|
1880
2073
|
"logViewer": {
|
|
1881
|
-
"title": "Logs"
|
|
2074
|
+
"title": "Logs",
|
|
2075
|
+
"description": "Filterable event lines."
|
|
1882
2076
|
},
|
|
1883
2077
|
"files": {
|
|
1884
|
-
"title": "Files"
|
|
2078
|
+
"title": "Files",
|
|
2079
|
+
"description": "Files and folders to browse."
|
|
1885
2080
|
},
|
|
1886
2081
|
"chat": {
|
|
1887
|
-
"title": "Chat"
|
|
2082
|
+
"title": "Chat",
|
|
2083
|
+
"description": "Threaded conversations."
|
|
1888
2084
|
},
|
|
1889
2085
|
"builder": {
|
|
1890
|
-
"title": "Builder"
|
|
2086
|
+
"title": "Builder",
|
|
2087
|
+
"description": "A drag-and-drop document canvas."
|
|
1891
2088
|
},
|
|
1892
2089
|
"wizard": {
|
|
1893
|
-
"title": "Wizard"
|
|
2090
|
+
"title": "Wizard",
|
|
2091
|
+
"description": "Guided steps to finish a task."
|
|
1894
2092
|
},
|
|
1895
2093
|
"settings": {
|
|
1896
|
-
"title": "Settings"
|
|
2094
|
+
"title": "Settings",
|
|
2095
|
+
"description": "Preference rows with toggles."
|
|
1897
2096
|
},
|
|
1898
2097
|
"directory": {
|
|
1899
2098
|
"title": "Directory",
|
|
@@ -1907,7 +2106,8 @@
|
|
|
1907
2106
|
"noMatchesBody": "Try a different search or remove a filter.",
|
|
1908
2107
|
"errorTitle": "This directory failed to load",
|
|
1909
2108
|
"loading": "Loading people",
|
|
1910
|
-
"memberCount": "{count} people"
|
|
2109
|
+
"memberCount": "{count} people",
|
|
2110
|
+
"description": "People cards and an org chart."
|
|
1911
2111
|
},
|
|
1912
2112
|
"masterDetail": {
|
|
1913
2113
|
"title": "List & detail",
|
|
@@ -1919,7 +2119,8 @@
|
|
|
1919
2119
|
"noMatchesBody": "Try removing a filter.",
|
|
1920
2120
|
"errorTitle": "This list failed to load",
|
|
1921
2121
|
"loading": "Loading records",
|
|
1922
|
-
"selectPrompt": "Select a record"
|
|
2122
|
+
"selectPrompt": "Select a record",
|
|
2123
|
+
"description": "A list, with the record beside it."
|
|
1923
2124
|
},
|
|
1924
2125
|
"queueInbox": {
|
|
1925
2126
|
"title": "Queue",
|
|
@@ -1944,7 +2145,8 @@
|
|
|
1944
2145
|
"errorTitle": "This queue failed to load",
|
|
1945
2146
|
"loading": "Loading queue",
|
|
1946
2147
|
"selectPrompt": "Select a request",
|
|
1947
|
-
"daysUnit": "{count} days"
|
|
2148
|
+
"daysUnit": "{count} days",
|
|
2149
|
+
"description": "A work queue with approve and reject."
|
|
1948
2150
|
}
|
|
1949
2151
|
},
|
|
1950
2152
|
"dataio": {
|
|
@@ -2048,7 +2250,492 @@
|
|
|
2048
2250
|
}
|
|
2049
2251
|
},
|
|
2050
2252
|
"theme": {
|
|
2051
|
-
"toLight": "
|
|
2052
|
-
"toDark": "
|
|
2253
|
+
"toLight": "Light mode",
|
|
2254
|
+
"toDark": "Dark mode"
|
|
2255
|
+
},
|
|
2256
|
+
"studioPages": {
|
|
2257
|
+
"title": "Pages",
|
|
2258
|
+
"subtitle": "Add, edit and organise the pages of your app, and the order they appear in the sidebar.",
|
|
2259
|
+
"createButton": "New page",
|
|
2260
|
+
"loadFailed": {
|
|
2261
|
+
"title": "Pages could not be loaded",
|
|
2262
|
+
"body": "Managing pages needs the “Manage pages” permission. Ask an administrator to grant it to one of your roles."
|
|
2263
|
+
},
|
|
2264
|
+
"tab": {
|
|
2265
|
+
"pages": "All pages",
|
|
2266
|
+
"sidebar": "Sidebar order"
|
|
2267
|
+
},
|
|
2268
|
+
"list": {
|
|
2269
|
+
"title": "Pages",
|
|
2270
|
+
"count": "{count, plural, one {# page} other {# pages}}"
|
|
2271
|
+
},
|
|
2272
|
+
"empty": {
|
|
2273
|
+
"title": "No pages yet",
|
|
2274
|
+
"body": "Connect a database to generate pages automatically, or create one by hand."
|
|
2275
|
+
},
|
|
2276
|
+
"status": {
|
|
2277
|
+
"live": "Live",
|
|
2278
|
+
"hidden": "Hidden"
|
|
2279
|
+
},
|
|
2280
|
+
"origin": {
|
|
2281
|
+
"generated": "Generated",
|
|
2282
|
+
"manifest": "Add-on",
|
|
2283
|
+
"llm": "Assistant",
|
|
2284
|
+
"system": "System",
|
|
2285
|
+
"user": "Custom"
|
|
2286
|
+
},
|
|
2287
|
+
"row": {
|
|
2288
|
+
"menu": "Actions for {title}"
|
|
2289
|
+
},
|
|
2290
|
+
"action": {
|
|
2291
|
+
"edit": "Edit page",
|
|
2292
|
+
"duplicate": "Duplicate",
|
|
2293
|
+
"hide": "Hide from sidebar",
|
|
2294
|
+
"show": "Show in sidebar",
|
|
2295
|
+
"delete": "Delete page"
|
|
2296
|
+
},
|
|
2297
|
+
"create": {
|
|
2298
|
+
"title": "New page",
|
|
2299
|
+
"failed": "The page could not be created",
|
|
2300
|
+
"submit": "Create page",
|
|
2301
|
+
"subtitle": "Pick what this page shows and how it looks."
|
|
2302
|
+
},
|
|
2303
|
+
"duplicate": {
|
|
2304
|
+
"title": "Duplicate page",
|
|
2305
|
+
"failed": "The page could not be duplicated",
|
|
2306
|
+
"submit": "Duplicate"
|
|
2307
|
+
},
|
|
2308
|
+
"delete": {
|
|
2309
|
+
"title": "Delete this page?",
|
|
2310
|
+
"body": "This cannot be undone. Saved views and personal layouts on this page are deleted for everyone.",
|
|
2311
|
+
"bodyGenerated": "This page was created by schema generation, so it will come back the next time you regenerate. Saved views and personal layouts on it are deleted for everyone.",
|
|
2312
|
+
"prompt": "Type {slug} to confirm",
|
|
2313
|
+
"confirm": "Delete page"
|
|
2314
|
+
},
|
|
2315
|
+
"field": {
|
|
2316
|
+
"title": "Title",
|
|
2317
|
+
"titleHint": "Shown in the sidebar and the page header.",
|
|
2318
|
+
"slug": "Page address",
|
|
2319
|
+
"slugHint": "Lowercase letters, numbers and dashes. Just the last part — the rest of the address is added for you.",
|
|
2320
|
+
"slugTaken": "Another page already uses this address.",
|
|
2321
|
+
"slugWarning": "Changing the address breaks existing links and bookmarks to this page.",
|
|
2322
|
+
"template": "Template",
|
|
2323
|
+
"templateHint": "Decides what the page can hold. You can change it later.",
|
|
2324
|
+
"group": "Sidebar group",
|
|
2325
|
+
"groupHint": "Which section of the sidebar it appears in.",
|
|
2326
|
+
"icon": "Icon",
|
|
2327
|
+
"iconHint": "Shown beside the page name in the sidebar.",
|
|
2328
|
+
"visible": "Show in sidebar",
|
|
2329
|
+
"visibleHint": "A hidden page stays reachable at its URL for anyone who has the link.",
|
|
2330
|
+
"table": "Table",
|
|
2331
|
+
"tableCreateHint": "The table this page reads. You can bind it later.",
|
|
2332
|
+
"tableNone": "Not bound",
|
|
2333
|
+
"tableNeedsConnection": "Pick a data source first.",
|
|
2334
|
+
"connection": "Data source",
|
|
2335
|
+
"connectionNone": "None",
|
|
2336
|
+
"iconPick": "Choose the page icon",
|
|
2337
|
+
"padding": "Page padding"
|
|
2338
|
+
},
|
|
2339
|
+
"editor": {
|
|
2340
|
+
"title": "Edit page",
|
|
2341
|
+
"save": "Save changes",
|
|
2342
|
+
"saveFailed": "Changes could not be saved",
|
|
2343
|
+
"openPage": "Open page",
|
|
2344
|
+
"generated": {
|
|
2345
|
+
"title": "This page was generated from your schema",
|
|
2346
|
+
"body": "Your changes survive regeneration. Deleting only lasts until the next run recreates it."
|
|
2347
|
+
},
|
|
2348
|
+
"contentUnavailable": "Page contents could not be loaded",
|
|
2349
|
+
"contentUnavailableBody": "The details above can still be saved.",
|
|
2350
|
+
"contentInvalid": "This page’s configuration is not readable",
|
|
2351
|
+
"contentInvalidBody": "It was written by a newer version, or it is malformed. Regenerate the page or delete it.",
|
|
2352
|
+
"data": "Data",
|
|
2353
|
+
"schemaFailed": "Tables could not be listed",
|
|
2354
|
+
"schemaFailedBody": "This connection may not have been analysed yet. Run introspection from Studio → Data connections.",
|
|
2355
|
+
"notBindable": "This template is not bound to one table",
|
|
2356
|
+
"notBindableBody": "Its contents are built widget by widget instead. Open the page and use Edit to add them.",
|
|
2357
|
+
"recompose": "This page will be rebuilt",
|
|
2358
|
+
"recomposeBody": "Saving rebuilds the contents. Column and widget edits here are lost.",
|
|
2359
|
+
"missing": "That page no longer exists",
|
|
2360
|
+
"missingBody": "It may have been deleted, or removed by a regeneration run.",
|
|
2361
|
+
"details": "Details",
|
|
2362
|
+
"itemsPending": "Save the change above first — the contents are rebuilt from it.",
|
|
2363
|
+
"columns": "Columns",
|
|
2364
|
+
"appearance": "Appearance"
|
|
2365
|
+
},
|
|
2366
|
+
"sidebar": {
|
|
2367
|
+
"help": "Reorder pages within a group, or move one to another group. Changes apply to every user.",
|
|
2368
|
+
"discard": "Discard",
|
|
2369
|
+
"save": "Save order",
|
|
2370
|
+
"saveFailed": "The new order could not be saved",
|
|
2371
|
+
"emptyGroup": "No pages in this group.",
|
|
2372
|
+
"moveUp": "Move {title} up",
|
|
2373
|
+
"moveDown": "Move {title} down",
|
|
2374
|
+
"moveTo": "Move {title} to a group",
|
|
2375
|
+
"ungrouped": {
|
|
2376
|
+
"title": "Some pages are in no sidebar group",
|
|
2377
|
+
"body": "These pages work at their URL but appear nowhere in the sidebar. Open each one and pick a group."
|
|
2378
|
+
}
|
|
2379
|
+
},
|
|
2380
|
+
"columns": {
|
|
2381
|
+
"help": "Reorder columns, rename their headers, and choose which are shown in the table.",
|
|
2382
|
+
"discard": "Discard",
|
|
2383
|
+
"save": "Save columns",
|
|
2384
|
+
"saveFailed": "Columns could not be saved",
|
|
2385
|
+
"pk": "Key",
|
|
2386
|
+
"pii": "PII",
|
|
2387
|
+
"header": "Header for {name}",
|
|
2388
|
+
"shown": "Shown",
|
|
2389
|
+
"toggle": "Show {name} in the table",
|
|
2390
|
+
"moveUp": "Move {name} up",
|
|
2391
|
+
"moveDown": "Move {name} down",
|
|
2392
|
+
"remove": "Remove {name}",
|
|
2393
|
+
"none": {
|
|
2394
|
+
"title": "This page has no columns yet",
|
|
2395
|
+
"body": "Columns are read from the table when the page is generated. Bind this page to a table and regenerate to fill them in."
|
|
2396
|
+
}
|
|
2397
|
+
},
|
|
2398
|
+
"icon": {
|
|
2399
|
+
"none": "Choose an icon",
|
|
2400
|
+
"search": "Search icons",
|
|
2401
|
+
"noMatches": "No icons match that search."
|
|
2402
|
+
},
|
|
2403
|
+
"preview": {
|
|
2404
|
+
"untitled": "Untitled page",
|
|
2405
|
+
"note": "An illustration of the layout, not your data."
|
|
2406
|
+
},
|
|
2407
|
+
"padding": {
|
|
2408
|
+
"default": "Default for this template",
|
|
2409
|
+
"none": "None",
|
|
2410
|
+
"standard": "Standard (28 × 24)",
|
|
2411
|
+
"custom": "Custom…",
|
|
2412
|
+
"x": "Sides (px)",
|
|
2413
|
+
"y": "Top and bottom (px)"
|
|
2414
|
+
}
|
|
2415
|
+
},
|
|
2416
|
+
"audit": {
|
|
2417
|
+
"action": {
|
|
2418
|
+
"view": "View"
|
|
2419
|
+
},
|
|
2420
|
+
"actor": {
|
|
2421
|
+
"apiKey": "API key",
|
|
2422
|
+
"automation": "Automation",
|
|
2423
|
+
"system": "System",
|
|
2424
|
+
"user": "User"
|
|
2425
|
+
},
|
|
2426
|
+
"category": {
|
|
2427
|
+
"auth": "Sign-in & accounts",
|
|
2428
|
+
"automation": "Automations",
|
|
2429
|
+
"connection": "Connections",
|
|
2430
|
+
"data": "Records",
|
|
2431
|
+
"export": "Imports & exports",
|
|
2432
|
+
"llm": "AI assist",
|
|
2433
|
+
"rbac": "Roles & permissions",
|
|
2434
|
+
"schema": "Schema",
|
|
2435
|
+
"settings": "Settings",
|
|
2436
|
+
"system": "System"
|
|
2437
|
+
},
|
|
2438
|
+
"column": {
|
|
2439
|
+
"action": "Action",
|
|
2440
|
+
"actor": "Actor",
|
|
2441
|
+
"category": "Category",
|
|
2442
|
+
"details": "Details",
|
|
2443
|
+
"when": "When"
|
|
2444
|
+
},
|
|
2445
|
+
"drawer": {
|
|
2446
|
+
"actorId": "Actor id",
|
|
2447
|
+
"actorKind": "Actor type",
|
|
2448
|
+
"after": "After",
|
|
2449
|
+
"before": "Before",
|
|
2450
|
+
"category": "Category",
|
|
2451
|
+
"changes": "Changes",
|
|
2452
|
+
"connection": "Connection",
|
|
2453
|
+
"field": "Field",
|
|
2454
|
+
"ip": "IP address",
|
|
2455
|
+
"noChanges": "This action recorded no before/after images.",
|
|
2456
|
+
"none": "None",
|
|
2457
|
+
"requestId": "Request id",
|
|
2458
|
+
"resource": "Resource",
|
|
2459
|
+
"subtitle": "{actor} · {when}",
|
|
2460
|
+
"truncated": "Truncated at 16 KB",
|
|
2461
|
+
"userAgent": "User agent"
|
|
2462
|
+
},
|
|
2463
|
+
"empty": {
|
|
2464
|
+
"body": "Changes to data, schema, settings and permissions land here as they happen.",
|
|
2465
|
+
"filtered": {
|
|
2466
|
+
"body": "Widen the date range or clear the category filter.",
|
|
2467
|
+
"title": "Nothing matches these filters"
|
|
2468
|
+
},
|
|
2469
|
+
"title": "Nothing has been logged yet"
|
|
2470
|
+
},
|
|
2471
|
+
"filterActor": "Actor id",
|
|
2472
|
+
"filterCategoryAny": "Any category",
|
|
2473
|
+
"filterCategory": "Filter by category",
|
|
2474
|
+
"filterFrom": "From",
|
|
2475
|
+
"filterTo": "To",
|
|
2476
|
+
"listFailed": {
|
|
2477
|
+
"title": "Could not load the audit log"
|
|
2478
|
+
},
|
|
2479
|
+
"loadMore": "Load older entries",
|
|
2480
|
+
"subtitle": "Every change made in this workspace, who made it, and what it changed.",
|
|
2481
|
+
"title": "Audit log"
|
|
2482
|
+
},
|
|
2483
|
+
"roles": {
|
|
2484
|
+
"action": {
|
|
2485
|
+
"delete": "Delete",
|
|
2486
|
+
"rename": "Rename"
|
|
2487
|
+
},
|
|
2488
|
+
"builtinLocked": "Built-in roles cannot be deleted.",
|
|
2489
|
+
"category": {
|
|
2490
|
+
"access": "Access",
|
|
2491
|
+
"data": "Data",
|
|
2492
|
+
"operations": "Operations",
|
|
2493
|
+
"workspace": "Workspace"
|
|
2494
|
+
},
|
|
2495
|
+
"column": {
|
|
2496
|
+
"actions": "Actions",
|
|
2497
|
+
"members": "Members",
|
|
2498
|
+
"name": "Role"
|
|
2499
|
+
},
|
|
2500
|
+
"create": {
|
|
2501
|
+
"descriptionLabel": "Description",
|
|
2502
|
+
"description": "A new role starts with no permissions at all.",
|
|
2503
|
+
"failed": "Could not create the role",
|
|
2504
|
+
"namePlaceholder": "e.g. Support agent",
|
|
2505
|
+
"name": "Name",
|
|
2506
|
+
"submit": "Create role",
|
|
2507
|
+
"title": "New role"
|
|
2508
|
+
},
|
|
2509
|
+
"createButton": "New role",
|
|
2510
|
+
"delete": {
|
|
2511
|
+
"confirm": "Delete role",
|
|
2512
|
+
"description": "The role and its permission rows are removed.",
|
|
2513
|
+
"failed": "Could not delete the role",
|
|
2514
|
+
"hasMembers": "“{name}” still has {count, plural, one {# member} other {# members}}. Choose the role they move to — Adminium will not leave an account with no role.",
|
|
2515
|
+
"noMembers": "Nobody holds “{name}”, so nothing moves.",
|
|
2516
|
+
"reassignPlaceholder": "Choose a role…",
|
|
2517
|
+
"reassignTo": "Move members to",
|
|
2518
|
+
"title": "Delete role"
|
|
2519
|
+
},
|
|
2520
|
+
"list": {
|
|
2521
|
+
"title": "Roles"
|
|
2522
|
+
},
|
|
2523
|
+
"loadFailed": {
|
|
2524
|
+
"body": "The matrix below is incomplete, so saving it would clear permissions that are simply not loaded. Reload before making changes.",
|
|
2525
|
+
"title": "Some permissions could not be read"
|
|
2526
|
+
},
|
|
2527
|
+
"matrix": {
|
|
2528
|
+
"discard": "Discard",
|
|
2529
|
+
"empty": {
|
|
2530
|
+
"body": "This instance reported no grantable permissions at all, which should not happen — reload, and if it persists check the server log.",
|
|
2531
|
+
"title": "No permissions to show"
|
|
2532
|
+
},
|
|
2533
|
+
"label": "Role permissions",
|
|
2534
|
+
"noChanges": "No pending changes",
|
|
2535
|
+
"pending": "{count, plural, one {# pending change} other {# pending changes}}",
|
|
2536
|
+
"rowHeader": "Permission",
|
|
2537
|
+
"title": "Permissions"
|
|
2538
|
+
},
|
|
2539
|
+
"memberCount": "{count, plural, one {# user} other {# users}}",
|
|
2540
|
+
"permission": {
|
|
2541
|
+
"apiKeysManage": "Manage API keys",
|
|
2542
|
+
"auditRead": "Read the audit log",
|
|
2543
|
+
"connectionsManage": "Manage database connections",
|
|
2544
|
+
"exportsManage": "Manage everyone’s exports",
|
|
2545
|
+
"importsManage": "Manage everyone’s imports",
|
|
2546
|
+
"jobsManage": "Start and cancel background jobs",
|
|
2547
|
+
"jobsRead": "See all background jobs",
|
|
2548
|
+
"llmRun": "Run AI assist",
|
|
2549
|
+
"pagesManage": "Create and organize pages",
|
|
2550
|
+
"reportsManage": "Manage scheduled reports",
|
|
2551
|
+
"rolesManage": "Manage roles and permissions",
|
|
2552
|
+
"schemaRemap": "Edit schema labels and overrides",
|
|
2553
|
+
"settingsManage": "Manage workspace settings",
|
|
2554
|
+
"usersManage": "Manage users"
|
|
2555
|
+
},
|
|
2556
|
+
"rename": {
|
|
2557
|
+
"failed": "Could not rename the role",
|
|
2558
|
+
"title": "Rename role"
|
|
2559
|
+
},
|
|
2560
|
+
"saveFailed": {
|
|
2561
|
+
"title": "Could not save every role"
|
|
2562
|
+
},
|
|
2563
|
+
"subtitle": "What each role may do. A user gets the union of every role they hold.",
|
|
2564
|
+
"title": "Roles & permissions"
|
|
2565
|
+
},
|
|
2566
|
+
"security": {
|
|
2567
|
+
"password": {
|
|
2568
|
+
"changedBody": "Use the new password the next time you sign in. Sessions on other devices are unaffected — revoke them below if you want them signed out.",
|
|
2569
|
+
"changed": "Password changed",
|
|
2570
|
+
"confirm": "Confirm new password",
|
|
2571
|
+
"current": "Current password",
|
|
2572
|
+
"failed": "Could not change your password",
|
|
2573
|
+
"helper": "At least 8 characters.",
|
|
2574
|
+
"mismatch": "The two passwords do not match.",
|
|
2575
|
+
"new": "New password",
|
|
2576
|
+
"submit": "Change password",
|
|
2577
|
+
"title": "Password"
|
|
2578
|
+
},
|
|
2579
|
+
"sessions": {
|
|
2580
|
+
"expires": "Expires {at}",
|
|
2581
|
+
"failedBody": "This list is the only place that shows where your account is signed in, so treat an empty one as unknown rather than as none.",
|
|
2582
|
+
"failed": "Could not read your sessions",
|
|
2583
|
+
"ip": "IP {ip}",
|
|
2584
|
+
"loading": "Looking for other signed-in devices…",
|
|
2585
|
+
"noIp": "No IP recorded",
|
|
2586
|
+
"revokeBody": "The session ends immediately and whoever is using it has to sign in again.",
|
|
2587
|
+
"revokeFailed": "Could not sign that device out",
|
|
2588
|
+
"revokeTitle": "Sign this device out",
|
|
2589
|
+
"revoke": "Sign out",
|
|
2590
|
+
"seenUnknown": "Last seen: unknown",
|
|
2591
|
+
"seen": "Last seen {since}",
|
|
2592
|
+
"thisDevice": "This device",
|
|
2593
|
+
"title": "Signed in",
|
|
2594
|
+
"unknownDevice": "Unrecognised device"
|
|
2595
|
+
},
|
|
2596
|
+
"subtitle": "Your password, your second factor, and everywhere you are signed in.",
|
|
2597
|
+
"title": "Security",
|
|
2598
|
+
"twoFactor": {
|
|
2599
|
+
"activateFailed": "That code was not accepted",
|
|
2600
|
+
"activate": "Turn on two-factor",
|
|
2601
|
+
"body": "An authenticator app generates a 6-digit code that Adminium asks for after your password.",
|
|
2602
|
+
"code": "Code from your app",
|
|
2603
|
+
"copyKey": "Copy setup key",
|
|
2604
|
+
"copyLink": "Copy setup link",
|
|
2605
|
+
"disableBody": "Your account goes back to password-only, and your recovery codes stop working.",
|
|
2606
|
+
"disableConfirm": "Turn it off",
|
|
2607
|
+
"disableFailed": "Could not turn off two-factor",
|
|
2608
|
+
"disablePassword": "Your password",
|
|
2609
|
+
"disableTitle": "Turn off two-factor authentication",
|
|
2610
|
+
"disable": "Turn off two-factor",
|
|
2611
|
+
"enrollFailed": "Could not start setup",
|
|
2612
|
+
"enroll": "Set up two-factor",
|
|
2613
|
+
"hide": "Hide setup key",
|
|
2614
|
+
"off": "Off",
|
|
2615
|
+
"on": "On",
|
|
2616
|
+
"recovery": {
|
|
2617
|
+
"body": "Each code signs you in once if you lose your authenticator. They are shown only now.",
|
|
2618
|
+
"copy": "Copy codes",
|
|
2619
|
+
"title": "Save your recovery codes"
|
|
2620
|
+
},
|
|
2621
|
+
"reveal": "Show setup key",
|
|
2622
|
+
"secretHelper": "Paste the setup link into your authenticator, or type the key in by hand.",
|
|
2623
|
+
"secret": "Setup key",
|
|
2624
|
+
"title": "Two-factor authentication"
|
|
2625
|
+
}
|
|
2626
|
+
},
|
|
2627
|
+
"team": {
|
|
2628
|
+
"action": {
|
|
2629
|
+
"reactivate": "Reactivate",
|
|
2630
|
+
"remove": "Delete",
|
|
2631
|
+
"resend": "New link",
|
|
2632
|
+
"roles": "Roles",
|
|
2633
|
+
"suspend": "Suspend"
|
|
2634
|
+
},
|
|
2635
|
+
"column": {
|
|
2636
|
+
"actions": "Actions",
|
|
2637
|
+
"lastSeen": "Last seen",
|
|
2638
|
+
"person": "Person",
|
|
2639
|
+
"roles": "Roles",
|
|
2640
|
+
"status": "Status"
|
|
2641
|
+
},
|
|
2642
|
+
"counts": "{active} active · {invited} invited · {suspended} suspended",
|
|
2643
|
+
"empty": {
|
|
2644
|
+
"body": "Invite a teammate to give them their own sign-in and role.",
|
|
2645
|
+
"filtered": {
|
|
2646
|
+
"body": "Clear the filters to see the whole directory.",
|
|
2647
|
+
"title": "No one matches these filters"
|
|
2648
|
+
},
|
|
2649
|
+
"title": "Only you have an account"
|
|
2650
|
+
},
|
|
2651
|
+
"filterRoleAny": "Any role",
|
|
2652
|
+
"filterRole": "Filter by role",
|
|
2653
|
+
"filterStatusAny": "Any status",
|
|
2654
|
+
"filterStatus": "Filter by status",
|
|
2655
|
+
"invite": {
|
|
2656
|
+
"copied": "Copied",
|
|
2657
|
+
"copyLink": "Copy link",
|
|
2658
|
+
"created": {
|
|
2659
|
+
"body": "Send this link to {email} yourself. It is shown once — Adminium stores only a hash of it, so if you lose it you will have to delete the invitation and issue a new one.",
|
|
2660
|
+
"title": "Invitation created"
|
|
2661
|
+
},
|
|
2662
|
+
"emailIt": "Email the invitation",
|
|
2663
|
+
"expiresRelative": "The link expires {at} ({relative}).",
|
|
2664
|
+
"expires": "The link expires {at}.",
|
|
2665
|
+
"noEmail": {
|
|
2666
|
+
"smtp": "No SMTP server is configured on this instance, so there is nothing to send mail with. Share the link over a channel you already trust.",
|
|
2667
|
+
"title": "Adminium did not email this link",
|
|
2668
|
+
"unknown": "Adminium could not check whether this instance can send mail. Share the link over a channel you already trust."
|
|
2669
|
+
}
|
|
2670
|
+
},
|
|
2671
|
+
"inviteButton": "Invite teammate",
|
|
2672
|
+
"inviteDialog": {
|
|
2673
|
+
"description": "Adminium creates the account and gives you a one-time activation link to pass on.",
|
|
2674
|
+
"emailPlaceholder": "name@example.com",
|
|
2675
|
+
"email": "Email",
|
|
2676
|
+
"failed": "Could not create the invitation",
|
|
2677
|
+
"namePlaceholder": "e.g. Dana Osei",
|
|
2678
|
+
"name": "Name",
|
|
2679
|
+
"rolesHelper": "Pick the least-privileged role that lets them do their job. You can change this later.",
|
|
2680
|
+
"roles": "Roles",
|
|
2681
|
+
"submit": "Create invitation",
|
|
2682
|
+
"title": "Invite a teammate"
|
|
2683
|
+
},
|
|
2684
|
+
"listFailed": {
|
|
2685
|
+
"title": "Could not load the directory"
|
|
2686
|
+
},
|
|
2687
|
+
"loadMore": "Load more",
|
|
2688
|
+
"neverSignedIn": "Never signed in",
|
|
2689
|
+
"noRoles": "No roles",
|
|
2690
|
+
"remove": {
|
|
2691
|
+
"body": "This erases {name}’s account, their preferences and their sign-in sessions, and blanks their name from the record of settings they changed. Suspending instead keeps all of it and only stops them signing in. This cannot be undone.",
|
|
2692
|
+
"confirm": "Delete permanently",
|
|
2693
|
+
"prompt": "Type “{email}” to confirm",
|
|
2694
|
+
"title": "Delete account permanently"
|
|
2695
|
+
},
|
|
2696
|
+
"roles": {
|
|
2697
|
+
"unavailable": "Roles are not visible to your account, so none can be assigned here."
|
|
2698
|
+
},
|
|
2699
|
+
"rolesDialog": {
|
|
2700
|
+
"description": "A user gets the union of every role they hold.",
|
|
2701
|
+
"failed": "Could not change the roles",
|
|
2702
|
+
"title": "Roles for {name}"
|
|
2703
|
+
},
|
|
2704
|
+
"rolesLocked": "Changing roles needs the “Manage roles” permission.",
|
|
2705
|
+
"search": "Search name or email",
|
|
2706
|
+
"status": {
|
|
2707
|
+
"active": "Active",
|
|
2708
|
+
"invited": "Invited",
|
|
2709
|
+
"suspended": "Suspended"
|
|
2710
|
+
},
|
|
2711
|
+
"subtitle": "Who has an account on this Adminium, and what each of them can do.",
|
|
2712
|
+
"title": "Team",
|
|
2713
|
+
"twoFactorOn": "Two-factor authentication is on",
|
|
2714
|
+
"twoFactorShort": "2FA"
|
|
2715
|
+
},
|
|
2716
|
+
"email": {
|
|
2717
|
+
"linkFallback": "If the button doesn’t work, paste this link into your browser: {url}",
|
|
2718
|
+
"notification": {
|
|
2719
|
+
"action": "Open {appName}",
|
|
2720
|
+
"footer": "You are receiving this because email notifications are on for your {appName} account. You can turn them off in your notification preferences.",
|
|
2721
|
+
"name": "Notification"
|
|
2722
|
+
},
|
|
2723
|
+
"passwordReset": {
|
|
2724
|
+
"action": "Choose a new password",
|
|
2725
|
+
"heading": "Reset your password",
|
|
2726
|
+
"intro": "Hi {name}, we received a request to reset the password for {email}.",
|
|
2727
|
+
"name": "Password reset",
|
|
2728
|
+
"notice": "This link works only once and expires in {expiresInMinutes} minutes. If you didn’t ask to reset your password, you can ignore this email — your current password stays active.",
|
|
2729
|
+
"subject": "Reset your {appName} password"
|
|
2730
|
+
},
|
|
2731
|
+
"userInvite": {
|
|
2732
|
+
"action": "Accept the invitation",
|
|
2733
|
+
"heading": "You’ve been invited",
|
|
2734
|
+
"intro": "{inviterName} invited you to join {appName}. Accept the invitation to set a password for {email} and sign in.",
|
|
2735
|
+
"inviterFallback": "An administrator",
|
|
2736
|
+
"name": "Team invitation",
|
|
2737
|
+
"notice": "This invitation works only once and expires in {expiresInDays} days. If you weren’t expecting it, you can ignore this email.",
|
|
2738
|
+
"subject": "You have been invited to {appName}"
|
|
2739
|
+
}
|
|
2053
2740
|
}
|
|
2054
2741
|
}
|