mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
fix(planner): the delete question says plainly what goes with a booked place
"The night booked at "Rostock" goes with the place, together with the booking "Rostock" and any expense linked to it" named the place twice and read awkwardly. The note now says "This also deletes the stay booked at "Rostock", its booking and any expense linked to it", quotes the booking only when its title differs from the place, and reads the same in all 23 languages.
This commit is contained in:
@@ -1314,6 +1314,25 @@ describe('useTripPlanner — place CRUD', () => {
|
||||
expect(result.current.deletePlaceNote).toBeNull()
|
||||
})
|
||||
|
||||
it('FE-TP-HOOK-140: a booking named after its hotel is not quoted a second time', async () => {
|
||||
const hotel = buildPlace({ id: 1, name: 'Rostock', lat: 54.09, lng: 12.1 })
|
||||
seedTrip({
|
||||
places: [hotel],
|
||||
reservations: [buildReservation({ id: 9, type: 'hotel', title: 'Rostock', accommodation_id: 7 })],
|
||||
})
|
||||
vi.mocked(accommodationRepo.list).mockResolvedValue({
|
||||
accommodations: [{ id: 7, trip_id: 42, place_id: 1, start_day_id: 5, end_day_id: 6 }] as never,
|
||||
})
|
||||
|
||||
const { result } = await renderPlanner()
|
||||
await waitFor(() => expect(result.current.tripAccommodations).toHaveLength(1))
|
||||
const { result: i18n } = renderHook(() => useTranslation(), { wrapper })
|
||||
|
||||
act(() => { result.current.handleDeletePlace(1) })
|
||||
expect(result.current.deletePlaceNote).toBe(i18n.current.t('trip.confirm.deletePlaceBookedSame', { name: 'Rostock' }))
|
||||
expect(result.current.deletePlaceNote).toBe('This also deletes the stay booked at “Rostock”, its booking and any expense linked to it.')
|
||||
})
|
||||
|
||||
it('FE-TP-HOOK-119: a bulk delete warns once any of the places carries a night, booking or not', async () => {
|
||||
const hotel = buildPlace({ id: 1, name: 'Hotel Fjord', lat: 60.39, lng: 5.32 })
|
||||
const cafe = buildPlace({ id: 2, name: 'Cafe', lat: 1, lng: 2 })
|
||||
|
||||
@@ -513,7 +513,8 @@ export function useTripPlanner() {
|
||||
* itself only names the place, and those are the rows the traveller least expects
|
||||
* to lose, so the dialog says so before the yes. The expense list is loaded with
|
||||
* the costs tab, not here, so the sentence speaks of any expense rather than
|
||||
* counting them. Null when nothing beyond the place is at stake.
|
||||
* counting them. A booking named after its hotel, which is how most are named,
|
||||
* is not quoted a second time. Null when nothing beyond the place is at stake.
|
||||
*/
|
||||
const bookedNightsNote = useCallback((placeIds: number[]): string | null => {
|
||||
const stays = tripAccommodations.filter(stay => stay.place_id != null && placeIds.includes(stay.place_id))
|
||||
@@ -525,9 +526,10 @@ export function useTripPlanner() {
|
||||
?? stay.reservation_title ?? null)
|
||||
.filter((title): title is string => !!title)
|
||||
const name = names.join(', ')
|
||||
return bookings.length > 0
|
||||
? t('trip.confirm.deletePlaceBooked', { name, booking: bookings.join(', ') })
|
||||
: t('trip.confirm.deletePlaceNight', { name })
|
||||
if (bookings.length === 0) return t('trip.confirm.deletePlaceNight', { name })
|
||||
return bookings.every(title => names.includes(title))
|
||||
? t('trip.confirm.deletePlaceBookedSame', { name })
|
||||
: t('trip.confirm.deletePlaceBooked', { name, booking: bookings.join(', ') })
|
||||
}, [tripAccommodations, allPlaces, reservations, t])
|
||||
const deletePlaceNote = useMemo(
|
||||
() => (deletePlaceId ? bookedNightsNote([deletePlaceId]) : null),
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'التحويلات',
|
||||
'transit.walkLabel': 'المشي',
|
||||
'transit.searchHint': 'ابحث عن رحلات فعلية وأضفها مباشرة إلى اليوم — البيانات عبر Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'ستُحذف الليلة المحجوزة في "{name}" مع المكان.',
|
||||
'trip.confirm.deletePlaceBooked': 'ستُحذف الليلة المحجوزة في "{name}" مع المكان، ومعها الحجز "{booking}" وأي مصروف مرتبط به.',
|
||||
'trip.confirm.deletePlaceNight': 'سيؤدي ذلك أيضًا إلى حذف الإقامة المحجوزة في "{name}".',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'سيؤدي ذلك أيضًا إلى حذف الإقامة المحجوزة في "{name}" والحجز "{booking}" وأي مصروف مرتبط به.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'سيؤدي ذلك أيضًا إلى حذف الإقامة المحجوزة في "{name}" وحجزها وأي مصروف مرتبط به.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Baldeações',
|
||||
'transit.walkLabel': 'A pé',
|
||||
'transit.searchHint': 'Busque conexões reais e adicione direto ao dia — dados via Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'A noite reservada em “{name}” desaparece com o local.',
|
||||
'trip.confirm.deletePlaceBooked': 'A noite reservada em “{name}” desaparece com o local, juntamente com a reserva “{booking}” e qualquer despesa associada.',
|
||||
'trip.confirm.deletePlaceNight': 'Isso também exclui a estadia reservada em “{name}”.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Isso também exclui a estadia reservada em “{name}”, a reserva “{booking}” e qualquer despesa vinculada a ela.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Isso também exclui a estadia reservada em “{name}”, a reserva dela e qualquer despesa vinculada.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'trip.loadingSteps.road': 'Sortint de camí...',
|
||||
'trip.loadingSteps.arrive': 'Gairebé hi som...',
|
||||
'trip.toast.tripUpdated': 'Viatge actualitzat',
|
||||
'trip.confirm.deletePlaceNight': 'La nit reservada a «{name}» es perd amb el lloc.',
|
||||
'trip.confirm.deletePlaceBooked': 'La nit reservada a «{name}» es perd amb el lloc, juntament amb la reserva «{booking}» i qualsevol despesa vinculada.',
|
||||
'trip.confirm.deletePlaceNight': 'També s’elimina l’estada reservada a «{name}».',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'També s’eliminen l’estada reservada a «{name}», la reserva «{booking}» i qualsevol despesa vinculada.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'També s’eliminen l’estada reservada a «{name}», la seva reserva i qualsevol despesa vinculada.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Přestupy',
|
||||
'transit.walkLabel': 'Chůze',
|
||||
'transit.searchHint': 'Vyhledejte reálná spojení a přidejte je rovnou do dne — data přes Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Noc rezervovaná v „{name}“ zmizí spolu s místem.',
|
||||
'trip.confirm.deletePlaceBooked': 'Noc rezervovaná v „{name}“ zmizí spolu s místem, včetně rezervace „{booking}“ a všech navázaných výdajů.',
|
||||
'trip.confirm.deletePlaceNight': 'Tím se smaže i ubytování rezervované v „{name}“.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Tím se smažou i ubytování rezervované v „{name}“, rezervace „{booking}“ a všechny navázané výdaje.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Tím se smažou i ubytování rezervované v „{name}“, jeho rezervace a všechny navázané výdaje.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Umstiege',
|
||||
'transit.walkLabel': 'Fußweg',
|
||||
'transit.searchHint': 'Echte Verbindungen suchen und direkt zum Tag hinzufügen — Daten via Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Die in „{name}“ gebuchte Nacht geht mit dem Ort verloren.',
|
||||
'trip.confirm.deletePlaceBooked': 'Die in „{name}“ gebuchte Nacht geht mit dem Ort verloren, zusammen mit der Buchung „{booking}“ und jeder damit verknüpften Ausgabe.',
|
||||
'trip.confirm.deletePlaceNight': 'Damit wird auch die in „{name}“ gebuchte Unterkunft gelöscht.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Damit werden auch die in „{name}“ gebuchte Unterkunft, die Buchung „{booking}“ und alle damit verknüpften Ausgaben gelöscht.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Damit werden auch die in „{name}“ gebuchte Unterkunft, ihre Buchung und alle damit verknüpften Ausgaben gelöscht.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Transfers',
|
||||
'transit.walkLabel': 'Walking',
|
||||
'transit.searchHint': 'Search real connections and add them straight to the day — data via Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'The night booked at “{name}” goes with the place.',
|
||||
'trip.confirm.deletePlaceBooked': 'The night booked at “{name}” goes with the place, together with the booking “{booking}” and any expense linked to it.',
|
||||
'trip.confirm.deletePlaceNight': 'This also deletes the stay booked at “{name}”.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'This also deletes the stay booked at “{name}”, the booking “{booking}” and any expense linked to it.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'This also deletes the stay booked at “{name}”, its booking and any expense linked to it.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Transbordos',
|
||||
'transit.walkLabel': 'A pie',
|
||||
'transit.searchHint': 'Busca conexiones reales y añádelas directamente al día — datos vía Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'La noche reservada en «{name}» se pierde con el lugar.',
|
||||
'trip.confirm.deletePlaceBooked': 'La noche reservada en «{name}» se pierde con el lugar, junto con la reserva «{booking}» y cualquier gasto vinculado.',
|
||||
'trip.confirm.deletePlaceNight': 'También se elimina la estancia reservada en «{name}».',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'También se eliminan la estancia reservada en «{name}», la reserva «{booking}» y cualquier gasto vinculado.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'También se eliminan la estancia reservada en «{name}», su reserva y cualquier gasto vinculado.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -89,7 +89,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Correspondances',
|
||||
'transit.walkLabel': 'Marche',
|
||||
'transit.searchHint': 'Recherchez de vraies liaisons et ajoutez-les directement au jour — données via Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'La nuit réservée à « {name} » disparaît avec le lieu.',
|
||||
'trip.confirm.deletePlaceBooked': 'La nuit réservée à « {name} » disparaît avec le lieu, ainsi que la réservation « {booking} » et toute dépense qui y est liée.',
|
||||
'trip.confirm.deletePlaceNight': 'Le séjour réservé à « {name} » sera également supprimé.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Le séjour réservé à « {name} », la réservation « {booking} » et toute dépense liée seront également supprimés.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Le séjour réservé à « {name} », sa réservation et toute dépense liée seront également supprimés.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -90,7 +90,10 @@ const trip: TranslationStrings = {
|
||||
'transit.walkLabel': 'Περπάτημα',
|
||||
'transit.searchHint':
|
||||
'Αναζητήστε πραγματικές συνδέσεις και προσθέστε τις απευθείας στην ημέρα — δεδομένα μέσω Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Η διανυκτέρευση που κρατήθηκε στο «{name}» χάνεται μαζί με το μέρος.',
|
||||
'trip.confirm.deletePlaceBooked': 'Η διανυκτέρευση που κρατήθηκε στο «{name}» χάνεται μαζί με το μέρος, μαζί με την κράτηση «{booking}» και κάθε συνδεδεμένο έξοδο.',
|
||||
'trip.confirm.deletePlaceNight': 'Θα διαγραφεί επίσης η διαμονή που κρατήθηκε στο «{name}».',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Θα διαγραφούν επίσης η διαμονή που κρατήθηκε στο «{name}», η κράτηση «{booking}» και κάθε συνδεδεμένο έξοδο.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Θα διαγραφούν επίσης η διαμονή που κρατήθηκε στο «{name}», η κράτησή της και κάθε συνδεδεμένο έξοδο.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -90,7 +90,10 @@ const trip: TranslationStrings = {
|
||||
'transit.walkLabel': 'Gyaloglás',
|
||||
'transit.searchHint':
|
||||
'Keress valós összeköttetéseket, és add hozzá őket közvetlenül a naphoz – adatok a Transitous révén.',
|
||||
'trip.confirm.deletePlaceNight': 'A(z) „{name}” helyre foglalt éjszaka a hellyel együtt törlődik.',
|
||||
'trip.confirm.deletePlaceBooked': 'A(z) „{name}” helyre foglalt éjszaka a hellyel együtt törlődik, a(z) „{booking}” foglalással és a hozzá kapcsolt kiadásokkal.',
|
||||
'trip.confirm.deletePlaceNight': 'Ezzel a(z) „{name}” helyen foglalt szállás is törlődik.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Ezzel a(z) „{name}” helyen foglalt szállás, a(z) „{booking}” foglalás és a hozzá kapcsolt kiadások is törlődnek.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Ezzel a(z) „{name}” helyen foglalt szállás, a foglalása és a hozzá kapcsolt kiadások is törlődnek.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -89,7 +89,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Transit',
|
||||
'transit.walkLabel': 'Jalan kaki',
|
||||
'transit.searchHint': 'Cari koneksi nyata dan tambahkan langsung ke hari itu — data melalui Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Malam yang dipesan di “{name}” ikut hilang bersama tempat ini.',
|
||||
'trip.confirm.deletePlaceBooked': 'Malam yang dipesan di “{name}” ikut hilang bersama tempat ini, beserta pemesanan “{booking}” dan pengeluaran yang terkait.',
|
||||
'trip.confirm.deletePlaceNight': 'Ini juga menghapus penginapan yang dipesan di “{name}”.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Ini juga menghapus penginapan yang dipesan di “{name}”, pemesanan “{booking}”, dan pengeluaran yang terkait.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Ini juga menghapus penginapan yang dipesan di “{name}”, pemesanannya, dan pengeluaran yang terkait.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Cambi',
|
||||
'transit.walkLabel': 'A piedi',
|
||||
'transit.searchHint': 'Cerca collegamenti reali e aggiungili direttamente alla giornata — dati via Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'La notte prenotata a «{name}» va via con il luogo.',
|
||||
'trip.confirm.deletePlaceBooked': 'La notte prenotata a «{name}» va via con il luogo, insieme alla prenotazione «{booking}» e a ogni spesa collegata.',
|
||||
'trip.confirm.deletePlaceNight': 'Verrà eliminato anche il soggiorno prenotato a «{name}».',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Verranno eliminati anche il soggiorno prenotato a «{name}», la prenotazione «{booking}» e ogni spesa collegata.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Verranno eliminati anche il soggiorno prenotato a «{name}», la sua prenotazione e ogni spesa collegata.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,8 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': '乗り換え',
|
||||
'transit.walkLabel': '徒歩',
|
||||
'transit.searchHint': '実際の経路を検索して、そのまま日程に追加できます — データは Transitous 提供。',
|
||||
'trip.confirm.deletePlaceNight': '「{name}」で予約した宿泊も場所と一緒に削除されます。',
|
||||
'trip.confirm.deletePlaceBooked': '「{name}」で予約した宿泊も場所と一緒に削除され、予約「{booking}」と関連する支出も失われます。',
|
||||
'trip.confirm.deletePlaceNight': '「{name}」で予約した宿泊も削除されます。',
|
||||
'trip.confirm.deletePlaceBooked': '「{name}」で予約した宿泊、予約「{booking}」、関連する支出も削除されます。',
|
||||
'trip.confirm.deletePlaceBookedSame': '「{name}」で予約した宿泊とその予約、関連する支出も削除されます。',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,8 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': '환승',
|
||||
'transit.walkLabel': '도보',
|
||||
'transit.searchHint': '실제 연결편을 검색하고 바로 일정에 추가하세요 — 데이터 제공: Transitous.',
|
||||
'trip.confirm.deletePlaceNight': '“{name}”에 예약된 숙박도 장소와 함께 삭제됩니다.',
|
||||
'trip.confirm.deletePlaceBooked': '“{name}”에 예약된 숙박이 장소와 함께 삭제되며, 예약 “{booking}” 및 연결된 지출도 함께 삭제됩니다.',
|
||||
'trip.confirm.deletePlaceNight': '“{name}”에 예약된 숙박도 함께 삭제됩니다.',
|
||||
'trip.confirm.deletePlaceBooked': '“{name}”에 예약된 숙박, 예약 “{booking}” 및 연결된 지출도 함께 삭제됩니다.',
|
||||
'trip.confirm.deletePlaceBookedSame': '“{name}”에 예약된 숙박과 그 예약, 연결된 지출도 함께 삭제됩니다.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Overstappen',
|
||||
'transit.walkLabel': 'Lopen',
|
||||
'transit.searchHint': 'Zoek echte verbindingen en voeg ze direct toe aan de dag — gegevens via Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'De nacht geboekt bij ‘{name}’ verdwijnt met de plek.',
|
||||
'trip.confirm.deletePlaceBooked': 'De nacht geboekt bij ‘{name}’ verdwijnt met de plek, samen met de boeking ‘{booking}’ en elke gekoppelde uitgave.',
|
||||
'trip.confirm.deletePlaceNight': 'Hiermee wordt ook het verblijf geboekt bij ‘{name}’ verwijderd.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Hiermee worden ook het verblijf geboekt bij ‘{name}’, de boeking ‘{booking}’ en elke gekoppelde uitgave verwijderd.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Hiermee worden ook het verblijf geboekt bij ‘{name}’, de bijbehorende boeking en elke gekoppelde uitgave verwijderd.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Przesiadki',
|
||||
'transit.walkLabel': 'Pieszo',
|
||||
'transit.searchHint': 'Wyszukaj prawdziwe połączenia i dodaj je od razu do dnia — dane z Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Nocleg zarezerwowany w „{name}” zniknie razem z miejscem.',
|
||||
'trip.confirm.deletePlaceBooked': 'Nocleg zarezerwowany w „{name}” zniknie razem z miejscem, wraz z rezerwacją „{booking}” i powiązanymi wydatkami.',
|
||||
'trip.confirm.deletePlaceNight': 'Zostanie też usunięty nocleg zarezerwowany w „{name}”.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Zostaną też usunięte nocleg zarezerwowany w „{name}”, rezerwacja „{booking}” i powiązane wydatki.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Zostaną też usunięte nocleg zarezerwowany w „{name}”, jego rezerwacja i powiązane wydatki.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Пересадки',
|
||||
'transit.walkLabel': 'Пешком',
|
||||
'transit.searchHint': 'Ищите реальные маршруты и добавляйте их прямо в день — данные от Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Ночёвка, забронированная в «{name}», исчезнет вместе с местом.',
|
||||
'trip.confirm.deletePlaceBooked': 'Ночёвка, забронированная в «{name}», исчезнет вместе с местом, а с ней бронирование «{booking}» и связанные расходы.',
|
||||
'trip.confirm.deletePlaceNight': 'Также будет удалено проживание, забронированное в «{name}».',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Также будут удалены проживание, забронированное в «{name}», бронирование «{booking}» и связанные расходы.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Также будут удалены проживание, забронированное в «{name}», его бронирование и связанные расходы.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Byten',
|
||||
'transit.walkLabel': 'Gång',
|
||||
'transit.searchHint': 'Sök verkliga förbindelser och lägg till dem direkt i dagen – data via Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Natten som är bokad på ”{name}” försvinner med platsen.',
|
||||
'trip.confirm.deletePlaceBooked': 'Natten som är bokad på ”{name}” försvinner med platsen, tillsammans med bokningen ”{booking}” och alla utgifter som hör till den.',
|
||||
'trip.confirm.deletePlaceNight': 'Då raderas även vistelsen som är bokad på ”{name}”.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Då raderas även vistelsen som är bokad på ”{name}”, bokningen ”{booking}” och alla utgifter som hör till den.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Då raderas även vistelsen som är bokad på ”{name}”, dess bokning och alla utgifter som hör till den.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -89,7 +89,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Aktarma',
|
||||
'transit.walkLabel': 'Yürüyüş',
|
||||
'transit.searchHint': 'Gerçek bağlantıları ara ve doğrudan güne ekle — veriler Transitous üzerinden.',
|
||||
'trip.confirm.deletePlaceNight': '“{name}” için ayrılan gece yerle birlikte silinir.',
|
||||
'trip.confirm.deletePlaceBooked': '“{name}” için ayrılan gece, “{booking}” rezervasyonu ve ona bağlı tüm harcamalarla birlikte yerle beraber silinir.',
|
||||
'trip.confirm.deletePlaceNight': '“{name}” için ayrılan konaklama da silinir.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'“{name}” için ayrılan konaklama, “{booking}” rezervasyonu ve ona bağlı tüm harcamalar da silinir.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'“{name}” için ayrılan konaklama, rezervasyonu ve ona bağlı tüm harcamalar da silinir.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Пересадки',
|
||||
'transit.walkLabel': 'Пішки',
|
||||
'transit.searchHint': 'Шукайте справжні маршрути та додавайте їх одразу до дня — дані від Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Ночівля, заброньована в «{name}», зникне разом із місцем.',
|
||||
'trip.confirm.deletePlaceBooked': 'Ночівля, заброньована в «{name}», зникне разом із місцем, а з нею бронювання «{booking}» і пов’язані витрати.',
|
||||
'trip.confirm.deletePlaceNight': 'Також буде видалено проживання, заброньоване в «{name}».',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Також буде видалено проживання, заброньоване в «{name}», бронювання «{booking}» і пов’язані витрати.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Також буде видалено проживання, заброньоване в «{name}», його бронювання і пов’язані витрати.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -88,7 +88,10 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': 'Chuyển tuyến',
|
||||
'transit.walkLabel': 'Đi bộ',
|
||||
'transit.searchHint': 'Tìm các kết nối thực tế và thêm thẳng vào ngày — dữ liệu qua Transitous.',
|
||||
'trip.confirm.deletePlaceNight': 'Đêm đã đặt tại “{name}” sẽ mất cùng với địa điểm.',
|
||||
'trip.confirm.deletePlaceBooked': 'Đêm đã đặt tại “{name}” sẽ mất cùng với địa điểm, kèm theo đặt chỗ “{booking}” và mọi chi phí liên quan.',
|
||||
'trip.confirm.deletePlaceNight': 'Thao tác này cũng xóa chỗ lưu trú đã đặt tại “{name}”.',
|
||||
'trip.confirm.deletePlaceBooked':
|
||||
'Thao tác này cũng xóa chỗ lưu trú đã đặt tại “{name}”, đặt chỗ “{booking}” và mọi chi phí liên quan.',
|
||||
'trip.confirm.deletePlaceBookedSame':
|
||||
'Thao tác này cũng xóa chỗ lưu trú đã đặt tại “{name}”, đặt chỗ của nó và mọi chi phí liên quan.',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -87,7 +87,8 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': '轉乘次數',
|
||||
'transit.walkLabel': '步行',
|
||||
'transit.searchHint': '搜尋實際交通連線,並直接加入當天行程 — 資料由 Transitous 提供。',
|
||||
'trip.confirm.deletePlaceNight': '在「{name}」預訂的過夜會隨該地點一起刪除。',
|
||||
'trip.confirm.deletePlaceBooked': '在「{name}」預訂的過夜會隨該地點一起刪除,同時刪除預訂「{booking}」及其關聯的費用。',
|
||||
'trip.confirm.deletePlaceNight': '在「{name}」預訂的住宿也會一併刪除。',
|
||||
'trip.confirm.deletePlaceBooked': '在「{name}」預訂的住宿、預訂「{booking}」及其關聯的費用也會一併刪除。',
|
||||
'trip.confirm.deletePlaceBookedSame': '在「{name}」預訂的住宿及其預訂和關聯的費用也會一併刪除。',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
@@ -87,7 +87,8 @@ const trip: TranslationStrings = {
|
||||
'transit.transfersLabel': '换乘',
|
||||
'transit.walkLabel': '步行',
|
||||
'transit.searchHint': '搜索真实班次并直接添加到当天行程 — 数据来自 Transitous。',
|
||||
'trip.confirm.deletePlaceNight': '在“{name}”预订的过夜会随该地点一起删除。',
|
||||
'trip.confirm.deletePlaceBooked': '在“{name}”预订的过夜会随该地点一起删除,同时删除预订“{booking}”及其关联的费用。',
|
||||
'trip.confirm.deletePlaceNight': '在“{name}”预订的住宿也会一并删除。',
|
||||
'trip.confirm.deletePlaceBooked': '在“{name}”预订的住宿、预订“{booking}”及其关联的费用也会一并删除。',
|
||||
'trip.confirm.deletePlaceBookedSame': '在“{name}”预订的住宿及其预订和关联的费用也会一并删除。',
|
||||
};
|
||||
export default trip;
|
||||
|
||||
Reference in New Issue
Block a user