Chargement…

{{ t('landing_title') }}

{{ t('landing_pitch_1') }} {{ t('landing_pitch_keyword') }} {{ t('home_baseline_end') }}

{{ t('home_chip_free') }} {{ t('home_chip_noaccount') }} {{ t('home_chip_noads') }}
1
{{ t('home_step1_title') }}
{{ t('home_step1_desc') }}
2
{{ t('home_step2_title') }}
{{ t('home_step2_desc') }}
3
{{ t('home_step3_title') }}
{{ t('home_step3_desc') }}

{{ t('home_choose') }}

{{ t('landing_history_label') }}

{{ t('landing_footer_by') }} ézéo {{ t('landing_legal') }} {{ t('landing_cgu') }} {{ t('landing_nav_api') }}

{{ t('footer_disclaimer') }} {{ t('landing_cgu') }}

{{ brandName }} {{ t(roleAccent.label) }}
{{ t('hub_surtitle') }}

{{ event.title }}

{{ formatDateLong(event.date) }} {{ t('share_start_label') }} {{ event.startTime }} 📍 {{ event.location }} 🔗 {{ t('action_go_official') }}
🚗 {{ hubCarpoolsCount }} {{ tp('hub_carpools_count', hubCarpoolsCount) }}
{{ t('hub_empty') }}

{{ t('hub_privacy_note') }}

← {{ t('hub_back') }}
{{ brandName }} {{ t(roleAccent.label) }}
{{ t('event_help') }}
{{ isHubChild ? t('hero_surtitle_hub_child') : isLightMode ? t('hero_surtitle_light') : isViewMode ? t('hero_surtitle_invited') : t('hero_surtitle_event') }}

{{ event.title }}

{{ formatDateLong(event.date) }} 🚗 {{ t('share_departure_label') }} {{ hubChildDeparture.name }} 📍 {{ event.location }} 💡 {{ event.note }} 🔗 {{ t('action_go_official') }}
{{ heroStatus.center }}
{{ heroStatus.title }}
{{ heroStatus.sub }}
🔒 {{ t('hub_child_public_note') }}

{{ t('share_menu_view_label') }}

{{ t('share_menu_single_label') }}

{{ t('action_share_whatsapp') }}
{{ hubChildDriver && hubChildDriver.name ? hubChildDriver.name : t('driver_default') }}
{{ t('hub_child_offer_sub') }}
{{ hubChildSeatsLeft }} {{ tp('seat_free', hubChildSeatsLeft) }}
📍 {{ myPickupIsConfirmed ? t('pickup_confirmed') : t('pickup_preselected') }} {{ myPickupPoint.name }} {{ t('pickup_preselected_help') }}
{{ t('hub_child_offer_route') }}
{{ pp.time || '—' }} {{ pp.name }} {{ t('pickup_you_here') }} {{ t('hub_departure_badge') }} {{ pp.address }}
🏁 {{ event.location }} {{ event.address }} {{ t('arrival_estimated_note') }} {{ t('arrival_kickoff_prefix') }} {{ event.startTime }}
🔁 {{ t('hub_child_offer_return') }} {{ hubChildDriver.notes }}
{{ t('cost_per_passenger') }}
{{ t('cost_estimate_note') }}
{{ t('cost_legal_note') }}
{{ stepNo.event }}

{{ t('section_event_title') }}

{{ t('section_event_edit') }}
{{ t('options_label') }}

{{ t('roster_locked_hint_admin') }}

{{ stepNo.pickup }}

{{ t('section_pickup_points') }}

{{ t('pickup_points_empty') }}
{{ t('arrival_suggested_prefix') }} {{ arrivalEstimate }}
{{ stepNo.accompagnants }}

{{ t('section_accompagnants') }}

{{ t('section_accompagnants_help') }}

{{ t('section_accompagnants_visitor_help') }}

{{ acc.has_car ? '🚗' : '🧍' }}
{{ t('discussion_section_title') }}
{{ t('discussion_empty') }}
{{ msg.author }} {{ formatMsgTime(msg.created_at) }}
{{ msg.body }}
{{ t('share_block_title') }}
{{ t('action_share_whatsapp') }}
{{ t('action_share_email') }}

{{ t('footer_no_account') }} {{ t('footer_no_tracking') }} {{ t('footer_minimal_data') }}

{{ t('footer_tool_by_scop') }} ézéo {{ t('footer_ezeo_tagline') }}

{{ t('footer_disclaimer') }} {{ t('landing_cgu') }}

{{ t('landing_about') }} {{ t('landing_legal') }} {{ t('landing_cgu') }}

💾 {{ t('roster_save_title') }}

{{ t('roster_save_lead') }}

{{ rosterDraft.lines.length }} {{ t('roster_count_suffix') }}
{{ rosterDraft.lines.join(' · ') }}

{{ rosterError }}

🔒 {{ t('roster_device_note') }}

{{ t('roster_shared_device_note') }}

{{ importTarget === 'drivers' ? t('import_title_drivers') : t('import_title_participants') }}

{{ t('import_help_drivers_1') }} , 3 {{ t('import_help_drivers_2') }} {{ t('import_help_participants') }}

{{ t('roster_saved_lists') }}
✓ {{ importParsed.filter(i => !i.isDuplicate).length }} {{ t('import_to_import_suffix') }} ⚠ {{ importParsed.filter(i => i.isDuplicate).length }} {{ tp('import_duplicate', importParsed.filter(i => i.isDuplicate).length) }} {{ importParsed.filter(i => i.isDuplicate).map(i => i.name).join(', ') }}

{{ t('duplicate_modal_title') }}

{{ t('hub_modal_title') }}

{{ t('hub_modal_subtitle') }}

{{ t('hub_form_steps') }}

{{ t('hub_step_first_hint') }}

{{ i + 1 }}

{{ t(deleteConfirm.title || 'confirm_delete') }}

« {{ deleteConfirm.name }} »

{{ t(deleteConfirm.message || 'confirm_delete_message') }}

{{ t('cgu_modal_title') }}

{{ brandName }}{{ t('cgu_modal_text_suffix') }}

{{ t('print_modal_title') }}


{{ t('qr_modal_title') }}

{{ t('qr_modal_hint') }}

{{ event.title }}

{{ t('repartition_mode_label') }}
{{ event.title || '—' }}
📅 {{ formatDateLong(event.date) }} 🕐 départ {{ event.departureTime }} ⚽ début {{ event.startTime }} 📍 {{ event.location }}
{{ repartitionPlaced }}/{{ repartitionParticipants.length }} {{ t('repartition_placed_label') }} {{ repartitionParticipants.length - repartitionPlaced }} à placer {{ repartitionCars.length }} voiture{{ repartitionCars.length > 1 ? 's' : '' }}
{{ t('section_who_comes') }}
{{ t('repartition_no_need') }}
{{ p.name || '—' }} {{ repartitionDriverFor(p) }} {{ t('pool_to_place_label') }}
{{ t('section_who_drives') }}
{{ t('repartition_no_cars') }}
{{ car.name }}
{{ seatsOccupied(car, repartitionDirection) }}/{{ car.seats }} {{ tp('seat', car.seats) }}
{{ car.notes }}
{{ passenger.name }}
{{ acc.name || t('accompagnant_default') }} ×{{ acc.people_count }} 📣
{{ car.seats - seatsOccupied(car, repartitionDirection) }} {{ tp('seat_free', car.seats - seatsOccupied(car, repartitionDirection)) }}
{{ repartitionAddModal === 'participant' ? 'Ajouter un participant' : repartitionAddModal === 'edit-car' ? 'Modifier la voiture' : 'Ajouter une voiture' }}
{{ t('pwa_smart_title') }}
{{ t('pwa_smart_sub') }}
{{ t('pwa_ios_step1') }} {{ t('pwa_ios_step2') }}
{{ toast.message }}