mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-22 06:56:35 +00:00
feat(journey): keep the route recorded on a journey day from Dawarich, previewed first, with its gaps
A day header in the journey timeline now carries the Dawarich mark for an editor whose Dawarich answers (dimmed with the reason while offline). It opens a dialog that names the journey and the day and reads that one local day from the caller's own connection: a sketch of the route, distance, first and last time, pieces, gaps without recording, modes and whether tracks or thinned points answered. The day is cut in the zone Dawarich records in where its answer shows one, else in this device's, and a picker cuts it in any other. Nothing is kept before "Keep route". On a phone the same sheet opens from the journey's More options for the day of the card shown. What is kept is the preview that was seen: the save reads the day again and refuses with recording_changed when its hash moved, and the dialog shows the new version. The same day taken over twice keeps one version and announces nothing; a different version is replaced only on "Replace", never touching an entry or text. A failed read throws before any write, so the kept version stays. Gaps stay gaps: points are split where silence ends elsewhere, and no day is joined to the one before. The dialog says how many other people will see the route; editors may keep their own recording. Kept days show in the day header (distance, whose recording, since when, still running) and on the desktop and phone journey maps in the colour of their day's pins, winning over the live trail of their date, and stay drawn without Dawarich. A trip's GPX track is now drawn dashed as the plan, recorded routes solid. Shared links do not show recorded days. Remove route asks first and works without a connection. Server: migration 046160 adds journey_recorded_days (one row per journey, local day and source, segments as JSON, zone, window, fetch time, hash, importer kept past their account). The journey domain owns the rows through JourneyRecordedDaysService; the new journey-recordings domain takes a day over through DawarichTracksService.fetchDay, which reads past the cache, asks a window wide enough for every zone and refuses with DomainErrors. REST under /api/journeys/:id/recordings (list, preview, PUT and DELETE /:date) with @trek/shared contracts, and MCP list_journey_recorded_days, preview_journey_recorded_day, save_journey_recorded_day and delete_journey_recorded_day on the same service and access. A new user event journey:recording:updated keeps every open map current. JourneyTrack gains an optional kind. All 27 locales carry the strings; the Journey and Dawarich wiki pages and the MCP tool list say what it does.
This commit is contained in:
@@ -10,7 +10,9 @@ import { z } from 'zod';
|
||||
* TREK plans and interprets.** TREK never starts a location tracker of its own,
|
||||
* never writes into Dawarich, and never keeps a copy of the raw GPS archive —
|
||||
* the track overlay is fetched for the window being looked at and thrown away
|
||||
* again.
|
||||
* again. The one exception is asked for: a traveller may take one day's route
|
||||
* over into a journey, thinned like the overlay and only after a preview they
|
||||
* confirmed (JRN-01, `journey/journey-recordings.schema.ts`).
|
||||
*
|
||||
* The connection is per user (Settings → Integrations); the global on/off is
|
||||
* the `dawarich` addon. Each user stores their own instance URL and API key,
|
||||
|
||||
@@ -741,5 +741,79 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'الطقس',
|
||||
'journey.entry.suggestion': 'اقتراح',
|
||||
'journey.editor.addDetails': '+ تفاصيل',
|
||||
'journey.recording.mapLine': 'سُجّل في {date}',
|
||||
'journey.recording.keptBy': 'تم حفظ المسار المسجّل: {distance}، نقله {name} في {date}.',
|
||||
'journey.recording.keptOn': 'تم حفظ المسار المسجّل: {distance}، نُقل في {date}.',
|
||||
'journey.recording.keptRunning': 'لم يكن اليوم قد انتهى بعد حينها.',
|
||||
'journey.recording.takeOver': 'نقل التسجيل',
|
||||
'journey.recording.takeOverDay': 'تسجيل {date}',
|
||||
'journey.recording.sub': 'هذا اليوم فقط، من حسابك في Dawarich. لا يُحفظ شيء حتى تؤكد.',
|
||||
'journey.recording.zone': 'المنطقة الزمنية لليوم',
|
||||
'journey.recording.zoneHint':
|
||||
'يمتد اليوم في هذه المنطقة من منتصف الليل إلى منتصف الليل. اختر المنطقة التي كنت تسافر فيها.',
|
||||
'journey.recording.zoneSource': 'من Dawarich',
|
||||
'journey.recording.zoneDevice': 'هذا الجهاز',
|
||||
'journey.recording.scope': 'التسجيل',
|
||||
'journey.recording.loading': 'جارٍ قراءة اليوم من Dawarich…',
|
||||
'journey.recording.keptStays': 'يبقى المسار المحفوظ في هذه الرحلة كما هو.',
|
||||
'journey.recording.retry': 'أعد المحاولة',
|
||||
'journey.recording.empty': 'لم يسجّل Dawarich شيئًا في هذا اليوم في هذه المنطقة الزمنية.',
|
||||
'journey.recording.span': 'من {from} إلى {to}',
|
||||
'journey.recording.pieces': '{count} مقطع',
|
||||
'journey.recording.pieces.zero': 'لا مقاطع',
|
||||
'journey.recording.pieces.one': 'مقطع واحد',
|
||||
'journey.recording.pieces.two': 'مقطعان',
|
||||
'journey.recording.pieces.few': '{count} مقاطع',
|
||||
'journey.recording.pieces.many': '{count} مقطعًا',
|
||||
'journey.recording.gaps': '{count} انقطاع',
|
||||
'journey.recording.gaps.zero': 'لا انقطاعات',
|
||||
'journey.recording.gaps.one': 'انقطاع واحد',
|
||||
'journey.recording.gaps.two': 'انقطاعان',
|
||||
'journey.recording.gaps.few': '{count} انقطاعات',
|
||||
'journey.recording.gaps.many': '{count} انقطاعًا',
|
||||
'journey.recording.gapsHint': 'حيث يتوقف التسجيل يتوقف الخط أيضًا. لا يُرسم أي طريق لم يُسجَّل.',
|
||||
'journey.recording.sourceHint':
|
||||
'المسارات هي طرق قسّمها Dawarich حسب وسيلة التنقل. النقاط هي مواقعه الخام، مخففة إلى 600 في اليوم.',
|
||||
'journey.recording.sourceTracks': 'مسارات',
|
||||
'journey.recording.sourcePoints': 'نقاط',
|
||||
'journey.recording.changedSincePreview': 'تغيّر التسجيل في Dawarich أثناء مشاهدتك له. راجعه مرة أخرى ثم احفظه.',
|
||||
'journey.recording.truncated': 'أرسل Dawarich جزءًا فقط من هذا اليوم، فالمسار غير مكتمل.',
|
||||
'journey.recording.provisional':
|
||||
'لم ينتهِ هذا اليوم بعد في هذه المنطقة الزمنية. يمكنك لاحقًا استبدال المسار باليوم كاملًا.',
|
||||
'journey.recording.same': 'هذه الرحلة تحفظ هذا التسجيل نفسه بالفعل.',
|
||||
'journey.recording.differs':
|
||||
'هذه الرحلة تحفظ نسخة أخرى من {date} ({distance}). الاستبدال لا يغيّر أي إدخالات أو نصوص.',
|
||||
'journey.recording.audience': 'سيرى {count} شخص آخر في هذه الرحلة المسار على خريطتها. الروابط المشتركة لا تعرضه.',
|
||||
'journey.recording.audience.zero': 'لن يرى أحد آخر في هذه الرحلة المسار على خريطتها. الروابط المشتركة لا تعرضه.',
|
||||
'journey.recording.audience.one': 'سيرى شخص آخر واحد في هذه الرحلة المسار على خريطتها. الروابط المشتركة لا تعرضه.',
|
||||
'journey.recording.audience.two': 'سيرى شخصان آخران في هذه الرحلة المسار على خريطتها. الروابط المشتركة لا تعرضه.',
|
||||
'journey.recording.audience.few':
|
||||
'سيرى {count} أشخاص آخرين في هذه الرحلة المسار على خريطتها. الروابط المشتركة لا تعرضه.',
|
||||
'journey.recording.audience.many':
|
||||
'سيرى {count} شخصًا آخر في هذه الرحلة المسار على خريطتها. الروابط المشتركة لا تعرضه.',
|
||||
'journey.recording.replace': 'استبدال',
|
||||
'journey.recording.alreadyKept': 'محفوظ بالفعل',
|
||||
'journey.recording.keep': 'حفظ المسار',
|
||||
'journey.recording.remove': 'إزالة المسار',
|
||||
'journey.recording.removeTitle': 'إزالة المسار المحفوظ؟',
|
||||
'journey.recording.removeMessage':
|
||||
'يختفي مسار هذا اليوم من خريطة الرحلة. تبقى الإدخالات والنصوص، ويحتفظ Dawarich بتسجيله الخاص.',
|
||||
'journey.recording.keptToast': 'تم حفظ المسار في الرحلة',
|
||||
'journey.recording.replacedToast': 'تم استبدال المسار',
|
||||
'journey.recording.removedToast': 'تمت إزالة المسار من الرحلة',
|
||||
'journey.recording.error.recording_exists': 'هذه الرحلة تحفظ بالفعل تسجيلًا آخر لذلك اليوم.',
|
||||
'journey.recording.error.recording_changed': 'تغيّر التسجيل منذ المعاينة.',
|
||||
'journey.recording.error.recording_empty': 'لم يسجّل Dawarich شيئًا في ذلك اليوم.',
|
||||
'journey.recording.mode.walking': 'مشيًا',
|
||||
'journey.recording.mode.running': 'جري',
|
||||
'journey.recording.mode.cycling': 'دراجة',
|
||||
'journey.recording.mode.driving': 'سيارة',
|
||||
'journey.recording.mode.motorcycle': 'دراجة نارية',
|
||||
'journey.recording.mode.bus': 'حافلة',
|
||||
'journey.recording.mode.train': 'قطار',
|
||||
'journey.recording.mode.flying': 'رحلة جوية',
|
||||
'journey.recording.mode.boat': 'قارب',
|
||||
'journey.recording.mode.stationary': 'ثابت',
|
||||
'journey.recording.mode.unknown': 'وسيلة غير معروفة',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -778,5 +778,68 @@ const journey: TranslationStrings = {
|
||||
|
||||
'journey.entry.suggestion': 'Təklif',
|
||||
'journey.editor.addDetails': '+ Təfərrüatlar',
|
||||
'journey.recording.mapLine': '{date} tarixində qeydə alınıb',
|
||||
'journey.recording.keptBy':
|
||||
'Qeydə alınmış marşrut saxlanıb: {distance}, {name} tərəfindən {date} tarixində götürülüb.',
|
||||
'journey.recording.keptOn': 'Qeydə alınmış marşrut saxlanıb: {distance}, {date} tarixində götürülüb.',
|
||||
'journey.recording.keptRunning': 'O vaxt gün hələ bitməmişdi.',
|
||||
'journey.recording.takeOver': 'Qeydi götür',
|
||||
'journey.recording.takeOverDay': '{date} qeydi',
|
||||
'journey.recording.sub': 'Yalnız bu gün, sənin Dawarich hesabından. Təsdiqləyənə qədər heç nə saxlanmır.',
|
||||
'journey.recording.zone': 'Günün saat qurşağı',
|
||||
'journey.recording.zoneHint':
|
||||
'Gün bu qurşaqda gecə yarısından gecə yarısına qədər davam edir. Səyahət etdiyin qurşağı seç.',
|
||||
'journey.recording.zoneSource': 'Dawarich-dən',
|
||||
'journey.recording.zoneDevice': 'Bu cihaz',
|
||||
'journey.recording.scope': 'Qeyd',
|
||||
'journey.recording.loading': 'Gün Dawarich-dən oxunur…',
|
||||
'journey.recording.keptStays': 'Bu səyahətin saxladığı marşrut olduğu kimi qalır.',
|
||||
'journey.recording.retry': 'Yenidən cəhd et',
|
||||
'journey.recording.empty': 'Dawarich bu gün bu saat qurşağında heç nə qeydə almayıb.',
|
||||
'journey.recording.span': '{from} ilə {to} arası',
|
||||
'journey.recording.pieces': '{count} hissə',
|
||||
'journey.recording.pieces.one': '{count} hissə',
|
||||
'journey.recording.gaps': '{count} boşluq',
|
||||
'journey.recording.gaps.one': '{count} boşluq',
|
||||
'journey.recording.gapsHint': 'Qeyd dayandığı yerdə xətt də dayanır. Qeydə alınmamış heç bir yol çəkilmir.',
|
||||
'journey.recording.sourceHint':
|
||||
'İzlər Dawarich-in artıq hərəkət növünə görə böldüyü marşrutlardır. Nöqtələr xam mövqelərdir, gündə 600-ə qədər seyrəldilir.',
|
||||
'journey.recording.sourceTracks': 'İzlər',
|
||||
'journey.recording.sourcePoints': 'Nöqtələr',
|
||||
'journey.recording.changedSincePreview': 'Sən baxarkən qeyd Dawarich-də dəyişdi. Bir daha yoxla, sonra saxla.',
|
||||
'journey.recording.truncated': 'Dawarich bu günün yalnız bir hissəsini göndərdi, marşrut natamamdır.',
|
||||
'journey.recording.provisional':
|
||||
'Bu gün bu saat qurşağında hələ bitməyib. Marşrutu sonra bütün günlə əvəz edə bilərsən.',
|
||||
'journey.recording.same': 'Bu səyahət artıq məhz bu qeydi saxlayır.',
|
||||
'journey.recording.differs':
|
||||
'Bu səyahət {date} tarixli başqa versiyanı saxlayır ({distance}). Əvəz etmək heç bir qeydi və ya mətni dəyişmir.',
|
||||
'journey.recording.audience':
|
||||
'Bu səyahətdəki daha {count} nəfər marşrutu xəritədə görəcək. Paylaşılan keçidlər onu göstərmir.',
|
||||
'journey.recording.audience.one':
|
||||
'Bu səyahətdəki daha {count} nəfər marşrutu xəritədə görəcək. Paylaşılan keçidlər onu göstərmir.',
|
||||
'journey.recording.replace': 'Əvəz et',
|
||||
'journey.recording.alreadyKept': 'Artıq saxlanıb',
|
||||
'journey.recording.keep': 'Marşrutu saxla',
|
||||
'journey.recording.remove': 'Marşrutu sil',
|
||||
'journey.recording.removeTitle': 'Saxlanmış marşrut silinsin?',
|
||||
'journey.recording.removeMessage':
|
||||
'Bu günün marşrutu səyahət xəritəsindən çıxır. Qeydlər və mətnlər qalır, Dawarich isə öz qeydini saxlayır.',
|
||||
'journey.recording.keptToast': 'Marşrut səyahətdə saxlanıldı',
|
||||
'journey.recording.replacedToast': 'Marşrut əvəz edildi',
|
||||
'journey.recording.removedToast': 'Marşrut səyahətdən silindi',
|
||||
'journey.recording.error.recording_exists': 'Bu səyahət o gün üçün artıq başqa qeyd saxlayır.',
|
||||
'journey.recording.error.recording_changed': 'Qeyd önbaxışdan sonra dəyişib.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich o gün heç nə qeydə almayıb.',
|
||||
'journey.recording.mode.walking': 'Piyada',
|
||||
'journey.recording.mode.running': 'Qaçış',
|
||||
'journey.recording.mode.cycling': 'Velosiped',
|
||||
'journey.recording.mode.driving': 'Avtomobil',
|
||||
'journey.recording.mode.motorcycle': 'Motosiklet',
|
||||
'journey.recording.mode.bus': 'Avtobus',
|
||||
'journey.recording.mode.train': 'Qatar',
|
||||
'journey.recording.mode.flying': 'Uçuş',
|
||||
'journey.recording.mode.boat': 'Qayıq',
|
||||
'journey.recording.mode.stationary': 'Hərəkətsiz',
|
||||
'journey.recording.mode.unknown': 'Naməlum növ',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -705,5 +705,69 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Clima',
|
||||
'journey.entry.suggestion': 'Sugestão',
|
||||
'journey.editor.addDetails': '+ Detalhes',
|
||||
'journey.recording.mapLine': 'Gravado em {date}',
|
||||
'journey.recording.keptBy': 'Rota gravada salva: {distance}, trazida por {name} em {date}.',
|
||||
'journey.recording.keptOn': 'Rota gravada salva: {distance}, trazida em {date}.',
|
||||
'journey.recording.keptRunning': 'O dia ainda não tinha terminado.',
|
||||
'journey.recording.takeOver': 'Trazer a gravação',
|
||||
'journey.recording.takeOverDay': 'Gravação de {date}',
|
||||
'journey.recording.sub': 'Só este dia, do seu Dawarich. Nada é salvo até você confirmar.',
|
||||
'journey.recording.zone': 'Fuso horário do dia',
|
||||
'journey.recording.zoneHint':
|
||||
'O dia vai de meia-noite a meia-noite neste fuso. Escolha aquele em que você estava viajando.',
|
||||
'journey.recording.zoneSource': 'Do Dawarich',
|
||||
'journey.recording.zoneDevice': 'Este aparelho',
|
||||
'journey.recording.scope': 'Gravação',
|
||||
'journey.recording.loading': 'Lendo o dia no Dawarich…',
|
||||
'journey.recording.keptStays': 'A rota que esta viagem guarda continua como está.',
|
||||
'journey.recording.retry': 'Tentar de novo',
|
||||
'journey.recording.empty': 'O Dawarich não gravou nada neste dia neste fuso horário.',
|
||||
'journey.recording.span': 'das {from} às {to}',
|
||||
'journey.recording.pieces': '{count} trechos',
|
||||
'journey.recording.pieces.one': '{count} trecho',
|
||||
'journey.recording.gaps': '{count} interrupções',
|
||||
'journey.recording.gaps.one': '{count} interrupção',
|
||||
'journey.recording.gapsHint':
|
||||
'Onde a gravação para, a linha também para. Nenhum caminho que não foi gravado é desenhado.',
|
||||
'journey.recording.sourceHint':
|
||||
'Trilhas são rotas que o Dawarich já dividiu por meio de transporte. Pontos são as posições brutas, reduzidas a 600 por dia.',
|
||||
'journey.recording.sourceTracks': 'Trilhas',
|
||||
'journey.recording.sourcePoints': 'Pontos',
|
||||
'journey.recording.changedSincePreview':
|
||||
'A gravação mudou no Dawarich enquanto você olhava. Confira mais uma vez e depois salve.',
|
||||
'journey.recording.truncated': 'O Dawarich enviou só uma parte deste dia, a rota está incompleta.',
|
||||
'journey.recording.provisional':
|
||||
'Este dia ainda não acabou neste fuso. Depois você pode substituir a rota pelo dia inteiro.',
|
||||
'journey.recording.same': 'Esta viagem já guarda exatamente esta gravação.',
|
||||
'journey.recording.differs':
|
||||
'Esta viagem guarda outra versão de {date} ({distance}). Substituir não muda nenhuma entrada nem texto.',
|
||||
'journey.recording.audience':
|
||||
'Mais {count} pessoas desta viagem verão a rota no mapa. Links compartilhados não a mostram.',
|
||||
'journey.recording.audience.one':
|
||||
'Mais {count} pessoa desta viagem verá a rota no mapa. Links compartilhados não a mostram.',
|
||||
'journey.recording.replace': 'Substituir',
|
||||
'journey.recording.alreadyKept': 'Já salva',
|
||||
'journey.recording.keep': 'Salvar rota',
|
||||
'journey.recording.remove': 'Remover rota',
|
||||
'journey.recording.removeTitle': 'Remover a rota salva?',
|
||||
'journey.recording.removeMessage':
|
||||
'A rota deste dia sai do mapa da viagem. Entradas e textos ficam, e o Dawarich mantém sua própria gravação.',
|
||||
'journey.recording.keptToast': 'Rota salva na viagem',
|
||||
'journey.recording.replacedToast': 'Rota substituída',
|
||||
'journey.recording.removedToast': 'Rota removida da viagem',
|
||||
'journey.recording.error.recording_exists': 'Esta viagem já guarda outra gravação daquele dia.',
|
||||
'journey.recording.error.recording_changed': 'A gravação mudou desde a prévia.',
|
||||
'journey.recording.error.recording_empty': 'O Dawarich não gravou nada naquele dia.',
|
||||
'journey.recording.mode.walking': 'A pé',
|
||||
'journey.recording.mode.running': 'Corrida',
|
||||
'journey.recording.mode.cycling': 'Bicicleta',
|
||||
'journey.recording.mode.driving': 'Carro',
|
||||
'journey.recording.mode.motorcycle': 'Moto',
|
||||
'journey.recording.mode.bus': 'Ônibus',
|
||||
'journey.recording.mode.train': 'Trem',
|
||||
'journey.recording.mode.flying': 'Voo',
|
||||
'journey.recording.mode.boat': 'Barco',
|
||||
'journey.recording.mode.stationary': 'Parado',
|
||||
'journey.recording.mode.unknown': 'Meio desconhecido',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -708,5 +708,68 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Temps',
|
||||
'journey.entry.suggestion': 'Suggeriment',
|
||||
'journey.editor.addDetails': '+ Detalls',
|
||||
'journey.recording.mapLine': 'Enregistrat el {date}',
|
||||
'journey.recording.keptBy': 'Ruta enregistrada desada: {distance}, presa per {name} el {date}.',
|
||||
'journey.recording.keptOn': 'Ruta enregistrada desada: {distance}, presa el {date}.',
|
||||
'journey.recording.keptRunning': 'El dia encara no s’havia acabat.',
|
||||
'journey.recording.takeOver': 'Agafar l’enregistrament',
|
||||
'journey.recording.takeOverDay': 'Enregistrament del {date}',
|
||||
'journey.recording.sub': 'Només aquest dia, des del teu Dawarich. No es desa res fins que confirmis.',
|
||||
'journey.recording.zone': 'Fus horari del dia',
|
||||
'journey.recording.zoneHint': 'El dia va de mitjanit a mitjanit en aquest fus. Tria el fus on viatjaves.',
|
||||
'journey.recording.zoneSource': 'Segons Dawarich',
|
||||
'journey.recording.zoneDevice': 'Aquest dispositiu',
|
||||
'journey.recording.scope': 'Enregistrament',
|
||||
'journey.recording.loading': 'S’està llegint el dia de Dawarich…',
|
||||
'journey.recording.keptStays': 'La ruta que desa aquest viatge es queda com està.',
|
||||
'journey.recording.retry': 'Torna-ho a provar',
|
||||
'journey.recording.empty': 'Dawarich no va enregistrar res aquell dia en aquest fus horari.',
|
||||
'journey.recording.span': 'de {from} a {to}',
|
||||
'journey.recording.pieces': '{count} trams',
|
||||
'journey.recording.pieces.one': '{count} tram',
|
||||
'journey.recording.gaps': '{count} interrupcions',
|
||||
'journey.recording.gaps.one': '{count} interrupció',
|
||||
'journey.recording.gapsHint':
|
||||
'On l’enregistrament s’atura, la línia també. No es dibuixa cap camí que no s’hagi enregistrat.',
|
||||
'journey.recording.sourceHint':
|
||||
'Les rutes són trajectes que Dawarich ja ha dividit per mitjà. Els punts són les seves posicions en brut, reduïdes a 600 per dia.',
|
||||
'journey.recording.sourceTracks': 'Rutes',
|
||||
'journey.recording.sourcePoints': 'Punts',
|
||||
'journey.recording.changedSincePreview':
|
||||
'L’enregistrament ha canviat a Dawarich mentre el miraves. Revisa’l un cop més i després desa’l.',
|
||||
'journey.recording.truncated': 'Dawarich només ha enviat una part d’aquest dia, la ruta és incompleta.',
|
||||
'journey.recording.provisional':
|
||||
'Aquest dia encara no s’ha acabat en aquest fus. Més endavant pots substituir la ruta pel dia sencer.',
|
||||
'journey.recording.same': 'Aquest viatge ja desa exactament aquest enregistrament.',
|
||||
'journey.recording.differs':
|
||||
'Aquest viatge desa una altra versió del {date} ({distance}). Substituir-la no canvia cap entrada ni cap text.',
|
||||
'journey.recording.audience':
|
||||
'{count} persones més d’aquest viatge veuran la ruta al mapa. Els enllaços compartits no la mostren.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} persona més d’aquest viatge veurà la ruta al mapa. Els enllaços compartits no la mostren.',
|
||||
'journey.recording.replace': 'Substitueix',
|
||||
'journey.recording.alreadyKept': 'Ja desada',
|
||||
'journey.recording.keep': 'Desa la ruta',
|
||||
'journey.recording.remove': 'Treu la ruta',
|
||||
'journey.recording.removeTitle': 'Vols treure la ruta desada?',
|
||||
'journey.recording.removeMessage':
|
||||
'La ruta d’aquest dia desapareix del mapa del viatge. Les entrades i els textos es queden, i Dawarich conserva el seu propi enregistrament.',
|
||||
'journey.recording.keptToast': 'Ruta desada al viatge',
|
||||
'journey.recording.replacedToast': 'Ruta substituïda',
|
||||
'journey.recording.removedToast': 'Ruta treta del viatge',
|
||||
'journey.recording.error.recording_exists': 'Aquest viatge ja desa un altre enregistrament d’aquell dia.',
|
||||
'journey.recording.error.recording_changed': 'L’enregistrament ha canviat des de la previsualització.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich no va enregistrar res aquell dia.',
|
||||
'journey.recording.mode.walking': 'A peu',
|
||||
'journey.recording.mode.running': 'Córrer',
|
||||
'journey.recording.mode.cycling': 'Bicicleta',
|
||||
'journey.recording.mode.driving': 'Cotxe',
|
||||
'journey.recording.mode.motorcycle': 'Moto',
|
||||
'journey.recording.mode.bus': 'Autobús',
|
||||
'journey.recording.mode.train': 'Tren',
|
||||
'journey.recording.mode.flying': 'Vol',
|
||||
'journey.recording.mode.boat': 'Vaixell',
|
||||
'journey.recording.mode.stationary': 'Aturat',
|
||||
'journey.recording.mode.unknown': 'Mitjà desconegut',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -712,5 +712,70 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Počasí',
|
||||
'journey.entry.suggestion': 'Návrh',
|
||||
'journey.editor.addDetails': '+ Podrobnosti',
|
||||
'journey.recording.mapLine': 'Zaznamenáno {date}',
|
||||
'journey.recording.keptBy': 'Zaznamenaná trasa uložena: {distance}, převzal(a) {name} dne {date}.',
|
||||
'journey.recording.keptOn': 'Zaznamenaná trasa uložena: {distance}, převzato dne {date}.',
|
||||
'journey.recording.keptRunning': 'Den tehdy ještě neskončil.',
|
||||
'journey.recording.takeOver': 'Převzít záznam',
|
||||
'journey.recording.takeOverDay': 'Záznam z {date}',
|
||||
'journey.recording.sub': 'Jen tento den, z tvého Dawariche. Nic se neuloží, dokud nepotvrdíš.',
|
||||
'journey.recording.zone': 'Časové pásmo dne',
|
||||
'journey.recording.zoneHint': 'Den trvá v tomto pásmu od půlnoci do půlnoci. Vyber to, ve kterém jsi cestoval(a).',
|
||||
'journey.recording.zoneSource': 'Z Dawariche',
|
||||
'journey.recording.zoneDevice': 'Toto zařízení',
|
||||
'journey.recording.scope': 'Záznam',
|
||||
'journey.recording.loading': 'Načítá se den z Dawariche…',
|
||||
'journey.recording.keptStays': 'Trasa, kterou tato cesta uchovává, zůstává beze změny.',
|
||||
'journey.recording.retry': 'Zkusit znovu',
|
||||
'journey.recording.empty': 'Dawarich v tento den v tomto časovém pásmu nic nezaznamenal.',
|
||||
'journey.recording.span': '{from} až {to}',
|
||||
'journey.recording.pieces': '{count} úseků',
|
||||
'journey.recording.pieces.one': '{count} úsek',
|
||||
'journey.recording.pieces.few': '{count} úseky',
|
||||
'journey.recording.gaps': '{count} mezer',
|
||||
'journey.recording.gaps.one': '{count} mezera',
|
||||
'journey.recording.gaps.few': '{count} mezery',
|
||||
'journey.recording.gapsHint': 'Kde záznam končí, končí i čára. Nekreslí se žádná cesta, která nebyla zaznamenána.',
|
||||
'journey.recording.sourceHint':
|
||||
'Stopy jsou trasy, které Dawarich už rozdělil podle způsobu dopravy. Body jsou jeho surové polohy, prořídlé na 600 za den.',
|
||||
'journey.recording.sourceTracks': 'Stopy',
|
||||
'journey.recording.sourcePoints': 'Body',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Záznam se v Dawarichi změnil, zatímco jsi ho prohlížel(a). Zkontroluj ho ještě jednou a pak ho ulož.',
|
||||
'journey.recording.truncated': 'Dawarich poslal jen část tohoto dne, trasa je neúplná.',
|
||||
'journey.recording.provisional': 'Tento den v tomto pásmu ještě neskončil. Trasu můžeš později nahradit celým dnem.',
|
||||
'journey.recording.same': 'Tato cesta už uchovává přesně tento záznam.',
|
||||
'journey.recording.differs':
|
||||
'Tato cesta uchovává jinou verzi z {date} ({distance}). Nahrazení nezmění žádné záznamy ani texty.',
|
||||
'journey.recording.audience':
|
||||
'Dalších {count} lidí na této cestě uvidí trasu na mapě. Sdílené odkazy ji nezobrazují.',
|
||||
'journey.recording.audience.one':
|
||||
'Další {count} člověk na této cestě uvidí trasu na mapě. Sdílené odkazy ji nezobrazují.',
|
||||
'journey.recording.audience.few':
|
||||
'Další {count} lidé na této cestě uvidí trasu na mapě. Sdílené odkazy ji nezobrazují.',
|
||||
'journey.recording.replace': 'Nahradit',
|
||||
'journey.recording.alreadyKept': 'Už uloženo',
|
||||
'journey.recording.keep': 'Uložit trasu',
|
||||
'journey.recording.remove': 'Odebrat trasu',
|
||||
'journey.recording.removeTitle': 'Odebrat uloženou trasu?',
|
||||
'journey.recording.removeMessage':
|
||||
'Trasa tohoto dne zmizí z mapy cesty. Záznamy a texty zůstanou a Dawarich si ponechá vlastní záznam.',
|
||||
'journey.recording.keptToast': 'Trasa uložena do cesty',
|
||||
'journey.recording.replacedToast': 'Trasa nahrazena',
|
||||
'journey.recording.removedToast': 'Trasa odebrána z cesty',
|
||||
'journey.recording.error.recording_exists': 'Tato cesta už pro ten den uchovává jiný záznam.',
|
||||
'journey.recording.error.recording_changed': 'Záznam se od náhledu změnil.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich v ten den nic nezaznamenal.',
|
||||
'journey.recording.mode.walking': 'Pěšky',
|
||||
'journey.recording.mode.running': 'Běh',
|
||||
'journey.recording.mode.cycling': 'Kolo',
|
||||
'journey.recording.mode.driving': 'Auto',
|
||||
'journey.recording.mode.motorcycle': 'Motorka',
|
||||
'journey.recording.mode.bus': 'Autobus',
|
||||
'journey.recording.mode.train': 'Vlak',
|
||||
'journey.recording.mode.flying': 'Let',
|
||||
'journey.recording.mode.boat': 'Loď',
|
||||
'journey.recording.mode.stationary': 'Na místě',
|
||||
'journey.recording.mode.unknown': 'Neznámý způsob',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -709,5 +709,70 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Wetter',
|
||||
'journey.entry.suggestion': 'Vorschlag',
|
||||
'journey.editor.addDetails': '+ Details',
|
||||
'journey.recording.mapLine': 'Aufgezeichnet am {date}',
|
||||
'journey.recording.keptBy': 'Aufgezeichnete Strecke gespeichert: {distance}, übernommen von {name} am {date}.',
|
||||
'journey.recording.keptOn': 'Aufgezeichnete Strecke gespeichert: {distance}, übernommen am {date}.',
|
||||
'journey.recording.keptRunning': 'Der Tag lief da noch.',
|
||||
'journey.recording.takeOver': 'Aufzeichnung übernehmen',
|
||||
'journey.recording.takeOverDay': 'Aufzeichnung vom {date}',
|
||||
'journey.recording.sub': 'Nur dieser Tag, aus deinem Dawarich. Gespeichert wird erst, wenn du bestätigst.',
|
||||
'journey.recording.zone': 'Zeitzone des Tages',
|
||||
'journey.recording.zoneHint':
|
||||
'Der Tag geht in dieser Zone von Mitternacht bis Mitternacht. Wähle die, in der du unterwegs warst.',
|
||||
'journey.recording.zoneSource': 'Aus Dawarich',
|
||||
'journey.recording.zoneDevice': 'Dieses Gerät',
|
||||
'journey.recording.scope': 'Aufzeichnung',
|
||||
'journey.recording.loading': 'Tag wird aus Dawarich gelesen…',
|
||||
'journey.recording.keptStays': 'Die Strecke, die diese Journey gespeichert hat, bleibt unverändert.',
|
||||
'journey.recording.retry': 'Erneut versuchen',
|
||||
'journey.recording.empty': 'Dawarich hat an diesem Tag in dieser Zeitzone nichts aufgezeichnet.',
|
||||
'journey.recording.span': '{from} bis {to}',
|
||||
'journey.recording.pieces': '{count} Abschnitte',
|
||||
'journey.recording.pieces.one': '{count} Abschnitt',
|
||||
'journey.recording.gaps': '{count} Lücken',
|
||||
'journey.recording.gaps.one': '{count} Lücke',
|
||||
'journey.recording.gapsHint':
|
||||
'Wo die Aufzeichnung aussetzt, endet auch die Linie. Es wird kein Weg gezeichnet, der nicht aufgezeichnet wurde.',
|
||||
'journey.recording.sourceHint':
|
||||
'Strecken sind Abschnitte, die Dawarich schon nach Fortbewegung geteilt hat. Punkte sind seine Rohpositionen, ausgedünnt auf 600 pro Tag.',
|
||||
'journey.recording.sourceTracks': 'Strecken',
|
||||
'journey.recording.sourcePoints': 'Punkte',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Die Aufzeichnung hat sich in Dawarich geändert, während du sie angesehen hast. Prüfe sie noch einmal und speichere sie dann.',
|
||||
'journey.recording.truncated': 'Dawarich hat nur einen Teil dieses Tages geschickt, die Strecke ist unvollständig.',
|
||||
'journey.recording.provisional':
|
||||
'Dieser Tag ist in dieser Zeitzone noch nicht vorbei. Du kannst die Strecke später durch den ganzen Tag ersetzen.',
|
||||
'journey.recording.same': 'Diese Journey hat genau diese Aufzeichnung schon gespeichert.',
|
||||
'journey.recording.differs':
|
||||
'Diese Journey hat eine andere Fassung vom {date} gespeichert ({distance}). Ersetzen ändert keine Einträge und Texte.',
|
||||
'journey.recording.audience':
|
||||
'{count} weitere Personen in dieser Journey sehen die Strecke auf der Karte. Geteilte Links zeigen sie nicht.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} weitere Person in dieser Journey sieht die Strecke auf der Karte. Geteilte Links zeigen sie nicht.',
|
||||
'journey.recording.replace': 'Ersetzen',
|
||||
'journey.recording.alreadyKept': 'Schon gespeichert',
|
||||
'journey.recording.keep': 'Strecke speichern',
|
||||
'journey.recording.remove': 'Strecke entfernen',
|
||||
'journey.recording.removeTitle': 'Gespeicherte Strecke entfernen?',
|
||||
'journey.recording.removeMessage':
|
||||
'Die Strecke dieses Tages verschwindet von der Journey-Karte. Einträge und Texte bleiben, und Dawarich behält seine eigene Aufzeichnung.',
|
||||
'journey.recording.keptToast': 'Strecke in der Journey gespeichert',
|
||||
'journey.recording.replacedToast': 'Strecke ersetzt',
|
||||
'journey.recording.removedToast': 'Strecke aus der Journey entfernt',
|
||||
'journey.recording.error.recording_exists':
|
||||
'Diese Journey hat für diesen Tag schon eine andere Aufzeichnung gespeichert.',
|
||||
'journey.recording.error.recording_changed': 'Die Aufzeichnung hat sich seit der Vorschau geändert.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich hat an diesem Tag nichts aufgezeichnet.',
|
||||
'journey.recording.mode.walking': 'Zu Fuß',
|
||||
'journey.recording.mode.running': 'Laufen',
|
||||
'journey.recording.mode.cycling': 'Fahrrad',
|
||||
'journey.recording.mode.driving': 'Auto',
|
||||
'journey.recording.mode.motorcycle': 'Motorrad',
|
||||
'journey.recording.mode.bus': 'Bus', // same-as-en
|
||||
'journey.recording.mode.train': 'Zug',
|
||||
'journey.recording.mode.flying': 'Flug',
|
||||
'journey.recording.mode.boat': 'Boot',
|
||||
'journey.recording.mode.stationary': 'Stillstand',
|
||||
'journey.recording.mode.unknown': 'Unbekannte Fortbewegung',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -702,5 +702,68 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Weather',
|
||||
'journey.entry.suggestion': 'Suggestion',
|
||||
'journey.editor.addDetails': '+ Details',
|
||||
'journey.recording.mapLine': 'Recorded on {date}',
|
||||
'journey.recording.keptBy': 'Recorded route kept: {distance}, taken over by {name} on {date}.',
|
||||
'journey.recording.keptOn': 'Recorded route kept: {distance}, taken over on {date}.',
|
||||
'journey.recording.keptRunning': 'The day was still running then.',
|
||||
'journey.recording.takeOver': 'Take over recording',
|
||||
'journey.recording.takeOverDay': 'Recording of {date}',
|
||||
'journey.recording.sub': 'Only this day, from your Dawarich. Nothing is kept until you confirm.',
|
||||
'journey.recording.zone': 'Time zone of the day',
|
||||
'journey.recording.zoneHint':
|
||||
'The day runs from midnight to midnight in this zone. Pick the one you were travelling in.',
|
||||
'journey.recording.zoneSource': 'From Dawarich',
|
||||
'journey.recording.zoneDevice': 'This device',
|
||||
'journey.recording.scope': 'Recording',
|
||||
'journey.recording.loading': 'Reading the day from Dawarich…',
|
||||
'journey.recording.keptStays': 'The route this journey keeps stays as it is.',
|
||||
'journey.recording.retry': 'Try again',
|
||||
'journey.recording.empty': 'Dawarich recorded nothing on this day in this time zone.',
|
||||
'journey.recording.span': '{from} to {to}',
|
||||
'journey.recording.pieces': '{count} pieces',
|
||||
'journey.recording.pieces.one': '{count} piece',
|
||||
'journey.recording.gaps': '{count} gaps',
|
||||
'journey.recording.gaps.one': '{count} gap',
|
||||
'journey.recording.gapsHint': 'Where the recording stops, the line stops too. No way is drawn that was not recorded.',
|
||||
'journey.recording.sourceHint':
|
||||
'Tracks are routes Dawarich already split by mode. Points are its raw positions, thinned to 600 a day.',
|
||||
'journey.recording.sourceTracks': 'Tracks',
|
||||
'journey.recording.sourcePoints': 'Points',
|
||||
'journey.recording.changedSincePreview':
|
||||
'The recording changed in Dawarich while you were looking. Check it once more, then keep it.',
|
||||
'journey.recording.truncated': 'Dawarich sent only part of this day, so the route is incomplete.',
|
||||
'journey.recording.provisional':
|
||||
'This day is not over yet in this time zone. You can replace the route later with the whole day.',
|
||||
'journey.recording.same': 'This journey keeps exactly this recording already.',
|
||||
'journey.recording.differs':
|
||||
'This journey keeps another version from {date} ({distance}). Replacing it changes no entries or texts.',
|
||||
'journey.recording.audience':
|
||||
'{count} other people on this journey will see the route on its map. Shared links do not show it.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} other person on this journey will see the route on its map. Shared links do not show it.',
|
||||
'journey.recording.replace': 'Replace',
|
||||
'journey.recording.alreadyKept': 'Already kept',
|
||||
'journey.recording.keep': 'Keep route',
|
||||
'journey.recording.remove': 'Remove route',
|
||||
'journey.recording.removeTitle': 'Remove the kept route?',
|
||||
'journey.recording.removeMessage':
|
||||
'The route of this day leaves the journey map. Entries and texts stay, and Dawarich keeps its own recording.',
|
||||
'journey.recording.keptToast': 'Route kept in the journey',
|
||||
'journey.recording.replacedToast': 'Route replaced',
|
||||
'journey.recording.removedToast': 'Route removed from the journey',
|
||||
'journey.recording.error.recording_exists': 'This journey already keeps another recording of that day.',
|
||||
'journey.recording.error.recording_changed': 'The recording changed since the preview.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich recorded nothing on that day.',
|
||||
'journey.recording.mode.walking': 'Walking',
|
||||
'journey.recording.mode.running': 'Running',
|
||||
'journey.recording.mode.cycling': 'Cycling',
|
||||
'journey.recording.mode.driving': 'Driving',
|
||||
'journey.recording.mode.motorcycle': 'Motorcycle',
|
||||
'journey.recording.mode.bus': 'Bus',
|
||||
'journey.recording.mode.train': 'Train',
|
||||
'journey.recording.mode.flying': 'Flight',
|
||||
'journey.recording.mode.boat': 'Boat',
|
||||
'journey.recording.mode.stationary': 'Standing still',
|
||||
'journey.recording.mode.unknown': 'Unknown mode',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -706,5 +706,68 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Tiempo',
|
||||
'journey.entry.suggestion': 'Sugerencia',
|
||||
'journey.editor.addDetails': '+ Detalles',
|
||||
'journey.recording.mapLine': 'Grabado el {date}',
|
||||
'journey.recording.keptBy': 'Ruta grabada guardada: {distance}, tomada por {name} el {date}.',
|
||||
'journey.recording.keptOn': 'Ruta grabada guardada: {distance}, tomada el {date}.',
|
||||
'journey.recording.keptRunning': 'El día aún no había terminado.',
|
||||
'journey.recording.takeOver': 'Tomar la grabación',
|
||||
'journey.recording.takeOverDay': 'Grabación del {date}',
|
||||
'journey.recording.sub': 'Solo este día, desde tu Dawarich. No se guarda nada hasta que confirmes.',
|
||||
'journey.recording.zone': 'Zona horaria del día',
|
||||
'journey.recording.zoneHint': 'El día va de medianoche a medianoche en esta zona. Elige la zona en la que viajabas.',
|
||||
'journey.recording.zoneSource': 'Según Dawarich',
|
||||
'journey.recording.zoneDevice': 'Este dispositivo',
|
||||
'journey.recording.scope': 'Grabación',
|
||||
'journey.recording.loading': 'Leyendo el día de Dawarich…',
|
||||
'journey.recording.keptStays': 'La ruta que guarda este viaje se queda como está.',
|
||||
'journey.recording.retry': 'Reintentar',
|
||||
'journey.recording.empty': 'Dawarich no grabó nada ese día en esta zona horaria.',
|
||||
'journey.recording.span': 'de {from} a {to}',
|
||||
'journey.recording.pieces': '{count} tramos',
|
||||
'journey.recording.pieces.one': '{count} tramo',
|
||||
'journey.recording.gaps': '{count} interrupciones',
|
||||
'journey.recording.gaps.one': '{count} interrupción',
|
||||
'journey.recording.gapsHint':
|
||||
'Donde la grabación se corta, la línea también. No se dibuja ningún camino que no se haya grabado.',
|
||||
'journey.recording.sourceHint':
|
||||
'Las rutas son trayectos que Dawarich ya dividió por modo. Los puntos son sus posiciones en bruto, reducidas a 600 por día.',
|
||||
'journey.recording.sourceTracks': 'Rutas',
|
||||
'journey.recording.sourcePoints': 'Puntos',
|
||||
'journey.recording.changedSincePreview':
|
||||
'La grabación cambió en Dawarich mientras la mirabas. Revísala otra vez y luego guárdala.',
|
||||
'journey.recording.truncated': 'Dawarich solo envió una parte de este día, la ruta está incompleta.',
|
||||
'journey.recording.provisional':
|
||||
'Este día aún no ha terminado en esta zona horaria. Más tarde puedes sustituir la ruta por el día completo.',
|
||||
'journey.recording.same': 'Este viaje ya guarda exactamente esta grabación.',
|
||||
'journey.recording.differs':
|
||||
'Este viaje guarda otra versión del {date} ({distance}). Sustituirla no cambia ninguna entrada ni texto.',
|
||||
'journey.recording.audience':
|
||||
'{count} personas más de este viaje verán la ruta en su mapa. Los enlaces compartidos no la muestran.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} persona más de este viaje verá la ruta en su mapa. Los enlaces compartidos no la muestran.',
|
||||
'journey.recording.replace': 'Sustituir',
|
||||
'journey.recording.alreadyKept': 'Ya guardada',
|
||||
'journey.recording.keep': 'Guardar ruta',
|
||||
'journey.recording.remove': 'Quitar ruta',
|
||||
'journey.recording.removeTitle': '¿Quitar la ruta guardada?',
|
||||
'journey.recording.removeMessage':
|
||||
'La ruta de este día desaparece del mapa del viaje. Las entradas y los textos se quedan, y Dawarich conserva su propia grabación.',
|
||||
'journey.recording.keptToast': 'Ruta guardada en el viaje',
|
||||
'journey.recording.replacedToast': 'Ruta sustituida',
|
||||
'journey.recording.removedToast': 'Ruta quitada del viaje',
|
||||
'journey.recording.error.recording_exists': 'Este viaje ya guarda otra grabación de ese día.',
|
||||
'journey.recording.error.recording_changed': 'La grabación cambió desde la vista previa.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich no grabó nada ese día.',
|
||||
'journey.recording.mode.walking': 'A pie',
|
||||
'journey.recording.mode.running': 'Correr',
|
||||
'journey.recording.mode.cycling': 'Bicicleta',
|
||||
'journey.recording.mode.driving': 'Coche',
|
||||
'journey.recording.mode.motorcycle': 'Moto',
|
||||
'journey.recording.mode.bus': 'Autobús',
|
||||
'journey.recording.mode.train': 'Tren',
|
||||
'journey.recording.mode.flying': 'Vuelo',
|
||||
'journey.recording.mode.boat': 'Barco',
|
||||
'journey.recording.mode.stationary': 'Parado',
|
||||
'journey.recording.mode.unknown': 'Modo desconocido',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -703,5 +703,67 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Ilm',
|
||||
'journey.entry.suggestion': 'Soovitus',
|
||||
'journey.editor.addDetails': '+ Üksikasjad',
|
||||
'journey.recording.mapLine': 'Salvestatud {date}',
|
||||
'journey.recording.keptBy': 'Salvestatud teekond hoitud: {distance}, üle võtnud {name} {date}.',
|
||||
'journey.recording.keptOn': 'Salvestatud teekond hoitud: {distance}, üle võetud {date}.',
|
||||
'journey.recording.keptRunning': 'Päev oli siis veel pooleli.',
|
||||
'journey.recording.takeOver': 'Võta salvestus üle',
|
||||
'journey.recording.takeOverDay': 'Salvestus {date}',
|
||||
'journey.recording.sub': 'Ainult see päev, sinu Dawarichist. Midagi ei hoita enne, kui kinnitad.',
|
||||
'journey.recording.zone': 'Päeva ajavöönd',
|
||||
'journey.recording.zoneHint': 'Päev kestab selles vööndis keskööst keskööni. Vali see, kus sa reisisid.',
|
||||
'journey.recording.zoneSource': 'Dawarichist',
|
||||
'journey.recording.zoneDevice': 'See seade',
|
||||
'journey.recording.scope': 'Salvestus',
|
||||
'journey.recording.loading': 'Päeva loetakse Dawarichist…',
|
||||
'journey.recording.keptStays': 'Teekond, mida see reis hoiab, jääb samaks.',
|
||||
'journey.recording.retry': 'Proovi uuesti',
|
||||
'journey.recording.empty': 'Dawarich ei salvestanud sel päeval selles ajavööndis midagi.',
|
||||
'journey.recording.span': '{from} kuni {to}',
|
||||
'journey.recording.pieces': '{count} lõiku',
|
||||
'journey.recording.pieces.one': '{count} lõik',
|
||||
'journey.recording.gaps': '{count} katkestust',
|
||||
'journey.recording.gaps.one': '{count} katkestus',
|
||||
'journey.recording.gapsHint': 'Kus salvestus katkeb, katkeb ka joon. Salvestamata teed ei joonistata.',
|
||||
'journey.recording.sourceHint':
|
||||
'Rajad on teekonnad, mille Dawarich on juba liikumisviisi järgi jaganud. Punktid on töötlemata asukohad, hõrendatud 600-ni päevas.',
|
||||
'journey.recording.sourceTracks': 'Rajad',
|
||||
'journey.recording.sourcePoints': 'Punktid',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Salvestus muutus Dawarichis, kui sa seda vaatasid. Kontrolli veel kord ja hoia siis alles.',
|
||||
'journey.recording.truncated': 'Dawarich saatis ainult osa sellest päevast, teekond on puudulik.',
|
||||
'journey.recording.provisional':
|
||||
'See päev pole selles ajavööndis veel läbi. Hiljem saad teekonna terve päevaga asendada.',
|
||||
'journey.recording.same': 'See reis hoiab juba täpselt seda salvestust.',
|
||||
'journey.recording.differs':
|
||||
'See reis hoiab teist versiooni kuupäevast {date} ({distance}). Asendamine ei muuda ühtegi sissekannet ega teksti.',
|
||||
'journey.recording.audience':
|
||||
'Veel {count} selle reisi inimest näevad teekonda kaardil. Jagatud lingid seda ei näita.',
|
||||
'journey.recording.audience.one':
|
||||
'Veel {count} selle reisi inimene näeb teekonda kaardil. Jagatud lingid seda ei näita.',
|
||||
'journey.recording.replace': 'Asenda',
|
||||
'journey.recording.alreadyKept': 'Juba hoitud',
|
||||
'journey.recording.keep': 'Hoia teekond',
|
||||
'journey.recording.remove': 'Eemalda teekond',
|
||||
'journey.recording.removeTitle': 'Kas eemaldada hoitud teekond?',
|
||||
'journey.recording.removeMessage':
|
||||
'Selle päeva teekond kaob reisi kaardilt. Sissekanded ja tekstid jäävad ning Dawarich hoiab oma salvestust alles.',
|
||||
'journey.recording.keptToast': 'Teekond hoitud reisis',
|
||||
'journey.recording.replacedToast': 'Teekond asendatud',
|
||||
'journey.recording.removedToast': 'Teekond reisist eemaldatud',
|
||||
'journey.recording.error.recording_exists': 'See reis hoiab selle päeva kohta juba teist salvestust.',
|
||||
'journey.recording.error.recording_changed': 'Salvestus on pärast eelvaadet muutunud.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich ei salvestanud sel päeval midagi.',
|
||||
'journey.recording.mode.walking': 'Jalgsi',
|
||||
'journey.recording.mode.running': 'Jooks',
|
||||
'journey.recording.mode.cycling': 'Jalgratas',
|
||||
'journey.recording.mode.driving': 'Auto',
|
||||
'journey.recording.mode.motorcycle': 'Mootorratas',
|
||||
'journey.recording.mode.bus': 'Buss',
|
||||
'journey.recording.mode.train': 'Rong',
|
||||
'journey.recording.mode.flying': 'Lend',
|
||||
'journey.recording.mode.boat': 'Paat',
|
||||
'journey.recording.mode.stationary': 'Paigal',
|
||||
'journey.recording.mode.unknown': 'Tundmatu liikumisviis',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -705,5 +705,68 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Météo',
|
||||
'journey.entry.suggestion': 'Suggestion',
|
||||
'journey.editor.addDetails': '+ Détails',
|
||||
'journey.recording.mapLine': 'Enregistré le {date}',
|
||||
'journey.recording.keptBy': 'Itinéraire enregistré conservé : {distance}, repris par {name} le {date}.',
|
||||
'journey.recording.keptOn': 'Itinéraire enregistré conservé : {distance}, repris le {date}.',
|
||||
'journey.recording.keptRunning': 'La journée n’était pas encore finie.',
|
||||
'journey.recording.takeOver': 'Reprendre l’enregistrement',
|
||||
'journey.recording.takeOverDay': 'Enregistrement du {date}',
|
||||
'journey.recording.sub': 'Seulement ce jour, depuis votre Dawarich. Rien n’est conservé avant votre confirmation.',
|
||||
'journey.recording.zone': 'Fuseau horaire du jour',
|
||||
'journey.recording.zoneHint': 'Le jour va de minuit à minuit dans ce fuseau. Choisissez celui où vous voyagiez.',
|
||||
'journey.recording.zoneSource': 'Selon Dawarich',
|
||||
'journey.recording.zoneDevice': 'Cet appareil',
|
||||
'journey.recording.scope': 'Enregistrement',
|
||||
'journey.recording.loading': 'Lecture du jour dans Dawarich…',
|
||||
'journey.recording.keptStays': 'L’itinéraire conservé par ce voyage reste tel quel.',
|
||||
'journey.recording.retry': 'Réessayer',
|
||||
'journey.recording.empty': 'Dawarich n’a rien enregistré ce jour-là dans ce fuseau horaire.',
|
||||
'journey.recording.span': 'de {from} à {to}',
|
||||
'journey.recording.pieces': '{count} tronçons',
|
||||
'journey.recording.pieces.one': '{count} tronçon',
|
||||
'journey.recording.gaps': '{count} interruptions',
|
||||
'journey.recording.gaps.one': '{count} interruption',
|
||||
'journey.recording.gapsHint':
|
||||
'Là où l’enregistrement s’arrête, la ligne s’arrête aussi. Aucun chemin non enregistré n’est tracé.',
|
||||
'journey.recording.sourceHint':
|
||||
'Les traces sont des trajets que Dawarich a déjà découpés par mode. Les points sont ses positions brutes, réduites à 600 par jour.',
|
||||
'journey.recording.sourceTracks': 'Traces',
|
||||
'journey.recording.sourcePoints': 'Points', // same-as-en
|
||||
'journey.recording.changedSincePreview':
|
||||
'L’enregistrement a changé dans Dawarich pendant que vous le regardiez. Vérifiez-le encore une fois, puis conservez-le.',
|
||||
'journey.recording.truncated': 'Dawarich n’a envoyé qu’une partie de ce jour, l’itinéraire est incomplet.',
|
||||
'journey.recording.provisional':
|
||||
'Ce jour n’est pas encore terminé dans ce fuseau. Vous pourrez remplacer l’itinéraire plus tard par la journée entière.',
|
||||
'journey.recording.same': 'Ce voyage conserve déjà exactement cet enregistrement.',
|
||||
'journey.recording.differs':
|
||||
'Ce voyage conserve une autre version du {date} ({distance}). La remplacer ne modifie aucune entrée ni aucun texte.',
|
||||
'journey.recording.audience':
|
||||
'{count} autres personnes de ce voyage verront l’itinéraire sur sa carte. Les liens partagés ne le montrent pas.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} autre personne de ce voyage verra l’itinéraire sur sa carte. Les liens partagés ne le montrent pas.',
|
||||
'journey.recording.replace': 'Remplacer',
|
||||
'journey.recording.alreadyKept': 'Déjà conservé',
|
||||
'journey.recording.keep': 'Conserver l’itinéraire',
|
||||
'journey.recording.remove': 'Retirer l’itinéraire',
|
||||
'journey.recording.removeTitle': 'Retirer l’itinéraire conservé ?',
|
||||
'journey.recording.removeMessage':
|
||||
'L’itinéraire de ce jour disparaît de la carte du voyage. Les entrées et les textes restent, et Dawarich garde son propre enregistrement.',
|
||||
'journey.recording.keptToast': 'Itinéraire conservé dans le voyage',
|
||||
'journey.recording.replacedToast': 'Itinéraire remplacé',
|
||||
'journey.recording.removedToast': 'Itinéraire retiré du voyage',
|
||||
'journey.recording.error.recording_exists': 'Ce voyage conserve déjà un autre enregistrement de ce jour.',
|
||||
'journey.recording.error.recording_changed': 'L’enregistrement a changé depuis l’aperçu.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich n’a rien enregistré ce jour-là.',
|
||||
'journey.recording.mode.walking': 'À pied',
|
||||
'journey.recording.mode.running': 'Course',
|
||||
'journey.recording.mode.cycling': 'Vélo',
|
||||
'journey.recording.mode.driving': 'Voiture',
|
||||
'journey.recording.mode.motorcycle': 'Moto',
|
||||
'journey.recording.mode.bus': 'Bus', // same-as-en
|
||||
'journey.recording.mode.train': 'Train', // same-as-en
|
||||
'journey.recording.mode.flying': 'Vol',
|
||||
'journey.recording.mode.boat': 'Bateau',
|
||||
'journey.recording.mode.stationary': 'À l’arrêt',
|
||||
'journey.recording.mode.unknown': 'Mode inconnu',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -714,5 +714,69 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Καιρός',
|
||||
'journey.entry.suggestion': 'Πρόταση',
|
||||
'journey.editor.addDetails': '+ Λεπτομέρειες',
|
||||
'journey.recording.mapLine': 'Καταγράφηκε στις {date}',
|
||||
'journey.recording.keptBy': 'Καταγεγραμμένη διαδρομή αποθηκεύτηκε: {distance}, από {name} στις {date}.',
|
||||
'journey.recording.keptOn': 'Καταγεγραμμένη διαδρομή αποθηκεύτηκε: {distance}, στις {date}.',
|
||||
'journey.recording.keptRunning': 'Η μέρα δεν είχε τελειώσει ακόμη.',
|
||||
'journey.recording.takeOver': 'Μεταφορά καταγραφής',
|
||||
'journey.recording.takeOverDay': 'Καταγραφή της {date}',
|
||||
'journey.recording.sub': 'Μόνο αυτή η μέρα, από το Dawarich σου. Τίποτα δεν αποθηκεύεται πριν το επιβεβαιώσεις.',
|
||||
'journey.recording.zone': 'Ζώνη ώρας της μέρας',
|
||||
'journey.recording.zoneHint':
|
||||
'Η μέρα διαρκεί από μεσάνυχτα σε μεσάνυχτα σε αυτή τη ζώνη. Διάλεξε εκείνη στην οποία ταξίδευες.',
|
||||
'journey.recording.zoneSource': 'Από το Dawarich',
|
||||
'journey.recording.zoneDevice': 'Αυτή η συσκευή',
|
||||
'journey.recording.scope': 'Καταγραφή',
|
||||
'journey.recording.loading': 'Ανάγνωση της μέρας από το Dawarich…',
|
||||
'journey.recording.keptStays': 'Η διαδρομή που κρατά αυτό το ταξίδι μένει ως έχει.',
|
||||
'journey.recording.retry': 'Δοκίμασε ξανά',
|
||||
'journey.recording.empty': 'Το Dawarich δεν κατέγραψε τίποτα αυτή τη μέρα σε αυτή τη ζώνη ώρας.',
|
||||
'journey.recording.span': '{from} έως {to}',
|
||||
'journey.recording.pieces': '{count} τμήματα',
|
||||
'journey.recording.pieces.one': '{count} τμήμα',
|
||||
'journey.recording.gaps': '{count} κενά',
|
||||
'journey.recording.gaps.one': '{count} κενό',
|
||||
'journey.recording.gapsHint':
|
||||
'Όπου σταματά η καταγραφή, σταματά και η γραμμή. Δεν σχεδιάζεται δρόμος που δεν καταγράφηκε.',
|
||||
'journey.recording.sourceHint':
|
||||
'Οι διαδρομές είναι τμήματα που το Dawarich έχει ήδη χωρίσει ανά μέσο. Τα σημεία είναι οι ακατέργαστες θέσεις, αραιωμένες σε 600 τη μέρα.',
|
||||
'journey.recording.sourceTracks': 'Διαδρομές',
|
||||
'journey.recording.sourcePoints': 'Σημεία',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Η καταγραφή άλλαξε στο Dawarich ενώ την κοίταζες. Έλεγξέ τη άλλη μία φορά και μετά αποθήκευσέ τη.',
|
||||
'journey.recording.truncated': 'Το Dawarich έστειλε μόνο μέρος αυτής της μέρας, η διαδρομή είναι ελλιπής.',
|
||||
'journey.recording.provisional':
|
||||
'Αυτή η μέρα δεν έχει τελειώσει ακόμη σε αυτή τη ζώνη. Μπορείς αργότερα να αντικαταστήσεις τη διαδρομή με ολόκληρη τη μέρα.',
|
||||
'journey.recording.same': 'Αυτό το ταξίδι κρατά ήδη ακριβώς αυτή την καταγραφή.',
|
||||
'journey.recording.differs':
|
||||
'Αυτό το ταξίδι κρατά άλλη έκδοση από {date} ({distance}). Η αντικατάσταση δεν αλλάζει καταχωρίσεις ή κείμενα.',
|
||||
'journey.recording.audience':
|
||||
'Άλλα {count} άτομα αυτού του ταξιδιού θα δουν τη διαδρομή στον χάρτη. Οι κοινόχρηστοι σύνδεσμοι δεν τη δείχνουν.',
|
||||
'journey.recording.audience.one':
|
||||
'Άλλο {count} άτομο αυτού του ταξιδιού θα δει τη διαδρομή στον χάρτη. Οι κοινόχρηστοι σύνδεσμοι δεν τη δείχνουν.',
|
||||
'journey.recording.replace': 'Αντικατάσταση',
|
||||
'journey.recording.alreadyKept': 'Ήδη αποθηκευμένη',
|
||||
'journey.recording.keep': 'Αποθήκευση διαδρομής',
|
||||
'journey.recording.remove': 'Αφαίρεση διαδρομής',
|
||||
'journey.recording.removeTitle': 'Αφαίρεση της αποθηκευμένης διαδρομής;',
|
||||
'journey.recording.removeMessage':
|
||||
'Η διαδρομή αυτής της μέρας φεύγει από τον χάρτη του ταξιδιού. Οι καταχωρίσεις και τα κείμενα μένουν, και το Dawarich κρατά τη δική του καταγραφή.',
|
||||
'journey.recording.keptToast': 'Η διαδρομή αποθηκεύτηκε στο ταξίδι',
|
||||
'journey.recording.replacedToast': 'Η διαδρομή αντικαταστάθηκε',
|
||||
'journey.recording.removedToast': 'Η διαδρομή αφαιρέθηκε από το ταξίδι',
|
||||
'journey.recording.error.recording_exists': 'Αυτό το ταξίδι κρατά ήδη άλλη καταγραφή εκείνης της μέρας.',
|
||||
'journey.recording.error.recording_changed': 'Η καταγραφή άλλαξε από την προεπισκόπηση.',
|
||||
'journey.recording.error.recording_empty': 'Το Dawarich δεν κατέγραψε τίποτα εκείνη τη μέρα.',
|
||||
'journey.recording.mode.walking': 'Με τα πόδια',
|
||||
'journey.recording.mode.running': 'Τρέξιμο',
|
||||
'journey.recording.mode.cycling': 'Ποδήλατο',
|
||||
'journey.recording.mode.driving': 'Αυτοκίνητο',
|
||||
'journey.recording.mode.motorcycle': 'Μοτοσικλέτα',
|
||||
'journey.recording.mode.bus': 'Λεωφορείο',
|
||||
'journey.recording.mode.train': 'Τρένο',
|
||||
'journey.recording.mode.flying': 'Πτήση',
|
||||
'journey.recording.mode.boat': 'Πλοίο',
|
||||
'journey.recording.mode.stationary': 'Ακίνητος',
|
||||
'journey.recording.mode.unknown': 'Άγνωστο μέσο',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -703,5 +703,68 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Időjárás',
|
||||
'journey.entry.suggestion': 'Javaslat',
|
||||
'journey.editor.addDetails': '+ Részletek',
|
||||
'journey.recording.mapLine': 'Rögzítve: {date}',
|
||||
'journey.recording.keptBy': 'Rögzített útvonal elmentve: {distance}, átvette {name}, {date}.',
|
||||
'journey.recording.keptOn': 'Rögzített útvonal elmentve: {distance}, átvéve: {date}.',
|
||||
'journey.recording.keptRunning': 'A nap akkor még tartott.',
|
||||
'journey.recording.takeOver': 'Felvétel átvétele',
|
||||
'journey.recording.takeOverDay': 'Felvétel: {date}',
|
||||
'journey.recording.sub': 'Csak ez a nap, a Dawarichodból. Semmi sem mentődik, amíg meg nem erősíted.',
|
||||
'journey.recording.zone': 'A nap időzónája',
|
||||
'journey.recording.zoneHint': 'A nap ebben a zónában éjféltől éjfélig tart. Válaszd azt, amelyikben utaztál.',
|
||||
'journey.recording.zoneSource': 'A Dawarichból',
|
||||
'journey.recording.zoneDevice': 'Ez az eszköz',
|
||||
'journey.recording.scope': 'Felvétel',
|
||||
'journey.recording.loading': 'A nap beolvasása a Dawarichból…',
|
||||
'journey.recording.keptStays': 'Az utazásban elmentett útvonal változatlan marad.',
|
||||
'journey.recording.retry': 'Újra',
|
||||
'journey.recording.empty': 'A Dawarich ezen a napon ebben az időzónában nem rögzített semmit.',
|
||||
'journey.recording.span': '{from} és {to} között',
|
||||
'journey.recording.pieces': '{count} szakasz',
|
||||
'journey.recording.pieces.one': '{count} szakasz',
|
||||
'journey.recording.gaps': '{count} kimaradás',
|
||||
'journey.recording.gaps.one': '{count} kimaradás',
|
||||
'journey.recording.gapsHint':
|
||||
'Ahol a felvétel megszakad, ott a vonal is. Nem rajzolódik ki olyan út, amelyet nem rögzítettek.',
|
||||
'journey.recording.sourceHint':
|
||||
'A nyomvonalakat a Dawarich már közlekedési mód szerint felosztotta. A pontok a nyers pozíciók, napi 600-ra ritkítva.',
|
||||
'journey.recording.sourceTracks': 'Nyomvonalak',
|
||||
'journey.recording.sourcePoints': 'Pontok',
|
||||
'journey.recording.changedSincePreview':
|
||||
'A felvétel megváltozott a Dawarichban, miközben nézted. Nézd át még egyszer, aztán mentsd el.',
|
||||
'journey.recording.truncated': 'A Dawarich csak a nap egy részét küldte el, az útvonal hiányos.',
|
||||
'journey.recording.provisional':
|
||||
'Ez a nap ebben az időzónában még nem ért véget. Később lecserélheted az útvonalat az egész napra.',
|
||||
'journey.recording.same': 'Ez az utazás már pontosan ezt a felvételt tárolja.',
|
||||
'journey.recording.differs':
|
||||
'Ez az utazás egy másik változatot tárol ({date}, {distance}). A csere nem módosít bejegyzést vagy szöveget.',
|
||||
'journey.recording.audience':
|
||||
'Az utazás további {count} résztvevője látja az útvonalat a térképen. A megosztott linkek nem mutatják.',
|
||||
'journey.recording.audience.one':
|
||||
'Az utazás további {count} résztvevője látja az útvonalat a térképen. A megosztott linkek nem mutatják.',
|
||||
'journey.recording.replace': 'Csere',
|
||||
'journey.recording.alreadyKept': 'Már elmentve',
|
||||
'journey.recording.keep': 'Útvonal mentése',
|
||||
'journey.recording.remove': 'Útvonal eltávolítása',
|
||||
'journey.recording.removeTitle': 'Eltávolítod az elmentett útvonalat?',
|
||||
'journey.recording.removeMessage':
|
||||
'A nap útvonala eltűnik az utazás térképéről. A bejegyzések és szövegek maradnak, a Dawarich pedig megtartja a saját felvételét.',
|
||||
'journey.recording.keptToast': 'Útvonal elmentve az utazásban',
|
||||
'journey.recording.replacedToast': 'Útvonal lecserélve',
|
||||
'journey.recording.removedToast': 'Útvonal eltávolítva az utazásból',
|
||||
'journey.recording.error.recording_exists': 'Ez az utazás már tárol egy másik felvételt arról a napról.',
|
||||
'journey.recording.error.recording_changed': 'A felvétel az előnézet óta megváltozott.',
|
||||
'journey.recording.error.recording_empty': 'A Dawarich azon a napon nem rögzített semmit.',
|
||||
'journey.recording.mode.walking': 'Gyalog',
|
||||
'journey.recording.mode.running': 'Futás',
|
||||
'journey.recording.mode.cycling': 'Kerékpár',
|
||||
'journey.recording.mode.driving': 'Autó',
|
||||
'journey.recording.mode.motorcycle': 'Motor',
|
||||
'journey.recording.mode.bus': 'Busz',
|
||||
'journey.recording.mode.train': 'Vonat',
|
||||
'journey.recording.mode.flying': 'Repülés',
|
||||
'journey.recording.mode.boat': 'Hajó',
|
||||
'journey.recording.mode.stationary': 'Egy helyben',
|
||||
'journey.recording.mode.unknown': 'Ismeretlen mód',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -692,5 +692,65 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Cuaca',
|
||||
'journey.entry.suggestion': 'Saran',
|
||||
'journey.editor.addDetails': '+ Detail',
|
||||
'journey.recording.mapLine': 'Direkam pada {date}',
|
||||
'journey.recording.keptBy': 'Rute rekaman disimpan: {distance}, diambil oleh {name} pada {date}.',
|
||||
'journey.recording.keptOn': 'Rute rekaman disimpan: {distance}, diambil pada {date}.',
|
||||
'journey.recording.keptRunning': 'Hari itu masih berlangsung saat itu.',
|
||||
'journey.recording.takeOver': 'Ambil rekaman',
|
||||
'journey.recording.takeOverDay': 'Rekaman {date}',
|
||||
'journey.recording.sub': 'Hanya hari ini, dari Dawarich kamu. Tidak ada yang disimpan sebelum kamu mengonfirmasi.',
|
||||
'journey.recording.zone': 'Zona waktu hari ini',
|
||||
'journey.recording.zoneHint':
|
||||
'Hari berjalan dari tengah malam ke tengah malam di zona ini. Pilih zona tempat kamu bepergian.',
|
||||
'journey.recording.zoneSource': 'Dari Dawarich',
|
||||
'journey.recording.zoneDevice': 'Perangkat ini',
|
||||
'journey.recording.scope': 'Rekaman',
|
||||
'journey.recording.loading': 'Membaca hari dari Dawarich…',
|
||||
'journey.recording.keptStays': 'Rute yang disimpan perjalanan ini tetap seperti semula.',
|
||||
'journey.recording.retry': 'Coba lagi',
|
||||
'journey.recording.empty': 'Dawarich tidak merekam apa pun pada hari ini di zona waktu ini.',
|
||||
'journey.recording.span': '{from} sampai {to}',
|
||||
'journey.recording.pieces': '{count} bagian',
|
||||
'journey.recording.gaps': '{count} jeda',
|
||||
'journey.recording.gapsHint':
|
||||
'Di tempat rekaman berhenti, garis juga berhenti. Tidak ada jalan yang digambar jika tidak direkam.',
|
||||
'journey.recording.sourceHint':
|
||||
'Jejak adalah rute yang sudah dibagi Dawarich menurut moda. Titik adalah posisi mentahnya, dikurangi menjadi 600 per hari.',
|
||||
'journey.recording.sourceTracks': 'Jejak',
|
||||
'journey.recording.sourcePoints': 'Titik',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Rekaman berubah di Dawarich saat kamu melihatnya. Periksa sekali lagi, lalu simpan.',
|
||||
'journey.recording.truncated': 'Dawarich hanya mengirim sebagian hari ini, rutenya tidak lengkap.',
|
||||
'journey.recording.provisional':
|
||||
'Hari ini belum selesai di zona waktu ini. Nanti kamu bisa mengganti rute dengan hari penuh.',
|
||||
'journey.recording.same': 'Perjalanan ini sudah menyimpan rekaman yang persis sama.',
|
||||
'journey.recording.differs':
|
||||
'Perjalanan ini menyimpan versi lain dari {date} ({distance}). Menggantinya tidak mengubah entri atau teks.',
|
||||
'journey.recording.audience':
|
||||
'{count} orang lain di perjalanan ini akan melihat rute di petanya. Tautan bersama tidak menampilkannya.',
|
||||
'journey.recording.replace': 'Ganti',
|
||||
'journey.recording.alreadyKept': 'Sudah disimpan',
|
||||
'journey.recording.keep': 'Simpan rute',
|
||||
'journey.recording.remove': 'Hapus rute',
|
||||
'journey.recording.removeTitle': 'Hapus rute yang disimpan?',
|
||||
'journey.recording.removeMessage':
|
||||
'Rute hari ini hilang dari peta perjalanan. Entri dan teks tetap ada, dan Dawarich menyimpan rekamannya sendiri.',
|
||||
'journey.recording.keptToast': 'Rute disimpan di perjalanan',
|
||||
'journey.recording.replacedToast': 'Rute diganti',
|
||||
'journey.recording.removedToast': 'Rute dihapus dari perjalanan',
|
||||
'journey.recording.error.recording_exists': 'Perjalanan ini sudah menyimpan rekaman lain untuk hari itu.',
|
||||
'journey.recording.error.recording_changed': 'Rekaman berubah sejak pratinjau.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich tidak merekam apa pun pada hari itu.',
|
||||
'journey.recording.mode.walking': 'Jalan kaki',
|
||||
'journey.recording.mode.running': 'Lari',
|
||||
'journey.recording.mode.cycling': 'Bersepeda',
|
||||
'journey.recording.mode.driving': 'Mobil',
|
||||
'journey.recording.mode.motorcycle': 'Sepeda motor',
|
||||
'journey.recording.mode.bus': 'Bus', // same-as-en
|
||||
'journey.recording.mode.train': 'Kereta',
|
||||
'journey.recording.mode.flying': 'Penerbangan',
|
||||
'journey.recording.mode.boat': 'Perahu',
|
||||
'journey.recording.mode.stationary': 'Diam',
|
||||
'journey.recording.mode.unknown': 'Moda tidak dikenal',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -705,5 +705,69 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Meteo',
|
||||
'journey.entry.suggestion': 'Suggerimento',
|
||||
'journey.editor.addDetails': '+ Dettagli',
|
||||
'journey.recording.mapLine': 'Registrato il {date}',
|
||||
'journey.recording.keptBy': 'Percorso registrato salvato: {distance}, ripreso da {name} il {date}.',
|
||||
'journey.recording.keptOn': 'Percorso registrato salvato: {distance}, ripreso il {date}.',
|
||||
'journey.recording.keptRunning': 'La giornata non era ancora finita.',
|
||||
'journey.recording.takeOver': 'Riprendi la registrazione',
|
||||
'journey.recording.takeOverDay': 'Registrazione del {date}',
|
||||
'journey.recording.sub': 'Solo questo giorno, dal tuo Dawarich. Non si salva nulla finché non confermi.',
|
||||
'journey.recording.zone': 'Fuso orario del giorno',
|
||||
'journey.recording.zoneHint':
|
||||
'Il giorno va da mezzanotte a mezzanotte in questo fuso. Scegli quello in cui viaggiavi.',
|
||||
'journey.recording.zoneSource': 'Da Dawarich',
|
||||
'journey.recording.zoneDevice': 'Questo dispositivo',
|
||||
'journey.recording.scope': 'Registrazione',
|
||||
'journey.recording.loading': 'Lettura del giorno da Dawarich…',
|
||||
'journey.recording.keptStays': 'Il percorso salvato in questo viaggio resta com’è.',
|
||||
'journey.recording.retry': 'Riprova',
|
||||
'journey.recording.empty': 'Dawarich non ha registrato nulla quel giorno in questo fuso orario.',
|
||||
'journey.recording.span': 'dalle {from} alle {to}',
|
||||
'journey.recording.pieces': '{count} tratti',
|
||||
'journey.recording.pieces.one': '{count} tratto',
|
||||
'journey.recording.gaps': '{count} interruzioni',
|
||||
'journey.recording.gaps.one': '{count} interruzione',
|
||||
'journey.recording.gapsHint':
|
||||
'Dove la registrazione si interrompe, si interrompe anche la linea. Non viene disegnato nessun tratto non registrato.',
|
||||
'journey.recording.sourceHint':
|
||||
'Le tracce sono percorsi che Dawarich ha già diviso per mezzo. I punti sono le sue posizioni grezze, ridotte a 600 al giorno.',
|
||||
'journey.recording.sourceTracks': 'Tracce',
|
||||
'journey.recording.sourcePoints': 'Punti',
|
||||
'journey.recording.changedSincePreview':
|
||||
'La registrazione è cambiata in Dawarich mentre la guardavi. Controllala ancora una volta, poi salvala.',
|
||||
'journey.recording.truncated': 'Dawarich ha inviato solo una parte di questo giorno, il percorso è incompleto.',
|
||||
'journey.recording.provisional':
|
||||
'Questo giorno non è ancora finito in questo fuso. Più tardi puoi sostituire il percorso con la giornata intera.',
|
||||
'journey.recording.same': 'Questo viaggio salva già esattamente questa registrazione.',
|
||||
'journey.recording.differs':
|
||||
'Questo viaggio salva un’altra versione del {date} ({distance}). Sostituirla non cambia voci né testi.',
|
||||
'journey.recording.audience':
|
||||
'Altre {count} persone di questo viaggio vedranno il percorso sulla sua mappa. I link condivisi non lo mostrano.',
|
||||
'journey.recording.audience.one':
|
||||
'Altre {count} persona di questo viaggio vedrà il percorso sulla sua mappa. I link condivisi non lo mostrano.',
|
||||
'journey.recording.replace': 'Sostituisci',
|
||||
'journey.recording.alreadyKept': 'Già salvato',
|
||||
'journey.recording.keep': 'Salva percorso',
|
||||
'journey.recording.remove': 'Rimuovi percorso',
|
||||
'journey.recording.removeTitle': 'Rimuovere il percorso salvato?',
|
||||
'journey.recording.removeMessage':
|
||||
'Il percorso di questo giorno sparisce dalla mappa del viaggio. Voci e testi restano, e Dawarich conserva la propria registrazione.',
|
||||
'journey.recording.keptToast': 'Percorso salvato nel viaggio',
|
||||
'journey.recording.replacedToast': 'Percorso sostituito',
|
||||
'journey.recording.removedToast': 'Percorso rimosso dal viaggio',
|
||||
'journey.recording.error.recording_exists': 'Questo viaggio salva già un’altra registrazione di quel giorno.',
|
||||
'journey.recording.error.recording_changed': 'La registrazione è cambiata dall’anteprima.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich non ha registrato nulla quel giorno.',
|
||||
'journey.recording.mode.walking': 'A piedi',
|
||||
'journey.recording.mode.running': 'Corsa',
|
||||
'journey.recording.mode.cycling': 'Bicicletta',
|
||||
'journey.recording.mode.driving': 'Auto',
|
||||
'journey.recording.mode.motorcycle': 'Moto',
|
||||
'journey.recording.mode.bus': 'Autobus',
|
||||
'journey.recording.mode.train': 'Treno',
|
||||
'journey.recording.mode.flying': 'Volo',
|
||||
'journey.recording.mode.boat': 'Barca',
|
||||
'journey.recording.mode.stationary': 'Fermo',
|
||||
'journey.recording.mode.unknown': 'Mezzo sconosciuto',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -688,5 +688,63 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': '天気',
|
||||
'journey.entry.suggestion': '提案',
|
||||
'journey.editor.addDetails': '+詳細',
|
||||
'journey.recording.mapLine': '{date}の記録',
|
||||
'journey.recording.keptBy': '記録したルートを保存済み: {distance}、{name}が{date}に取り込み。',
|
||||
'journey.recording.keptOn': '記録したルートを保存済み: {distance}、{date}に取り込み。',
|
||||
'journey.recording.keptRunning': 'その時点ではまだ一日が終わっていませんでした。',
|
||||
'journey.recording.takeOver': '記録を取り込む',
|
||||
'journey.recording.takeOverDay': '{date}の記録',
|
||||
'journey.recording.sub': 'この日だけを、あなたのDawarichから。確定するまで何も保存されません。',
|
||||
'journey.recording.zone': 'この日のタイムゾーン',
|
||||
'journey.recording.zoneHint':
|
||||
'このゾーンの午前0時から次の午前0時までが一日になります。旅行中にいたゾーンを選んでください。',
|
||||
'journey.recording.zoneSource': 'Dawarichの設定',
|
||||
'journey.recording.zoneDevice': 'この端末',
|
||||
'journey.recording.scope': '記録',
|
||||
'journey.recording.loading': 'Dawarichからこの日を読み込み中…',
|
||||
'journey.recording.keptStays': 'この旅に保存されたルートはそのまま残ります。',
|
||||
'journey.recording.retry': '再試行',
|
||||
'journey.recording.empty': 'Dawarichはこのタイムゾーンのこの日に何も記録していません。',
|
||||
'journey.recording.span': '{from}〜{to}',
|
||||
'journey.recording.pieces': '{count}区間',
|
||||
'journey.recording.gaps': '途切れ{count}か所',
|
||||
'journey.recording.gapsHint': '記録が途切れた所で線も途切れます。記録されていない道は描かれません。',
|
||||
'journey.recording.sourceHint':
|
||||
'トラックはDawarichが移動手段ごとに分けたルートです。ポイントは生の位置情報で、1日600点に間引かれます。',
|
||||
'journey.recording.sourceTracks': 'トラック',
|
||||
'journey.recording.sourcePoints': 'ポイント',
|
||||
'journey.recording.changedSincePreview':
|
||||
'確認している間にDawarichの記録が変わりました。もう一度確認してから保存してください。',
|
||||
'journey.recording.truncated': 'Dawarichはこの日の一部しか送ってこなかったため、ルートは不完全です。',
|
||||
'journey.recording.provisional':
|
||||
'このタイムゾーンではこの日はまだ終わっていません。後で一日分のルートに置き換えられます。',
|
||||
'journey.recording.same': 'この旅はすでにまったく同じ記録を保存しています。',
|
||||
'journey.recording.differs':
|
||||
'この旅には{date}の別の版({distance})が保存されています。置き換えてもエントリーや文章は変わりません。',
|
||||
'journey.recording.audience': 'この旅のほかの{count}人がマップでルートを見られます。共有リンクには表示されません。',
|
||||
'journey.recording.replace': '置き換える',
|
||||
'journey.recording.alreadyKept': '保存済み',
|
||||
'journey.recording.keep': 'ルートを保存',
|
||||
'journey.recording.remove': 'ルートを削除',
|
||||
'journey.recording.removeTitle': '保存したルートを削除しますか?',
|
||||
'journey.recording.removeMessage':
|
||||
'この日のルートが旅のマップから消えます。エントリーと文章は残り、Dawarichの記録もそのままです。',
|
||||
'journey.recording.keptToast': 'ルートを旅に保存しました',
|
||||
'journey.recording.replacedToast': 'ルートを置き換えました',
|
||||
'journey.recording.removedToast': 'ルートを旅から削除しました',
|
||||
'journey.recording.error.recording_exists': 'この旅にはその日の別の記録がすでに保存されています。',
|
||||
'journey.recording.error.recording_changed': 'プレビュー以降に記録が変わりました。',
|
||||
'journey.recording.error.recording_empty': 'Dawarichはその日に何も記録していません。',
|
||||
'journey.recording.mode.walking': '徒歩',
|
||||
'journey.recording.mode.running': 'ランニング',
|
||||
'journey.recording.mode.cycling': '自転車',
|
||||
'journey.recording.mode.driving': '車',
|
||||
'journey.recording.mode.motorcycle': 'バイク',
|
||||
'journey.recording.mode.bus': 'バス',
|
||||
'journey.recording.mode.train': '電車',
|
||||
'journey.recording.mode.flying': '飛行機',
|
||||
'journey.recording.mode.boat': '船',
|
||||
'journey.recording.mode.stationary': '停止',
|
||||
'journey.recording.mode.unknown': '不明な手段',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -686,5 +686,62 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': '날씨',
|
||||
'journey.entry.suggestion': '제안',
|
||||
'journey.editor.addDetails': '+ 세부 정보',
|
||||
'journey.recording.mapLine': '{date} 기록',
|
||||
'journey.recording.keptBy': '기록된 경로 저장됨: {distance}, {name}님이 {date}에 가져옴.',
|
||||
'journey.recording.keptOn': '기록된 경로 저장됨: {distance}, {date}에 가져옴.',
|
||||
'journey.recording.keptRunning': '그때는 아직 하루가 끝나지 않았습니다.',
|
||||
'journey.recording.takeOver': '기록 가져오기',
|
||||
'journey.recording.takeOverDay': '{date} 기록',
|
||||
'journey.recording.sub': '이 날만, 내 Dawarich에서. 확인하기 전에는 아무것도 저장되지 않습니다.',
|
||||
'journey.recording.zone': '이 날의 시간대',
|
||||
'journey.recording.zoneHint': '이 시간대에서 자정부터 자정까지가 하루입니다. 여행 중이던 시간대를 고르세요.',
|
||||
'journey.recording.zoneSource': 'Dawarich 기준',
|
||||
'journey.recording.zoneDevice': '이 기기',
|
||||
'journey.recording.scope': '기록',
|
||||
'journey.recording.loading': 'Dawarich에서 이 날을 읽는 중…',
|
||||
'journey.recording.keptStays': '이 여행에 저장된 경로는 그대로 유지됩니다.',
|
||||
'journey.recording.retry': '다시 시도',
|
||||
'journey.recording.empty': 'Dawarich가 이 시간대의 이 날에 아무것도 기록하지 않았습니다.',
|
||||
'journey.recording.span': '{from}부터 {to}까지',
|
||||
'journey.recording.pieces': '구간 {count}개',
|
||||
'journey.recording.gaps': '끊김 {count}곳',
|
||||
'journey.recording.gapsHint': '기록이 끊긴 곳에서는 선도 끊깁니다. 기록되지 않은 길은 그리지 않습니다.',
|
||||
'journey.recording.sourceHint':
|
||||
'트랙은 Dawarich가 이동 수단별로 나눈 경로입니다. 포인트는 원시 위치이며 하루 600개로 줄입니다.',
|
||||
'journey.recording.sourceTracks': '트랙',
|
||||
'journey.recording.sourcePoints': '포인트',
|
||||
'journey.recording.changedSincePreview': '보는 동안 Dawarich의 기록이 바뀌었습니다. 한 번 더 확인한 뒤 저장하세요.',
|
||||
'journey.recording.truncated': 'Dawarich가 이 날의 일부만 보냈기 때문에 경로가 불완전합니다.',
|
||||
'journey.recording.provisional':
|
||||
'이 시간대에서는 이 날이 아직 끝나지 않았습니다. 나중에 하루 전체 경로로 바꿀 수 있습니다.',
|
||||
'journey.recording.same': '이 여행에는 이미 똑같은 기록이 저장되어 있습니다.',
|
||||
'journey.recording.differs':
|
||||
'이 여행에는 {date}의 다른 버전({distance})이 저장되어 있습니다. 바꿔도 항목이나 글은 바뀌지 않습니다.',
|
||||
'journey.recording.audience':
|
||||
'이 여행의 다른 {count}명이 지도에서 경로를 보게 됩니다. 공유 링크에는 표시되지 않습니다.',
|
||||
'journey.recording.replace': '바꾸기',
|
||||
'journey.recording.alreadyKept': '이미 저장됨',
|
||||
'journey.recording.keep': '경로 저장',
|
||||
'journey.recording.remove': '경로 삭제',
|
||||
'journey.recording.removeTitle': '저장된 경로를 삭제할까요?',
|
||||
'journey.recording.removeMessage':
|
||||
'이 날의 경로가 여행 지도에서 사라집니다. 항목과 글은 남고, Dawarich는 자체 기록을 유지합니다.',
|
||||
'journey.recording.keptToast': '경로를 여행에 저장했습니다',
|
||||
'journey.recording.replacedToast': '경로를 바꿨습니다',
|
||||
'journey.recording.removedToast': '경로를 여행에서 삭제했습니다',
|
||||
'journey.recording.error.recording_exists': '이 여행에는 그날의 다른 기록이 이미 저장되어 있습니다.',
|
||||
'journey.recording.error.recording_changed': '미리보기 이후 기록이 바뀌었습니다.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich가 그날 아무것도 기록하지 않았습니다.',
|
||||
'journey.recording.mode.walking': '도보',
|
||||
'journey.recording.mode.running': '달리기',
|
||||
'journey.recording.mode.cycling': '자전거',
|
||||
'journey.recording.mode.driving': '자동차',
|
||||
'journey.recording.mode.motorcycle': '오토바이',
|
||||
'journey.recording.mode.bus': '버스',
|
||||
'journey.recording.mode.train': '기차',
|
||||
'journey.recording.mode.flying': '비행',
|
||||
'journey.recording.mode.boat': '배',
|
||||
'journey.recording.mode.stationary': '정지',
|
||||
'journey.recording.mode.unknown': '알 수 없는 수단',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -707,5 +707,69 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Weer',
|
||||
'journey.entry.suggestion': 'Suggestie',
|
||||
'journey.editor.addDetails': '+ Details',
|
||||
'journey.recording.mapLine': 'Opgenomen op {date}',
|
||||
'journey.recording.keptBy': 'Opgenomen route bewaard: {distance}, overgenomen door {name} op {date}.',
|
||||
'journey.recording.keptOn': 'Opgenomen route bewaard: {distance}, overgenomen op {date}.',
|
||||
'journey.recording.keptRunning': 'De dag was toen nog niet voorbij.',
|
||||
'journey.recording.takeOver': 'Opname overnemen',
|
||||
'journey.recording.takeOverDay': 'Opname van {date}',
|
||||
'journey.recording.sub': 'Alleen deze dag, uit je Dawarich. Er wordt niets bewaard tot je bevestigt.',
|
||||
'journey.recording.zone': 'Tijdzone van de dag',
|
||||
'journey.recording.zoneHint':
|
||||
'De dag loopt in deze zone van middernacht tot middernacht. Kies de zone waarin je reisde.',
|
||||
'journey.recording.zoneSource': 'Uit Dawarich',
|
||||
'journey.recording.zoneDevice': 'Dit apparaat',
|
||||
'journey.recording.scope': 'Opname',
|
||||
'journey.recording.loading': 'Dag wordt uit Dawarich gelezen…',
|
||||
'journey.recording.keptStays': 'De route die deze reis bewaart, blijft zoals hij is.',
|
||||
'journey.recording.retry': 'Opnieuw proberen',
|
||||
'journey.recording.empty': 'Dawarich heeft op deze dag in deze tijdzone niets opgenomen.',
|
||||
'journey.recording.span': '{from} tot {to}',
|
||||
'journey.recording.pieces': '{count} stukken',
|
||||
'journey.recording.pieces.one': '{count} stuk',
|
||||
'journey.recording.gaps': '{count} onderbrekingen',
|
||||
'journey.recording.gaps.one': '{count} onderbreking',
|
||||
'journey.recording.gapsHint':
|
||||
'Waar de opname stopt, stopt ook de lijn. Er wordt geen weg getekend die niet is opgenomen.',
|
||||
'journey.recording.sourceHint':
|
||||
'Routes zijn trajecten die Dawarich al per vervoerswijze heeft opgedeeld. Punten zijn de ruwe posities, uitgedund tot 600 per dag.',
|
||||
'journey.recording.sourceTracks': 'Routes',
|
||||
'journey.recording.sourcePoints': 'Punten',
|
||||
'journey.recording.changedSincePreview':
|
||||
'De opname is in Dawarich veranderd terwijl je keek. Controleer hem nog eens en bewaar hem dan.',
|
||||
'journey.recording.truncated': 'Dawarich stuurde maar een deel van deze dag, de route is onvolledig.',
|
||||
'journey.recording.provisional':
|
||||
'Deze dag is in deze tijdzone nog niet voorbij. Je kunt de route later vervangen door de hele dag.',
|
||||
'journey.recording.same': 'Deze reis bewaart precies deze opname al.',
|
||||
'journey.recording.differs':
|
||||
'Deze reis bewaart een andere versie van {date} ({distance}). Vervangen verandert geen items of teksten.',
|
||||
'journey.recording.audience':
|
||||
'{count} andere personen in deze reis zien de route op de kaart. Gedeelde links tonen hem niet.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} andere persoon in deze reis ziet de route op de kaart. Gedeelde links tonen hem niet.',
|
||||
'journey.recording.replace': 'Vervangen',
|
||||
'journey.recording.alreadyKept': 'Al bewaard',
|
||||
'journey.recording.keep': 'Route bewaren',
|
||||
'journey.recording.remove': 'Route verwijderen',
|
||||
'journey.recording.removeTitle': 'Bewaarde route verwijderen?',
|
||||
'journey.recording.removeMessage':
|
||||
'De route van deze dag verdwijnt van de reiskaart. Items en teksten blijven, en Dawarich houdt zijn eigen opname.',
|
||||
'journey.recording.keptToast': 'Route in de reis bewaard',
|
||||
'journey.recording.replacedToast': 'Route vervangen',
|
||||
'journey.recording.removedToast': 'Route uit de reis verwijderd',
|
||||
'journey.recording.error.recording_exists': 'Deze reis bewaart al een andere opname van die dag.',
|
||||
'journey.recording.error.recording_changed': 'De opname is sinds het voorbeeld veranderd.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich heeft op die dag niets opgenomen.',
|
||||
'journey.recording.mode.walking': 'Te voet',
|
||||
'journey.recording.mode.running': 'Hardlopen',
|
||||
'journey.recording.mode.cycling': 'Fietsen',
|
||||
'journey.recording.mode.driving': 'Auto',
|
||||
'journey.recording.mode.motorcycle': 'Motor',
|
||||
'journey.recording.mode.bus': 'Bus', // same-as-en
|
||||
'journey.recording.mode.train': 'Trein',
|
||||
'journey.recording.mode.flying': 'Vlucht',
|
||||
'journey.recording.mode.boat': 'Boot',
|
||||
'journey.recording.mode.stationary': 'Stilstand',
|
||||
'journey.recording.mode.unknown': 'Onbekende vervoerswijze',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -728,5 +728,76 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Pogoda',
|
||||
'journey.entry.suggestion': 'Propozycja',
|
||||
'journey.editor.addDetails': '+ Szczegóły',
|
||||
'journey.recording.mapLine': 'Zarejestrowano {date}',
|
||||
'journey.recording.keptBy': 'Zarejestrowana trasa zapisana: {distance}, przejęta przez {name} dnia {date}.',
|
||||
'journey.recording.keptOn': 'Zarejestrowana trasa zapisana: {distance}, przejęta dnia {date}.',
|
||||
'journey.recording.keptRunning': 'Dzień jeszcze wtedy trwał.',
|
||||
'journey.recording.takeOver': 'Przejmij nagranie',
|
||||
'journey.recording.takeOverDay': 'Nagranie z {date}',
|
||||
'journey.recording.sub': 'Tylko ten dzień, z twojego Dawarich. Nic nie zostanie zapisane, dopóki nie potwierdzisz.',
|
||||
'journey.recording.zone': 'Strefa czasowa dnia',
|
||||
'journey.recording.zoneHint': 'Dzień trwa w tej strefie od północy do północy. Wybierz tę, w której podróżowałeś.',
|
||||
'journey.recording.zoneSource': 'Z Dawarich',
|
||||
'journey.recording.zoneDevice': 'To urządzenie',
|
||||
'journey.recording.scope': 'Nagranie',
|
||||
'journey.recording.loading': 'Wczytywanie dnia z Dawarich…',
|
||||
'journey.recording.keptStays': 'Trasa zapisana w tej podróży pozostaje bez zmian.',
|
||||
'journey.recording.retry': 'Spróbuj ponownie',
|
||||
'journey.recording.empty': 'Dawarich nic nie zarejestrował tego dnia w tej strefie czasowej.',
|
||||
'journey.recording.span': 'od {from} do {to}',
|
||||
'journey.recording.pieces': '{count} odcinka',
|
||||
'journey.recording.pieces.one': '{count} odcinek',
|
||||
'journey.recording.pieces.few': '{count} odcinki',
|
||||
'journey.recording.pieces.many': '{count} odcinków',
|
||||
'journey.recording.gaps': '{count} przerwy',
|
||||
'journey.recording.gaps.one': '{count} przerwa',
|
||||
'journey.recording.gaps.few': '{count} przerwy',
|
||||
'journey.recording.gaps.many': '{count} przerw',
|
||||
'journey.recording.gapsHint':
|
||||
'Tam, gdzie nagranie się urywa, urywa się też linia. Nie jest rysowana żadna droga, której nie nagrano.',
|
||||
'journey.recording.sourceHint':
|
||||
'Ślady to trasy, które Dawarich już podzielił według środka transportu. Punkty to surowe pozycje, przerzedzone do 600 dziennie.',
|
||||
'journey.recording.sourceTracks': 'Ślady',
|
||||
'journey.recording.sourcePoints': 'Punkty',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Nagranie zmieniło się w Dawarich, gdy je oglądałeś. Sprawdź je jeszcze raz, a potem zapisz.',
|
||||
'journey.recording.truncated': 'Dawarich wysłał tylko część tego dnia, trasa jest niepełna.',
|
||||
'journey.recording.provisional':
|
||||
'Ten dzień w tej strefie jeszcze się nie skończył. Później możesz zastąpić trasę całym dniem.',
|
||||
'journey.recording.same': 'Ta podróż już przechowuje dokładnie to nagranie.',
|
||||
'journey.recording.differs':
|
||||
'Ta podróż przechowuje inną wersję z {date} ({distance}). Zastąpienie nie zmienia żadnych wpisów ani tekstów.',
|
||||
'journey.recording.audience':
|
||||
'{count} innej osoby z tej podróży zobaczy trasę na mapie. Udostępnione linki jej nie pokazują.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} inna osoba z tej podróży zobaczy trasę na mapie. Udostępnione linki jej nie pokazują.',
|
||||
'journey.recording.audience.few':
|
||||
'{count} inne osoby z tej podróży zobaczą trasę na mapie. Udostępnione linki jej nie pokazują.',
|
||||
'journey.recording.audience.many':
|
||||
'{count} innych osób z tej podróży zobaczy trasę na mapie. Udostępnione linki jej nie pokazują.',
|
||||
'journey.recording.replace': 'Zastąp',
|
||||
'journey.recording.alreadyKept': 'Już zapisana',
|
||||
'journey.recording.keep': 'Zapisz trasę',
|
||||
'journey.recording.remove': 'Usuń trasę',
|
||||
'journey.recording.removeTitle': 'Usunąć zapisaną trasę?',
|
||||
'journey.recording.removeMessage':
|
||||
'Trasa tego dnia znika z mapy podróży. Wpisy i teksty zostają, a Dawarich zachowuje własne nagranie.',
|
||||
'journey.recording.keptToast': 'Trasa zapisana w podróży',
|
||||
'journey.recording.replacedToast': 'Trasa zastąpiona',
|
||||
'journey.recording.removedToast': 'Trasa usunięta z podróży',
|
||||
'journey.recording.error.recording_exists': 'Ta podróż przechowuje już inne nagranie z tego dnia.',
|
||||
'journey.recording.error.recording_changed': 'Nagranie zmieniło się od podglądu.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich nic nie zarejestrował tego dnia.',
|
||||
'journey.recording.mode.walking': 'Pieszo',
|
||||
'journey.recording.mode.running': 'Bieg',
|
||||
'journey.recording.mode.cycling': 'Rower',
|
||||
'journey.recording.mode.driving': 'Samochód',
|
||||
'journey.recording.mode.motorcycle': 'Motocykl',
|
||||
'journey.recording.mode.bus': 'Autobus',
|
||||
'journey.recording.mode.train': 'Pociąg',
|
||||
'journey.recording.mode.flying': 'Lot',
|
||||
'journey.recording.mode.boat': 'Łódź',
|
||||
'journey.recording.mode.stationary': 'W miejscu',
|
||||
'journey.recording.mode.unknown': 'Nieznany środek',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -729,5 +729,75 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Погода',
|
||||
'journey.entry.suggestion': 'Предложение',
|
||||
'journey.editor.addDetails': '+ Подробности',
|
||||
'journey.recording.mapLine': 'Записано {date}',
|
||||
'journey.recording.keptBy': 'Записанный маршрут сохранён: {distance}, перенёс(ла) {name} {date}.',
|
||||
'journey.recording.keptOn': 'Записанный маршрут сохранён: {distance}, перенесён {date}.',
|
||||
'journey.recording.keptRunning': 'Тогда день ещё не закончился.',
|
||||
'journey.recording.takeOver': 'Перенести запись',
|
||||
'journey.recording.takeOverDay': 'Запись за {date}',
|
||||
'journey.recording.sub': 'Только этот день, из вашего Dawarich. Ничего не сохраняется, пока вы не подтвердите.',
|
||||
'journey.recording.zone': 'Часовой пояс дня',
|
||||
'journey.recording.zoneHint':
|
||||
'День длится в этом поясе от полуночи до полуночи. Выберите тот, в котором вы путешествовали.',
|
||||
'journey.recording.zoneSource': 'Из Dawarich',
|
||||
'journey.recording.zoneDevice': 'Это устройство',
|
||||
'journey.recording.scope': 'Запись',
|
||||
'journey.recording.loading': 'Читаем день из Dawarich…',
|
||||
'journey.recording.keptStays': 'Маршрут, сохранённый в этом путешествии, остаётся без изменений.',
|
||||
'journey.recording.retry': 'Повторить',
|
||||
'journey.recording.empty': 'Dawarich ничего не записал в этот день в этом часовом поясе.',
|
||||
'journey.recording.span': 'с {from} до {to}',
|
||||
'journey.recording.pieces': '{count} участка',
|
||||
'journey.recording.pieces.one': '{count} участок',
|
||||
'journey.recording.pieces.few': '{count} участка',
|
||||
'journey.recording.pieces.many': '{count} участков',
|
||||
'journey.recording.gaps': '{count} пропуска',
|
||||
'journey.recording.gaps.one': '{count} пропуск',
|
||||
'journey.recording.gaps.few': '{count} пропуска',
|
||||
'journey.recording.gaps.many': '{count} пропусков',
|
||||
'journey.recording.gapsHint': 'Где запись обрывается, обрывается и линия. Не рисуется путь, который не был записан.',
|
||||
'journey.recording.sourceHint':
|
||||
'Треки: маршруты, которые Dawarich уже разделил по способу передвижения. Точки: его сырые позиции, прореженные до 600 в день.',
|
||||
'journey.recording.sourceTracks': 'Треки',
|
||||
'journey.recording.sourcePoints': 'Точки',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Запись изменилась в Dawarich, пока вы её смотрели. Проверьте её ещё раз, затем сохраните.',
|
||||
'journey.recording.truncated': 'Dawarich прислал только часть этого дня, маршрут неполный.',
|
||||
'journey.recording.provisional': 'Этот день в этом поясе ещё не закончился. Позже маршрут можно заменить целым днём.',
|
||||
'journey.recording.same': 'Это путешествие уже хранит именно эту запись.',
|
||||
'journey.recording.differs':
|
||||
'Это путешествие хранит другую версию от {date} ({distance}). Замена не меняет записи и тексты.',
|
||||
'journey.recording.audience':
|
||||
'Ещё {count} участника этого путешествия увидят маршрут на карте. Общие ссылки его не показывают.',
|
||||
'journey.recording.audience.one':
|
||||
'Ещё {count} участник этого путешествия увидит маршрут на карте. Общие ссылки его не показывают.',
|
||||
'journey.recording.audience.few':
|
||||
'Ещё {count} участника этого путешествия увидят маршрут на карте. Общие ссылки его не показывают.',
|
||||
'journey.recording.audience.many':
|
||||
'Ещё {count} участников этого путешествия увидят маршрут на карте. Общие ссылки его не показывают.',
|
||||
'journey.recording.replace': 'Заменить',
|
||||
'journey.recording.alreadyKept': 'Уже сохранено',
|
||||
'journey.recording.keep': 'Сохранить маршрут',
|
||||
'journey.recording.remove': 'Убрать маршрут',
|
||||
'journey.recording.removeTitle': 'Убрать сохранённый маршрут?',
|
||||
'journey.recording.removeMessage':
|
||||
'Маршрут этого дня исчезнет с карты путешествия. Записи и тексты останутся, а Dawarich сохранит свою запись.',
|
||||
'journey.recording.keptToast': 'Маршрут сохранён в путешествии',
|
||||
'journey.recording.replacedToast': 'Маршрут заменён',
|
||||
'journey.recording.removedToast': 'Маршрут убран из путешествия',
|
||||
'journey.recording.error.recording_exists': 'Это путешествие уже хранит другую запись этого дня.',
|
||||
'journey.recording.error.recording_changed': 'Запись изменилась после предпросмотра.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich ничего не записал в этот день.',
|
||||
'journey.recording.mode.walking': 'Пешком',
|
||||
'journey.recording.mode.running': 'Бег',
|
||||
'journey.recording.mode.cycling': 'Велосипед',
|
||||
'journey.recording.mode.driving': 'Автомобиль',
|
||||
'journey.recording.mode.motorcycle': 'Мотоцикл',
|
||||
'journey.recording.mode.bus': 'Автобус',
|
||||
'journey.recording.mode.train': 'Поезд',
|
||||
'journey.recording.mode.flying': 'Перелёт',
|
||||
'journey.recording.mode.boat': 'Лодка',
|
||||
'journey.recording.mode.stationary': 'На месте',
|
||||
'journey.recording.mode.unknown': 'Неизвестный способ',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -717,5 +717,70 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Počasie',
|
||||
'journey.entry.suggestion': 'Návrh',
|
||||
'journey.editor.addDetails': '+ Podrobnosti',
|
||||
'journey.recording.mapLine': 'Zaznamenané {date}',
|
||||
'journey.recording.keptBy': 'Zaznamenaná trasa uložená: {distance}, prevzal(a) {name} dňa {date}.',
|
||||
'journey.recording.keptOn': 'Zaznamenaná trasa uložená: {distance}, prevzaté dňa {date}.',
|
||||
'journey.recording.keptRunning': 'Deň vtedy ešte neskončil.',
|
||||
'journey.recording.takeOver': 'Prevziať záznam',
|
||||
'journey.recording.takeOverDay': 'Záznam z {date}',
|
||||
'journey.recording.sub': 'Len tento deň, z tvojho Dawarichu. Nič sa neuloží, kým nepotvrdíš.',
|
||||
'journey.recording.zone': 'Časové pásmo dňa',
|
||||
'journey.recording.zoneHint': 'Deň trvá v tomto pásme od polnoci do polnoci. Vyber to, v ktorom si cestoval(a).',
|
||||
'journey.recording.zoneSource': 'Z Dawarichu',
|
||||
'journey.recording.zoneDevice': 'Toto zariadenie',
|
||||
'journey.recording.scope': 'Záznam',
|
||||
'journey.recording.loading': 'Načítava sa deň z Dawarichu…',
|
||||
'journey.recording.keptStays': 'Trasa, ktorú táto cesta uchováva, zostáva bez zmeny.',
|
||||
'journey.recording.retry': 'Skúsiť znova',
|
||||
'journey.recording.empty': 'Dawarich v tento deň v tomto časovom pásme nič nezaznamenal.',
|
||||
'journey.recording.span': '{from} až {to}',
|
||||
'journey.recording.pieces': '{count} úsekov',
|
||||
'journey.recording.pieces.one': '{count} úsek',
|
||||
'journey.recording.pieces.few': '{count} úseky',
|
||||
'journey.recording.gaps': '{count} medzier',
|
||||
'journey.recording.gaps.one': '{count} medzera',
|
||||
'journey.recording.gaps.few': '{count} medzery',
|
||||
'journey.recording.gapsHint': 'Kde záznam končí, končí aj čiara. Nekreslí sa žiadna cesta, ktorá nebola zaznamenaná.',
|
||||
'journey.recording.sourceHint':
|
||||
'Stopy sú trasy, ktoré Dawarich už rozdelil podľa spôsobu dopravy. Body sú jeho surové polohy, preriedené na 600 za deň.',
|
||||
'journey.recording.sourceTracks': 'Stopy',
|
||||
'journey.recording.sourcePoints': 'Body',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Záznam sa v Dawarichu zmenil, kým si ho prezeral(a). Skontroluj ho ešte raz a potom ho ulož.',
|
||||
'journey.recording.truncated': 'Dawarich poslal len časť tohto dňa, trasa je neúplná.',
|
||||
'journey.recording.provisional': 'Tento deň v tomto pásme ešte neskončil. Trasu môžeš neskôr nahradiť celým dňom.',
|
||||
'journey.recording.same': 'Táto cesta už uchováva presne tento záznam.',
|
||||
'journey.recording.differs':
|
||||
'Táto cesta uchováva inú verziu z {date} ({distance}). Nahradenie nezmení žiadne záznamy ani texty.',
|
||||
'journey.recording.audience':
|
||||
'Ďalších {count} ľudí na tejto ceste uvidí trasu na mape. Zdieľané odkazy ju nezobrazujú.',
|
||||
'journey.recording.audience.one':
|
||||
'Ďalší {count} človek na tejto ceste uvidí trasu na mape. Zdieľané odkazy ju nezobrazujú.',
|
||||
'journey.recording.audience.few':
|
||||
'Ďalší {count} ľudia na tejto ceste uvidia trasu na mape. Zdieľané odkazy ju nezobrazujú.',
|
||||
'journey.recording.replace': 'Nahradiť',
|
||||
'journey.recording.alreadyKept': 'Už uložené',
|
||||
'journey.recording.keep': 'Uložiť trasu',
|
||||
'journey.recording.remove': 'Odstrániť trasu',
|
||||
'journey.recording.removeTitle': 'Odstrániť uloženú trasu?',
|
||||
'journey.recording.removeMessage':
|
||||
'Trasa tohto dňa zmizne z mapy cesty. Záznamy a texty zostanú a Dawarich si ponechá vlastný záznam.',
|
||||
'journey.recording.keptToast': 'Trasa uložená do cesty',
|
||||
'journey.recording.replacedToast': 'Trasa nahradená',
|
||||
'journey.recording.removedToast': 'Trasa odstránená z cesty',
|
||||
'journey.recording.error.recording_exists': 'Táto cesta už pre ten deň uchováva iný záznam.',
|
||||
'journey.recording.error.recording_changed': 'Záznam sa od náhľadu zmenil.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich v ten deň nič nezaznamenal.',
|
||||
'journey.recording.mode.walking': 'Pešo',
|
||||
'journey.recording.mode.running': 'Beh',
|
||||
'journey.recording.mode.cycling': 'Bicykel',
|
||||
'journey.recording.mode.driving': 'Auto',
|
||||
'journey.recording.mode.motorcycle': 'Motorka',
|
||||
'journey.recording.mode.bus': 'Autobus',
|
||||
'journey.recording.mode.train': 'Vlak',
|
||||
'journey.recording.mode.flying': 'Let',
|
||||
'journey.recording.mode.boat': 'Loď',
|
||||
'journey.recording.mode.stationary': 'Na mieste',
|
||||
'journey.recording.mode.unknown': 'Neznámy spôsob',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -703,5 +703,67 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Väder',
|
||||
'journey.entry.suggestion': 'Förslag',
|
||||
'journey.editor.addDetails': '+ Detaljer',
|
||||
'journey.recording.mapLine': 'Inspelad {date}',
|
||||
'journey.recording.keptBy': 'Inspelad rutt sparad: {distance}, övertagen av {name} den {date}.',
|
||||
'journey.recording.keptOn': 'Inspelad rutt sparad: {distance}, övertagen den {date}.',
|
||||
'journey.recording.keptRunning': 'Dagen pågick fortfarande då.',
|
||||
'journey.recording.takeOver': 'Ta över inspelningen',
|
||||
'journey.recording.takeOverDay': 'Inspelning från {date}',
|
||||
'journey.recording.sub': 'Bara den här dagen, från din Dawarich. Inget sparas förrän du bekräftar.',
|
||||
'journey.recording.zone': 'Dagens tidszon',
|
||||
'journey.recording.zoneHint': 'Dagen går från midnatt till midnatt i den här zonen. Välj den du reste i.',
|
||||
'journey.recording.zoneSource': 'Från Dawarich',
|
||||
'journey.recording.zoneDevice': 'Den här enheten',
|
||||
'journey.recording.scope': 'Inspelning',
|
||||
'journey.recording.loading': 'Läser dagen från Dawarich…',
|
||||
'journey.recording.keptStays': 'Rutten som den här resan sparar förblir som den är.',
|
||||
'journey.recording.retry': 'Försök igen',
|
||||
'journey.recording.empty': 'Dawarich spelade inte in något den dagen i den här tidszonen.',
|
||||
'journey.recording.span': '{from} till {to}',
|
||||
'journey.recording.pieces': '{count} delar',
|
||||
'journey.recording.pieces.one': '{count} del',
|
||||
'journey.recording.gaps': '{count} luckor',
|
||||
'journey.recording.gaps.one': '{count} lucka',
|
||||
'journey.recording.gapsHint': 'Där inspelningen slutar, slutar också linjen. Ingen väg ritas som inte spelades in.',
|
||||
'journey.recording.sourceHint':
|
||||
'Spår är rutter som Dawarich redan delat upp efter färdsätt. Punkter är dess råa positioner, glesade till 600 per dag.',
|
||||
'journey.recording.sourceTracks': 'Spår',
|
||||
'journey.recording.sourcePoints': 'Punkter',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Inspelningen ändrades i Dawarich medan du tittade. Kontrollera den en gång till och spara den sedan.',
|
||||
'journey.recording.truncated': 'Dawarich skickade bara en del av dagen, rutten är ofullständig.',
|
||||
'journey.recording.provisional':
|
||||
'Dagen är inte slut än i den här tidszonen. Du kan ersätta rutten senare med hela dagen.',
|
||||
'journey.recording.same': 'Den här resan sparar redan exakt den här inspelningen.',
|
||||
'journey.recording.differs':
|
||||
'Den här resan sparar en annan version från {date} ({distance}). Att ersätta den ändrar inga inlägg eller texter.',
|
||||
'journey.recording.audience':
|
||||
'{count} andra personer i den här resan ser rutten på kartan. Delade länkar visar den inte.',
|
||||
'journey.recording.audience.one':
|
||||
'{count} annan person i den här resan ser rutten på kartan. Delade länkar visar den inte.',
|
||||
'journey.recording.replace': 'Ersätt',
|
||||
'journey.recording.alreadyKept': 'Redan sparad',
|
||||
'journey.recording.keep': 'Spara rutt',
|
||||
'journey.recording.remove': 'Ta bort rutt',
|
||||
'journey.recording.removeTitle': 'Ta bort den sparade rutten?',
|
||||
'journey.recording.removeMessage':
|
||||
'Dagens rutt försvinner från resans karta. Inlägg och texter finns kvar, och Dawarich behåller sin egen inspelning.',
|
||||
'journey.recording.keptToast': 'Rutten sparad i resan',
|
||||
'journey.recording.replacedToast': 'Rutten ersatt',
|
||||
'journey.recording.removedToast': 'Rutten borttagen från resan',
|
||||
'journey.recording.error.recording_exists': 'Den här resan sparar redan en annan inspelning av den dagen.',
|
||||
'journey.recording.error.recording_changed': 'Inspelningen har ändrats sedan förhandsvisningen.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich spelade inte in något den dagen.',
|
||||
'journey.recording.mode.walking': 'Till fots',
|
||||
'journey.recording.mode.running': 'Löpning',
|
||||
'journey.recording.mode.cycling': 'Cykel',
|
||||
'journey.recording.mode.driving': 'Bil',
|
||||
'journey.recording.mode.motorcycle': 'Motorcykel',
|
||||
'journey.recording.mode.bus': 'Buss',
|
||||
'journey.recording.mode.train': 'Tåg',
|
||||
'journey.recording.mode.flying': 'Flyg',
|
||||
'journey.recording.mode.boat': 'Båt',
|
||||
'journey.recording.mode.stationary': 'Stillastående',
|
||||
'journey.recording.mode.unknown': 'Okänt färdsätt',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -682,5 +682,60 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'สภาพอากาศ',
|
||||
'journey.entry.suggestion': 'คำแนะนำ',
|
||||
'journey.editor.addDetails': '+ รายละเอียด',
|
||||
'journey.recording.mapLine': 'บันทึกเมื่อ {date}',
|
||||
'journey.recording.keptBy': 'บันทึกเส้นทางที่บันทึกไว้แล้ว: {distance} นำเข้าโดย {name} เมื่อ {date}',
|
||||
'journey.recording.keptOn': 'บันทึกเส้นทางที่บันทึกไว้แล้ว: {distance} นำเข้าเมื่อ {date}',
|
||||
'journey.recording.keptRunning': 'ตอนนั้นวันยังไม่จบ',
|
||||
'journey.recording.takeOver': 'นำเข้าการบันทึก',
|
||||
'journey.recording.takeOverDay': 'การบันทึกวันที่ {date}',
|
||||
'journey.recording.sub': 'เฉพาะวันนี้ จาก Dawarich ของคุณ จะไม่มีการบันทึกอะไรจนกว่าคุณจะยืนยัน',
|
||||
'journey.recording.zone': 'เขตเวลาของวัน',
|
||||
'journey.recording.zoneHint': 'วันนี้นับจากเที่ยงคืนถึงเที่ยงคืนในเขตเวลานี้ เลือกเขตเวลาที่คุณเดินทางอยู่',
|
||||
'journey.recording.zoneSource': 'ตาม Dawarich',
|
||||
'journey.recording.zoneDevice': 'อุปกรณ์นี้',
|
||||
'journey.recording.scope': 'การบันทึก',
|
||||
'journey.recording.loading': 'กำลังอ่านวันนี้จาก Dawarich…',
|
||||
'journey.recording.keptStays': 'เส้นทางที่ทริปนี้เก็บไว้ยังคงเหมือนเดิม',
|
||||
'journey.recording.retry': 'ลองอีกครั้ง',
|
||||
'journey.recording.empty': 'Dawarich ไม่ได้บันทึกอะไรในวันนี้ในเขตเวลานี้',
|
||||
'journey.recording.span': '{from} ถึง {to}',
|
||||
'journey.recording.pieces': '{count} ช่วง',
|
||||
'journey.recording.gaps': 'ขาดหาย {count} จุด',
|
||||
'journey.recording.gapsHint': 'ที่ใดการบันทึกหยุด เส้นก็หยุดด้วย จะไม่วาดเส้นทางที่ไม่ได้บันทึก',
|
||||
'journey.recording.sourceHint':
|
||||
'แทร็กคือเส้นทางที่ Dawarich แบ่งตามวิธีเดินทางแล้ว จุดคือตำแหน่งดิบ ลดเหลือ 600 จุดต่อวัน',
|
||||
'journey.recording.sourceTracks': 'แทร็ก',
|
||||
'journey.recording.sourcePoints': 'จุด',
|
||||
'journey.recording.changedSincePreview':
|
||||
'การบันทึกใน Dawarich เปลี่ยนไประหว่างที่คุณดูอยู่ ตรวจสอบอีกครั้งแล้วจึงบันทึก',
|
||||
'journey.recording.truncated': 'Dawarich ส่งมาเพียงบางส่วนของวันนี้ เส้นทางจึงไม่ครบ',
|
||||
'journey.recording.provisional': 'วันนี้ยังไม่จบในเขตเวลานี้ คุณเปลี่ยนเส้นทางเป็นทั้งวันได้ภายหลัง',
|
||||
'journey.recording.same': 'ทริปนี้เก็บการบันทึกนี้ไว้แล้วทุกประการ',
|
||||
'journey.recording.differs': 'ทริปนี้เก็บอีกเวอร์ชันจาก {date} ({distance}) การแทนที่จะไม่เปลี่ยนรายการหรือข้อความใด',
|
||||
'journey.recording.audience': 'อีก {count} คนในทริปนี้จะเห็นเส้นทางบนแผนที่ ลิงก์ที่แชร์จะไม่แสดง',
|
||||
'journey.recording.replace': 'แทนที่',
|
||||
'journey.recording.alreadyKept': 'บันทึกแล้ว',
|
||||
'journey.recording.keep': 'บันทึกเส้นทาง',
|
||||
'journey.recording.remove': 'ลบเส้นทาง',
|
||||
'journey.recording.removeTitle': 'ลบเส้นทางที่บันทึกไว้หรือไม่',
|
||||
'journey.recording.removeMessage':
|
||||
'เส้นทางของวันนี้จะหายไปจากแผนที่ทริป รายการและข้อความยังอยู่ และ Dawarich ยังเก็บการบันทึกของตัวเองไว้',
|
||||
'journey.recording.keptToast': 'บันทึกเส้นทางในทริปแล้ว',
|
||||
'journey.recording.replacedToast': 'แทนที่เส้นทางแล้ว',
|
||||
'journey.recording.removedToast': 'ลบเส้นทางออกจากทริปแล้ว',
|
||||
'journey.recording.error.recording_exists': 'ทริปนี้เก็บการบันทึกอื่นของวันนั้นไว้แล้ว',
|
||||
'journey.recording.error.recording_changed': 'การบันทึกเปลี่ยนไปตั้งแต่ดูตัวอย่าง',
|
||||
'journey.recording.error.recording_empty': 'Dawarich ไม่ได้บันทึกอะไรในวันนั้น',
|
||||
'journey.recording.mode.walking': 'เดิน',
|
||||
'journey.recording.mode.running': 'วิ่ง',
|
||||
'journey.recording.mode.cycling': 'จักรยาน',
|
||||
'journey.recording.mode.driving': 'รถยนต์',
|
||||
'journey.recording.mode.motorcycle': 'มอเตอร์ไซค์',
|
||||
'journey.recording.mode.bus': 'รถบัส',
|
||||
'journey.recording.mode.train': 'รถไฟ',
|
||||
'journey.recording.mode.flying': 'เครื่องบิน',
|
||||
'journey.recording.mode.boat': 'เรือ',
|
||||
'journey.recording.mode.stationary': 'อยู่กับที่',
|
||||
'journey.recording.mode.unknown': 'ไม่ทราบวิธี',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -703,5 +703,67 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Hava durumu',
|
||||
'journey.entry.suggestion': 'Öneri',
|
||||
'journey.editor.addDetails': '+ Ayrıntılar',
|
||||
'journey.recording.mapLine': '{date} tarihinde kaydedildi',
|
||||
'journey.recording.keptBy': 'Kaydedilen rota saklandı: {distance}, {name} tarafından {date} tarihinde alındı.',
|
||||
'journey.recording.keptOn': 'Kaydedilen rota saklandı: {distance}, {date} tarihinde alındı.',
|
||||
'journey.recording.keptRunning': 'Gün o sırada henüz bitmemişti.',
|
||||
'journey.recording.takeOver': 'Kaydı al',
|
||||
'journey.recording.takeOverDay': '{date} kaydı',
|
||||
'journey.recording.sub': 'Yalnızca bu gün, senin Dawarich hesabından. Onaylayana kadar hiçbir şey saklanmaz.',
|
||||
'journey.recording.zone': 'Günün saat dilimi',
|
||||
'journey.recording.zoneHint': 'Gün bu dilimde gece yarısından gece yarısına kadar sürer. Seyahat ettiğin dilimi seç.',
|
||||
'journey.recording.zoneSource': 'Dawarich’ten',
|
||||
'journey.recording.zoneDevice': 'Bu cihaz',
|
||||
'journey.recording.scope': 'Kayıt',
|
||||
'journey.recording.loading': 'Gün Dawarich’ten okunuyor…',
|
||||
'journey.recording.keptStays': 'Bu seyahatin sakladığı rota olduğu gibi kalır.',
|
||||
'journey.recording.retry': 'Tekrar dene',
|
||||
'journey.recording.empty': 'Dawarich bu gün bu saat diliminde hiçbir şey kaydetmedi.',
|
||||
'journey.recording.span': '{from} ile {to} arası',
|
||||
'journey.recording.pieces': '{count} parça',
|
||||
'journey.recording.pieces.one': '{count} parça',
|
||||
'journey.recording.gaps': '{count} boşluk',
|
||||
'journey.recording.gaps.one': '{count} boşluk',
|
||||
'journey.recording.gapsHint': 'Kaydın durduğu yerde çizgi de durur. Kaydedilmemiş hiçbir yol çizilmez.',
|
||||
'journey.recording.sourceHint':
|
||||
'İzler, Dawarich’in ulaşım türüne göre böldüğü rotalardır. Noktalar ham konumlardır, günde 600’e indirilir.',
|
||||
'journey.recording.sourceTracks': 'İzler',
|
||||
'journey.recording.sourcePoints': 'Noktalar',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Sen bakarken kayıt Dawarich’te değişti. Bir kez daha kontrol et, sonra sakla.',
|
||||
'journey.recording.truncated': 'Dawarich bu günün yalnızca bir kısmını gönderdi, rota eksik.',
|
||||
'journey.recording.provisional':
|
||||
'Bu gün bu saat diliminde henüz bitmedi. Rotayı daha sonra günün tamamıyla değiştirebilirsin.',
|
||||
'journey.recording.same': 'Bu seyahat tam olarak bu kaydı zaten saklıyor.',
|
||||
'journey.recording.differs':
|
||||
'Bu seyahat {date} tarihli başka bir sürümü saklıyor ({distance}). Değiştirmek hiçbir girişi veya metni değiştirmez.',
|
||||
'journey.recording.audience':
|
||||
'Bu seyahatteki {count} kişi daha rotayı haritada görecek. Paylaşılan bağlantılar göstermez.',
|
||||
'journey.recording.audience.one':
|
||||
'Bu seyahatteki {count} kişi daha rotayı haritada görecek. Paylaşılan bağlantılar göstermez.',
|
||||
'journey.recording.replace': 'Değiştir',
|
||||
'journey.recording.alreadyKept': 'Zaten saklandı',
|
||||
'journey.recording.keep': 'Rotayı sakla',
|
||||
'journey.recording.remove': 'Rotayı kaldır',
|
||||
'journey.recording.removeTitle': 'Saklanan rota kaldırılsın mı?',
|
||||
'journey.recording.removeMessage':
|
||||
'Bu günün rotası seyahat haritasından kalkar. Girişler ve metinler kalır, Dawarich de kendi kaydını korur.',
|
||||
'journey.recording.keptToast': 'Rota seyahatte saklandı',
|
||||
'journey.recording.replacedToast': 'Rota değiştirildi',
|
||||
'journey.recording.removedToast': 'Rota seyahatten kaldırıldı',
|
||||
'journey.recording.error.recording_exists': 'Bu seyahat o gün için zaten başka bir kayıt saklıyor.',
|
||||
'journey.recording.error.recording_changed': 'Kayıt önizlemeden bu yana değişti.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich o gün hiçbir şey kaydetmedi.',
|
||||
'journey.recording.mode.walking': 'Yürüyüş',
|
||||
'journey.recording.mode.running': 'Koşu',
|
||||
'journey.recording.mode.cycling': 'Bisiklet',
|
||||
'journey.recording.mode.driving': 'Araba',
|
||||
'journey.recording.mode.motorcycle': 'Motosiklet',
|
||||
'journey.recording.mode.bus': 'Otobüs',
|
||||
'journey.recording.mode.train': 'Tren',
|
||||
'journey.recording.mode.flying': 'Uçuş',
|
||||
'journey.recording.mode.boat': 'Tekne',
|
||||
'journey.recording.mode.stationary': 'Durağan',
|
||||
'journey.recording.mode.unknown': 'Bilinmeyen tür',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -733,5 +733,77 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Погода',
|
||||
'journey.entry.suggestion': 'Пропозиція',
|
||||
'journey.editor.addDetails': '+ Деталі',
|
||||
'journey.recording.mapLine': 'Записано {date}',
|
||||
'journey.recording.keptBy': 'Записаний маршрут збережено: {distance}, переніс(ла) {name} {date}.',
|
||||
'journey.recording.keptOn': 'Записаний маршрут збережено: {distance}, перенесено {date}.',
|
||||
'journey.recording.keptRunning': 'Тоді день ще не закінчився.',
|
||||
'journey.recording.takeOver': 'Перенести запис',
|
||||
'journey.recording.takeOverDay': 'Запис за {date}',
|
||||
'journey.recording.sub': 'Лише цей день, з вашого Dawarich. Нічого не зберігається, доки ви не підтвердите.',
|
||||
'journey.recording.zone': 'Часовий пояс дня',
|
||||
'journey.recording.zoneHint':
|
||||
'День триває в цьому поясі від півночі до півночі. Оберіть той, у якому ви подорожували.',
|
||||
'journey.recording.zoneSource': 'З Dawarich',
|
||||
'journey.recording.zoneDevice': 'Цей пристрій',
|
||||
'journey.recording.scope': 'Запис',
|
||||
'journey.recording.loading': 'Читаємо день із Dawarich…',
|
||||
'journey.recording.keptStays': 'Маршрут, збережений у цій подорожі, лишається без змін.',
|
||||
'journey.recording.retry': 'Спробувати ще раз',
|
||||
'journey.recording.empty': 'Dawarich нічого не записав цього дня в цьому часовому поясі.',
|
||||
'journey.recording.span': 'з {from} до {to}',
|
||||
'journey.recording.pieces': '{count} ділянки',
|
||||
'journey.recording.pieces.one': '{count} ділянка',
|
||||
'journey.recording.pieces.few': '{count} ділянки',
|
||||
'journey.recording.pieces.many': '{count} ділянок',
|
||||
'journey.recording.gaps': '{count} пропуску',
|
||||
'journey.recording.gaps.one': '{count} пропуск',
|
||||
'journey.recording.gaps.few': '{count} пропуски',
|
||||
'journey.recording.gaps.many': '{count} пропусків',
|
||||
'journey.recording.gapsHint':
|
||||
'Де запис обривається, там обривається і лінія. Не малюється шлях, якого не було записано.',
|
||||
'journey.recording.sourceHint':
|
||||
'Треки: маршрути, які Dawarich уже розділив за способом пересування. Точки: його сирі позиції, проріджені до 600 на день.',
|
||||
'journey.recording.sourceTracks': 'Треки',
|
||||
'journey.recording.sourcePoints': 'Точки',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Запис змінився в Dawarich, поки ви його переглядали. Перевірте його ще раз, а потім збережіть.',
|
||||
'journey.recording.truncated': 'Dawarich надіслав лише частину цього дня, маршрут неповний.',
|
||||
'journey.recording.provisional':
|
||||
'Цей день у цьому поясі ще не закінчився. Пізніше маршрут можна замінити цілим днем.',
|
||||
'journey.recording.same': 'Ця подорож уже зберігає саме цей запис.',
|
||||
'journey.recording.differs':
|
||||
'Ця подорож зберігає іншу версію від {date} ({distance}). Заміна не змінює записи й тексти.',
|
||||
'journey.recording.audience':
|
||||
'Ще {count} учасника цієї подорожі побачать маршрут на карті. Спільні посилання його не показують.',
|
||||
'journey.recording.audience.one':
|
||||
'Ще {count} учасник цієї подорожі побачить маршрут на карті. Спільні посилання його не показують.',
|
||||
'journey.recording.audience.few':
|
||||
'Ще {count} учасники цієї подорожі побачать маршрут на карті. Спільні посилання його не показують.',
|
||||
'journey.recording.audience.many':
|
||||
'Ще {count} учасників цієї подорожі побачать маршрут на карті. Спільні посилання його не показують.',
|
||||
'journey.recording.replace': 'Замінити',
|
||||
'journey.recording.alreadyKept': 'Уже збережено',
|
||||
'journey.recording.keep': 'Зберегти маршрут',
|
||||
'journey.recording.remove': 'Прибрати маршрут',
|
||||
'journey.recording.removeTitle': 'Прибрати збережений маршрут?',
|
||||
'journey.recording.removeMessage':
|
||||
'Маршрут цього дня зникне з карти подорожі. Записи й тексти лишаться, а Dawarich збереже власний запис.',
|
||||
'journey.recording.keptToast': 'Маршрут збережено в подорожі',
|
||||
'journey.recording.replacedToast': 'Маршрут замінено',
|
||||
'journey.recording.removedToast': 'Маршрут прибрано з подорожі',
|
||||
'journey.recording.error.recording_exists': 'Ця подорож уже зберігає інший запис цього дня.',
|
||||
'journey.recording.error.recording_changed': 'Запис змінився після попереднього перегляду.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich нічого не записав цього дня.',
|
||||
'journey.recording.mode.walking': 'Пішки',
|
||||
'journey.recording.mode.running': 'Біг',
|
||||
'journey.recording.mode.cycling': 'Велосипед',
|
||||
'journey.recording.mode.driving': 'Автомобіль',
|
||||
'journey.recording.mode.motorcycle': 'Мотоцикл',
|
||||
'journey.recording.mode.bus': 'Автобус',
|
||||
'journey.recording.mode.train': 'Потяг',
|
||||
'journey.recording.mode.flying': 'Переліт',
|
||||
'journey.recording.mode.boat': 'Човен',
|
||||
'journey.recording.mode.stationary': 'На місці',
|
||||
'journey.recording.mode.unknown': 'Невідомий спосіб',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -690,5 +690,64 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': 'Thời tiết',
|
||||
'journey.entry.suggestion': 'Gợi ý',
|
||||
'journey.editor.addDetails': '+ Chi tiết',
|
||||
'journey.recording.mapLine': 'Ghi lại ngày {date}',
|
||||
'journey.recording.keptBy': 'Đã lưu tuyến đường ghi lại: {distance}, do {name} lấy vào ngày {date}.',
|
||||
'journey.recording.keptOn': 'Đã lưu tuyến đường ghi lại: {distance}, lấy vào ngày {date}.',
|
||||
'journey.recording.keptRunning': 'Khi đó ngày vẫn chưa kết thúc.',
|
||||
'journey.recording.takeOver': 'Lấy bản ghi',
|
||||
'journey.recording.takeOverDay': 'Bản ghi ngày {date}',
|
||||
'journey.recording.sub': 'Chỉ ngày này, từ Dawarich của bạn. Không có gì được lưu cho đến khi bạn xác nhận.',
|
||||
'journey.recording.zone': 'Múi giờ của ngày',
|
||||
'journey.recording.zoneHint':
|
||||
'Ngày kéo dài từ nửa đêm đến nửa đêm theo múi giờ này. Hãy chọn múi giờ nơi bạn đang đi.',
|
||||
'journey.recording.zoneSource': 'Theo Dawarich',
|
||||
'journey.recording.zoneDevice': 'Thiết bị này',
|
||||
'journey.recording.scope': 'Bản ghi',
|
||||
'journey.recording.loading': 'Đang đọc ngày từ Dawarich…',
|
||||
'journey.recording.keptStays': 'Tuyến đường chuyến đi này đang lưu vẫn giữ nguyên.',
|
||||
'journey.recording.retry': 'Thử lại',
|
||||
'journey.recording.empty': 'Dawarich không ghi lại gì vào ngày này theo múi giờ này.',
|
||||
'journey.recording.span': 'từ {from} đến {to}',
|
||||
'journey.recording.pieces': '{count} đoạn',
|
||||
'journey.recording.gaps': '{count} khoảng trống',
|
||||
'journey.recording.gapsHint': 'Chỗ bản ghi dừng thì đường kẻ cũng dừng. Không vẽ đoạn đường nào không được ghi lại.',
|
||||
'journey.recording.sourceHint':
|
||||
'Lộ trình là các tuyến Dawarich đã chia theo phương tiện. Điểm là vị trí thô, được rút gọn còn 600 mỗi ngày.',
|
||||
'journey.recording.sourceTracks': 'Lộ trình',
|
||||
'journey.recording.sourcePoints': 'Điểm',
|
||||
'journey.recording.changedSincePreview':
|
||||
'Bản ghi đã thay đổi trong Dawarich khi bạn đang xem. Hãy kiểm tra lại một lần rồi lưu.',
|
||||
'journey.recording.truncated': 'Dawarich chỉ gửi một phần của ngày này, tuyến đường chưa đầy đủ.',
|
||||
'journey.recording.provisional':
|
||||
'Ngày này chưa kết thúc theo múi giờ này. Sau này bạn có thể thay tuyến đường bằng cả ngày.',
|
||||
'journey.recording.same': 'Chuyến đi này đã lưu đúng bản ghi này rồi.',
|
||||
'journey.recording.differs':
|
||||
'Chuyến đi này đang lưu một phiên bản khác từ {date} ({distance}). Thay thế không đổi mục nhập hay văn bản nào.',
|
||||
'journey.recording.audience':
|
||||
'{count} người khác trong chuyến đi sẽ thấy tuyến đường trên bản đồ. Liên kết chia sẻ không hiển thị nó.',
|
||||
'journey.recording.replace': 'Thay thế',
|
||||
'journey.recording.alreadyKept': 'Đã lưu',
|
||||
'journey.recording.keep': 'Lưu tuyến đường',
|
||||
'journey.recording.remove': 'Xóa tuyến đường',
|
||||
'journey.recording.removeTitle': 'Xóa tuyến đường đã lưu?',
|
||||
'journey.recording.removeMessage':
|
||||
'Tuyến đường của ngày này rời khỏi bản đồ chuyến đi. Mục nhập và văn bản vẫn còn, và Dawarich giữ bản ghi riêng của nó.',
|
||||
'journey.recording.keptToast': 'Đã lưu tuyến đường vào chuyến đi',
|
||||
'journey.recording.replacedToast': 'Đã thay tuyến đường',
|
||||
'journey.recording.removedToast': 'Đã xóa tuyến đường khỏi chuyến đi',
|
||||
'journey.recording.error.recording_exists': 'Chuyến đi này đã lưu một bản ghi khác cho ngày đó.',
|
||||
'journey.recording.error.recording_changed': 'Bản ghi đã thay đổi từ lúc xem trước.',
|
||||
'journey.recording.error.recording_empty': 'Dawarich không ghi lại gì vào ngày đó.',
|
||||
'journey.recording.mode.walking': 'Đi bộ',
|
||||
'journey.recording.mode.running': 'Chạy bộ',
|
||||
'journey.recording.mode.cycling': 'Xe đạp',
|
||||
'journey.recording.mode.driving': 'Ô tô',
|
||||
'journey.recording.mode.motorcycle': 'Xe máy',
|
||||
'journey.recording.mode.bus': 'Xe buýt',
|
||||
'journey.recording.mode.train': 'Tàu hỏa',
|
||||
'journey.recording.mode.flying': 'Chuyến bay',
|
||||
'journey.recording.mode.boat': 'Thuyền',
|
||||
'journey.recording.mode.stationary': 'Đứng yên',
|
||||
'journey.recording.mode.unknown': 'Phương tiện không rõ',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -676,5 +676,58 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': '天氣',
|
||||
'journey.entry.suggestion': '建議',
|
||||
'journey.editor.addDetails': '+詳情',
|
||||
'journey.recording.mapLine': '記錄於 {date}',
|
||||
'journey.recording.keptBy': '已保存記錄的路線:{distance},由 {name} 於 {date} 匯入。',
|
||||
'journey.recording.keptOn': '已保存記錄的路線:{distance},於 {date} 匯入。',
|
||||
'journey.recording.keptRunning': '當時這一天還沒有結束。',
|
||||
'journey.recording.takeOver': '匯入記錄',
|
||||
'journey.recording.takeOverDay': '{date} 的記錄',
|
||||
'journey.recording.sub': '只匯入這一天,來自你的 Dawarich。確認之前不會保存任何內容。',
|
||||
'journey.recording.zone': '這一天的時區',
|
||||
'journey.recording.zoneHint': '這一天依該時區從午夜到午夜計算。請選擇你旅行時所在的時區。',
|
||||
'journey.recording.zoneSource': '來自 Dawarich',
|
||||
'journey.recording.zoneDevice': '本裝置',
|
||||
'journey.recording.scope': '記錄',
|
||||
'journey.recording.loading': '正在從 Dawarich 讀取這一天…',
|
||||
'journey.recording.keptStays': '這趟旅程保存的路線維持不變。',
|
||||
'journey.recording.retry': '重試',
|
||||
'journey.recording.empty': 'Dawarich 在該時區的這一天沒有任何記錄。',
|
||||
'journey.recording.span': '{from} 至 {to}',
|
||||
'journey.recording.pieces': '{count} 段',
|
||||
'journey.recording.gaps': '{count} 處中斷',
|
||||
'journey.recording.gapsHint': '記錄中斷的地方,線條也會中斷。不會畫出沒有記錄的路。',
|
||||
'journey.recording.sourceHint': '軌跡是 Dawarich 已依交通方式劃分的路線。點是原始位置,每天精簡到 600 個。',
|
||||
'journey.recording.sourceTracks': '軌跡',
|
||||
'journey.recording.sourcePoints': '點',
|
||||
'journey.recording.changedSincePreview': '你查看時 Dawarich 中的記錄有了變化。請再檢查一次,然後保存。',
|
||||
'journey.recording.truncated': 'Dawarich 只傳送了這一天的一部分,路線不完整。',
|
||||
'journey.recording.provisional': '在該時區這一天還沒有結束。之後可以用完整的一天取代路線。',
|
||||
'journey.recording.same': '這趟旅程已經保存了完全相同的記錄。',
|
||||
'journey.recording.differs': '這趟旅程保存了 {date} 的另一個版本({distance})。取代不會改動任何條目或文字。',
|
||||
'journey.recording.audience': '這趟旅程中的另外 {count} 人會在地圖上看到這條路線。共享連結不會顯示它。',
|
||||
'journey.recording.replace': '取代',
|
||||
'journey.recording.alreadyKept': '已保存',
|
||||
'journey.recording.keep': '保存路線',
|
||||
'journey.recording.remove': '移除路線',
|
||||
'journey.recording.removeTitle': '要移除已保存的路線嗎?',
|
||||
'journey.recording.removeMessage':
|
||||
'這一天的路線將從旅程地圖上消失。條目和文字會保留,Dawarich 也會保留它自己的記錄。',
|
||||
'journey.recording.keptToast': '路線已保存到旅程',
|
||||
'journey.recording.replacedToast': '路線已取代',
|
||||
'journey.recording.removedToast': '路線已從旅程移除',
|
||||
'journey.recording.error.recording_exists': '這趟旅程已經保存了那一天的另一筆記錄。',
|
||||
'journey.recording.error.recording_changed': '自預覽以來記錄已有變化。',
|
||||
'journey.recording.error.recording_empty': 'Dawarich 那一天沒有任何記錄。',
|
||||
'journey.recording.mode.walking': '步行',
|
||||
'journey.recording.mode.running': '跑步',
|
||||
'journey.recording.mode.cycling': '騎單車',
|
||||
'journey.recording.mode.driving': '開車',
|
||||
'journey.recording.mode.motorcycle': '機車',
|
||||
'journey.recording.mode.bus': '公車',
|
||||
'journey.recording.mode.train': '火車',
|
||||
'journey.recording.mode.flying': '飛行',
|
||||
'journey.recording.mode.boat': '船',
|
||||
'journey.recording.mode.stationary': '靜止',
|
||||
'journey.recording.mode.unknown': '未知方式',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -676,5 +676,58 @@ const journey: TranslationStrings = {
|
||||
'journey.settings.showWeather': '天气',
|
||||
'journey.entry.suggestion': '建议',
|
||||
'journey.editor.addDetails': '+详情',
|
||||
'journey.recording.mapLine': '记录于 {date}',
|
||||
'journey.recording.keptBy': '已保存记录的路线:{distance},由 {name} 于 {date} 导入。',
|
||||
'journey.recording.keptOn': '已保存记录的路线:{distance},于 {date} 导入。',
|
||||
'journey.recording.keptRunning': '当时这一天还没有结束。',
|
||||
'journey.recording.takeOver': '导入记录',
|
||||
'journey.recording.takeOverDay': '{date} 的记录',
|
||||
'journey.recording.sub': '只导入这一天,来自你的 Dawarich。确认之前不会保存任何内容。',
|
||||
'journey.recording.zone': '这一天的时区',
|
||||
'journey.recording.zoneHint': '这一天按该时区从午夜到午夜计算。请选择你旅行时所在的时区。',
|
||||
'journey.recording.zoneSource': '来自 Dawarich',
|
||||
'journey.recording.zoneDevice': '本设备',
|
||||
'journey.recording.scope': '记录',
|
||||
'journey.recording.loading': '正在从 Dawarich 读取这一天…',
|
||||
'journey.recording.keptStays': '这次旅程保存的路线保持不变。',
|
||||
'journey.recording.retry': '重试',
|
||||
'journey.recording.empty': 'Dawarich 在该时区的这一天没有任何记录。',
|
||||
'journey.recording.span': '{from} 至 {to}',
|
||||
'journey.recording.pieces': '{count} 段',
|
||||
'journey.recording.gaps': '{count} 处中断',
|
||||
'journey.recording.gapsHint': '记录中断的地方,线条也会中断。不会画出没有记录的路。',
|
||||
'journey.recording.sourceHint': '轨迹是 Dawarich 已按出行方式划分的路线。点是原始位置,每天精简到 600 个。',
|
||||
'journey.recording.sourceTracks': '轨迹',
|
||||
'journey.recording.sourcePoints': '点',
|
||||
'journey.recording.changedSincePreview': '你查看时 Dawarich 中的记录发生了变化。请再检查一次,然后保存。',
|
||||
'journey.recording.truncated': 'Dawarich 只发送了这一天的一部分,路线不完整。',
|
||||
'journey.recording.provisional': '在该时区这一天还没有结束。之后可以用完整的一天替换路线。',
|
||||
'journey.recording.same': '这次旅程已经保存了完全相同的记录。',
|
||||
'journey.recording.differs': '这次旅程保存了 {date} 的另一个版本({distance})。替换不会改动任何条目或文字。',
|
||||
'journey.recording.audience': '这次旅程中的另外 {count} 人会在地图上看到这条路线。共享链接不会显示它。',
|
||||
'journey.recording.replace': '替换',
|
||||
'journey.recording.alreadyKept': '已保存',
|
||||
'journey.recording.keep': '保存路线',
|
||||
'journey.recording.remove': '移除路线',
|
||||
'journey.recording.removeTitle': '移除已保存的路线?',
|
||||
'journey.recording.removeMessage':
|
||||
'这一天的路线将从旅程地图上消失。条目和文字会保留,Dawarich 也会保留它自己的记录。',
|
||||
'journey.recording.keptToast': '路线已保存到旅程',
|
||||
'journey.recording.replacedToast': '路线已替换',
|
||||
'journey.recording.removedToast': '路线已从旅程移除',
|
||||
'journey.recording.error.recording_exists': '这次旅程已经保存了那一天的另一条记录。',
|
||||
'journey.recording.error.recording_changed': '自预览以来记录已发生变化。',
|
||||
'journey.recording.error.recording_empty': 'Dawarich 那一天没有任何记录。',
|
||||
'journey.recording.mode.walking': '步行',
|
||||
'journey.recording.mode.running': '跑步',
|
||||
'journey.recording.mode.cycling': '骑行',
|
||||
'journey.recording.mode.driving': '驾车',
|
||||
'journey.recording.mode.motorcycle': '摩托车',
|
||||
'journey.recording.mode.bus': '公交',
|
||||
'journey.recording.mode.train': '火车',
|
||||
'journey.recording.mode.flying': '飞行',
|
||||
'journey.recording.mode.boat': '船',
|
||||
'journey.recording.mode.stationary': '静止',
|
||||
'journey.recording.mode.unknown': '未知方式',
|
||||
};
|
||||
export default journey;
|
||||
|
||||
@@ -100,6 +100,7 @@ export * from './trip-invite/trip-invite.schema';
|
||||
export * from './collab/collab.schema';
|
||||
export * from './file/file.schema';
|
||||
export * from './journey/journey.schema';
|
||||
export * from './journey/journey-recordings.schema';
|
||||
export * from './journey/trip-journal-link.schema';
|
||||
export * from './book/book.schema';
|
||||
export * from './book/journey-stats.schema';
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
import {
|
||||
journeyRecordingDateSchema,
|
||||
journeyRecordingPreviewRequestSchema,
|
||||
journeyRecordingSaveRequestSchema,
|
||||
recordingStats,
|
||||
} from './journey-recordings.schema';
|
||||
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
const HASH = 'a'.repeat(64);
|
||||
|
||||
describe('journeyRecordingDateSchema', () => {
|
||||
it('JRNREC-SCHEMA-001: takes a calendar day and refuses one that does not exist or is spelt otherwise', () => {
|
||||
expect(journeyRecordingDateSchema.safeParse('2026-05-14').success).toBe(true);
|
||||
expect(journeyRecordingDateSchema.safeParse('2024-02-29').success).toBe(true);
|
||||
expect(journeyRecordingDateSchema.safeParse('2026-02-30').success).toBe(false);
|
||||
expect(journeyRecordingDateSchema.safeParse('2026-5-14').success).toBe(false);
|
||||
expect(journeyRecordingDateSchema.safeParse('2026-05-14T00:00:00Z').success).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('journeyRecordingPreviewRequestSchema', () => {
|
||||
it('JRNREC-SCHEMA-002: an offset within the zones there are, the source zone optional', () => {
|
||||
expect(journeyRecordingPreviewRequestSchema.safeParse({ date: '2026-05-14', utcOffsetMinutes: 120 }).success).toBe(
|
||||
true,
|
||||
);
|
||||
expect(
|
||||
journeyRecordingPreviewRequestSchema.safeParse({
|
||||
date: '2026-05-14',
|
||||
utcOffsetMinutes: -720,
|
||||
useSourceOffset: true,
|
||||
}).success,
|
||||
).toBe(true);
|
||||
expect(journeyRecordingPreviewRequestSchema.safeParse({ date: '2026-05-14', utcOffsetMinutes: 841 }).success).toBe(
|
||||
false,
|
||||
);
|
||||
expect(journeyRecordingPreviewRequestSchema.safeParse({ date: '2026-05-14', utcOffsetMinutes: 90.5 }).success).toBe(
|
||||
false,
|
||||
);
|
||||
expect(journeyRecordingPreviewRequestSchema.safeParse({ date: '2026-05-14' }).success).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('journeyRecordingSaveRequestSchema', () => {
|
||||
it('JRNREC-SCHEMA-003: names the hash of the preview it confirms, replacing only when asked', () => {
|
||||
expect(journeyRecordingSaveRequestSchema.parse({ utcOffsetMinutes: 0, expectedHash: HASH })).toEqual({
|
||||
utcOffsetMinutes: 0,
|
||||
expectedHash: HASH,
|
||||
});
|
||||
expect(
|
||||
journeyRecordingSaveRequestSchema.safeParse({ utcOffsetMinutes: 0, expectedHash: HASH, replace: true }).success,
|
||||
).toBe(true);
|
||||
expect(journeyRecordingSaveRequestSchema.safeParse({ utcOffsetMinutes: 0, expectedHash: 'abc' }).success).toBe(
|
||||
false,
|
||||
);
|
||||
expect(journeyRecordingSaveRequestSchema.safeParse({ utcOffsetMinutes: 0 }).success).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('recordingStats', () => {
|
||||
it('JRNREC-SCHEMA-004: adds up the pieces, prefers the distance Dawarich measured and counts the gaps between them', () => {
|
||||
const stats = recordingStats([
|
||||
{
|
||||
points: [
|
||||
[45.434, 12.3388],
|
||||
[45.4345, 12.3392],
|
||||
],
|
||||
mode: 'walking',
|
||||
startedAt: '2026-05-14T09:00:00+02:00',
|
||||
endedAt: '2026-05-14T09:20:00+02:00',
|
||||
distanceMeters: 1200,
|
||||
},
|
||||
// Starts a hair from where the walk ended: the recording joins up here.
|
||||
{
|
||||
points: [
|
||||
[45.43451, 12.33921],
|
||||
[45.44, 12.35],
|
||||
],
|
||||
mode: 'boat',
|
||||
startedAt: '2026-05-14T09:30:00+02:00',
|
||||
endedAt: '2026-05-14T10:00:00+02:00',
|
||||
distanceMeters: null,
|
||||
},
|
||||
// Kilometres away from the boat's end: a stretch with no recording.
|
||||
{
|
||||
points: [
|
||||
[45.5, 12.4],
|
||||
[45.501, 12.401],
|
||||
],
|
||||
mode: 'walking',
|
||||
startedAt: '2026-05-14T15:00:00+02:00',
|
||||
endedAt: '2026-05-14T15:10:00+02:00',
|
||||
distanceMeters: 150,
|
||||
},
|
||||
]);
|
||||
|
||||
expect(stats.segmentCount).toBe(3);
|
||||
expect(stats.pointCount).toBe(6);
|
||||
expect(stats.gapCount).toBe(1);
|
||||
expect(stats.modes).toEqual(['walking', 'boat']);
|
||||
expect(stats.firstAt).toBe('2026-05-14T09:00:00+02:00');
|
||||
expect(stats.lastAt).toBe('2026-05-14T15:10:00+02:00');
|
||||
// 1200 + the boat line's own length (about 1 km) + 150, and never the gap.
|
||||
expect(stats.distanceMeters).toBeGreaterThan(2350);
|
||||
expect(stats.distanceMeters).toBeLessThan(2450);
|
||||
});
|
||||
|
||||
it('JRNREC-SCHEMA-005: an empty day covers nothing', () => {
|
||||
expect(recordingStats([])).toEqual({
|
||||
distanceMeters: 0,
|
||||
pointCount: 0,
|
||||
segmentCount: 0,
|
||||
gapCount: 0,
|
||||
modes: [],
|
||||
firstAt: null,
|
||||
lastAt: null,
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,193 @@
|
||||
import { dawarichTrackSegmentSchema, type DawarichTrackSegment } from '../dawarich/dawarich.schema';
|
||||
import { haversineMetres } from '../geo/haversine';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
* JRN-01: the route recorded on one day of a journey, taken over from Dawarich
|
||||
* on purpose and kept by the journey.
|
||||
*
|
||||
* The Dawarich overlay is a live read that is forgotten again. A recorded day
|
||||
* is the exception the traveller asks for: a preview first, then a confirmed
|
||||
* copy of that one day, thinned like the overlay, that stays drawn when the
|
||||
* instance is down or the connection is gone. Its pieces keep the gaps of the
|
||||
* recording and the mode Dawarich gave them; nothing joins two pieces the
|
||||
* recording did not join.
|
||||
*
|
||||
* A day is cut in one zone, chosen in the preview: Dawarich's own when it
|
||||
* reveals one, else the one the traveller picks.
|
||||
*/
|
||||
|
||||
/** Where a recorded day came from. One source today; the column is there for a second. */
|
||||
export const JOURNEY_RECORDING_SOURCES = ['dawarich'] as const;
|
||||
|
||||
/** `YYYY-MM-DD`, a calendar day that exists. */
|
||||
export const journeyRecordingDateSchema = z
|
||||
.string()
|
||||
.regex(/^\d{4}-\d{2}-\d{2}$/)
|
||||
.refine((value) => {
|
||||
const parsed = new Date(`${value}T00:00:00Z`);
|
||||
return !Number.isNaN(parsed.getTime()) && parsed.toISOString().slice(0, 10) === value;
|
||||
}, 'Not a calendar day');
|
||||
|
||||
/** A zone offset in minutes east of UTC, as far as zones go (UTC-12 to UTC+14). */
|
||||
export const utcOffsetMinutesSchema = z.number().int().min(-720).max(840);
|
||||
|
||||
/** What a recorded day covers, worked out from its pieces. */
|
||||
export const journeyRecordingStatsSchema = z.object({
|
||||
/** Metres along the pieces; a gap between two pieces adds nothing. */
|
||||
distanceMeters: z.number(),
|
||||
pointCount: z.number(),
|
||||
segmentCount: z.number(),
|
||||
/** Stretches the recording does not cover: two pieces that do not meet. */
|
||||
gapCount: z.number(),
|
||||
/** The modes Dawarich gave the pieces, each once, in the order they were first travelled. */
|
||||
modes: z.array(z.string()),
|
||||
firstAt: z.string().nullable(),
|
||||
lastAt: z.string().nullable(),
|
||||
});
|
||||
export type JourneyRecordingStats = z.infer<typeof journeyRecordingStatsSchema>;
|
||||
|
||||
const recordingWindowSchema = z.object({
|
||||
/** The instant the local day began, ISO-8601. */
|
||||
from: z.string(),
|
||||
/** The instant it ended. */
|
||||
to: z.string(),
|
||||
});
|
||||
|
||||
/** A recorded day as the journey keeps it. */
|
||||
export const journeyRecordedDaySchema = z.object({
|
||||
id: z.number(),
|
||||
date: z.string(),
|
||||
source: z.enum(JOURNEY_RECORDING_SOURCES),
|
||||
/** Which Dawarich endpoint answered: pre-segmented tracks or thinned points. */
|
||||
sourceKind: z.enum(['tracks', 'points']),
|
||||
utcOffsetMinutes: z.number(),
|
||||
window: recordingWindowSchema,
|
||||
segments: z.array(dawarichTrackSegmentSchema),
|
||||
stats: journeyRecordingStatsSchema,
|
||||
/** The source hit its page cap and the day is incomplete. */
|
||||
truncated: z.boolean(),
|
||||
/** The day was not over yet in its zone when it was taken over. */
|
||||
provisional: z.boolean(),
|
||||
/** When the source answered. */
|
||||
fetchedAt: z.string(),
|
||||
contentHash: z.string(),
|
||||
/** Whose recording it is; null once that account is gone. */
|
||||
importedBy: z.object({ id: z.number(), username: z.string() }).nullable(),
|
||||
/** When this version was taken over, ISO-8601. */
|
||||
savedAt: z.string(),
|
||||
});
|
||||
export type JourneyRecordedDay = z.infer<typeof journeyRecordedDaySchema>;
|
||||
|
||||
export const journeyRecordedDaysResponseSchema = z.object({
|
||||
days: z.array(journeyRecordedDaySchema),
|
||||
});
|
||||
export type JourneyRecordedDaysResponse = z.infer<typeof journeyRecordedDaysResponseSchema>;
|
||||
|
||||
export const journeyRecordingPreviewRequestSchema = z.object({
|
||||
date: journeyRecordingDateSchema,
|
||||
/** The zone to cut the day in when the source names none, or when `useSourceOffset` is off. */
|
||||
utcOffsetMinutes: utcOffsetMinutesSchema,
|
||||
/** Cut the day in the zone Dawarich records in, where it reveals one. */
|
||||
useSourceOffset: z.boolean().optional(),
|
||||
});
|
||||
export type JourneyRecordingPreviewRequest = z.infer<typeof journeyRecordingPreviewRequestSchema>;
|
||||
|
||||
/**
|
||||
* What taking a day over would keep, read live and written nowhere. Saving
|
||||
* sends `contentHash` back, so what is kept is what was looked at.
|
||||
*/
|
||||
export const journeyRecordingPreviewSchema = z.object({
|
||||
journey: z.object({ id: z.number(), title: z.string() }),
|
||||
date: z.string(),
|
||||
utcOffsetMinutes: z.number(),
|
||||
/** `source`: the zone Dawarich records in. `chosen`: the one asked for. */
|
||||
offsetSource: z.enum(['source', 'chosen']),
|
||||
/** Dawarich's own zone where its answer reveals one, else null. */
|
||||
sourceOffsetMinutes: z.number().nullable(),
|
||||
window: recordingWindowSchema,
|
||||
sourceKind: z.enum(['tracks', 'points']),
|
||||
segments: z.array(dawarichTrackSegmentSchema),
|
||||
stats: journeyRecordingStatsSchema,
|
||||
truncated: z.boolean(),
|
||||
provisional: z.boolean(),
|
||||
fetchedAt: z.string(),
|
||||
/** Null when nothing was recorded on the day: there is nothing to keep. */
|
||||
contentHash: z.string().nullable(),
|
||||
/** The version the journey keeps for this day, if any. */
|
||||
stored: journeyRecordedDaySchema.nullable(),
|
||||
/** The live recording is the one already kept. */
|
||||
sameAsStored: z.boolean(),
|
||||
/** How many other people can open the journey and would see the route. */
|
||||
audience: z.number(),
|
||||
});
|
||||
export type JourneyRecordingPreview = z.infer<typeof journeyRecordingPreviewSchema>;
|
||||
|
||||
export const journeyRecordingSaveRequestSchema = z.object({
|
||||
utcOffsetMinutes: utcOffsetMinutesSchema,
|
||||
/** The `contentHash` of the preview that was confirmed. */
|
||||
expectedHash: z.string().regex(/^[0-9a-f]{64}$/),
|
||||
/** Replace a different version the journey already keeps for the day. */
|
||||
replace: z.boolean().optional(),
|
||||
});
|
||||
export type JourneyRecordingSaveRequest = z.infer<typeof journeyRecordingSaveRequestSchema>;
|
||||
|
||||
export const journeyRecordingSaveResultSchema = z.object({
|
||||
day: journeyRecordedDaySchema,
|
||||
/** `unchanged`: the day was kept already, exactly so, and nothing was written. */
|
||||
outcome: z.enum(['created', 'replaced', 'unchanged']),
|
||||
});
|
||||
export type JourneyRecordingSaveResult = z.infer<typeof journeyRecordingSaveResultSchema>;
|
||||
|
||||
/** Two pieces closer than this meet; farther apart, the recording has a gap between them. */
|
||||
export const RECORDING_GAP_METERS = 250;
|
||||
|
||||
/**
|
||||
* A point as `[lat, lng]`. Read as a plain array because the client compiles
|
||||
* these sources without strictNullChecks, where the schema's tuple reads as two
|
||||
* optional numbers and a rest of anything.
|
||||
*/
|
||||
type LatLng = readonly unknown[];
|
||||
|
||||
const coord = (value: unknown): number => (typeof value === 'number' ? value : 0);
|
||||
|
||||
function metresBetween(a: LatLng, b: LatLng): number {
|
||||
return haversineMetres(coord(a[0]), coord(a[1]), coord(b[0]), coord(b[1]));
|
||||
}
|
||||
|
||||
function lengthOf(points: readonly LatLng[]): number {
|
||||
let total = 0;
|
||||
for (let i = 1; i < points.length; i++) total += metresBetween(points[i - 1]!, points[i]!);
|
||||
return total;
|
||||
}
|
||||
|
||||
/**
|
||||
* What a day's pieces cover. A piece's own distance is Dawarich's measurement
|
||||
* and wins over the thinned line's length, which is always a little short.
|
||||
*/
|
||||
export function recordingStats(segments: DawarichTrackSegment[]): JourneyRecordingStats {
|
||||
let distanceMeters = 0;
|
||||
let pointCount = 0;
|
||||
let gapCount = 0;
|
||||
const modes: string[] = [];
|
||||
for (let i = 0; i < segments.length; i++) {
|
||||
const segment = segments[i]!;
|
||||
distanceMeters += segment.distanceMeters ?? lengthOf(segment.points);
|
||||
pointCount += segment.points.length;
|
||||
if (segment.mode && !modes.includes(segment.mode)) modes.push(segment.mode);
|
||||
const previous = segments[i - 1];
|
||||
const end = previous?.points[previous.points.length - 1];
|
||||
const start = segment.points[0];
|
||||
if (end && start && metresBetween(end, start) > RECORDING_GAP_METERS) gapCount++;
|
||||
}
|
||||
return {
|
||||
distanceMeters: Math.round(distanceMeters),
|
||||
pointCount,
|
||||
segmentCount: segments.length,
|
||||
gapCount,
|
||||
modes,
|
||||
firstAt: segments[0]?.startedAt ?? null,
|
||||
lastAt: segments[segments.length - 1]?.endedAt ?? null,
|
||||
};
|
||||
}
|
||||
@@ -182,6 +182,12 @@ export const journeyTrackSchema = z.object({
|
||||
name: z.string(),
|
||||
color: z.string().nullable(),
|
||||
points: z.array(z.tuple([z.number(), z.number()])),
|
||||
/**
|
||||
* What the line is (JRN-01): a GPX track of a trip, planned; a day recording
|
||||
* the journey keeps; or the live Dawarich trail. Absent means a trip's GPX,
|
||||
* which is all GET `:id/tracks` has ever answered.
|
||||
*/
|
||||
kind: z.enum(['trip_gpx', 'day_recording', 'dawarich_live']).optional(),
|
||||
});
|
||||
export type JourneyTrack = z.infer<typeof journeyTrackSchema>;
|
||||
|
||||
|
||||
@@ -127,6 +127,7 @@ const FIXTURES: Record<TrekWsEventName, Record<string, unknown>> = {
|
||||
'journey:book:cursor': { journeyId: 7, socketId: 3, userId: 2, spreadIndex: 0, x: 105.5, y: 60 },
|
||||
'journey:contributor:changed': { journeyId: 3, targetUserId: 2, role: 'editor' },
|
||||
'journey:photos:updated': { journeyId: 3 },
|
||||
'journey:recording:updated': { journeyId: 3, date: '2026-05-14' },
|
||||
'import:progress': { jobId: 'j1', tripId: 1, status: 'running', done: 1, total: 3, fileName: 'a.pdf' },
|
||||
'import:done': { jobId: 'j1', tripId: 1, result: { items: [] } },
|
||||
'import:error': { jobId: 'j1', tripId: 1, message: 'boom' },
|
||||
@@ -149,7 +150,7 @@ const DRIFT_VARIANTS: Partial<Record<TrekWsEventName, Record<string, unknown>[]>
|
||||
};
|
||||
|
||||
describe('@trek/shared realtime event registry', () => {
|
||||
it('WSEVT-REG-001: pins the authoritative inventory counts (77 trip + 33 user = 110)', () => {
|
||||
it('WSEVT-REG-001: pins the authoritative inventory counts (77 trip + 34 user = 111)', () => {
|
||||
// 67th to 69th trip event: the three collab:link:* a shared link emits.
|
||||
// 70th and 71st: the road trip's vias and tracks, which used to be written silently.
|
||||
// 74th: docsync:changed, so a sync run that moved documents refreshes the
|
||||
@@ -160,9 +161,11 @@ describe('@trek/shared realtime event registry', () => {
|
||||
// days show the same for every member of the trip.
|
||||
// 33rd user event: journey:photos:updated, so the gallery re-sorts once the
|
||||
// capture times of an import have landed (#1587).
|
||||
// 34th: journey:recording:updated, so every map of a journey shows a day's
|
||||
// recorded route once somebody took it over (JRN-01).
|
||||
expect(TREK_WS_TRIP_EVENT_NAMES).toHaveLength(77);
|
||||
expect(TREK_WS_USER_EVENT_NAMES).toHaveLength(33);
|
||||
expect(TREK_WS_EVENT_NAMES).toHaveLength(110);
|
||||
expect(TREK_WS_USER_EVENT_NAMES).toHaveLength(34);
|
||||
expect(TREK_WS_EVENT_NAMES).toHaveLength(111);
|
||||
});
|
||||
|
||||
it('WSEVT-REG-002: every name is domain:action shaped and outside the reserved plugin: namespace', () => {
|
||||
|
||||
@@ -339,6 +339,11 @@ export const TREK_WS_EVENTS = {
|
||||
* request would reload every open client once per uploaded photo.
|
||||
*/
|
||||
'journey:photos:updated': { scope: 'user', payload: z.object({ journeyId: id }) },
|
||||
/*
|
||||
* A day's recorded route was taken over, replaced or removed (JRN-01). Sent
|
||||
* after the write to everyone on the journey; the map reads the days again.
|
||||
*/
|
||||
'journey:recording:updated': { scope: 'user', payload: z.object({ journeyId: id, date: z.string() }) },
|
||||
|
||||
/*
|
||||
* The Studio book was saved (#1973).
|
||||
|
||||
Reference in New Issue
Block a user