chore: Translate the strings missing from every locale
Thirty-three locales were short the same sixty-six keys and had been since 2.2.1. Fifty-six of them are the two-factor setup and the auto-logout preference; six are the two-factor challenge itself; the rest are the promo strings the banner rotates through. The six in `login.js` were the urgent ones. They render during sign-in, before `core.js` is fetched, so a user with two-factor enabled met the whole challenge in English — on the one screen they cannot get past without understanding it. Three of those six exist in `core.js` as well and now read identically in both files, which nothing checks and which two translators working from two files would otherwise have got subtly different. Plural forms follow each language rather than the English pair: Arabic carries all six CLDR categories with the agreement its counting requires, Czech, Polish, Russian, Slovak and Ukrainian four with the right case in each, and Chinese, Japanese, Korean, Vietnamese and Indonesian only `other`, since a `_one` variant would be a form i18next never reads. Every file is additions only — no existing line was moved, reworded or reformatted, so the diff shows what was missing and nothing else. Several existing mistranslations turned up along the way and were left alone; they are a separate concern from filling the gaps.
This commit is contained in:
@@ -96,6 +96,15 @@ export default {
|
||||
attachment: 'Pièce jointe',
|
||||
attachments: 'Pièces jointes',
|
||||
authentication: 'Authentification',
|
||||
autoLogout: 'Déconnexion automatique',
|
||||
autoLogout_10m: 'Après 10 minutes',
|
||||
autoLogout_12h: 'Après 12 heures',
|
||||
autoLogout_2m: 'Après 2 minutes',
|
||||
autoLogout_30m: 'Après 30 minutes',
|
||||
autoLogout_5m: 'Après 5 minutes',
|
||||
autoLogout_never: 'Jamais',
|
||||
autoLogoutWarning_body: "Vous serez déconnecté dans {{seconds}} s pour cause d'inactivité.",
|
||||
autoLogoutWarning_title: 'Vous allez bientôt être déconnecté',
|
||||
background: 'Arrière-plan',
|
||||
baseCustomFields_title: 'Champs personnalisés de base',
|
||||
baseGroup: 'Groupe de base',
|
||||
@@ -129,6 +138,8 @@ export default {
|
||||
closed: 'Fermé',
|
||||
color: 'Couleur',
|
||||
comments: 'Commentaires',
|
||||
confirmCodesSaved: "J'ai enregistré ces codes en lieu sûr.",
|
||||
confirmPassword: 'Confirmer le mot de passe',
|
||||
contentExceedsLimit: 'Le contenu dépasse la limite {{limit}}',
|
||||
contentOfThisAttachmentIsTooBigToDisplay:
|
||||
'Le contenu de cette pièce jointe est trop volumineux pour être affiché.',
|
||||
@@ -152,9 +163,61 @@ export default {
|
||||
proFeatureCalendar: '✨ Vue calendrier pour vos tableaux',
|
||||
proFeatureRecurringCards: '✨ Cartes récurrentes et automatisation',
|
||||
proFeatureGuestRoles: '✨ Rôles invités et collaboration externe',
|
||||
proFeatureDashboard: '✨ Un tableau de bord pour tous vos projets',
|
||||
proFeatureExport: '✨ Vos cartes en PDF pour vos rapports',
|
||||
proFeatureMobile: '✨ PLANKA sur mobile et tablette',
|
||||
proFeatureSso: "✨ Connexion avec l'annuaire de votre entreprise (SSO)",
|
||||
proFeatureThemes: "✨ Cinq thèmes et votre propre couleur d'accentuation",
|
||||
proFeatureTimeline: "✨ Timeline : toute l'année sur un seul axe",
|
||||
proTrialSelfHosted: '✨ Essayez PLANKA Pro 30 jours sur votre propre serveur',
|
||||
dismissProBannerFor30Days: 'Fermer pendant 30 jours',
|
||||
customerPanel_title: 'Panneau client',
|
||||
dangerZone_title: 'Zone dangereuse',
|
||||
disable2fa_title: "Désactiver l'authentification à deux facteurs",
|
||||
disable2faWarning:
|
||||
'Vous devrez confirmer votre mot de passe actuel et un code TOTP. Les sessions existantes restent connectées.',
|
||||
enable2fa_title: "Activer l'authentification à deux facteurs",
|
||||
enabledOn: 'Activée le {{date}}',
|
||||
enterCodeFromApp: "Saisissez le code à 6 chiffres de votre application d'authentification.",
|
||||
enterPasswordToContinue: 'Confirmez votre mot de passe actuel pour continuer.',
|
||||
enterTotpOrRecoveryCode:
|
||||
"Saisissez le code à 6 chiffres de votre application d'authentification ou l'un de vos codes de récupération (xxxxx-xxxxx).",
|
||||
expires: 'Expiration',
|
||||
invalidTotpCode: 'Code TOTP ou code de récupération invalide',
|
||||
lastUsed: 'Dernière utilisation',
|
||||
never: 'Jamais',
|
||||
noTrustedDevices: 'Aucun appareil de confiance.',
|
||||
orEnterSecretManually: 'Ou saisissez cette clé secrète manuellement :',
|
||||
recoveryCodesExhausted:
|
||||
"Tous les codes de récupération ont été utilisés. Générez-en de nouveaux pour conserver une solution de secours en cas de perte de votre application d'authentification.",
|
||||
recoveryCodesIntro:
|
||||
"Conservez ces codes en lieu sûr — chacun ne peut être utilisé qu'une seule fois si vous perdez l'accès à votre application d'authentification.",
|
||||
recoveryCodesLow_one:
|
||||
'Il ne reste que {{count}} code de récupération. Pensez à en générer de nouveaux prochainement.',
|
||||
recoveryCodesLow_many:
|
||||
'Il ne reste que {{count}} de codes de récupération. Pensez à en générer de nouveaux prochainement.',
|
||||
recoveryCodesLow_other:
|
||||
'Il ne reste que {{count}} codes de récupération. Pensez à en générer de nouveaux prochainement.',
|
||||
regenerateRecoveryCodes_title: 'Régénérer les codes de récupération',
|
||||
regenerateRecoveryCodesIntro:
|
||||
'La génération de nouveaux codes invalidera tous les codes de récupération existants.',
|
||||
reset2fa_title: 'Réinitialiser la 2FA',
|
||||
reset2faWarning:
|
||||
"La réinitialisation de la 2FA déconnecte l'utilisateur de toutes ses sessions et supprime sa configuration TOTP. Il devra la reconfigurer à sa prochaine connexion.",
|
||||
saveTheseCodes_title: 'Enregistrer ces codes de récupération',
|
||||
scanQrCodeWithApp:
|
||||
"Scannez ce code QR avec une application d'authentification telle que Google Authenticator ou Authy.",
|
||||
security_title: 'Sécurité',
|
||||
totpCode: 'Code TOTP',
|
||||
totpOrRecoveryCode: 'Code TOTP ou code de récupération',
|
||||
trustedDevices_title: 'Navigateurs de confiance',
|
||||
trustedDevicesHint:
|
||||
"Les navigateurs marqués comme fiables n'ont pas besoin du second facteur pendant 30 jours. Révoquez ceux que vous ne reconnaissez plus.",
|
||||
twoFactor_enabled: "L'authentification à deux facteurs est activée.",
|
||||
twoFactor_intro:
|
||||
"Ajoutez un niveau de sécurité supplémentaire à votre compte grâce à un code à usage unique basé sur le temps, fourni par une application d'authentification.",
|
||||
twoFactorAuthentication: 'Authentification à deux facteurs',
|
||||
unknownDevice: 'Appareil inconnu',
|
||||
date: 'Date',
|
||||
deactivateUser_title: 'Désactiver l’utilisateur',
|
||||
defaultCardType_title: 'Type de carte par défaut',
|
||||
@@ -410,8 +473,11 @@ export default {
|
||||
archiveCards: 'Archiver les cartes',
|
||||
archiveCards_title: 'Archiver les cartes',
|
||||
assignAsOwner: 'Assigner comme propriétaire',
|
||||
back: 'Retour',
|
||||
cancel: 'Annuler',
|
||||
changePassword: 'Changer le mot de passe',
|
||||
copy: 'Copier',
|
||||
copyAll: 'Tout copier',
|
||||
copyCard_title: 'Copier la carte',
|
||||
createApiKey: 'Créer une clé API',
|
||||
createBoard: 'Créer un tableau',
|
||||
@@ -451,7 +517,9 @@ export default {
|
||||
deleteUser: "Supprimer l'utilisateur",
|
||||
deleteUser_title: 'Supprimer l’utilisateur',
|
||||
deleteWebhook: 'Supprimer le webhook',
|
||||
disable2fa: 'Désactiver la 2FA',
|
||||
dismissAll: 'Tout rejeter',
|
||||
done: 'Terminé',
|
||||
download: 'Télécharger',
|
||||
duplicateCard_title: 'Dupliquer la carte',
|
||||
edit: 'Modifier',
|
||||
@@ -471,12 +539,14 @@ export default {
|
||||
editUsername_title: "Modifier le nom d'utilisateur",
|
||||
emptyTrash: 'Vider la corbeille',
|
||||
emptyTrash_title: 'Vider la corbeille',
|
||||
enable2fa: 'Activer la 2FA',
|
||||
import: 'Importer',
|
||||
join: 'Rejoindre',
|
||||
leave: 'Quitter',
|
||||
leaveBoard: 'Quitter le tableau',
|
||||
leaveProject: 'Quitter le projet',
|
||||
logOut_title: 'Se déconnecter',
|
||||
logOutNow: 'Se déconnecter maintenant',
|
||||
makeCover_title: 'Faire la couverture',
|
||||
makeProjectPrivate: 'Rendre le projet privé',
|
||||
makeProjectPrivate_title: 'Rendre le projet privé',
|
||||
@@ -485,7 +555,9 @@ export default {
|
||||
move: 'Déplacer',
|
||||
moveCard_title: 'Déplacer la carte',
|
||||
moveList_title: 'Déplacer la liste',
|
||||
regenerate: 'Régénérer',
|
||||
regenerateApiKey: 'Régénérer la clé API',
|
||||
regenerateRecoveryCodes: 'Régénérer les codes de récupération',
|
||||
remove: 'Supprimer',
|
||||
removeAssignee: 'Retirer le responsable',
|
||||
removeColor: 'Supprimer la couleur',
|
||||
@@ -494,8 +566,10 @@ export default {
|
||||
removeFromProject: 'Supprimer du projet',
|
||||
removeManager: 'Supprimer le responsable',
|
||||
removeMember: 'Supprimer le membre',
|
||||
reset2fa: 'Réinitialiser la 2FA',
|
||||
restoreToList: 'Restaurer dans {{list}}',
|
||||
returnToBoard: 'Retourner au tableau',
|
||||
revoke: 'Révoquer',
|
||||
save: 'Sauvegarder',
|
||||
sendTestEmail: 'Envoyer un e-mail de test',
|
||||
showActive: 'Voir les actifs',
|
||||
@@ -507,11 +581,13 @@ export default {
|
||||
showMore: 'Voir plus',
|
||||
sortList_title: 'Trier la liste',
|
||||
start: 'Commencer',
|
||||
stayLoggedIn: 'Rester connecté',
|
||||
stop: 'Arrêter',
|
||||
subscribe: "S'abonner",
|
||||
unsubscribe: 'Se désabonner',
|
||||
uploadNewAvatar: 'Télécharger un nouvel avatar',
|
||||
uploadNewImage: 'Télécharger une nouvelle image',
|
||||
verify: 'Vérifier',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user