{{ t('appTitle') }}

{{ t('savedTrips') }}
{{ t('noSavedTrips') }}
{{ st.name || t('untitled') }}
{{ st.date }} · {{ st.participants?.length || 0 }} {{ t('participants').toLowerCase() }}
{{ stepInfo.num }} {{ t(stepInfo.key) }}
{{ t('stepSetup') }}
{{ t('participants') }}
{{ t('minParticipants') }}
{{ p.name }} {{ t(p.role === 'leader' ? 'roleLeader' : p.role === 'deputy' ? 'roleDeputy' : 'roleNormal') }}
{{ t('apiKey') }}
{{ t('apiKeyConfigured') }}
{{ t('noApiKey') }}
{{ t('apiKeyHelp') }}
{{ t('tripLegs') }}
{{ t('noLegs') }}
{{ t('leg') }} {{ legIdx + 1 }}
{{ r.label }}
{{ r.label }}
{{ t('fetchingRoute') }}
{{ t('cars') }} {{ carIdx + 1 }}
{{ t('carCost') }}: {{ carCost(car, leg).toFixed(2) }} CHF
{{ t('is6Plus') }}
{{ t('warningUnassigned') }}: {{ getUnassignedParticipants(leg).map(p => p.name).join(', ') }}
{{ t('legCost') }}: {{ legTotalCost(leg).toFixed(2) }} CHF
{{ t('expenses') }}
{{ t('noExpenses') }}
{{ t('expenses') }} {{ expIdx + 1 }}
{{ t('summary') }} — {{ trip.name || t('untitled') }} ({{ trip.date }})
{{ t('person') }} {{ t('role') }} {{ t('transportShare') }} {{ t('expenseShare') }} {{ t('totalOwed') }} {{ t('totalPaid') }} {{ t('balance') }}
{{ p.name }} {{ t(p.role === 'leader' ? 'roleLeader' : p.role === 'deputy' ? 'roleDeputy' : 'roleNormal') }} {{ summaryResults[p.id]?.totalOwed.toFixed(2) }} CHF {{ summaryResults[p.id]?.totalPaid.toFixed(2) }} CHF
{{ t('totalTransport') }}: {{ totalTransport.toFixed(2) }} CHF {{ t('totalExpenses') }}: {{ totalExpenses.toFixed(2) }} CHF Total: {{ (totalTransport + totalExpenses).toFixed(2) }} CHF
{{ t('suggestedTransfers') }}
{{ tr.fromName }} {{ t('pays') }} {{ tr.amount.toFixed(2) }} CHF {{ t('to2') }} {{ tr.toName }}
{{ whatsappText }}
{{ toastMessage }}