mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
feat: optimize routes around accommodation, confirm note deletions (#1123)
Optimize day routes around the accommodation
When a day has an accommodation set, the route optimizer now treats it as
the day's home base: it optimizes a loop that leaves the hotel and returns
to it, so the stop nearest the hotel comes first. On a transfer day -
checking out of one hotel and into another - the route runs from the first
hotel to the second instead.
The optimizer also gained a 2-opt pass on top of the nearest-neighbor
ordering, which removes the crossings the greedy pass used to leave behind.
A new display setting ("optimize route from accommodation", on by default)
lets you turn the anchoring off.
Confirm before deleting notes
Deleting a plan note or a collab note now asks for confirmation first. On
phones and tablets the edit and delete icons sit close together and were
easy to mis-tap, which deleted notes with no way back.
This commit is contained in:
@@ -39,6 +39,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'إلغاء',
|
||||
'collab.notes.edit': 'تعديل',
|
||||
'collab.notes.delete': 'حذف',
|
||||
'collab.notes.confirmDeleteTitle': 'حذف الملاحظة؟',
|
||||
'collab.notes.confirmDeleteBody': 'سيتم حذف هذه الملاحظة نهائيًا.',
|
||||
'collab.notes.pin': 'تثبيت',
|
||||
'collab.notes.unpin': 'إلغاء التثبيت',
|
||||
'collab.notes.daysAgo': 'منذ {n} يوم',
|
||||
|
||||
@@ -9,6 +9,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'هذا المكان له وقت ثابت ({time}). نقله سيزيل الوقت ويسمح بالترتيب الحر.',
|
||||
'dayplan.confirmRemoveTimeAction': 'إزالة الوقت ونقل',
|
||||
'dayplan.confirmDeleteNoteTitle': 'حذف الملاحظة؟',
|
||||
'dayplan.confirmDeleteNoteBody': 'سيتم حذف هذه الملاحظة نهائيًا.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'لا يمكن وضع العناصر بين الإدخالات المرتبطة بوقت',
|
||||
'dayplan.cannotBreakChronology':
|
||||
@@ -29,6 +31,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.routeError': 'فشل حساب المسار',
|
||||
'dayplan.toast.needTwoPlaces': 'يلزم مكانان على الأقل لتحسين المسار',
|
||||
'dayplan.toast.routeOptimized': 'تم تحسين المسار',
|
||||
'dayplan.toast.routeOptimizedFromHotel': 'تم تحسين المسار انطلاقًا من مكان إقامتك',
|
||||
'dayplan.toast.noGeoPlaces': 'لم يتم العثور على أماكن بإحداثيات لحساب المسار',
|
||||
'dayplan.confirmed': 'مؤكد',
|
||||
'dayplan.pendingRes': 'قيد الانتظار',
|
||||
|
||||
@@ -60,6 +60,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'عرض أسماء المحطات/المطارات على الخريطة. عند الإيقاف، يتم عرض الرمز فقط.',
|
||||
'settings.blurBookingCodes': 'إخفاء رموز الحجز',
|
||||
'settings.optimizeFromAccommodation': 'تحسين المسار انطلاقًا من مكان الإقامة',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'عند تحسين يوم ما، يبدأ المسار من الفندق الذي تستيقظ فيه وينتهي عند الفندق الذي تسجّل الوصول إليه في تلك الليلة.',
|
||||
'settings.notifications': 'الإشعارات',
|
||||
'settings.notifyTripInvite': 'دعوات الرحلات',
|
||||
'settings.notifyBookingChange': 'تغييرات الحجز',
|
||||
|
||||
@@ -41,6 +41,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Cancelar',
|
||||
'collab.notes.edit': 'Editar',
|
||||
'collab.notes.delete': 'Excluir',
|
||||
'collab.notes.confirmDeleteTitle': 'Excluir nota?',
|
||||
'collab.notes.confirmDeleteBody': 'Esta nota será excluída permanentemente.',
|
||||
'collab.notes.pin': 'Fixar',
|
||||
'collab.notes.unpin': 'Desafixar',
|
||||
'collab.notes.daysAgo': 'há {n} d',
|
||||
|
||||
@@ -20,6 +20,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'São necessários pelo menos dois lugares para otimizar a rota',
|
||||
'dayplan.toast.routeOptimized': 'Rota otimizada',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Rota otimizada a partir da sua hospedagem',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Nenhum lugar com coordenadas para calcular a rota',
|
||||
'dayplan.confirmed': 'Confirmada',
|
||||
@@ -33,6 +35,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Este lugar tem um horário fixo ({time}). Movê-lo removerá o horário e permitirá ordenação livre.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Remover horário e mover',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Excluir nota?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Esta nota será excluída permanentemente.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Itens não podem ser colocados entre entradas com horário fixo',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -62,6 +62,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Unidade de temperatura',
|
||||
'settings.timeFormat': 'Formato de hora',
|
||||
'settings.blurBookingCodes': 'Ocultar códigos de reserva',
|
||||
'settings.optimizeFromAccommodation': 'Otimizar rota a partir da hospedagem',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Ao otimizar um dia, comece a rota no hotel onde você acorda e termine no hotel em que você faz check-in à noite.',
|
||||
'settings.notifications': 'Notificações',
|
||||
'settings.notifyTripInvite': 'Convites de viagem',
|
||||
'settings.notifyBookingChange': 'Alterações de reserva',
|
||||
|
||||
@@ -36,6 +36,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Zrušit',
|
||||
'collab.notes.edit': 'Upravit',
|
||||
'collab.notes.delete': 'Smazat',
|
||||
'collab.notes.confirmDeleteTitle': 'Smazat poznámku?',
|
||||
'collab.notes.confirmDeleteBody': 'Tato poznámka bude trvale smazána.',
|
||||
'collab.notes.pin': 'Připnout',
|
||||
'collab.notes.unpin': 'Odepnout',
|
||||
'collab.notes.daysAgo': 'před {n} dny',
|
||||
|
||||
@@ -20,6 +20,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Pro optimalizaci trasy jsou potřeba alespoň dvě místa',
|
||||
'dayplan.toast.routeOptimized': 'Trasa byla optimalizována',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Trasa byla optimalizována od vašeho ubytování',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Nebyla nalezena žádná místa se souřadnicemi pro výpočet trasy',
|
||||
'dayplan.confirmed': 'Potvrzeno',
|
||||
@@ -33,6 +35,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Toto místo má pevný čas ({time}). Přesunutím se čas odebere a povolí se volné řazení.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Odebrat čas a přesunout',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Smazat poznámku?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Tato poznámka bude trvale smazána.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Položky nelze umístit mezi záznamy s pevným časem',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -63,6 +63,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Jednotky teploty',
|
||||
'settings.timeFormat': 'Formát času',
|
||||
'settings.blurBookingCodes': 'Skrýt rezervační kódy',
|
||||
'settings.optimizeFromAccommodation': 'Optimalizovat trasu od ubytování',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Při optimalizaci dne začne trasa v hotelu, ve kterém se ráno probudíte, a skončí v hotelu, do kterého se večer ubytujete.',
|
||||
'settings.notifications': 'Oznámení',
|
||||
'settings.notifyTripInvite': 'Pozvánky na cesty',
|
||||
'settings.notifyBookingChange': 'Změny rezervací',
|
||||
|
||||
@@ -41,6 +41,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Abbrechen',
|
||||
'collab.notes.edit': 'Bearbeiten',
|
||||
'collab.notes.delete': 'Löschen',
|
||||
'collab.notes.confirmDeleteTitle': 'Notiz löschen?',
|
||||
'collab.notes.confirmDeleteBody': 'Diese Notiz wird dauerhaft gelöscht.',
|
||||
'collab.notes.pin': 'Anheften',
|
||||
'collab.notes.unpin': 'Loslösen',
|
||||
'collab.notes.daysAgo': 'vor {n} T.',
|
||||
|
||||
@@ -9,6 +9,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Dieser Ort hat eine feste Uhrzeit ({time}). Durch das Verschieben wird die Uhrzeit entfernt und der Ort kann frei sortiert werden.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Uhrzeit entfernen & verschieben',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Notiz löschen?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Diese Notiz wird dauerhaft gelöscht.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Orte können nicht zwischen zeitgebundene Einträge geschoben werden',
|
||||
'dayplan.cannotBreakChronology':
|
||||
@@ -32,6 +34,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Mindestens zwei Orte für Routenoptimierung nötig',
|
||||
'dayplan.toast.routeOptimized': 'Route optimiert',
|
||||
'dayplan.toast.routeOptimizedFromHotel': 'Route ab deiner Unterkunft optimiert',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Keine Orte mit Koordinaten für Routenberechnung gefunden',
|
||||
'dayplan.confirmed': 'Bestätigt',
|
||||
|
||||
@@ -65,6 +65,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'Zeigt Bahnhofs-/Flughafennamen auf der Karte. Wenn aus, wird nur das Icon angezeigt.',
|
||||
'settings.blurBookingCodes': 'Buchungscodes verbergen',
|
||||
'settings.optimizeFromAccommodation': 'Route ab der Unterkunft optimieren',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Beim Optimieren eines Tages startet die Route an der Unterkunft, in der du aufwachst, und endet an der, in die du am Abend eincheckst.',
|
||||
'settings.notifications': 'Mitteilungen',
|
||||
'settings.notifyTripInvite': 'Trip-Einladungen',
|
||||
'settings.notifyBookingChange': 'Buchungsänderungen',
|
||||
|
||||
@@ -40,6 +40,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Cancel',
|
||||
'collab.notes.edit': 'Edit',
|
||||
'collab.notes.delete': 'Delete',
|
||||
'collab.notes.confirmDeleteTitle': 'Delete note?',
|
||||
'collab.notes.confirmDeleteBody': 'This note will be permanently deleted.',
|
||||
'collab.notes.pin': 'Pin',
|
||||
'collab.notes.unpin': 'Unpin',
|
||||
'collab.notes.daysAgo': '{n}d ago',
|
||||
|
||||
@@ -9,6 +9,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'This place has a fixed time ({time}). Moving it will remove the time and allow free sorting.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Remove time & move',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Delete note?',
|
||||
'dayplan.confirmDeleteNoteBody': 'This note will be permanently deleted.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Items cannot be placed between time-bound entries',
|
||||
'dayplan.cannotBreakChronology':
|
||||
@@ -32,6 +34,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'At least two places needed for route optimization',
|
||||
'dayplan.toast.routeOptimized': 'Route optimized',
|
||||
'dayplan.toast.routeOptimizedFromHotel': 'Route optimized from your accommodation',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'No places with coordinates found for route calculation',
|
||||
'dayplan.confirmed': 'Confirmed',
|
||||
|
||||
@@ -64,6 +64,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'Show station / airport names on the map. When off, only the icon is shown.',
|
||||
'settings.blurBookingCodes': 'Blur Booking Codes',
|
||||
'settings.optimizeFromAccommodation': 'Optimize route from accommodation',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'When optimizing a day, start the route at the hotel you wake up in and end it at the one you check into that evening.',
|
||||
'settings.notifications': 'Notifications',
|
||||
'settings.notifyTripInvite': 'Trip invitations',
|
||||
'settings.notifyBookingChange': 'Booking changes',
|
||||
|
||||
@@ -41,6 +41,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Cancelar',
|
||||
'collab.notes.edit': 'Editar',
|
||||
'collab.notes.delete': 'Eliminar',
|
||||
'collab.notes.confirmDeleteTitle': '¿Eliminar nota?',
|
||||
'collab.notes.confirmDeleteBody': 'Esta nota se eliminará de forma permanente.',
|
||||
'collab.notes.pin': 'Fijar',
|
||||
'collab.notes.unpin': 'Desfijar',
|
||||
'collab.notes.daysAgo': 'hace {n} d',
|
||||
|
||||
@@ -20,6 +20,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Se necesitan al menos dos lugares para optimizar la ruta',
|
||||
'dayplan.toast.routeOptimized': 'Ruta optimizada',
|
||||
'dayplan.toast.routeOptimizedFromHotel': 'Ruta optimizada desde tu alojamiento',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'No se encontraron lugares con coordenadas para calcular la ruta',
|
||||
'dayplan.confirmed': 'Confirmado',
|
||||
@@ -33,6 +34,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Este lugar tiene una hora fija ({time}). Al moverlo se eliminará la hora y se permitirá el orden libre.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Eliminar hora y mover',
|
||||
'dayplan.confirmDeleteNoteTitle': '¿Eliminar nota?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Esta nota se eliminará de forma permanente.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'No se pueden colocar elementos entre entradas con hora fija',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -62,6 +62,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Unidad de temperatura',
|
||||
'settings.timeFormat': 'Formato de hora',
|
||||
'settings.blurBookingCodes': 'Difuminar códigos de reserva',
|
||||
'settings.optimizeFromAccommodation': 'Optimizar la ruta desde el alojamiento',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Al optimizar un día, comienza la ruta en el hotel donde despiertas y termínala en aquel en el que te registras esa noche.',
|
||||
'settings.notifications': 'Notificaciones',
|
||||
'settings.notifyTripInvite': 'Invitaciones de viaje',
|
||||
'settings.notifyBookingChange': 'Cambios en reservas',
|
||||
|
||||
@@ -42,6 +42,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Annuler',
|
||||
'collab.notes.edit': 'Modifier',
|
||||
'collab.notes.delete': 'Supprimer',
|
||||
'collab.notes.confirmDeleteTitle': 'Supprimer la note ?',
|
||||
'collab.notes.confirmDeleteBody': 'Cette note sera définitivement supprimée.',
|
||||
'collab.notes.pin': 'Épingler',
|
||||
'collab.notes.unpin': 'Désépingler',
|
||||
'collab.notes.daysAgo': 'il y a {n} j',
|
||||
|
||||
@@ -20,6 +20,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
"Au moins deux lieux nécessaires pour optimiser l'itinéraire",
|
||||
'dayplan.toast.routeOptimized': 'Itinéraire optimisé',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Itinéraire optimisé depuis votre hébergement',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
"Aucun lieu avec des coordonnées trouvé pour le calcul d'itinéraire",
|
||||
'dayplan.confirmed': 'Confirmé',
|
||||
@@ -33,6 +35,9 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
"Ce lieu a une heure fixe ({time}). Le déplacer supprimera l'heure et permettra un tri libre.",
|
||||
'dayplan.confirmRemoveTimeAction': "Supprimer l'heure et déplacer",
|
||||
'dayplan.confirmDeleteNoteTitle': 'Supprimer la note ?',
|
||||
'dayplan.confirmDeleteNoteBody':
|
||||
'Cette note sera définitivement supprimée.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Les éléments ne peuvent pas être placés entre des entrées à heure fixe',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -62,6 +62,10 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Unité de température',
|
||||
'settings.timeFormat': "Format de l'heure",
|
||||
'settings.blurBookingCodes': 'Masquer les codes de réservation',
|
||||
'settings.optimizeFromAccommodation':
|
||||
"Optimiser l'itinéraire depuis l'hébergement",
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
"Lors de l'optimisation d'une journée, commencez l'itinéraire à l'hôtel où vous vous réveillez et terminez-le à celui où vous arrivez le soir.",
|
||||
'settings.notifications': 'Notifications',
|
||||
'settings.notifyTripInvite': 'Invitations de voyage',
|
||||
'settings.notifyBookingChange': 'Modifications de réservation',
|
||||
|
||||
@@ -41,6 +41,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Ακύρωση',
|
||||
'collab.notes.edit': 'Επεξεργασία',
|
||||
'collab.notes.delete': 'Διαγραφή',
|
||||
'collab.notes.confirmDeleteTitle': 'Διαγραφή σημείωσης;',
|
||||
'collab.notes.confirmDeleteBody': 'Αυτή η σημείωση θα διαγραφεί οριστικά.',
|
||||
'collab.notes.pin': 'Καρφίτσωμα',
|
||||
'collab.notes.unpin': 'Ξεκαρφίτσωμα',
|
||||
'collab.notes.daysAgo': '{n}η πριν',
|
||||
|
||||
@@ -9,6 +9,9 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Αυτό το μέρος έχει σταθερή ώρα ({time}). Η μετακίνησή του θα αφαιρέσει την ώρα και θα επιτρέψει ελεύθερη ταξινόμηση.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Αφαίρεση ώρας & μετακίνηση',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Διαγραφή σημείωσης;',
|
||||
'dayplan.confirmDeleteNoteBody':
|
||||
'Αυτή η σημείωση θα διαγραφεί οριστικά.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Τα στοιχεία δεν μπορούν να τοποθετηθούν μεταξύ καταχωρήσεων με ώρα',
|
||||
'dayplan.cannotBreakChronology':
|
||||
@@ -32,6 +35,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Χρειάζονται τουλάχιστον δύο μέρη για βελτιστοποίηση διαδρομής',
|
||||
'dayplan.toast.routeOptimized': 'Η διαδρομή βελτιστοποιήθηκε',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Η διαδρομή βελτιστοποιήθηκε από το κατάλυμά σας',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Δεν βρέθηκαν μέρη με συντεταγμένες για τον υπολογισμό διαδρομής',
|
||||
'dayplan.confirmed': 'Επιβεβαιωμένο',
|
||||
|
||||
@@ -66,6 +66,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'Εμφάνιση ονομάτων σταθμών / αεροδρομίων στον χάρτη. Όταν είναι απενεργοποιημένο, εμφανίζεται μόνο το εικονίδιο.',
|
||||
'settings.blurBookingCodes': 'Θόλωμα Κωδικών Κρατήσεων',
|
||||
'settings.optimizeFromAccommodation': 'Βελτιστοποίηση διαδρομής από το κατάλυμα',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Κατά τη βελτιστοποίηση μιας ημέρας, ξεκινήστε τη διαδρομή από το ξενοδοχείο στο οποίο ξυπνάτε και τερματίστε την σε αυτό στο οποίο κάνετε check-in το ίδιο βράδυ.',
|
||||
'settings.notifications': 'Ειδοποιήσεις',
|
||||
'settings.notifyTripInvite': 'Προσκλήσεις ταξιδιού',
|
||||
'settings.notifyBookingChange': 'Αλλαγές κρατήσεων',
|
||||
|
||||
@@ -42,6 +42,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Mégse',
|
||||
'collab.notes.edit': 'Szerkesztés',
|
||||
'collab.notes.delete': 'Törlés',
|
||||
'collab.notes.confirmDeleteTitle': 'Törli a jegyzetet?',
|
||||
'collab.notes.confirmDeleteBody': 'Ez a jegyzet véglegesen törlődik.',
|
||||
'collab.notes.pin': 'Kitűzés',
|
||||
'collab.notes.unpin': 'Kitűzés eltávolítása',
|
||||
'collab.notes.daysAgo': '{n} napja',
|
||||
|
||||
@@ -20,6 +20,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Legalább két hely szükséges az útvonal-optimalizáláshoz',
|
||||
'dayplan.toast.routeOptimized': 'Útvonal optimalizálva',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Útvonal optimalizálva a szállásodtól',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Nem találhatók koordinátákkal rendelkező helyek az útvonalszámításhoz',
|
||||
'dayplan.confirmed': 'Megerősítve',
|
||||
@@ -33,6 +35,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Ennek a helynek rögzített időpontja van ({time}). Az áthelyezéssel az időpont eltávolítódik és szabad rendezés válik lehetővé.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Időpont eltávolítása és áthelyezés',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Törli a jegyzetet?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Ez a jegyzet véglegesen törlődik.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Elemek nem helyezhetők rögzített időpontú bejegyzések közé',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -63,6 +63,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Hőmérséklet egység',
|
||||
'settings.timeFormat': 'Időformátum',
|
||||
'settings.blurBookingCodes': 'Foglalási kódok elrejtése',
|
||||
'settings.optimizeFromAccommodation': 'Útvonal optimalizálása a szállástól',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'A nap optimalizálásakor az útvonal annál a szállásnál kezdődjön, ahol felébredsz, és annál érjen véget, ahova este bejelentkezel.',
|
||||
'settings.notifications': 'Értesítések',
|
||||
'settings.notifyTripInvite': 'Utazási meghívók',
|
||||
'settings.notifyBookingChange': 'Foglalási változások',
|
||||
|
||||
@@ -40,6 +40,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Batal',
|
||||
'collab.notes.edit': 'Edit',
|
||||
'collab.notes.delete': 'Hapus',
|
||||
'collab.notes.confirmDeleteTitle': 'Hapus catatan?',
|
||||
'collab.notes.confirmDeleteBody': 'Catatan ini akan dihapus secara permanen.',
|
||||
'collab.notes.pin': 'Sematkan',
|
||||
'collab.notes.unpin': 'Lepas sematan',
|
||||
'collab.notes.daysAgo': '{n}h lalu',
|
||||
|
||||
@@ -9,6 +9,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Tempat ini memiliki waktu tetap ({time}). Memindahkannya akan menghapus waktu dan mengizinkan pengurutan bebas.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Hapus waktu & pindahkan',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Hapus catatan?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Catatan ini akan dihapus secara permanen.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Item tidak dapat ditempatkan di antara entri yang terikat waktu',
|
||||
'dayplan.cannotBreakChronology':
|
||||
@@ -30,6 +32,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Diperlukan minimal dua tempat untuk optimasi rute',
|
||||
'dayplan.toast.routeOptimized': 'Rute dioptimalkan',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Rute dioptimalkan dari akomodasimu',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Tidak ditemukan tempat dengan koordinat untuk kalkulasi rute',
|
||||
'dayplan.confirmed': 'Dikonfirmasi',
|
||||
|
||||
@@ -62,6 +62,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Satuan Suhu',
|
||||
'settings.timeFormat': 'Format Waktu',
|
||||
'settings.blurBookingCodes': 'Sembunyikan Kode Pemesanan',
|
||||
'settings.optimizeFromAccommodation': 'Optimalkan rute dari akomodasi',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Saat mengoptimalkan suatu hari, mulai rute dari hotel tempatmu bangun pagi dan akhiri di hotel tempatmu check-in malam itu.',
|
||||
'settings.notifications': 'Notifikasi',
|
||||
'settings.notifyTripInvite': 'Undangan perjalanan',
|
||||
'settings.notifyBookingChange': 'Perubahan pemesanan',
|
||||
|
||||
@@ -41,6 +41,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Annulla',
|
||||
'collab.notes.edit': 'Modifica',
|
||||
'collab.notes.delete': 'Elimina',
|
||||
'collab.notes.confirmDeleteTitle': 'Eliminare la nota?',
|
||||
'collab.notes.confirmDeleteBody': 'Questa nota verrà eliminata definitivamente.',
|
||||
'collab.notes.pin': 'Fissa',
|
||||
'collab.notes.unpin': 'Rimuovi',
|
||||
'collab.notes.daysAgo': '{n}g fa',
|
||||
|
||||
@@ -20,6 +20,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
"Servono almeno due luoghi per l'ottimizzazione del percorso",
|
||||
'dayplan.toast.routeOptimized': 'Percorso ottimizzato',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Percorso ottimizzato a partire dal tuo alloggio',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Nessun luogo con coordinate trovato per il calcolo del percorso',
|
||||
'dayplan.confirmed': 'Confermata',
|
||||
@@ -33,6 +35,9 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
"Questo luogo ha un orario fisso ({time}). Spostarlo rimuoverà l'orario e consentirà l'ordinamento libero.",
|
||||
'dayplan.confirmRemoveTimeAction': 'Rimuovi orario e sposta',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Eliminare la nota?',
|
||||
'dayplan.confirmDeleteNoteBody':
|
||||
'Questa nota verrà eliminata definitivamente.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Gli elementi non possono essere posizionati tra voci con orario fisso',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -62,6 +62,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Unità di Temperatura',
|
||||
'settings.timeFormat': 'Formato Ora',
|
||||
'settings.blurBookingCodes': 'Nascondi codici di prenotazione',
|
||||
'settings.optimizeFromAccommodation': "Ottimizza il percorso dall'alloggio",
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
"Quando ottimizzi un giorno, fa iniziare il percorso dall'hotel in cui ti svegli e terminarlo in quello in cui fai il check-in quella sera.",
|
||||
'settings.notifications': 'Notifiche',
|
||||
'settings.notifyTripInvite': 'Inviti di viaggio',
|
||||
'settings.notifyBookingChange': 'Modifiche alle prenotazioni',
|
||||
|
||||
@@ -40,6 +40,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'キャンセル',
|
||||
'collab.notes.edit': '編集',
|
||||
'collab.notes.delete': '削除',
|
||||
'collab.notes.confirmDeleteTitle': 'メモを削除しますか?',
|
||||
'collab.notes.confirmDeleteBody': 'このメモは完全に削除されます。',
|
||||
'collab.notes.pin': '固定',
|
||||
'collab.notes.unpin': '固定を解除',
|
||||
'collab.notes.daysAgo': '{n}日前',
|
||||
|
||||
@@ -8,6 +8,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'この場所には固定時刻({time})があります。移動すると時刻が削除され、自由に並び替えできます。',
|
||||
'dayplan.confirmRemoveTimeAction': '時刻を削除して移動',
|
||||
'dayplan.confirmDeleteNoteTitle': 'メモを削除しますか?',
|
||||
'dayplan.confirmDeleteNoteBody': 'このメモは完全に削除されます。',
|
||||
'dayplan.cannotDropOnTimed': '時刻指定の項目の間には配置できません',
|
||||
'dayplan.cannotBreakChronology': '時刻指定の項目や予約の時系列が崩れます',
|
||||
'dayplan.addNote': 'メモを追加',
|
||||
@@ -28,6 +30,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.routeError': 'ルートの計算に失敗しました',
|
||||
'dayplan.toast.needTwoPlaces': 'ルート最適化には2つ以上の場所が必要です',
|
||||
'dayplan.toast.routeOptimized': 'ルートを最適化しました',
|
||||
'dayplan.toast.routeOptimizedFromHotel': '宿泊先を起点にルートを最適化しました',
|
||||
'dayplan.toast.noGeoPlaces': '座標付きの場所がありません',
|
||||
'dayplan.confirmed': '確定',
|
||||
'dayplan.pendingRes': '保留',
|
||||
|
||||
@@ -64,6 +64,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'地図に駅・空港名を表示。オフ時はアイコンのみ。',
|
||||
'settings.blurBookingCodes': '予約コードをぼかす',
|
||||
'settings.optimizeFromAccommodation': '宿泊先を起点にルートを最適化',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'その日を最適化する際、朝に目覚める宿泊先を起点にし、その晩にチェックインする宿泊先を終点としてルートを組みます。',
|
||||
'settings.notifications': '通知',
|
||||
'settings.notifyTripInvite': '旅行の招待',
|
||||
'settings.notifyBookingChange': '予約の変更',
|
||||
|
||||
@@ -39,6 +39,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': '취소',
|
||||
'collab.notes.edit': '편집',
|
||||
'collab.notes.delete': '삭제',
|
||||
'collab.notes.confirmDeleteTitle': '메모를 삭제할까요?',
|
||||
'collab.notes.confirmDeleteBody': '이 메모가 영구적으로 삭제됩니다.',
|
||||
'collab.notes.pin': '고정',
|
||||
'collab.notes.unpin': '고정 해제',
|
||||
'collab.notes.daysAgo': '{n}일 전',
|
||||
|
||||
@@ -9,6 +9,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'이 장소에 고정된 시간 ({time})이 있습니다. 이동하면 시간이 제거되고 자유 정렬이 허용됩니다.',
|
||||
'dayplan.confirmRemoveTimeAction': '시간 제거 및 이동',
|
||||
'dayplan.confirmDeleteNoteTitle': '메모를 삭제할까요?',
|
||||
'dayplan.confirmDeleteNoteBody': '이 메모가 영구적으로 삭제됩니다.',
|
||||
'dayplan.cannotDropOnTimed': '시간이 고정된 항목 사이에 배치할 수 없습니다',
|
||||
'dayplan.cannotBreakChronology':
|
||||
'이 작업은 시간 고정 항목과 예약의 시간 순서를 깨뜨립니다',
|
||||
@@ -31,6 +33,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'경로 최적화에는 최소 두 개의 장소가 필요합니다',
|
||||
'dayplan.toast.routeOptimized': '경로가 최적화되었습니다',
|
||||
'dayplan.toast.routeOptimizedFromHotel': '숙소를 기준으로 경로가 최적화되었습니다',
|
||||
'dayplan.toast.noGeoPlaces': '경로 계산을 위한 좌표가 있는 장소가 없습니다',
|
||||
'dayplan.confirmed': '확정됨',
|
||||
'dayplan.pendingRes': '대기 중',
|
||||
|
||||
@@ -65,6 +65,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'지도에 역 / 공항 이름을 표시합니다. 끄면 아이콘만 표시됩니다.',
|
||||
'settings.blurBookingCodes': '예약 코드 흐리게',
|
||||
'settings.optimizeFromAccommodation': '숙소 기준으로 경로 최적화',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'하루 일정을 최적화할 때, 아침에 머무는 숙소에서 경로를 시작하고 그날 저녁에 체크인하는 숙소에서 경로를 끝냅니다.',
|
||||
'settings.notifications': '알림',
|
||||
'settings.notifyTripInvite': '여행 초대',
|
||||
'settings.notifyBookingChange': '예약 변경',
|
||||
|
||||
@@ -39,6 +39,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Annuleren',
|
||||
'collab.notes.edit': 'Bewerken',
|
||||
'collab.notes.delete': 'Verwijderen',
|
||||
'collab.notes.confirmDeleteTitle': 'Notitie verwijderen?',
|
||||
'collab.notes.confirmDeleteBody': 'Deze notitie wordt definitief verwijderd.',
|
||||
'collab.notes.pin': 'Vastpinnen',
|
||||
'collab.notes.unpin': 'Losmaken',
|
||||
'collab.notes.daysAgo': '{n}d geleden',
|
||||
|
||||
@@ -20,6 +20,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Minimaal twee plaatsen nodig voor route-optimalisatie',
|
||||
'dayplan.toast.routeOptimized': 'Route geoptimaliseerd',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Route geoptimaliseerd vanaf je accommodatie',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Geen plaatsen met coördinaten gevonden voor routeberekening',
|
||||
'dayplan.confirmed': 'Bevestigd',
|
||||
@@ -33,6 +35,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Deze plek heeft een vast tijdstip ({time}). Verplaatsen verwijdert het tijdstip en maakt vrije sortering mogelijk.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Tijd verwijderen en verplaatsen',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Notitie verwijderen?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Deze notitie wordt definitief verwijderd.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Items kunnen niet tussen tijdgebonden items worden geplaatst',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -62,6 +62,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Temperatuureenheid',
|
||||
'settings.timeFormat': 'Tijdnotatie',
|
||||
'settings.blurBookingCodes': 'Boekingscodes vervagen',
|
||||
'settings.optimizeFromAccommodation': 'Route optimaliseren vanaf accommodatie',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Begin bij het optimaliseren van een dag de route bij het hotel waar je wakker wordt en eindig bij het hotel waar je die avond incheckt.',
|
||||
'settings.notifications': 'Meldingen',
|
||||
'settings.notifyTripInvite': 'Reisuitnodigingen',
|
||||
'settings.notifyBookingChange': 'Boekingswijzigingen',
|
||||
|
||||
@@ -40,6 +40,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Anuluj',
|
||||
'collab.notes.edit': 'Edytuj',
|
||||
'collab.notes.delete': 'Usuń',
|
||||
'collab.notes.confirmDeleteTitle': 'Usunąć notatkę?',
|
||||
'collab.notes.confirmDeleteBody': 'Ta notatka zostanie trwale usunięta.',
|
||||
'collab.notes.pin': 'Przypnij',
|
||||
'collab.notes.unpin': 'Odepnij',
|
||||
'collab.notes.daysAgo': '{n}d temu',
|
||||
|
||||
@@ -9,6 +9,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'To miejsce ma określoną godzinę ({time}). Przeniesienie go usunie godzinę i umożliwi swobodne sortowanie.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Usuń godzinę i przenieś',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Usunąć notatkę?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Ta notatka zostanie trwale usunięta.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Nie można umieszczać elementów pomiędzy wpisami z określoną godziną',
|
||||
'dayplan.cannotBreakChronology':
|
||||
@@ -30,6 +32,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Potrzeba co najmniej dwóch miejsc, aby zoptymalizować trasę',
|
||||
'dayplan.toast.routeOptimized': 'Trasa została zoptymalizowana',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Trasa została zoptymalizowana względem Twojego zakwaterowania',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Nie znaleziono miejsc ze współrzędnymi do obliczenia trasy',
|
||||
'dayplan.confirmed': 'Potwierdzono',
|
||||
|
||||
@@ -62,6 +62,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Jednostka temperatury',
|
||||
'settings.timeFormat': 'Format czasu',
|
||||
'settings.blurBookingCodes': 'Rozmyj kody rezerwacji',
|
||||
'settings.optimizeFromAccommodation': 'Optymalizuj trasę od zakwaterowania',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Przy optymalizacji dnia rozpocznij trasę w hotelu, w którym się budzisz, a zakończ ją w tym, do którego się zameldujesz tego wieczoru.',
|
||||
'settings.notifications': 'Powiadomienia',
|
||||
'settings.notifyTripInvite': 'Zaproszenia do podróży',
|
||||
'settings.notifyBookingChange': 'Zmiany w rezerwacjach',
|
||||
|
||||
@@ -41,6 +41,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Отмена',
|
||||
'collab.notes.edit': 'Редактировать',
|
||||
'collab.notes.delete': 'Удалить',
|
||||
'collab.notes.confirmDeleteTitle': 'Удалить заметку?',
|
||||
'collab.notes.confirmDeleteBody': 'Эта заметка будет удалена безвозвратно.',
|
||||
'collab.notes.pin': 'Закрепить',
|
||||
'collab.notes.unpin': 'Открепить',
|
||||
'collab.notes.daysAgo': '{n} дн. назад',
|
||||
|
||||
@@ -20,6 +20,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Для оптимизации маршрута нужно минимум два места',
|
||||
'dayplan.toast.routeOptimized': 'Маршрут оптимизирован',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Маршрут оптимизирован от места проживания',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Не найдено мест с координатами для расчёта маршрута',
|
||||
'dayplan.confirmed': 'Подтверждено',
|
||||
@@ -33,6 +35,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'У этого места фиксированное время ({time}). При перемещении время будет удалено, и станет доступна свободная сортировка.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Удалить время и переместить',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Удалить заметку?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Эта заметка будет удалена безвозвратно.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Элементы нельзя размещать между записями с фиксированным временем',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -62,6 +62,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Единица температуры',
|
||||
'settings.timeFormat': 'Формат времени',
|
||||
'settings.blurBookingCodes': 'Скрыть коды бронирования',
|
||||
'settings.optimizeFromAccommodation': 'Оптимизировать маршрут от места проживания',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'При оптимизации дня маршрут начинается от отеля, в котором вы просыпаетесь, и заканчивается у того, в который вы заселяетесь вечером.',
|
||||
'settings.notifications': 'Уведомления',
|
||||
'settings.notifyTripInvite': 'Приглашения в поездку',
|
||||
'settings.notifyBookingChange': 'Изменения бронирований',
|
||||
|
||||
@@ -40,6 +40,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'İptal etmek',
|
||||
'collab.notes.edit': 'Düzenle',
|
||||
'collab.notes.delete': 'Sil',
|
||||
'collab.notes.confirmDeleteTitle': 'Not silinsin mi?',
|
||||
'collab.notes.confirmDeleteBody': 'Bu not kalıcı olarak silinecek.',
|
||||
'collab.notes.pin': 'Sabitle',
|
||||
'collab.notes.unpin': 'Sabitlemeyi kaldır',
|
||||
'collab.notes.daysAgo': '{n} gün önce',
|
||||
|
||||
@@ -9,6 +9,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'Bu yerin sabit bir saati var ({time}). Taşımak saati kaldırır ve serbest sıralamaya izin verir.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Saati kaldır ve taşı',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Not silinsin mi?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Bu not kalıcı olarak silinecek.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Öğeler saate bağlı girişler arasına yerleştirilemez',
|
||||
'dayplan.cannotBreakChronology':
|
||||
@@ -32,6 +34,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Rota optimizasyonu için en az iki yer gerekli',
|
||||
'dayplan.toast.routeOptimized': 'Rota optimize edildi',
|
||||
'dayplan.toast.routeOptimizedFromHotel':
|
||||
'Rota konakladığınız yerden optimize edildi',
|
||||
'dayplan.toast.noGeoPlaces': 'Rota için koordinatlı yer bulunamadı',
|
||||
'dayplan.confirmed': 'Onaylandı',
|
||||
'dayplan.pendingRes': 'Beklemede',
|
||||
|
||||
@@ -66,6 +66,9 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint':
|
||||
'Haritada istasyon / havalimanı adlarını göster. Kapalıyken yalnızca simge görünür.',
|
||||
'settings.blurBookingCodes': 'Rezervasyon Kodlarını Bulanıklaştır',
|
||||
'settings.optimizeFromAccommodation': 'Rotayı konaklamadan optimize et',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Bir günü optimize ederken rotaya o sabah uyandığınız otelden başlayın ve akşam giriş yaptığınız otelde sonlandırın.',
|
||||
'settings.notifications': 'Bildirimler',
|
||||
'settings.notifyTripInvite': 'Seyahat davetleri',
|
||||
'settings.notifyBookingChange': 'Rezervasyon değişiklikleri',
|
||||
|
||||
@@ -40,6 +40,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': 'Скасувати',
|
||||
'collab.notes.edit': 'Редагувати',
|
||||
'collab.notes.delete': 'Видалити',
|
||||
'collab.notes.confirmDeleteTitle': 'Видалити нотатку?',
|
||||
'collab.notes.confirmDeleteBody': 'Цю нотатку буде видалено назавжди.',
|
||||
'collab.notes.pin': 'Закріпити',
|
||||
'collab.notes.unpin': 'Відкріпити',
|
||||
'collab.notes.daysAgo': '{n} дн. тому',
|
||||
|
||||
@@ -22,6 +22,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.toast.needTwoPlaces':
|
||||
'Для оптимизации маршрута нужно минимум два места',
|
||||
'dayplan.toast.routeOptimized': 'Маршрут оптимизирован',
|
||||
'dayplan.toast.routeOptimizedFromHotel': 'Маршрут оптимізовано від вашого житла',
|
||||
'dayplan.toast.noGeoPlaces':
|
||||
'Не знайдено місць з координатами для розрахунку маршруту',
|
||||
'dayplan.confirmed': 'Подтверждено',
|
||||
@@ -35,6 +36,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'У цього місця фіксований час ({time}). При переміщенні час буде видалено, і стане доступне вільне сортування.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Видалити час і перемістити',
|
||||
'dayplan.confirmDeleteNoteTitle': 'Видалити нотатку?',
|
||||
'dayplan.confirmDeleteNoteBody': 'Цю нотатку буде видалено назавжди.',
|
||||
'dayplan.cannotDropOnTimed':
|
||||
'Елементи не можна розміщувати між записами з фіксованим часом',
|
||||
'dayplan.cannotBreakChronology':
|
||||
|
||||
@@ -63,6 +63,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': 'Одиниця температури',
|
||||
'settings.timeFormat': 'Формат часу',
|
||||
'settings.blurBookingCodes': 'Приховати коди бронювання',
|
||||
'settings.optimizeFromAccommodation': 'Оптимізувати маршрут від житла',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'Під час оптимізації дня починайте маршрут від готелю, у якому ви прокидаєтеся, і завершуйте його тим, у який ви заселяєтеся ввечері.',
|
||||
'settings.notifications': 'Сповіщення',
|
||||
'settings.notifyTripInvite': 'Запрошення до поїздки',
|
||||
'settings.notifyBookingChange': 'Зміни бронювань',
|
||||
|
||||
@@ -39,6 +39,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': '取消',
|
||||
'collab.notes.edit': '編輯',
|
||||
'collab.notes.delete': '刪除',
|
||||
'collab.notes.confirmDeleteTitle': '刪除筆記?',
|
||||
'collab.notes.confirmDeleteBody': '此筆記將被永久刪除。',
|
||||
'collab.notes.pin': '置頂',
|
||||
'collab.notes.unpin': '取消置頂',
|
||||
'collab.notes.daysAgo': '{n} 天前',
|
||||
|
||||
@@ -19,6 +19,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.routeError': '路線計算失敗',
|
||||
'dayplan.toast.needTwoPlaces': '路線最佳化至少需要兩個地點',
|
||||
'dayplan.toast.routeOptimized': '路線已最佳化',
|
||||
'dayplan.toast.routeOptimizedFromHotel': '已從你的住宿地點最佳化路線',
|
||||
'dayplan.toast.noGeoPlaces': '未找到有座標的地點用於路線計算',
|
||||
'dayplan.confirmed': '已確認',
|
||||
'dayplan.pendingRes': '待確認',
|
||||
@@ -30,6 +31,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'此地點有固定時間({time})。移動後將移除時間並允許自由排序。',
|
||||
'dayplan.confirmRemoveTimeAction': '移除時間並移動',
|
||||
'dayplan.confirmDeleteNoteTitle': '刪除筆記?',
|
||||
'dayplan.confirmDeleteNoteBody': '此筆記將被永久刪除。',
|
||||
'dayplan.cannotDropOnTimed': '無法將專案放置在有固定時間的條目之間',
|
||||
'dayplan.cannotBreakChronology': '這將打亂已計劃專案和預訂的時間順序',
|
||||
'dayplan.mobile.addPlace': '新增地點',
|
||||
|
||||
@@ -59,6 +59,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': '溫度單位',
|
||||
'settings.timeFormat': '時間格式',
|
||||
'settings.blurBookingCodes': '模糊預訂程式碼',
|
||||
'settings.optimizeFromAccommodation': '從住宿地點最佳化路線',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'最佳化某一天的行程時,路線從你早上起床的飯店出發,並在你當晚入住的飯店結束。',
|
||||
'settings.notifications': '通知',
|
||||
'settings.notifyTripInvite': '旅行邀請',
|
||||
'settings.notifyBookingChange': '預訂變更',
|
||||
|
||||
@@ -39,6 +39,8 @@ const collab: TranslationStrings = {
|
||||
'collab.notes.cancel': '取消',
|
||||
'collab.notes.edit': '编辑',
|
||||
'collab.notes.delete': '删除',
|
||||
'collab.notes.confirmDeleteTitle': '删除备注?',
|
||||
'collab.notes.confirmDeleteBody': '此备注将被永久删除。',
|
||||
'collab.notes.pin': '置顶',
|
||||
'collab.notes.unpin': '取消置顶',
|
||||
'collab.notes.daysAgo': '{n} 天前',
|
||||
|
||||
@@ -19,6 +19,7 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.routeError': '路线计算失败',
|
||||
'dayplan.toast.needTwoPlaces': '路线优化至少需要两个地点',
|
||||
'dayplan.toast.routeOptimized': '路线已优化',
|
||||
'dayplan.toast.routeOptimizedFromHotel': '已根据您的住宿优化路线',
|
||||
'dayplan.toast.noGeoPlaces': '未找到有坐标的地点用于路线计算',
|
||||
'dayplan.confirmed': '已确认',
|
||||
'dayplan.pendingRes': '待确认',
|
||||
@@ -30,6 +31,8 @@ const dayplan: TranslationStrings = {
|
||||
'dayplan.confirmRemoveTimeBody':
|
||||
'此地点有固定时间({time})。移动后将移除时间并允许自由排序。',
|
||||
'dayplan.confirmRemoveTimeAction': '移除时间并移动',
|
||||
'dayplan.confirmDeleteNoteTitle': '删除备注?',
|
||||
'dayplan.confirmDeleteNoteBody': '此备注将被永久删除。',
|
||||
'dayplan.cannotDropOnTimed': '无法将项目放置在有固定时间的条目之间',
|
||||
'dayplan.cannotBreakChronology': '这将打乱已计划项目和预订的时间顺序',
|
||||
'dayplan.mobile.addPlace': '添加地点',
|
||||
|
||||
@@ -59,6 +59,9 @@ const settings: TranslationStrings = {
|
||||
'settings.temperature': '温度单位',
|
||||
'settings.timeFormat': '时间格式',
|
||||
'settings.blurBookingCodes': '模糊预订代码',
|
||||
'settings.optimizeFromAccommodation': '从住宿地优化路线',
|
||||
'settings.optimizeFromAccommodationHint':
|
||||
'优化某一天时,路线将从您醒来时所在的酒店出发,并在当晚入住的酒店结束。',
|
||||
'settings.notifications': '通知',
|
||||
'settings.notifyTripInvite': '旅行邀请',
|
||||
'settings.notifyBookingChange': '预订变更',
|
||||
|
||||
Reference in New Issue
Block a user