mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:27:42 +00:00
feat: invite user link (#8578)
# Which Problems Are Solved As an administrator I want to be able to invite users to my application with the API V2, some user data I will already prefil, the user should add the authentication method themself (password, passkey, sso). # How the Problems Are Solved - A user can now be created with a email explicitly set to false. - If a user has no verified email and no authentication method, an `InviteCode` can be created through the User V2 API. - the code can be returned or sent through email - additionally `URLTemplate` and an `ApplicatioName` can provided for the email - The code can be resent and verified through the User V2 API - The V1 login allows users to verify and resend the code and set a password (analog user initialization) - The message text for the user invitation can be customized # Additional Changes - `verifyUserPasskeyCode` directly uses `crypto.VerifyCode` (instead of `verifyEncryptedCode`) - `verifyEncryptedCode` is removed (unnecessarily queried for the code generator) # Additional Context - closes #8310 - TODO: login V2 will have to implement invite flow: https://github.com/zitadel/typescript/issues/166
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
GetDefaultInitMessageTextRequest as AdminGetDefaultInitMessageTextRequest,
|
||||
GetDefaultPasswordChangeMessageTextRequest as AdminGetDefaultPasswordChangeMessageTextRequest,
|
||||
GetDefaultPasswordlessRegistrationMessageTextRequest as AdminGetDefaultPasswordlessRegistrationMessageTextRequest,
|
||||
GetDefaultInviteUserMessageTextRequest as AdminGetDefaultInviteUserMessageTextRequest,
|
||||
GetDefaultPasswordResetMessageTextRequest as AdminGetDefaultPasswordResetMessageTextRequest,
|
||||
GetDefaultVerifyEmailMessageTextRequest as AdminGetDefaultVerifyEmailMessageTextRequest,
|
||||
GetDefaultVerifyEmailOTPMessageTextRequest as AdminGetDefaultVerifyEmailOTPMessageTextRequest,
|
||||
@@ -16,6 +17,7 @@ import {
|
||||
SetDefaultInitMessageTextRequest,
|
||||
SetDefaultPasswordChangeMessageTextRequest,
|
||||
SetDefaultPasswordlessRegistrationMessageTextRequest,
|
||||
SetDefaultInviteUserMessageTextRequest,
|
||||
SetDefaultPasswordResetMessageTextRequest,
|
||||
SetDefaultVerifyEmailMessageTextRequest,
|
||||
SetDefaultVerifyEmailOTPMessageTextRequest,
|
||||
@@ -27,6 +29,7 @@ import {
|
||||
GetCustomInitMessageTextRequest,
|
||||
GetCustomPasswordChangeMessageTextRequest,
|
||||
GetCustomPasswordlessRegistrationMessageTextRequest,
|
||||
GetCustomInviteUserMessageTextRequest,
|
||||
GetCustomPasswordResetMessageTextRequest,
|
||||
GetCustomVerifyEmailMessageTextRequest,
|
||||
GetCustomVerifyEmailOTPMessageTextRequest,
|
||||
@@ -36,6 +39,7 @@ import {
|
||||
GetDefaultInitMessageTextRequest,
|
||||
GetDefaultPasswordChangeMessageTextRequest,
|
||||
GetDefaultPasswordlessRegistrationMessageTextRequest,
|
||||
GetDefaultInviteUserMessageTextRequest,
|
||||
GetDefaultPasswordResetMessageTextRequest,
|
||||
GetDefaultVerifyEmailMessageTextRequest,
|
||||
GetDefaultVerifyEmailOTPMessageTextRequest,
|
||||
@@ -45,6 +49,7 @@ import {
|
||||
SetCustomInitMessageTextRequest,
|
||||
SetCustomPasswordChangeMessageTextRequest,
|
||||
SetCustomPasswordlessRegistrationMessageTextRequest,
|
||||
SetCustomInviteUserMessageTextRequest,
|
||||
SetCustomPasswordResetMessageTextRequest,
|
||||
SetCustomVerifyEmailMessageTextRequest,
|
||||
SetCustomVerifyEmailOTPMessageTextRequest,
|
||||
@@ -73,6 +78,7 @@ enum MESSAGETYPES {
|
||||
PASSWORDCHANGE = 'PC',
|
||||
VERIFYSMSOTP = 'VSO',
|
||||
VERIFYEMAILOTP = 'VEO',
|
||||
INVITEUSER = 'IU',
|
||||
}
|
||||
|
||||
const REQUESTMAP = {
|
||||
@@ -226,6 +232,23 @@ const REQUESTMAP = {
|
||||
req.setText(map.text ?? '');
|
||||
req.setTitle(map.title ?? '');
|
||||
|
||||
return req;
|
||||
},
|
||||
},
|
||||
[MESSAGETYPES.INVITEUSER]: {
|
||||
get: new GetCustomInviteUserMessageTextRequest(),
|
||||
set: new SetCustomInviteUserMessageTextRequest(),
|
||||
getDefault: new GetDefaultInviteUserMessageTextRequest(),
|
||||
setFcn: (map: Partial<SetCustomInviteUserMessageTextRequest.AsObject>): SetCustomInviteUserMessageTextRequest => {
|
||||
const req = new SetCustomInviteUserMessageTextRequest();
|
||||
req.setButtonText(map.buttonText ?? '');
|
||||
req.setFooterText(map.footerText ?? '');
|
||||
req.setGreeting(map.greeting ?? '');
|
||||
req.setPreHeader(map.preHeader ?? '');
|
||||
req.setSubject(map.subject ?? '');
|
||||
req.setText(map.text ?? '');
|
||||
req.setTitle(map.title ?? '');
|
||||
|
||||
return req;
|
||||
},
|
||||
},
|
||||
@@ -371,6 +394,22 @@ const REQUESTMAP = {
|
||||
req.setText(map.text ?? '');
|
||||
req.setTitle(map.title ?? '');
|
||||
|
||||
return req;
|
||||
},
|
||||
},
|
||||
[MESSAGETYPES.INVITEUSER]: {
|
||||
get: new AdminGetDefaultInviteUserMessageTextRequest(),
|
||||
set: new SetDefaultInviteUserMessageTextRequest(),
|
||||
setFcn: (map: Partial<SetDefaultInviteUserMessageTextRequest.AsObject>): SetDefaultInviteUserMessageTextRequest => {
|
||||
const req = new SetDefaultInviteUserMessageTextRequest();
|
||||
req.setButtonText(map.buttonText ?? '');
|
||||
req.setFooterText(map.footerText ?? '');
|
||||
req.setGreeting(map.greeting ?? '');
|
||||
req.setPreHeader(map.preHeader ?? '');
|
||||
req.setSubject(map.subject ?? '');
|
||||
req.setText(map.text ?? '');
|
||||
req.setTitle(map.title ?? '');
|
||||
|
||||
return req;
|
||||
},
|
||||
},
|
||||
@@ -540,6 +579,21 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.loginnames', value: '{{.LoginNames}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.changedate', value: '{{.ChangeDate}}' },
|
||||
],
|
||||
[MESSAGETYPES.INVITEUSER]: [
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.preferredLoginName', value: '{{.PreferredLoginName}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.username', value: '{{.UserName}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.firstname', value: '{{.FirstName}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.lastname', value: '{{.LastName}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.nickName', value: '{{.NickName}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.displayName', value: '{{.DisplayName}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.lastEmail', value: '{{.LastEmail}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.verifiedEmail', value: '{{.VerifiedEmail}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.lastPhone', value: '{{.LastPhone}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.verifiedPhone', value: '{{.VerifiedPhone}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.loginnames', value: '{{.LoginNames}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.changedate', value: '{{.ChangeDate}}' },
|
||||
{ key: 'POLICY.MESSAGE_TEXTS.CHIPS.applicationName', value: '{{.ApplicationName}}' },
|
||||
],
|
||||
};
|
||||
|
||||
public language: string = 'en';
|
||||
@@ -599,6 +653,8 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
|
||||
return this.stripEmail(this.service.getDefaultPasswordlessRegistrationMessageText(req));
|
||||
case MESSAGETYPES.PASSWORDCHANGE:
|
||||
return this.stripEmail(this.service.getDefaultPasswordChangeMessageText(req));
|
||||
case MESSAGETYPES.INVITEUSER:
|
||||
return this.stripEmail(this.service.getDefaultInviteUserMessageText(req));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -622,6 +678,8 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
|
||||
return this.stripEmail(this.service.getCustomPasswordlessRegistrationMessageText(req));
|
||||
case MESSAGETYPES.PASSWORDCHANGE:
|
||||
return this.stripEmail(this.service.getCustomPasswordChangeMessageText(req));
|
||||
case MESSAGETYPES.INVITEUSER:
|
||||
return this.stripEmail(this.service.getCustomInviteUserMessageText(req));
|
||||
default:
|
||||
return undefined;
|
||||
}
|
||||
@@ -690,6 +748,8 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
|
||||
);
|
||||
case MESSAGETYPES.PASSWORDCHANGE:
|
||||
return handler((this.service as ManagementService).setCustomPasswordChangeMessageText(this.updateRequest));
|
||||
case MESSAGETYPES.INVITEUSER:
|
||||
return handler((this.service as ManagementService).setCustomInviteUserMessageText(this.updateRequest));
|
||||
}
|
||||
} else if (this.serviceType === PolicyComponentServiceType.ADMIN) {
|
||||
switch (this.currentType) {
|
||||
@@ -711,6 +771,8 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
|
||||
return handler((this.service as AdminService).setDefaultPasswordlessRegistrationMessageText(this.updateRequest));
|
||||
case MESSAGETYPES.PASSWORDCHANGE:
|
||||
return handler((this.service as AdminService).setDefaultPasswordChangeMessageText(this.updateRequest));
|
||||
case MESSAGETYPES.INVITEUSER:
|
||||
return handler((this.service as AdminService).setDefaultInviteUserMessageText(this.updateRequest));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -763,6 +825,8 @@ export class MessageTextsComponent implements OnInit, OnDestroy {
|
||||
return handler(this.service.resetCustomPasswordlessRegistrationMessageTextToDefault(this.language));
|
||||
case MESSAGETYPES.PASSWORDCHANGE:
|
||||
return handler(this.service.resetCustomPasswordChangeMessageTextToDefault(this.language));
|
||||
case MESSAGETYPES.INVITEUSER:
|
||||
return handler(this.service.resetCustomInviteUserMessageTextToDefault(this.language));
|
||||
default:
|
||||
return Promise.reject();
|
||||
}
|
||||
|
@@ -72,6 +72,8 @@ import {
|
||||
GetCustomPasswordChangeMessageTextResponse,
|
||||
GetCustomPasswordlessRegistrationMessageTextRequest,
|
||||
GetCustomPasswordlessRegistrationMessageTextResponse,
|
||||
GetCustomInviteUserMessageTextRequest,
|
||||
GetCustomInviteUserMessageTextResponse,
|
||||
GetCustomPasswordResetMessageTextRequest,
|
||||
GetCustomPasswordResetMessageTextResponse,
|
||||
GetCustomVerifyEmailMessageTextRequest,
|
||||
@@ -96,6 +98,8 @@ import {
|
||||
GetDefaultPasswordChangeMessageTextResponse,
|
||||
GetDefaultPasswordlessRegistrationMessageTextRequest,
|
||||
GetDefaultPasswordlessRegistrationMessageTextResponse,
|
||||
GetDefaultInviteUserMessageTextRequest,
|
||||
GetDefaultInviteUserMessageTextResponse,
|
||||
GetDefaultPasswordResetMessageTextRequest,
|
||||
GetDefaultPasswordResetMessageTextResponse,
|
||||
GetDefaultVerifyEmailMessageTextRequest,
|
||||
@@ -224,6 +228,8 @@ import {
|
||||
SetDefaultPasswordChangeMessageTextResponse,
|
||||
SetDefaultPasswordlessRegistrationMessageTextRequest,
|
||||
SetDefaultPasswordlessRegistrationMessageTextResponse,
|
||||
SetDefaultInviteUserMessageTextRequest,
|
||||
SetDefaultInviteUserMessageTextResponse,
|
||||
SetDefaultPasswordResetMessageTextRequest,
|
||||
SetDefaultPasswordResetMessageTextResponse,
|
||||
SetDefaultVerifyEmailMessageTextRequest,
|
||||
@@ -311,6 +317,8 @@ import {
|
||||
ResetCustomPasswordChangeMessageTextToDefaultResponse,
|
||||
ResetCustomPasswordlessRegistrationMessageTextToDefaultRequest,
|
||||
ResetCustomPasswordlessRegistrationMessageTextToDefaultResponse,
|
||||
ResetCustomInviteUserMessageTextToDefaultRequest,
|
||||
ResetCustomInviteUserMessageTextToDefaultResponse,
|
||||
ResetCustomPasswordResetMessageTextToDefaultRequest,
|
||||
ResetCustomPasswordResetMessageTextToDefaultResponse,
|
||||
ResetCustomVerifyEmailMessageTextToDefaultRequest,
|
||||
@@ -722,6 +730,32 @@ export class AdminService {
|
||||
return this.grpcService.admin.resetCustomPasswordChangeMessageTextToDefault(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public getDefaultInviteUserMessageText(
|
||||
req: GetDefaultInviteUserMessageTextRequest,
|
||||
): Promise<GetDefaultInviteUserMessageTextResponse.AsObject> {
|
||||
return this.grpcService.admin.getDefaultInviteUserMessageText(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public getCustomInviteUserMessageText(
|
||||
req: GetCustomInviteUserMessageTextRequest,
|
||||
): Promise<GetCustomInviteUserMessageTextResponse.AsObject> {
|
||||
return this.grpcService.admin.getCustomInviteUserMessageText(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public setDefaultInviteUserMessageText(
|
||||
req: SetDefaultInviteUserMessageTextRequest,
|
||||
): Promise<SetDefaultInviteUserMessageTextResponse.AsObject> {
|
||||
return this.grpcService.admin.setDefaultInviteUserMessageText(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public resetCustomInviteUserMessageTextToDefault(
|
||||
lang: string,
|
||||
): Promise<ResetCustomInviteUserMessageTextToDefaultResponse.AsObject> {
|
||||
const req = new ResetCustomInviteUserMessageTextToDefaultRequest();
|
||||
req.setLanguage(lang);
|
||||
return this.grpcService.admin.resetCustomInviteUserMessageTextToDefault(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public SetUpOrg(org: SetUpOrgRequest.Org, human: SetUpOrgRequest.Human): Promise<SetUpOrgResponse.AsObject> {
|
||||
const req = new SetUpOrgRequest();
|
||||
|
||||
|
@@ -133,6 +133,8 @@ import {
|
||||
GetCustomLoginTextsResponse,
|
||||
GetCustomPasswordChangeMessageTextRequest,
|
||||
GetCustomPasswordChangeMessageTextResponse,
|
||||
GetCustomInviteUserMessageTextRequest,
|
||||
GetCustomInviteUserMessageTextResponse,
|
||||
GetCustomPasswordlessRegistrationMessageTextRequest,
|
||||
GetCustomPasswordlessRegistrationMessageTextResponse,
|
||||
GetCustomPasswordResetMessageTextRequest,
|
||||
@@ -155,6 +157,8 @@ import {
|
||||
GetDefaultLoginTextsResponse,
|
||||
GetDefaultPasswordChangeMessageTextRequest,
|
||||
GetDefaultPasswordChangeMessageTextResponse,
|
||||
GetDefaultInviteUserMessageTextRequest,
|
||||
GetDefaultInviteUserMessageTextResponse,
|
||||
GetDefaultPasswordComplexityPolicyRequest,
|
||||
GetDefaultPasswordComplexityPolicyResponse,
|
||||
GetDefaultPasswordlessRegistrationMessageTextRequest,
|
||||
@@ -386,6 +390,8 @@ import {
|
||||
ResetCustomLoginTextsToDefaultResponse,
|
||||
ResetCustomPasswordChangeMessageTextToDefaultRequest,
|
||||
ResetCustomPasswordChangeMessageTextToDefaultResponse,
|
||||
ResetCustomInviteUserMessageTextToDefaultRequest,
|
||||
ResetCustomInviteUserMessageTextToDefaultResponse,
|
||||
ResetCustomPasswordlessRegistrationMessageTextToDefaultRequest,
|
||||
ResetCustomPasswordlessRegistrationMessageTextToDefaultResponse,
|
||||
ResetCustomPasswordResetMessageTextToDefaultRequest,
|
||||
@@ -423,6 +429,8 @@ import {
|
||||
SetCustomLoginTextsResponse,
|
||||
SetCustomPasswordChangeMessageTextRequest,
|
||||
SetCustomPasswordChangeMessageTextResponse,
|
||||
SetCustomInviteUserMessageTextRequest,
|
||||
SetCustomInviteUserMessageTextResponse,
|
||||
SetCustomPasswordlessRegistrationMessageTextRequest,
|
||||
SetCustomPasswordlessRegistrationMessageTextResponse,
|
||||
SetCustomPasswordResetMessageTextRequest,
|
||||
@@ -804,6 +812,32 @@ export class ManagementService {
|
||||
return this.grpcService.mgmt.resetCustomPasswordChangeMessageTextToDefault(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public getDefaultInviteUserMessageText(
|
||||
req: GetDefaultInviteUserMessageTextRequest,
|
||||
): Promise<GetDefaultInviteUserMessageTextResponse.AsObject> {
|
||||
return this.grpcService.mgmt.getDefaultInviteUserMessageText(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public getCustomInviteUserMessageText(
|
||||
req: GetCustomInviteUserMessageTextRequest,
|
||||
): Promise<GetCustomInviteUserMessageTextResponse.AsObject> {
|
||||
return this.grpcService.mgmt.getCustomInviteUserMessageText(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public setCustomInviteUserMessageText(
|
||||
req: SetCustomInviteUserMessageTextRequest,
|
||||
): Promise<SetCustomInviteUserMessageTextResponse.AsObject> {
|
||||
return this.grpcService.mgmt.setCustomInviteUserMessageCustomText(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public resetCustomInviteUserMessageTextToDefault(
|
||||
lang: string,
|
||||
): Promise<ResetCustomInviteUserMessageTextToDefaultResponse.AsObject> {
|
||||
const req = new ResetCustomInviteUserMessageTextToDefaultRequest();
|
||||
req.setLanguage(lang);
|
||||
return this.grpcService.mgmt.resetCustomInviteUserMessageTextToDefault(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public updateUserName(userId: string, username: string): Promise<UpdateUserNameResponse.AsObject> {
|
||||
const req = new UpdateUserNameRequest();
|
||||
req.setUserId(userId);
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Когато потребител промени своя имейл адрес, той ще получи имейл с връзка за верифициране на новия адрес.",
|
||||
"VP": "Когато потребител промени своя телефонен номер, той ще получи SMS с код за верификация на новия номер.",
|
||||
"VEO": "Когато потребител добави метод за One-Time Password чрез имейл, трябва да го активира, като въведе код, изпратен на неговия имейл адрес.",
|
||||
"VSO": "Когато потребител добави метод за One-Time Password чрез SMS, трябва да го активира, като въведе код, изпратен на неговия телефонен номер."
|
||||
"VSO": "Когато потребител добави метод за One-Time Password чрез SMS, трябва да го активира, като въведе код, изпратен на неговия телефонен номер.",
|
||||
"IU": "Когато се създаде покана за потребител, те ще получат имейл с връзка за задаване на своя метод за удостоверяване."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1666,7 +1667,8 @@
|
||||
"PR": "Нулиране на парола",
|
||||
"DC": "Заявка за домейн",
|
||||
"PL": "Без парола",
|
||||
"PC": "Промяна на паролата"
|
||||
"PC": "Промяна на паролата",
|
||||
"IU": "Покана за потребител"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Първо име",
|
||||
@@ -1686,7 +1688,8 @@
|
||||
"tempUsername": "Временно потребителско име",
|
||||
"otp": "Еднократна парола",
|
||||
"verifyUrl": "URL за потвърждаване на еднократна парола",
|
||||
"expiry": "Изтичане"
|
||||
"expiry": "Изтичане",
|
||||
"applicationName": "Името на приложението"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Персонализираните текстове са запазени."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Když uživatel změní svou e-mailovou adresu, obdrží e-mail s odkazem na ověření nové adresy.",
|
||||
"VP": "Když uživatel změní své telefonní číslo, obdrží SMS s kódem pro ověření nového čísla.",
|
||||
"VEO": "Když uživatel přidá metodu jednorázového hesla přes e-mail, musí ji aktivovat zadáním kódu poslaného na jeho e-mailovou adresu.",
|
||||
"VSO": "Když uživatel přidá metodu jednorázového hesla přes SMS, musí ji aktivovat zadáním kódu poslaného na jeho telefonní číslo."
|
||||
"VSO": "Když uživatel přidá metodu jednorázového hesla přes SMS, musí ji aktivovat zadáním kódu poslaného na jeho telefonní číslo.",
|
||||
"IU": "Když se vytvoří pozvánka pro uživatele, obdrží e-mail s odkazem na nastavení své metody ověřování."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1667,7 +1668,8 @@
|
||||
"PR": "Reset hesla",
|
||||
"DC": "Nárok na doménu",
|
||||
"PL": "Bezheslový",
|
||||
"PC": "Změna hesla"
|
||||
"PC": "Změna hesla",
|
||||
"IU": "Pozvat uživatele"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Křestní jméno",
|
||||
@@ -1687,7 +1689,8 @@
|
||||
"tempUsername": "Dočasné uživatelské jméno",
|
||||
"otp": "Jednorázové heslo",
|
||||
"verifyUrl": "Ověřovací URL jednorázového hesla",
|
||||
"expiry": "Expirace"
|
||||
"expiry": "Expirace",
|
||||
"applicationName": "Název aplikace"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Vlastní texty uloženy."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Wenn ein Benutzer seine E-Mail-Adresse ändert, erhält er eine E-Mail mit einem Link zur Verifizierung der neuen Adresse.",
|
||||
"VP": "Wenn ein Benutzer seine Telefonnummer ändert, erhält er eine SMS mit einem Code zur Verifizierung der neuen Nummer.",
|
||||
"VEO": "Wenn ein Benutzer eine Einmalpasswort-Methode per E-Mail hinzufügt, muss er sie aktivieren, indem er einen Code eingibt, der an seine E-Mail-Adresse gesendet wurde.",
|
||||
"VSO": "Wenn ein Benutzer eine Einmalpasswort-Methode per SMS hinzufügt, muss er sie aktivieren, indem er einen Code eingibt, der an seine Telefonnummer gesendet wurde."
|
||||
"VSO": "Wenn ein Benutzer eine Einmalpasswort-Methode per SMS hinzufügt, muss er sie aktivieren, indem er einen Code eingibt, der an seine Telefonnummer gesendet wurde.",
|
||||
"IU": "Wenn ein Benutzer-Einladungscode erstellt wird, erhält er eine E-Mail mit einem Link zur Einstellung seiner Authentifizierungsmethode."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1667,7 +1668,8 @@
|
||||
"PR": "Passwort Wiederherstellung",
|
||||
"DC": "Domainbeanspruchung",
|
||||
"PL": "Passwortlos",
|
||||
"PC": "Passwordwechsel"
|
||||
"PC": "Passwordwechsel",
|
||||
"IU": "Benutzer einladen"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Vorname",
|
||||
@@ -1687,7 +1689,8 @@
|
||||
"tempUsername": "Temp. Username",
|
||||
"otp": "Einmalpasswort",
|
||||
"verifyUrl": "URL zur Überprüfung des Einmalpassworts",
|
||||
"expiry": "Ablauf"
|
||||
"expiry": "Ablauf",
|
||||
"applicationName": "Anwendungsname"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Benutzerdefinierte Texte gespeichert."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "When a user changes their email address, they will receive an email with a link to verify the new address.",
|
||||
"VP": "When a user changes their phone number, they will receive an SMS with a code to verify the new number.",
|
||||
"VEO": "When a user adds a One-Time Password via email method, they need to activate it by entering a code sent to their email address.",
|
||||
"VSO": "When a user adds a One-Time Password via SMS method, they need to activate it by entering a code sent to their phone number."
|
||||
"VSO": "When a user adds a One-Time Password via SMS method, they need to activate it by entering a code sent to their phone number.",
|
||||
"IU": "When a user invite code is created, they will receive an email with a link to set their authentication method."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1667,7 +1668,8 @@
|
||||
"PR": "Password Reset",
|
||||
"DC": "Domain Claim",
|
||||
"PL": "Passwordless",
|
||||
"PC": "Password Change"
|
||||
"PC": "Password Change",
|
||||
"IU": "Invite User"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Given name",
|
||||
@@ -1687,7 +1689,8 @@
|
||||
"tempUsername": "Temp username",
|
||||
"otp": "One-time password",
|
||||
"verifyUrl": "Verify One-time-password URL",
|
||||
"expiry": "Expiry"
|
||||
"expiry": "Expiry",
|
||||
"applicationName": "Application name"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Custom Texts saved."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Cuando un usuario cambia su dirección de correo electrónico, recibirá un correo electrónico con un enlace para verificar la nueva dirección.",
|
||||
"VP": "Cuando un usuario cambia su número de teléfono, recibirá un SMS con un código para verificar el nuevo número.",
|
||||
"VEO": "Cuando un usuario agrega una Contraseña de Un Solo Uso mediante correo electrónico, necesita activarla ingresando un código enviado a su dirección de correo electrónico.",
|
||||
"VSO": "Cuando un usuario agrega una Contraseña de Un Solo Uso mediante SMS, necesita activarla ingresando un código enviado a su número de teléfono."
|
||||
"VSO": "Cuando un usuario agrega una Contraseña de Un Solo Uso mediante SMS, necesita activarla ingresando un código enviado a su número de teléfono.",
|
||||
"IU": "Cuando se crea un código de invitación de usuario, recibirán un correo electrónico con un enlace para configurar su método de autenticación."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1668,7 +1669,8 @@
|
||||
"PR": "Restablecimiento de contraseña",
|
||||
"DC": "Reclamar un dominio",
|
||||
"PL": "Acceso sin contraseña",
|
||||
"PC": "Cambio de contraseña"
|
||||
"PC": "Cambio de contraseña",
|
||||
"IU": "Invitar usuario"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Nombre",
|
||||
@@ -1688,7 +1690,8 @@
|
||||
"tempUsername": "Nombre de usuario temporal",
|
||||
"otp": "Contraseña de un solo uso",
|
||||
"verifyUrl": "URL para verificar la contraseña de un solo uso",
|
||||
"expiry": "Expiración"
|
||||
"expiry": "Expiración",
|
||||
"applicationName": "Nombre de la aplicación"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Textos personalizados guardados."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Lorsqu'un utilisateur change son adresse e-mail, il recevra un e-mail avec un lien pour vérifier la nouvelle adresse.",
|
||||
"VP": "Lorsqu'un utilisateur change son numéro de téléphone, il recevra un SMS avec un code pour vérifier le nouveau numéro.",
|
||||
"VEO": "Lorsqu'un utilisateur ajoute un Mot de Passe à Usage Unique via e-mail, il doit l'activer en entrant un code envoyé à son adresse e-mail.",
|
||||
"VSO": "Lorsqu'un utilisateur ajoute un Mot de Passe à Usage Unique via SMS, il doit l'activer en entrant un code envoyé à son numéro de téléphone."
|
||||
"VSO": "Lorsqu'un utilisateur ajoute un Mot de Passe à Usage Unique via SMS, il doit l'activer en entrant un code envoyé à son numéro de téléphone.",
|
||||
"IU": "Lorsqu'un code d'invitation d'utilisateur est créé, il recevra un e-mail avec un lien pour configurer sa méthode d'authentification."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1667,7 +1668,8 @@
|
||||
"PR": "Réinitialisation du mot de passe",
|
||||
"DC": "Réclamation de domaine",
|
||||
"PL": "Sans mot de passe",
|
||||
"PC": "Modification du mot de passe"
|
||||
"PC": "Modification du mot de passe",
|
||||
"IU": "Inviter un utilisateur"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Prénom",
|
||||
@@ -1687,7 +1689,8 @@
|
||||
"tempUsername": "Nom d'utilisateur temporaire",
|
||||
"otp": "Mot de passe à usage unique",
|
||||
"verifyUrl": "URL pour vérifier le mot de passe à usage unique",
|
||||
"expiry": "Expiration"
|
||||
"expiry": "Expiration",
|
||||
"applicationName": "Nom de l'application"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Textes personnalisés enregistrés."
|
||||
|
@@ -185,7 +185,8 @@
|
||||
"VE": "Saat pengguna mengubah alamat emailnya, mereka akan menerima email berisi tautan untuk memverifikasi alamat baru.",
|
||||
"VP": "Saat pengguna mengganti nomor teleponnya, mereka akan menerima SMS berisi kode untuk memverifikasi nomor baru.",
|
||||
"VEO": "Ketika pengguna menambahkan Kata Sandi Sekali Pakai melalui metode email, mereka perlu mengaktifkannya dengan memasukkan kode yang dikirimkan ke alamat email mereka.",
|
||||
"VSO": "Ketika pengguna menambahkan One-Time Password melalui metode SMS, mereka perlu mengaktifkannya dengan memasukkan kode yang dikirimkan ke nomor telepon mereka."
|
||||
"VSO": "Ketika pengguna menambahkan One-Time Password melalui metode SMS, mereka perlu mengaktifkannya dengan memasukkan kode yang dikirimkan ke nomor telepon mereka.",
|
||||
"IU": "Ketika kode undangan pengguna dibuat, mereka akan menerima email dengan tautan untuk mengatur metode otentikasi mereka."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1533,7 +1534,8 @@
|
||||
"PR": "Reset Kata Sandi",
|
||||
"DC": "Klaim Domain",
|
||||
"PL": "Tanpa kata sandi",
|
||||
"PC": "Perubahan Kata Sandi"
|
||||
"PC": "Perubahan Kata Sandi",
|
||||
"IU": "Mengundang Pengguna"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Nama yang diberikan",
|
||||
@@ -1553,7 +1555,8 @@
|
||||
"tempUsername": "Nama pengguna sementara",
|
||||
"otp": "Kata sandi satu kali",
|
||||
"verifyUrl": "Verifikasi URL kata sandi satu kali",
|
||||
"expiry": "Kedaluwarsa"
|
||||
"expiry": "Kedaluwarsa",
|
||||
"applicationName": "Nama aplikasi"
|
||||
},
|
||||
"TOAST": { "UPDATED": "Teks Khusus disimpan." }
|
||||
},
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Quando un utente cambia il suo indirizzo email, riceverà un'email con un link per verificare il nuovo indirizzo.",
|
||||
"VP": "Quando un utente cambia il suo numero di telefono, riceverà un SMS con un codice per verificare il nuovo numero.",
|
||||
"VEO": "Quando un utente aggiunge una Password Monouso tramite metodo email, deve attivarla inserendo un codice inviato al suo indirizzo email.",
|
||||
"VSO": "Quando un utente aggiunge una Password Monouso tramite metodo SMS, deve attivarla inserendo un codice inviato al suo numero di telefono."
|
||||
"VSO": "Quando un utente aggiunge una Password Monouso tramite metodo SMS, deve attivarla inserendo un codice inviato al suo numero di telefono.",
|
||||
"IU": "Quando viene creato un codice di invito per un utente, riceverà un'e-mail con un collegamento per impostare il suo metodo di autenticazione."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1667,7 +1668,8 @@
|
||||
"PR": "Ripristino della password",
|
||||
"DC": "Rivendicazione del dominio",
|
||||
"PL": "Autenticazione Passwordless",
|
||||
"PC": "Cambiamento della password"
|
||||
"PC": "Cambiamento della password",
|
||||
"IU": "Invita utente"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Nome",
|
||||
@@ -1687,7 +1689,8 @@
|
||||
"tempUsername": "Nome utente temporaneo",
|
||||
"otp": "Password monouso",
|
||||
"verifyUrl": "URL per verificare la password monouso",
|
||||
"expiry": "Scadenza"
|
||||
"expiry": "Scadenza",
|
||||
"applicationName": "Nome dell'applicazione"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Testi personalizzati salvati."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "ユーザーがメールアドレスを変更すると、新しいアドレスを検証するリンクが記載されたメールを受け取ります。",
|
||||
"VP": "ユーザーが電話番号を変更すると、新しい番号を検証するコードが記載されたSMSを受け取ります。",
|
||||
"VEO": "ユーザーがメール経由でワンタイムパスワードの方法を追加すると、それをアクティブにするためにメールに送信されたコードを入力する必要があります。",
|
||||
"VSO": "ユーザーがSMS経由でワンタイムパスワードの方法を追加すると、それをアクティブにするために電話番号に送信されたコードを入力する必要があります。"
|
||||
"VSO": "ユーザーがSMS経由でワンタイムパスワードの方法を追加すると、それをアクティブにするために電話番号に送信されたコードを入力する必要があります。",
|
||||
"IU": "ユーザー招待コードが作成されると、認証方法を設定するためのリンクを含むメールが送信されます。"
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1683,7 +1684,8 @@
|
||||
"tempUsername": "一時ユーザー名",
|
||||
"otp": "ワンタイムパスワード",
|
||||
"verifyUrl": "ワンタイムパスワードを確認するURL",
|
||||
"expiry": "有効期限"
|
||||
"expiry": "有効期限",
|
||||
"applicationName": "アプリケーション名"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "カスタムテキストが保存されました。"
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Кога корисник ја менува својата е-маил адреса, тој ќе добие е-маил со врска за верификација на новата адреса.",
|
||||
"VP": "Кога корисник ја менува својата телефонска бројка, тој ќе добие SMS со код за верификација на новиот број.",
|
||||
"VEO": "Кога корисник додава метод за еднократна лозинка преку е-маил, потребно е да го активира со внесување на кодот испратен на нивната е-маил адреса.",
|
||||
"VSO": "Кога корисник додава метод за еднократна лозинка преку SMS, потребно е да го активира со внесување на кодот испратен на нивниот телефонски број."
|
||||
"VSO": "Кога корисник додава метод за еднократна лозинка преку SMS, потребно е да го активира со внесување на кодот испратен на нивниот телефонски број.",
|
||||
"IU": "Кога се создаде покана за корисникот, тие ќе добијат имејл со врска за поставување на нивниот метод за автентикација."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1668,7 +1669,8 @@
|
||||
"PR": "Ресетирање на лозинка",
|
||||
"DC": "Зафатница на домен",
|
||||
"PL": "Лозинка без лозинка",
|
||||
"PC": "Промена на лозинка"
|
||||
"PC": "Промена на лозинка",
|
||||
"IU": "Покана за корисникот"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Име",
|
||||
@@ -1688,7 +1690,8 @@
|
||||
"tempUsername": "Привремено корисничко име",
|
||||
"otp": "Еднократна лозинка",
|
||||
"verifyUrl": "URL за потврдување на еднократна лозинка",
|
||||
"expiry": "Истекување"
|
||||
"expiry": "Истекување",
|
||||
"applicationName": "Името на апликацијата"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Прилагодените текстови се зачувани."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Wanneer een gebruiker zijn e-mailadres wijzigt, ontvangt hij een e-mail met een link om het nieuwe adres te verifiëren.",
|
||||
"VP": "Wanneer een gebruiker zijn telefoonnummer wijzigt, ontvangt hij een SMS met een code om het nieuwe nummer te verifiëren.",
|
||||
"VEO": "Wanneer een gebruiker een eenmalig wachtwoord via e-mailmethode toevoegt, moeten ze dit activeren door een code in te voeren die naar hun e-mailadres is verzonden.",
|
||||
"VSO": "Wanneer een gebruiker een eenmalig wachtwoord via SMS-methode toevoegt, moeten ze dit activeren door een code in te voeren die naar hun telefoonnummer is verzonden."
|
||||
"VSO": "Wanneer een gebruiker een eenmalig wachtwoord via SMS-methode toevoegt, moeten ze dit activeren door een code in te voeren die naar hun telefoonnummer is verzonden.",
|
||||
"IU": "Wanneer een uitnodigingscode voor gebruikers wordt gemaakt, ontvangt de gebruiker een e-mail met een link om zijn verificatiemethode in te stellen."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1666,7 +1667,8 @@
|
||||
"PR": "Wachtwoord Reset",
|
||||
"DC": "Domein Claim",
|
||||
"PL": "Wachtwoordloos",
|
||||
"PC": "Wachtwoord Verandering"
|
||||
"PC": "Wachtwoord Verandering",
|
||||
"IU": "Gebruiker uitnodigen"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Voornaam",
|
||||
@@ -1686,7 +1688,8 @@
|
||||
"tempUsername": "Tijdelijke gebruikersnaam",
|
||||
"otp": "Eenmalig wachtwoord",
|
||||
"verifyUrl": "Verifieer Eenmalig-wachtwoord URL",
|
||||
"expiry": "Vervaldatum"
|
||||
"expiry": "Vervaldatum",
|
||||
"applicationName": "Toepassingsnaam"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Aangepaste Teksten opgeslagen."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Gdy użytkownik zmieni swój adres e-mail, otrzyma e-mail z linkiem do weryfikacji nowego adresu.",
|
||||
"VP": "Gdy użytkownik zmieni swój numer telefonu, otrzyma SMS z kodem do weryfikacji nowego numeru.",
|
||||
"VEO": "Gdy użytkownik doda metodę jednorazowego hasła przez e-mail, musi ją aktywować, wprowadzając kod wysłany na jego adres e-mail.",
|
||||
"VSO": "Gdy użytkownik doda metodę jednorazowego hasła przez SMS, musi ją aktywować, wprowadzając kod wysłany na jego numer telefonu."
|
||||
"VSO": "Gdy użytkownik doda metodę jednorazowego hasła przez SMS, musi ją aktywować, wprowadzając kod wysłany na jego numer telefonu.",
|
||||
"IU": "Kiedy zostanie utworzony kod zaproszenia użytkownika, otrzyma on e-mail z linkiem do ustawienia swojej metody uwierzytelniania."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1666,7 +1667,8 @@
|
||||
"PR": "Resetowanie hasła",
|
||||
"DC": "Rejestracja domeny",
|
||||
"PL": "Bez hasła",
|
||||
"PC": "Zmiana hasła"
|
||||
"PC": "Zmiana hasła",
|
||||
"IU": "Zaproś użytkownika"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Imię",
|
||||
@@ -1686,7 +1688,8 @@
|
||||
"tempUsername": "Tymczasowa nazwa użytkownika",
|
||||
"otp": "Hasło jednorazowe",
|
||||
"verifyUrl": "URL do weryfikacji hasła jednorazowego",
|
||||
"expiry": "Wygaśnięcie"
|
||||
"expiry": "Wygaśnięcie",
|
||||
"applicationName": "Nazwa aplikacji"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Teksty niestandardowe zapisane."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Quando um usuário muda seu endereço de e-mail, ele receberá um e-mail com um link para verificar o novo endereço.",
|
||||
"VP": "Quando um usuário muda seu número de telefone, ele receberá um SMS com um código para verificar o novo número.",
|
||||
"VEO": "Quando um usuário adiciona um método de Senha Única via e-mail, ele precisa ativá-lo inserindo um código enviado para seu endereço de e-mail.",
|
||||
"VSO": "Quando um usuário adiciona um método de Senha Única via SMS, ele precisa ativá-lo inserindo um código enviado para seu número de telefone."
|
||||
"VSO": "Quando um usuário adiciona um método de Senha Única via SMS, ele precisa ativá-lo inserindo um código enviado para seu número de telefone.",
|
||||
"IU": "Quando um código de convite de usuário é criado, eles receberão um e-mail com um link para configurar seu método de autenticação."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1668,7 +1669,8 @@
|
||||
"PR": "Redefinição de Senha",
|
||||
"DC": "Reivindicação de Domínio",
|
||||
"PL": "Sem senha",
|
||||
"PC": "Alteração de Senha"
|
||||
"PC": "Alteração de Senha",
|
||||
"IU": "Convidar usuário"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Nome próprio",
|
||||
@@ -1688,7 +1690,8 @@
|
||||
"tempUsername": "Nome de usuário temporário",
|
||||
"otp": "Senha de uso único",
|
||||
"verifyUrl": "URL para verificar a senha de uso único",
|
||||
"expiry": "Data de expiração"
|
||||
"expiry": "Data de expiração",
|
||||
"applicationName": "Nome do aplicativo"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Textos personalizados salvos."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "Когда пользователь меняет свой адрес электронной почты, он получает электронное письмо со ссылкой для подтверждения нового адреса.",
|
||||
"VP": "Когда пользователь меняет свой телефонный номер, он получает SMS с кодом для подтверждения нового номера.",
|
||||
"VEO": "Когда пользователь добавляет метод одноразового пароля по электронной почте, ему необходимо активировать его, введя код, отправленный на его адрес электронной почты.",
|
||||
"VSO": "Когда пользователь добавляет метод одноразового пароля по SMS, ему необходимо активировать его, введя код, отправленный на его телефонный номер."
|
||||
"VSO": "Когда пользователь добавляет метод одноразового пароля по SMS, ему необходимо активировать его, введя код, отправленный на его телефонный номер.",
|
||||
"IU": "Когда создается код приглашения пользователя, он получит электронное письмо со ссылкой для настройки своего метода аутентификации."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1735,7 +1736,8 @@
|
||||
"PR": "Восстановление пароля",
|
||||
"DC": "Утверждение домена",
|
||||
"PL": "Без пароля",
|
||||
"PC": "Изменение пароля"
|
||||
"PC": "Изменение пароля",
|
||||
"IU": "Пригласить пользователя"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Имя",
|
||||
@@ -1755,7 +1757,8 @@
|
||||
"tempUsername": "Временное имя пользователя",
|
||||
"otp": "Одноразовый пароль",
|
||||
"verifyUrl": "Проверка URL-адреса с одноразовым паролем",
|
||||
"expiry": "Срок действия"
|
||||
"expiry": "Срок действия",
|
||||
"applicationName": "Имя приложения"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Тексты сохранены."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "När en användare ändrar sin e-postadress, kommer de att få ett mail med en länk för att verifiera den nya adressen.",
|
||||
"VP": "När en användare ändrar sitt telefonnummer, kommer de att få ett SMS med en kod för att verifiera det nya numret.",
|
||||
"VEO": "När en användare lägger till en engångslösenord via e-postmetod, måste de aktivera den genom att ange en kod som skickas till deras e-postadress.",
|
||||
"VSO": "När en användare lägger till en engångslösenord via SMS-metod, måste de aktivera den genom att ange en kod som skickas till deras telefonnummer."
|
||||
"VSO": "När en användare lägger till en engångslösenord via SMS-metod, måste de aktivera den genom att ange en kod som skickas till deras telefonnummer.",
|
||||
"IU": "När en inbjudningskod för användare skapas, får de ett e-mail med en länk för att ställa in sin autentiseringsmetod."
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1671,7 +1672,8 @@
|
||||
"PR": "Återställ Lösenord",
|
||||
"DC": "Domänkrav",
|
||||
"PL": "lösenordsfri",
|
||||
"PC": "Lösenordsändring"
|
||||
"PC": "Lösenordsändring",
|
||||
"IU": "Bjud in användare"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "Förnamn",
|
||||
@@ -1691,7 +1693,8 @@
|
||||
"tempUsername": "Tillfälligt användarnamn",
|
||||
"otp": "Engångslösenord",
|
||||
"verifyUrl": "Verifiera Engångslösenord URL",
|
||||
"expiry": "Utgångsdatum"
|
||||
"expiry": "Utgångsdatum",
|
||||
"applicationName": "Applikationsnamn"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "Anpassade Texter sparade."
|
||||
|
@@ -197,7 +197,8 @@
|
||||
"VE": "当用户更改其电子邮件地址时,他们将收到一封带有验证新地址链接的电子邮件。",
|
||||
"VP": "当用户更改其电话号码时,他们将收到一条带有验证新号码的代码的短信。",
|
||||
"VEO": "当用户通过电子邮件方式添加一次性密码时,他们需要通过输入发送到其电子邮件地址的代码来激活它。",
|
||||
"VSO": "当用户通过短信方式添加一次性密码时,他们需要通过输入发送到其电话号码的代码来激活它。"
|
||||
"VSO": "当用户通过短信方式添加一次性密码时,他们需要通过输入发送到其电话号码的代码来激活它。",
|
||||
"IU": "当创建用户邀请代码时,他们将收到一封包含设置其身份验证方法的链接的电子邮件。"
|
||||
}
|
||||
},
|
||||
"LOGIN_TEXTS": {
|
||||
@@ -1666,7 +1667,8 @@
|
||||
"PR": "重置密码",
|
||||
"DC": "域名声明",
|
||||
"PL": "无密码身份验证",
|
||||
"PC": "修改密码"
|
||||
"PC": "修改密码",
|
||||
"IU": "邀请用户"
|
||||
},
|
||||
"CHIPS": {
|
||||
"firstname": "名",
|
||||
@@ -1686,7 +1688,8 @@
|
||||
"tempUsername": "临时用户名",
|
||||
"otp": "一次性密码",
|
||||
"verifyUrl": "验证一次性密码的URL",
|
||||
"expiry": "过期时间"
|
||||
"expiry": "过期时间",
|
||||
"applicationName": "应用程序名称"
|
||||
},
|
||||
"TOAST": {
|
||||
"UPDATED": "自定义文本已保存。"
|
||||
|
Reference in New Issue
Block a user