@authup/i18n 1.0.0-beta.65 → 1.0.0-beta.67

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/index.mjs CHANGED
@@ -125,6 +125,15 @@ let TranslatorTranslationClientKey = /* @__PURE__ */ function(TranslatorTranslat
125
125
  TranslatorTranslationClientKey["ACCESS_DENIED_TEXT"] = "accessDeniedText";
126
126
  TranslatorTranslationClientKey["CLIENT_ACCESS_POLICY_HINT"] = "clientAccessPolicyHint";
127
127
  TranslatorTranslationClientKey["CONSENT_STATUS_LOADING"] = "consentStatusLoading";
128
+ TranslatorTranslationClientKey["DEVICE_VERIFY_TITLE"] = "deviceVerifyTitle";
129
+ TranslatorTranslationClientKey["DEVICE_CODE_LABEL"] = "deviceCodeLabel";
130
+ TranslatorTranslationClientKey["DEVICE_CODE_HINT"] = "deviceCodeHint";
131
+ TranslatorTranslationClientKey["DEVICE_CODE_INVALID"] = "deviceCodeInvalid";
132
+ TranslatorTranslationClientKey["DEVICE_VERIFY_CONFIRM_TEXT"] = "deviceVerifyConfirmText";
133
+ TranslatorTranslationClientKey["DEVICE_VERIFY_SCOPES"] = "deviceVerifyScopes";
134
+ TranslatorTranslationClientKey["DEVICE_VERIFY_APPROVED"] = "deviceVerifyApproved";
135
+ TranslatorTranslationClientKey["DEVICE_VERIFY_DENIED"] = "deviceVerifyDenied";
136
+ TranslatorTranslationClientKey["DEVICE_VERIFY_THROTTLED"] = "deviceVerifyThrottled";
128
137
  TranslatorTranslationClientKey["LOGOUT_CONFIRM_TITLE"] = "logoutConfirmTitle";
129
138
  TranslatorTranslationClientKey["LOGOUT_CONFIRM_TEXT"] = "logoutConfirmText";
130
139
  TranslatorTranslationClientKey["LOGOUT_DONE"] = "logoutDone";
@@ -208,6 +217,53 @@ let TranslatorTranslationAppKey = /* @__PURE__ */ function(TranslatorTranslation
208
217
  TranslatorTranslationAppKey["POLICY_DESCRIPTION"] = "policyDescription";
209
218
  TranslatorTranslationAppKey["EVENT_DESCRIPTION"] = "eventDescription";
210
219
  TranslatorTranslationAppKey["SESSION_DESCRIPTION"] = "sessionDescription";
220
+ TranslatorTranslationAppKey["PATH_DESCRIPTION"] = "pathDescription";
221
+ TranslatorTranslationAppKey["DASHBOARD"] = "dashboard";
222
+ TranslatorTranslationAppKey["DASHBOARD_DESCRIPTION"] = "dashboardDescription";
223
+ TranslatorTranslationAppKey["DASHBOARD_WINDOW"] = "dashboardWindow";
224
+ TranslatorTranslationAppKey["DASHBOARD_WINDOW_24H"] = "dashboardWindow24h";
225
+ TranslatorTranslationAppKey["DASHBOARD_WINDOW_7D"] = "dashboardWindow7d";
226
+ TranslatorTranslationAppKey["DASHBOARD_WINDOW_30D"] = "dashboardWindow30d";
227
+ TranslatorTranslationAppKey["DASHBOARD_WINDOW_90D"] = "dashboardWindow90d";
228
+ TranslatorTranslationAppKey["DASHBOARD_LOGINS"] = "dashboardLogins";
229
+ TranslatorTranslationAppKey["DASHBOARD_LOGINS_FAILED"] = "dashboardLoginsFailed";
230
+ TranslatorTranslationAppKey["DASHBOARD_AUTHORIZATIONS"] = "dashboardAuthorizations";
231
+ TranslatorTranslationAppKey["DASHBOARD_EVENTS"] = "dashboardEvents";
232
+ TranslatorTranslationAppKey["DASHBOARD_LOGIN_VOLUME"] = "dashboardLoginVolume";
233
+ TranslatorTranslationAppKey["DASHBOARD_EVENTS_BY_TYPE"] = "dashboardEventsByType";
234
+ TranslatorTranslationAppKey["DASHBOARD_EVENTS_LINK"] = "dashboardEventsLink";
235
+ TranslatorTranslationAppKey["DASHBOARD_EMPTY"] = "dashboardEmpty";
236
+ TranslatorTranslationAppKey["DASHBOARD_EVENT_LOG_DISABLED"] = "dashboardEventLogDisabled";
237
+ TranslatorTranslationAppKey["DASHBOARD_IDENTITIES"] = "dashboardIdentities";
238
+ TranslatorTranslationAppKey["DASHBOARD_CONFIGURATION"] = "dashboardConfiguration";
239
+ TranslatorTranslationAppKey["SESSIONS_ACTIVE"] = "sessionsActive";
240
+ /**
241
+ * The growth a statistics read reports next to a total: the rows created
242
+ * inside its window.
243
+ */
244
+ TranslatorTranslationAppKey["STATS_NEW"] = "statsNew";
245
+ TranslatorTranslationAppKey["STATS_NEW_IN_DAYS"] = "statsNewInDays";
246
+ TranslatorTranslationAppKey["STATS_NEW_IN_HOURS"] = "statsNewInHours";
247
+ /**
248
+ * The activity boxes above an entity list: its total, and the rows the
249
+ * audit log saw created, updated and deleted inside the window.
250
+ */
251
+ TranslatorTranslationAppKey["ACTIVITY_TOTAL"] = "activityTotal";
252
+ TranslatorTranslationAppKey["ACTIVITY_CREATED"] = "activityCreated";
253
+ TranslatorTranslationAppKey["ACTIVITY_UPDATED"] = "activityUpdated";
254
+ TranslatorTranslationAppKey["ACTIVITY_DELETED"] = "activityDeleted";
255
+ TranslatorTranslationAppKey["ACTIVITY_SOURCE"] = "activitySource";
256
+ /**
257
+ * The window line under an activity box, as on the dashboard tiles.
258
+ */
259
+ TranslatorTranslationAppKey["ACTIVITY_IN_DAYS"] = "activityInDays";
260
+ TranslatorTranslationAppKey["ACTIVITY_IN_HOURS"] = "activityInHours";
261
+ TranslatorTranslationAppKey["ACTIVITY_ALL_TIME"] = "activityAllTime";
262
+ /**
263
+ * Why a statistics window is disabled: the records behind it are not
264
+ * kept that long.
265
+ */
266
+ TranslatorTranslationAppKey["STATS_WINDOW_RETAINED"] = "statsWindowRetained";
211
267
  TranslatorTranslationAppKey["SET_MANAGEMENT_REALM"] = "setManagementRealm";
212
268
  TranslatorTranslationAppKey["API_DOCS"] = "apiDocs";
213
269
  TranslatorTranslationAppKey["MADE_WITH"] = "madeWith";
@@ -267,6 +323,15 @@ let TranslatorTranslationAppKey = /* @__PURE__ */ function(TranslatorTranslation
267
323
  TranslatorTranslationAppKey["IDENTITY_PROVIDER_DISCONNECT_CONFIRM_DESCRIPTION"] = "identityProviderDisconnectConfirmDescription";
268
324
  TranslatorTranslationAppKey["IDENTITY_PROVIDER_LINK_SUCCESS"] = "identityProviderLinkSuccess";
269
325
  TranslatorTranslationAppKey["IDENTITY_PROVIDER_LINK_FAILED"] = "identityProviderLinkFailed";
326
+ TranslatorTranslationAppKey["PATH_HINT"] = "pathHint";
327
+ TranslatorTranslationAppKey["PATH_SCOPE"] = "pathScope";
328
+ TranslatorTranslationAppKey["PATH_SCOPE_ALL"] = "pathScopeAll";
329
+ TranslatorTranslationAppKey["PATH_SCOPE_TRUNCATED"] = "pathScopeTruncated";
330
+ TranslatorTranslationAppKey["PATH_SCOPE_INCOMPLETE"] = "pathScopeIncomplete";
331
+ TranslatorTranslationAppKey["PATH_SCOPE_FAILED"] = "pathScopeFailed";
332
+ TranslatorTranslationAppKey["PATH_SCOPE_MISSING"] = "pathScopeMissing";
333
+ TranslatorTranslationAppKey["PATH_DELETE_CONFIRM_DESCRIPTION"] = "pathDeleteConfirmDescription";
334
+ TranslatorTranslationAppKey["PATH_DELETE_CONFIRM_UNKNOWN"] = "pathDeleteConfirmUnknown";
270
335
  TranslatorTranslationAppKey["BACK_TO_APP"] = "backToApp";
271
336
  return TranslatorTranslationAppKey;
272
337
  }({});
@@ -307,6 +372,7 @@ let TranslatorTranslationEntityKey = /* @__PURE__ */ function(TranslatorTranslat
307
372
  TranslatorTranslationEntityKey["IDENTITY_PROVIDER"] = "identityProvider";
308
373
  TranslatorTranslationEntityKey["IDENTITY_PROVIDER_ACCOUNT"] = "identityProviderAccount";
309
374
  TranslatorTranslationEntityKey["KEY"] = "key";
375
+ TranslatorTranslationEntityKey["PATH"] = "path";
310
376
  TranslatorTranslationEntityKey["PERMISSION"] = "permission";
311
377
  TranslatorTranslationEntityKey["POLICY"] = "policy";
312
378
  TranslatorTranslationEntityKey["REALM"] = "realm";
@@ -394,6 +460,7 @@ let TranslatorTranslationFieldKey = /* @__PURE__ */ function(TranslatorTranslati
394
460
  TranslatorTranslationFieldKey["ACCESS_POLICY"] = "accessPolicy";
395
461
  TranslatorTranslationFieldKey["ACTOR"] = "actor";
396
462
  TranslatorTranslationFieldKey["REF"] = "ref";
463
+ TranslatorTranslationFieldKey["PARENT"] = "parent";
397
464
  TranslatorTranslationFieldKey["PATH"] = "path";
398
465
  TranslatorTranslationFieldKey["METHOD"] = "method";
399
466
  TranslatorTranslationFieldKey["USE"] = "use";
@@ -522,6 +589,38 @@ const TranslatorTranslationAppEnglish = {
522
589
  ["policyDescription"]: "Rules that decide when a permission applies.",
523
590
  ["eventDescription"]: "Append-only audit trail of security relevant activity.",
524
591
  ["sessionDescription"]: "Active sign-ins, with the devices and tokens behind them.",
592
+ ["pathDescription"]: "Folders that organize users and clients inside a realm.",
593
+ ["dashboard"]: "Dashboard",
594
+ ["dashboardDescription"]: "Sign-ins, authorizations and events in this realm at a glance.",
595
+ ["dashboardWindow"]: "Window",
596
+ ["dashboardWindow24h"]: "Last 24 hours",
597
+ ["dashboardWindow7d"]: "Last 7 days",
598
+ ["dashboardWindow30d"]: "Last 30 days",
599
+ ["dashboardWindow90d"]: "Last 90 days",
600
+ ["dashboardLogins"]: "Successful logins",
601
+ ["dashboardLoginsFailed"]: "Failed logins",
602
+ ["dashboardAuthorizations"]: "Authorizations",
603
+ ["dashboardEvents"]: "Events",
604
+ ["dashboardLoginVolume"]: "Logins over time",
605
+ ["dashboardEventsByType"]: "Events by type",
606
+ ["dashboardEventsLink"]: "View all events",
607
+ ["dashboardEmpty"]: "No events in this window.",
608
+ ["dashboardEventLogDisabled"]: "The event log is disabled, so nothing is recorded and there is nothing to show here. Enable it with EVENT_LOG_ENABLED.",
609
+ ["dashboardIdentities"]: "Identities",
610
+ ["dashboardConfiguration"]: "Configuration",
611
+ ["sessionsActive"]: "Active sessions",
612
+ ["statsNew"]: "+{{count}} new",
613
+ ["statsNewInDays"]: "+{{count}} in {{days}} days",
614
+ ["statsNewInHours"]: "+{{count}} in {{hours}} hours",
615
+ ["activityTotal"]: "Total",
616
+ ["activityCreated"]: "Created",
617
+ ["activityUpdated"]: "Updated",
618
+ ["activityDeleted"]: "Deleted",
619
+ ["activitySource"]: "Created, updated and deleted are counted from the audit log.",
620
+ ["activityInDays"]: "in {{days}} days",
621
+ ["activityInHours"]: "in {{hours}} hours",
622
+ ["activityAllTime"]: "all time",
623
+ ["statsWindowRetained"]: "The audit log keeps these records for {{days}} days.",
525
624
  ["setManagementRealm"]: "Set as management realm",
526
625
  ["apiDocs"]: "API Docs",
527
626
  ["madeWith"]: "Made with",
@@ -581,6 +680,15 @@ const TranslatorTranslationAppEnglish = {
581
680
  ["identityProviderLinkFailed"]: "The account could not be connected.",
582
681
  ["keyDeleteForceConfirmTitle"]: "Crypto-shred encryption key?",
583
682
  ["keyDeleteForceConfirmDescription"]: "This key is still referenced by {{count}} encrypted secret(s). Deleting it makes them permanently unrecoverable.",
683
+ ["pathHint"]: "Purely organizational. A path affects no permission, role or login.",
684
+ ["pathScope"]: "Path",
685
+ ["pathScopeAll"]: "All paths",
686
+ ["pathScopeTruncated"]: "This folder holds too many subfolders to scope the list, so every row is shown.",
687
+ ["pathScopeIncomplete"]: "This realm holds too many folders to show them all, so the tree stops short.",
688
+ ["pathScopeFailed"]: "The folder could not be loaded, so nothing is listed.",
689
+ ["pathScopeMissing"]: "This folder no longer exists, so nothing is listed.",
690
+ ["pathDeleteConfirmDescription"]: "This deletes {{paths}} subfolders and unfiles {{users}} users and {{clients}} clients. No user and no client is deleted. This action cannot be undone.",
691
+ ["pathDeleteConfirmUnknown"]: "The subfolders below this folder are deleted and every user and client filed under them is unfiled. The counts could not be read. This action cannot be undone.",
584
692
  ["backToApp"]: "Back to {{host}}"
585
693
  };
586
694
  //#endregion
@@ -592,7 +700,7 @@ const TranslatorTranslationClientEnglish = {
592
700
  ["postLogoutRedirectURIHint"]: "URI pattern an RP-initiated logout may redirect back to. Kept separate from the login redirect URIs. Leave empty to always end on the sign-out confirmation page.",
593
701
  ["baseUrlHint"]: "Where the application lives. Shown as a link on the account console. Leave empty to show the name only.",
594
702
  ["backchannelLogoutURIHint"]: "Endpoint that receives a logout token when a session ends (OIDC Back-Channel Logout). One http(s) URL, no patterns. Leave empty to send nothing.",
595
- ["grantTypesHint"]: "Restrict which OAuth2 grants this client may use. Select none to allow every grant.",
703
+ ["grantTypesHint"]: "Restrict which OAuth2 grants this client may use. Select none to allow every grant. The device grant must be listed explicitly; an empty list does not enable it.",
596
704
  ["authMethod"]: "Authentication method",
597
705
  ["authMethodNone"]: "None",
598
706
  ["authMethodSecret"]: "Shared secret",
@@ -683,6 +791,15 @@ const TranslatorTranslationClientEnglish = {
683
791
  ["accessDeniedText"]: "You are not permitted to access this application.",
684
792
  ["clientAccessPolicyHint"]: "Without a policy, every identity in the realm may sign in.",
685
793
  ["consentStatusLoading"]: "Checking granted permissions…",
794
+ ["deviceVerifyTitle"]: "Connect a device",
795
+ ["deviceCodeLabel"]: "Code shown on your device",
796
+ ["deviceCodeHint"]: "Enter the code exactly as displayed. Dashes and case do not matter.",
797
+ ["deviceCodeInvalid"]: "The code is invalid or has expired. Check your device and try again.",
798
+ ["deviceVerifyConfirmText"]: "{{client}} on another device is asking for access to your account.",
799
+ ["deviceVerifyScopes"]: "It will be able to:",
800
+ ["deviceVerifyApproved"]: "Device connected. You can close this page and return to your device.",
801
+ ["deviceVerifyDenied"]: "Access denied. Nothing was connected; you can close this page.",
802
+ ["deviceVerifyThrottled"]: "Too many attempts. Wait a few minutes and try again.",
686
803
  ["logoutConfirmTitle"]: "Sign out",
687
804
  ["logoutConfirmText"]: "Do you want to sign out?",
688
805
  ["logoutDone"]: "You have been signed out.",
@@ -792,6 +909,10 @@ const TranslatorTranslationEntityEnglish = {
792
909
  one: "Key",
793
910
  other: "Keys"
794
911
  }),
912
+ ["path"]: definePlural({
913
+ one: "Path",
914
+ other: "Paths"
915
+ }),
795
916
  ["permission"]: definePlural({
796
917
  one: "Permission",
797
918
  other: "Permissions"
@@ -873,6 +994,10 @@ const TranslatorTranslationErrorEnglish = {
873
994
  [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: "The response type is not supported.",
874
995
  [ErrorCode.OAUTH_SCOPE_INVALID]: "The requested scope is invalid.",
875
996
  [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: "The granted scope is insufficient for this action.",
997
+ [ErrorCode.OAUTH_AUTHORIZATION_PENDING]: "The device has not been approved yet.",
998
+ [ErrorCode.OAUTH_SLOW_DOWN]: "The device is polling too frequently.",
999
+ [ErrorCode.OAUTH_DEVICE_CODE_EXPIRED]: "The device code has expired. Start again on your device.",
1000
+ [ErrorCode.OAUTH_DEVICE_VERIFICATION_THROTTLED]: "Too many verification attempts. Please try again later.",
876
1001
  [ErrorCode.PERMISSION_NOT_FOUND]: "The permission could not be found.",
877
1002
  [ErrorCode.PERMISSION_DENIED]: "You do not have permission to perform this action.",
878
1003
  [ErrorCode.PERMISSION_EVALUATION_FAILED]: "The permission could not be evaluated.",
@@ -954,6 +1079,7 @@ const TranslatorTranslationFieldEnglish = {
954
1079
  ["accessPolicy"]: "Access policy",
955
1080
  ["actor"]: "Actor",
956
1081
  ["ref"]: "Reference",
1082
+ ["parent"]: "Parent",
957
1083
  ["path"]: "Path",
958
1084
  ["method"]: "Method",
959
1085
  ["use"]: "Usage",
@@ -1034,6 +1160,38 @@ const TranslatorTranslationAppGerman = {
1034
1160
  ["policyDescription"]: "Regeln, die bestimmen, wann eine Berechtigung gilt.",
1035
1161
  ["eventDescription"]: "Fortlaufendes Protokoll sicherheitsrelevanter Aktivitäten.",
1036
1162
  ["sessionDescription"]: "Aktive Anmeldungen mit den zugehörigen Geräten und Tokens.",
1163
+ ["pathDescription"]: "Ordner, die Benutzer und Clients innerhalb einer Organisation gliedern.",
1164
+ ["dashboard"]: "Dashboard",
1165
+ ["dashboardDescription"]: "Anmeldungen, Autorisierungen und Ereignisse dieser Organisation auf einen Blick.",
1166
+ ["dashboardWindow"]: "Zeitraum",
1167
+ ["dashboardWindow24h"]: "Letzte 24 Stunden",
1168
+ ["dashboardWindow7d"]: "Letzte 7 Tage",
1169
+ ["dashboardWindow30d"]: "Letzte 30 Tage",
1170
+ ["dashboardWindow90d"]: "Letzte 90 Tage",
1171
+ ["dashboardLogins"]: "Erfolgreiche Anmeldungen",
1172
+ ["dashboardLoginsFailed"]: "Fehlgeschlagene Anmeldungen",
1173
+ ["dashboardAuthorizations"]: "Autorisierungen",
1174
+ ["dashboardEvents"]: "Ereignisse",
1175
+ ["dashboardLoginVolume"]: "Anmeldungen im Zeitverlauf",
1176
+ ["dashboardEventsByType"]: "Ereignisse nach Typ",
1177
+ ["dashboardEventsLink"]: "Alle Ereignisse anzeigen",
1178
+ ["dashboardEmpty"]: "Keine Ereignisse in diesem Zeitraum.",
1179
+ ["dashboardEventLogDisabled"]: "Das Ereignisprotokoll ist deaktiviert. Es wird nichts aufgezeichnet und hier gibt es nichts anzuzeigen. Aktivieren Sie es mit EVENT_LOG_ENABLED.",
1180
+ ["dashboardIdentities"]: "Identitäten",
1181
+ ["dashboardConfiguration"]: "Konfiguration",
1182
+ ["sessionsActive"]: "Aktive Sitzungen",
1183
+ ["statsNew"]: "+{{count}} neu",
1184
+ ["statsNewInDays"]: "+{{count}} in {{days}} Tagen",
1185
+ ["statsNewInHours"]: "+{{count}} in {{hours}} Stunden",
1186
+ ["activityTotal"]: "Gesamt",
1187
+ ["activityCreated"]: "Erstellt",
1188
+ ["activityUpdated"]: "Aktualisiert",
1189
+ ["activityDeleted"]: "Gelöscht",
1190
+ ["activitySource"]: "Erstellt, aktualisiert und gelöscht werden aus dem Audit-Log gezählt.",
1191
+ ["activityInDays"]: "in {{days}} Tagen",
1192
+ ["activityInHours"]: "in {{hours}} Stunden",
1193
+ ["activityAllTime"]: "insgesamt",
1194
+ ["statsWindowRetained"]: "Das Audit-Log bewahrt diese Einträge {{days}} Tage auf.",
1037
1195
  ["setManagementRealm"]: "Als Verwaltungs-Realm festlegen",
1038
1196
  ["apiDocs"]: "API-Dokumentation",
1039
1197
  ["madeWith"]: "Erstellt mit",
@@ -1093,6 +1251,15 @@ const TranslatorTranslationAppGerman = {
1093
1251
  ["identityProviderLinkFailed"]: "Das Konto konnte nicht verbunden werden.",
1094
1252
  ["keyDeleteForceConfirmTitle"]: "Verschlüsselungsschlüssel unwiderruflich löschen?",
1095
1253
  ["keyDeleteForceConfirmDescription"]: "Dieser Schlüssel wird noch von {{count}} verschlüsselten Geheimnissen referenziert. Das Löschen macht sie dauerhaft unlesbar.",
1254
+ ["pathHint"]: "Rein organisatorisch. Ein Pfad beeinflusst weder Berechtigungen noch Rollen noch die Anmeldung.",
1255
+ ["pathScope"]: "Pfad",
1256
+ ["pathScopeAll"]: "Alle Pfade",
1257
+ ["pathScopeTruncated"]: "Dieser Ordner enthält zu viele Unterordner, um die Liste einzugrenzen, daher werden alle Einträge angezeigt.",
1258
+ ["pathScopeIncomplete"]: "Dieser Realm enthält zu viele Ordner, um alle anzuzeigen, daher ist der Baum unvollständig.",
1259
+ ["pathScopeFailed"]: "Der Ordner konnte nicht geladen werden, daher wird nichts angezeigt.",
1260
+ ["pathScopeMissing"]: "Dieser Ordner existiert nicht mehr, daher wird nichts angezeigt.",
1261
+ ["pathDeleteConfirmDescription"]: "Dies löscht {{paths}} Unterordner und hebt die Zuordnung von {{users}} Benutzern und {{clients}} Clients auf. Kein Benutzer und kein Client wird gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
1262
+ ["pathDeleteConfirmUnknown"]: "Die Unterordner dieses Ordners werden gelöscht und die Zuordnung aller darin abgelegten Benutzer und Clients wird aufgehoben. Die Anzahl konnte nicht gelesen werden. Diese Aktion kann nicht rückgängig gemacht werden.",
1096
1263
  ["backToApp"]: "Zurück zu {{host}}"
1097
1264
  };
1098
1265
  //#endregion
@@ -1104,7 +1271,7 @@ const TranslatorTranslationClientGerman = {
1104
1271
  ["postLogoutRedirectURIHint"]: "URI-Muster, zu dem ein RP-initiierter Logout zurückleiten darf. Getrennt von den Login-Weiterleitungs-URIs. Ohne Eintrag endet der Logout immer auf der Bestätigungsseite.",
1105
1272
  ["baseUrlHint"]: "Adresse der Anwendung. Wird in der Kontokonsole als Link angezeigt. Ohne Eintrag erscheint nur der Name.",
1106
1273
  ["backchannelLogoutURIHint"]: "Endpunkt, der beim Ende einer Sitzung ein Logout-Token erhält (OIDC Back-Channel Logout). Eine http(s)-URL, keine Muster. Ohne Eintrag wird nichts gesendet.",
1107
- ["grantTypesHint"]: "Schränkt ein, welche OAuth2-Grants dieser Client verwenden darf. Ohne Auswahl sind alle Grants erlaubt.",
1274
+ ["grantTypesHint"]: "Schränkt ein, welche OAuth2-Grants dieser Client verwenden darf. Ohne Auswahl sind alle Grants erlaubt. Der Device-Grant muss ausdrücklich aufgeführt sein; eine leere Liste aktiviert ihn nicht.",
1108
1275
  ["authMethod"]: "Authentifizierungsmethode",
1109
1276
  ["authMethodNone"]: "Keine",
1110
1277
  ["authMethodSecret"]: "Gemeinsames Geheimnis",
@@ -1195,6 +1362,15 @@ const TranslatorTranslationClientGerman = {
1195
1362
  ["accessDeniedText"]: "Sie sind nicht berechtigt, auf diese Anwendung zuzugreifen.",
1196
1363
  ["clientAccessPolicyHint"]: "Ohne Richtlinie darf sich jede Identität des Realms anmelden.",
1197
1364
  ["consentStatusLoading"]: "Gewährte Berechtigungen werden geprüft…",
1365
+ ["deviceVerifyTitle"]: "Gerät verbinden",
1366
+ ["deviceCodeLabel"]: "Auf deinem Gerät angezeigter Code",
1367
+ ["deviceCodeHint"]: "Gib den Code genau so ein, wie er angezeigt wird. Bindestriche und Groß- oder Kleinschreibung spielen keine Rolle.",
1368
+ ["deviceCodeInvalid"]: "Der Code ist ungültig oder abgelaufen. Prüfe dein Gerät und versuche es erneut.",
1369
+ ["deviceVerifyConfirmText"]: "{{client}} auf einem anderen Gerät bittet um Zugriff auf dein Konto.",
1370
+ ["deviceVerifyScopes"]: "Es erhält folgende Berechtigungen:",
1371
+ ["deviceVerifyApproved"]: "Gerät verbunden. Du kannst diese Seite schließen und zu deinem Gerät zurückkehren.",
1372
+ ["deviceVerifyDenied"]: "Zugriff verweigert. Es wurde nichts verbunden; du kannst diese Seite schließen.",
1373
+ ["deviceVerifyThrottled"]: "Zu viele Versuche. Warte ein paar Minuten und versuche es erneut.",
1198
1374
  ["logoutConfirmTitle"]: "Abmelden",
1199
1375
  ["logoutConfirmText"]: "Möchten Sie sich abmelden?",
1200
1376
  ["logoutDone"]: "Sie wurden abgemeldet.",
@@ -1304,6 +1480,10 @@ const TranslatorTranslationEntityGerman = {
1304
1480
  one: "Schlüssel",
1305
1481
  other: "Schlüssel"
1306
1482
  }),
1483
+ ["path"]: definePlural({
1484
+ one: "Pfad",
1485
+ other: "Pfade"
1486
+ }),
1307
1487
  ["permission"]: definePlural({
1308
1488
  one: "Berechtigung",
1309
1489
  other: "Berechtigungen"
@@ -1385,6 +1565,10 @@ const TranslatorTranslationErrorGerman = {
1385
1565
  [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: "Der Response-Typ wird nicht unterstützt.",
1386
1566
  [ErrorCode.OAUTH_SCOPE_INVALID]: "Der angeforderte Bereich ist ungültig.",
1387
1567
  [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: "Der gewährte Bereich reicht für diese Aktion nicht aus.",
1568
+ [ErrorCode.OAUTH_AUTHORIZATION_PENDING]: "Das Gerät wurde noch nicht freigegeben.",
1569
+ [ErrorCode.OAUTH_SLOW_DOWN]: "Das Gerät fragt zu häufig an.",
1570
+ [ErrorCode.OAUTH_DEVICE_CODE_EXPIRED]: "Der Gerätecode ist abgelaufen. Starte den Vorgang auf deinem Gerät erneut.",
1571
+ [ErrorCode.OAUTH_DEVICE_VERIFICATION_THROTTLED]: "Zu viele Bestätigungsversuche. Bitte versuche es später erneut.",
1388
1572
  [ErrorCode.PERMISSION_NOT_FOUND]: "Die Berechtigung konnte nicht gefunden werden.",
1389
1573
  [ErrorCode.PERMISSION_DENIED]: "Du hast keine Berechtigung, diese Aktion auszuführen.",
1390
1574
  [ErrorCode.PERMISSION_EVALUATION_FAILED]: "Die Berechtigung konnte nicht ausgewertet werden.",
@@ -1466,6 +1650,7 @@ const TranslatorTranslationFieldGerman = {
1466
1650
  ["accessPolicy"]: "Zugriffsrichtlinie",
1467
1651
  ["actor"]: "Akteur",
1468
1652
  ["ref"]: "Referenz",
1653
+ ["parent"]: "Übergeordnet",
1469
1654
  ["path"]: "Pfad",
1470
1655
  ["method"]: "Methode",
1471
1656
  ["use"]: "Verwendung",
@@ -1546,6 +1731,38 @@ const TranslatorTranslationAppFrench = {
1546
1731
  ["policyDescription"]: "Règles qui déterminent quand une permission s'applique.",
1547
1732
  ["eventDescription"]: "Journal d'audit inaltérable des activités liées à la sécurité.",
1548
1733
  ["sessionDescription"]: "Connexions actives, avec les appareils et jetons associés.",
1734
+ ["pathDescription"]: "Dossiers qui organisent les utilisateurs et les clients dans un domaine.",
1735
+ ["dashboard"]: "Tableau de bord",
1736
+ ["dashboardDescription"]: "Connexions, autorisations et événements de ce domaine en un coup d'œil.",
1737
+ ["dashboardWindow"]: "Période",
1738
+ ["dashboardWindow24h"]: "Dernières 24 heures",
1739
+ ["dashboardWindow7d"]: "7 derniers jours",
1740
+ ["dashboardWindow30d"]: "30 derniers jours",
1741
+ ["dashboardWindow90d"]: "90 derniers jours",
1742
+ ["dashboardLogins"]: "Connexions réussies",
1743
+ ["dashboardLoginsFailed"]: "Connexions échouées",
1744
+ ["dashboardAuthorizations"]: "Autorisations",
1745
+ ["dashboardEvents"]: "Événements",
1746
+ ["dashboardLoginVolume"]: "Connexions dans le temps",
1747
+ ["dashboardEventsByType"]: "Événements par type",
1748
+ ["dashboardEventsLink"]: "Voir tous les événements",
1749
+ ["dashboardEmpty"]: "Aucun événement sur cette période.",
1750
+ ["dashboardEventLogDisabled"]: "Le journal des événements est désactivé : rien n'est enregistré et il n'y a rien à afficher ici. Activez-le avec EVENT_LOG_ENABLED.",
1751
+ ["dashboardIdentities"]: "Identités",
1752
+ ["dashboardConfiguration"]: "Configuration",
1753
+ ["sessionsActive"]: "Sessions actives",
1754
+ ["statsNew"]: "Nouveaux : +{{count}}",
1755
+ ["statsNewInDays"]: "+{{count}} en {{days}} jours",
1756
+ ["statsNewInHours"]: "+{{count}} en {{hours}} heures",
1757
+ ["activityTotal"]: "Total",
1758
+ ["activityCreated"]: "Créés",
1759
+ ["activityUpdated"]: "Modifiés",
1760
+ ["activityDeleted"]: "Supprimés",
1761
+ ["activitySource"]: "Les créations, modifications et suppressions sont comptées d'après le journal d'audit.",
1762
+ ["activityInDays"]: "sur {{days}} jours",
1763
+ ["activityInHours"]: "sur {{hours}} heures",
1764
+ ["activityAllTime"]: "depuis toujours",
1765
+ ["statsWindowRetained"]: "Le journal d'audit conserve ces entrées {{days}} jours.",
1549
1766
  ["setManagementRealm"]: "Définir comme realm de gestion",
1550
1767
  ["apiDocs"]: "Documentation API",
1551
1768
  ["madeWith"]: "Fait avec",
@@ -1605,6 +1822,15 @@ const TranslatorTranslationAppFrench = {
1605
1822
  ["identityProviderLinkFailed"]: "Le compte n'a pas pu être connecté.",
1606
1823
  ["keyDeleteForceConfirmTitle"]: "Détruire la clé de chiffrement ?",
1607
1824
  ["keyDeleteForceConfirmDescription"]: "Cette clé est encore référencée par {{count}} secret(s) chiffré(s). Sa suppression les rendra définitivement irrécupérables.",
1825
+ ["pathHint"]: "Purement organisationnel. Un chemin n'affecte ni permission, ni rôle, ni connexion.",
1826
+ ["pathScope"]: "Chemin",
1827
+ ["pathScopeAll"]: "Tous les chemins",
1828
+ ["pathScopeTruncated"]: "Ce dossier contient trop de sous-dossiers pour restreindre la liste, donc toutes les lignes sont affichées.",
1829
+ ["pathScopeIncomplete"]: "Ce royaume contient trop de dossiers pour tous les afficher, donc l'arborescence est incomplète.",
1830
+ ["pathScopeFailed"]: "Le dossier n'a pas pu être chargé, donc rien n'est affiché.",
1831
+ ["pathScopeMissing"]: "Ce dossier n'existe plus, donc rien n'est affiché.",
1832
+ ["pathDeleteConfirmDescription"]: "Cette action supprime {{paths}} sous-dossiers et retire {{users}} utilisateurs et {{clients}} clients de leur dossier. Aucun utilisateur ni client n'est supprimé. Cette action est irréversible.",
1833
+ ["pathDeleteConfirmUnknown"]: "Les sous-dossiers de ce dossier sont supprimés et tous les utilisateurs et clients qui y sont classés en sont retirés. Les nombres n'ont pas pu être lus. Cette action est irréversible.",
1608
1834
  ["backToApp"]: "Retour vers {{host}}"
1609
1835
  };
1610
1836
  //#endregion
@@ -1616,7 +1842,7 @@ const TranslatorTranslationClientFrench = {
1616
1842
  ["postLogoutRedirectURIHint"]: "Modèle d’URI vers lequel une déconnexion initiée par le RP peut rediriger. Distinct des URI de redirection de connexion. Sans entrée, la déconnexion se termine toujours sur la page de confirmation.",
1617
1843
  ["baseUrlHint"]: "Adresse de l'application. Affichée comme lien dans la console de compte. Sans entrée, seul le nom apparaît.",
1618
1844
  ["backchannelLogoutURIHint"]: "Point de terminaison qui reçoit un jeton de déconnexion à la fin d'une session (OIDC Back-Channel Logout). Une URL http(s), sans modèle. Sans entrée, rien n'est envoyé.",
1619
- ["grantTypesHint"]: "Restreint les types d’autorisation OAuth2 que ce client peut utiliser. Sans sélection, tous sont autorisés.",
1845
+ ["grantTypesHint"]: "Restreint les types d’autorisation OAuth2 que ce client peut utiliser. Sans sélection, tous sont autorisés. Le type d’autorisation pour appareils doit être listé explicitement ; une liste vide ne l’active pas.",
1620
1846
  ["authMethod"]: "Méthode d’authentification",
1621
1847
  ["authMethodNone"]: "Aucune",
1622
1848
  ["authMethodSecret"]: "Secret partagé",
@@ -1707,6 +1933,15 @@ const TranslatorTranslationClientFrench = {
1707
1933
  ["accessDeniedText"]: "Vous n'êtes pas autorisé à accéder à cette application.",
1708
1934
  ["clientAccessPolicyHint"]: "Sans politique, toute identité du domaine peut se connecter.",
1709
1935
  ["consentStatusLoading"]: "Vérification des permissions accordées…",
1936
+ ["deviceVerifyTitle"]: "Connecter un appareil",
1937
+ ["deviceCodeLabel"]: "Code affiché sur votre appareil",
1938
+ ["deviceCodeHint"]: "Saisissez le code exactement tel qu'il est affiché. Les tirets et la casse n'ont pas d'importance.",
1939
+ ["deviceCodeInvalid"]: "Le code est invalide ou a expiré. Vérifiez votre appareil et réessayez.",
1940
+ ["deviceVerifyConfirmText"]: "{{client}} sur un autre appareil demande l'accès à votre compte.",
1941
+ ["deviceVerifyScopes"]: "Il pourra :",
1942
+ ["deviceVerifyApproved"]: "Appareil connecté. Vous pouvez fermer cette page et retourner à votre appareil.",
1943
+ ["deviceVerifyDenied"]: "Accès refusé. Rien n'a été connecté ; vous pouvez fermer cette page.",
1944
+ ["deviceVerifyThrottled"]: "Trop de tentatives. Attendez quelques minutes et réessayez.",
1710
1945
  ["logoutConfirmTitle"]: "Se déconnecter",
1711
1946
  ["logoutConfirmText"]: "Voulez-vous vous déconnecter ?",
1712
1947
  ["logoutDone"]: "Vous avez été déconnecté.",
@@ -1816,6 +2051,10 @@ const TranslatorTranslationEntityFrench = {
1816
2051
  one: "Clé",
1817
2052
  other: "Clés"
1818
2053
  }),
2054
+ ["path"]: definePlural({
2055
+ one: "Chemin",
2056
+ other: "Chemins"
2057
+ }),
1819
2058
  ["permission"]: definePlural({
1820
2059
  one: "Permission",
1821
2060
  other: "Permissions"
@@ -1897,6 +2136,10 @@ const TranslatorTranslationErrorFrench = {
1897
2136
  [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: "Le type de réponse n'est pas pris en charge.",
1898
2137
  [ErrorCode.OAUTH_SCOPE_INVALID]: "La portée demandée est invalide.",
1899
2138
  [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: "La portée accordée est insuffisante pour cette action.",
2139
+ [ErrorCode.OAUTH_AUTHORIZATION_PENDING]: "L'appareil n'a pas encore été approuvé.",
2140
+ [ErrorCode.OAUTH_SLOW_DOWN]: "L'appareil interroge le serveur trop fréquemment.",
2141
+ [ErrorCode.OAUTH_DEVICE_CODE_EXPIRED]: "Le code de l'appareil a expiré. Recommencez sur votre appareil.",
2142
+ [ErrorCode.OAUTH_DEVICE_VERIFICATION_THROTTLED]: "Trop de tentatives de vérification. Veuillez réessayer plus tard.",
1900
2143
  [ErrorCode.PERMISSION_NOT_FOUND]: "La permission est introuvable.",
1901
2144
  [ErrorCode.PERMISSION_DENIED]: "Vous n'avez pas la permission d'effectuer cette action.",
1902
2145
  [ErrorCode.PERMISSION_EVALUATION_FAILED]: "La permission n'a pas pu être évaluée.",
@@ -1978,6 +2221,7 @@ const TranslatorTranslationFieldFrench = {
1978
2221
  ["accessPolicy"]: "Politique d'accès",
1979
2222
  ["actor"]: "Acteur",
1980
2223
  ["ref"]: "Référence",
2224
+ ["parent"]: "Parent",
1981
2225
  ["path"]: "Chemin",
1982
2226
  ["method"]: "Méthode",
1983
2227
  ["use"]: "Utilisation",
@@ -2058,6 +2302,38 @@ const TranslatorTranslationAppSpanish = {
2058
2302
  ["policyDescription"]: "Reglas que deciden cuándo se aplica un permiso.",
2059
2303
  ["eventDescription"]: "Registro de auditoría inalterable de la actividad de seguridad.",
2060
2304
  ["sessionDescription"]: "Inicios de sesión activos, con los dispositivos y tokens asociados.",
2305
+ ["pathDescription"]: "Carpetas que organizan usuarios y clientes dentro de un dominio.",
2306
+ ["dashboard"]: "Panel",
2307
+ ["dashboardDescription"]: "Inicios de sesión, autorizaciones y eventos de este dominio de un vistazo.",
2308
+ ["dashboardWindow"]: "Período",
2309
+ ["dashboardWindow24h"]: "Últimas 24 horas",
2310
+ ["dashboardWindow7d"]: "Últimos 7 días",
2311
+ ["dashboardWindow30d"]: "Últimos 30 días",
2312
+ ["dashboardWindow90d"]: "Últimos 90 días",
2313
+ ["dashboardLogins"]: "Inicios de sesión correctos",
2314
+ ["dashboardLoginsFailed"]: "Inicios de sesión fallidos",
2315
+ ["dashboardAuthorizations"]: "Autorizaciones",
2316
+ ["dashboardEvents"]: "Eventos",
2317
+ ["dashboardLoginVolume"]: "Inicios de sesión a lo largo del tiempo",
2318
+ ["dashboardEventsByType"]: "Eventos por tipo",
2319
+ ["dashboardEventsLink"]: "Ver todos los eventos",
2320
+ ["dashboardEmpty"]: "No hay eventos en este período.",
2321
+ ["dashboardEventLogDisabled"]: "El registro de eventos está desactivado: no se graba nada y no hay nada que mostrar aquí. Actívelo con EVENT_LOG_ENABLED.",
2322
+ ["dashboardIdentities"]: "Identidades",
2323
+ ["dashboardConfiguration"]: "Configuración",
2324
+ ["sessionsActive"]: "Sesiones activas",
2325
+ ["statsNew"]: "Nuevos: +{{count}}",
2326
+ ["statsNewInDays"]: "+{{count}} en {{days}} días",
2327
+ ["statsNewInHours"]: "+{{count}} en {{hours}} horas",
2328
+ ["activityTotal"]: "Total",
2329
+ ["activityCreated"]: "Creados",
2330
+ ["activityUpdated"]: "Actualizados",
2331
+ ["activityDeleted"]: "Eliminados",
2332
+ ["activitySource"]: "Las creaciones, actualizaciones y eliminaciones se cuentan a partir del registro de auditoría.",
2333
+ ["activityInDays"]: "en {{days}} días",
2334
+ ["activityInHours"]: "en {{hours}} horas",
2335
+ ["activityAllTime"]: "desde siempre",
2336
+ ["statsWindowRetained"]: "El registro de auditoría conserva estas entradas {{days}} días.",
2061
2337
  ["setManagementRealm"]: "Establecer como realm de gestión",
2062
2338
  ["apiDocs"]: "Documentación de la API",
2063
2339
  ["madeWith"]: "Hecho con",
@@ -2117,6 +2393,15 @@ const TranslatorTranslationAppSpanish = {
2117
2393
  ["identityProviderLinkFailed"]: "La cuenta no pudo ser conectada.",
2118
2394
  ["keyDeleteForceConfirmTitle"]: "¿Destruir la clave de cifrado?",
2119
2395
  ["keyDeleteForceConfirmDescription"]: "Esta clave todavía es referenciada por {{count}} secreto(s) cifrado(s). Eliminarla los hará permanentemente irrecuperables.",
2396
+ ["pathHint"]: "Solo organizativo. Una ruta no afecta permisos, roles ni el inicio de sesión.",
2397
+ ["pathScope"]: "Ruta",
2398
+ ["pathScopeAll"]: "Todas las rutas",
2399
+ ["pathScopeTruncated"]: "Esta carpeta contiene demasiadas subcarpetas para acotar la lista, por lo que se muestran todas las filas.",
2400
+ ["pathScopeIncomplete"]: "Este dominio contiene demasiadas carpetas para mostrarlas todas, por lo que el árbol está incompleto.",
2401
+ ["pathScopeFailed"]: "No se pudo cargar la carpeta, por lo que no se muestra nada.",
2402
+ ["pathScopeMissing"]: "Esta carpeta ya no existe, por lo que no se muestra nada.",
2403
+ ["pathDeleteConfirmDescription"]: "Esto elimina {{paths}} subcarpetas y desarchiva {{users}} usuarios y {{clients}} clientes. No se elimina ningún usuario ni cliente. Esta acción no se puede deshacer.",
2404
+ ["pathDeleteConfirmUnknown"]: "Las subcarpetas de esta carpeta se eliminan y todos los usuarios y clientes archivados en ellas quedan sin carpeta. No se pudieron leer los recuentos. Esta acción no se puede deshacer.",
2120
2405
  ["backToApp"]: "Volver a {{host}}"
2121
2406
  };
2122
2407
  //#endregion
@@ -2128,7 +2413,7 @@ const TranslatorTranslationClientSpanish = {
2128
2413
  ["postLogoutRedirectURIHint"]: "Patrón de URI al que puede redirigir un cierre de sesión iniciado por el RP. Independiente de las URI de redirección de inicio de sesión. Sin entradas, el cierre de sesión termina siempre en la página de confirmación.",
2129
2414
  ["baseUrlHint"]: "Dirección de la aplicación. Se muestra como enlace en la consola de cuenta. Sin entrada, solo aparece el nombre.",
2130
2415
  ["backchannelLogoutURIHint"]: "Punto final que recibe un token de cierre de sesión cuando termina una sesión (OIDC Back-Channel Logout). Una URL http(s), sin patrones. Sin entrada, no se envía nada.",
2131
- ["grantTypesHint"]: "Restringe qué concesiones OAuth2 puede usar este cliente. Sin selección, se permiten todas.",
2416
+ ["grantTypesHint"]: "Restringe qué concesiones OAuth2 puede usar este cliente. Sin selección, se permiten todas. La concesión para dispositivos debe indicarse explícitamente; una lista vacía no la habilita.",
2132
2417
  ["authMethod"]: "Método de autenticación",
2133
2418
  ["authMethodNone"]: "Ninguno",
2134
2419
  ["authMethodSecret"]: "Secreto compartido",
@@ -2219,6 +2504,15 @@ const TranslatorTranslationClientSpanish = {
2219
2504
  ["accessDeniedText"]: "No tienes permiso para acceder a esta aplicación.",
2220
2505
  ["clientAccessPolicyHint"]: "Sin política, cualquier identidad del realm puede iniciar sesión.",
2221
2506
  ["consentStatusLoading"]: "Comprobando los permisos concedidos…",
2507
+ ["deviceVerifyTitle"]: "Conectar un dispositivo",
2508
+ ["deviceCodeLabel"]: "Código mostrado en tu dispositivo",
2509
+ ["deviceCodeHint"]: "Introduce el código exactamente como se muestra. Los guiones y las mayúsculas no importan.",
2510
+ ["deviceCodeInvalid"]: "El código no es válido o ha caducado. Revisa tu dispositivo e inténtalo de nuevo.",
2511
+ ["deviceVerifyConfirmText"]: "{{client}} en otro dispositivo solicita acceso a tu cuenta.",
2512
+ ["deviceVerifyScopes"]: "Podrá:",
2513
+ ["deviceVerifyApproved"]: "Dispositivo conectado. Puedes cerrar esta página y volver a tu dispositivo.",
2514
+ ["deviceVerifyDenied"]: "Acceso denegado. No se conectó nada; puedes cerrar esta página.",
2515
+ ["deviceVerifyThrottled"]: "Demasiados intentos. Espera unos minutos e inténtalo de nuevo.",
2222
2516
  ["logoutConfirmTitle"]: "Cerrar sesión",
2223
2517
  ["logoutConfirmText"]: "¿Quieres cerrar sesión?",
2224
2518
  ["logoutDone"]: "Has cerrado sesión.",
@@ -2328,6 +2622,10 @@ const TranslatorTranslationEntitySpanish = {
2328
2622
  one: "Clave",
2329
2623
  other: "Claves"
2330
2624
  }),
2625
+ ["path"]: definePlural({
2626
+ one: "Ruta",
2627
+ other: "Rutas"
2628
+ }),
2331
2629
  ["permission"]: definePlural({
2332
2630
  one: "Permiso",
2333
2631
  other: "Permisos"
@@ -2409,6 +2707,10 @@ const TranslatorTranslationErrorSpanish = {
2409
2707
  [ErrorCode.OAUTH_RESPONSE_TYPE_UNSUPPORTED]: "El tipo de respuesta no es compatible.",
2410
2708
  [ErrorCode.OAUTH_SCOPE_INVALID]: "El ámbito solicitado no es válido.",
2411
2709
  [ErrorCode.OAUTH_SCOPE_INSUFFICIENT]: "El ámbito concedido es insuficiente para esta acción.",
2710
+ [ErrorCode.OAUTH_AUTHORIZATION_PENDING]: "El dispositivo aún no ha sido aprobado.",
2711
+ [ErrorCode.OAUTH_SLOW_DOWN]: "El dispositivo consulta con demasiada frecuencia.",
2712
+ [ErrorCode.OAUTH_DEVICE_CODE_EXPIRED]: "El código del dispositivo ha caducado. Vuelva a empezar en su dispositivo.",
2713
+ [ErrorCode.OAUTH_DEVICE_VERIFICATION_THROTTLED]: "Demasiados intentos de verificación. Inténtelo de nuevo más tarde.",
2412
2714
  [ErrorCode.PERMISSION_NOT_FOUND]: "No se pudo encontrar el permiso.",
2413
2715
  [ErrorCode.PERMISSION_DENIED]: "No tiene permiso para realizar esta acción.",
2414
2716
  [ErrorCode.PERMISSION_EVALUATION_FAILED]: "No se pudo evaluar el permiso.",
@@ -2490,6 +2792,7 @@ const TranslatorTranslationFieldSpanish = {
2490
2792
  ["accessPolicy"]: "Política de acceso",
2491
2793
  ["actor"]: "Actor",
2492
2794
  ["ref"]: "Referencia",
2795
+ ["parent"]: "Superior",
2493
2796
  ["path"]: "Ruta",
2494
2797
  ["method"]: "Método",
2495
2798
  ["use"]: "Uso",