diff --git a/web/src/admin/users/UserViewPage.ts b/web/src/admin/users/UserViewPage.ts index f270f6dfdf..fe1c878cef 100644 --- a/web/src/admin/users/UserViewPage.ts +++ b/web/src/admin/users/UserViewPage.ts @@ -13,6 +13,7 @@ import { getRelativeTime } from "@goauthentik/app/common/utils"; import "@goauthentik/app/elements/oauth/UserAccessTokenList"; import "@goauthentik/app/elements/oauth/UserRefreshTokenList"; import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; +import "@goauthentik/app/elements/user/sources/SourceSettings"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { userTypeToLabel } from "@goauthentik/common/labels"; @@ -318,6 +319,16 @@ export class UserViewPage extends WithCapabilitiesConfig(AKElement) { +
+
+ + +
+
`; } diff --git a/web/src/common/styles/authentik.css b/web/src/common/styles/authentik.css index 4ccabd8edd..790c4c4e10 100644 --- a/web/src/common/styles/authentik.css +++ b/web/src/common/styles/authentik.css @@ -150,3 +150,7 @@ html > form > input { margin-top: 13rem; } } + +.pf-c-data-list { + padding-inline-start: 0; +} diff --git a/web/src/common/styles/theme-dark.css b/web/src/common/styles/theme-dark.css index 764f66dd09..c49c1114e2 100644 --- a/web/src/common/styles/theme-dark.css +++ b/web/src/common/styles/theme-dark.css @@ -292,6 +292,7 @@ input[type="date"]::-webkit-calendar-picker-indicator { } /* data list */ .pf-c-data-list { + padding-inline-start: 0; border-top-color: var(--ak-dark-background-lighter); } .pf-c-data-list__item { diff --git a/web/src/user/user-settings/BaseUserSettings.ts b/web/src/elements/user/sources/BaseUserSettings.ts similarity index 100% rename from web/src/user/user-settings/BaseUserSettings.ts rename to web/src/elements/user/sources/BaseUserSettings.ts diff --git a/web/src/user/user-settings/sources/SourceSettings.ts b/web/src/elements/user/sources/SourceSettings.ts similarity index 69% rename from web/src/user/user-settings/sources/SourceSettings.ts rename to web/src/elements/user/sources/SourceSettings.ts index 203eef9f3d..d276d29e58 100644 --- a/web/src/user/user-settings/sources/SourceSettings.ts +++ b/web/src/elements/user/sources/SourceSettings.ts @@ -1,18 +1,16 @@ import { renderSourceIcon } from "@goauthentik/app/admin/sources/utils"; +import "@goauthentik/app/elements/user/sources/SourceSettingsOAuth"; +import "@goauthentik/app/elements/user/sources/SourceSettingsPlex"; +import "@goauthentik/app/elements/user/sources/SourceSettingsSAML"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; -import { me } from "@goauthentik/common/users"; import { AKElement } from "@goauthentik/elements/Base"; import "@goauthentik/elements/EmptyState"; -import "@goauthentik/user/user-settings/sources/SourceSettingsOAuth"; -import "@goauthentik/user/user-settings/sources/SourceSettingsPlex"; -import "@goauthentik/user/user-settings/sources/SourceSettingsSAML"; import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import PFContent from "@patternfly/patternfly/components/Content/content.css"; import PFDataList from "@patternfly/patternfly/components/DataList/data-list.css"; import { PaginatedUserSourceConnectionList, SourcesApi, UserSetting } from "@goauthentik/api"; @@ -25,10 +23,15 @@ export class UserSourceSettingsPage extends AKElement { @property({ attribute: false }) connections?: PaginatedUserSourceConnectionList; + @property({ type: Number }) + userId?: number; + + @property({ type: Boolean }) + canConnect = true; + static get styles(): CSSResult[] { return [ PFDataList, - PFContent, css` .pf-c-data-list__cell { display: flex; @@ -57,10 +60,9 @@ export class UserSourceSettingsPage extends AKElement { } async firstUpdated(): Promise { - const user = await me(); this.sourceSettings = await new SourcesApi(DEFAULT_CONFIG).sourcesAllUserSettingsList(); this.connections = await new SourcesApi(DEFAULT_CONFIG).sourcesUserConnectionsAllList({ - user: user.user.pk, + user: this.userId, }); } @@ -79,29 +81,26 @@ export class UserSourceSettingsPage extends AKElement { switch (source.component) { case "ak-user-settings-source-oauth": return html` `; case "ak-user-settings-source-plex": return html` `; case "ak-user-settings-source-saml": return html` `; default: @@ -112,23 +111,17 @@ export class UserSourceSettingsPage extends AKElement { } render(): TemplateResult { - return html`
-

- ${msg( - "Connect your user account to the services listed below, to allow you to login using the service instead of traditional credentials.", - )} -

-
- `; } } diff --git a/web/src/user/user-settings/sources/SourceSettingsOAuth.ts b/web/src/elements/user/sources/SourceSettingsOAuth.ts similarity index 82% rename from web/src/user/user-settings/sources/SourceSettingsOAuth.ts rename to web/src/elements/user/sources/SourceSettingsOAuth.ts index 2461b487f9..141cc4cea5 100644 --- a/web/src/user/user-settings/sources/SourceSettingsOAuth.ts +++ b/web/src/elements/user/sources/SourceSettingsOAuth.ts @@ -1,14 +1,13 @@ +import { BaseUserSettings } from "@goauthentik/app/elements/user/sources/BaseUserSettings"; import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { MessageLevel } from "@goauthentik/common/messages"; import "@goauthentik/elements/Spinner"; import { showMessage } from "@goauthentik/elements/messages/MessageContainer"; -import { BaseUserSettings } from "@goauthentik/user/user-settings/BaseUserSettings"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { ifDefined } from "lit/directives/if-defined.js"; import { SourcesApi } from "@goauthentik/api"; @@ -57,13 +56,16 @@ export class SourceSettingsOAuth extends BaseUserSettings { ${msg("Disconnect")} `; } - return html` - ${msg("Connect")} - `; + if (this.configureUrl) { + return html` + ${msg("Connect")} + `; + } + return html`${msg("-")}`; } } diff --git a/web/src/user/user-settings/sources/SourceSettingsPlex.ts b/web/src/elements/user/sources/SourceSettingsPlex.ts similarity index 90% rename from web/src/user/user-settings/sources/SourceSettingsPlex.ts rename to web/src/elements/user/sources/SourceSettingsPlex.ts index a1c23cf57a..d9492f0d75 100644 --- a/web/src/user/user-settings/sources/SourceSettingsPlex.ts +++ b/web/src/elements/user/sources/SourceSettingsPlex.ts @@ -1,10 +1,10 @@ +import { BaseUserSettings } from "@goauthentik/app/elements/user/sources/BaseUserSettings"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { PlexAPIClient, popupCenterScreen } from "@goauthentik/common/helpers/plex"; import { MessageLevel } from "@goauthentik/common/messages"; import "@goauthentik/elements/Spinner"; import { showMessage } from "@goauthentik/elements/messages/MessageContainer"; -import { BaseUserSettings } from "@goauthentik/user/user-settings/BaseUserSettings"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; @@ -77,8 +77,11 @@ export class SourceSettingsPlex extends BaseUserSettings { ${msg("Disconnect")} `; } - return html``; + if (this.configureUrl) { + return html``; + } + return html`${msg("-")}`; } } diff --git a/web/src/user/user-settings/sources/SourceSettingsSAML.ts b/web/src/elements/user/sources/SourceSettingsSAML.ts similarity index 82% rename from web/src/user/user-settings/sources/SourceSettingsSAML.ts rename to web/src/elements/user/sources/SourceSettingsSAML.ts index da88645c3e..fe09bb1193 100644 --- a/web/src/user/user-settings/sources/SourceSettingsSAML.ts +++ b/web/src/elements/user/sources/SourceSettingsSAML.ts @@ -1,14 +1,13 @@ +import { BaseUserSettings } from "@goauthentik/app/elements/user/sources/BaseUserSettings"; import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { MessageLevel } from "@goauthentik/common/messages"; import "@goauthentik/elements/Spinner"; import { showMessage } from "@goauthentik/elements/messages/MessageContainer"; -import { BaseUserSettings } from "@goauthentik/user/user-settings/BaseUserSettings"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { ifDefined } from "lit/directives/if-defined.js"; import { SourcesApi } from "@goauthentik/api"; @@ -57,13 +56,16 @@ export class SourceSettingsSAML extends BaseUserSettings { ${msg("Disconnect")} `; } - return html` - ${msg("Connect")} - `; + if (this.configureUrl) { + return html` + ${msg("Connect")} + `; + } + return html`${msg("-")}`; } } diff --git a/web/src/user/user-settings/UserSettingsPage.ts b/web/src/user/user-settings/UserSettingsPage.ts index 9506731728..efa28a5740 100644 --- a/web/src/user/user-settings/UserSettingsPage.ts +++ b/web/src/user/user-settings/UserSettingsPage.ts @@ -1,3 +1,4 @@ +import "@goauthentik/app/elements/user/sources/SourceSettings"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { AKElement, rootInterface } from "@goauthentik/elements/Base"; @@ -8,7 +9,6 @@ import { UserInterface } from "@goauthentik/user/UserInterface"; import "@goauthentik/user/user-settings/details/UserPassword"; import "@goauthentik/user/user-settings/details/UserSettingsFlowExecutor"; import "@goauthentik/user/user-settings/mfa/MFADevicesPage"; -import "@goauthentik/user/user-settings/sources/SourceSettings"; import "@goauthentik/user/user-settings/tokens/UserTokenList"; import { localized, msg } from "@lit/localize"; @@ -156,9 +156,14 @@ export class UserSettingsPage extends AKElement { class="pf-c-page__main-section pf-m-no-padding-mobile" >
-
- +
+ ${msg( + "Connect your user account to the services listed below, to allow you to login using the service instead of traditional credentials.", + )}
+ ()?.me?.user.pk)} + >
Preview for user + + + Brand name diff --git a/web/xliff/en.xlf b/web/xliff/en.xlf index 12ac5aa493..3167198715 100644 --- a/web/xliff/en.xlf +++ b/web/xliff/en.xlf @@ -6660,6 +6660,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + + Brand name diff --git a/web/xliff/es.xlf b/web/xliff/es.xlf index 81993ba417..a281f42c45 100644 --- a/web/xliff/es.xlf +++ b/web/xliff/es.xlf @@ -6306,6 +6306,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + + Brand name diff --git a/web/xliff/fr.xlf b/web/xliff/fr.xlf index cf0ae33fae..1634c6861d 100644 --- a/web/xliff/fr.xlf +++ b/web/xliff/fr.xlf @@ -1,4 +1,4 @@ - + @@ -596,9 +596,9 @@ - The URL "" was not found. - L'URL " - " n'a pas été trouvée. + The URL "" was not found. + L'URL " + " n'a pas été trouvée. @@ -1040,8 +1040,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. @@ -1613,7 +1613,7 @@ Token to authenticate with. Currently only bearer authentication is supported. - Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. + Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. @@ -1781,8 +1781,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". @@ -2870,7 +2870,7 @@ doesn't pass when either or both of the selected options are equal or above the To use SSL instead, use 'ldaps://' and disable this option. - Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. + Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. @@ -2959,8 +2959,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' @@ -3255,7 +3255,7 @@ doesn't pass when either or both of the selected options are equal or above the Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. - Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. + Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. @@ -3423,7 +3423,7 @@ doesn't pass when either or both of the selected options are equal or above the Optionally set the 'FriendlyName' value of the Assertion attribute. - Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) + Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) @@ -3737,8 +3737,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". + When using an external logging solution for archiving, this can be set to "minutes=5". + En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". @@ -3914,10 +3914,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? Êtes-vous sûr de vouloir mettre à jour - " - "? + " + "? @@ -4998,8 +4998,8 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey - Un authentificateur "itinérant", comme une YubiKey + A "roaming" authenticator, like a YubiKey + Un authentificateur "itinérant", comme une YubiKey @@ -5324,7 +5324,7 @@ doesn't pass when either or both of the selected options are equal or above the Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable. - Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". + Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". @@ -5333,10 +5333,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ", de type + (" + ", de type ) @@ -5385,8 +5385,8 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. - Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. @@ -6165,7 +6165,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Can be in the format of 'unix://' when connecting to a local docker daemon, using 'ssh://' to connect via SSH, or 'https://:2376' when connecting to a remote system. - Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. + Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. @@ -7472,7 +7472,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Use this provider with nginx's auth_request or traefik's forwardAuth. Each application/domain needs its own provider. Additionally, on each domain, /outpost.goauthentik.io must be routed to the outpost (when using a managed outpost, this is done for you). - Utilisez ce fournisseur avec l'option "auth_request" de Nginx ou "forwardAuth" de Traefik. Chaque application/domaine a besoin de son propre fournisseur. De plus, sur chaque domaine, "/outpost.goauthentik.io" doit être routé vers le poste avancé (lorsque vous utilisez un poste avancé géré, cela est fait pour vous). + Utilisez ce fournisseur avec l'option "auth_request" de Nginx ou "forwardAuth" de Traefik. Chaque application/domaine a besoin de son propre fournisseur. De plus, sur chaque domaine, "/outpost.goauthentik.io" doit être routé vers le poste avancé (lorsque vous utilisez un poste avancé géré, cela est fait pour vous). Default relay state @@ -7878,7 +7878,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Utilisateur créé et ajouté au groupe avec succès - This user will be added to the group "". + This user will be added to the group "". Cet utilisateur sera ajouté au groupe "". @@ -8406,7 +8406,10 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Preview for user Prévisualisation pour un utilisateur + + + Brand name - \ No newline at end of file + diff --git a/web/xliff/ko.xlf b/web/xliff/ko.xlf index 83a4124bfe..f7ae504faf 100644 --- a/web/xliff/ko.xlf +++ b/web/xliff/ko.xlf @@ -8254,6 +8254,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + + Brand name diff --git a/web/xliff/nl.xlf b/web/xliff/nl.xlf index e46e7f430a..535d2acb5b 100644 --- a/web/xliff/nl.xlf +++ b/web/xliff/nl.xlf @@ -8097,6 +8097,9 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de Preview for user + + + Brand name diff --git a/web/xliff/pl.xlf b/web/xliff/pl.xlf index eb0b2a8cf1..08058446f3 100644 --- a/web/xliff/pl.xlf +++ b/web/xliff/pl.xlf @@ -6512,6 +6512,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + + Brand name diff --git a/web/xliff/pseudo-LOCALE.xlf b/web/xliff/pseudo-LOCALE.xlf index bec6613ec8..ff9313c852 100644 --- a/web/xliff/pseudo-LOCALE.xlf +++ b/web/xliff/pseudo-LOCALE.xlf @@ -8231,4 +8231,7 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + Brand name + diff --git a/web/xliff/tr.xlf b/web/xliff/tr.xlf index b306b787ce..46a8b159fc 100644 --- a/web/xliff/tr.xlf +++ b/web/xliff/tr.xlf @@ -6299,6 +6299,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + + Brand name diff --git a/web/xliff/zh-CN.xlf b/web/xliff/zh-CN.xlf index d75c53648a..4d32acfb9c 100644 --- a/web/xliff/zh-CN.xlf +++ b/web/xliff/zh-CN.xlf @@ -5209,6 +5209,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + Brand name + diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index 4baffd8568..d2a9a99bb3 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -596,9 +596,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1040,8 +1040,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1782,8 +1782,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -2961,8 +2961,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -3739,8 +3739,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -3916,10 +3916,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -5000,7 +5000,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5335,10 +5335,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ",类型为 + (" + ",类型为 @@ -5387,7 +5387,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7880,7 +7880,7 @@ Bindings to groups/users are checked against the user of the event. 成功创建用户并添加到组 - This user will be added to the group "". + This user will be added to the group "". 此用户将会被添加到组 ""。 @@ -8408,6 +8408,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user 用户预览 + + + Brand name diff --git a/web/xliff/zh-Hant.xlf b/web/xliff/zh-Hant.xlf index 67eb41ef69..65cc16d738 100644 --- a/web/xliff/zh-Hant.xlf +++ b/web/xliff/zh-Hant.xlf @@ -6347,6 +6347,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + + Brand name diff --git a/web/xliff/zh_TW.xlf b/web/xliff/zh_TW.xlf index 4b970d85ec..03024ed01e 100644 --- a/web/xliff/zh_TW.xlf +++ b/web/xliff/zh_TW.xlf @@ -8215,6 +8215,9 @@ Bindings to groups/users are checked against the user of the event. Preview for user + + + Brand name