Files
MatchLiveTv/backend/config/locales/app.fr.yml
T

831 lines
43 KiB
YAML

fr:
password_policy:
hint: "Au moins 8 caractères, avec au moins 3 parmi : minuscules, majuscules, chiffres et symboles."
activerecord:
attributes:
user:
password: Mot de passe
admin_account:
password: Mot de passe
errors:
models:
user:
attributes:
password:
too_short: "est trop court (minimum %{count} caractères)"
too_long: "est trop long (maximum %{count} caractères)"
complexity: "doit inclure au moins 3 parmi : minuscules, majuscules, chiffres et symboles"
admin_account:
attributes:
password:
too_short: "est trop court (minimum %{count} caractères)"
too_long: "est trop long (maximum %{count} caractères)"
complexity: "doit inclure au moins 3 parmi : minuscules, majuscules, chiffres et symboles"
club:
back_to_club: "← Club"
sport_label: Sport principal
branding_legend: Logo et couleurs du club
branding:
legend: Identité visuelle
inherit_hint: Laissez vide pour utiliser le logo et les couleurs du club.
logo_file_label: Logo (image)
logo_preview_alt: Aperçu du logo
no_logo_placeholder: "Aucun logo — choisissez un fichier pour l'aperçu"
logo_url_label: Logo (URL alternative)
primary_color_label: Couleur principale
secondary_color_label: Couleur secondaire
choose_color: Choisir une couleur
quick_colors: Couleurs rapides
header_preview_label: Aperçu de l'en-tête
name_placeholder: Nom du club / de l'équipe
dashboard:
title: "%{name} — Club"
plan_label: "Forfait :"
teams_count_label: "Équipes :"
edit_club: Modifier le club
subscription: Abonnement
new_team: Nouvelle équipe
live_streams: Directs
replay_archive: Archives replay
replay_heading: Replay
available: disponibles
expiring_soon: "bientôt expirés (7 j)"
space_used: espace utilisé
views: vues
teams_heading: Équipes
team_col: Équipe
branding_col: Image de marque
branding_custom: Personnalisée
branding_inherited: Hérite du club
public_page: Page publique
details: Détails
matches: Matchs
edit: Modifier
no_teams_html: "Aucune équipe. %{link}."
add_first_team: Ajouter la première
footer_note: "Chaque équipe a ses propres responsables diffusion. Le score depuis un autre téléphone utilise le lien régie (sans compte). L'abonnement couvre tout le club."
edit:
title: "Modifier le club — %{name}"
heading: Modifier le club
name_label: Nom du club
save: Enregistrer
new:
title: "Inscrire un club — Match Live TV"
meta_description: Crée ton club sportif et sa première équipe sur Match Live TV.
heading: Ton club
lead: "Inscris le club : tu pourras ajouter d'autres équipes (Under 13, Under 15, Serie C…)."
section_club: Club
name_label: Nom du club
name_placeholder: "ex. Crazy Volley Rozzano"
section_first_team: Première équipe
default_first_team_name: Première équipe
first_team_name_label: Nom de l'équipe
first_team_name_placeholder: "ex. Under 15"
plan_label: "Forfait de départ (pour tout le club)"
plan_free: "Gratuit — 1 responsable diffusion par équipe, 1 direct"
plan_light: Premium Light
plan_full: Premium Full
interval_label: Facturation premium
interval_yearly: "Annuel — 40 €/an (Light) ou 200 €/an (Full)"
interval_monthly: "Mensuel — 5 €/mois (Light) ou 20 €/mois (Full)"
submit: Créer le club
billing:
title: "Abonnement — %{name}"
comped:
title: Abonnement offert par Match Live TV
plan_prefix: "— forfait"
no_payment_html: "Aucun paiement n'est requis. Pour toute modification ou passage à un forfait payant, contacte %{email_link}."
youtube:
heading: YouTube Live
connected_notice: Chaîne YouTube du club connectée avec succès.
light_body_html: "Avec le forfait <strong>Premium Light</strong>, les directs YouTube de toutes les équipes passent sur la chaîne officielle <strong>Match Live TV</strong>. Pas besoin de connecter une chaîne du club."
light_ready: "Chaîne prête · sélectionne « YouTube Live » dans l'application mobile."
light_configuring: Chaîne Match Live TV en cours de configuration côté serveur. Contacte le support si YouTube n'apparaît pas dans l'application.
full_connected_html: "Chaîne connectée pour <strong>tout le club</strong> : <strong>%{channel}</strong>"
full_connected_hint: Toutes les équipes peuvent diffuser sur cette chaîne lorsqu'elles choisissent la chaîne du club dans l'application.
disconnect: Déconnecter la chaîne
disconnect_confirm: Déconnecter la chaîne YouTube ? Les directs utiliseront la chaîne Match Live TV jusqu'à ce que tu reconnectes la tienne.
full_not_connected_html: "Sans chaîne connectée, les directs YouTube depuis l'application passent sur la chaîne officielle <strong>Match Live TV</strong>. Connecte ici la chaîne YouTube du club (valable pour toutes les équipes)."
ready_in_app: "YouTube prêt dans l'application (chaîne Match Live TV tant que tu n'as pas connecté la tienne)."
connect: Connecter la chaîne YouTube du club
oauth_not_configured: OAuth YouTube pas encore configuré sur le serveur.
requires_full: YouTube sur la chaîne du club nécessite le forfait Premium Full.
see_plans: Voir les forfaits
team:
back_to_details: "← Détails équipe"
sport_label: Sport
details:
title: "Détails — %{name}"
meta_description: "Détails de l'équipe %{name} sur Match Live TV."
nav_aria: Fil d'Ariane équipe
edit_team: Modifier l'équipe
plan_label: "Forfait :"
plan_scope_club: (club)
staff_label: "Responsables diffusion :"
active_matches_label: "Matchs actifs :"
unlimited: illimités
no_description: Aucune description.
add_description_link: Ajoute-en une depuis la modification de l'équipe
roster_count_label: dans l'effectif
no_photo: Photo d'équipe pas encore ajoutée
add_photo_link: Ajoute-la depuis la modification de l'équipe
public_page: Page publique
streaming_managers: Responsables diffusion
schedule_matches: Programmer des matchs
live_streams: Directs
no_people_in_category: Personne dans cette catégorie pour le moment.
youtube_hint_html: "La chaîne YouTube du club se configure depuis la page %{club_link} (section YouTube Live)."
footer_note: Utilise l'application mobile avec les mêmes identifiants pour démarrer les matchs et les directs.
edit:
title: "Modifier l'équipe — %{name}"
club_label: "Club :"
name_label: Nom de l'équipe
description_label: Description de l'équipe
description_placeholder: "Présentation de l'équipe, palmarès, objectifs de la saison…"
photo_label: "Photo d'équipe (groupe ou écusson)"
photo_alt: Photo d'équipe
branding_legend: Image de marque de l'équipe (personnalisation)
slug_label: Adresse de la page publique
slug_hint_html: "Parents et supporters trouvent l'équipe sur <strong>%{base_url}/squadre/%{slug}</strong>"
slug_title: "Uniquement des lettres minuscules, des chiffres et des tirets"
roster_public_label: Afficher l'effectif sur la page publique
roster_public_hint: Si activé, joueurs et staff sont visibles par toute personne ayant le lien. Tu peux le laisser désactivé pour plus de confidentialité.
club_colors_label: "Couleurs du club :"
submit: Enregistrer l'équipe
new:
title: "Nouvelle équipe — %{name}"
heading: Nouvelle équipe
club_label: "Club :"
name_label: Nom de l'équipe
name_placeholder: "ex. Under 13, Serie C"
branding_legend: Personnalisation de l'image de marque (facultatif)
submit: Ajouter l'équipe
invite:
title: "Staff diffusion — %{name}"
heading: Responsables diffusion
assigned_label: "Assignés :"
per_team_note: (par équipe, renouvellement annuel)
info: "Le responsable diffusion démarre le direct depuis l'application (caméra sur trépied). Pour le score depuis un second téléphone, aucun compte n'est nécessaire : il partage le <strong>lien régie</strong> depuis l'écran de diffusion (WhatsApp, e-mail, SMS, etc.)."
self_assign_hint_html: "<strong>%{email}</strong> — tu peux gérer toi-même la caméra et le score, ou inviter d'autres personnes pour la diffusion."
self_assign_submit: C'est moi — responsable diffusion
invite_other_heading: Inviter un autre e-mail
email_label: E-mail du responsable diffusion
submit: Générer le lien d'accès
share_hint: "Partage (valable 7 jours) :"
billing:
title: "Abonnement — %{name}"
team_label: "Équipe :"
current_plan_label: "Forfait actuel :"
staff_line: "Staff diffusion : %{count} / an"
matches_line: "Matchs : %{count} en simultané"
replay_line: "Replay : %{value}"
replay_days: "%{count} jours"
replay_none: "non"
youtube_line: "YouTube : %{value}"
youtube_mltv: Match Live TV
youtube_club: chaîne du club
youtube_none: "non"
current_plan: Forfait actuel
manage_club_subscription: Gérer l'abonnement du club
stripe_not_configured: Stripe non configuré
contact_lead: "Besoins différents ?"
contact_cta: Contacte-nous
contact_trailer: pour une offre sur mesure.
club_payments_link: Paiements et factures du club
streaming_staff:
self_account_heading: "Ton compte (%{email})"
self_account_hint: "Tu peux gérer la diffusion depuis l'application. Pour le score depuis un autre téléphone, partage le <strong>lien régie</strong> pendant le direct (pas besoin d'un second compte)."
self_assign_submit: C'est moi — responsable diffusion
staff_heading: Responsables diffusion (application)
col_name: Nom
col_email: E-mail
col_role: Rôle
role_transmission: Diffusion
you_suffix: (toi)
clear_self_staff: Retirer le rôle staff
clear_self_staff_confirm: Retirer le rôle staff de ton compte ?
revoke: Révoquer
revoke_confirm: "Révoquer l'accès de %{name} ?"
no_staff: Aucun responsable diffusion pour le moment.
invite_someone: Inviter quelqu'un
pending_invitations_heading: Invitations en attente
col_email_short: E-mail
col_expires: Expire
cancel_invitation: Annuler
no_pending: Aucune demande en attente.
archive_heading: Archives replay
col_match: Match
col_date: Date
col_duration: Durée
col_expiry: Expiration
col_status: Statut
watch: Regarder
manage_all_replays: Gérer tous les replays
no_recordings: Aucun replay pour le moment. Les enregistrements apparaissent ici à la fin des directs Premium.
matches:
back_to_list: "← Liste des matchs"
opponent_label: Adversaire
opponent_placeholder: "ex. Volley Milano"
location_label: "Lieu (facultatif)"
location_placeholder: "Gymnase, ville"
datetime_label: Date et heure
form_hint: "Le direct ne démarre pas tout seul : il apparaîtra dans l'application et sur le site. Tu lanceras le streaming depuis ton téléphone une fois sur place."
edit:
title: "Modifier le match — %{name}"
heading: Modifier le match
submit: Enregistrer les modifications
new:
title: "Programmer un match — %{name}"
heading: Programmer un match
submit: Enregistrer au programme
index:
title: "Matchs — %{name}"
heading: "Matchs — %{name}"
lead: "Programme ici depuis ton ordinateur la date, l'adversaire et le lieu. Une fois au gymnase, ouvre l'application Match Live TV, sélectionne cette équipe et lance le direct du match."
schedule_match: Programmer un match
team_details: Détails équipe
live_and_schedule: Directs et programme
col_opponent: Adversaire
col_datetime: "Date et heure"
col_location: Lieu
col_status: Statut
no_time: Sans horaire
no_location: "—"
edit: Modifier
delete: Supprimer
delete_confirm: Supprimer ce match ?
empty_html: "Aucun match programmé. %{link}."
schedule_first: Programme le premier
club_new:
title: "Programmer un match — %{name}"
back_link: "← Directs et matchs"
heading: Programmer un match
admin_hint: "· Tu peux choisir n'importe quelle équipe du club"
staff_hint: "· Seulement les équipes où tu es responsable diffusion"
team_label: Équipe
submit: Enregistrer au programme
status:
active: En cours / à reprendre
scheduled: Programmé
ready: Prêt
no_time: Sans horaire
roster:
back_to_details: "← Détails équipe"
category:
staff: Staff
coach: Entraîneurs
manager: Dirigeants
player: Joueurs
role:
coach: Entraîneur
manager: Dirigeant
staff: Staff
player: Joueur
player_numbered: "Joueur n°%{number}"
errors:
role_invalid: n'est pas un rôle valide pour ce sport
photo_invalid_type: doit être au format PNG, JPEG ou WebP
role_select_blank: "— Sélectionner un rôle —"
edit:
title: "Modifier — %{name}"
member_form:
edit_heading: Modifier la fiche
new_heading: Ajouter une personne
lead: Remplis les champs et enregistre pour mettre à jour l'effectif.
category_label: Groupe
full_name_label: Nom et prénom
full_name_placeholder: "ex. Mario Rossi"
role_player_label: Rôle sur le terrain
role_other_label: "Rôle (facultatif)"
role_other_placeholder: "ex. Entraîneur principal, Président, Kinésithérapeute"
jersey_label: Numéro de maillot
jersey_placeholder: "ex. 7"
bio_label: Courte description
bio_placeholder: "Brève présentation pour la fiche…"
photo_label: Photo
photo_hint: Sans photo, un avatar aux couleurs de l'équipe sera affiché.
submit_edit: Enregistrer la fiche
submit_new: Ajouter à l'effectif
person_card:
edit: Modifier
remove: Retirer
remove_confirm: "Retirer %{name} de l'effectif ?"
billing:
heading: Abonnement
entity_types:
company: "Club / association avec numéro de TVA"
individual: Personne physique
nonprofit: Association à but non lucratif
profile_errors:
entity_type: Type de titulaire
legal_name: Raison sociale ou nom du titulaire
email: E-mail de facturation
address: Adresse
city: Ville
province: "Province (code à 2 lettres)"
postal_code: Code postal
country: "Pays (ISO)"
vat_number: Numéro de TVA
fiscal_code: Code fiscal
vat_or_fiscal: Numéro de TVA ou code fiscal
sdi_or_pec: "Code destinataire SDI (7 caractères) ou PEC"
sdi_invalid: "Code destinataire SDI (7 caractères)"
actions:
current_plan: Forfait actuel
contact_for_free: "Pour passer au forfait gratuit, contacte le support."
stripe_not_configured: Stripe non configuré
stripe_prices_not_configured: Tarifs Stripe non configurés
complete_billing_prefix: Complète tes données de facturation avant d'activer un forfait premium.
profile_incomplete_default: Complète tes données de facturation avant d'activer un forfait premium.
profile_missing: "Manquant(s) : %{fields}."
profile:
title: "Données de facturation — %{name}"
heading: Données de facturation
lead: "Club : %{name}. Saisis les données pour l'en-tête des factures et l'envoi via SDI ou PEC."
required_notice: Obligatoires pour souscrire à un forfait premium.
after_save_hint_html: "Après l'enregistrement, tu pourras procéder au paiement de <strong>%{plan}</strong>."
submit: Enregistrer les données de facturation
back_to_billing: "← Abonnement"
fields:
legend: Données de facturation
legend_hint: "Tous les champs marqués sont obligatoires pour souscrire à un forfait premium et pour émettre les factures. Les clubs ont besoin d'un numéro de TVA ; les personnes physiques d'un code fiscal. Il faut le SDI ou le PEC. Les paiements restent gérés en toute sécurité par Stripe."
entity_type_label: "Type de titulaire *"
legal_name_label: "Raison sociale / nom et prénom *"
legal_name_placeholder: "ex. ASD Tigers Volley"
vat_number_label: "Numéro de TVA * (club)"
fiscal_code_label: "Code fiscal * (personne physique)"
fiscal_code_placeholder: RSSMRA80A01H501U
email_label: "E-mail de facturation *"
email_placeholder: administration@club.fr
phone_label: "Téléphone (facultatif)"
address_label: "Adresse *"
address_placeholder: "1 rue de Rome"
city_label: "Ville *"
province_label: "Prov. *"
province_placeholder: MI
postal_code_label: "Code postal *"
country_label: "Pays (ISO) *"
recipient_code_label: "Code destinataire SDI (7 car.) *"
recipient_code_placeholder: XXXXXXX
pec_label: "PEC (alternative au SDI) *"
pec_placeholder: pec@club.fr
documents:
heading: Paiements et factures
lead: Historique des paiements du club et des factures émises par Match Live TV.
incomplete_title: Données de facturation incomplètes.
incomplete_body: Renseigne la raison sociale, l'adresse, le numéro de TVA/code fiscal et le SDI ou PEC pour recevoir les factures par e-mail.
complete_now: Compléter maintenant
holder_label: "Titulaire : %{summary}"
edit_data: Modifier les données
table_heading: Paiements et factures
col_date: Date
col_description: Description
col_amount: Montant
col_status: Statut du paiement
col_invoice: Facture
download_pdf: Télécharger le PDF
pdf_preparing: PDF en préparation
no_payments: Aucun paiement enregistré. Il apparaîtra ici après un abonnement premium.
subscription_status:
club_label: "Club : %{name}"
current_plan_label: "Forfait actuel : %{plan}"
comped_suffix: (offert par Match Live TV)
valid_for_all_teams: (valable pour toutes les équipes)
manage_subscription: Gérer l'abonnement
cancel_scheduled_html: "Abonnement valable jusqu'au <strong>%{date}</strong>, puis forfait gratuit."
change_pending_html: "À partir du <strong>%{date}</strong> tu passeras à <strong>%{plan}</strong>%{interval}. D'ici là, <strong>%{current_plan}</strong> reste actif."
end_of_period: fin de la période
next_renewal: prochain renouvellement
next_renewal_label: "Prochain renouvellement : %{date}"
plan_change_info:
trigger_label: Infos sur le changement de forfait et la facturation
title: Changement de forfait et facturation
subscription_cancel:
scheduled_title: Résiliation programmée.
scheduled_body_html: "Le forfait <strong>%{plan}</strong> reste actif jusqu'au <strong>%{date}</strong>. À partir de ce jour, le club passera automatiquement au forfait <strong>Gratuit</strong>."
scheduled_end_of_period: fin de la période déjà payée
scheduled_support_hint: Pour rétablir l'abonnement avant son expiration, contacte le support Match Live TV.
info: "Tu peux résilier à tout moment : l'abonnement reste valable jusqu'à la fin de la période déjà payée, puis tu passes au forfait Gratuit sans frais supplémentaires."
cancel_button: Résilier l'abonnement
confirm_with_date: "Confirmes-tu la résiliation ? Le forfait %{plan} restera actif jusqu'au %{date}, puis tu passeras au Gratuit."
confirm_default: "Confirmes-tu la résiliation de l'abonnement ?"
stripe_secure:
compact_html: "Paiements premium traités en toute sécurité via <strong>Stripe</strong>."
full_html: "Les paiements des forfaits premium sont traités de manière <strong>sécurisée</strong> via <strong>Stripe</strong> (certification PCI DSS). Match Live TV ne stocke jamais les numéros complets de carte."
messages:
upgrade_completed_with_amount: "Passage à %{plan} (%{interval}) terminé. Débit immédiat : %{amount}."
upgrade_completed_pending_charge: "Passage à %{plan} (%{interval}) terminé. Le débit de la différence est en cours de traitement sur la carte enregistrée."
next_renewal: le prochain renouvellement
current_plan_generic: le forfait actuel
downgrade_scheduled: "Passage à %{plan} (%{interval}) programmé : vous restez sur %{current_name} jusqu'au %{when}. Aucun débit supplémentaire maintenant ; à partir du prochain cycle, vous paierez le nouveau prix."
activate_button: "Activer %{plan} — %{price}"
switch_button: "Passer à %{plan} — %{price}"
upgrade_info_line: "Upgrade (forfait supérieur ou passage à la facturation annuelle) : la différence est débitée immédiatement sur la carte Stripe enregistrée."
downgrade_info_line: "Downgrade entre forfaits payants (ex. Full → Light) : le nouveau forfait est actif dès le prochain renouvellement ; jusque-là, les fonctionnalités du forfait actuel restent actives, sans débit supplémentaire pour l'instant."
already_requested_line: "Vous avez déjà demandé %{plan} à partir du %{when} : jusque-là, %{current_plan} reste actif."
regia:
meta_title_fallback: "Régie — Match Live TV"
title: "Régie — %{home} vs %{away}"
subtitle_prefix: "Régie ·"
status:
ended: Terminé
paused: En pause
live: En direct
waiting: En attente
live_share_label: "Lien direct (spectateurs)"
share_live: Partager le direct
copy_link: Copier le lien
regia_share_label: "Lien régie (score)"
share_regia: Partager le lien régie
preview_ended: Direct terminé
preview_waiting: Aperçu en attente du signal…
pause: Mettre en pause
resume: Reprendre le direct
mute: Couper l'audio
unmute: Réactiver l'audio
stop: Terminer le direct
modal:
set_won_title: Set gagné
confirm: Terminer le set
cancel: Annuler
board:
next_period: Quart-temps suivant
next_half: Mi-temps suivante
close_set: Terminer le set
free_score: Score libre
stopwatch: Chronomètre
generic_score: Score
start: Démarrer
pause: Pause
reset: Réinitialiser
points_suffix: pts
partials_prefix: "Partiels :"
set_label: "Set %{number}"
js:
period_updated: Période mise à jour
now_in_period: "Maintenant en %{period}"
set_won_body: "%{winner} a remporté le set. Clôturer le set ?"
match_won_title: Match remporté
match_won_body: "%{winner} a remporté le match. Clôturer le direct ?"
close_set_confirm: Confirmez la clôture du set en cours ?
score_update_error: Erreur de mise à jour du score
generic_error: Erreur
sets_line: "Set %{current} · Sets remportés %{home}-%{away}"
quarter_label: "Q%{n}"
half_label: "%{n}e mi-temps"
overtime_basket: "Prol.%{n}"
overtime_other: Prol.
unknown_period: "—"
resumed: Direct repris
paused_cover: "Direct en pause — habillage à l'antenne"
muted: "Audio coupé — YouTube ne reçoit pas le micro"
unmuted: "Audio du micro rétabli"
closed: Direct terminé
resume_error: Erreur lors de la reprise du direct
pause_error: Erreur lors de la mise en pause du direct
mute_error: Erreur lors de la coupure audio
close_error: Erreur de clôture
close_confirm: Clôturer définitivement le direct ?
link_unavailable: Lien non disponible
link_copied: Lien copié
copy_prompt: "Copiez le lien :"
share_regia_text: "Ouvrez ce lien pour gérer le score du direct :"
share_live_text: "Regardez le direct sur Match Live TV :"
recordings:
archive:
back_prefix: "←"
heading: Archives replay
admin_suffix: (admin)
lead_html: "Gère les enregistrements, la visibilité et les téléchargements. <strong>Privé</strong> = lien non indexé, n'apparaît pas sur la page publique <code>/replay</code>. La suppression d'un replay supprime aussi les fichiers sur le serveur et la vidéo YouTube associée."
kpi_available: Replays disponibles
kpi_expiring: "Bientôt expirés (7 j)"
kpi_space: Espace d'archive
kpi_views: Vues totales
team_label: Équipe
team_all: Toutes
status_label: Statut
status_all: Tous
status_ready: Disponibles
status_processing: En traitement
status_expired: Expirés / erreur
col_preview: Aperçu
col_match: Match
col_team: Équipe
col_details: Détails
col_status: Statut et visibilité
col_actions: Actions
watch_replay: Regarder le replay
processing_title: Traitement en cours
not_available_title: Replay non disponible
views_suffix: vues
expires_prefix: Expire le
expires_days: "(%{count} j)"
no_expiry: Aucune expiration
new_expiry_title: Nouvelle date d'expiration
save: Enregistrer
extend_days: "+%{count} j"
extend_title: "Prolonger l'expiration de %{count} jours"
privacy_public: Public
privacy_private: Privé
privacy_hint_public: "Visible par tous — cliquer pour rendre privé"
privacy_hint_private: "Uniquement avec le lien — cliquer pour rendre public"
download_mp4: MP4
download_mp4_title: Télécharger le MP4
publish_youtube: "YT"
publish_youtube_title: Publier sur YouTube
open_youtube_title: Ouvrir sur YouTube
delete_title: Supprimer le replay
delete_confirm: Choisis où supprimer le replay. Action irréversible.
no_recordings: Aucun enregistrement pour les filtres sélectionnés.
confirm:
choice_title: Que veux-tu supprimer ?
choice_message: Choisis où supprimer le replay. Action irréversible.
choice_site_label: Seulement du site
choice_site_hint_with_youtube: La vidéo reste sur YouTube
choice_site_hint_only: Supprime les fichiers du site
choice_youtube_label: Seulement de YouTube
choice_youtube_hint_with_site: Reste disponible sur le site
choice_youtube_hint_only: Supprime uniquement la vidéo YouTube
choice_both_label: Du site et de YouTube
choice_both_hint: Suppression complète
youtube_title: Supprimer de YouTube ?
youtube_message: La vidéo sera retirée de YouTube. Le replay restera disponible sur le site.
youtube_ok: Supprimer de YouTube
site_title: Supprimer du site ?
site_message_with_youtube: Le replay sera retiré du site. La vidéo sur YouTube restera en ligne.
site_message_only: Tu es sur le point de supprimer définitivement ce replay du site. Action irréversible.
site_ok: Supprimer du site
status:
deleted: Supprimé
expired: Expiré
failed: Erreur
processing: En traitement
expiring_soon: Bientôt expiré
available: Disponible
flash:
web_base:
login_required: Connecte-toi pour continuer
access_denied: Accès non autorisé
clubs:
already_registered: Tu as déjà inscrit un club
created: Club et première équipe créés.
updated: Club mis à jour.
complete_billing_first: Complète tes données de facturation avant d'activer un forfait premium.
comped_change_denied: "Ce forfait est un abonnement offert géré par Match Live TV. Pour passer à un abonnement payant, contacte le support."
stripe_not_configured: Paiements pas encore configurés sur le serveur
already_on_plan: "Tu es déjà sur %{plan} (%{price})."
change_already_scheduled: "Le passage à %{plan} est déjà programmé à partir du %{date}."
stripe_error: "Erreur Stripe : %{message}"
youtube_oauth_not_configured: OAuth YouTube non configuré sur le serveur
youtube_disconnected: Chaîne YouTube du club déconnectée
portal_not_configured: Portail de paiement non configuré
checkout_success: "Paiement effectué ! Plan actif : %{plan}."
checkout_canceled: Paiement annulé. Aucun débit n'a été effectué.
club_billing:
profile_saved_proceed_payment: Données enregistrées. Procède au paiement.
profile_updated: Données de facturation mises à jour.
stripe_not_configured: Stripe non configuré.
subscription_canceled: "Abonnement résilié. Il reste actif jusqu'au %{date} ; à partir de ce jour tu passeras au forfait Gratuit."
stripe_error: "Erreur Stripe : %{message}"
invoice_pdf_unavailable: PDF de la facture non disponible.
club_recordings:
not_authorized: Non autorisé
teams:
added: "Équipe « %{name} » ajoutée."
updated: Équipe mise à jour.
now_staff: Ton compte est maintenant responsable diffusion.
staff_role_removed: Rôle staff retiré de ton compte.
invite_link_generated: "Lien d'invitation généré (valable 7 jours)"
access_revoked: Accès révoqué
invitation_canceled: Invitation annulée
youtube_disconnected: Chaîne YouTube du club déconnectée
matches:
scheduled: "Match programmé : %{opponent}. Lance le streaming depuis l'application une fois sur place."
updated: Match mis à jour.
close_live_before_delete: Termine le direct avant de supprimer ce match.
deleted: Match supprimé.
schedule_denied: Seul un responsable diffusion ou le titulaire du club peut programmer des matchs.
club_matches:
invalid_team: Sélectionne une équipe valide.
scheduled: "Match programmé : %{team} vs %{opponent}."
no_schedulable_teams: Tu n'as pas les autorisations pour programmer des matchs dans ce club.
team_roster_members:
added: "%{name} ajouté(e) à l'effectif."
updated: Fiche mise à jour.
removed: "%{name} retiré(e) de l'effectif."
invitations:
invalid_or_expired: Invitation invalide ou expirée
invalid: Invitation invalide
wrong_email: "Cette invitation est destinée à %{email}"
joined_team: Tu as rejoint l'équipe !
signup_to_accept: "Inscris-toi avec %{email} pour accepter l'invitation"
registrations:
accept_terms_required: Tu dois accepter la politique de confidentialité et les conditions d'utilisation pour t'inscrire.
welcome_to_team: Bienvenue dans l'équipe !
account_created: Compte créé. Inscris maintenant ton club.
sessions:
welcome_back: Bon retour !
invalid_credentials: E-mail ou mot de passe invalide
logged_out: Déconnecté
unauthorized: Non autorisé
invalid_token: Jeton invalide
password_resets:
email_sent: Si l'e-mail est enregistré, tu recevras bientôt un lien pour réinitialiser le mot de passe.
invalid_or_expired_link: Lien invalide ou expiré. Demande une nouvelle réinitialisation du mot de passe.
password_min_length: Le mot de passe doit comporter au moins 8 caractères
password_too_short: Le mot de passe doit comporter au moins 8 caractères
password_too_long: Le mot de passe ne peut pas dépasser 72 caractères
password_too_weak: "Le mot de passe doit inclure au moins 3 parmi : minuscules, majuscules, chiffres et symboles"
password_same_as_current: "Le nouveau mot de passe doit être différent de l'actuel"
password_mismatch: Les mots de passe ne correspondent pas
password_updated: Mot de passe mis à jour. Tu peux maintenant te connecter.
accounts:
name_required: Le nom est obligatoire
profile_updated: Profil mis à jour.
password_current_incorrect: Le mot de passe actuel est incorrect
password_too_short: Le mot de passe doit contenir au moins 8 caractères
password_too_long: Le mot de passe ne peut pas dépasser 72 caractères
password_too_weak: "Le mot de passe doit inclure au moins 3 parmi : minuscules, majuscules, chiffres et symboles"
password_same_as_current: "Le nouveau mot de passe doit être différent de l'actuel"
password_mismatch: Les mots de passe ne correspondent pas
password_updated: Mot de passe mis à jour.
password_update_failed: Impossible de mettre à jour le mot de passe
replay:
download_unavailable: Téléchargement non disponible
not_available: Replay non disponible
live:
index:
meta_title: "Matchs jeunes en direct en ce moment — Match Live TV"
meta_description: "Regardez les matchs jeunes en direct en ce moment et les prochains matchs programmés. Recherchez votre équipe et ouvrez le lien sans installer d'application."
club_back_link: "← %{name}"
club_title: "Directs et matchs — %{name}"
club_hint: "Uniquement les équipes de ce club : directs en cours et matchs programmés depuis l'application ou le site."
club_replay_link: "Replays de %{name}"
default_title: "Directs et matchs programmés"
default_hint: "Recherchez par club, équipe, adversaire ou lieu : retrouvez les directs actifs et les matchs programmés."
replay_archive_link: "Directs passés — archive des replays"
schedule_match_link: "Programmer un match"
search_placeholder_club: "Rechercher club, équipe, adversaire ou lieu…"
search_placeholder_default: "Ex. Crazy Volley, Série D, adversaire…"
search_aria_label: "Rechercher une équipe"
search_button: "Rechercher"
reset_link: "Réinitialiser"
results_hint: "Résultats pour «%{query}»%{club_suffix} : %{live_count} en direct · %{upcoming_count} à venir"
results_hint_club_suffix: " dans %{name}"
section_live_now: "En direct maintenant"
badge_on_air: "À l'antenne"
badge_live: "Live"
badge_paused: "En pause"
badge_reconnecting: "Reconnexion"
badge_starting: "Démarrage"
badge_scheduled: "Programmé"
watch_link: "Regarder le direct →"
section_upcoming: "Prochains matchs"
upcoming_hint: "Programmés depuis l'application ou le site : le direct commencera dès que le staff lancera la diffusion."
empty_soft_title: "Aucun direct pour le moment."
empty_soft_body: "Revenez à l'heure indiquée : dès que l'équipe lancera le streaming, le match apparaîtra dans « En direct maintenant »."
empty_club_title: "Aucun direct ou match programmé pour %{name}."
empty_club_schedule_link: "Programmer le premier match"
empty_club_schedule_suffix: " ou depuis l'application Match Live TV."
empty_club_ask_staff: "Demandez au responsable du club ou à un responsable diffusion de programmer un match."
empty_club_add_team_html: "Ajoutez une équipe depuis la %{club_link} et programmez le premier match."
empty_club_page_link: "page du club"
empty_club_back_link: "← Retour au club"
empty_hero_title: "Aucun direct pour le moment — mais vous pouvez déjà vous organiser"
empty_hero_body: "Si votre équipe utilise Match Live TV, le match peut être programmé depuis le téléphone avec une date et une heure. Parents et proches retrouveront ici le direct dès que le coup d'envoi approchera."
empty_hero_list_item1: "Programmez le match depuis l'application (sans démarrer le direct tout de suite)"
empty_hero_list_item2: "Le match apparaît dans « Prochains matchs » avec l'heure et le terrain"
empty_hero_list_item3: "Le streaming ne démarre que lorsque vous appuyez sur démarrer dans la salle"
empty_hero_cta_signup: "Inscrivez votre équipe"
empty_hero_cta_features: "Découvrez comment ça marche"
demo_aria_label: "Exemple de direct actif"
demo_label: "Exemple — voici à quoi ressemble un direct actif"
demo_meta: "PalaTigers · Match Live TV"
demo_sets: "Set 2 · Sets gagnés 1-0"
show:
back_to_all: "← Tous les directs"
title: "%{club_name} · %{team_name} vs %{opponent_name} — Direct"
meta_description: "Suivez %{club_name} en direct — %{team_name} vs %{opponent_name}%{location}. Regardez depuis votre navigateur, sans installer d'application."
meta_description_location: " — %{location}"
stream_ended_title: "Direct terminé"
stream_ended_body: "La diffusion de ce match a été arrêtée."
stream_ended_closed_at: "Terminé le %{date}"
stream_ended_hint: "Le score est visible dans la vidéo si le direct était encore en cours."
stream_ended_reload_hint: "Rechargez la page pour le dernier état enregistré."
all_live_link: "Tous les directs"
youtube_title: "Direct sur YouTube"
youtube_available_body: "Ce match est diffusé sur la chaîne YouTube Match Live TV, pas sur le lecteur du site."
youtube_watch_link: "Regarder sur YouTube"
youtube_preparing_body: "Nous préparons le direct sur la chaîne YouTube. Actualisez dans quelques secondes."
youtube_hint: "Partagez uniquement le lien YouTube avec les supporters et le club."
play_hint: "▶ Démarrer le direct"
offline_msg: "Le direct n'est pas encore disponible. Il se met à jour automatiquement dès qu'il reprend l'antenne."
awaiting_msg: "En attente du signal du téléphone — ouvrez la caméra dans l'application et vérifiez que le direct est bien démarré (pas en pause)."
paused_msg: "Diffusion en pause — le flux continue (écran de couverture serveur)."
js_reconnecting_awaiting: "Reconnexion en cours - en attente de la vidéo de l'événement"
overlays:
badge_ended: "Terminé"
badge_waiting: "En attente"
replay:
index:
meta_title: "Replay — Match Live TV"
meta_description: "Archive des replays des directs sportifs sur Match Live TV. Recherchez par club, équipe ou adversaire."
back_to_live: "← Directs en cours"
title: "Directs passés"
hint: "Replays publics des clubs sportifs — concerne les matchs déjà diffusés."
search_placeholder: "Ex. Tigers Volley, adversaire, club, lieu…"
search_aria_label: "Rechercher un replay"
search_button: "Rechercher"
reset_link: "Réinitialiser"
club_filter_label: "Club"
club_filter_all: "Tous les clubs"
results_hint: "Résultats pour «%{query}»%{club_suffix} : %{count} replays"
results_hint_club_suffix: " · %{name}"
empty_filtered_title: "Aucun replay trouvé"
empty_filtered_suffix: " avec les filtres sélectionnés."
empty_filtered_show_all: "Afficher tous les replays publics"
empty_default_title: "Aucun replay public pour le moment."
empty_default_body: "Quand un club rend un enregistrement public, il apparaîtra ici."
empty_default_live_link: "Voir les directs en cours"
show:
title: "Replay — %{title}"
meta_description: "Replay %{title} sur Match Live TV."
back_to_replays: "← Directs passés"
processing_title: "Replay en cours de traitement"
processing_body: "L'enregistrement est en cours de préparation. Vous recevrez un e-mail dès qu'il sera prêt."
badge_label: "REPLAY"
meta_line_duration: "Durée %{value}"
meta_line_until: "Jusqu'au %{date}"
meta_line_public: "Public"
meta_line_private: "Privé (lien)"
download_link: "Télécharger le MP4"
youtube_link: "Ouvrir sur YouTube"
youtube_only_body: "Replay sur YouTube (aucune copie serveur disponible)."
file_missing_title: "Fichier non disponible"
file_missing_body: "La vidéo n'est plus sur le serveur (archive supprimée ou en migration)."
file_missing_meta: "Durée enregistrée : %{duration} · %{size}"
failed_title: "Replay non disponible"
failed_default_body: "Erreur lors du traitement de l'enregistrement."
unavailable_title: "Replay non disponible"
unavailable_body: "Cet enregistrement n'est plus accessible."
team_pages:
index:
meta_title: "Équipes sur Match Live TV — Directs et replays sports jeunes"
meta_description: "Découvrez les équipes sportives jeunes qui diffusent sur Match Live TV. Recherchez par nom, filtrez par sport, trouvez les directs en cours et les archives de replays."
heading: "Équipes sur Match Live TV"
hint: "Clubs et équipes avec des directs, des replays publics ou des matchs programmés. Recherchez votre équipe et ouvrez la page pour suivre le calendrier et l'archive."
search_placeholder: "Nom de l'équipe, club, ville ou salle…"
search_aria_label: "Rechercher une équipe"
search_button: "Rechercher"
sport_label: "Sport"
sport_all: "Tous les sports"
chips_label: "Afficher"
chip_live: "En direct"
chip_replays: "Avec replays"
reset_link: "Réinitialiser"
results_found: "%{count} équipes trouvées"
results_active: "%{count} équipes actives"
results_query_suffix: " pour «%{query}»"
results_sport_suffix: " · %{sport}"
badge_live: "En direct"
badge_upcoming: "%{count} à venir"
badge_replay: "%{count} replays"
empty_filtered_title: "Aucune équipe trouvée"
empty_filtered_suffix: " avec les filtres sélectionnés."
empty_filtered_show_all: "Afficher toutes les équipes actives"
empty_default_title: "Aucune équipe active pour le moment."
empty_default_body: "Quand un club démarrera un direct ou publiera des replays, il apparaîtra ici."
empty_default_live_link: "Voir les directs en cours"
footer_live_link: "Directs en cours"
footer_replay_link: "Archive des replays"
show:
title: "%{team} — %{club} | Match Live TV"
meta_description: "Suivez %{team} (%{club}) : directs, calendrier des matchs et replays sur Match Live TV."
breadcrumb_all_teams: "← Toutes les équipes"
live_now_label: "En direct maintenant"
watch_live_link: "Regarder le direct"
all_live_link: "Tous les directs"
replay_archive_link: "Archive des replays"
section_live_now: "En direct maintenant"
section_upcoming: "Prochains matchs"
upcoming_hint: "Programmés par le club : le direct commencera dès que le staff lancera la diffusion."
section_replays: "Replays récents"
replays_more_link: "Voir tous les replays de %{team} →"
section_roster: "Effectif"
empty_title: "Aucun direct ou replay pour le moment."
empty_body: "Revenez avant les prochains matchs : les directs, le calendrier et l'archive de l'équipe apparaîtront ici."
empty_link: "Voir tous les directs"
score:
timer_label: "Chronomètre"
generic_label: "Score"
sets_label: "Set %{set} · Sets gagnés %{home}-%{away}"
partial_entry: "Set %{set} %{home}-%{away}"
partial_entry_no_number: "Set %{home}-%{away}"
partials_prefix: "Partiels : %{value}"
points_label: "%{team} %{home} - %{away} %{opponent}"
fallback: "—"
default_club_name: "Club"
scheduled_date_format: "%d/%m/%Y à %H:%M"
scheduled_today: "Aujourd'hui à %{time}"
scheduled_tomorrow: "Demain à %{time}"