fix(planner): places put on a day, day names, day notes and trip details changed offline wait in the queue and sync once the connection is back

The day plan wrote straight to the API, so offline a place dropped on a day
snapped back with "Error assigning place", a renamed day or a new day note
failed, and a moved stop, a leg's travel mode or who joins a visit were lost.
Visits (put on a day, taken off, reordered, moved, travellers, leg mode), the
day's name, notes text and travel mode, and the day notes (add, edit, delete,
move) now go through assignmentRepo, dayRepo and dayNoteRepo and the mutation
queue: the cached day changes at once, a visit or note made offline gets a
temporary id that the edits after it wait for, and an online write held behind
an older queued one joins the queue, since none of these carry a version
token. A new order of a day that names a visit made offline is sent with its
real id, or without it when its create failed. Desktop, the phone timeline and
note sheet all write through the store, so both are covered.

The replay reads each answer for what it names: the day answer keeps the
cached notes and visits, the participants answer lands on its visit, and a
visit the server refuses with 409 (a Tour already on that day) fails instead
of waiting as a conflict no retry can solve.

The trip's name, description, reminder and the archive flag wait in the queue
too, from the planner, the phone and the dashboard. What only the server can
do says so instead of failing: new dates, a day count, a currency or a cover,
a new trip, a copy or a delete, members, guests, share and invite links, and
a new order of the days, which moves the dates of the bookings.

Refs #2601
This commit is contained in:
Maurice
2026-10-12 20:17:57 +02:00
parent 92c48fba22
commit bdd8c08dd4
85 changed files with 1557 additions and 88 deletions
+1
View File
@@ -87,5 +87,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'يتوفر إصدار جديد',
'common.errorUpdateBody': 'تم تحديث TREK أثناء فتح علامة التبويب هذه. أعد التحميل للحصول على الإصدار الجديد.',
'common.errorPluginTitle': 'تعذّر عرض هذه الإضافة',
'common.needsConnection': 'يتطلب هذا اتصالاً. حاول مرة أخرى عندما يعود TREK للاتصال.',
};
export default common;
+2
View File
@@ -291,5 +291,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'إضافة منطقة زمنية',
'dashboard.aria.removeTimezone': 'إزالة {city}',
'dashboard.dayCountRequired': 'عدد الأيام مطلوب',
'dashboard.tripChangeNeedsConnection':
'تغيير التواريخ أو عدد الأيام أو العملة أو صورة الغلاف يتطلب اتصالاً. يمكن تغيير الاسم والوصف والتذكير دون اتصال.',
};
export default dashboard;
+1
View File
@@ -79,5 +79,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Yeni versiya mövcuddur',
'common.errorUpdateBody': 'Bu səhifə açıq olarkən TREK yeniləndi. Yeni versiyanı əldə etmək üçün səhifəni yenilə.',
'common.errorPluginTitle': 'Bu plagini göstərmək mümkün olmadı',
'common.needsConnection': 'Bunun üçün bağlantı lazımdır. TREK yenidən onlayn olduqda bir daha cəhd edin.',
};
export default common;
+2
View File
@@ -223,5 +223,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Saat qurşağı əlavə et',
'dashboard.aria.removeTimezone': '{city} saat qurşağını sil',
'dashboard.dayCountRequired': 'Günlərin sayı tələb olunur',
'dashboard.tripChangeNeedsConnection':
'Tarixləri, günlərin sayını, valyutanı və ya üz şəklini dəyişmək üçün bağlantı lazımdır. Adı, təsviri və xatırlatmanı oflayn da dəyişə bilərsiniz.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'O TREK foi atualizado enquanto esta aba estava aberta. Recarregue para obter a nova versão.',
'common.errorPluginTitle': 'Não foi possível exibir este plugin',
'common.needsConnection': 'Isso precisa de conexão. Tente de novo quando o TREK voltar a ficar online.',
};
export default common;
+2
View File
@@ -220,5 +220,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Adicionar fuso horário',
'dashboard.aria.removeTimezone': 'Remover {city}',
'dashboard.dayCountRequired': 'O número de dias é obrigatório',
'dashboard.tripChangeNeedsConnection':
'Mudar as datas, o número de dias, a moeda ou a capa precisa de conexão. Nome, descrição e lembrete podem ser alterados offline.',
};
export default dashboard;
+1
View File
@@ -81,5 +81,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
"TREK s'ha actualitzat mentre aquesta pestanya era oberta. Torna a carregar per obtenir la versió nova.",
'common.errorPluginTitle': "No s'ha pogut mostrar aquest connector",
'common.needsConnection': 'Això necessita connexió. Torna-ho a provar quan TREK torni a estar en línia.',
};
export default common;
+2
View File
@@ -223,5 +223,7 @@ const dashboard: TranslationStrings = {
'dashboard.mobile.spotlightDayOf': 'Dia {day} de {total}',
'dashboard.mobile.spotlightDays': '{count} dies',
'dashboard.mobile.spotlightDays.one': '{count} dia',
'dashboard.tripChangeNeedsConnection':
'Canviar les dates, el nombre de dies, la moneda o la portada necessita connexió. El nom, la descripció i el recordatori es poden canviar sense connexió.',
};
export default dashboard;
+1
View File
@@ -81,5 +81,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Je dostupná nová verze',
'common.errorUpdateBody': 'TREK byl aktualizován, zatímco byla tato karta otevřená. Načtěte znovu pro novou verzi.',
'common.errorPluginTitle': 'Tento plugin se nepodařilo zobrazit',
'common.needsConnection': 'Na tohle je potřeba připojení. Zkus to znovu, až bude TREK zase online.',
};
export default common;
+2
View File
@@ -238,5 +238,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Přidat časové pásmo',
'dashboard.aria.removeTimezone': 'Odebrat {city}',
'dashboard.dayCountRequired': 'Počet dní je povinný',
'dashboard.tripChangeNeedsConnection':
'Změna termínu, počtu dní, měny nebo titulního obrázku potřebuje připojení. Název, popis a připomínku můžeš změnit i offline.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK wurde aktualisiert, während dieser Tab offen war. Lade neu, um die neue Version zu erhalten.',
'common.errorPluginTitle': 'Dieses Plugin konnte nicht angezeigt werden',
'common.needsConnection': 'Dafür braucht es eine Verbindung. Versuch es noch einmal, sobald TREK wieder online ist.',
};
export default common;
+2
View File
@@ -224,5 +224,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Zeitzone hinzufügen',
'dashboard.aria.removeTimezone': '{city} entfernen',
'dashboard.dayCountRequired': 'Anzahl der Tage ist erforderlich',
'dashboard.tripChangeNeedsConnection':
'Neue Daten, eine andere Anzahl Tage, eine andere Währung oder ein neues Titelbild brauchen eine Verbindung. Name, Beschreibung und Erinnerung lassen sich auch offline ändern.',
};
export default dashboard;
+1
View File
@@ -79,5 +79,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'A new version is available',
'common.errorUpdateBody': 'TREK was updated while this tab was open. Reload to get the new version.',
'common.errorPluginTitle': 'This plugin could not be shown',
'common.needsConnection': 'This needs a connection. Try again once TREK is back online.',
};
export default common;
+2
View File
@@ -221,5 +221,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Add timezone',
'dashboard.aria.removeTimezone': 'Remove {city}',
'dashboard.dayCountRequired': 'Number of days is required',
'dashboard.tripChangeNeedsConnection':
'New dates, a different number of days, another currency or a new cover need a connection. The name, description and reminder can be changed offline.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK se actualizó mientras esta pestaña estaba abierta. Recarga para obtener la nueva versión.',
'common.errorPluginTitle': 'No se pudo mostrar este plugin',
'common.needsConnection': 'Esto necesita conexión. Vuelve a intentarlo cuando TREK esté de nuevo en línea.',
};
export default common;
+2
View File
@@ -222,5 +222,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Añadir zona horaria',
'dashboard.aria.removeTimezone': 'Eliminar {city}',
'dashboard.dayCountRequired': 'El número de días es obligatorio',
'dashboard.tripChangeNeedsConnection':
'Cambiar las fechas, el número de días, la moneda o la portada necesita conexión. El nombre, la descripción y el recordatorio se pueden cambiar sin conexión.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREKi uuendati ajal, kui see vahekaart oli avatud. Uue versiooni kasutamiseks laadi leht uuesti.',
'common.errorPluginTitle': 'Seda pluginat ei saanud kuvada',
'common.needsConnection': 'Selleks on vaja ühendust. Proovi uuesti, kui TREK on taas võrgus.',
};
export default common;
+2
View File
@@ -220,5 +220,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Lisa ajavöönd',
'dashboard.aria.removeTimezone': 'Eemalda {city}',
'dashboard.dayCountRequired': 'Päevade arv on kohustuslik',
'dashboard.tripChangeNeedsConnection':
'Kuupäevade, päevade arvu, valuuta või kaanepildi muutmiseks on vaja ühendust. Nime, kirjeldust ja meeldetuletust saab muuta ka võrguühenduseta.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK a été mis à jour pendant que cet onglet était ouvert. Rechargez pour obtenir la nouvelle version.',
'common.errorPluginTitle': "Ce plugin n'a pas pu être affiché",
'common.needsConnection': 'Cela nécessite une connexion. Réessaie dès que TREK sera de nouveau en ligne.',
};
export default common;
+2
View File
@@ -224,5 +224,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Ajouter un fuseau horaire',
'dashboard.aria.removeTimezone': 'Supprimer {city}',
'dashboard.dayCountRequired': 'Le nombre de jours est requis',
'dashboard.tripChangeNeedsConnection':
'Changer les dates, le nombre de jours, la devise ou la couverture nécessite une connexion. Le nom, la description et le rappel peuvent être modifiés hors ligne.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'Το TREK ενημερώθηκε ενώ αυτή η καρτέλα ήταν ανοιχτή. Κάντε επαναφόρτωση για τη νέα έκδοση.',
'common.errorPluginTitle': 'Δεν ήταν δυνατή η εμφάνιση αυτού του πρόσθετου',
'common.needsConnection': 'Αυτό χρειάζεται σύνδεση. Δοκίμασε ξανά μόλις το TREK συνδεθεί ξανά.',
};
export default common;
+2
View File
@@ -225,5 +225,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Add timezone', // en-fallback
'dashboard.aria.removeTimezone': 'Remove {city}', // en-fallback
'dashboard.dayCountRequired': 'Ο αριθμός ημερών είναι υποχρεωτικός',
'dashboard.tripChangeNeedsConnection':
'Η αλλαγή ημερομηνιών, αριθμού ημερών, νομίσματος ή εξωφύλλου χρειάζεται σύνδεση. Το όνομα, η περιγραφή και η υπενθύμιση αλλάζουν και εκτός σύνδεσης.',
};
export default dashboard;
+1
View File
@@ -79,5 +79,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Új verzió érhető el',
'common.errorUpdateBody': 'A TREK frissült, amíg ez a lap nyitva volt. Töltse újra az új verzióért.',
'common.errorPluginTitle': 'Ezt a bővítményt nem sikerült megjeleníteni',
'common.needsConnection': 'Ehhez kapcsolat kell. Próbáld újra, amint a TREK újra online lesz.',
};
export default common;
+2
View File
@@ -224,5 +224,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Időzóna hozzáadása',
'dashboard.aria.removeTimezone': '{city} eltávolítása',
'dashboard.dayCountRequired': 'A napok száma kötelező',
'dashboard.tripChangeNeedsConnection':
'Az időpontok, a napok száma, a pénznem vagy a borítókép módosításához kapcsolat kell. A név, a leírás és az emlékeztető offline is módosítható.',
};
export default dashboard;
+1
View File
@@ -77,5 +77,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Versi baru tersedia',
'common.errorUpdateBody': 'TREK diperbarui saat tab ini terbuka. Muat ulang untuk mendapatkan versi baru.',
'common.errorPluginTitle': 'Plugin ini tidak dapat ditampilkan',
'common.needsConnection': 'Ini memerlukan koneksi. Coba lagi begitu TREK kembali online.',
};
export default common;
+2
View File
@@ -204,5 +204,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Tambah zona waktu',
'dashboard.aria.removeTimezone': 'Hapus {city}',
'dashboard.dayCountRequired': 'Jumlah hari wajib diisi',
'dashboard.tripChangeNeedsConnection':
'Mengubah tanggal, jumlah hari, mata uang, atau sampul memerlukan koneksi. Nama, deskripsi, dan pengingat bisa diubah secara offline.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK è stato aggiornato mentre questa scheda era aperta. Ricarica per ottenere la nuova versione.',
'common.errorPluginTitle': 'Impossibile mostrare questo plugin',
'common.needsConnection': 'Serve una connessione. Riprova quando TREK tornerà online.',
};
export default common;
+2
View File
@@ -224,5 +224,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Aggiungi fuso orario',
'dashboard.aria.removeTimezone': 'Rimuovi {city}',
'dashboard.dayCountRequired': 'Il numero di giorni è obbligatorio',
'dashboard.tripChangeNeedsConnection':
'Cambiare le date, il numero di giorni, la valuta o la copertina richiede una connessione. Nome, descrizione e promemoria si possono cambiare anche offline.',
};
export default dashboard;
+1
View File
@@ -78,5 +78,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'このタブを開いている間に TREK が更新されました。再読み込みして新しいバージョンを取得してください。',
'common.errorPluginTitle': 'このプラグインを表示できませんでした',
'common.needsConnection': 'この操作には接続が必要です。TREK がオンラインに戻ってから、もう一度お試しください。',
};
export default common;
+2
View File
@@ -202,5 +202,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'タイムゾーンを追加',
'dashboard.aria.removeTimezone': '{city}を削除',
'dashboard.dayCountRequired': '日数は必須です',
'dashboard.tripChangeNeedsConnection':
'日程、日数、通貨、カバー画像の変更には接続が必要です。名前、説明、リマインダーはオフラインでも変更できます。',
};
export default dashboard;
+1
View File
@@ -77,5 +77,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': '새 버전이 있습니다',
'common.errorUpdateBody': '이 탭이 열려 있는 동안 TREK이 업데이트되었습니다. 새로고침하여 새 버전을 받으세요.',
'common.errorPluginTitle': '이 플러그인을 표시할 수 없습니다',
'common.needsConnection': '연결이 필요한 작업입니다. TREK가 다시 온라인이 되면 다시 시도하세요.',
};
export default common;
+2
View File
@@ -202,5 +202,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': '시간대 추가',
'dashboard.aria.removeTimezone': '{city} 제거',
'dashboard.dayCountRequired': '일수는 필수입니다',
'dashboard.tripChangeNeedsConnection':
'날짜, 일수, 통화 또는 커버 이미지를 바꾸려면 연결이 필요합니다. 이름, 설명, 알림은 오프라인에서도 바꿀 수 있습니다.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK is bijgewerkt terwijl dit tabblad open stond. Herlaad om de nieuwe versie te krijgen.',
'common.errorPluginTitle': 'Deze plug-in kon niet worden getoond',
'common.needsConnection': 'Hiervoor is een verbinding nodig. Probeer het opnieuw zodra TREK weer online is.',
};
export default common;
+2
View File
@@ -223,5 +223,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Tijdzone toevoegen',
'dashboard.aria.removeTimezone': '{city} verwijderen',
'dashboard.dayCountRequired': 'Aantal dagen is verplicht',
'dashboard.tripChangeNeedsConnection':
'Nieuwe data, een ander aantal dagen, een andere valuta of een nieuwe omslag hebben een verbinding nodig. Naam, beschrijving en herinnering kun je ook offline wijzigen.',
};
export default dashboard;
+1
View File
@@ -83,5 +83,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Dostępna jest nowa wersja',
'common.errorUpdateBody': 'TREK został zaktualizowany, gdy ta karta była otwarta. Odśwież, aby pobrać nową wersję.',
'common.errorPluginTitle': 'Nie udało się wyświetlić tej wtyczki',
'common.needsConnection': 'To wymaga połączenia. Spróbuj ponownie, gdy TREK znów będzie online.',
};
export default common;
+2
View File
@@ -258,5 +258,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Dodaj strefę czasową',
'dashboard.aria.removeTimezone': 'Usuń {city}',
'dashboard.dayCountRequired': 'Liczba dni jest wymagana',
'dashboard.tripChangeNeedsConnection':
'Zmiana dat, liczby dni, waluty lub okładki wymaga połączenia. Nazwę, opis i przypomnienie można zmienić także offline.',
};
export default dashboard;
+1
View File
@@ -84,5 +84,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK обновился, пока эта вкладка была открыта. Обновите страницу, чтобы получить новую версию.',
'common.errorPluginTitle': 'Не удалось показать этот плагин',
'common.needsConnection': 'Для этого нужно подключение. Попробуйте ещё раз, когда TREK снова будет онлайн.',
};
export default common;
+2
View File
@@ -256,5 +256,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Добавить часовой пояс',
'dashboard.aria.removeTimezone': 'Удалить {city}',
'dashboard.dayCountRequired': 'Количество дней обязательно',
'dashboard.tripChangeNeedsConnection':
'Для смены дат, количества дней, валюты или обложки нужно подключение. Название, описание и напоминание можно менять и офлайн.',
};
export default dashboard;
+1
View File
@@ -82,5 +82,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK bol aktualizovaný, kým bola táto karta otvorená. Znova načítajte stránku pre novú verziu.',
'common.errorPluginTitle': 'Tento plugin sa nepodarilo zobraziť',
'common.needsConnection': 'Na toto je potrebné pripojenie. Skús to znova, keď bude TREK opäť online.',
};
export default common;
+2
View File
@@ -238,5 +238,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Pridať časové pásmo',
'dashboard.aria.removeTimezone': 'Odstrániť {city}',
'dashboard.dayCountRequired': 'Počet dní je povinný',
'dashboard.tripChangeNeedsConnection':
'Zmena termínu, počtu dní, meny alebo titulného obrázka potrebuje pripojenie. Názov, popis a pripomienku môžeš zmeniť aj offline.',
};
export default dashboard;
+1
View File
@@ -80,5 +80,6 @@ const common: TranslationStrings = {
'common.errorUpdateBody':
'TREK uppdaterades medan den här fliken var öppen. Ladda om för att hämta den nya versionen.',
'common.errorPluginTitle': 'Det här tillägget kunde inte visas',
'common.needsConnection': 'Det här kräver en anslutning. Försök igen när TREK är online igen.',
};
export default common;
+2
View File
@@ -220,5 +220,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Lägg till tidszon',
'dashboard.aria.removeTimezone': 'Ta bort {city}',
'dashboard.dayCountRequired': 'Antalet dagar måste anges',
'dashboard.tripChangeNeedsConnection':
'Nya datum, ett annat antal dagar, en annan valuta eller en ny omslagsbild kräver en anslutning. Namn, beskrivning och påminnelse kan ändras offline.',
};
export default dashboard;
+1
View File
@@ -77,5 +77,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'มีเวอร์ชันใหม่ให้ใช้งานแล้ว',
'common.errorUpdateBody': 'TREK ได้รับการอัปเดตขณะที่แท็บนี้เปิดอยู่ โหลดซ้ำเพื่อรับเวอร์ชันใหม่',
'common.errorPluginTitle': 'ไม่สามารถแสดงปลั๊กอินนี้ได้',
'common.needsConnection': 'การทำงานนี้ต้องใช้การเชื่อมต่อ ลองอีกครั้งเมื่อ TREK กลับมาออนไลน์',
};
export default common;
+2
View File
@@ -201,5 +201,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'เพิ่มเขตเวลา',
'dashboard.aria.removeTimezone': 'ลบ {city}',
'dashboard.dayCountRequired': 'ต้องระบุจำนวนวัน',
'dashboard.tripChangeNeedsConnection':
'การเปลี่ยนวันที่ จำนวนวัน สกุลเงิน หรือภาพปกต้องใช้การเชื่อมต่อ ส่วนชื่อ คำอธิบาย และการแจ้งเตือนเปลี่ยนแบบออฟไลน์ได้',
};
export default dashboard;
+1
View File
@@ -79,5 +79,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Yeni bir sürüm mevcut',
'common.errorUpdateBody': 'Bu sekme açıkken TREK güncellendi. Yeni sürümü almak için sayfayı yenileyin.',
'common.errorPluginTitle': 'Bu eklenti gösterilemedi',
'common.needsConnection': 'Bunun için bağlantı gerekiyor. TREK yeniden çevrimiçi olduğunda tekrar dene.',
};
export default common;
+2
View File
@@ -221,5 +221,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Saat dilimi ekle',
'dashboard.aria.removeTimezone': '{city} kaldır',
'dashboard.dayCountRequired': 'Gün sayısı gereklidir',
'dashboard.tripChangeNeedsConnection':
'Tarihleri, gün sayısını, para birimini veya kapak görselini değiştirmek bağlantı gerektirir. Ad, açıklama ve hatırlatıcı çevrimdışı da değiştirilebilir.',
};
export default dashboard;
+1
View File
@@ -83,5 +83,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Доступна нова версія',
'common.errorUpdateBody': 'TREK оновився, поки ця вкладка була відкрита. Перезавантажте, щоб отримати нову версію.',
'common.errorPluginTitle': 'Не вдалося показати цей плагін',
'common.needsConnection': "Для цього потрібне з'єднання. Спробуйте ще раз, коли TREK знову буде онлайн.",
};
export default common;
+2
View File
@@ -258,5 +258,7 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': 'Додати часовий пояс',
'dashboard.aria.removeTimezone': 'Вилучити {city}',
'dashboard.dayCountRequired': 'Вкажіть кількість днів',
'dashboard.tripChangeNeedsConnection':
'Зміна дат, кількості днів, валюти чи обкладинки потребує зʼєднання. Назву, опис і нагадування можна змінити й офлайн.',
};
export default dashboard;
+1
View File
@@ -77,5 +77,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': 'Đã có phiên bản mới',
'common.errorUpdateBody': 'TREK đã được cập nhật trong khi thẻ này đang mở. Hãy tải lại để nhận phiên bản mới.',
'common.errorPluginTitle': 'Không thể hiển thị plugin này',
'common.needsConnection': 'Thao tác này cần kết nối. Hãy thử lại khi TREK trực tuyến trở lại.',
};
export default common;
+2
View File
@@ -204,5 +204,7 @@ const dashboard: TranslationStrings = {
'dashboard.unsplashNoResults': 'Không tìm thấy ảnh nào',
'dashboard.coverSearchError': 'Tìm kiếm trên Unsplash không thành công',
'dashboard.useUnsplashPhoto': 'Dùng ảnh Unsplash của {photographer}',
'dashboard.tripChangeNeedsConnection':
'Đổi ngày, số ngày, tiền tệ hoặc ảnh bìa cần có kết nối. Tên, mô tả và lời nhắc có thể đổi khi ngoại tuyến.',
};
export default dashboard;
+1
View File
@@ -77,5 +77,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': '有新版本可用',
'common.errorUpdateBody': '此分頁開啟期間 TREK 已更新。請重新載入以取得新版本。',
'common.errorPluginTitle': '無法顯示此外掛程式',
'common.needsConnection': '此操作需要網路連線。請在 TREK 恢復連線後再試一次。',
};
export default common;
+1
View File
@@ -200,5 +200,6 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': '新增時區',
'dashboard.aria.removeTimezone': '移除 {city}',
'dashboard.dayCountRequired': '天數為必填項',
'dashboard.tripChangeNeedsConnection': '變更日期、天數、幣別或封面需要網路連線。名稱、說明和提醒可以在離線時變更。',
};
export default dashboard;
+1
View File
@@ -77,5 +77,6 @@ const common: TranslationStrings = {
'common.errorUpdateTitle': '有新版本可用',
'common.errorUpdateBody': '此标签页打开期间 TREK 已更新。请重新加载以获取新版本。',
'common.errorPluginTitle': '无法显示此插件',
'common.needsConnection': '此操作需要网络连接。请在 TREK 恢复联网后重试。',
};
export default common;
+1
View File
@@ -200,5 +200,6 @@ const dashboard: TranslationStrings = {
'dashboard.aria.addTimezone': '添加时区',
'dashboard.aria.removeTimezone': '移除 {city}',
'dashboard.dayCountRequired': '天数为必填项',
'dashboard.tripChangeNeedsConnection': '更改日期、天数、货币或封面需要网络连接。名称、描述和提醒可以离线更改。',
};
export default dashboard;