0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-04-07 23:01:25 -05:00

refactor(console): update tab name others -> content

update the sign-in experience configuration page tab name per design.
This commit is contained in:
Gao Sun 2023-09-03 18:52:45 +08:00
parent b1f809214c
commit e68cbd0b09
No known key found for this signature in database
GPG key ID: 13EBE123E4773688
84 changed files with 819 additions and 804 deletions

View file

@ -18,12 +18,6 @@ export enum WebhookDetailsTabs {
RecentRequests = 'recent-requests',
}
export enum SignInExperiencePage {
BrandingTab = 'branding',
SignUpAndSignInTab = 'sign-up-and-sign-in',
OthersTab = 'others',
}
export enum UserDetailsTabs {
Settings = 'settings',
Roles = 'roles',

View file

@ -2,7 +2,6 @@ import { Navigate, Route, Routes, useOutletContext } from 'react-router-dom';
import {
ApiResourceDetailsTabs,
SignInExperiencePage,
ConnectorsTabs,
UserDetailsTabs,
RoleDetailsTabs,
@ -36,7 +35,7 @@ import RolePermissions from '@/pages/RoleDetails/RolePermissions';
import RoleSettings from '@/pages/RoleDetails/RoleSettings';
import RoleUsers from '@/pages/RoleDetails/RoleUsers';
import Roles from '@/pages/Roles';
import SignInExperience from '@/pages/SignInExperience';
import SignInExperience, { SignInExperienceTab } from '@/pages/SignInExperience';
import TenantSettings from '@/pages/TenantSettings';
import BillingHistory from '@/pages/TenantSettings/BillingHistory';
import Subscription from '@/pages/TenantSettings/Subscription';
@ -94,7 +93,7 @@ function ConsoleContent() {
</Route>
</Route>
<Route path="sign-in-experience">
<Route index element={<Navigate replace to={SignInExperiencePage.BrandingTab} />} />
<Route index element={<Navigate replace to={SignInExperienceTab.Branding} />} />
<Route path=":tab" element={<SignInExperience />} />
</Route>
<Route path="connectors">

View file

@ -13,19 +13,25 @@ type BaseProps = {
children: React.ReactNode;
};
type LinkStyleProps = {
href: string;
type LinkStyleProps<Paths> = {
href: Paths;
};
type TabStyleProps = {
onClick: () => void;
};
type Props =
| (BaseProps & LinkStyleProps & Partial<Record<keyof TabStyleProps, undefined>>)
| (BaseProps & TabStyleProps & Partial<Record<keyof LinkStyleProps, undefined>>);
type Props<Paths extends string> =
| (BaseProps & LinkStyleProps<Paths> & Partial<Record<keyof TabStyleProps, never>>)
| (BaseProps & TabStyleProps & Partial<Record<keyof LinkStyleProps<Paths>, never>>);
function TabNavItem({ children, href, isActive, errorCount = 0, onClick }: Props) {
function TabNavItem<Paths extends string>({
children,
href,
isActive,
errorCount = 0,
onClick,
}: Props<Paths>) {
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
const { match, getTo } = useMatchTenantPath();
const selected = href ? match(href) : isActive;

View file

@ -65,8 +65,20 @@ function useTenantPathname(): TenantPathname {
const href = useHref('/');
const match = useCallback(
(pathname: string, exact = false) =>
matchPath(joinPath(':tenantId', pathname, exact ? '' : '*'), location.pathname) !== null,
(pathname: string, exact = false) => {
// Match relative pathnames directly
if (pathname.startsWith('.')) {
return (
matchPath(joinPath(location.pathname, pathname, exact ? '' : '*'), location.pathname) !==
null
);
}
// Match absolute pathnames with the tenant segment
return (
matchPath(joinPath(':tenantId', pathname, exact ? '' : '*'), location.pathname) !== null
);
},
[location.pathname]
);

View file

@ -19,8 +19,8 @@ import { trySubmitSafe } from '@/utils/form';
import usePreviewConfigs from '../../hooks/use-preview-configs';
import BrandingForm from '../../tabs/Branding/BrandingForm';
import LanguagesForm from '../../tabs/Others/LanguagesForm';
import TermsForm from '../../tabs/Others/TermsForm';
import LanguagesForm from '../../tabs/Content/LanguagesForm';
import TermsForm from '../../tabs/Content/TermsForm';
import type { SignInExperienceForm } from '../../types';
import { signInExperienceParser } from '../../utils/form';
import Preview from '../Preview';

View file

@ -13,7 +13,6 @@ import RequestDataError from '@/components/RequestDataError';
import SubmitFormChangesActionBar from '@/components/SubmitFormChangesActionBar';
import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal';
import { isCloud } from '@/consts/env';
import { SignInExperiencePage } from '@/consts/page-tabs';
import CardTitle from '@/ds-components/CardTitle';
import ConfirmModal from '@/ds-components/ConfirmModal';
import TabNav, { TabNavItem } from '@/ds-components/TabNav';
@ -32,17 +31,25 @@ import Welcome from './components/Welcome';
import usePreviewConfigs from './hooks/use-preview-configs';
import * as styles from './index.module.scss';
import Branding from './tabs/Branding';
import Others from './tabs/Others';
import Content from './tabs/Content';
import SignUpAndSignIn from './tabs/SignUpAndSignIn';
import type { SignInExperienceForm } from './types';
import {
hasSignUpAndSignInConfigChanged,
getBrandingErrorCount,
getOthersErrorCount,
getContentErrorCount,
getSignUpAndSignInErrorCount,
signInExperienceParser,
} from './utils/form';
export enum SignInExperienceTab {
Branding = 'branding',
SignUpAndSignIn = 'sign-up-and-sign-in',
Content = 'content',
}
const PageTab = TabNavItem<`../${SignInExperienceTab}`>;
type PageWrapperProps = {
children: ReactNode;
};
@ -193,33 +200,27 @@ function SignInExperience() {
return (
<PageWrapper>
<TabNav className={styles.tabs}>
<TabNavItem
href={`/sign-in-experience/${SignInExperiencePage.BrandingTab}`}
errorCount={getBrandingErrorCount(errors)}
>
<PageTab href="../branding" errorCount={getBrandingErrorCount(errors)}>
{t('sign_in_exp.tabs.branding')}
</TabNavItem>
<TabNavItem
href={`/sign-in-experience/${SignInExperiencePage.SignUpAndSignInTab}`}
</PageTab>
<PageTab
href="../sign-up-and-sign-in"
errorCount={getSignUpAndSignInErrorCount(errors, formData)}
>
{t('sign_in_exp.tabs.sign_up_and_sign_in')}
</TabNavItem>
<TabNavItem
href={`/sign-in-experience/${SignInExperiencePage.OthersTab}`}
errorCount={getOthersErrorCount(errors)}
>
{t('sign_in_exp.tabs.others')}
</TabNavItem>
</PageTab>
<PageTab href="../content" errorCount={getContentErrorCount(errors)}>
{t('sign_in_exp.tabs.content')}
</PageTab>
</TabNav>
{data && defaultFormData && (
<div className={styles.content}>
<div className={classNames(styles.contentTop, isDirty && styles.withSubmitActionBar)}>
<FormProvider {...methods}>
<form className={styles.form}>
<Branding isActive={tab === SignInExperiencePage.BrandingTab} />
<SignUpAndSignIn isActive={tab === SignInExperiencePage.SignUpAndSignInTab} />
<Others isActive={tab === SignInExperiencePage.OthersTab} />
<Branding isActive={tab === SignInExperienceTab.Branding} />
<SignUpAndSignIn isActive={tab === SignInExperienceTab.SignUpAndSignIn} />
<Content isActive={tab === SignInExperienceTab.Content} />
</form>
</FormProvider>
{formData.id && (

View file

@ -14,11 +14,11 @@ function AuthenticationForm() {
return (
<Card>
<div className={styles.title}>{t('sign_in_exp.others.advanced_options.title')}</div>
<FormField title="sign_in_exp.others.advanced_options.enable_user_registration">
<div className={styles.title}>{t('sign_in_exp.content.advanced_options.title')}</div>
<FormField title="sign_in_exp.content.advanced_options.enable_user_registration">
<Switch
{...register('createAccountEnabled')}
label={t('sign_in_exp.others.advanced_options.enable_user_registration_description')}
label={t('sign_in_exp.content.advanced_options.enable_user_registration_description')}
/>
</FormField>
</Card>

View file

@ -47,17 +47,17 @@ function LanguagesForm({ isManageLanguageVisible = false }: Props) {
return (
<Card>
<div className={styles.title}>{t('sign_in_exp.others.languages.title')}</div>
<FormField title="sign_in_exp.others.languages.enable_auto_detect">
<div className={styles.title}>{t('sign_in_exp.content.languages.title')}</div>
<FormField title="sign_in_exp.content.languages.enable_auto_detect">
<Switch
{...register('languageInfo.autoDetect')}
label={t('sign_in_exp.others.languages.description')}
label={t('sign_in_exp.content.languages.description')}
/>
{isManageLanguageVisible && (
<ManageLanguageButton className={styles.manageLanguageButton} />
)}
</FormField>
<FormField title="sign_in_exp.others.languages.default_language">
<FormField title="sign_in_exp.content.languages.default_language">
<Controller
name="languageInfo.fallbackLanguage"
control={control}
@ -67,8 +67,8 @@ function LanguagesForm({ isManageLanguageVisible = false }: Props) {
/>
<div className={styles.defaultLanguageDescription}>
{isAutoDetect
? t('sign_in_exp.others.languages.default_language_description_auto')
: t('sign_in_exp.others.languages.default_language_description_fixed')}
? t('sign_in_exp.content.languages.default_language_description_auto')
: t('sign_in_exp.content.languages.default_language_description_fixed')}
</div>
</FormField>
</Card>

View file

@ -18,23 +18,23 @@ function TermsForm() {
return (
<Card>
<div className={styles.title}>{t('sign_in_exp.others.terms_of_use.title')}</div>
<FormField title="sign_in_exp.others.terms_of_use.terms_of_use">
<div className={styles.title}>{t('sign_in_exp.content.terms_of_use.title')}</div>
<FormField title="sign_in_exp.content.terms_of_use.terms_of_use">
<TextInput
{...register('termsOfUseUrl', {
validate: (value) => !value || uriValidator(value) || t('errors.invalid_uri_format'),
})}
error={errors.termsOfUseUrl?.message}
placeholder={t('sign_in_exp.others.terms_of_use.terms_of_use_placeholder')}
placeholder={t('sign_in_exp.content.terms_of_use.terms_of_use_placeholder')}
/>
</FormField>
<FormField title="sign_in_exp.others.terms_of_use.privacy_policy">
<FormField title="sign_in_exp.content.terms_of_use.privacy_policy">
<TextInput
{...register('privacyPolicyUrl', {
validate: (value) => !value || uriValidator(value) || t('errors.invalid_uri_format'),
})}
error={errors.termsOfUseUrl?.message}
placeholder={t('sign_in_exp.others.terms_of_use.privacy_policy_placeholder')}
placeholder={t('sign_in_exp.content.terms_of_use.privacy_policy_placeholder')}
/>
</FormField>
</Card>

View file

@ -80,7 +80,7 @@ function AddLanguageSelector({ options, onSelect }: Props) {
<Button
className={style.addLanguageButton}
icon={<Plus className={style.buttonIcon} />}
title="sign_in_exp.others.manage_language.add_language"
title="sign_in_exp.content.manage_language.add_language"
type="default"
size="medium"
onClick={() => {

View file

@ -175,10 +175,10 @@ function LanguageDetails() {
<div className={styles.languageInfo}>
{uiLanguageNameMapping[selectedLanguage]}
<span>{selectedLanguage}</span>
{isBuiltIn && <Tag>{t('sign_in_exp.others.manage_language.logto_provided')}</Tag>}
{isBuiltIn && <Tag>{t('sign_in_exp.content.manage_language.logto_provided')}</Tag>}
</div>
{!isBuiltIn && (
<Tooltip content={t('sign_in_exp.others.manage_language.deletion_tip')}>
<Tooltip content={t('sign_in_exp.content.manage_language.deletion_tip')}>
<IconButton
onClick={() => {
setIsDeletionAlertOpen(true);
@ -208,13 +208,13 @@ function LanguageDetails() {
}))}
columns={[
{
title: t('sign_in_exp.others.manage_language.key'),
title: t('sign_in_exp.content.manage_language.key'),
dataIndex: 'phraseKey',
render: ({ phraseKey }) => phraseKey,
className: styles.sectionDataKey,
},
{
title: t('sign_in_exp.others.manage_language.logto_source_values'),
title: t('sign_in_exp.content.manage_language.logto_source_values'),
dataIndex: 'sourceValue',
render: ({ sourceValue }) => (
<div className={styles.sectionBuiltInText}>{sourceValue}</div>
@ -223,10 +223,10 @@ function LanguageDetails() {
{
title: (
<span className={styles.customValuesColumn}>
{t('sign_in_exp.others.manage_language.custom_values')}
{t('sign_in_exp.content.manage_language.custom_values')}
<Tooltip
anchorClassName={styles.clearButton}
content={t('sign_in_exp.others.manage_language.clear_all_tip')}
content={t('sign_in_exp.content.manage_language.clear_all_tip')}
>
<IconButton
size="small"
@ -265,8 +265,8 @@ function LanguageDetails() {
isOpen={isDeletionAlertOpen}
title={
isDefaultLanguage
? 'sign_in_exp.others.manage_language.default_language_deletion_title'
: 'sign_in_exp.others.manage_language.deletion_title'
? 'sign_in_exp.content.manage_language.default_language_deletion_title'
: 'sign_in_exp.content.manage_language.deletion_title'
}
confirmButtonText={isDefaultLanguage ? 'general.got_it' : 'general.delete'}
confirmButtonType={isDefaultLanguage ? 'primary' : 'danger'}
@ -276,10 +276,10 @@ function LanguageDetails() {
onConfirm={onConfirmDeletion}
>
{isDefaultLanguage
? t('sign_in_exp.others.manage_language.default_language_deletion_description', {
? t('sign_in_exp.content.manage_language.default_language_deletion_description', {
language: uiLanguageNameMapping[selectedLanguage],
})
: t('sign_in_exp.others.manage_language.deletion_description')}
: t('sign_in_exp.content.manage_language.deletion_description')}
</ConfirmModal>
</div>
);

View file

@ -83,8 +83,8 @@ function LanguageEditorModal({ isOpen, onClose }: Props) {
<Card className={styles.editor}>
<div className={styles.header}>
<CardTitle
title="sign_in_exp.others.manage_language.title"
subtitle="sign_in_exp.others.manage_language.subtitle"
title="sign_in_exp.content.manage_language.title"
subtitle="sign_in_exp.content.manage_language.subtitle"
/>
<IconButton onClick={onCloseModal}>
<Close />
@ -104,7 +104,7 @@ function LanguageEditorModal({ isOpen, onClose }: Props) {
}}
onConfirm={onConfirmUnsavedChanges}
>
{t('sign_in_exp.others.manage_language.unsaved_description')}
{t('sign_in_exp.content.manage_language.unsaved_description')}
</ConfirmModal>
</Modal>
);

View file

@ -16,7 +16,7 @@ function ManageLanguageButton({ className }: Props) {
<Button
type="text"
size="small"
title="sign_in_exp.others.languages.manage_language"
title="sign_in_exp.content.languages.manage_language"
className={className}
onClick={() => {
setIsLanguageEditorOpen(true);

View file

@ -11,10 +11,10 @@ type Props = {
isActive: boolean;
};
function Others({ isActive }: Props) {
function Content({ isActive }: Props) {
return (
<TabWrapper isActive={isActive} className={styles.tabContent}>
{isActive && <PageMeta titleKey={['sign_in_exp.tabs.others', 'sign_in_exp.page_title']} />}
{isActive && <PageMeta titleKey={['sign_in_exp.tabs.content', 'sign_in_exp.page_title']} />}
<TermsForm />
<LanguagesForm isManageLanguageVisible />
<AuthenticationForm />
@ -22,4 +22,4 @@ function Others({ isActive }: Props) {
);
}
export default Others;
export default Content;

View file

@ -11,10 +11,6 @@
color: var(--color-neutral-variant-60);
}
.radioGroup {
margin-top: _.unit(3);
}
.formFieldDescription {
font: var(--font-body-2);
color: var(--color-text-secondary);

View file

@ -124,7 +124,7 @@ export const getSignUpAndSignInErrorCount = (
return signUpErrorCount + signInMethodErrorCount;
};
export const getOthersErrorCount = (
export const getContentErrorCount = (
errors: FieldErrorsImpl<DeepRequired<SignInExperienceForm>>
) => {
const termsOfUseUrlErrorCount = errors.termsOfUseUrl ? 1 : 0;

View file

@ -17,6 +17,6 @@ export const validatePassword = async (
const issues = await checker.check(password, {});
if (issues.length > 0) {
throw new RequestError('password.password_rejected', issues);
throw new RequestError('password.rejected', issues);
}
};

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'Die Verschlüsselungsmethode {{name}} wird nicht unterstützt.',
pepper_not_found: 'Password pepper not found. Please check your core envs.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -1,4 +1,4 @@
const others = {
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
@ -45,4 +45,4 @@ const others = {
},
};
export default Object.freeze(others);
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Branding',
sign_up_and_sign_in: 'Anmeldung und Registrierung',
others: 'Andere',
content: 'Inhalt',
},
welcome: {
title: 'Anmeldungs-Erlebnis anpassen',
@ -52,7 +52,7 @@ const sign_in_exp = {
'Gib dein benutzerdefiniertes CSS ein, um den Stil von allem genau nach deinen Vorgaben zu gestalten. Gib deiner Kreativität Ausdruck und hebe dein UI hervor.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Es wurde noch kein SMS-Konnektor eingerichtet. Bevor die Konfiguration abgeschlossen werden kann, können sich Benutzer nicht mit dieser Methode anmelden. <a>{{link}}</a> in "Connectors"',

View file

@ -1,48 +0,0 @@
const others = {
terms_of_use: {
title: 'Nutzungsbedingungen',
terms_of_use: 'URL zu den Nutzungsbedingungen',
terms_of_use_placeholder: 'https://beispiel.de/nutzungsbedingungen',
privacy_policy: 'URL zu den Datenschutzrichtlinien',
privacy_policy_placeholder: 'https://beispiel.de/datenschutzrichtlinien',
},
languages: {
title: 'SPRACHEN',
enable_auto_detect: 'Aktiviere automatische Spracherkennung',
description:
'Deine Software erkennt die Sprach-Einstellung des Nutzers und schaltet auf die lokale Sprache um. Du kannst neue Sprachen hinzufügen, indem du die Benutzeroberfläche vom Englischen in eine andere Sprache übersetzt.',
manage_language: 'Sprachen verwalten',
default_language: 'Standard-Sprache',
default_language_description_auto:
'Die Standardsprache wird verwendet, wenn die erkannte Benutzersprache nicht in der aktuellen Sprachbibliothek enthalten ist.',
default_language_description_fixed:
'Wenn die automatische Erkennung deaktiviert ist, ist die Standardsprache die einzige Sprache, die deine Software anzeigt. Schalte die automatische Erkennung ein um weitere Sprachen anzuzeigen.',
},
manage_language: {
title: 'Sprachen verwalten',
subtitle:
'Erweitere die Anmeldeoberfläche durch neue Sprachen und Übersetzungen. Deine Übersetzung kann als Standard-Sprache verwendet werden.',
add_language: 'Sprache hinzufügen',
logto_provided: 'Von Logto bereitgestellt',
key: 'Schlüssel',
logto_source_values: 'Logto Übersetzungen',
custom_values: 'Benutzerdefinierte Übersetzungen',
clear_all_tip: 'Alle benutzerdefinierten Übersetzungen löschen',
unsaved_description:
'Wenn du diese Seite verlässt, ohne zu speichern, werden die Änderungen nicht gespeichert.',
deletion_tip: 'Sprache löschen',
deletion_title: 'Willst du diese Sprache wirklich löschen?',
deletion_description: 'Nach dem Löschen können deine Benutzer diese Sprache nicht mehr nutzen.',
default_language_deletion_title: 'Die Standardsprache kann nicht gelöscht werden.',
default_language_deletion_description:
'{{language}} ist als Standardsprache eingestellt und kann nicht gelöscht werden. ',
},
advanced_options: {
title: 'ERWEITERTE OPTIONEN',
enable_user_registration: 'Benutzerregistrierung aktivieren',
enable_user_registration_description:
'Aktiviere oder deaktiviere die Benutzerregistrierung. Sobald sie deaktiviert ist, können Benutzer immer noch in der Admin-Konsole hinzugefügt werden, aber Benutzer können keine Konten mehr über die Anmeldeoberfläche erstellen.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'The encryption method {{name}} is not supported.',
pepper_not_found: 'Password pepper not found. Please check your core envs.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.',
rejected: 'Password rejected. Please check your password meets the requirements.',
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -8,7 +8,7 @@ const sign_in_exp = {
tabs: {
branding: 'Branding',
sign_up_and_sign_in: 'Sign-up and Sign-in',
others: 'Others',
content: 'Content',
},
welcome: {
title: 'Customize sign-in experience',
@ -51,7 +51,7 @@ const sign_in_exp = {
'Enter your custom CSS to tailor the styles of anything to your exact specifications. Express your creativity and make your UI stand out.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'No SMS connector set-up yet. Before completing the configuration, users will not be able to sign in with this method. <a>{{link}}</a> in "Connectors"',

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'El método de encriptación {{name}} no es compatible.',
pepper_not_found: 'No se encontró el password pepper. Por favor revisa tus variables de entorno.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Branding',
sign_up_and_sign_in: 'Registro e inicio de sesión',
others: 'Otros',
content: 'Contenido',
},
welcome: {
title: 'Personalice la experiencia de inicio de sesión',
@ -53,7 +53,7 @@ const sign_in_exp = {
'Ingrese su CSS personalizado para adaptar los estilos de cualquier cosa a sus especificaciones exactas. Expresa tu creatividad y haz que tu IU se destaque.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Aún no se ha configurado el conector SMS. Antes de completar la configuración, los usuarios no podrán iniciar sesión con este método. <a>{{link}}</a> en "Conectores"',

View file

@ -1,48 +0,0 @@
const others = {
terms_of_use: {
title: 'TÉRMINOS',
terms_of_use: 'URL de términos de uso',
terms_of_use_placeholder: 'https://tus.terminos.de.uso/',
privacy_policy: 'URL de política de privacidad',
privacy_policy_placeholder: 'https://tu.politica.de.privacidad/',
},
languages: {
title: 'IDIOMAS',
enable_auto_detect: 'Habilitar la detección automática',
description:
'Tu software detecta la configuración regional del usuario y cambia al idioma local. Puedes agregar nuevos idiomas traduciendo la IU del inglés a otro idioma.',
manage_language: 'Administrar idioma',
default_language: 'Idioma predeterminado',
default_language_description_auto:
'Se usará el idioma predeterminado cuando el idioma detectado del usuario no esté incluido en la biblioteca de idiomas actual.',
default_language_description_fixed:
'Cuando la detección automática está desactivada, el idioma predeterminado es el único idioma que se mostrará en tu software. Activa la detección automática para agregar idiomas.',
},
manage_language: {
title: 'Administrar idioma',
subtitle:
'Localiza la experiencia del producto agregando idiomas y traducciones. Tu contribución se puede establecer como el idioma predeterminado.',
add_language: 'Agregar idioma',
logto_provided: 'Logto proporcionado',
key: 'Llave',
logto_source_values: 'Valores de origen de Logto',
custom_values: 'Valores personalizados',
clear_all_tip: 'Borrar todos los valores',
unsaved_description: 'Los cambios no se guardarán si sales de esta página sin guardar.',
deletion_tip: 'Borrar el idioma',
deletion_title: '¿Deseas borrar el idioma agregado?',
deletion_description:
'Después de la eliminación, tus usuarios no podrán navegar en ese idioma de nuevo.',
default_language_deletion_title: 'El idioma predeterminado no se puede borrar.',
default_language_deletion_description:
'{{idioma}} está establecido como tu idioma predeterminado y no se puede borrar.',
},
advanced_options: {
title: 'OPCIONES AVANZADAS',
enable_user_registration: 'Habilitar registro de usuario',
enable_user_registration_description:
'Habilita o deshabilita el registro de usuarios. Una vez deshabilitado, los usuarios aún pueden ser agregados en la consola de administración, pero los usuarios ya no pueden establecer cuentas a través de la UI de inicio de sesión.',
},
};
export default Object.freeze(others);

View file

@ -2,7 +2,7 @@ const password = {
unsupported_encryption_method: "La méthode de cryptage {{name}} n'est pas prise en charge.",
pepper_not_found:
'Mot de passe pepper non trouvé. Veuillez vérifier votre environnement de base.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Image de marque',
sign_up_and_sign_in: 'Inscription et connexion',
others: 'Autres',
content: 'Contenu',
},
welcome: {
title: "Personnaliser l'expérience de connexion",
@ -53,7 +53,7 @@ const sign_in_exp = {
'Entrez votre propre CSS pour adapter les styles de tout élément à vos spécifications exactes. Exprimez votre créativité et faites sortir votre interface utilisateur.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Aucun connecteur SMS n\'a été configuré. Avant de terminer la configuration, les utilisateurs ne pourront pas se connecter avec cette méthode. <a>{{link}}</a> dans "Connectors"',

View file

@ -1,49 +0,0 @@
const others = {
terms_of_use: {
title: "CONDITIONS D'UTILISATION",
terms_of_use: "URL des conditions d'utilisation",
terms_of_use_placeholder: 'https://vos.conditions.utilisation/',
privacy_policy: 'URL de la politique de confidentialité',
privacy_policy_placeholder: 'https://votre.politique.confidentialite/',
},
languages: {
title: 'LANGUES',
enable_auto_detect: 'Activer la détection automatique',
description:
'Votre logiciel détecte les paramètres régionaux de lutilisateur et passe à la langue locale. Vous pouvez ajouter de nouvelles langues en traduisant lIU de langlais à une autre langue.',
manage_language: 'Gérer la langue',
default_language: 'Langue par défaut',
default_language_description_auto:
'La langue par défaut sera utilisée lorsque la langue détectée de lutilisateur ne figure pas dans la bibliothèque de langues actuelle.',
default_language_description_fixed:
"Lorsque la détection automatique est désactivée, la langue par défaut est la seule langue que votre logiciel affichera. Activez la détection automatique pour l'extension de la langue.",
},
manage_language: {
title: 'Gérer la langue',
subtitle:
'Localisez lexpérience produit en ajoutant des langues et des traductions. Votre contribution peut être définie comme langue par défaut.',
add_language: 'Ajouter une langue',
logto_provided: 'Logto fourni',
key: 'Clé',
logto_source_values: 'Logto des valeurs source',
custom_values: 'Valeurs personnalisées',
clear_all_tip: 'Supprimer toutes les valeurs',
unsaved_description:
'Les modifications ne seront pas enregistrées si vous quittez cette page sans enregistrer.',
deletion_tip: 'Supprimer la langue',
deletion_title: 'Voulez-vous supprimer la langue ajoutée ?',
deletion_description:
'Après suppression, vos utilisateurs ne pourront plus naviguer dans cette langue.',
default_language_deletion_title: 'La langue par défaut ne peut pas être supprimée.',
default_language_deletion_description:
'{{language}} est défini comme votre langue par défaut et ne peut pas être supprimé.',
},
advanced_options: {
title: 'OPTIONS AVANCÉES',
enable_user_registration: 'Activer lenregistrement des utilisateurs',
enable_user_registration_description:
'Autoriser ou interdire lenregistrement des utilisateurs. Une fois désactivé, les utilisateurs peuvent toujours être ajoutés dans la console dadministration mais les utilisateurs ne peuvent plus établir de comptes via lIU de connexion.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'Il metodo di crittografia {{name}} non è supportato.',
pepper_not_found: 'Pepper password non trovato. Per favore controlla le tue env di core.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Marchio',
sign_up_and_sign_in: 'Registrazione e accesso',
others: 'Altri',
content: 'Contenuto',
},
welcome: {
title: "Personalizza l'esperienza di accesso",
@ -52,7 +52,7 @@ const sign_in_exp = {
'Inserisci il tuo CSS personalizzato per adattare lo stile di qualsiasi cosa alle tue specifiche. Esprimi la tua creatività e fai risaltare la tua interfaccia utente.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Nessun connettore SMS ancora configurato. Prima di completare la configurazione, gli utenti non saranno in grado di accedere con questo metodo. <a>{{link}}</a> in "Connettori"',

View file

@ -1,48 +0,0 @@
const others = {
terms_of_use: {
title: 'TERMINI',
terms_of_use: "URL dei termini d'uso",
terms_of_use_placeholder: 'https://tuoi.termini.di.uso/',
privacy_policy: 'URL della politica sulla privacy',
privacy_policy_placeholder: 'https://tua.politica.sulla.privacy/',
},
languages: {
title: 'LINGUE',
enable_auto_detect: 'Abilita rilevamento automatico',
description:
"Il software rileva l'impostazione di lingua dell'utente e passa alla lingua locale. Puoi aggiungere nuove lingue traducendo l'interfaccia utente dall'inglese a un'altra lingua.",
manage_language: 'Gestisci lingua',
default_language: 'Lingua predefinita',
default_language_description_auto:
"La lingua predefinita verrà utilizzata quando la lingua dell'utente rilevata non è coperta dalla libreria delle lingue attuali.",
default_language_description_fixed:
"Quando il rilevamento automatico è disattivato, l'unica lingua che il tuo software mostrerà è quella predefinita. Attivare il rilevamento automatico per l'estensione delle lingue.",
},
manage_language: {
title: 'Gestisci lingua',
subtitle:
"Localizza l'esperienza del prodotto aggiungendo lingue e traduzioni. Il tuo contributo può essere impostato come lingua predefinita.",
add_language: 'Aggiungi lingua',
logto_provided: 'Logtogli forniti',
key: 'Chiave',
logto_source_values: 'Valori di origine Logtogli',
custom_values: 'Valori personalizzati',
clear_all_tip: 'Cancella tutti i valori',
unsaved_description: 'Le modifiche non saranno salvate se lasci la pagina senza salvare.',
deletion_tip: 'Elimina la lingua',
deletion_title: 'Vuoi eliminare la lingua aggiunta?',
deletion_description:
"Dopo l'eliminazione, i tuoi utenti non saranno più in grado di navigare in quella lingua.",
default_language_deletion_title: 'La lingua predefinita non può essere eliminata.',
default_language_deletion_description:
'{{language}} è impostata come tua lingua predefinita e non può essere eliminata.',
},
advanced_options: {
title: 'OPZIONI AVANZATE',
enable_user_registration: 'Abilita registrazione utente',
enable_user_registration_description:
"Abilitare o impedire la registrazione degli utenti. Una volta disattivata, gli utenti possono ancora essere aggiunti nella console di amministrazione ma gli utenti non possono più creare account attraverso l'interfaccia di accesso.",
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: '暗号化方式 {{name}} はサポートされていません。',
pepper_not_found: 'パスワードペッパーが見つかりません。コアの環境を確認してください。',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -8,7 +8,7 @@ const sign_in_exp = {
tabs: {
branding: 'ブランディング',
sign_up_and_sign_in: 'サインアップとサインイン',
others: 'その他',
content: '内容',
},
welcome: {
title: 'サインインエクスペリエンスをカスタマイズ',
@ -51,7 +51,7 @@ const sign_in_exp = {
'カスタムCSSを入力して、すべてのスタイルをあなたの仕様に合わせて調整します。クリエイティビティを発揮して、UIを際立たせましょう。',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'まだSMSコネクタが設定されていません。構成を完了する前に、この方法でのサインインはできません。<a>{{link}}</a>「コネクタ」に移動してください',

View file

@ -1,47 +0,0 @@
const others = {
terms_of_use: {
title: '利用規約',
terms_of_use: '利用規約のURL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'プライバシーポリシーのURL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: '言語',
enable_auto_detect: '自動検出を有効にする',
description:
'ユーザーのロケール設定を検出して、現地の言語に切り替えることができます。英語から他の言語へのUIの翻訳を追加することで、新しい言語を追加できます。',
manage_language: '言語を管理する',
default_language: '既定言語',
default_language_description_auto:
'既定の言語は、現在の言語ライブラリにカバーされていないユーザーの検出された言語がある場合に使用されます。',
default_language_description_fixed:
'自動検出がオフになっている場合、既定の言語がソフトウェアで表示される唯一の言語になります。言語拡張のために自動検出をオンにしてください。',
},
manage_language: {
title: '言語を管理する',
subtitle:
'言語と翻訳を追加して、製品エクスペリエンスをローカライズします。あなたの貢献は、既定言語として設定することができます。',
add_language: '言語を追加する',
logto_provided: '提供されたログ',
key: 'キー',
logto_source_values: 'ログソース値',
custom_values: 'カスタム値',
clear_all_tip: 'すべての値をクリアする',
unsaved_description: '保存せずにこのページを離れると、変更は保存されません。',
deletion_tip: '言語を削除する',
deletion_title: '追加された言語を削除しますか?',
deletion_description: '削除後、ユーザーはその言語で閲覧できなくなります。',
default_language_deletion_title: '既定言語は削除できません。',
default_language_deletion_description:
'{{language}}はあなたの既定言語として設定されており、削除できません。',
},
advanced_options: {
title: '高度なオプション',
enable_user_registration: 'ユーザー登録を有効にする',
enable_user_registration_description:
'ユーザー登録を有効または無効にします。無効にすると、管理コンソールでユーザーを追加できますが、ユーザーはもはやサインインUIを介してアカウントを確立できません。',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: '{{name}} 암호화 방법을 지원하지 않아요.',
pepper_not_found: '비밀번호 Pepper를 찾을 수 없어요. Core 환경설정을 확인해 주세요.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -8,7 +8,7 @@ const sign_in_exp = {
tabs: {
branding: '브랜딩',
sign_up_and_sign_in: '회원가입/로그인',
others: '기타',
content: '내용',
},
welcome: {
title: '로그인 경험 사용자화',
@ -49,7 +49,7 @@ const sign_in_exp = {
'사용자 정의 CSS를 입력하여 원하는 대로 스타일을 조정할 수 있어요. 창의성을 표현하고 UI를 돋보이게 만드세요.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'SMS 연동 설정이 아직 없어요. 이 구성을 완료하기 전에는 사용자가 이 로그인 방식으로 로그인 할 수 없어요. "연동 설정"에서 <a>{{link}}</a>하세요.',

View file

@ -1,47 +0,0 @@
const others = {
terms_of_use: {
title: '이용 약관',
terms_of_use: '이용 약관 URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: '개인정보 처리방침 URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: '언어',
enable_auto_detect: '자동 감지 활성화',
description:
'사용자의 언어 설정을 감지하고, 해당 언어로 자동으로 변경해요. 직접 번역하여 새로운 언어를 추가할 수도 있어요.',
manage_language: '언어 관리',
default_language: '기본 언어',
default_language_description_auto:
'사용자의 언어를 지원하지 않을 경우, 기본 언어로 사용자에게 보여줘요.',
default_language_description_fixed:
'자동 감지가 꺼져있을 경우, 기본 언어로만 사용자에게 보여줘요. 더욱 나은 경험을 위해, 자동 감지를 켜 주세요.',
},
manage_language: {
title: '언어 관리',
subtitle:
'언어와 번역을 추가하여 제품 경험을 현지화해요. 사용자의 기여를 기본 언어로 설정할 수 있어요.',
add_language: '언어 추가',
logto_provided: 'Logto 제공',
key: '키',
logto_source_values: 'Logto 소스 값',
custom_values: '사용자 정의 값',
clear_all_tip: '모든 값 삭제',
unsaved_description: '이 페이지를 벗어날 경우, 변경점이 적용되지 않아요.',
deletion_tip: '언어 삭제',
deletion_title: '추가된 언어를 삭제할까요?',
deletion_description: '삭제된 후에 사용자들이 더 이상 해당 언어로 볼 수 없어요.',
default_language_deletion_title: '기본 언어는 삭제할 수 없어요.',
default_language_deletion_description:
'{{language}} 언어는 기본 언어로 설정되어 있어요. 기본 언어를 변경한 후에 삭제할 수 있어요.',
},
advanced_options: {
title: '고급 옵션',
enable_user_registration: '회원가입 활성화',
enable_user_registration_description:
'사용자 등록을 활성화하거나 비활성화해요. 비활성화된 후에도 사용자를 관리 콘솔에서 추가할 수 있지만 사용자는 더 이상 로그인 UI를 통해 계정을 설정할 수 없어요.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'Metoda szyfrowania {{name}} nie jest obsługiwana.',
pepper_not_found: 'Nie znaleziono wartości pepper dla hasła. Sprawdź swoje zmienne środowiskowe.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Marka',
sign_up_and_sign_in: 'Rejestracja i logowanie',
others: 'Inne',
content: 'Treść',
},
welcome: {
title: 'Dostosuj swoje doświadczenie logowania',
@ -52,7 +52,7 @@ const sign_in_exp = {
'Wprowadź swoje niestandardowe CSS, aby dostosować style czegokolwiek do swoich dokładnych specyfikacji. Wyraź swoją kreatywność i wyróżnij swój interfejs użytkownika.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Nie ustawiono jeszcze łącznika SMS. Przed zakończeniem konfiguracji użytkownicy nie będą mogli się zalogować przy użyciu tej metody. <a>{{link}}</a> w sekcji „Łączniki“',

View file

@ -1,48 +0,0 @@
const others = {
terms_of_use: {
title: 'WARUNKI',
terms_of_use: 'URL warunków użytkowania',
terms_of_use_placeholder: 'https://twoje.warunki.użytkowania/',
privacy_policy: 'URL polityki prywatności',
privacy_policy_placeholder: 'https://twoja.polityka.prywatności/',
},
languages: {
title: 'JĘZYKI',
enable_auto_detect: 'Włącz wykrywanie automatyczne',
description:
'Twoje oprogramowanie wykrywa ustawienia językowe użytkownika i przełącza się na język lokalny. Możesz dodać nowe języki, tłumacząc interfejs użytkownika z angielskiego na inny język.',
manage_language: 'Zarządzanie językiem',
default_language: 'Domyślny język',
default_language_description_auto:
'Domyślny język będzie używany, gdy wykryty język użytkownika nie będzie objęty w bieżącej bibliotece językowej.',
default_language_description_fixed:
'Gdy wykrywanie automatyczne jest wyłączone, jedynym językiem, który będzie wyświetlał się w twoim oprogramowaniu, jest język domyślny. Włącz wykrywanie automatyczne, aby rozszerzyć język.',
},
manage_language: {
title: 'Zarządzanie językiem',
subtitle:
'Lokalizuj doświadczenie użytkownika przez dodawanie języków i tłumaczeń. Twoje tłumaczenie może być ustawione jako domyślny język.',
add_language: 'Dodaj język',
logto_provided: 'Logto dostarczony',
key: 'Klucz',
logto_source_values: 'Logto źródłowe wartości',
custom_values: 'Własne wartości',
clear_all_tip: 'Wyczyść wszystkie wartości',
unsaved_description:
'Zmiany nie zostaną zapisane, jeśli wyjdziecie z tej strony bez zapisywania.',
deletion_tip: 'Usuń język',
deletion_title: 'Czy chcesz usunąć dodany język?',
deletion_description: 'Po usunięciu użytkownicy nie będą mogli przeglądać w tym języku.',
default_language_deletion_title: 'Domyślny język nie może zostać usunięty.',
default_language_deletion_description:
'{{language}} jest ustawiony jako twój domyślny język i nie może być usunięty.',
},
advanced_options: {
title: 'OPCJE ZAAWANSOWANE',
enable_user_registration: 'Włącz rejestrację użytkowników',
enable_user_registration_description:
'Włącz lub wyłącz rejestrację użytkowników. Po wyłączeniu użytkownicy nadal mogą być dodawani w konsoli administracyjnej, ale nie mogą już zakładać kont za pomocą interfejsu logowania.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'O método de criptografia {{name}} não é suportado.',
pepper_not_found: 'Password pepper não encontrada. Por favor, verifique seus envs principais.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Marca',
sign_up_and_sign_in: 'Inscreva-se e faça login',
others: 'Outros',
content: 'Conteúdo',
},
welcome: {
title: 'Personalize a experiência de login',
@ -52,7 +52,7 @@ const sign_in_exp = {
'Digite seu CSS personalizado para personalizar os estilos de qualquer coisa de acordo com suas especificações exatas. Expresse sua criatividade e faça sua IU se destacar.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Nenhum conector SMS configurado ainda. Até terminar de configurar seu conector SMS, seus usuários não poderão fazer login. <a>{{link}}</a> em "Conectores"',

View file

@ -1,48 +0,0 @@
const others = {
terms_of_use: {
title: 'TERMOS DE USO',
terms_of_use: 'URL dos termos de uso',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'URL da política de privacidade',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'IDIOMAS',
enable_auto_detect: 'Ativar detecção automática',
description:
'Seu software detecta a configuração de localidade do usuário e muda para o idioma local. Você pode adicionar novos idiomas traduzindo a interface do usuário do inglês para outro idioma.',
manage_language: 'Gerenciar idioma',
default_language: 'Idioma padrão',
default_language_description_auto:
'O idioma padrão será usado quando o idioma do usuário detectado não estiver coberto na biblioteca de idiomas atual.',
default_language_description_fixed:
'Quando a detecção automática está desativada, o idioma padrão é o único idioma que seu software mostrará. Ative a detecção automática de extensão de idioma.',
},
manage_language: {
title: 'Gerenciar idioma',
subtitle:
'Localize a experiência do produto adicionando idiomas e traduções. Sua contribuição pode ser definida como o idioma padrão.',
add_language: 'Adicionar idioma',
logto_provided: 'Fornecido por Logto',
key: 'Chave',
logto_source_values: 'Valores Logto',
custom_values: 'Valores personalizados',
clear_all_tip: 'Limpar todos os valores',
unsaved_description: 'As alterações não serão salvas se você sair desta página sem salvar.',
deletion_tip: 'Excluir o idioma',
deletion_title: 'Deseja excluir o idioma adicionado?',
deletion_description:
'Após a exclusão, seus usuários não poderão navegar naquele idioma novamente.',
default_language_deletion_title: 'O idioma padrão não pode ser excluído.',
default_language_deletion_description:
'{{language}} está definido como seu idioma padrão e não pode ser excluído. ',
},
advanced_options: {
title: 'OPÇÕES AVANÇADAS',
enable_user_registration: 'Ativar registro de usuário',
enable_user_registration_description:
'Habilitar ou desabilitar o registro do usuário. Depois de desativados, os usuários ainda podem ser adicionados no Admin Console, mas os usuários não podem mais estabelecer contas por meio da interface do usuário de login.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'O método de enncriptação {{name}} não é suportado.',
pepper_not_found: 'pepper da Password não encontrada. Por favor, verifique os envs.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Marca',
sign_up_and_sign_in: 'Registo e login',
others: 'Outros',
content: 'Conteúdo',
},
welcome: {
title: 'Personalize a experiência de início de sessão',
@ -51,7 +51,7 @@ const sign_in_exp = {
'Insira o seu CSS personalizado para personalizar os estilos de qualquer elemento para as suas especificações exatas. Expresse a sua criatividade e faça a sua interface destacar-se.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Ainda não foi configurado nenhum conector SMS. Antes de concluir a configuração, os utilizadores não poderão iniciar sessão com este método. <a>{{link}}</a> em "Conectores"',

View file

@ -1,48 +0,0 @@
const others = {
terms_of_use: {
title: 'TERMOS DE USO',
terms_of_use: 'URL dos termos de uso',
terms_of_use_placeholder: 'https://seus.termos.de.uso/',
privacy_policy: 'URL da política de privacidade',
privacy_policy_placeholder: 'https://sua.politica.de.privacidade/',
},
languages: {
title: 'LÍNGUAS',
enable_auto_detect: 'Ativar deteção automática',
description:
'O seu software deteta as definições de localização do utilizador e alterna para a língua local. Pode adicionar novas línguas através da tradução da UI do Inglês para outra língua.',
manage_language: 'Gerir língua',
default_language: 'Língua predefinida',
default_language_description_auto:
'A língua predefinida será utilizada quando a língua detetada do utilizador não estiver abrangida na biblioteca de línguas atual.',
default_language_description_fixed:
'Quando a deteção automática está inativa, a língua predefinida é a única língua que o seu software apresentará. Ative a deteção automática para extensão de língua.',
},
manage_language: {
title: 'Gerir língua',
subtitle:
'Localize a experiência de produto adicionando línguas e traduções. A sua contribuição pode ser definida como a língua predefinida.',
add_language: 'Adicionar Língua',
logto_provided: 'Logto fornecido',
key: 'Chave',
logto_source_values: 'Logto valores de origem',
custom_values: 'Valores personalizados',
clear_all_tip: 'Limpar todos os valores',
unsaved_description: 'As alterações não serão guardadas se sair desta página sem guardar.',
deletion_tip: 'Eliminar a língua',
deletion_title: 'Deseja eliminar a língua adicionada?',
deletion_description:
'Após a eliminação, os seus utilizadores já não poderão navegar nessa língua novamente.',
default_language_deletion_title: 'A língua predefinida não pode ser eliminada.',
default_language_deletion_description:
'{{language}} está definida como a sua língua predefinida e não pode ser eliminada. ',
},
advanced_options: {
title: 'OPÇÕES AVANÇADAS',
enable_user_registration: 'Ativar registo de utilizador',
enable_user_registration_description:
'Autorizar ou proibir o registo de utilizadores. Depois de desativado, os utilizadores ainda podem ser adicionados na consola de administração, mas os utilizadores já não podem estabelecer contas através da UI de início de sessão.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: 'Метод шифрования {{name}} не поддерживается.',
pepper_not_found: 'Не найден пепер пароля. Пожалуйста, проверьте ваши основные envs.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Брендирование',
sign_up_and_sign_in: 'Регистрация и вход в систему',
others: 'Другое',
content: 'Содержание',
},
welcome: {
title: 'Настройка входа в систему',
@ -53,7 +53,7 @@ const sign_in_exp = {
'Введите ваш пользовательский CSS, чтобы настроить стили для чего-угодно в соответствии с вашими требованиями. Выражайте свою креативность и выделяйте свой пользовательский интерфейс.',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Еще не настроен коннектор SMS. Пока не завершено настройка, пользователи не смогут войти с помощью этого метода. <a>{{link}}</a> в «Коннекторах»',

View file

@ -1,49 +0,0 @@
const others = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'URL ПОЛЬЗОВАТЕЛЬСКОГО СОГЛАШЕНИЯ',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'URL ПОЛИТИКИ КОНФИДЕНЦИАЛЬНОСТИ',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'ЯЗЫКИ',
enable_auto_detect: 'Включить автоопределение языка',
description:
'Ваше программное обеспечение определяет настройки локали пользователя и переключается на локальный язык. Вы можете добавлять новые языки, переводя интерфейс с английского на другой язык.',
manage_language: 'Управление языком',
default_language: 'Язык по умолчанию',
default_language_description_auto:
'По умолчанию будет использоваться выбранный язык, только если окружение пользователя не содержит соответствующей локали.',
default_language_description_fixed:
'Если автоопределение отключено, в приложении будет отображаться только один язык язык по умолчанию. Включите автоопределение для расширения списка доступных языков.',
},
manage_language: {
title: 'Управление языком',
subtitle:
'Локализуйте продукт, добавляя языки и переводы. Ваш вклад может быть установлен как язык по умолчанию.',
add_language: 'Добавить язык',
logto_provided: 'Logto предоставил',
key: 'Ключ',
logto_source_values: 'Исходные значения Logto',
custom_values: 'Произвольные значения',
clear_all_tip: 'Очистить все значения',
unsaved_description:
'Изменения не будут сохранены, если вы покинете эту страницу без сохранения.',
deletion_tip: 'Удалить язык',
deletion_title: 'Хотите удалить добавленный язык?',
deletion_description:
'После удаления пользователи не смогут более просматривать информацию на этом языке.',
default_language_deletion_title: 'Язык по умолчанию не может быть удален.',
default_language_deletion_description:
'{{language}} установлен как язык по умолчанию и не может быть удален. ',
},
advanced_options: {
title: 'ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ',
enable_user_registration: 'Включить регистрацию пользователей',
enable_user_registration_description:
'Разрешить или запретить регистрацию пользователей. После отключения пользователи могут быть добавлены через админ-консоль, но пользователи больше не могут создавать учетные записи через интерфейс входа в систему.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: '{{name}} şifreleme metodu desteklenmiyor.',
pepper_not_found: 'Şifre pepperı bulunamadı. Lütfen core envs.i kontrol edin.',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -9,7 +9,7 @@ const sign_in_exp = {
tabs: {
branding: 'Markalaşma',
sign_up_and_sign_in: 'Kaydol ve Oturum Aç',
others: 'Diğerleri',
content: 'İçerik',
},
welcome: {
title: 'Oturum açma deneyimini özelleştirin',
@ -52,7 +52,7 @@ const sign_in_exp = {
"Tam olarak istediğiniz gibi o herhangi bir şeyin stilini kişiselleştirmek için özel CSS'nizi girin. Yaratıcılığınızı ifade edin ve UI'ınızın dikkat çekmesini sağlayın.",
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'Henüz SMS konektörü kurulmadı. Yapılandırmayı tamamlamadan önce, kullanıcılar bu yöntemle oturum açamazlar. "Konektörler"deki <a>{{link}}</a>',

View file

@ -1,47 +0,0 @@
const others = {
terms_of_use: {
title: 'KULLANIM KOŞULLARI',
terms_of_use: 'Kullanım koşulları URLi',
terms_of_use_placeholder: 'https://kullanım.koşulları/',
privacy_policy: 'Gizlilik politikası URLi',
privacy_policy_placeholder: 'https://gizlilik.politikası/',
},
languages: {
title: 'DİLLER',
enable_auto_detect: 'Otomatik algılamayı etkinleştir',
description:
'Yazılımınız kullanıcının yerel ayarını algılar ve yerel dile geçer. İngilizceden diğer bir dile UI çevirerek yeni diller ekleyebilirsiniz.',
manage_language: 'Dili yönetin',
default_language: 'Varsayılan dil',
default_language_description_auto:
'Algılanan kullanıcı diline karşı geçerli diller kitaplığında listelenmeyen dil durumunda varsayılan dil kullanılır.',
default_language_description_fixed:
'Otomatik algılamayı kapattığınızda varsayılan dil yazılımınızın göstereceği tek dil olacaktır. Dil uzantısı için otomatik algılamayıın.',
},
manage_language: {
title: 'Dili Yönetin',
subtitle:
'Dilleri ve çevirileri ekleyerek ürün deneyimini yerelleştirin. Katkınız varsayılan dil olarak ayarlanabilir.',
add_language: 'Dil ekle',
logto_provided: 'Logto sağlandı',
key: 'Anahtar',
logto_source_values: 'Logto kaynak değerleri',
custom_values: 'Özel değerler',
clear_all_tip: 'Tüm değerleri temizle',
unsaved_description: 'Sayfadan kaydedilmeyen değişiklikler kaybolabilir.',
deletion_tip: 'Dili sil',
deletion_title: 'Eklenen dili silmek istediğinizden emin misiniz?',
deletion_description: 'Silmeden sonra, kullanıcılar artık o dille tarama yapamazlar.',
default_language_deletion_title: 'Varsayılan dil silinemez.',
default_language_deletion_description:
'{{language}} varsayılan dil olarak ayarlanmıştır ve silinemez.',
},
advanced_options: {
title: 'GELİŞMİŞ OPSİYONLAR',
enable_user_registration: 'Kullanıcı kaydını etkinleştir',
enable_user_registration_description:
'Kullanıcı kaydını etkinleştirin veya devre dışı bırakın. Devre dışı bırakıldıktan sonra, kullanıcılar yönetici konsolunda eklenebilir, ancak kullanıcılar artık oturum açma arayüzü üzerinden hesap oluşturamazlar.',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: '不支持的加密方法 {{name}}',
pepper_not_found: '密码 pepper 未找到。请检查 core 的环境变量。',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -8,7 +8,7 @@ const sign_in_exp = {
tabs: {
branding: '品牌',
sign_up_and_sign_in: '注册与登录',
others: '其它',
content: '内容',
},
welcome: {
title: '自定义登录体验',
@ -49,7 +49,7 @@ const sign_in_exp = {
'输入 CSS 代码,修改颜色、字体、组件样式、布局,定制你的登录、注册、忘记密码等页面。充分发挥创造力,让你的用户界面脱颖而出。',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'尚未设置 SMS 短信连接器。在完成该配置前,用户将无法通过此登录方式登录。<a>{{link}}</a>连接器。',

View file

@ -1,46 +0,0 @@
const others = {
terms_of_use: {
title: '条款',
terms_of_use: '使用条款 URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: '隐私政策 URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: '语言',
enable_auto_detect: '开启语言自动适配',
description:
'基于用户自身的语言设定,产品将展示最符合用户使用习惯的语言。你可以为产品添加翻译内容、选择语言代码和设定自定义语言,来延展产品的本地化需求。',
manage_language: '管理语言',
default_language: '默认语言',
default_language_description_auto:
'语言自动适配已开启,当用户设定的语言无法匹配时,他们将看到默认语言。',
default_language_description_fixed:
'语言自动适配已关闭,你的应用将只展示默认语言。开启自动适配即可定制语言。',
},
manage_language: {
title: '管理语言',
subtitle: '你可以为产品添加翻译内容、选择语言代码和设定自定义语言,来延展产品的本地化需求。',
add_language: '添加语言',
logto_provided: 'Logto 提供',
key: '键名',
logto_source_values: 'Logto 源语言',
custom_values: '翻译文本',
clear_all_tip: '清空',
unsaved_description: '离开页面前,记得保存你本次做的内容修改。',
deletion_tip: '删除',
deletion_title: '你确定你要删除新加的语言吗?',
deletion_description: '删除后,你的用户将无法使用该语言查看内容。',
default_language_deletion_title: '你无法删除默认语言',
default_language_deletion_description:
'你已设置{{language}}为你的默认语言,你无法删除默认语言。',
},
advanced_options: {
title: '高级选项',
enable_user_registration: '启用用户注册',
enable_user_registration_description:
'开启或关闭用户注册功能。一旦关闭,用户将无法通过登录界面自行注册账号,但管理员仍可通过管理控制台添加用户。',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: '不支持的加密方法 {{name}}',
pepper_not_found: '密碼 pepper 未找到。請檢查 core 的環境變量。',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -8,7 +8,7 @@ const sign_in_exp = {
tabs: {
branding: '品牌',
sign_up_and_sign_in: '註冊與登錄',
others: '其他',
content: '內容',
},
welcome: {
title: '自定義登錄體驗',
@ -49,7 +49,7 @@ const sign_in_exp = {
'輸入 CSS 代碼,修改顏色、字體、組件樣式、佈局,定制您的登錄、註冊、忘記密碼等頁面。充分發揮創造力,讓您的用戶界面脫穎而出。',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'尚未設置 SMS 短信連接器。在完成該配置前,用戶將無法通過此登錄方式登錄。<a>{{link}}</a>連接器。',

View file

@ -1,46 +0,0 @@
const others = {
terms_of_use: {
title: '條款',
terms_of_use: '使用條款 URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: '隱私政策 URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: '語言',
enable_auto_detect: '開啟語言自動適配',
description:
'基於用戶自身的語言設定,產品將展示最符合用戶使用習慣的語言。你可以為產品添加翻譯內容、選擇語言代碼和設定自定義語言,來延展產品的本地化需求。',
manage_language: '管理語言',
default_language: '默認語言',
default_language_description_auto:
'語言自動適配已開啟,當用戶設定的語言無法匹配時,他們將看到默認語言。',
default_language_description_fixed:
'語言自動適配已關閉,你的應用將只展示默認語言。開啟自動適配即可定制語言。',
},
manage_language: {
title: '管理語言',
subtitle: '你可以為產品添加翻譯內容、選擇語言代碼和設定自定義語言,來延展產品的本地化需求。',
add_language: '添加語言',
logto_provided: 'Logto 提供',
key: '鍵名',
logto_source_values: 'Logto 源語言',
custom_values: '翻譯文本',
clear_all_tip: '清空',
unsaved_description: '離開頁面前,記得保存你本次做的內容修改。',
deletion_tip: '刪除',
deletion_title: '你確定你要刪除新加的語言嗎?',
deletion_description: '刪除後,你的用戶將無法使用該語言查看內容。',
default_language_deletion_title: '你無法刪除默認語言',
default_language_deletion_description:
'你已設置{{language}}為你的默認語言,你無法刪除默認語言。',
},
advanced_options: {
title: '高級選項',
enable_user_registration: '啟用用戶註冊',
enable_user_registration_description:
'開啟或關閉用戶註冊功能。一旦關閉,用戶將無法通過登錄界面自行註冊帳號,但管理員仍可通過管理控制台添加用戶。',
},
};
export default Object.freeze(others);

View file

@ -1,7 +1,7 @@
const password = {
unsupported_encryption_method: '不支持的加密方法 {{name}}',
pepper_not_found: '密碼 pepper 未找到。請檢查 core 的環境變數。',
password_rejected: 'Password rejected. Please check if your password meets the requirements.', // UNTRANSLATED
rejected: 'Password rejected. Please check your password meets the requirements.', // UNTRANSLATED
};
export default Object.freeze(password);

View file

@ -0,0 +1,48 @@
const content = {
terms_of_use: {
title: 'TERMS',
terms_of_use: 'Terms of use URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: 'Privacy policy URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: 'LANGUAGES',
enable_auto_detect: 'Enable auto-detect',
description:
"Your software detects the user's locale setting and switches to the local language. You can add new languages by translating UI from English to another language.",
manage_language: 'Manage language',
default_language: 'Default language',
default_language_description_auto:
'The default language will be used when the detected user language isnt covered in the current language library.',
default_language_description_fixed:
'When auto-detect is off, the default language is the only language your software will show. Turn on auto-detect for language extension.',
},
manage_language: {
title: 'Manage language',
subtitle:
'Localize the product experience by adding languages and translations. Your contribution can be set as the default language.',
add_language: 'Add Language',
logto_provided: 'Logto provided',
key: 'Key',
logto_source_values: 'Logto source values',
custom_values: 'Custom values',
clear_all_tip: 'Clear all values',
unsaved_description: 'Changes wont be saved if you leave this page without saving.',
deletion_tip: 'Delete the language',
deletion_title: 'Do you want to delete the added language?',
deletion_description:
'After deletion, your users wont be able to browse in that language again.',
default_language_deletion_title: 'Default language cant be deleted.',
default_language_deletion_description:
'{{language}} is set as your default language and cant be deleted. ',
},
advanced_options: {
title: 'ADVANCED OPTIONS',
enable_user_registration: 'Enable user registration',
enable_user_registration_description:
'Enable or disallow user registration. Once disabled, users can still be added in the admin console but users can no longer establish accounts through the sign-in UI.',
},
};
export default Object.freeze(content);

View file

@ -1,4 +1,4 @@
import others from './others.js';
import content from './content.js';
import sign_up_and_sign_in from './sign-up-and-sign-in.js';
const sign_in_exp = {
@ -8,7 +8,7 @@ const sign_in_exp = {
tabs: {
branding: '品牌',
sign_up_and_sign_in: '註冊與登錄',
others: '其他',
content: '內容',
},
welcome: {
title: '自定義登錄體驗',
@ -49,7 +49,7 @@ const sign_in_exp = {
'輸入 CSS 代碼,修改顏色、字體、組件樣式、布局,定制你的登錄、註冊、忘記密碼等頁面。充分發揮創造力,讓你的用戶界面脫穎而出。',
},
sign_up_and_sign_in,
others,
content,
setup_warning: {
no_connector_sms:
'尚未設置 SMS 短信連接器。在完成該配置前,用戶將無法通過此登錄方式登錄。<a>{{link}}</a>連接器。',

View file

@ -1,46 +0,0 @@
const others = {
terms_of_use: {
title: '條款',
terms_of_use: '使用條款 URL',
terms_of_use_placeholder: 'https://your.terms.of.use/',
privacy_policy: '隱私政策 URL',
privacy_policy_placeholder: 'https://your.privacy.policy/',
},
languages: {
title: '語言',
enable_auto_detect: '開啟語言自動適配',
description:
'基於使用者自身的語言設定,產品將展示最符合使用者使用習慣的語言。你可以為產品添加翻譯內容、選擇語言代碼和設定自訂語言,來延展產品的本地化需求。',
manage_language: '管理語言',
default_language: '預設語言',
default_language_description_auto:
'語言自動適配已開啟,當使用者設定的語言無法匹配時,他們將看到預設語言。',
default_language_description_fixed:
'語言自動適配已關閉,你的應用將只展示預設語言。開啟自動適配即可定制語言。',
},
manage_language: {
title: '管理語言',
subtitle: '你可以為產品添加翻譯內容、選擇語言代碼和設定自訂語言,來延展產品的本地化需求。',
add_language: '添加語言',
logto_provided: 'Logto 提供',
key: '鍵名',
logto_source_values: 'Logto 源語言',
custom_values: '翻譯文本',
clear_all_tip: '清空',
unsaved_description: '離開頁面前,記得保存你本次做的內容修改。',
deletion_tip: '刪除',
deletion_title: '你確定你要刪除新加的語言嗎?',
deletion_description: '刪除後,你的使用者將無法使用該語言查看內容。',
default_language_deletion_title: '你無法刪除預設語言',
default_language_deletion_description:
'你已設置 {{language}} 為你的預設語言,你無法刪除預設語言。',
},
advanced_options: {
title: '高級選項',
enable_user_registration: '啟用使用者註冊',
enable_user_registration_description:
'開啟或關閉使用者註冊功能。一旦關閉,使用者將無法通過登錄界面自行註冊帳號,但管理員仍可通過管理控制台添加使用者。',
},
};
export default Object.freeze(others);