Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion docs/content/docs/advanced/localization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ icon: Languages

You can fully customize the text strings displayed across all `@daveyplate/better-auth-ui` components through the provided `localization` prop. The library ships with a full default localization object [`AuthLocalization`](/api-reference/auth-localization), but you can override any of these defaults easily with custom strings.

## Using Pre-built Localizations

Better Auth UI provides several pre-built localizations for common languages. These localizations are available in our [GitHub repository](https://github.com/daveyplate/better-auth-ui/tree/main/docs/content/docs/localizations) for you to copy and use in your project.

## Modifying Strings

To modify default strings, you need to provide your custom localization object within your `<AuthUIProvider>` or individual components.
Expand Down Expand Up @@ -76,4 +80,4 @@ export default function AuthPage({ params }: { params: { pathname: string } }) {
}
```

You can find all available strings to override in the [`AuthLocalization`](/api-reference/auth-localization) reference.
You can find all available strings to override in the [`AuthLocalization`](/api-reference/auth-localization) reference.
154 changes: 154 additions & 0 deletions docs/content/docs/localizations/dutch.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
// Replace with "@daveyplate/better-auth-ui" import
import { type AuthLocalization } from "../../../../src/lib/auth-localization"

export const dutchLocalization: AuthLocalization = {
account: "Account",
accounts: "Accounts",
accountsDescription: "Beheer uw momenteel aangemelde accounts.",
accountsInstructions: "Log in op een extra account.",
addAccount: "Account toevoegen",
addPasskey: "Passkey toevoegen",
alreadyHaveAnAccount: "Heeft u al een account?",
avatar: "Avatar",
avatarDescription: "Klik op de avatar om een aangepaste avatar te uploaden uit uw bestanden.",
avatarInstructions: "Een avatar is optioneel, maar sterk aanbevolen.",
backupCodeRequired: "Backup-code is vereist",
backupCodes: "Backup-codes",
backupCodesDescription: "Bewaar deze backup-codes op een veilige plaats. U kunt ze gebruiken om toegang te krijgen tot uw account als u uw tweefactorauthenticatiemethode verliest.",
backupCodePlaceholder: "Backup-code",
backupCode: "Backup-code",
backupCodeAction: "Account herstellen",
cancel: "Annuleren",
changePassword: "Wachtwoord wijzigen",
changePasswordDescription: "Voer uw huidige wachtwoord en een nieuw wachtwoord in.",
changePasswordInstructions: "Gebruik alstublieft minimaal 8 tekens.",
changePasswordSuccess: "Uw wachtwoord is gewijzigd.",
confirmPassword: "Wachtwoord bevestigen",
confirmPasswordPlaceholder: "Wachtwoord bevestigen",
confirmPasswordRequired: "Wachtwoordbevestiging is vereist",
continueWithAuthenticator: "Doorgaan met authenticator",
copiedToClipboard: "Gekopieerd naar klembord",
copyAllCodes: "Alle codes kopiëren",
continue: "Doorgaan",
currentPassword: "Huidig wachtwoord",
currentPasswordPlaceholder: "Huidig wachtwoord",
currentSession: "Huidige sessie",
delete: "Verwijderen",
deleteAvatar: "Avatar verwijderen",
deleteAccount: "Account verwijderen",
deleteAccountDescription: "Verwijder uw account en alle inhoud permanent. Deze actie kan niet ongedaan worden gemaakt, ga dus voorzichtig verder.",
deleteAccountInstructions: "Bevestig het verwijderen van uw account. Deze actie kan niet ongedaan worden gemaakt, ga dus voorzichtig verder.",
deleteAccountVerify: "Controleer uw e-mail om de verwijdering van uw account te bevestigen.",
deleteAccountSuccess: "Uw account is verwijderd.",
deleteAccountNotFresh: "U moet recentelijk zijn ingelogd om uw account te verwijderen.",
disable: "Uitschakelen",
disabledCredentialsDescription: "Kies een provider om in te loggen op uw account",
dontHaveAnAccount: "Heeft u geen account?",
email: "E-mail",
emailDescription: "Voer het e-mailadres in dat u wilt gebruiken om in te loggen.",
emailInstructions: "Voer een geldig e-mailadres in.",
emailInvalid: "E-mailadres is ongeldig",
emailIsTheSame: "E-mail is hetzelfde",
emailPlaceholder: "[email protected]",
emailRequired: "E-mailadres is vereist",
emailVerifyChange: "Controleer uw e-mail om de wijziging te bevestigen.",
emailVerification: "Controleer uw e-mail voor de bevestigingslink.",
enable: "Inschakelen",
error: "Fout",
isInvalid: "is ongeldig",
isRequired: "is vereist",
isTheSame: "is hetzelfde",
forgotAuthenticator: "Authenticator vergeten?",
forgotPassword: "Wachtwoord vergeten",
forgotPasswordAction: "Reset-link versturen",
forgotPasswordDescription: "Voer uw e-mail in om uw wachtwoord te resetten",
forgotPasswordEmail: "Controleer uw e-mail voor de link om het wachtwoord te resetten.",
forgotPasswordLink: "Wachtwoord vergeten?",
invalidTwoFactorCookie: "Ongeldig tweefactorcookie",
link: "Koppelen",
magicLink: "Magische link",
magicLinkAction: "Magische link versturen",
magicLinkDescription: "Voer uw e-mail in om een magische link te ontvangen",
magicLinkEmail: "Controleer uw e-mail voor de magische link",
emailOTP: "E-mail-code",
emailOTPSendAction: "Code versturen",
emailOTPVerifyAction: "Code verifiëren",
emailOTPDescription: "Voer uw e-mail in om een code te ontvangen",
emailOTPVerificationSent: "Controleer uw e-mail voor de bevestigingscode.",
name: "Naam",
nameDescription: "Voer uw volledige naam of een weergavenaam in.",
nameInstructions: "Gebruik maximaal 32 tekens.",
namePlaceholder: "Naam",
newPassword: "Nieuw wachtwoord",
newPasswordPlaceholder: "Nieuw wachtwoord",
newPasswordRequired: "Nieuw wachtwoord is vereist",
oneTimePassword: "Eenmalig wachtwoord",
orContinueWith: "Of doorgaan met",
passkey: "Passkey",
passkeys: "Passkeys",
passkeysDescription: "Beheer uw passkeys voor veilig inloggen.",
passkeysInstructions: "Krijg veilig toegang tot uw account zonder een wachtwoord te gebruiken.",
password: "Wachtwoord",
passwordPlaceholder: "Wachtwoord",
passwordRequired: "Wachtwoord is vereist",
passwordsDoNotMatch: "Wachtwoorden komen niet overeen",
providers: "Providers",
providersDescription: "Verbind uw account met een dienst van derden.",
recoverAccount: "Account herstellen",
recoverAccountAction: "Account herstellen",
recoverAccountDescription: "Voer een backup-code in om toegang te krijgen tot uw account",
rememberMe: "Onthoud mij",
resendCode: "Code opnieuw versturen",
resendVerificationEmail: "Verificatie-e-mail opnieuw versturen",
resetPassword: "Wachtwoord resetten",
resetPasswordAction: "Nieuw wachtwoord opslaan",
resetPasswordDescription: "Voer hieronder uw nieuwe wachtwoord in",
resetPasswordInvalidToken: "Ongeldige link om wachtwoord te resetten",
resetPasswordSuccess: "Wachtwoord succesvol gereset",
requestFailed: "Verzoek mislukt",
revoke: "Intrekken",
signIn: "Inloggen",
signInAction: "Inloggen",
signInDescription: "Voer hieronder uw e-mail in om in te loggen op uw account",
signInUsernameDescription: "Voer uw gebruikersnaam of e-mail in om in te loggen op uw account",
signInWith: "Inloggen met",
signOut: "Uitloggen",
signUp: "Registreren",
signUpAction: "Account aanmaken",
signUpDescription: "Voer uw gegevens in om een account aan te maken",
signUpEmail: "Controleer uw e-mail voor de bevestigingslink.",
sessions: "Sessies",
sessionsDescription: "Beheer uw actieve sessies en trek toegang in.",
setPassword: "Wachtwoord instellen",
setPasswordDescription: "Klik op de knop hieronder om een e-mail te ontvangen om een wachtwoord in te stellen voor uw account.",
settings: "Instellingen",
save: "Opslaan",
security: "Beveiliging",
switchAccount: "Account wisselen",
trustDevice: "Dit apparaat vertrouwen",
twoFactor: "Twee-factor",
twoFactorAction: "Code verifiëren",
twoFactorDescription: "Voer uw eenmalige wachtwoord in om door te gaan",
twoFactorCardDescription: "Voeg een extra beveiligingslaag toe aan uw account.",
twoFactorDisableInstructions: "Voer uw wachtwoord in om 2FA uit te schakelen.",
twoFactorEnableInstructions: "Voer uw wachtwoord in om 2FA in te schakelen",
twoFactorEnabled: "Tweefactorauthenticatie is ingeschakeld",
twoFactorDisabled: "Tweefactorauthenticatie is uitgeschakeld",
twoFactorPrompt: "Tweefactorauthenticatie",
twoFactorTotpLabel: "Scan de QR-code met uw authenticator",
sendVerificationCode: "Verificatiecode versturen",
unlink: "Ontkoppelen",
updatedSuccessfully: "succesvol bijgewerkt",
username: "Gebruikersnaam",
usernameDescription: "Voer de gebruikersnaam in die u wilt gebruiken om in te loggen.",
usernameInstructions: "Gebruik maximaal 32 tekens.",
usernamePlaceholder: "Gebruikersnaam",
signInUsernamePlaceholder: "Gebruikersnaam of e-mail",
verifyYourEmail: "Verifieer uw e-mail",
verifyYourEmailDescription: "Verifieer uw e-mailadres. Controleer uw inbox voor de bevestigingse-mail. Als u de e-mail niet heeft ontvangen, klik dan op de knop hieronder om deze opnieuw te versturen.",
goBack: "Terug",
invalidPassword: "Ongeldig wachtwoord",
invalidEmailOrPassword: "Ongeldige e-mail of wachtwoord",
passwordTooShort: "Wachtwoord te kort",
uploadAvatar: "Avatar uploaden"
}
154 changes: 154 additions & 0 deletions docs/content/docs/localizations/french.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
// Replace with "@daveyplate/better-auth-ui" import
import { type AuthLocalization } from "../../../../src/lib/auth-localization"

export const frenchLocalization: AuthLocalization = {
account: "Compte",
accounts: "Comptes",
accountsDescription: "Gérez vos comptes actuellement connectés.",
accountsInstructions: "Connectez-vous à un compte supplémentaire.",
addAccount: "Ajouter un compte",
addPasskey: "Ajouter une clé d'accès",
alreadyHaveAnAccount: "Vous avez déjà un compte ?",
avatar: "Avatar",
avatarDescription: "Cliquez sur l'avatar pour télécharger un avatar personnalisé depuis vos fichiers.",
avatarInstructions: "Un avatar est facultatif mais fortement recommandé.",
backupCodeRequired: "Le code de secours est requis",
backupCodes: "Codes de secours",
backupCodesDescription: "Sauvegardez ces codes de secours dans un endroit sûr. Vous pouvez les utiliser pour accéder à votre compte si vous perdez votre méthode d'authentification à deux facteurs.",
backupCodePlaceholder: "Code de secours",
backupCode: "Code de secours",
backupCodeAction: "Récupérer le compte",
cancel: "Annuler",
changePassword: "Changer le mot de passe",
changePasswordDescription: "Entrez votre mot de passe actuel et un nouveau mot de passe.",
changePasswordInstructions: "Veuillez utiliser au moins 8 caractères.",
changePasswordSuccess: "Votre mot de passe a été changé.",
confirmPassword: "Confirmer le mot de passe",
confirmPasswordPlaceholder: "Confirmer le mot de passe",
confirmPasswordRequired: "La confirmation du mot de passe est requise",
continueWithAuthenticator: "Continuer avec l'authentificateur",
copiedToClipboard: "Copié dans le presse-papiers",
copyAllCodes: "Copier tous les codes",
continue: "Continuer",
currentPassword: "Mot de passe actuel",
currentPasswordPlaceholder: "Mot de passe actuel",
currentSession: "Session actuelle",
delete: "Supprimer",
deleteAvatar: "Supprimer l'avatar",
deleteAccount: "Supprimer le compte",
deleteAccountDescription: "Supprimez définitivement votre compte et tout son contenu. Cette action n'est pas réversible, veuillez donc continuer avec prudence.",
deleteAccountInstructions: "Veuillez confirmer la suppression de votre compte. Cette action n'est pas réversible, veuillez donc continuer avec prudence.",
deleteAccountVerify: "Veuillez vérifier votre e-mail pour confirmer la suppression de votre compte.",
deleteAccountSuccess: "Votre compte a été supprimé.",
deleteAccountNotFresh: "Vous devez être récemment connecté pour supprimer votre compte.",
disable: "Désactiver",
disabledCredentialsDescription: "Choisissez un fournisseur pour vous connecter à votre compte",
dontHaveAnAccount: "Vous n'avez pas de compte ?",
email: "E-mail",
emailDescription: "Entrez l'adresse e-mail que vous souhaitez utiliser pour vous connecter.",
emailInstructions: "Veuillez entrer une adresse e-mail valide.",
emailInvalid: "L'adresse e-mail n'est pas valide",
emailIsTheSame: "L'e-mail est le même",
emailPlaceholder: "[email protected]",
emailRequired: "L'adresse e-mail est requise",
emailVerifyChange: "Veuillez vérifier votre e-mail pour confirmer le changement.",
emailVerification: "Veuillez vérifier votre e-mail pour le lien de vérification.",
enable: "Activer",
error: "Erreur",
isInvalid: "n'est pas valide",
isRequired: "est requis",
isTheSame: "est le même",
forgotAuthenticator: "Oublié l'authentificateur ?",
forgotPassword: "Mot de passe oublié",
forgotPasswordAction: "Envoyer le lien de réinitialisation",
forgotPasswordDescription: "Entrez votre e-mail pour réinitialiser votre mot de passe",
forgotPasswordEmail: "Vérifiez votre e-mail pour le lien de réinitialisation du mot de passe.",
forgotPasswordLink: "Mot de passe oublié ?",
invalidTwoFactorCookie: "Cookie d'authentification à deux facteurs invalide",
link: "Lier",
magicLink: "Lien magique",
magicLinkAction: "Envoyer un lien magique",
magicLinkDescription: "Entrez votre e-mail pour recevoir un lien magique",
magicLinkEmail: "Vérifiez votre e-mail pour le lien magique",
emailOTP: "Code par e-mail",
emailOTPSendAction: "Envoyer le code",
emailOTPVerifyAction: "Vérifier le code",
emailOTPDescription: "Entrez votre e-mail pour recevoir un code",
emailOTPVerificationSent: "Veuillez vérifier votre e-mail pour le code de vérification.",
name: "Nom",
nameDescription: "Veuillez entrer votre nom complet ou un nom d'affichage.",
nameInstructions: "Veuillez utiliser 32 caractères maximum.",
namePlaceholder: "Nom",
newPassword: "Nouveau mot de passe",
newPasswordPlaceholder: "Nouveau mot de passe",
newPasswordRequired: "Un nouveau mot de passe est requis",
oneTimePassword: "Mot de passe à usage unique",
orContinueWith: "Ou continuer avec",
passkey: "Clé d'accès",
passkeys: "Clés d'accès",
passkeysDescription: "Gérez vos clés d'accès pour un accès sécurisé.",
passkeysInstructions: "Accédez à votre compte en toute sécurité sans mot de passe.",
password: "Mot de passe",
passwordPlaceholder: "Mot de passe",
passwordRequired: "Le mot de passe est requis",
passwordsDoNotMatch: "Les mots de passe ne correspondent pas",
providers: "Fournisseurs",
providersDescription: "Connectez votre compte avec un service tiers.",
recoverAccount: "Récupérer le compte",
recoverAccountAction: "Récupérer le compte",
recoverAccountDescription: "Veuillez entrer un code de secours pour accéder à votre compte",
rememberMe: "Se souvenir de moi",
resendCode: "Renvoyer le code",
resendVerificationEmail: "Renvoyer l'e-mail de vérification",
resetPassword: "Réinitialiser le mot de passe",
resetPasswordAction: "Enregistrer le nouveau mot de passe",
resetPasswordDescription: "Entrez votre nouveau mot de passe ci-dessous",
resetPasswordInvalidToken: "Lien de réinitialisation de mot de passe invalide",
resetPasswordSuccess: "Mot de passe réinitialisé avec succès",
requestFailed: "La demande a échoué",
revoke: "Révoquer",
signIn: "Se connecter",
signInAction: "Connexion",
signInDescription: "Entrez votre e-mail ci-dessous pour vous connecter à votre compte",
signInUsernameDescription: "Entrez votre nom d'utilisateur ou e-mail pour vous connecter à votre compte",
signInWith: "Se connecter avec",
signOut: "Se déconnecter",
signUp: "S'inscrire",
signUpAction: "Créer un compte",
signUpDescription: "Entrez vos informations pour créer un compte",
signUpEmail: "Vérifiez votre e-mail pour le lien de vérification.",
sessions: "Sessions",
sessionsDescription: "Gérez vos sessions actives et révoquez l'accès.",
setPassword: "Définir le mot de passe",
setPasswordDescription: "Cliquez sur le bouton ci-dessous pour recevoir un e-mail pour définir un mot de passe pour votre compte.",
settings: "Paramètres",
save: "Enregistrer",
security: "Sécurité",
switchAccount: "Changer de compte",
trustDevice: "Faire confiance à cet appareil",
twoFactor: "Deux facteurs",
twoFactorAction: "Vérifier le code",
twoFactorDescription: "Veuillez entrer votre mot de passe à usage unique pour continuer",
twoFactorCardDescription: "Ajoutez une couche de sécurité supplémentaire à votre compte.",
twoFactorDisableInstructions: "Veuillez entrer votre mot de passe pour désactiver l'A2F.",
twoFactorEnableInstructions: "Veuillez entrer votre mot de passe pour activer l'A2F",
twoFactorEnabled: "L'authentification à deux facteurs a été activée",
twoFactorDisabled: "L'authentification à deux facteurs a été désactivée",
twoFactorPrompt: "Authentification à deux facteurs",
twoFactorTotpLabel: "Scannez le code QR avec votre authentificateur",
sendVerificationCode: "Envoyer le code de vérification",
unlink: "Délier",
updatedSuccessfully: "mis à jour avec succès",
username: "Nom d'utilisateur",
usernameDescription: "Entrez le nom d'utilisateur que vous souhaitez utiliser pour vous connecter.",
usernameInstructions: "Veuillez utiliser 32 caractères maximum.",
usernamePlaceholder: "Nom d'utilisateur",
signInUsernamePlaceholder: "Nom d'utilisateur ou e-mail",
verifyYourEmail: "Vérifiez votre e-mail",
verifyYourEmailDescription: "Veuillez vérifier votre adresse e-mail. Vérifiez votre boîte de réception pour l'e-mail de vérification. Si vous n'avez pas reçu l'e-mail, cliquez sur le bouton ci-dessous pour le renvoyer.",
goBack: "Retour",
invalidPassword: "Mot de passe invalide",
invalidEmailOrPassword: "E-mail ou mot de passe invalide",
passwordTooShort: "Mot de passe trop court",
uploadAvatar: "Télécharger un avatar"
}
Loading