feat: init translation

This commit is contained in:
2026-01-13 21:31:05 +01:00
parent 51c774a21e
commit 9170157dbb
51 changed files with 1818 additions and 1090 deletions

View File

@@ -0,0 +1,419 @@
{
"(optionnelle)": "(optional)",
"---SansClub---": "--- no club ---",
"---ToutLesClubs---": "--- all clubs ---",
"---ToutLesPays---": "--- all countries ---",
"---TouteLesCatégories---": "--- all categories ---",
"--NonLicencier--": "-- Unlicensed --",
"activer": "Activate",
"admin": "Administration",
"adresse": "Address",
"adresseAdministrative": "Administrative address",
"aff.ancienNom": "Former name: {{name}}",
"aff.byMembreSim": "By similar member",
"aff.byNewMenbre": "By new member",
"aff.byNoLicence": "By licence number",
"aff.info1": "This club has already been affiliated (affiliation no. {{no}})",
"aff.membreNo": "Member no. {{no}}",
"aff.nomDuClub": "Club name",
"aff.raisonDuRefus": "Reason for refusal",
"aff.raisonDuRefus.msg": "Please indicate the reason for refusal",
"aff.refusConfirm": "Are you sure you want to refuse this request?",
"aff.refuserLaDemande": "Refuse the request",
"aff.refuserLaDemande.detail": "Are you sure you want to refuse this request?",
"aff.submit.error1": "Please enter a valid licence number for member {{id}}",
"aff.submit.error2": "Please enter a valid licence number for member {{id}}",
"aff.submit.error3": "Please enter a valid email for member {{id}}",
"aff.toast.accept.error": "Failed to accept affiliation",
"aff.toast.accept.pending": "Accepting affiliation in progress",
"aff.toast.accept.success": "Affiliation accepted successfully 🎉",
"aff.toast.del.error": "Failed to delete affiliation request",
"aff.toast.del.pending": "Deleting affiliation request in progress",
"aff.toast.del.success": "Affiliation request deleted successfully 🎉",
"aff.toast.del2.error": "Failed to delete affiliation",
"aff.toast.del2.pending": "Deleting affiliation in progress",
"aff.toast.del2.success": "Affiliation deleted successfully 🎉",
"aff.toast.save.error": "Failed to save affiliation request",
"aff.toast.save.pending": "Saving affiliation request in progress",
"aff.toast.save.success": "Affiliation request saved successfully 🎉",
"aff.toast.save2.error": "Failed to save affiliation",
"aff.toast.save2.pending": "Saving affiliation in progress",
"aff.toast.save2.success": "Affiliation saved successfully 🎉",
"aff_req.appuyerSurRechercher": "Press search to complete",
"aff_req.association": "The association",
"aff_req.button.cancel": "Cancel my request",
"aff_req.button.confirm": "Confirm my affiliation request",
"aff_req.button.save": "Save changes",
"aff_req.denomination": "Denomination",
"aff_req.disposeLicence": "Already has a licence",
"aff_req.error1": "The role of member {{i}} is required",
"aff_req.error2": "The SIRET/RNA format is invalid",
"aff_req.nomDeLassociation": "Association name",
"aff_req.text1": "Affiliation is annual and valid for one sports season: from September 1st to August 31st of the following year.",
"aff_req.text2": "To affiliate, a sports association must meet the following conditions:",
"aff_req.text2.li": [
"Have its headquarters in France or the Principality of Monaco",
"Be constituted in accordance with Chapter 1 of Title II of Book 1 of the Sports Code",
"Pursue a social purpose that falls within the definition of Article 1 of the Federation's statutes",
"Have statutes compatible with the principles of organization and operation of the Federation",
"Ensure freedom of opinion and respect for the rights of the defense within it, and prohibit any discrimination",
"Comply with the rules of supervision, hygiene, and safety established by the Federation's regulations"
],
"aff_req.text3": "After your request is validated, you will receive a temporary ID and password to access your FFSAF space",
"aff_req.text4": "Note that to finalize your affiliation, you will need to:",
"aff_req.text4.li1": "Have at least three licensed members, including the president",
"aff_req.text4.li2": "Have paid the fees provided for by the federal regulations",
"aff_req.text5": "You can later add publicly visible addresses for your training locations",
"aff_req.text6": "Leave blank to make no changes. (If a coat of arms has already been sent with this request, it will be used; otherwise, we will use the one from the previous affiliation)",
"aff_req.text7": "Affiliation request sent successfully",
"aff_req.text8": "Once your request is validated, you will receive a temporary ID and password to access your FFSAF space",
"aff_req.toast.undo.error": "Failed to cancel affiliation request",
"aff_req.toast.undo.pending": "Cancelling affiliation request in progress",
"aff_req.toast.undo.success": "Affiliation request cancelled successfully 🎉",
"afficherLétatDesAffiliation": "Display affiliation status",
"affiliation": "Affiliation",
"affiliationNo": "Affiliation no. {{no}}",
"ajouterUnClub": "Add a club",
"ajouterUnMembre": "Add a member",
"all_season": "--- all seasons ---",
"aucunMembreSélectionné": "No member selected",
"back": "« back",
"blason": "Coat of arms",
"bureau": "Board",
"button.accepter": "Accept",
"button.ajouter": "Add",
"button.annuler": "Cancel",
"button.appliquer": "Apply",
"button.confirmer": "Confirm",
"button.créer": "Create",
"button.enregistrer": "Save",
"button.fermer": "Close",
"button.refuser": "Refuse",
"button.suivant": "Next",
"button.supprimer": "Delete",
"cat.benjamin": "Benjamin",
"cat.cadet": "Cadet",
"cat.catégorieInconnue": "Unknown category",
"cat.junior": "Junior",
"cat.miniPoussin": "Mini Chick",
"cat.minime": "Minime",
"cat.poussin": "Chick",
"cat.senior1": "Senior 1",
"cat.senior2": "Senior 2",
"cat.superMini": "Super Mini",
"cat.vétéran1": "Veteran 1",
"cat.vétéran2": "Veteran 2",
"catégorie": "Category",
"certificatMédical": "Medical certificate",
"chargement...": "Loading...",
"chargerLexcel": "Upload Excel",
"chargerLexcel.msg": "Please use the file above as a base; do not rename the columns or modify the licence numbers.",
"choisir...": "Choose...",
"club.aff_renew.msg": "Please select 0 to 3 board members to fill out the pre-request. (If a non-board member will become one next year, you can enter them in the next step)",
"club.change.status": "To modify the above information, please contact FFSAF by email.",
"club.contact.tt": {
"AUTRE": "Other club contact",
"COURRIEL": "Club email address<br>Example: contact@ffsaf.fr",
"FACEBOOK": "Club Facebook page starting with 'https://www.facebook.com/'<br>Example: https://www.facebook.com/ffmsf",
"INSTAGRAM": "Club Instagram account starting with 'https://www.instagram.com/'<br>Example: https://www.instagram.com/ff_msf",
"SITE": "Club website with or without 'https://'<br>Example: ffsaf.fr<br>Or https://ffsaf.fr",
"TELEPHONE": "Club phone number<br>Example: 06 12 13 78 55"
},
"club.toast.aff.error": "Failed to load affiliations",
"club.toast.aff.pending": "Loading affiliations in progress",
"club.toast.aff.success": "Affiliations loaded successfully 🎉",
"club.toast.del.error": "Failed to delete club",
"club.toast.del.pending": "Deleting club in progress",
"club.toast.del.success": "Club deleted successfully 🎉",
"club.toast.new.error": "Failed to create club",
"club.toast.new.pending": "Creating club in progress",
"club.toast.new.success": "Club created successfully 🎉",
"club.toast.save.error": "Failed to save club",
"club.toast.save.pending": "Saving club in progress",
"club.toast.save.success": "Club saved successfully 🎉",
"clubExterne": "External club",
"club_one": "Club",
"club_other": "Clubs",
"club_zero": "No club",
"comp_manage": "Competitions Manager",
"competition_one": "Competition",
"competition_other": "Competitions",
"compte": "Account",
"conserverLancienEmail": "Keep the old email",
"contactAdministratif": "Administrative contact",
"contactInterne": "Internal contact",
"contact_one": "Contact",
"contact_other": "Contacts",
"dateDeNaissance": "Date of birth",
"days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"de": "of",
"demandeDaffiliationEnCours": "Affiliation request in progress",
"demandeDeLicence": "Licence request",
"demander": "Request",
"dlAff": "Download affiliation certificate",
"donnéesAdministratives": "Administrative data",
"définirLidDuCompte": "Set account ID",
"editionDeL'affiliation": "Editing affiliation",
"editionDeLaDemande": "Editing request",
"editionDeLaLicence": "Editing licence",
"editionDeLaSéléction": "Editing selection",
"editionDeLadresse": "Editing address",
"email": "Email",
"en": "in",
"enAttente": "Pending",
"erreurDePaiement": "Payment error😕",
"erreurDePaiement.detail": "Error message:",
"erreurDePaiement.msg": "An error occurred while processing your payment. Please try again later.",
"espaceAdministration": "Administration space",
"faitPar": "Done by",
"femme": "Female",
"filtre": "Filter",
"genre": "Gender",
"gestionGroupée": "Group management",
"gradeDarbitrage": "Referee grade",
"home": {
"header1": "For licensed members",
"header2": "For clubs",
"text1": "Here you will find all your information as well as the status of your registration with the federation. You can also download your registration certificate, sign up for competitions, and view your results, provided that the organizing club has entered them.<br/><br/>During your first registration, you will receive an email containing your login details; this email will be sent once your licence is validated by the secretariat.",
"text2": "This is where you can take out federal licences for your members, request or renew your affiliation, enter your schedules, training locations, and social networks, which will then be displayed on the ffsaf.fr website.<br/>You will also have the possibility to publish registration forms for your competitions and record the results.<br/><br/>Not yet affiliated with the federation? Click <1>here</1> to make your first request.",
"welcome_message": "Welcome to the intranet of the Fédération France Soft Armored Fighting"
},
"homme": "Male",
"horairesD'entraînements": "Training schedules",
"information": "Information",
"keepEmpty": "Leave blank to make no changes.",
"le": "the",
"licence": "Licence",
"licenceNo": "Licence no. {{no}}",
"lieuxDentraînements": "Training locations",
"loading": "Loading...",
"me": {
"result": {
"PRIVATE": "Private (visible only to me)",
"PUBLIC": "Public (visible to all)",
"REGISTERED_ONLY": "Logged-in members (visible to federation members)",
"REGISTERED_ONLY_NO_DETAILS": "Logged-in members - hide details (visible to federation members)"
},
"toast.settings.error": "Failed to update settings 😕",
"toast.settings.pending": "Updating settings in progress...",
"toast.settings.success": "Settings updated successfully 🎉"
},
"me.changerMonMotDePasse": "Change my password",
"me.formationDarbitrage": "Referee training",
"me.paramètresDuCompte": "Account settings",
"me.rôleAuSienDuClub": "Role within the club",
"me.visibilitéDesRésultats": "Results visibility",
"member_one": "Member",
"member_other": "Members",
"membre.emailVideàLaLigne": "Empty email on line {{no}}",
"membre.emailVérifié": "Verified email",
"membre.filtre.inactif": "Show inactive fighters",
"membre.filtre.licence": "Show licence status",
"membre.filtre.licences": [
"No request or valid licence",
"With request or valid licence",
"Request in progress",
"Licence validated",
"All licence statuses",
"Complete request",
"Incomplete request"
],
"membre.filtre.payement": [
"No payment",
"With payment",
"All payment statuses"
],
"membre.identifiant": "Identifier",
"membre.import.err1": "Invalid certificate date format on line {{no}}",
"membre.import.err2": "Invalid certificate date format on line {{no}}",
"membre.import.err3": "Empty date of birth on line {{no}}",
"membre.import.err4": "Invalid date of birth format on line {{no}}",
"membre.import.err5": "Invalid email on line {{no}}",
"membre.import.errTT_one": "{{count}} error in the file, operation cancelled",
"membre.import.errTT_other": "{{count}} errors in the file, operation cancelled",
"membre.import.warn_one": "{{count}} medical certificate not filled",
"membre.import.warn_other": "{{count}} medical certificates not filled",
"membre.info.emailInfo": "The email is used to create an account to log in to the site and must be unique.<br/>For minors, the parents' email can be used multiple times using the following syntax: {'email.parent+<alphanumeric characters>@example.com'}.<br/>Examples: mail.parent+1@example.com, mail.parent+titouan@example.com, mail.parent+cedrique@example.com",
"membre.info.error1": "Please select a valid country 😕",
"membre.info.error2": "Please select a valid club 😕",
"membre.initaccount": "Initialize account",
"membre.initaccount.text1": "Enter the account UUID",
"membre.initaccount.text2": "Warning: only change a member's ID if you are sure of what you are doing...",
"membre.noAccount": "This member does not have an account...",
"membre.noAccount.clubMsg": "An account will be created by the federation when their first licence is validated",
"membre.nomVideàLaLigne": "Empty name on line {{no}}",
"membre.prénomVideàLaLigne": "Empty first name on line {{no}}",
"membre.toast.compte.created": "Account created successfully 🎉",
"membre.toast.compte.error": "Failed to create account",
"membre.toast.compte.pending": "Creating account in progress",
"membre.toast.del.error": "Failed to delete account",
"membre.toast.del.pending": "Deleting account in progress",
"membre.toast.del.success": "Account deleted successfully 🎉",
"membre.toast.id.error": "Failed to set identifier",
"membre.toast.id.pending": "Setting identifier in progress",
"membre.toast.id.success": "Identifier set successfully 🎉",
"membre.toast.licence.ask.del.error": "Failed to delete licence request",
"membre.toast.licence.ask.del.pending": "Deleting licence request in progress",
"membre.toast.licence.ask.del.success": "Licence request deleted successfully 🎉",
"membre.toast.licence.ask.error": "Failed to request licence",
"membre.toast.licence.ask.pending": "Recording licence request in progress",
"membre.toast.licence.ask.success": "Licence request recorded successfully 🎉",
"membre.toast.licence.del.error": "Failed to delete licence",
"membre.toast.licence.del.pending": "Deleting licence in progress",
"membre.toast.licence.del.success": "Licence deleted successfully 🎉",
"membre.toast.licence.save.error": "Failed to save licence",
"membre.toast.licence.save.pending": "Saving licence in progress",
"membre.toast.licence.save.success": "Licence saved successfully 🎉",
"membre.toast.licences.export.error": "Failed to export licences",
"membre.toast.licences.export.pending": "Exporting licences in progress",
"membre.toast.licences.export.success": "Licences exported successfully 🎉",
"membre.toast.licences.import.error": "Failed to send changes",
"membre.toast.licences.import.pending": "Sending changes in progress",
"membre.toast.licences.import.success": "Changes sent successfully 🎉",
"membre.toast.licences.load.error": "Failed to load licences",
"membre.toast.licences.load.pending": "Loading licences in progress",
"membre.toast.licences.load.success": "Licences loaded successfully 🎉",
"membre.toast.perm.error": "Failed to update permissions 😕",
"membre.toast.perm.pending": "Updating permissions in progress...",
"membre.toast.perm.success": "Permissions updated successfully 🎉",
"membre.toast.save.error": "Failed to update profile 😕",
"membre.toast.save.pending": "Updating profile in progress...",
"membre.toast.save.success": "Profile updated successfully 🎉",
"membre.toast.select.del.error": "Failed to delete selection",
"membre.toast.select.del.pending": "Deleting selection in progress",
"membre.toast.select.del.success": "Selection deleted successfully 🎉",
"membre.toast.select.save.error": "Failed to save selection",
"membre.toast.select.save.pending": "Saving selection in progress",
"membre.toast.select.save.success": "Selection saved successfully 🎉",
"mettreàJours": "Update",
"nationalité": "Nationality",
"nav": {
"account": "My account",
"aff_request": "Affiliation request",
"club": {
"my": "My club"
},
"competitions": {
"results": "My results"
},
"home": "Home",
"login": "Login",
"logout": "Logout",
"space": "My space",
"title": "FFSAF Intranet"
},
"noLicence": "Licence no.",
"noSiretOuRna": "SIRET or RNA no.",
"nom": "Last name",
"nombreDeLicences": "Number of licences",
"nombreDeLicencesParCatégorie": "Number of licences by category for {{saison}}",
"non": "No",
"nonDéfinie": "Not defined",
"nonValidée": "Not validated",
"nouveauClub": "New club",
"nouveauMembre": "New member",
"nouvelEmail": "New email",
"oui": "Yes",
"outdated_session": {
"login_button": "Log in again",
"message": "Your session has expired. Please log in again to continue using the application.",
"title": "Session expired"
},
"pageClub": "Club page",
"pageMembre": "Member page",
"pageNouveauClub": "New club page",
"page_info_full": "Line {{line}} to {{tt_line}} (page {{page}} of {{tt_page}})",
"page_info_ligne": "{{show}} line(s) displayed out of {{total}}",
"paiementDeLaLicence": "Licence payment",
"paiementDesLicences": "Licence payments",
"pasDeLicence": "No licence",
"payment.ha.info": "HelloAsso's solidarity model guarantees that 100% of your payment will be transferred to the chosen association. You can support the help they provide to associations by leaving a voluntary contribution to HelloAsso at the time of your payment.",
"payment.info": "About HelloAsso",
"payment.paiementSécurisé": "Secure payment",
"payment.payerAvec": "Pay with",
"payment.recap": "{{count}} licence(s) selected<br/>Total to pay: {{total}} €",
"paymentDesLicences": "Licence payments",
"paymentDesLicences.msg_one": "Are you sure you want to mark the licence as paid?",
"paymentDesLicences.msg_other": "Are you sure you want to mark the {{count}} licences as paid?",
"paymentDesLicences.msg_zero": "$t(paymentDesLicences.msg_other)",
"paymentOk": "🎉 Your payment has been processed successfully. 🎉",
"paymentOk.msg": "Thank you for your payment. The licences should be activated within the next hour, provided the medical certificate is completed.",
"pays": "Country",
"perm.administrateurDeLaFédération": "Federation administrator",
"perm.créerDesCompétion": "Create competitions",
"perm.ffsafIntra": "FFSAF intra",
"permission": "Permission",
"photos": "Photos",
"prenom": "First name",
"rechercher": "Search",
"rechercher...": "Search...",
"registration_one": "Registration",
"registration_other": "Registrations",
"renouveler": "Renew",
"renouvellementDeLaffiliation": "Affiliation renewal",
"result_one": "Result",
"result_other": "Results",
"retouràLaListeDeMembres": "Back to member list",
"role": "Role",
"role.membre": "Member",
"role.membreDuBureau": "Board member",
"role.président": "President",
"role.secrétaire": "Secretary",
"role.trésorier": "Treasurer",
"role.vise-président": "Vice-President",
"role.vise-secrétaire": "Vice-Secretary",
"role.vise-trésorier": "Vice-Treasurer",
"saison": "Season",
"selectionner...": "Select...",
"siretOuRna": "SIRET or RNA",
"stats": "Statistics",
"statue": "Statue",
"status": "Status",
"statuts": "Statutes",
"supprimerLeClub": "Delete club",
"supprimerLeClub.msg": "Are you sure you want to delete this club?",
"supprimerLeCompte": "Delete account",
"supprimerLeCompte.msg": "Are you sure you want to delete this account?",
"sélectionEnéquipeDeFrance": "Selection in the French team",
"sélectionner...": "Select...",
"toast.edit.error": "Failed to save changes",
"toast.edit.pending": "Saving changes in progress",
"toast.edit.success": "Changes saved successfully 🎉",
"toast.licence.bulk.pay.error": "Failed to mark licences as paid",
"toast.licence.bulk.pay.pending": "Marking licences as paid in progress",
"toast.licence.bulk.pay.success": "Licences marked as paid successfully 🎉",
"toast.licence.bulk.valid.error": "Failed to validate licences",
"toast.licence.bulk.valid.pending": "Validating licences in progress",
"toast.licence.bulk.valid.success": "Licences validated successfully 🎉",
"toast.licence.order.error": "Failed to create order",
"toast.licence.order.pending": "Creating order in progress",
"toast.licence.order.success": "Order created successfully 🎉",
"trie": "Sort",
"téléchargerLexcelDesMembres": "Download members' Excel",
"téléchargerLexcelDesMembres.info": "Use as a template to update information",
"téléchargéeLaLicence": "Download licence",
"validationDeLaLicence": "Licence validation",
"validationDesLicences": "Licence validations",
"validerDesLicences": "Validate licences",
"validerLePayement_one": "Validate payment for the selected licence",
"validerLePayement_other": "Validate payment for the {{count}} selected licences",
"validerLePayement_zero": "$t(validerLePayement_other)",
"validerLicence.msg_one": "Are you sure you want to validate the licence?",
"validerLicence.msg_other": "Are you sure you want to validate the {{count}} licences?",
"validerLicence.msg_zero": "$t(validerLicence.msg_other)",
"validerLicence_one": "Validate the selected licence",
"validerLicence_other": "Validate the {{count}} selected licences",
"validerLicence_zero": "$t(validerLicence_other)",
"validée": "Validated",
"voirLesStatues": "View statues",
"à": "at",
"étatDeLaDemande": "Request status"
}