web: use mermaidjs (#3623)

* flows: move flow diagram logic to separate file

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* idk

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* make web component work

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* remove subgraph for now

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* cleanup

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* add denied connection

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* fix

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* wrong list

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* fix tests

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* use custom styles

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* i18n

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* fix typing issues, make diagram centered

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* fix tests

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* fix lint

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens L
2022-09-21 09:58:23 +02:00
committed by GitHub
parent 909a7772dc
commit 1583d53e54
18 changed files with 4980 additions and 3452 deletions

View File

@ -2,10 +2,11 @@ import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
import { EVENT_REFRESH } from "@goauthentik/common/constants";
import { AKElement } from "@goauthentik/elements/Base";
import "@goauthentik/elements/EmptyState";
import FlowChart from "flowchart.js";
import mermaid from "mermaid";
import { TemplateResult, html } from "lit";
import { CSSResult, TemplateResult, css, html } from "lit";
import { customElement, property } from "lit/decorators.js";
import { unsafeHTML } from "lit/directives/unsafe-html.js";
import { FlowsApi } from "@goauthentik/api";
@ -35,34 +36,37 @@ export class FlowDiagram extends AKElement {
@property({ attribute: false })
diagram?: string;
@property()
fontColour: string = FONT_COLOUR_DARK_MODE;
@property()
fill: string = FILL_DARK_MODE;
handlerBound = false;
createRenderRoot(): Element | ShadowRoot {
return this;
}
get isInViewport(): boolean {
const rect = this.getBoundingClientRect();
return !(rect.x + rect.y + rect.width + rect.height === 0);
}
static get styles(): CSSResult[] {
return [
css`
:host {
display: flex;
justify-content: center;
}
`,
];
}
constructor() {
super();
const matcher = window.matchMedia("(prefers-color-scheme: light)");
const handler = (ev?: MediaQueryListEvent) => {
if (ev?.matches || matcher.matches) {
this.fontColour = FONT_COLOUR_LIGHT_MODE;
this.fill = FILL_LIGHT_MODE;
} else {
this.fontColour = FONT_COLOUR_DARK_MODE;
this.fill = FILL_DARK_MODE;
}
console.log("setting config");
mermaid.initialize({
logLevel: "error",
startOnLoad: false,
theme: ev?.matches || matcher.matches ? "default" : "dark",
flowchart: {
curve: "linear",
},
});
this.requestUpdate();
};
matcher.addEventListener("change", handler);
@ -93,18 +97,9 @@ export class FlowDiagram extends AKElement {
console.debug(`authentik/flow/diagram: failed to remove element ${el}`);
}
});
if (this.diagram) {
const diagram = FlowChart.parse(this.diagram);
diagram.drawSVG(this, {
"font-color": this.fontColour,
"line-color": "#bebebe",
"element-color": "#bebebe",
"fill": this.fill,
"yes-text": "Policy passes",
"no-text": "Policy denies",
});
return html``;
if (!this.diagram) {
return html`<ak-empty-state ?loading=${true}></ak-empty-state>`;
}
return html`<ak-empty-state ?loading=${true}></ak-empty-state>`;
return html`${unsafeHTML(mermaid.render("graph", this.diagram))}`;
}
}

View File

@ -83,7 +83,7 @@ export class FlowViewPage extends AKElement {
<div
class="pf-c-card pf-l-grid__item pf-m-12-col pf-m-2-col-on-xl pf-m-2-col-on-2xl"
>
<div class="pf-c-card__title">${t`Related`}</div>
<div class="pf-c-card__title">${t`Related actions`}</div>
<div class="pf-c-card__body">
<dl class="pf-c-description-list">
<div class="pf-c-description-list__group">
@ -104,7 +104,7 @@ export class FlowViewPage extends AKElement {
</ak-flow-form>
<button
slot="trigger"
class="pf-c-button pf-m-secondary"
class="pf-c-button pf-m-block pf-m-secondary"
>
${t`Edit`}
</button>
@ -119,7 +119,7 @@ export class FlowViewPage extends AKElement {
<dd class="pf-c-description-list__description">
<div class="pf-c-description-list__text">
<button
class="pf-c-button pf-m-primary"
class="pf-c-button pf-m-block pf-m-primary"
@click=${() => {
const finalURL = `${
window.location.origin
@ -132,7 +132,7 @@ export class FlowViewPage extends AKElement {
${t`Normal`}
</button>
<button
class="pf-c-button pf-m-secondary"
class="pf-c-button pf-m-block pf-m-secondary"
@click=${() => {
new FlowsApi(DEFAULT_CONFIG)
.flowsInstancesExecuteRetrieve({
@ -151,7 +151,7 @@ export class FlowViewPage extends AKElement {
${t`with current user`}
</button>
<button
class="pf-c-button pf-m-secondary"
class="pf-c-button pf-m-block pf-m-secondary"
@click=${() => {
new FlowsApi(DEFAULT_CONFIG)
.flowsInstancesExecuteRetrieve({
@ -187,7 +187,7 @@ export class FlowViewPage extends AKElement {
<dd class="pf-c-description-list__description">
<div class="pf-c-description-list__text">
<a
class="pf-c-button pf-m-secondary"
class="pf-c-button pf-m-block pf-m-secondary"
href=${this.flow.exportUrl}
>
${t`Export`}

File diff suppressed because it is too large Load Diff

View File

@ -646,6 +646,10 @@ msgstr "Auto-detect (based on your browser)"
msgid "Automate and template configuration within authentik."
msgstr "Automate and template configuration within authentik."
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr "Automatic import"
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "Avatar image"
@ -2471,6 +2475,7 @@ msgstr "Forgot password?"
msgid "Forgot username or password?"
msgstr "Forgot username or password?"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3694,6 +3699,7 @@ msgstr "No additional data available."
msgid "No additional setup is required."
msgstr "No additional setup is required."
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3998,6 +4004,10 @@ msgstr "Optionally set the 'FriendlyName' value of the Assertion attribute."
msgid "Or"
msgstr "Or"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr "Or manually import"
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4152,8 +4162,12 @@ msgid "Path"
msgstr "Path"
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgstr "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr "Path new users will be created under. If left blank, the default path will be used."
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr "Path new users will be created under. If left blank, the default path will be used.fo"
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
@ -4588,10 +4602,13 @@ msgid "Regular user"
msgstr "Regular user"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "Related"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr "Related actions"
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5338,6 +5355,10 @@ msgstr "Stages are single steps of a Flow that a user is guided through. A stage
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr "Start automatic import"
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "State"
@ -5582,6 +5603,10 @@ msgstr "Successfully imported flow."
msgid "Successfully imported provider."
msgstr "Successfully imported provider."
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr "Successfully imported {0} devices."
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "Successfully sent email."

View File

@ -640,6 +640,10 @@ msgstr "Detección automática (según su navegador)"
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "Imagen de avatar"
@ -2426,6 +2430,7 @@ msgstr "¿Has olvidado tu contraseña"
msgid "Forgot username or password?"
msgstr "¿Olvidó su nombre de usuario"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3634,6 +3639,7 @@ msgstr "No hay datos adicionales disponibles."
msgid "No additional setup is required."
msgstr "No se requiere ninguna configuración adicional."
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3931,6 +3937,10 @@ msgstr "Si lo desea, defina el valor «FriendlyName» del atributo Assertion."
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4081,9 +4091,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4507,10 +4521,13 @@ msgid "Regular user"
msgstr "Usuario habitual"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "Relacionado"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5236,6 +5253,10 @@ msgstr "Las etapas son pasos individuales de un flujo por los que se guía al us
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "Estado"
@ -5470,6 +5491,10 @@ msgstr "El flujo se importó correctamente."
msgid "Successfully imported provider."
msgstr "El proveedor se importó correctamente."
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "El correo electrónico se envió correctamente."

View File

@ -646,6 +646,10 @@ msgstr ""
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "Image d'avatar"
@ -2451,6 +2455,7 @@ msgstr "Mot de passe oublié ?"
msgid "Forgot username or password?"
msgstr "Mot de passe ou nom d'utilisateur oublié ?"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3665,6 +3670,7 @@ msgstr "Aucune donnée additionnelle disponible."
msgid "No additional setup is required."
msgstr ""
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3966,6 +3972,10 @@ msgstr "Indiquer la valeur \"FriendlyName\" de l'attribut d'assertion (optionnel
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4117,9 +4127,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4550,10 +4564,13 @@ msgid "Regular user"
msgstr "Utilisateur normal"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "Lié"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5289,6 +5306,10 @@ msgstr "Les étapes sont des étapes simples d'un flux au travers duquel un util
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "État"
@ -5531,6 +5552,10 @@ msgstr "Flux importé avec succès"
msgid "Successfully imported provider."
msgstr "Fournisseur importé avec succès"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "Email envoyé avec succès"

View File

@ -640,6 +640,10 @@ msgstr "Automatycznie wykryj (na podstawie Twojej przeglądarki)"
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "Obraz awatara"
@ -2423,6 +2427,7 @@ msgstr "Zapomniałeś hasła?"
msgid "Forgot username or password?"
msgstr "Zapomniałeś nazwy użytkownika lub hasła?"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3631,6 +3636,7 @@ msgstr "Brak dodatkowych danych."
msgid "No additional setup is required."
msgstr "Nie jest wymagana żadna dodatkowa konfiguracja."
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3928,6 +3934,10 @@ msgstr "Opcjonalnie ustaw wartość „FriendlyName” atrybutu asercji."
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4078,9 +4088,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4504,10 +4518,13 @@ msgid "Regular user"
msgstr "Zwykły użytkownik"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "Związane z"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5233,6 +5250,10 @@ msgstr "Etapy to pojedyncze kroki przepływu, przez które prowadzony jest użyt
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "Stan"
@ -5467,6 +5488,10 @@ msgstr "Pomyślnie zaimportowano przepływ."
msgid "Successfully imported provider."
msgstr "Pomyślnie zaimportowano dostawcę."
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "Pomyślnie wysłano e-mail."

View File

@ -638,6 +638,10 @@ msgstr ""
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr ""
@ -2457,6 +2461,7 @@ msgstr ""
msgid "Forgot username or password?"
msgstr ""
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3676,6 +3681,7 @@ msgstr ""
msgid "No additional setup is required."
msgstr ""
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3980,6 +3986,10 @@ msgstr ""
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4134,9 +4144,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4568,10 +4582,13 @@ msgid "Regular user"
msgstr ""
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr ""
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5318,6 +5335,10 @@ msgstr ""
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr ""
@ -5562,6 +5583,10 @@ msgstr ""
msgid "Successfully imported provider."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr ""

View File

@ -640,6 +640,10 @@ msgstr "Otomatik algıla (tarayıcınıza göre)"
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "Avatar resmi"
@ -2426,6 +2430,7 @@ msgstr "Parolanı mi unuttun?"
msgid "Forgot username or password?"
msgstr "Kullanıcı adı veya parolayı mı unuttunuz?"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3635,6 +3640,7 @@ msgstr "Ek veri yok."
msgid "No additional setup is required."
msgstr "Ek kurulum gerekmez."
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3933,6 +3939,10 @@ msgstr "İsteğe bağlı olarak onaylama özniteliğinin 'FriendlyName' değerin
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4083,9 +4093,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4509,10 +4523,13 @@ msgid "Regular user"
msgstr "Düzenli kullanıcı"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "İlgili"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5238,6 +5255,10 @@ msgstr "Aşamalar, bir Akış'ın kullanıcının yönlendirildiği tek adımlar
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "Eyalet"
@ -5472,6 +5493,10 @@ msgstr "Akış başarıyla aktarıldı."
msgid "Successfully imported provider."
msgstr "Sağlayıcı başarıyla içe aktarıldı."
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "Başarıyla e-posta gönderildi."

View File

@ -638,6 +638,10 @@ msgstr "自动检测(基于您的浏览器)"
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "头像图片"
@ -2414,6 +2418,7 @@ msgstr "忘记密码了吗?"
msgid "Forgot username or password?"
msgstr "忘记用户名或密码?"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3617,6 +3622,7 @@ msgstr "没有可用的额外数据。"
msgid "No additional setup is required."
msgstr "无需进行额外设置。"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3910,6 +3916,10 @@ msgstr "可选,设置断言属性的 'FriendlyName' 值。"
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4056,9 +4066,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4479,10 +4493,13 @@ msgid "Regular user"
msgstr "普通用户"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "相关"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5202,6 +5219,10 @@ msgstr "阶段是引导用户完成流程的单个步骤。阶段只能在流程
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr "当用户没有任何兼容的设备时,用来配置身份验证器的阶段。此阶段通过后,将不再请求此用户。"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "状态"
@ -5436,6 +5457,10 @@ msgstr "已成功导入流程。"
msgid "Successfully imported provider."
msgstr "已成功导入提供程序。"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "已成功发送电子邮件。"

View File

@ -640,6 +640,10 @@ msgstr "自动检测(基于您的浏览器)"
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "Avatar image"
@ -2417,6 +2421,7 @@ msgstr "忘记密码了吗?"
msgid "Forgot username or password?"
msgstr "忘记用户名或密码?"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3621,6 +3626,7 @@ msgstr "没有其他可用数据。"
msgid "No additional setup is required."
msgstr "无需进行其他设置。"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3915,6 +3921,10 @@ msgstr "(可选)设置 “断言” 属性的'友好名称'值。"
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4061,9 +4071,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4485,10 +4499,13 @@ msgid "Regular user"
msgstr "普通用户"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "相关"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5209,6 +5226,10 @@ msgstr "阶段是引导用户完成的流程的单个步骤。阶段只能在流
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr "当用户没有任何兼容的设备时,用来配置身份验证器的阶段。此阶段通过后,将不再请求此用户。"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "州"
@ -5443,6 +5464,10 @@ msgstr "已成功导入流程。"
msgid "Successfully imported provider."
msgstr "已成功导入提供程序。"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "已成功发送电子邮件。"

View File

@ -640,6 +640,10 @@ msgstr "自动检测(基于您的浏览器)"
msgid "Automate and template configuration within authentik."
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Automatic import"
msgstr ""
#: src/user/UserInterface.ts
msgid "Avatar image"
msgstr "Avatar image"
@ -2417,6 +2421,7 @@ msgstr "忘记密码了吗?"
msgid "Forgot username or password?"
msgstr "忘记用户名或密码?"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3621,6 +3626,7 @@ msgstr "没有其他可用数据。"
msgid "No additional setup is required."
msgstr "无需进行其他设置。"
#: src/elements/forms/ModalForm.ts
#: src/elements/forms/ModalForm.ts
#: src/elements/wizard/FormWizardPage.ts
#: src/elements/wizard/FormWizardPage.ts
@ -3915,6 +3921,10 @@ msgstr "(可选)设置 “断言” 属性的'友好名称'值。"
msgid "Or"
msgstr ""
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Or manually import"
msgstr ""
#: src/admin/flows/BoundStagesList.ts
#: src/admin/flows/StageBindingForm.ts
#: src/admin/policies/BoundPoliciesList.ts
@ -4061,9 +4071,13 @@ msgid "Path"
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
msgid "Path new users will be created under. If left blank, the default path will be used.fo"
msgid "Path new users will be created under. If left blank, the default path will be used."
msgstr ""
#: src/admin/stages/user_write/UserWriteStageForm.ts
#~ msgid "Path new users will be created under. If left blank, the default path will be used.fo"
#~ msgstr ""
#: src/admin/sources/ldap/LDAPSourceForm.ts
#: src/admin/sources/oauth/OAuthSourceForm.ts
#: src/admin/sources/plex/PlexSourceForm.ts
@ -4485,10 +4499,13 @@ msgid "Regular user"
msgstr "普通用户"
#: src/admin/applications/ApplicationViewPage.ts
#: src/admin/flows/FlowViewPage.ts
msgid "Related"
msgstr "相关"
#: src/admin/flows/FlowViewPage.ts
msgid "Related actions"
msgstr ""
#: src/admin/providers/saml/SAMLProviderViewPage.ts
#: src/admin/providers/saml/SAMLProviderViewPage.ts
msgid "Related objects"
@ -5209,6 +5226,10 @@ msgstr "阶段是引导用户完成的流程的单个步骤。阶段只能在流
msgid "Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again."
msgstr "当用户没有任何兼容的设备时,用来配置身份验证器的阶段。此阶段通过后,将不再请求此用户。"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Start automatic import"
msgstr ""
#: src/admin/outposts/ServiceConnectionListPage.ts
msgid "State"
msgstr "州"
@ -5443,6 +5464,10 @@ msgstr "已成功导入流程。"
msgid "Successfully imported provider."
msgstr "已成功导入提供程序。"
#: src/admin/stages/authenticator_duo/DuoDeviceImportForm.ts
msgid "Successfully imported {0} devices."
msgstr ""
#: src/admin/users/UserResetEmailForm.ts
msgid "Successfully sent email."
msgstr "已成功发送电子邮件。"