i18n(auth): passkey strings across all locales

Add login/settings/admin passkey keys to en and all 19 translated locales.
This commit is contained in:
Maurice
2026-06-05 18:46:04 +02:00
parent 7471976c9a
commit ef191ae7dc
60 changed files with 900 additions and 0 deletions
+19
View File
@@ -341,5 +341,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Journey', // en-fallback
'admin.addons.catalog.journey.description':
'Trip tracking & travel journal with check-ins, photos, and daily stories', // en-fallback
'admin.passkey.title': 'تسجيل الدخول بمفتاح المرور',
'admin.passkey.cardHint':
'اسمح للمستخدمين بتسجيل الدخول باستخدام مفاتيح المرور (WebAuthn). معطّل افتراضيًا.',
'admin.passkey.login': 'تفعيل تسجيل الدخول بمفتاح المرور',
'admin.passkey.loginHint':
'إظهار خيار "تسجيل الدخول باستخدام مفتاح المرور" والسماح للمستخدمين بتسجيل مفاتيح المرور في إعداداتهم.',
'admin.passkey.notConfigured':
'لا يوجد نطاق WebAuthn صالح لهذا التثبيت بعد. عيّن APP_URL أو Relying Party ID أدناه — تبقى مفاتيح المرور مخفية حتى ذلك الحين.',
'admin.passkey.rpId': 'Relying Party ID (النطاق)',
'admin.passkey.rpIdHint':
'النطاق المجرّد الذي تُربط به مفاتيح المرور، مثل trek.example.org. اتركه فارغًا لاشتقاقه من APP_URL. تغييره لاحقًا يُبطل مفاتيح المرور الموجودة.',
'admin.passkey.origins': 'الأصول المسموح بها',
'admin.passkey.originsHint':
'أصول كاملة مفصولة بفواصل، مثل https://trek.example.org. اتركه فارغًا لاستخدام APP_URL.',
'admin.passkey.reset': 'إعادة تعيين مفاتيح المرور',
'admin.passkey.resetHint':
'إزالة جميع مفاتيح المرور لهذا المستخدم (مثلًا عند فقدان جهاز). سيظل بإمكانه تسجيل الدخول بكلمة المرور.',
'admin.passkey.resetConfirm': 'إزالة جميع مفاتيح المرور لـ {name}؟',
'admin.passkey.resetDone': 'تمت إزالة {count} من مفاتيح المرور',
};
export default admin;
+2
View File
@@ -88,5 +88,7 @@ const login: TranslationStrings = {
'هذا الرابط مفقود أو تالف. اطلب رابطًا جديدًا للمتابعة.',
'login.resetPasswordFailed': 'فشلت إعادة التعيين. ربما انتهت صلاحية الرابط.',
'login.emailPlaceholder': 'your@email.com', // en-fallback
'login.passkey.signIn': 'تسجيل الدخول باستخدام مفتاح المرور',
'login.passkey.failed': 'فشل تسجيل الدخول بمفتاح المرور. يرجى المحاولة مرة أخرى.',
};
export default login;
+24
View File
@@ -290,6 +290,30 @@ const settings: TranslationStrings = {
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', // en-fallback
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'مفاتيح المرور',
'settings.passkey.description':
'سجّل الدخول بشكل أسرع وأكثر مقاومة للتصيّد باستخدام مفتاح مرور — ببصمة إصبعك أو وجهك أو رمز PIN أو مفتاح أمان مادي. تبقى كلمة المرور كنسخة احتياطية.',
'settings.passkey.notConfigured':
'مفاتيح المرور مفعّلة لكنها لم تُهيّأ بالكامل على هذا الخادم بعد. اطلب من المسؤول تعيين نطاق WebAuthn.',
'settings.passkey.add': 'إضافة مفتاح مرور',
'settings.passkey.addTitle': 'إضافة مفتاح مرور',
'settings.passkey.passwordPrompt':
'أكّد كلمة المرور الحالية، ثم اتبع التعليمات على جهازك.',
'settings.passkey.passwordRequired': 'كلمة المرور الحالية مطلوبة.',
'settings.passkey.namePlaceholder': 'الاسم (اختياري، مثل "iPhone")',
'settings.passkey.addedToast': 'تمت إضافة مفتاح المرور',
'settings.passkey.added': 'تمت الإضافة',
'settings.passkey.addError': 'تعذّرت إضافة مفتاح المرور',
'settings.passkey.cancelled': 'تم إلغاء إعداد مفتاح المرور',
'settings.passkey.deleted': 'تمت إزالة مفتاح المرور',
'settings.passkey.deleteConfirm':
'إزالة مفتاح المرور هذا؟ أكّد بكلمة المرور الخاصة بك.',
'settings.passkey.rename': 'إعادة التسمية',
'settings.passkey.defaultName': 'مفتاح المرور',
'settings.passkey.synced': 'متزامن',
'settings.passkey.deviceBound': 'هذا الجهاز',
'settings.passkey.lastUsed': 'آخر استخدام',
'settings.passkey.neverUsed': 'لم يُستخدم قط',
};
export default settings;
+19
View File
@@ -363,5 +363,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Jornada',
'admin.addons.catalog.journey.description':
'Rastreamento de viagens e diário de viajante com check-ins, fotos e histórias diárias',
'admin.passkey.title': 'Login com passkey',
'admin.passkey.cardHint':
'Permite que os usuários entrem com passkeys (WebAuthn). Desativado por padrão.',
'admin.passkey.login': 'Ativar login com passkey',
'admin.passkey.loginHint':
'Mostra a opção "Entrar com uma passkey" e permite que os usuários cadastrem passkeys nas configurações.',
'admin.passkey.notConfigured':
'Nenhum domínio WebAuthn é resolvido para esta instalação ainda. Defina APP_URL ou o Relying Party ID abaixo — as passkeys ficam ocultas até lá.',
'admin.passkey.rpId': 'Relying Party ID (domínio)',
'admin.passkey.rpIdHint':
'O domínio puro ao qual as passkeys ficam vinculadas, ex.: trek.example.org. Deixe vazio para derivá-lo de APP_URL. Alterá-lo depois invalida as passkeys existentes.',
'admin.passkey.origins': 'Origens permitidas',
'admin.passkey.originsHint':
'Origens completas separadas por vírgula, ex.: https://trek.example.org. Deixe vazio para usar APP_URL.',
'admin.passkey.reset': 'Redefinir passkeys',
'admin.passkey.resetHint':
'Remove todas as passkeys deste usuário (ex.: em caso de perda do dispositivo). Ele ainda poderá entrar com a senha.',
'admin.passkey.resetConfirm': 'Remover todas as passkeys de {name}?',
'admin.passkey.resetDone': 'Removida(s) {count} passkey(s)',
};
export default admin;
+3
View File
@@ -91,5 +91,8 @@ const login: TranslationStrings = {
'Este link está ausente ou corrompido. Solicite um novo para continuar.',
'login.resetPasswordFailed':
'Falha na redefinição. O link pode ter expirado.',
'login.passkey.signIn': 'Entrar com uma passkey',
'login.passkey.failed':
'Falha ao entrar com passkey. Tente novamente.',
};
export default login;
+24
View File
@@ -296,6 +296,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Entre mais rápido e com proteção contra phishing usando uma passkey — sua impressão digital, rosto, PIN ou uma chave de segurança física. Sua senha continua disponível como reserva.',
'settings.passkey.notConfigured':
'As passkeys estão ativadas, mas ainda não foram totalmente configuradas neste servidor. Peça ao administrador para definir o domínio WebAuthn.',
'settings.passkey.add': 'Adicionar uma passkey',
'settings.passkey.addTitle': 'Adicionar uma passkey',
'settings.passkey.passwordPrompt':
'Confirme sua senha atual e depois siga as instruções do seu dispositivo.',
'settings.passkey.passwordRequired': 'A senha atual é obrigatória.',
'settings.passkey.namePlaceholder': 'Nome (opcional, ex.: "iPhone")',
'settings.passkey.addedToast': 'Passkey adicionada',
'settings.passkey.added': 'Adicionada',
'settings.passkey.addError': 'Não foi possível adicionar a passkey',
'settings.passkey.cancelled': 'Configuração da passkey cancelada',
'settings.passkey.deleted': 'Passkey removida',
'settings.passkey.deleteConfirm':
'Remover esta passkey? Confirme com sua senha.',
'settings.passkey.rename': 'Renomear',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Sincronizada',
'settings.passkey.deviceBound': 'Este dispositivo',
'settings.passkey.lastUsed': 'Último uso',
'settings.passkey.neverUsed': 'Nunca usada',
};
export default settings;
+19
View File
@@ -358,5 +358,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Cestovní deník',
'admin.addons.catalog.journey.description':
'Sledování cest a cestovní deník s odbaveními, fotkami a denními příběhy',
'admin.passkey.title': 'Přihlášení přístupovým klíčem',
'admin.passkey.cardHint':
'Umožněte uživatelům přihlašovat se pomocí přístupových klíčů (WebAuthn). Ve výchozím nastavení vypnuto.',
'admin.passkey.login': 'Povolit přihlášení přístupovým klíčem',
'admin.passkey.loginHint':
'Zobrazí možnost „Přihlásit se pomocí přístupového klíče“ a umožní uživatelům zaregistrovat přístupové klíče v nastavení.',
'admin.passkey.notConfigured':
'Pro toto nasazení zatím nelze určit žádnou doménu WebAuthn. Nastavte níže APP_URL nebo Relying Party ID — do té doby zůstanou přístupové klíče skryté.',
'admin.passkey.rpId': 'Relying Party ID (doména)',
'admin.passkey.rpIdHint':
'Holá doména, ke které jsou přístupové klíče vázány, např. trek.example.org. Ponechte prázdné, aby se odvodila z APP_URL. Pozdější změna zneplatní stávající přístupové klíče.',
'admin.passkey.origins': 'Povolené origins',
'admin.passkey.originsHint':
'Úplné origins oddělené čárkou, např. https://trek.example.org. Ponechte prázdné pro použití APP_URL.',
'admin.passkey.reset': 'Resetovat přístupové klíče',
'admin.passkey.resetHint':
'Odebere všechny přístupové klíče tohoto uživatele (např. při ztrátě zařízení). Stále se může přihlásit svým heslem.',
'admin.passkey.resetConfirm': 'Odebrat všechny přístupové klíče uživatele {name}?',
'admin.passkey.resetDone': 'Odebráno {count} přístupových klíčů',
};
export default admin;
+3
View File
@@ -91,5 +91,8 @@ const login: TranslationStrings = {
'login.resetPasswordInvalidLinkBody':
'Odkaz chybí nebo je poškozený. Pro pokračování si vyžádej nový.',
'login.resetPasswordFailed': 'Obnovení se nezdařilo. Odkaz mohl vypršet.',
'login.passkey.signIn': 'Přihlásit se pomocí přístupového klíče',
'login.passkey.failed':
'Přihlášení přístupovým klíčem se nezdařilo. Zkuste to prosím znovu.',
};
export default login;
+24
View File
@@ -297,6 +297,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Přístupové klíče',
'settings.passkey.description':
'Přihlašujte se rychleji a s ochranou proti phishingu pomocí přístupového klíče — otiskem prstu, obličejem, PINem nebo hardwarovým klíčem. Vaše heslo zůstává jako záloha.',
'settings.passkey.notConfigured':
'Přístupové klíče jsou povoleny, ale na tomto serveru zatím nejsou plně nastaveny. Požádejte správce o nastavení domény WebAuthn.',
'settings.passkey.add': 'Přidat přístupový klíč',
'settings.passkey.addTitle': 'Přidat přístupový klíč',
'settings.passkey.passwordPrompt':
'Potvrďte své současné heslo a poté postupujte podle pokynů svého zařízení.',
'settings.passkey.passwordRequired': 'Vaše současné heslo je vyžadováno.',
'settings.passkey.namePlaceholder': 'Název (volitelné, např. „iPhone“)',
'settings.passkey.addedToast': 'Přístupový klíč přidán',
'settings.passkey.added': 'Přidáno',
'settings.passkey.addError': 'Přístupový klíč se nepodařilo přidat',
'settings.passkey.cancelled': 'Nastavení přístupového klíče zrušeno',
'settings.passkey.deleted': 'Přístupový klíč odebrán',
'settings.passkey.deleteConfirm':
'Odebrat tento přístupový klíč? Potvrďte svým heslem.',
'settings.passkey.rename': 'Přejmenovat',
'settings.passkey.defaultName': 'Přístupový klíč',
'settings.passkey.synced': 'Synchronizováno',
'settings.passkey.deviceBound': 'Toto zařízení',
'settings.passkey.lastUsed': 'Naposledy použito',
'settings.passkey.neverUsed': 'Nikdy nepoužito',
};
export default settings;
+19
View File
@@ -361,5 +361,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Journey',
'admin.addons.catalog.journey.description':
'Reise-Tracking & Tagebuch mit Check-ins, Fotos und Tagesberichten',
'admin.passkey.title': 'Passkey-Anmeldung',
'admin.passkey.cardHint':
'Erlaube Benutzern die Anmeldung mit Passkeys (WebAuthn). Standardmäßig deaktiviert.',
'admin.passkey.login': 'Passkey-Anmeldung aktivieren',
'admin.passkey.loginHint':
'Zeigt die Option "Mit Passkey anmelden" und erlaubt Benutzern, in ihren Einstellungen Passkeys zu registrieren.',
'admin.passkey.notConfigured':
'Für diese Installation ist noch keine WebAuthn-Domain auflösbar. Lege unten APP_URL oder die Relying Party ID fest — bis dahin bleiben Passkeys ausgeblendet.',
'admin.passkey.rpId': 'Relying Party ID (Domain)',
'admin.passkey.rpIdHint':
'Die reine Domain, an die Passkeys gebunden sind, z. B. trek.example.org. Leer lassen, um sie aus APP_URL abzuleiten. Eine spätere Änderung macht bestehende Passkeys ungültig.',
'admin.passkey.origins': 'Erlaubte Origins',
'admin.passkey.originsHint':
'Vollständige Origins, durch Komma getrennt, z. B. https://trek.example.org. Leer lassen, um APP_URL zu verwenden.',
'admin.passkey.reset': 'Passkeys zurücksetzen',
'admin.passkey.resetHint':
'Entfernt alle Passkeys dieses Benutzers (z. B. bei einem verlorenen Gerät). Die Anmeldung mit Passwort bleibt weiterhin möglich.',
'admin.passkey.resetConfirm': 'Alle Passkeys von {name} entfernen?',
'admin.passkey.resetDone': '{count} Passkey(s) entfernt',
};
export default admin;
+3
View File
@@ -94,5 +94,8 @@ const login: TranslationStrings = {
'Dieser Link fehlt oder ist beschädigt. Fordere einen neuen an, um fortzufahren.',
'login.resetPasswordFailed':
'Zurücksetzen fehlgeschlagen. Der Link ist möglicherweise abgelaufen.',
'login.passkey.signIn': 'Mit Passkey anmelden',
'login.passkey.failed':
'Anmeldung mit Passkey fehlgeschlagen. Bitte erneut versuchen.',
};
export default login;
+24
View File
@@ -300,6 +300,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Währung",
"settings.currencyHint": "Alle Beträge in Costs werden in diese Währung umgerechnet und angezeigt.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Melde dich schneller und phishing-resistent mit einem Passkey an — per Fingerabdruck, Gesicht, PIN oder Hardware-Schlüssel. Dein Passwort bleibt als Backup erhalten.',
'settings.passkey.notConfigured':
'Passkeys sind aktiviert, aber auf diesem Server noch nicht vollständig eingerichtet. Bitte deinen Administrator, die WebAuthn-Domain festzulegen.',
'settings.passkey.add': 'Passkey hinzufügen',
'settings.passkey.addTitle': 'Passkey hinzufügen',
'settings.passkey.passwordPrompt':
'Bestätige dein aktuelles Passwort und folge dann der Aufforderung deines Geräts.',
'settings.passkey.passwordRequired': 'Dein aktuelles Passwort wird benötigt.',
'settings.passkey.namePlaceholder': 'Name (optional, z. B. "iPhone")',
'settings.passkey.addedToast': 'Passkey hinzugefügt',
'settings.passkey.added': 'Hinzugefügt',
'settings.passkey.addError': 'Passkey konnte nicht hinzugefügt werden',
'settings.passkey.cancelled': 'Passkey-Einrichtung abgebrochen',
'settings.passkey.deleted': 'Passkey entfernt',
'settings.passkey.deleteConfirm':
'Diesen Passkey entfernen? Bestätige mit deinem Passwort.',
'settings.passkey.rename': 'Umbenennen',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Synchronisiert',
'settings.passkey.deviceBound': 'Dieses Gerät',
'settings.passkey.lastUsed': 'Zuletzt verwendet',
'settings.passkey.neverUsed': 'Noch nie verwendet',
};
export default settings;
+18
View File
@@ -354,5 +354,23 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Journey',
'admin.addons.catalog.journey.description':
'Trip tracking & travel journal with check-ins, photos, and daily stories',
'admin.passkey.title': 'Passkey login',
'admin.passkey.cardHint': 'Let users sign in with passkeys (WebAuthn). Off by default.',
'admin.passkey.login': 'Enable passkey login',
'admin.passkey.loginHint':
'Show a "Sign in with a passkey" option and let users enrol passkeys in their settings.',
'admin.passkey.notConfigured':
'No WebAuthn domain resolves for this deployment yet. Set APP_URL or the Relying Party ID below — passkeys stay hidden until then.',
'admin.passkey.rpId': 'Relying Party ID (domain)',
'admin.passkey.rpIdHint':
'The bare domain passkeys are bound to, e.g. trek.example.org. Leave empty to derive it from APP_URL. Changing it later invalidates existing passkeys.',
'admin.passkey.origins': 'Allowed origins',
'admin.passkey.originsHint':
'Comma-separated full origins, e.g. https://trek.example.org. Leave empty to use APP_URL.',
'admin.passkey.reset': 'Reset passkeys',
'admin.passkey.resetHint':
"Remove all of this user's passkeys (e.g. on a lost device). They can still sign in with their password.",
'admin.passkey.resetConfirm': 'Remove all passkeys for {name}?',
'admin.passkey.resetDone': 'Removed {count} passkey(s)',
};
export default admin;
+2
View File
@@ -91,5 +91,7 @@ const login: TranslationStrings = {
'login.resetPasswordInvalidLinkBody':
'This link is missing or broken. Request a new one to continue.',
'login.resetPasswordFailed': 'Reset failed. The link may have expired.',
'login.passkey.signIn': 'Sign in with a passkey',
'login.passkey.failed': 'Passkey sign-in failed. Please try again.',
};
export default login;
+22
View File
@@ -290,6 +290,28 @@ const settings: TranslationStrings = {
'settings.mfa.demoBlocked': 'Not available in demo mode',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Sign in faster and phishing-resistant with a passkey — your fingerprint, face, PIN, or a hardware key. Your password stays as a backup.',
'settings.passkey.notConfigured':
'Passkeys are enabled but not fully configured on this server yet. Ask your administrator to set the WebAuthn domain.',
'settings.passkey.add': 'Add a passkey',
'settings.passkey.addTitle': 'Add a passkey',
'settings.passkey.passwordPrompt': 'Confirm your current password, then follow your device prompt.',
'settings.passkey.passwordRequired': 'Your current password is required.',
'settings.passkey.namePlaceholder': 'Name (optional, e.g. "iPhone")',
'settings.passkey.addedToast': 'Passkey added',
'settings.passkey.added': 'Added',
'settings.passkey.addError': 'Could not add passkey',
'settings.passkey.cancelled': 'Passkey setup cancelled',
'settings.passkey.deleted': 'Passkey removed',
'settings.passkey.deleteConfirm': 'Remove this passkey? Confirm with your password.',
'settings.passkey.rename': 'Rename',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Synced',
'settings.passkey.deviceBound': 'This device',
'settings.passkey.lastUsed': 'Last used',
'settings.passkey.neverUsed': 'Never used',
};
export default settings;
+19
View File
@@ -369,5 +369,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Travesía',
'admin.addons.catalog.journey.description':
'Seguimiento de viajes y diario de viajero con registros de ubicación, fotos e historias diarias',
'admin.passkey.title': 'Inicio de sesión con passkey',
'admin.passkey.cardHint':
'Permite que los usuarios inicien sesión con passkeys (WebAuthn). Desactivado de forma predeterminada.',
'admin.passkey.login': 'Activar inicio de sesión con passkey',
'admin.passkey.loginHint':
'Muestra una opción "Iniciar sesión con una passkey" y permite a los usuarios registrar passkeys en sus ajustes.',
'admin.passkey.notConfigured':
'Aún no se resuelve ningún dominio de WebAuthn para esta instalación. Define APP_URL o el Relying Party ID a continuación: las passkeys permanecerán ocultas hasta entonces.',
'admin.passkey.rpId': 'Relying Party ID (dominio)',
'admin.passkey.rpIdHint':
'El dominio puro al que se vinculan las passkeys, p. ej. trek.example.org. Déjalo vacío para derivarlo de APP_URL. Cambiarlo más adelante invalida las passkeys existentes.',
'admin.passkey.origins': 'Orígenes permitidos',
'admin.passkey.originsHint':
'Orígenes completos separados por comas, p. ej. https://trek.example.org. Déjalo vacío para usar APP_URL.',
'admin.passkey.reset': 'Restablecer passkeys',
'admin.passkey.resetHint':
'Elimina todas las passkeys de este usuario (p. ej. tras perder un dispositivo). Aún podrá iniciar sesión con su contraseña.',
'admin.passkey.resetConfirm': '¿Eliminar todas las passkeys de {name}?',
'admin.passkey.resetDone': 'Se eliminaron {count} passkey(s)',
};
export default admin;
+3
View File
@@ -95,5 +95,8 @@ const login: TranslationStrings = {
'La autenticación por contraseña está desactivada. Por favor, inicia sesión con tu proveedor SSO.',
'login.oidcLoggedOut':
'Has cerrado sesión. Vuelve a iniciar sesión con tu proveedor SSO.',
'login.passkey.signIn': 'Iniciar sesión con una passkey',
'login.passkey.failed':
'Error al iniciar sesión con la passkey. Inténtalo de nuevo.',
};
export default login;
+24
View File
@@ -297,6 +297,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Inicia sesión más rápido y con protección frente al phishing usando una passkey: tu huella, tu cara, tu PIN o una llave de seguridad física. Tu contraseña sigue disponible como respaldo.',
'settings.passkey.notConfigured':
'Las passkeys están habilitadas, pero aún no están del todo configuradas en este servidor. Pide a tu administrador que defina el dominio de WebAuthn.',
'settings.passkey.add': 'Añadir una passkey',
'settings.passkey.addTitle': 'Añadir una passkey',
'settings.passkey.passwordPrompt':
'Confirma tu contraseña actual y luego sigue las indicaciones de tu dispositivo.',
'settings.passkey.passwordRequired': 'Se requiere tu contraseña actual.',
'settings.passkey.namePlaceholder': 'Nombre (opcional, p. ej. "iPhone")',
'settings.passkey.addedToast': 'Passkey añadida',
'settings.passkey.added': 'Añadida',
'settings.passkey.addError': 'No se pudo añadir la passkey',
'settings.passkey.cancelled': 'Configuración de la passkey cancelada',
'settings.passkey.deleted': 'Passkey eliminada',
'settings.passkey.deleteConfirm':
'¿Eliminar esta passkey? Confírmalo con tu contraseña.',
'settings.passkey.rename': 'Renombrar',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Sincronizada',
'settings.passkey.deviceBound': 'Este dispositivo',
'settings.passkey.lastUsed': 'Último uso',
'settings.passkey.neverUsed': 'Nunca usada',
};
export default settings;
+19
View File
@@ -369,5 +369,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Journal de voyage',
'admin.addons.catalog.journey.description':
'Suivi de voyages et journal avec check-ins, photos et récits quotidiens',
'admin.passkey.title': 'Connexion par passkey',
'admin.passkey.cardHint':
'Permettez aux utilisateurs de se connecter avec des passkeys (WebAuthn). Désactivé par défaut.',
'admin.passkey.login': 'Activer la connexion par passkey',
'admin.passkey.loginHint':
'Affiche une option « Se connecter avec une passkey » et permet aux utilisateurs d\'enregistrer des passkeys dans leurs paramètres.',
'admin.passkey.notConfigured':
"Aucun domaine WebAuthn ne peut encore être résolu pour ce déploiement. Définissez APP_URL ou le Relying Party ID ci-dessous — les passkeys restent masquées jusque-là.",
'admin.passkey.rpId': 'Relying Party ID (domaine)',
'admin.passkey.rpIdHint':
"Le domaine nu auquel les passkeys sont liées, ex. trek.example.org. Laissez vide pour le déduire d'APP_URL. Le modifier ultérieurement invalide les passkeys existantes.",
'admin.passkey.origins': 'Origines autorisées',
'admin.passkey.originsHint':
"Origines complètes séparées par des virgules, ex. https://trek.example.org. Laissez vide pour utiliser APP_URL.",
'admin.passkey.reset': 'Réinitialiser les passkeys',
'admin.passkey.resetHint':
"Supprime toutes les passkeys de cet utilisateur (ex. en cas d'appareil perdu). Il pourra toujours se connecter avec son mot de passe.",
'admin.passkey.resetConfirm': 'Supprimer toutes les passkeys de {name} ?',
'admin.passkey.resetDone': '{count} passkey(s) supprimée(s)',
};
export default admin;
+3
View File
@@ -98,5 +98,8 @@ const login: TranslationStrings = {
'login.oidcLoggedOut':
'Vous avez été déconnecté. Reconnectez-vous via votre fournisseur SSO.',
'login.demoHint': 'Essayez la démo — aucune inscription nécessaire',
'login.passkey.signIn': 'Se connecter avec une passkey',
'login.passkey.failed':
'Échec de la connexion par passkey. Veuillez réessayer.',
};
export default login;
+24
View File
@@ -301,6 +301,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
"Connectez-vous plus rapidement et de façon résistante au phishing avec une passkey — votre empreinte digitale, votre visage, votre code PIN ou une clé matérielle. Votre mot de passe reste disponible en secours.",
'settings.passkey.notConfigured':
"Les passkeys sont activées mais ne sont pas encore entièrement configurées sur ce serveur. Demandez à votre administrateur de définir le domaine WebAuthn.",
'settings.passkey.add': 'Ajouter une passkey',
'settings.passkey.addTitle': 'Ajouter une passkey',
'settings.passkey.passwordPrompt':
"Confirmez votre mot de passe actuel, puis suivez les instructions de votre appareil.",
'settings.passkey.passwordRequired': 'Votre mot de passe actuel est requis.',
'settings.passkey.namePlaceholder': 'Nom (facultatif, ex. "iPhone")',
'settings.passkey.addedToast': 'Passkey ajoutée',
'settings.passkey.added': 'Ajoutée',
'settings.passkey.addError': "Impossible d'ajouter la passkey",
'settings.passkey.cancelled': 'Configuration de la passkey annulée',
'settings.passkey.deleted': 'Passkey supprimée',
'settings.passkey.deleteConfirm':
'Supprimer cette passkey ? Confirmez avec votre mot de passe.',
'settings.passkey.rename': 'Renommer',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Synchronisée',
'settings.passkey.deviceBound': 'Cet appareil',
'settings.passkey.lastUsed': 'Dernière utilisation',
'settings.passkey.neverUsed': 'Jamais utilisée',
};
export default settings;
+19
View File
@@ -370,5 +370,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Ταξίδι',
'admin.addons.catalog.journey.description':
'Παρακολούθηση ταξιδιών & ημερολόγιο ταξιδιών με αφίξεις, φωτογραφίες και καθημερινές ιστορίες',
'admin.passkey.title': 'Σύνδεση με passkey',
'admin.passkey.cardHint':
'Επιτρέψτε στους χρήστες να συνδέονται με passkeys (WebAuthn). Απενεργοποιημένο από προεπιλογή.',
'admin.passkey.login': 'Ενεργοποίηση σύνδεσης με passkey',
'admin.passkey.loginHint':
'Εμφανίστε μια επιλογή "Σύνδεση με passkey" και επιτρέψτε στους χρήστες να καταχωρούν passkeys στις ρυθμίσεις τους.',
'admin.passkey.notConfigured':
'Δεν αναλύεται ακόμη κανένας τομέας WebAuthn για αυτή την εγκατάσταση. Ορίστε το APP_URL ή το Relying Party ID παρακάτω — τα passkeys παραμένουν κρυφά μέχρι τότε.',
'admin.passkey.rpId': 'Relying Party ID (τομέας)',
'admin.passkey.rpIdHint':
'Ο σκέτος τομέας στον οποίο δεσμεύονται τα passkeys, π.χ. trek.example.org. Αφήστε το κενό για να παραχθεί από το APP_URL. Η μεταγενέστερη αλλαγή του ακυρώνει τα υπάρχοντα passkeys.',
'admin.passkey.origins': 'Επιτρεπόμενες προελεύσεις',
'admin.passkey.originsHint':
'Πλήρεις προελεύσεις χωρισμένες με κόμμα, π.χ. https://trek.example.org. Αφήστε το κενό για χρήση του APP_URL.',
'admin.passkey.reset': 'Επαναφορά passkeys',
'admin.passkey.resetHint':
'Αφαιρέστε όλα τα passkeys αυτού του χρήστη (π.χ. σε περίπτωση χαμένης συσκευής). Μπορούν ακόμη να συνδεθούν με τον κωδικό τους.',
'admin.passkey.resetConfirm': 'Αφαίρεση όλων των passkeys για τον/την {name};',
'admin.passkey.resetDone': 'Αφαιρέθηκαν {count} passkey(s)',
};
export default admin;
+3
View File
@@ -99,5 +99,8 @@ const login: TranslationStrings = {
'Αυτός ο σύνδεσμος λείπει ή έχει χαλάσει. Ζητήστε έναν νέο για να συνεχίσετε.',
'login.resetPasswordFailed':
'Η επαναφορά απέτυχε. Ο σύνδεσμος μπορεί να έχει λήξει.',
'login.passkey.signIn': 'Σύνδεση με passkey',
'login.passkey.failed':
'Η σύνδεση με passkey απέτυχε. Παρακαλώ δοκιμάστε ξανά.',
};
export default login;
+24
View File
@@ -303,6 +303,30 @@ const settings: TranslationStrings = {
'settings.mfa.demoBlocked': 'Δεν είναι διαθέσιμο σε λειτουργία demo',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Συνδεθείτε πιο γρήγορα και με προστασία από phishing χρησιμοποιώντας ένα passkey — το δαχτυλικό σας αποτύπωμα, το πρόσωπό σας, ένα PIN ή ένα κλειδί υλικού. Ο κωδικός σας παραμένει ως εφεδρεία.',
'settings.passkey.notConfigured':
'Τα passkeys είναι ενεργοποιημένα αλλά δεν έχουν διαμορφωθεί πλήρως σε αυτόν τον server ακόμη. Ζητήστε από τον διαχειριστή σας να ορίσει τον τομέα WebAuthn.',
'settings.passkey.add': 'Προσθήκη passkey',
'settings.passkey.addTitle': 'Προσθήκη passkey',
'settings.passkey.passwordPrompt':
'Επιβεβαιώστε τον τρέχοντα κωδικό σας και έπειτα ακολουθήστε τις οδηγίες της συσκευής σας.',
'settings.passkey.passwordRequired': 'Ο τρέχων κωδικός σας είναι υποχρεωτικός.',
'settings.passkey.namePlaceholder': 'Όνομα (προαιρετικό, π.χ. "iPhone")',
'settings.passkey.addedToast': 'Το passkey προστέθηκε',
'settings.passkey.added': 'Προστέθηκε',
'settings.passkey.addError': 'Δεν ήταν δυνατή η προσθήκη του passkey',
'settings.passkey.cancelled': 'Η ρύθμιση του passkey ακυρώθηκε',
'settings.passkey.deleted': 'Το passkey αφαιρέθηκε',
'settings.passkey.deleteConfirm':
'Αφαίρεση αυτού του passkey; Επιβεβαιώστε με τον κωδικό σας.',
'settings.passkey.rename': 'Μετονομασία',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Συγχρονισμένο',
'settings.passkey.deviceBound': 'Αυτή η συσκευή',
'settings.passkey.lastUsed': 'Τελευταία χρήση',
'settings.passkey.neverUsed': 'Δεν χρησιμοποιήθηκε ποτέ',
};
export default settings;
+19
View File
@@ -362,5 +362,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Útinaplók',
'admin.addons.catalog.journey.description':
'Utazáskövetés és útinapló bejelentkezésekkel, fotókkal és napi történetekkel',
'admin.passkey.title': 'Passkey-bejelentkezés',
'admin.passkey.cardHint':
'Engedélyezd a felhasználóknak a bejelentkezést passkey-vel (WebAuthn). Alapból kikapcsolva.',
'admin.passkey.login': 'Passkey-bejelentkezés engedélyezése',
'admin.passkey.loginHint':
'Jeleníts meg egy „Bejelentkezés passkey-jel" lehetőséget, és engedd, hogy a felhasználók passkey-ket regisztráljanak a beállításaikban.',
'admin.passkey.notConfigured':
'Ehhez a telepítéshez még nem oldódik fel WebAuthn-domain. Állítsd be az APP_URL-t vagy a lenti Relying Party ID-t — addig a passkey-k rejtve maradnak.',
'admin.passkey.rpId': 'Relying Party ID (domain)',
'admin.passkey.rpIdHint':
'A csupasz domain, amelyhez a passkey-k kötődnek, pl. trek.example.org. Hagyd üresen, hogy az APP_URL-ből legyen levezetve. Későbbi módosítása érvényteleníti a meglévő passkey-ket.',
'admin.passkey.origins': 'Engedélyezett origók',
'admin.passkey.originsHint':
'Vesszővel elválasztott teljes origók, pl. https://trek.example.org. Hagyd üresen az APP_URL használatához.',
'admin.passkey.reset': 'Passkey-k visszaállítása',
'admin.passkey.resetHint':
'Eltávolítja a felhasználó összes passkey-jét (pl. elveszett eszköz esetén). A jelszavukkal továbbra is be tudnak jelentkezni.',
'admin.passkey.resetConfirm': 'Eltávolítod {name} összes passkey-jét?',
'admin.passkey.resetDone': '{count} passkey eltávolítva',
};
export default admin;
+3
View File
@@ -98,5 +98,8 @@ const login: TranslationStrings = {
'A link hiányzik vagy sérült. A folytatáshoz kérj egy újat.',
'login.resetPasswordFailed':
'A visszaállítás nem sikerült. A link lehet, hogy lejárt.',
'login.passkey.signIn': 'Bejelentkezés passkey-jel',
'login.passkey.failed':
'A passkey-bejelentkezés sikertelen. Kérjük, próbáld újra.',
};
export default login;
+24
View File
@@ -299,6 +299,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkey-k',
'settings.passkey.description':
'Jelentkezz be gyorsabban és adathalászat-állóan egy passkey-jel — ujjlenyomattal, arccal, PIN-kóddal vagy hardveres kulccsal. A jelszavad tartalékként megmarad.',
'settings.passkey.notConfigured':
'A passkey-k engedélyezve vannak, de ezen a szerveren még nincsenek teljesen beállítva. Kérd meg a rendszergazdát, hogy állítsa be a WebAuthn-domaint.',
'settings.passkey.add': 'Passkey hozzáadása',
'settings.passkey.addTitle': 'Passkey hozzáadása',
'settings.passkey.passwordPrompt':
'Erősítsd meg a jelenlegi jelszavad, majd kövesd az eszközöd útmutatását.',
'settings.passkey.passwordRequired': 'A jelenlegi jelszó megadása kötelező.',
'settings.passkey.namePlaceholder': 'Név (opcionális, pl. "iPhone")',
'settings.passkey.addedToast': 'Passkey hozzáadva',
'settings.passkey.added': 'Hozzáadva',
'settings.passkey.addError': 'Nem sikerült hozzáadni a passkey-t',
'settings.passkey.cancelled': 'Passkey beállítása megszakítva',
'settings.passkey.deleted': 'Passkey eltávolítva',
'settings.passkey.deleteConfirm':
'Eltávolítod ezt a passkey-t? Erősítsd meg a jelszavaddal.',
'settings.passkey.rename': 'Átnevezés',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Szinkronizálva',
'settings.passkey.deviceBound': 'Ez az eszköz',
'settings.passkey.lastUsed': 'Utoljára használva',
'settings.passkey.neverUsed': 'Még nem használt',
};
export default settings;
+19
View File
@@ -357,5 +357,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Journey',
'admin.addons.catalog.journey.description':
'Pelacakan perjalanan & jurnal dengan check-in, foto, dan cerita harian',
'admin.passkey.title': 'Login dengan passkey',
'admin.passkey.cardHint':
'Izinkan pengguna masuk dengan passkey (WebAuthn). Nonaktif secara default.',
'admin.passkey.login': 'Aktifkan login dengan passkey',
'admin.passkey.loginHint':
'Tampilkan opsi "Masuk dengan passkey" dan izinkan pengguna mendaftarkan passkey di pengaturan mereka.',
'admin.passkey.notConfigured':
'Belum ada domain WebAuthn yang terdeteksi untuk deployment ini. Atur APP_URL atau Relying Party ID di bawah — passkey tetap tersembunyi sampai itu dilakukan.',
'admin.passkey.rpId': 'Relying Party ID (domain)',
'admin.passkey.rpIdHint':
'Domain murni tempat passkey diikat, mis. trek.example.org. Kosongkan untuk mengambilnya dari APP_URL. Mengubahnya nanti akan membatalkan passkey yang sudah ada.',
'admin.passkey.origins': 'Origin yang diizinkan',
'admin.passkey.originsHint':
'Origin lengkap dipisahkan koma, mis. https://trek.example.org. Kosongkan untuk menggunakan APP_URL.',
'admin.passkey.reset': 'Reset passkey',
'admin.passkey.resetHint':
'Hapus semua passkey pengguna ini (mis. saat perangkat hilang). Mereka tetap bisa masuk dengan kata sandi mereka.',
'admin.passkey.resetConfirm': 'Hapus semua passkey untuk {name}?',
'admin.passkey.resetDone': 'Menghapus {count} passkey',
};
export default admin;
+2
View File
@@ -93,5 +93,7 @@ const login: TranslationStrings = {
'login.resetPasswordInvalidLinkBody':
'Tautan hilang atau rusak. Minta tautan baru untuk melanjutkan.',
'login.resetPasswordFailed': 'Reset gagal. Tautan mungkin sudah kedaluwarsa.',
'login.passkey.signIn': 'Masuk dengan passkey',
'login.passkey.failed': 'Masuk dengan passkey gagal. Silakan coba lagi.',
};
export default login;
+24
View File
@@ -297,6 +297,30 @@ const settings: TranslationStrings = {
'Menampilkan nama stasiun / bandara di peta. Jika mati, hanya ikon ditampilkan.',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkey',
'settings.passkey.description':
'Masuk lebih cepat dan tahan terhadap phishing dengan passkey — sidik jari, wajah, PIN, atau kunci keamanan fisik kamu. Kata sandimu tetap tersedia sebagai cadangan.',
'settings.passkey.notConfigured':
'Passkey diaktifkan tetapi belum sepenuhnya dikonfigurasi di server ini. Minta administratormu untuk mengatur domain WebAuthn.',
'settings.passkey.add': 'Tambah passkey',
'settings.passkey.addTitle': 'Tambah passkey',
'settings.passkey.passwordPrompt':
'Konfirmasi kata sandimu saat ini, lalu ikuti petunjuk di perangkatmu.',
'settings.passkey.passwordRequired': 'Kata sandimu saat ini wajib diisi.',
'settings.passkey.namePlaceholder': 'Nama (opsional, mis. "iPhone")',
'settings.passkey.addedToast': 'Passkey ditambahkan',
'settings.passkey.added': 'Ditambahkan',
'settings.passkey.addError': 'Gagal menambahkan passkey',
'settings.passkey.cancelled': 'Penyiapan passkey dibatalkan',
'settings.passkey.deleted': 'Passkey dihapus',
'settings.passkey.deleteConfirm':
'Hapus passkey ini? Konfirmasi dengan kata sandimu.',
'settings.passkey.rename': 'Ganti nama',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Tersinkron',
'settings.passkey.deviceBound': 'Perangkat ini',
'settings.passkey.lastUsed': 'Terakhir digunakan',
'settings.passkey.neverUsed': 'Belum pernah digunakan',
};
export default settings;
+19
View File
@@ -365,5 +365,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Diario di viaggio',
'admin.addons.catalog.journey.description':
'Tracciamento viaggi e diario con check-in, foto e storie quotidiane',
'admin.passkey.title': 'Accesso con passkey',
'admin.passkey.cardHint':
'Consenti agli utenti di accedere con le passkey (WebAuthn). Disattivato per impostazione predefinita.',
'admin.passkey.login': 'Abilita accesso con passkey',
'admin.passkey.loginHint':
'Mostra un\'opzione "Accedi con una passkey" e consenti agli utenti di registrare le passkey nelle loro impostazioni.',
'admin.passkey.notConfigured':
'Nessun dominio WebAuthn è ancora risolto per questa installazione. Imposta APP_URL o il Relying Party ID qui sotto — le passkey restano nascoste fino ad allora.',
'admin.passkey.rpId': 'Relying Party ID (dominio)',
'admin.passkey.rpIdHint':
'Il dominio puro a cui le passkey sono associate, es. trek.example.org. Lascia vuoto per derivarlo da APP_URL. Modificarlo in seguito invalida le passkey esistenti.',
'admin.passkey.origins': 'Origini consentite',
'admin.passkey.originsHint':
'Origini complete separate da virgola, es. https://trek.example.org. Lascia vuoto per usare APP_URL.',
'admin.passkey.reset': 'Reimposta passkey',
'admin.passkey.resetHint':
"Rimuovi tutte le passkey di questo utente (es. in caso di dispositivo smarrito). Potrà comunque accedere con la sua password.",
'admin.passkey.resetConfirm': 'Rimuovere tutte le passkey di {name}?',
'admin.passkey.resetDone': 'Rimosse {count} passkey',
};
export default admin;
+2
View File
@@ -92,5 +92,7 @@ const login: TranslationStrings = {
'Il link è mancante o danneggiato. Richiedine uno nuovo per continuare.',
'login.resetPasswordFailed':
'Reset non riuscito. Il link potrebbe essere scaduto.',
'login.passkey.signIn': 'Accedi con una passkey',
'login.passkey.failed': 'Accesso con passkey non riuscito. Riprova.',
};
export default login;
+24
View File
@@ -296,6 +296,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkey',
'settings.passkey.description':
'Accedi più velocemente e in modo resistente al phishing con una passkey — la tua impronta digitale, il volto, il PIN o una chiave hardware. La tua password resta come riserva.',
'settings.passkey.notConfigured':
'Le passkey sono abilitate ma non ancora completamente configurate su questo server. Chiedi al tuo amministratore di impostare il dominio WebAuthn.',
'settings.passkey.add': 'Aggiungi una passkey',
'settings.passkey.addTitle': 'Aggiungi una passkey',
'settings.passkey.passwordPrompt':
'Conferma la tua password attuale, poi segui le istruzioni del tuo dispositivo.',
'settings.passkey.passwordRequired': 'La tua password attuale è obbligatoria.',
'settings.passkey.namePlaceholder': 'Nome (facoltativo, es. "iPhone")',
'settings.passkey.addedToast': 'Passkey aggiunta',
'settings.passkey.added': 'Aggiunta',
'settings.passkey.addError': 'Impossibile aggiungere la passkey',
'settings.passkey.cancelled': 'Configurazione della passkey annullata',
'settings.passkey.deleted': 'Passkey rimossa',
'settings.passkey.deleteConfirm':
'Rimuovere questa passkey? Conferma con la tua password.',
'settings.passkey.rename': 'Rinomina',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Sincronizzata',
'settings.passkey.deviceBound': 'Questo dispositivo',
'settings.passkey.lastUsed': 'Ultimo utilizzo',
'settings.passkey.neverUsed': 'Mai usata',
};
export default settings;
+19
View File
@@ -336,5 +336,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': '日記',
'admin.addons.catalog.journey.description':
'チェックイン、写真、日ごとのストーリーで旅を記録',
'admin.passkey.title': 'パスキーログイン',
'admin.passkey.cardHint':
'ユーザーがパスキー(WebAuthn)でサインインできるようにします。既定では無効です。',
'admin.passkey.login': 'パスキーログインを有効化',
'admin.passkey.loginHint':
'「パスキーでサインイン」オプションを表示し、ユーザーが設定でパスキーを登録できるようにします。',
'admin.passkey.notConfigured':
'このデプロイにはまだ有効な WebAuthn ドメインがありません。下の APP_URL または Relying Party ID を設定してください。それまでパスキーは表示されません。',
'admin.passkey.rpId': 'Relying Party ID(ドメイン)',
'admin.passkey.rpIdHint':
'パスキーが紐づくドメイン名のみ(例:trek.example.org)。空欄の場合は APP_URL から導出されます。後で変更すると既存のパスキーは無効になります。',
'admin.passkey.origins': '許可するオリジン',
'admin.passkey.originsHint':
'カンマ区切りの完全なオリジン(例:https://trek.example.org)。空欄の場合は APP_URL を使用します。',
'admin.passkey.reset': 'パスキーをリセット',
'admin.passkey.resetHint':
'このユーザーのパスキーをすべて削除します(例:デバイスを紛失した場合)。パスワードでのサインインは引き続き可能です。',
'admin.passkey.resetConfirm': '{name} のパスキーをすべて削除しますか?',
'admin.passkey.resetDone': '{count} 件のパスキーを削除しました',
};
export default admin;
+3
View File
@@ -91,5 +91,8 @@ const login: TranslationStrings = {
'リンクが無効または破損しています。新しいリンクをリクエストしてください。',
'login.resetPasswordFailed':
'リセットに失敗しました。リンクの有効期限が切れている可能性があります。',
'login.passkey.signIn': 'パスキーでサインイン',
'login.passkey.failed':
'パスキーでのサインインに失敗しました。もう一度お試しください。',
};
export default login;
+24
View File
@@ -276,6 +276,30 @@ const settings: TranslationStrings = {
'settings.oauth.badge.machine': 'マシン',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'パスキー',
'settings.passkey.description':
'指紋、顔認証、PIN、またはハードウェアキーを使うパスキーで、より速く、フィッシングに強いサインインができます。パスワードはバックアップとして残ります。',
'settings.passkey.notConfigured':
'パスキーは有効ですが、このサーバーではまだ完全には設定されていません。管理者に WebAuthn ドメインの設定を依頼してください。',
'settings.passkey.add': 'パスキーを追加',
'settings.passkey.addTitle': 'パスキーを追加',
'settings.passkey.passwordPrompt':
'現在のパスワードを確認し、デバイスの指示に従ってください。',
'settings.passkey.passwordRequired': '現在のパスワードが必要です。',
'settings.passkey.namePlaceholder': '名前(任意、例:"iPhone"',
'settings.passkey.addedToast': 'パスキーを追加しました',
'settings.passkey.added': '追加済み',
'settings.passkey.addError': 'パスキーを追加できませんでした',
'settings.passkey.cancelled': 'パスキーの設定をキャンセルしました',
'settings.passkey.deleted': 'パスキーを削除しました',
'settings.passkey.deleteConfirm':
'このパスキーを削除しますか?パスワードで確認してください。',
'settings.passkey.rename': '名前を変更',
'settings.passkey.defaultName': 'パスキー',
'settings.passkey.synced': '同期済み',
'settings.passkey.deviceBound': 'このデバイス',
'settings.passkey.lastUsed': '最終使用',
'settings.passkey.neverUsed': '未使用',
};
export default settings;
+19
View File
@@ -349,5 +349,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Journey',
'admin.addons.catalog.journey.description':
'체크인, 사진, 일별 이야기가 있는 여행 기록 및 여행 일지',
'admin.passkey.title': '패스키 로그인',
'admin.passkey.cardHint':
'사용자가 패스키(WebAuthn)로 로그인할 수 있게 합니다. 기본값은 꺼짐입니다.',
'admin.passkey.login': '패스키 로그인 활성화',
'admin.passkey.loginHint':
'"패스키로 로그인" 옵션을 표시하고 사용자가 설정에서 패스키를 등록할 수 있게 합니다.',
'admin.passkey.notConfigured':
'이 배포에 아직 WebAuthn 도메인이 확인되지 않습니다. 아래에서 APP_URL 또는 Relying Party ID를 설정하세요 — 그 전까지 패스키는 숨겨진 상태로 유지됩니다.',
'admin.passkey.rpId': 'Relying Party ID (도메인)',
'admin.passkey.rpIdHint':
'패스키가 바인딩되는 순수 도메인입니다. 예: trek.example.org. 비워두면 APP_URL에서 자동으로 가져옵니다. 나중에 변경하면 기존 패스키가 무효화됩니다.',
'admin.passkey.origins': '허용된 오리진',
'admin.passkey.originsHint':
'쉼표로 구분된 전체 오리진입니다. 예: https://trek.example.org. 비워두면 APP_URL을 사용합니다.',
'admin.passkey.reset': '패스키 초기화',
'admin.passkey.resetHint':
'이 사용자의 모든 패스키를 삭제합니다 (예: 기기 분실 시). 사용자는 비밀번호로 계속 로그인할 수 있습니다.',
'admin.passkey.resetConfirm': '{name}의 모든 패스키를 삭제할까요?',
'admin.passkey.resetDone': '패스키 {count}개를 삭제했습니다',
};
export default admin;
+2
View File
@@ -89,5 +89,7 @@ const login: TranslationStrings = {
'login.resetPasswordInvalidLinkBody':
'이 링크가 없거나 손상되었습니다. 새 링크를 요청하세요.',
'login.resetPasswordFailed': '재설정 실패. 링크가 만료되었을 수 있습니다.',
'login.passkey.signIn': '패스키로 로그인',
'login.passkey.failed': '패스키 로그인에 실패했습니다. 다시 시도하세요.',
};
export default login;
+24
View File
@@ -293,6 +293,30 @@ const settings: TranslationStrings = {
'settings.oauth.badge.machine': '머신',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': '패스키',
'settings.passkey.description':
'지문, 얼굴, PIN 또는 하드웨어 키 같은 패스키로 더 빠르고 피싱에 강하게 로그인하세요. 비밀번호는 백업으로 그대로 유지됩니다.',
'settings.passkey.notConfigured':
'패스키가 활성화되어 있지만 이 서버에 아직 완전히 설정되지 않았습니다. 관리자에게 WebAuthn 도메인 설정을 요청하세요.',
'settings.passkey.add': '패스키 추가',
'settings.passkey.addTitle': '패스키 추가',
'settings.passkey.passwordPrompt':
'현재 비밀번호를 확인한 뒤 기기 안내에 따라 진행하세요.',
'settings.passkey.passwordRequired': '현재 비밀번호가 필요합니다.',
'settings.passkey.namePlaceholder': '이름 (선택, 예: "iPhone")',
'settings.passkey.addedToast': '패스키가 추가되었습니다',
'settings.passkey.added': '추가됨',
'settings.passkey.addError': '패스키를 추가할 수 없습니다',
'settings.passkey.cancelled': '패스키 설정이 취소되었습니다',
'settings.passkey.deleted': '패스키가 삭제되었습니다',
'settings.passkey.deleteConfirm':
'이 패스키를 삭제할까요? 비밀번호로 확인하세요.',
'settings.passkey.rename': '이름 변경',
'settings.passkey.defaultName': '패스키',
'settings.passkey.synced': '동기화됨',
'settings.passkey.deviceBound': '이 기기',
'settings.passkey.lastUsed': '마지막 사용',
'settings.passkey.neverUsed': '사용한 적 없음',
};
export default settings;
+19
View File
@@ -360,5 +360,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Reisverslag',
'admin.addons.catalog.journey.description':
"Reistracking & reisdagboek met check-ins, foto's en dagelijkse verhalen",
'admin.passkey.title': 'Inloggen met passkey',
'admin.passkey.cardHint':
'Laat gebruikers inloggen met passkeys (WebAuthn). Standaard uit.',
'admin.passkey.login': 'Inloggen met passkey inschakelen',
'admin.passkey.loginHint':
'Toon een optie "Inloggen met een passkey" en laat gebruikers passkeys registreren in hun instellingen.',
'admin.passkey.notConfigured':
'Voor deze installatie wordt nog geen WebAuthn-domein herleid. Stel APP_URL of de Relying Party ID hieronder in — tot dan blijven passkeys verborgen.',
'admin.passkey.rpId': 'Relying Party ID (domein)',
'admin.passkey.rpIdHint':
'Het kale domein waaraan passkeys zijn gebonden, bijv. trek.example.org. Laat leeg om het af te leiden uit APP_URL. Als je dit later wijzigt, worden bestaande passkeys ongeldig.',
'admin.passkey.origins': 'Toegestane origins',
'admin.passkey.originsHint':
'Volledige origins, gescheiden door komma\'s, bijv. https://trek.example.org. Laat leeg om APP_URL te gebruiken.',
'admin.passkey.reset': 'Passkeys resetten',
'admin.passkey.resetHint':
'Verwijder alle passkeys van deze gebruiker (bijv. bij een verloren apparaat). Ze kunnen nog steeds inloggen met hun wachtwoord.',
'admin.passkey.resetConfirm': 'Alle passkeys voor {name} verwijderen?',
'admin.passkey.resetDone': '{count} passkey(s) verwijderd',
};
export default admin;
+2
View File
@@ -94,5 +94,7 @@ const login: TranslationStrings = {
'login.oidcLoggedOut':
'Je bent uitgelogd. Log opnieuw in via je SSO-provider.',
'login.demoHint': 'Probeer de demo — geen registratie nodig',
'login.passkey.signIn': 'Inloggen met een passkey',
'login.passkey.failed': 'Inloggen met passkey mislukt. Probeer het opnieuw.',
};
export default login;
+24
View File
@@ -296,6 +296,30 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Log sneller en phishingbestendig in met een passkey — je vingerafdruk, gezicht, pincode of een hardwaresleutel. Je wachtwoord blijft als back-up bestaan.',
'settings.passkey.notConfigured':
'Passkeys zijn ingeschakeld maar nog niet volledig geconfigureerd op deze server. Vraag je beheerder om het WebAuthn-domein in te stellen.',
'settings.passkey.add': 'Een passkey toevoegen',
'settings.passkey.addTitle': 'Een passkey toevoegen',
'settings.passkey.passwordPrompt':
'Bevestig je huidige wachtwoord en volg daarna de aanwijzingen van je apparaat.',
'settings.passkey.passwordRequired': 'Je huidige wachtwoord is vereist.',
'settings.passkey.namePlaceholder': 'Naam (optioneel, bijv. "iPhone")',
'settings.passkey.addedToast': 'Passkey toegevoegd',
'settings.passkey.added': 'Toegevoegd',
'settings.passkey.addError': 'Passkey kon niet worden toegevoegd',
'settings.passkey.cancelled': 'Passkey instellen geannuleerd',
'settings.passkey.deleted': 'Passkey verwijderd',
'settings.passkey.deleteConfirm':
'Deze passkey verwijderen? Bevestig met je wachtwoord.',
'settings.passkey.rename': 'Naam wijzigen',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Gesynchroniseerd',
'settings.passkey.deviceBound': 'Dit apparaat',
'settings.passkey.lastUsed': 'Laatst gebruikt',
'settings.passkey.neverUsed': 'Nooit gebruikt',
};
export default settings;
+19
View File
@@ -362,5 +362,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Dziennik podróży',
'admin.addons.catalog.journey.description':
'Śledzenie podróży i dziennik z zameldowaniami, zdjęciami i codziennymi historiami',
'admin.passkey.title': 'Logowanie kluczem dostępu',
'admin.passkey.cardHint':
'Pozwól użytkownikom logować się kluczami dostępu (WebAuthn). Domyślnie wyłączone.',
'admin.passkey.login': 'Włącz logowanie kluczem dostępu',
'admin.passkey.loginHint':
'Pokaż opcję „Zaloguj się kluczem dostępu” i pozwól użytkownikom rejestrować klucze dostępu w swoich ustawieniach.',
'admin.passkey.notConfigured':
'Dla tego wdrożenia nie ustalono jeszcze żadnej domeny WebAuthn. Ustaw APP_URL lub Relying Party ID poniżej — do tego czasu klucze dostępu pozostaną ukryte.',
'admin.passkey.rpId': 'Relying Party ID (domena)',
'admin.passkey.rpIdHint':
'Sama domena, do której przypisane są klucze dostępu, np. trek.example.org. Pozostaw puste, aby wyprowadzić ją z APP_URL. Późniejsza zmiana unieważnia istniejące klucze dostępu.',
'admin.passkey.origins': 'Dozwolone origins',
'admin.passkey.originsHint':
'Pełne origins oddzielone przecinkami, np. https://trek.example.org. Pozostaw puste, aby użyć APP_URL.',
'admin.passkey.reset': 'Zresetuj klucze dostępu',
'admin.passkey.resetHint':
'Usuń wszystkie klucze dostępu tego użytkownika (np. po utracie urządzenia). Nadal będzie mógł logować się hasłem.',
'admin.passkey.resetConfirm': 'Usunąć wszystkie klucze dostępu dla {name}?',
'admin.passkey.resetDone': 'Usunięto {count} kluczy dostępu',
};
export default admin;
+3
View File
@@ -94,5 +94,8 @@ const login: TranslationStrings = {
'login.resetPasswordFailed': 'Reset nie powiódł się. Link mógł wygasnąć.',
'login.setNewPassword': 'Ustaw nowe hasło',
'login.setNewPasswordHint': 'Musisz zmienić hasło.',
'login.passkey.signIn': 'Zaloguj się kluczem dostępu',
'login.passkey.failed':
'Logowanie kluczem dostępu nie powiodło się. Spróbuj ponownie.',
};
export default login;
+24
View File
@@ -298,6 +298,30 @@ const settings: TranslationStrings = {
'settings.mustChangePassword': 'Musisz zmienić hasło przed kontynuowaniem.',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Klucze dostępu',
'settings.passkey.description':
'Loguj się szybciej i z odpornością na phishing za pomocą klucza dostępu — odcisku palca, twarzy, kodu PIN lub klucza sprzętowego. Twoje hasło pozostaje jako zapasowa opcja.',
'settings.passkey.notConfigured':
'Klucze dostępu są włączone, ale nie zostały jeszcze w pełni skonfigurowane na tym serwerze. Poproś administratora o ustawienie domeny WebAuthn.',
'settings.passkey.add': 'Dodaj klucz dostępu',
'settings.passkey.addTitle': 'Dodaj klucz dostępu',
'settings.passkey.passwordPrompt':
'Potwierdź swoje aktualne hasło, a następnie postępuj zgodnie z komunikatem na urządzeniu.',
'settings.passkey.passwordRequired': 'Twoje aktualne hasło jest wymagane.',
'settings.passkey.namePlaceholder': 'Nazwa (opcjonalnie, np. "iPhone")',
'settings.passkey.addedToast': 'Klucz dostępu został dodany',
'settings.passkey.added': 'Dodano',
'settings.passkey.addError': 'Nie udało się dodać klucza dostępu',
'settings.passkey.cancelled': 'Konfiguracja klucza dostępu anulowana',
'settings.passkey.deleted': 'Klucz dostępu został usunięty',
'settings.passkey.deleteConfirm':
'Usunąć ten klucz dostępu? Potwierdź swoim hasłem.',
'settings.passkey.rename': 'Zmień nazwę',
'settings.passkey.defaultName': 'Klucz dostępu',
'settings.passkey.synced': 'Zsynchronizowany',
'settings.passkey.deviceBound': 'To urządzenie',
'settings.passkey.lastUsed': 'Ostatnio użyty',
'settings.passkey.neverUsed': 'Nigdy nieużywany',
};
export default settings;
+19
View File
@@ -366,5 +366,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Путешествие',
'admin.addons.catalog.journey.description':
'Отслеживание поездок и дневник путешествий с отметками, фото и ежедневными историями',
'admin.passkey.title': 'Вход по passkey',
'admin.passkey.cardHint':
'Разрешите пользователям входить с помощью passkeys (WebAuthn). По умолчанию выключено.',
'admin.passkey.login': 'Включить вход по passkey',
'admin.passkey.loginHint':
'Показывать вариант «Войти с помощью passkey» и разрешить пользователям регистрировать passkeys в своих настройках.',
'admin.passkey.notConfigured':
'Для этого развёртывания пока не определён домен WebAuthn. Задайте APP_URL или Relying Party ID ниже — до этого passkeys остаются скрытыми.',
'admin.passkey.rpId': 'Relying Party ID (домен)',
'admin.passkey.rpIdHint':
'Голый домен, к которому привязаны passkeys, напр. trek.example.org. Оставьте пустым, чтобы определить его из APP_URL. Последующее изменение делает существующие passkeys недействительными.',
'admin.passkey.origins': 'Разрешённые источники',
'admin.passkey.originsHint':
'Полные источники через запятую, напр. https://trek.example.org. Оставьте пустым, чтобы использовать APP_URL.',
'admin.passkey.reset': 'Сбросить passkeys',
'admin.passkey.resetHint':
'Удалить все passkeys этого пользователя (напр. при потере устройства). Он по-прежнему сможет войти по паролю.',
'admin.passkey.resetConfirm': 'Удалить все passkeys пользователя {name}?',
'admin.passkey.resetDone': 'Удалено passkeys: {count}',
};
export default admin;
+2
View File
@@ -93,5 +93,7 @@ const login: TranslationStrings = {
'login.oidcLoggedOut':
'Вы вышли из системы. Войдите снова через вашего провайдера SSO.',
'login.demoHint': 'Попробуйте демо — регистрация не требуется',
'login.passkey.signIn': 'Войти с помощью passkey',
'login.passkey.failed': 'Не удалось войти с помощью passkey. Попробуйте ещё раз.',
};
export default login;
+23
View File
@@ -297,6 +297,29 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Входите быстрее и с защитой от фишинга с помощью passkey — отпечатка пальца, лица, PIN-кода или аппаратного ключа. Ваш пароль остаётся как резервный способ.',
'settings.passkey.notConfigured':
'Passkeys включены, но ещё не полностью настроены на этом сервере. Попросите администратора задать домен WebAuthn.',
'settings.passkey.add': 'Добавить passkey',
'settings.passkey.addTitle': 'Добавить passkey',
'settings.passkey.passwordPrompt':
'Подтвердите текущий пароль, затем следуйте подсказке на устройстве.',
'settings.passkey.passwordRequired': 'Требуется ваш текущий пароль.',
'settings.passkey.namePlaceholder': 'Название (необязательно, напр. "iPhone")',
'settings.passkey.addedToast': 'Passkey добавлен',
'settings.passkey.added': 'Добавлен',
'settings.passkey.addError': 'Не удалось добавить passkey',
'settings.passkey.cancelled': 'Настройка passkey отменена',
'settings.passkey.deleted': 'Passkey удалён',
'settings.passkey.deleteConfirm': 'Удалить этот passkey? Подтвердите паролем.',
'settings.passkey.rename': 'Переименовать',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Синхронизирован',
'settings.passkey.deviceBound': 'Это устройство',
'settings.passkey.lastUsed': 'Последнее использование',
'settings.passkey.neverUsed': 'Не использовался',
};
export default settings;
+19
View File
@@ -363,5 +363,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Seyahat',
'admin.addons.catalog.journey.description':
'Check-in, fotoğraf ve günlük hikâyelerle seyahat takibi ve seyahat günlüğü',
'admin.passkey.title': 'Passkey ile oturum açma',
'admin.passkey.cardHint':
'Kullanıcıların passkey (WebAuthn) ile oturum açmasına izin verin. Varsayılan olarak kapalı.',
'admin.passkey.login': 'Passkey ile oturum açmayı etkinleştir',
'admin.passkey.loginHint':
'Bir "Passkey ile oturum açın" seçeneği gösterin ve kullanıcıların ayarlarında passkey kaydetmesine izin verin.',
'admin.passkey.notConfigured':
'Bu dağıtım için henüz çözümlenen bir WebAuthn alan adı yok. Aşağıdan APP_URL veya Relying Party ID değerini ayarlayın — o ana kadar passkeyler gizli kalır.',
'admin.passkey.rpId': 'Relying Party ID (alan adı)',
'admin.passkey.rpIdHint':
'Passkeylerin bağlı olduğu yalın alan adı, ör. trek.example.org. APP_URLden türetmek için boş bırakın. Daha sonra değiştirmek mevcut passkeyleri geçersiz kılar.',
'admin.passkey.origins': 'İzin verilen kaynaklar',
'admin.passkey.originsHint':
'Virgülle ayrılmış tam kaynaklar, ör. https://trek.example.org. APP_URL kullanmak için boş bırakın.',
'admin.passkey.reset': 'Passkeyleri sıfırla',
'admin.passkey.resetHint':
'Bu kullanıcının tüm passkeylerini kaldırın (ör. kaybolan bir cihazda). Yine de şifreleriyle oturum açabilirler.',
'admin.passkey.resetConfirm': '{name} için tüm passkeyler kaldırılsın mı?',
'admin.passkey.resetDone': '{count} passkey kaldırıldı',
};
export default admin;
+3
View File
@@ -96,5 +96,8 @@ const login: TranslationStrings = {
'Bu bağlantı eksik veya bozuk. Devam etmek için yeni bir tane isteyin.',
'login.resetPasswordFailed':
'Sıfırlama başarısız oldu. Bağlantının süresi dolmuş olabilir.',
'login.passkey.signIn': 'Passkey ile oturum açın',
'login.passkey.failed':
'Passkey ile oturum açma başarısız oldu. Lütfen tekrar deneyin.',
};
export default login;
+24
View File
@@ -297,6 +297,30 @@ const settings: TranslationStrings = {
'settings.oauth.badge.machine': 'makine',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeyler',
'settings.passkey.description':
'Passkey ile daha hızlı ve kimlik avına dayanıklı şekilde oturum açın — parmak iziniz, yüzünüz, PINiniz veya bir donanım anahtarı. Şifreniz yedek olarak kalır.',
'settings.passkey.notConfigured':
'Passkeyler etkin ancak bu sunucuda henüz tam olarak yapılandırılmadı. WebAuthn alan adını ayarlaması için yöneticinize başvurun.',
'settings.passkey.add': 'Passkey ekle',
'settings.passkey.addTitle': 'Passkey ekle',
'settings.passkey.passwordPrompt':
'Mevcut şifrenizi onaylayın, ardından cihazınızın istemini izleyin.',
'settings.passkey.passwordRequired': 'Mevcut şifreniz gerekli.',
'settings.passkey.namePlaceholder': 'Ad (isteğe bağlı, ör. "iPhone")',
'settings.passkey.addedToast': 'Passkey eklendi',
'settings.passkey.added': 'Eklendi',
'settings.passkey.addError': 'Passkey eklenemedi',
'settings.passkey.cancelled': 'Passkey kurulumu iptal edildi',
'settings.passkey.deleted': 'Passkey kaldırıldı',
'settings.passkey.deleteConfirm':
'Bu passkey kaldırılsın mı? Şifrenizle onaylayın.',
'settings.passkey.rename': 'Yeniden adlandır',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Senkronize edildi',
'settings.passkey.deviceBound': 'Bu cihaz',
'settings.passkey.lastUsed': 'Son kullanım',
'settings.passkey.neverUsed': 'Hiç kullanılmadı',
};
export default settings;
+19
View File
@@ -370,5 +370,24 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': 'Journey',
'admin.addons.catalog.journey.description':
'Відстеження поїздок і щоденник подорожей з позначками, фото та щоденними історіями',
'admin.passkey.title': 'Вхід за допомогою passkey',
'admin.passkey.cardHint':
'Дозволити користувачам входити за допомогою passkey (WebAuthn). За замовчуванням вимкнено.',
'admin.passkey.login': 'Увімкнути вхід за допомогою passkey',
'admin.passkey.loginHint':
'Показувати опцію «Увійти за допомогою passkey» та дозволити користувачам реєструвати passkeys у своїх налаштуваннях.',
'admin.passkey.notConfigured':
'Для цього розгортання поки не визначено жодного домену WebAuthn. Вкажіть APP_URL або Relying Party ID нижче — до того часу passkeys залишатимуться прихованими.',
'admin.passkey.rpId': 'Relying Party ID (домен)',
'admin.passkey.rpIdHint':
'Чистий домен, до якого прив’язані passkeys, напр. trek.example.org. Залиште порожнім, щоб визначити його з APP_URL. Подальша зміна робить наявні passkeys недійсними.',
'admin.passkey.origins': 'Дозволені джерела (origins)',
'admin.passkey.originsHint':
'Повні джерела через кому, напр. https://trek.example.org. Залиште порожнім, щоб використати APP_URL.',
'admin.passkey.reset': 'Скинути passkeys',
'admin.passkey.resetHint':
'Видалити всі passkeys цього користувача (напр. у разі втрати пристрою). Він зможе входити за допомогою свого пароля.',
'admin.passkey.resetConfirm': 'Видалити всі passkeys для {name}?',
'admin.passkey.resetDone': 'Видалено passkeys: {count}',
};
export default admin;
+2
View File
@@ -94,5 +94,7 @@ const login: TranslationStrings = {
'login.oidcLoggedOut':
'Ви вийшли з системи. Увійдіть знову через вашого SSO-провайдера.',
'login.demoHint': 'Спробуйте демо — реєстрація не потрібна',
'login.passkey.signIn': 'Увійти за допомогою passkey',
'login.passkey.failed': 'Не вдалося увійти за допомогою passkey. Спробуйте ще раз.',
};
export default login;
+24
View File
@@ -295,6 +295,30 @@ const settings: TranslationStrings = {
'settings.oauth.badge.machine': 'машина',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkeys',
'settings.passkey.description':
'Входьте швидше та з захистом від фішингу за допомогою passkey — відбитка пальця, обличчя, PIN-коду або апаратного ключа. Ваш пароль залишається як резервний варіант.',
'settings.passkey.notConfigured':
'Passkeys увімкнено, але цей сервер ще не повністю налаштовано. Попросіть адміністратора вказати домен WebAuthn.',
'settings.passkey.add': 'Додати passkey',
'settings.passkey.addTitle': 'Додати passkey',
'settings.passkey.passwordPrompt':
'Підтвердіть поточний пароль, а потім дотримуйтесь підказок на вашому пристрої.',
'settings.passkey.passwordRequired': 'Потрібен ваш поточний пароль.',
'settings.passkey.namePlaceholder': 'Назва (необов’язково, напр. "iPhone")',
'settings.passkey.addedToast': 'Passkey додано',
'settings.passkey.added': 'Додано',
'settings.passkey.addError': 'Не вдалося додати passkey',
'settings.passkey.cancelled': 'Налаштування passkey скасовано',
'settings.passkey.deleted': 'Passkey видалено',
'settings.passkey.deleteConfirm':
'Видалити цей passkey? Підтвердіть паролем.',
'settings.passkey.rename': 'Перейменувати',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': 'Синхронізовано',
'settings.passkey.deviceBound': 'Цей пристрій',
'settings.passkey.lastUsed': 'Останнє використання',
'settings.passkey.neverUsed': 'Не використовувався',
};
export default settings;
+18
View File
@@ -327,5 +327,23 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': '旅程',
'admin.addons.catalog.journey.description':
'旅行追蹤與旅行日誌,包含打卡、照片和每日故事',
'admin.passkey.title': 'Passkey 登入',
'admin.passkey.cardHint': '讓使用者使用 PasskeyWebAuthn)登入。預設為關閉。',
'admin.passkey.login': '啟用 Passkey 登入',
'admin.passkey.loginHint':
'顯示「使用 Passkey 登入」選項,並讓使用者在設定中註冊 Passkey。',
'admin.passkey.notConfigured':
'此部署尚未解析出任何 WebAuthn 網域。請設定下方的 APP_URL 或 Relying Party ID——在此之前 Passkey 將保持隱藏。',
'admin.passkey.rpId': 'Relying Party ID(網域)',
'admin.passkey.rpIdHint':
'Passkey 綁定的純網域,例如 trek.example.org。留空則從 APP_URL 推導。日後變更將使現有 Passkey 失效。',
'admin.passkey.origins': '允許的來源',
'admin.passkey.originsHint':
'以逗號分隔的完整來源,例如 https://trek.example.org。留空則使用 APP_URL。',
'admin.passkey.reset': '重設 Passkey',
'admin.passkey.resetHint':
'移除此使用者的所有 Passkey(例如裝置遺失時)。他們仍可使用密碼登入。',
'admin.passkey.resetConfirm': '要移除 {name} 的所有 Passkey 嗎?',
'admin.passkey.resetDone': '已移除 {count} 個 Passkey',
};
export default admin;
+2
View File
@@ -84,5 +84,7 @@ const login: TranslationStrings = {
'login.oidcOnly': '密碼登入已關閉。請透過 SSO 提供商登入。',
'login.oidcLoggedOut': '您已登出。請重新透過 SSO 提供商登入。',
'login.demoHint': '試用演示——無需註冊',
'login.passkey.signIn': '使用 Passkey 登入',
'login.passkey.failed': 'Passkey 登入失敗,請重試。',
};
export default login;
+22
View File
@@ -284,6 +284,28 @@ const settings: TranslationStrings = {
'在地圖上顯示車站 / 機場名稱。關閉時僅顯示圖示。',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': 'Passkey',
'settings.passkey.description':
'使用 Passkey 更快登入,並可抵禦網路釣魚——透過你的指紋、臉部、PIN 碼或硬體金鑰。你的密碼仍會保留作為備援。',
'settings.passkey.notConfigured':
'Passkey 已啟用,但此伺服器尚未完成設定。請聯絡管理員設定 WebAuthn 網域。',
'settings.passkey.add': '新增 Passkey',
'settings.passkey.addTitle': '新增 Passkey',
'settings.passkey.passwordPrompt': '請確認你目前的密碼,然後依照裝置提示操作。',
'settings.passkey.passwordRequired': '請輸入你目前的密碼。',
'settings.passkey.namePlaceholder': '名稱(選填,例如 "iPhone"',
'settings.passkey.addedToast': 'Passkey 已新增',
'settings.passkey.added': '已新增',
'settings.passkey.addError': '無法新增 Passkey',
'settings.passkey.cancelled': 'Passkey 設定已取消',
'settings.passkey.deleted': 'Passkey 已移除',
'settings.passkey.deleteConfirm': '要移除此 Passkey 嗎?請以密碼確認。',
'settings.passkey.rename': '重新命名',
'settings.passkey.defaultName': 'Passkey',
'settings.passkey.synced': '已同步',
'settings.passkey.deviceBound': '此裝置',
'settings.passkey.lastUsed': '上次使用',
'settings.passkey.neverUsed': '從未使用',
};
export default settings;
+18
View File
@@ -326,5 +326,23 @@ const admin: TranslationStrings = {
'admin.addons.catalog.journey.name': '旅程',
'admin.addons.catalog.journey.description':
'旅行追踪与旅行日志,包含签到、照片和每日故事',
'admin.passkey.title': '通行密钥登录',
'admin.passkey.cardHint': '允许用户使用通行密钥(WebAuthn)登录。默认关闭。',
'admin.passkey.login': '启用通行密钥登录',
'admin.passkey.loginHint':
'显示"使用通行密钥登录"选项,并允许用户在其设置中注册通行密钥。',
'admin.passkey.notConfigured':
'此部署尚未解析出有效的 WebAuthn 域名。请设置 APP_URL 或下方的 Relying Party ID——在此之前通行密钥将保持隐藏。',
'admin.passkey.rpId': 'Relying Party ID(域名)',
'admin.passkey.rpIdHint':
'通行密钥所绑定的纯域名,如 trek.example.org。留空则从 APP_URL 推导。之后更改将使现有通行密钥失效。',
'admin.passkey.origins': '允许的来源',
'admin.passkey.originsHint':
'以逗号分隔的完整来源,如 https://trek.example.org。留空则使用 APP_URL。',
'admin.passkey.reset': '重置通行密钥',
'admin.passkey.resetHint':
'移除该用户的所有通行密钥(如设备丢失时)。他们仍可使用密码登录。',
'admin.passkey.resetConfirm': '移除 {name} 的所有通行密钥?',
'admin.passkey.resetDone': '已移除 {count} 个通行密钥',
};
export default admin;
+2
View File
@@ -83,5 +83,7 @@ const login: TranslationStrings = {
'login.oidcOnly': '密码登录已关闭。请通过 SSO 提供商登录。',
'login.oidcLoggedOut': '您已退出登录。请重新通过 SSO 提供商登录。',
'login.demoHint': '试用演示——无需注册',
'login.passkey.signIn': '使用通行密钥登录',
'login.passkey.failed': '通行密钥登录失败,请重试。',
};
export default login;
+22
View File
@@ -283,6 +283,28 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.ntfy': 'Ntfy',
"settings.currency": "Currency",
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
'settings.passkey.title': '通行密钥',
'settings.passkey.description':
'使用通行密钥更快登录,并能抵御钓鱼攻击——通过指纹、面容、PIN 或硬件密钥验证。你的密码仍可作为备用方式。',
'settings.passkey.notConfigured':
'通行密钥已启用,但此服务器尚未完成完整配置。请联系管理员设置 WebAuthn 域名。',
'settings.passkey.add': '添加通行密钥',
'settings.passkey.addTitle': '添加通行密钥',
'settings.passkey.passwordPrompt': '确认你的当前密码,然后按照设备提示操作。',
'settings.passkey.passwordRequired': '需要输入你的当前密码。',
'settings.passkey.namePlaceholder': '名称(可选,如 "iPhone"',
'settings.passkey.addedToast': '通行密钥已添加',
'settings.passkey.added': '已添加',
'settings.passkey.addError': '无法添加通行密钥',
'settings.passkey.cancelled': '已取消通行密钥设置',
'settings.passkey.deleted': '通行密钥已移除',
'settings.passkey.deleteConfirm': '移除此通行密钥?请输入密码确认。',
'settings.passkey.rename': '重命名',
'settings.passkey.defaultName': '通行密钥',
'settings.passkey.synced': '已同步',
'settings.passkey.deviceBound': '此设备',
'settings.passkey.lastUsed': '上次使用',
'settings.passkey.neverUsed': '从未使用',
};
export default settings;