mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-20 14:06:27 +00:00
feat(tours): route paddle tours on the water, shaping points and auto-loaded regions
Paddle tours are planned on the water by TREK's own router: a water network per paddle region, built from the same Geofabrik extract as the obstacles and searched in a worker thread of the server (no sidecar). Rivers, canals and lakes (direct or along the shore), portages round weirs, locks by policy, whitewater by boat, gaps marked. Found portages and locks become points of their own; an unplannable leg says why and offers a way out. - Shaping points: a click on the line sets a point that steers the route without being a stop (hikes and paddle tours); recompute a single leg. - Lake style direct/shore, suggested from the wind forecast. - Regions load by themselves where a paddler plans (admin setting: automatic, on request, off; size cap and a daily count), with requests for the admins, a notification, and the load followed on the leg. - Portage from the last point, portages follow footways via the walking router (or stay straight), "put in here" on slipways and put-ins. - MCP plan_paddle_route with the REST route's rules.
This commit is contained in:
@@ -916,5 +916,61 @@ const admin: TranslationStrings = {
|
||||
'admin.paddleRegions.objects.two': 'العناصر: {count}',
|
||||
'admin.paddleRegions.objects.few': 'العناصر: {count}',
|
||||
'admin.paddleRegions.objects.many': 'العناصر: {count}',
|
||||
'admin.paddleRegions.phase.build': 'جارٍ بناء شبكة المياه',
|
||||
'admin.paddleRegions.network.km': '{km} km من المياه',
|
||||
'admin.paddleRegions.network.lakes': 'البحيرات: {count}',
|
||||
'admin.paddleRegions.network.lakes.zero': 'البحيرات: {count}',
|
||||
'admin.paddleRegions.network.lakes.one': 'البحيرات: {count}',
|
||||
'admin.paddleRegions.network.lakes.two': 'البحيرات: {count}',
|
||||
'admin.paddleRegions.network.lakes.few': 'البحيرات: {count}',
|
||||
'admin.paddleRegions.network.lakes.many': 'البحيرات: {count}',
|
||||
'admin.paddleRegions.network.portages': 'مواضع الحمل المرسومة: {count}',
|
||||
'admin.paddleRegions.network.portages.zero': 'مواضع الحمل المرسومة: {count}',
|
||||
'admin.paddleRegions.network.portages.one': 'مواضع الحمل المرسومة: {count}',
|
||||
'admin.paddleRegions.network.portages.two': 'مواضع الحمل المرسومة: {count}',
|
||||
'admin.paddleRegions.network.portages.few': 'مواضع الحمل المرسومة: {count}',
|
||||
'admin.paddleRegions.network.portages.many': 'مواضع الحمل المرسومة: {count}',
|
||||
'admin.paddleRegions.network.inferred': 'مواضع الحمل المفترضة: {count}',
|
||||
'admin.paddleRegions.network.inferred.zero': 'مواضع الحمل المفترضة: {count}',
|
||||
'admin.paddleRegions.network.inferred.one': 'مواضع الحمل المفترضة: {count}',
|
||||
'admin.paddleRegions.network.inferred.two': 'مواضع الحمل المفترضة: {count}',
|
||||
'admin.paddleRegions.network.inferred.few': 'مواضع الحمل المفترضة: {count}',
|
||||
'admin.paddleRegions.network.inferred.many': 'مواضع الحمل المفترضة: {count}',
|
||||
'admin.paddleRegions.network.locks': 'الأهوسة: {count}',
|
||||
'admin.paddleRegions.network.locks.zero': 'الأهوسة: {count}',
|
||||
'admin.paddleRegions.network.locks.one': 'الأهوسة: {count}',
|
||||
'admin.paddleRegions.network.locks.two': 'الأهوسة: {count}',
|
||||
'admin.paddleRegions.network.locks.few': 'الأهوسة: {count}',
|
||||
'admin.paddleRegions.network.locks.many': 'الأهوسة: {count}',
|
||||
'admin.paddleRegions.network.gaps': 'الفجوات الموصولة: {count}',
|
||||
'admin.paddleRegions.network.gaps.zero': 'الفجوات الموصولة: {count}',
|
||||
'admin.paddleRegions.network.gaps.one': 'الفجوات الموصولة: {count}',
|
||||
'admin.paddleRegions.network.gaps.two': 'الفجوات الموصولة: {count}',
|
||||
'admin.paddleRegions.network.gaps.few': 'الفجوات الموصولة: {count}',
|
||||
'admin.paddleRegions.network.gaps.many': 'الفجوات الموصولة: {count}',
|
||||
'admin.paddleRegions.network.missing': 'لا توجد شبكة مياه',
|
||||
'admin.paddleRegions.network.missingHint': 'أعد قراءة المنطقة لبناء الشبكة التي يتبعها مسار التجديف.',
|
||||
'admin.paddleRegions.auto.title': 'تحميل المناطق تلقائيًا',
|
||||
'admin.paddleRegions.auto.mode.auto': 'تلقائي',
|
||||
'admin.paddleRegions.auto.mode.ask': 'عند الطلب',
|
||||
'admin.paddleRegions.auto.mode.off': 'إيقاف',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'عندما يخطط أحد لرحلة تجديف في منطقة بلا بيانات مائية بعد، يحمّل TREK أصغر منطقة مناسبة فورًا، ضمن حد الحجم وعدد قليل في اليوم. ما هو أكبر ينتظر هنا كطلب. يُرسل اسم المنطقة فقط إلى Geofabrik، وليس المكان أبدًا.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'تنتظر كل منطقة جديدة هنا حتى يسمح بها مسؤول. عندما يخطط مسؤول بنفسه تُحمّل فورًا.',
|
||||
'admin.paddleRegions.auto.modeHint.off': 'لا يحمّل TREK شيئًا من تلقاء نفسه ولا يطلب شيئًا. أضف المناطق هنا يدويًا.',
|
||||
'admin.paddleRegions.auto.maxSize': 'أكبر منطقة تُحمّل تلقائيًا',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'المناطق الأكبر تنتظر هنا كطلب. قراءة منطقة تستغرق بضع دقائق وتستهلك الذاكرة أثناءها.',
|
||||
'admin.paddleRegions.requests.title': 'مطلوبة',
|
||||
'admin.paddleRegions.requests.reason.ask': 'عند الطلب',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'كبيرة جدًا',
|
||||
'admin.paddleRegions.requests.reason.limit': 'الحد اليومي',
|
||||
'admin.paddleRegions.requests.declined': 'مرفوضة',
|
||||
'admin.paddleRegions.requests.by': 'من {user}',
|
||||
'admin.paddleRegions.requests.approve': 'تحميل',
|
||||
'admin.paddleRegions.requests.decline': 'رفض',
|
||||
'admin.paddleRegions.origin.auto': 'تلقائي',
|
||||
'admin.paddleRegions.origin.autoHint': 'حمّل TREK هذه المنطقة بنفسه لرحلة تجديف مخطط لها هناك.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -82,6 +82,10 @@ const ar: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'طلب منطقة تجديف',
|
||||
body: `${p.actor} يخطط لرحلة تجديف في ${p.region}. حمّل بياناتها المائية أو ارفضها في لوحة الإدارة ضمن الإضافات.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'تمت إعادة تعيين جلسة Synology',
|
||||
body: 'تغيّر حسابك أو رابط Synology. تم تسجيل خروجك من Synology Photos.',
|
||||
|
||||
@@ -36,6 +36,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "فشلت الكتابة على النسخة المتماثلة '{backend}': {op} لـ {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"فشلت الكتابة على النسخة المتماثلة '{backend}': {op} لـ {key} — {error}. تم تجاهل {suppressed} فشل إضافي منذ آخر إشعار.",
|
||||
'notif.paddle_region_requested.title': 'طلب منطقة تجديف',
|
||||
'notif.paddle_region_requested.text': '{actor} يخطط لرحلة تجديف في {region}',
|
||||
'notif.action.view_trip': 'عرض الرحلة',
|
||||
'notif.action.view_collab': 'عرض الرسائل',
|
||||
'notif.action.view_packing': 'عرض التعبئة',
|
||||
|
||||
@@ -104,6 +104,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'إشعارات Webhook',
|
||||
'settings.notifyVersionAvailable': 'إصدار جديد متاح',
|
||||
'settings.notifyReplicaFailure': 'فشل النسخة المتماثلة للتخزين',
|
||||
'settings.notifyPaddleRegionRequested': 'طلب منطقة تجديف',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'لم يتم تكوين قنوات إشعارات. اطلب من المسؤول إعداد إشعارات البريد الإلكتروني أو webhook.',
|
||||
'settings.webhookUrl.label': 'رابط Webhook',
|
||||
|
||||
@@ -298,8 +298,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'أدخل سرعة بين 0.5 و20 كم/س.',
|
||||
'tours.paddle.chooseBoat': 'اختر القارب والمسطح المائي لحفظ جولة التجديف هذه.',
|
||||
'tours.paddle.chooseBoatImport': 'اختر القارب والمسطح المائي للاستيراد كجولة تجديف.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'تُرسم جولة التجديف يدويًا: يصل TREK نقاطك بخطوط مستقيمة. لا يُحسب أي مسار، ولا شيء يقول إن الماء صالح للتجديف.',
|
||||
'tours.paddle.timeEstimated': 'وقت التجديف (تقديري)',
|
||||
'tours.paddle.timeEstimatedShort': 'تجديف',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'كيف يُقدَّر وقت التجديف',
|
||||
@@ -356,6 +354,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'حمل القارب',
|
||||
'tours.paddle.portageOn': 'حمل القارب من هنا',
|
||||
'tours.paddle.portageOff': 'التجديف في هذا المقطع مجددًا',
|
||||
'tours.paddle.portagePending': 'حمل القارب من هنا',
|
||||
'tours.paddle.portagePendingHint': 'ضع الآن النقطة التي تعود فيها إلى الماء. يُحمل القارب حتى هناك.',
|
||||
'tours.paddle.portagePendingOff': 'إلغاء الحمل',
|
||||
'tours.paddle.portageWay': 'المسار',
|
||||
'tours.paddle.portageWay.follow': 'اتبع الطريق',
|
||||
'tours.paddle.portageWay.straight': 'خط مستقيم',
|
||||
'tours.paddle.portageWay.noWay': 'لا يوجد طريق دون التفاف كبير، لذلك يبقى الخط مستقيمًا.',
|
||||
'tours.paddle.portageWay.searching': 'جارٍ البحث عن طريق',
|
||||
'tours.paddle.placeHere.putIn': 'انطلق من هنا',
|
||||
'tours.paddle.placeHere.egress': 'اخرج من الماء هنا',
|
||||
'tours.paddle.portageInfo': 'يُحمل القارب هنا. يُحتسب المقطع برًّا، مع وقت للخروج والتفريغ والعودة إلى الماء.',
|
||||
'tours.paddle.portageExtra': 'خروج وعودة',
|
||||
'tours.paddle.lock': 'هويس',
|
||||
@@ -573,5 +581,61 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.time.locksMissing.two': '{count} من الأهوسة بلا أوقات بعد.',
|
||||
'tours.paddle.time.locksMissing.few': '{count} من الأهوسة بلا أوقات بعد.',
|
||||
'tours.paddle.time.locksMissing.many': '{count} من الأهوسة بلا أوقات بعد.',
|
||||
'tours.planner.shapingPoint': 'نقطة تشكيل',
|
||||
'tours.planner.shapingHint': 'توجّه المسار دون أن تكون محطة. اسحبها إلى حيث يجب أن يمر المسار.',
|
||||
'tours.planner.makeStop': 'اجعلها محطة',
|
||||
'tours.planner.makeShaping': 'اجعلها نقطة تشكيل',
|
||||
'tours.planner.recomputeLeg': 'أعد حساب المقطع التالي',
|
||||
'tours.planner.shapeOnLine': 'انقر على المسار في الخريطة لإضافة نقطة تشكيل هناك.',
|
||||
'tours.paddle.routeOnWater': 'خطّط المقطع التالي على الماء',
|
||||
'tours.paddle.routeAllOnWater': 'خطّط على الماء المقاطع المرسومة يدويًا',
|
||||
'tours.paddle.auto': 'مكتشفة',
|
||||
'tours.paddle.autoHint':
|
||||
'وضع TREK هذه النقطة عند موضع حمل للقارب أو هويس وجده في الطريق. إذا نقلتها أو غيّرتها تصبح لك.',
|
||||
'tours.paddle.note.rapids': 'مياه بيضاء من الدرجة {grade}',
|
||||
'tours.paddle.note.pass': 'ممر للقوارب',
|
||||
'tours.paddle.note.gap': 'فجوة في بيانات الخريطة',
|
||||
'tours.paddle.note.rapidsHint': 'يمر المسار هنا عبر مياه جارية. استطلع المكان أولًا واحمل القارب عند الشك.',
|
||||
'tours.paddle.note.gapHint': 'في بيانات المياه فجوة هنا وُصلت بخط مستقيم. تحقّق منها في الموقع.',
|
||||
'tours.paddle.failed.not_on_water': 'أحد طرفي هذا المقطع ليس على ماء يعرفه TREK. انقله إلى النهر أو البحيرة.',
|
||||
'tours.paddle.failed.no_region': 'لا توجد بيانات مياه لهذه المنطقة بعد. يمكن للمسؤول إضافة المنطقة.',
|
||||
'tours.paddle.failed.building': 'ما زالت بيانات المياه لهذه المنطقة قيد التحضير. حاول مجددًا بعد بضع دقائق.',
|
||||
'tours.paddle.failed.no_water_path': 'لم يجد TREK طريقًا على الماء بين هذه النقاط.',
|
||||
'tours.paddle.failed.cross_region': 'تقع هذه النقاط في منطقتين لا تشتركان في بيانات المياه.',
|
||||
'tours.paddle.failed.busy': 'مخطط المسارات مشغول. حاول مجددًا بعد لحظة.',
|
||||
'tours.paddle.failed.timeout': 'استغرق تخطيط هذا المقطع وقتًا طويلًا. أضف نقطة بينهما وحاول مجددًا.',
|
||||
'tours.paddle.failed.offline': 'غير متصل. سيُخطَّط هذا المقطع عند عودة الاتصال.',
|
||||
'tours.paddle.drawStraight': 'ارسم خطًا مستقيمًا',
|
||||
'tours.paddle.retry': 'حاول مجددًا',
|
||||
'tours.paddle.load.loading': 'جارٍ تحميل البيانات المائية لـ {region}',
|
||||
'tours.paddle.load.ready': 'وصلت البيانات المائية لـ {region}، جارٍ تخطيط المقطع.',
|
||||
'tours.paddle.load.requested': 'طُلبت البيانات المائية لـ {region}. سيُخطط المقطع بمجرد أن يسمح بها مسؤول.',
|
||||
'tours.paddle.load.waiting': 'بانتظار مناطق أخرى',
|
||||
'tours.paddle.load.phase.download': 'تنزيل',
|
||||
'tours.paddle.load.phase.read': 'قراءة',
|
||||
'tours.paddle.load.phase.build': 'بناء الشبكة المائية',
|
||||
'tours.paddle.load.hint': 'عادةً من دقيقة إلى ثلاث دقائق. تابع التخطيط، وسيُخطط المقطع تلقائيًا بعد ذلك.',
|
||||
'tours.paddle.load.reason.tooLarge': 'المنطقة أكبر مما يحمّله TREK من تلقاء نفسه.',
|
||||
'tours.paddle.load.reason.limit': 'حمّل TREK اليوم ما يكفي من المناطق من تلقاء نفسه.',
|
||||
'tours.paddle.load.declined': 'رفض مسؤول البيانات المائية لـ {region}.',
|
||||
'tours.paddle.load.failed': 'تعذّر تحميل البيانات المائية لـ {region}.',
|
||||
'tours.paddle.load.noWater': 'لا توجد مياه هنا في البيانات المائية لـ {region}. ضع النقطة على النهر أو البحيرة.',
|
||||
'tours.paddle.load.noExtract': 'لا يوجد مقتطف خرائط ببيانات مائية لهذه المنطقة.',
|
||||
'tours.paddle.load.catalogUnavailable': 'لا يمكن الوصول إلى قائمة المناطق حاليًا. حاول لاحقًا.',
|
||||
'tours.paddle.lakeStyle': 'عبر البحيرات',
|
||||
'tours.paddle.lakeStyle.direct': 'مباشرةً',
|
||||
'tours.paddle.lakeStyle.shore': 'قرب الشاطئ',
|
||||
'tours.paddle.lakeStyle.directHint': 'أقصر خط عبر المياه المفتوحة.',
|
||||
'tours.paddle.lakeStyle.shoreHint': 'يبقى قرب الشاطئ لأيام الرياح: أطول، لكن اليابسة لا تبعد أبدًا.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'في هذا اليوم حتى {mean} km/h، والهبّات {gusts} km/h. على البحيرات قد يكون البقاء قرب الشاطئ هو الخط الأفضل.',
|
||||
'tours.paddle.wind.shoreAdopt': 'خطّط قرب الشاطئ',
|
||||
'tours.paddle.wind.shoreTaken': 'البحيرات مخطّطة قرب الشاطئ.',
|
||||
'tours.paddle.status.unrouted': 'مقاطع غير مخطّطة: {count}',
|
||||
'tours.paddle.status.unrouted.zero': 'مقاطع غير مخطّطة: {count}',
|
||||
'tours.paddle.status.unrouted.one': 'مقاطع غير مخطّطة: {count}',
|
||||
'tours.paddle.status.unrouted.two': 'مقاطع غير مخطّطة: {count}',
|
||||
'tours.paddle.status.unrouted.few': 'مقاطع غير مخطّطة: {count}',
|
||||
'tours.paddle.status.unrouted.many': 'مقاطع غير مخطّطة: {count}',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -910,6 +910,43 @@ const admin: TranslationStrings = {
|
||||
'Məlumatlar © OpenStreetMap iştirakçıları (ODbL), regional çıxarışlar Geofabrik-dən. Hər ayın 3-də yenidən oxunur.',
|
||||
'admin.paddleRegions.toast.added': 'Region əlavə edildi. TREK onu arxa planda oxuyur.',
|
||||
'admin.paddleRegions.toast.removed': 'Region silindi',
|
||||
'admin.paddleRegions.phase.build': 'Su şəbəkəsi qurulur',
|
||||
'admin.paddleRegions.network.km': '{km} km su',
|
||||
'admin.paddleRegions.network.lakes': '{count} göl',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} göl',
|
||||
'admin.paddleRegions.network.portages': '{count} xəritələnmiş daşıma yeri',
|
||||
'admin.paddleRegions.network.portages.one': '{count} xəritələnmiş daşıma yeri',
|
||||
'admin.paddleRegions.network.inferred': '{count} ehtimal olunan daşıma',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} ehtimal olunan daşıma',
|
||||
'admin.paddleRegions.network.locks': '{count} şlüz',
|
||||
'admin.paddleRegions.network.locks.one': '{count} şlüz',
|
||||
'admin.paddleRegions.network.gaps': '{count} birləşdirilmiş boşluq',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} birləşdirilmiş boşluq',
|
||||
'admin.paddleRegions.network.missing': 'Su şəbəkəsi yoxdur',
|
||||
'admin.paddleRegions.network.missingHint': 'Avarçəkmə marşrutunun izlədiyi şəbəkəni qurmaq üçün regionu yenidən oxu.',
|
||||
'admin.paddleRegions.auto.title': 'Regionları avtomatik yüklə',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Avtomatik',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Sorğu ilə',
|
||||
'admin.paddleRegions.auto.mode.off': 'Söndür',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Kimsə hələ su məlumatı olmayan yerdə avarçəkmə turu planlaşdırırsa, TREK ən kiçik uyğun regionu dərhal yükləyir, ölçü həddinə qədər və gündə yalnız bir neçəsini. Daha böyükləri burada sorğu kimi gözləyir. Geofabrik-ə yalnız regionun adı gedir, yer heç vaxt.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Hər yeni region admin icazə verənə qədər burada gözləyir. Admin özü planlaşdıranda dərhal yüklənir.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK özbaşına heç nə yükləmir və heç nə soruşmur. Regionları burada əl ilə əlavə et.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Avtomatik yüklənən ən böyük region',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Daha böyük regionlar burada sorğu kimi gözləyir. Regionun oxunması bir neçə dəqiqə çəkir və bu zaman yaddaş tələb edir.',
|
||||
'admin.paddleRegions.requests.title': 'Sorğulanıb',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Sorğu ilə',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Çox böyük',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Gündəlik hədd',
|
||||
'admin.paddleRegions.requests.declined': 'Rədd edildi',
|
||||
'admin.paddleRegions.requests.by': '{user} tərəfindən',
|
||||
'admin.paddleRegions.requests.approve': 'Yüklə',
|
||||
'admin.paddleRegions.requests.decline': 'Rədd et',
|
||||
'admin.paddleRegions.origin.auto': 'Avtomatik',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK bu regionu orada planlaşdırılan avarçəkmə turu üçün özü yüklədi.',
|
||||
};
|
||||
|
||||
export default admin;
|
||||
|
||||
@@ -67,6 +67,10 @@ const az: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Avarçəkmə regionu sorğulanıb',
|
||||
body: `${p.actor} ${p.region} ərazisində avarçəkmə turu planlaşdırır. Su məlumatını admin bölməsində Əlavələr altında yüklə və ya rədd et.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synology sessiyası təmizləndi',
|
||||
body: 'Synology hesabınız və ya URL-iniz dəyişib. Synology Photos sessiyanız bağlanıb.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "'{backend}' replikasına yazmaq mümkün olmadı: {key} üçün {op} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"'{backend}' replikasına yazmaq mümkün olmadı: {key} üçün {op} — {error}. Son bildirişdən bəri daha {suppressed} xəta üçün bildiriş göstərilmədi.",
|
||||
'notif.paddle_region_requested.title': 'Avarçəkmə regionu sorğulanıb',
|
||||
'notif.paddle_region_requested.text': '{actor} {region} ərazisində avarçəkmə turu planlaşdırır',
|
||||
'notif.action.view_trip': 'Səyahətə bax',
|
||||
'notif.action.view_collab': 'Mesajlara bax',
|
||||
'notif.action.view_packing': 'Çamadan siyahısına bax',
|
||||
|
||||
@@ -137,6 +137,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Webhook bildirişləri',
|
||||
'settings.notifyVersionAvailable': 'Yeni versiya əlçatandır',
|
||||
'settings.notifyReplicaFailure': 'Yaddaş replikası xətası',
|
||||
'settings.notifyPaddleRegionRequested': 'Avarçəkmə regionu sorğulanıb',
|
||||
|
||||
'settings.notificationPreferences.email': 'E-poçt',
|
||||
'settings.notificationPreferences.webhook': 'Webhook',
|
||||
|
||||
@@ -287,8 +287,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': '0,5 ilə 20 km/saat arasında sürət daxil et.',
|
||||
'tours.paddle.chooseBoat': 'Bu avarlı turu yadda saxlamaq üçün qayığı və suyu seç.',
|
||||
'tours.paddle.chooseBoatImport': 'Avarlı tur kimi idxal etmək üçün qayığı və suyu seç.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Avarlı tur əllə çəkilir: TREK nöqtələrini düz xətlərlə birləşdirir. Heç nə marşrutlaşdırılmır və heç nə suyun keçilə bilən olduğunu demir.',
|
||||
'tours.paddle.timeEstimated': 'Avar vaxtı (təxmini)',
|
||||
'tours.paddle.timeEstimatedShort': 'Avarçəkmə',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Avar vaxtı necə təxmin edilir',
|
||||
@@ -331,6 +329,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Daşıma',
|
||||
'tours.paddle.portageOn': 'Qayığı buradan daşı',
|
||||
'tours.paddle.portageOff': 'Bu hissəni yenidən avarla keç',
|
||||
'tours.paddle.portagePending': 'Buradan daşıma',
|
||||
'tours.paddle.portagePendingHint': 'İndi yenidən suya düşəcəyin nöqtəni qoy. Qayıq oraya qədər daşınır.',
|
||||
'tours.paddle.portagePendingOff': 'Daşımadan imtina et',
|
||||
'tours.paddle.portageWay': 'Marşrut',
|
||||
'tours.paddle.portageWay.follow': 'Yolu izlə',
|
||||
'tours.paddle.portageWay.straight': 'Düz xətt',
|
||||
'tours.paddle.portageWay.noWay': 'Böyük dolama olmadan yol tapılmadı, xətt düz qalır.',
|
||||
'tours.paddle.portageWay.searching': 'Yol axtarılır',
|
||||
'tours.paddle.placeHere.putIn': 'Buradan suya düş',
|
||||
'tours.paddle.placeHere.egress': 'Burada sudan çıx',
|
||||
'tours.paddle.portageInfo':
|
||||
'Qayıq burada daşınır. Bu hissə quru yol sayılır, sudan çıxmaq, yükü boşaltmaq və yenidən suya salmaq üçün vaxt da əlavə olunur.',
|
||||
'tours.paddle.portageExtra': 'Çıxış və giriş',
|
||||
@@ -524,5 +532,62 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Avarçəkmənin riskləri var. Suyu, qaydaları və havanı özün yoxla.',
|
||||
'tours.paddle.safety.text':
|
||||
'Avarçəkmə risklərlə bağlıdır. Xəritələr, marşrut təklifləri və qeydlər natamam və ya köhnə ola bilər. Turdan əvvəl cari yerli şəraiti, suyun istifadə qaydalarını və havanı yoxla. Uyğun təhlükəsizlik tədbirləri gör. TREK planlaşdırmana kömək edir, öz yoxlamanı və məsuliyyətli qərarını əvəz etmir.',
|
||||
'tours.planner.shapingPoint': 'Forma nöqtəsi',
|
||||
'tours.planner.shapingHint':
|
||||
'Dayanacaq olmadan marşrutu istiqamətləndirir. Onu marşrutun keçməli olduğu yerə sürüşdür.',
|
||||
'tours.planner.makeStop': 'Dayanacaq et',
|
||||
'tours.planner.makeShaping': 'Forma nöqtəsi et',
|
||||
'tours.planner.recomputeLeg': 'Növbəti hissəni yenidən hesabla',
|
||||
'tours.planner.shapeOnLine': 'Ora forma nöqtəsi əlavə etmək üçün xəritədəki marşruta klik et.',
|
||||
'tours.paddle.routeOnWater': 'Növbəti hissəni su ilə planlaşdır',
|
||||
'tours.paddle.routeAllOnWater': 'Əllə çəkilmiş hissələri su ilə planlaşdır',
|
||||
'tours.paddle.auto': 'Tapıldı',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK bu nöqtəni yolda tapdığı daşıma yerinə və ya şlüzə qoydu. Onu köçürsən və ya dəyişsən, sənin olacaq.',
|
||||
'tours.paddle.note.rapids': 'Sürətli su {grade}',
|
||||
'tours.paddle.note.pass': 'Qayıq keçidi',
|
||||
'tours.paddle.note.gap': 'Xəritə məlumatlarında boşluq',
|
||||
'tours.paddle.note.rapidsHint': 'Marşrut burada axar sudan keçir. Əvvəlcə yerə bax, şübhə olsa qayığı daşı.',
|
||||
'tours.paddle.note.gapHint': 'Su məlumatlarında burada boşluq var, düz xətlə birləşdirilib. Yerində yoxla.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Bu hissənin bir ucu TREK-in bildiyi heç bir suyun üzərində deyil. Onu çaya və ya gölə köçür.',
|
||||
'tours.paddle.failed.no_region': 'Bu ərazi üçün hələ su məlumatı yoxdur. Administrator regionu əlavə edə bilər.',
|
||||
'tours.paddle.failed.building':
|
||||
'Bu regionun su məlumatları hələ hazırlanır. Bir neçə dəqiqədən sonra yenidən cəhd et.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK bu nöqtələr arasında su ilə yol tapmadı.',
|
||||
'tours.paddle.failed.cross_region': 'Bu nöqtələr ortaq su məlumatı olmayan iki regiondadır.',
|
||||
'tours.paddle.failed.busy': 'Marşrut planlayıcısı məşğuldur. Bir azdan yenidən cəhd et.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Bu hissənin planlaşdırılması çox uzun çəkdi. Arada nöqtə əlavə et və yenidən cəhd et.',
|
||||
'tours.paddle.failed.offline': 'Bağlantı yoxdur. Bu hissə yenidən qoşulduqda planlaşdırılacaq.',
|
||||
'tours.paddle.drawStraight': 'Düz çək',
|
||||
'tours.paddle.retry': 'Yenidən cəhd et',
|
||||
'tours.paddle.load.loading': '{region} üçün su məlumatı yüklənir',
|
||||
'tours.paddle.load.ready': '{region} üçün su məlumatı hazırdır, hissə planlaşdırılır.',
|
||||
'tours.paddle.load.requested': '{region} üçün su məlumatı sorğulanıb. Admin icazə verən kimi hissə planlaşdırılacaq.',
|
||||
'tours.paddle.load.waiting': 'Digər regionları gözləyir',
|
||||
'tours.paddle.load.phase.download': 'Endirilir',
|
||||
'tours.paddle.load.phase.read': 'Oxunur',
|
||||
'tours.paddle.load.phase.build': 'Su şəbəkəsi qurulur',
|
||||
'tours.paddle.load.hint': 'Adətən bir-üç dəqiqə. Planlaşdırmağa davam et, hissə sonra özü planlaşdırılacaq.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Region TREK-in özbaşına yüklədiyindən böyükdür.',
|
||||
'tours.paddle.load.reason.limit': 'TREK bu gün artıq kifayət qədər regionu özü yükləyib.',
|
||||
'tours.paddle.load.declined': 'Admin {region} üçün su məlumatını rədd etdi.',
|
||||
'tours.paddle.load.failed': '{region} üçün su məlumatı yüklənə bilmədi.',
|
||||
'tours.paddle.load.noWater': '{region} üçün su məlumatında burada su yoxdur. Nöqtəni çaya və ya gölə qoy.',
|
||||
'tours.paddle.load.noExtract': 'Bu ərazi üçün su məlumatı olan xəritə çıxarışı yoxdur.',
|
||||
'tours.paddle.load.catalogUnavailable': 'Regionların siyahısına hazırda çatmaq olmur. Sonra yenidən cəhd et.',
|
||||
'tours.paddle.lakeStyle': 'Göllərdə',
|
||||
'tours.paddle.lakeStyle.direct': 'Düz keçid',
|
||||
'tours.paddle.lakeStyle.shore': 'Sahilə yaxın',
|
||||
'tours.paddle.lakeStyle.directHint': 'Açıq suda ən qısa xətt.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Sahilə yaxın qalır, küləkli günlər üçün: daha uzun, amma quru heç vaxt uzaq deyil.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Bu gün {mean} km/saata qədər, ani əsmələr {gusts} km/saat. Göllərdə sahilə yaxın qalmaq daha yaxşı ola bilər.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Sahilə yaxın planlaşdır',
|
||||
'tours.paddle.wind.shoreTaken': 'Göllər sahilə yaxın planlaşdırılıb.',
|
||||
'tours.paddle.status.unrouted': '{count} hissə planlaşdırılmayıb',
|
||||
'tours.paddle.status.unrouted.one': '{count} hissə planlaşdırılmayıb',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -883,5 +883,42 @@ const admin: TranslationStrings = {
|
||||
'Dados © colaboradores do OpenStreetMap (ODbL), extratos regionais do Geofabrik. Lidos de novo no dia 3 de cada mês.',
|
||||
'admin.paddleRegions.toast.added': 'Região adicionada. O TREK a lê em segundo plano.',
|
||||
'admin.paddleRegions.toast.removed': 'Região removida',
|
||||
'admin.paddleRegions.phase.build': 'Construindo a rede de água',
|
||||
'admin.paddleRegions.network.km': '{km} km de água',
|
||||
'admin.paddleRegions.network.lakes': '{count} lagos',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} lago',
|
||||
'admin.paddleRegions.network.portages': '{count} varadouros mapeados',
|
||||
'admin.paddleRegions.network.portages.one': '{count} varadouro mapeado',
|
||||
'admin.paddleRegions.network.inferred': '{count} varadouros presumidos',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} varadouro presumido',
|
||||
'admin.paddleRegions.network.locks': '{count} eclusas',
|
||||
'admin.paddleRegions.network.locks.one': '{count} eclusa',
|
||||
'admin.paddleRegions.network.gaps': '{count} lacunas cobertas',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} lacuna coberta',
|
||||
'admin.paddleRegions.network.missing': 'Sem rede de água',
|
||||
'admin.paddleRegions.network.missingHint': 'Leia a região novamente para construir a rede que a rota de remo segue.',
|
||||
'admin.paddleRegions.auto.title': 'Carregar regiões automaticamente',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automático',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Sob pedido',
|
||||
'admin.paddleRegions.auto.mode.off': 'Desligado',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Quando alguém planeja um passeio de remo onde ainda não há dados de água, o TREK carrega na hora a menor região que serve, até o limite de tamanho e só algumas por dia. As maiores esperam aqui como pedido. Só o nome da região vai para a Geofabrik, nunca o lugar.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Toda região nova espera aqui até um admin liberar. Quando um admin planeja, ela carrega na hora.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'O TREK não carrega nada sozinho e não pede nada. Adicione regiões aqui manualmente.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Maior região carregada automaticamente',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Regiões maiores esperam aqui como pedido. Ler uma região leva alguns minutos e usa memória enquanto roda.',
|
||||
'admin.paddleRegions.requests.title': 'Pedidas',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Sob pedido',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Grande demais',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Limite diário',
|
||||
'admin.paddleRegions.requests.declined': 'Recusada',
|
||||
'admin.paddleRegions.requests.by': 'por {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Carregar',
|
||||
'admin.paddleRegions.requests.decline': 'Recusar',
|
||||
'admin.paddleRegions.origin.auto': 'Automático',
|
||||
'admin.paddleRegions.origin.autoHint': 'O TREK carregou esta região sozinho para um passeio de remo planejado ali.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -70,6 +70,10 @@ const br: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Região de remo pedida',
|
||||
body: `${p.actor} está planejando um passeio de remo em ${p.region}. Carregue ou recuse os dados de água na administração, em Complementos.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Sessão Synology encerrada',
|
||||
body: 'Sua conta ou URL do Synology foi alterada. Você foi desconectado do Synology Photos.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Falha ao gravar na réplica '{backend}': {op} de {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Falha ao gravar na réplica '{backend}': {op} de {key} — {error}. Mais {suppressed} falha(s) foram suprimidas desde a última notificação.",
|
||||
'notif.paddle_region_requested.title': 'Região de remo pedida',
|
||||
'notif.paddle_region_requested.text': '{actor} está planejando um passeio de remo em {region}',
|
||||
'notif.action.view_trip': 'Ver viagem',
|
||||
'notif.action.view_collab': 'Ver mensagens',
|
||||
'notif.action.view_packing': 'Ver bagagem',
|
||||
|
||||
@@ -299,6 +299,7 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint': 'Mostra nomes de estações / aeroportos no mapa. Desativado, apenas o ícone aparece.',
|
||||
'settings.notifyVersionAvailable': 'Nova versão disponível',
|
||||
'settings.notifyReplicaFailure': 'Falha na réplica de armazenamento',
|
||||
'settings.notifyPaddleRegionRequested': 'Região de remo pedida',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'Nenhum canal de notificação configurado. Peça a um administrador para configurar notificações por e-mail ou webhook.',
|
||||
'settings.webhookUrl.label': 'URL do webhook',
|
||||
|
||||
@@ -293,8 +293,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Informe uma velocidade de 0,5 a 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Escolha a embarcação e a água para salvar este passeio.',
|
||||
'tours.paddle.chooseBoatImport': 'Escolha a embarcação e a água para importar como passeio de remo.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Um passeio de remo é desenhado à mão: o TREK liga seus pontos com linhas retas. Nada é roteado, e nada diz que a água é navegável.',
|
||||
'tours.paddle.timeEstimated': 'Tempo de remada (estimado)',
|
||||
'tours.paddle.timeEstimatedShort': 'Remada',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Como o tempo de remada é estimado',
|
||||
@@ -337,6 +335,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Transbordo',
|
||||
'tours.paddle.portageOn': 'Carregar o barco a partir daqui',
|
||||
'tours.paddle.portageOff': 'Remar este trecho de novo',
|
||||
'tours.paddle.portagePending': 'Carregar a partir daqui',
|
||||
'tours.paddle.portagePendingHint': 'Agora marque o ponto onde você volta para a água. O barco é carregado até lá.',
|
||||
'tours.paddle.portagePendingOff': 'Não carregar mais',
|
||||
'tours.paddle.portageWay': 'Trajeto',
|
||||
'tours.paddle.portageWay.follow': 'Seguir o caminho',
|
||||
'tours.paddle.portageWay.straight': 'Linha reta',
|
||||
'tours.paddle.portageWay.noWay': 'Nenhum caminho sem um grande desvio, a linha continua reta.',
|
||||
'tours.paddle.portageWay.searching': 'Procurando um caminho',
|
||||
'tours.paddle.placeHere.putIn': 'Entrar na água aqui',
|
||||
'tours.paddle.placeHere.egress': 'Sair da água aqui',
|
||||
'tours.paddle.portageInfo':
|
||||
'Aqui o barco é carregado. O trecho conta como terra, com tempo para desembarcar, descarregar e embarcar de novo.',
|
||||
'tours.paddle.portageExtra': 'Saída e entrada',
|
||||
@@ -533,5 +541,65 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Remar tem riscos. Confira você mesmo a água, as regras e a previsão do tempo.',
|
||||
'tours.paddle.safety.text':
|
||||
'Remar envolve riscos. Mapas, sugestões de rota e indicações podem estar incompletos ou desatualizados. Antes do passeio, confira as condições locais atuais, as regras de navegação dessas águas e a previsão do tempo. Tome medidas de segurança adequadas. O TREK apoia o seu planejamento e não substitui a sua própria verificação nem a sua decisão responsável.',
|
||||
'tours.planner.shapingPoint': 'Ponto de forma',
|
||||
'tours.planner.shapingHint': 'Orienta a rota sem ser uma parada. Arraste-o para onde a rota deve passar.',
|
||||
'tours.planner.makeStop': 'Tornar uma parada',
|
||||
'tours.planner.makeShaping': 'Tornar um ponto de forma',
|
||||
'tours.planner.recomputeLeg': 'Recalcular o próximo trecho',
|
||||
'tours.planner.shapeOnLine': 'Clique na rota no mapa para adicionar ali um ponto de forma.',
|
||||
'tours.paddle.routeOnWater': 'Planejar o próximo trecho pela água',
|
||||
'tours.paddle.routeAllOnWater': 'Planejar pela água os trechos desenhados à mão',
|
||||
'tours.paddle.auto': 'Detectado',
|
||||
'tours.paddle.autoHint':
|
||||
'O TREK colocou este ponto num varadouro ou eclusa que encontrou no caminho. Se você movê-lo ou alterá-lo, ele passa a ser seu.',
|
||||
'tours.paddle.note.rapids': 'Corredeira {grade}',
|
||||
'tours.paddle.note.pass': 'Passagem para canoas',
|
||||
'tours.paddle.note.gap': 'Lacuna nos dados do mapa',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'A rota passa aqui por águas agitadas. Observe antes e carregue o barco em caso de dúvida.',
|
||||
'tours.paddle.note.gapHint': 'Os dados da água têm uma lacuna aqui, coberta por uma linha reta. Confira no local.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Uma ponta deste trecho não está em nenhuma água que o TREK conheça. Mova-a para o rio ou o lago.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Ainda não há dados de água para esta área. Um administrador pode adicionar a região.',
|
||||
'tours.paddle.failed.building':
|
||||
'Os dados de água desta região ainda estão sendo preparados. Tente novamente em alguns minutos.',
|
||||
'tours.paddle.failed.no_water_path': 'O TREK não encontrou caminho pela água entre estes pontos.',
|
||||
'tours.paddle.failed.cross_region': 'Estes pontos ficam em duas regiões sem dados de água em comum.',
|
||||
'tours.paddle.failed.busy': 'O planejador de rotas está ocupado. Tente novamente em instantes.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Planejar este trecho demorou demais. Adicione um ponto intermediário e tente novamente.',
|
||||
'tours.paddle.failed.offline': 'Sem conexão. Este trecho será planejado quando você se conectar novamente.',
|
||||
'tours.paddle.drawStraight': 'Desenhar reto',
|
||||
'tours.paddle.retry': 'Tentar novamente',
|
||||
'tours.paddle.load.loading': 'Carregando os dados de água de {region}',
|
||||
'tours.paddle.load.ready': 'Os dados de água de {region} chegaram, planejando o trecho.',
|
||||
'tours.paddle.load.requested':
|
||||
'Os dados de água de {region} foram pedidos. O trecho é planejado assim que um admin liberar.',
|
||||
'tours.paddle.load.waiting': 'Esperando outras regiões',
|
||||
'tours.paddle.load.phase.download': 'Baixando',
|
||||
'tours.paddle.load.phase.read': 'Lendo',
|
||||
'tours.paddle.load.phase.build': 'Montando a rede de água',
|
||||
'tours.paddle.load.hint':
|
||||
'Normalmente de um a três minutos. Continue planejando, o trecho é planejado sozinho depois.',
|
||||
'tours.paddle.load.reason.tooLarge': 'A região é maior do que o TREK carrega sozinho.',
|
||||
'tours.paddle.load.reason.limit': 'O TREK já carregou regiões suficientes sozinho hoje.',
|
||||
'tours.paddle.load.declined': 'Um admin recusou os dados de água de {region}.',
|
||||
'tours.paddle.load.failed': 'Não foi possível carregar os dados de água de {region}.',
|
||||
'tours.paddle.load.noWater': 'Os dados de água de {region} não têm água aqui. Coloque o ponto no rio ou lago.',
|
||||
'tours.paddle.load.noExtract': 'Não há recorte de mapa com dados de água para esta área.',
|
||||
'tours.paddle.load.catalogUnavailable': 'A lista de regiões não está acessível agora. Tente de novo mais tarde.',
|
||||
'tours.paddle.lakeStyle': 'Nos lagos',
|
||||
'tours.paddle.lakeStyle.direct': 'Em linha reta',
|
||||
'tours.paddle.lakeStyle.shore': 'Perto da margem',
|
||||
'tours.paddle.lakeStyle.directHint': 'A linha mais curta em águas abertas.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Fica perto da margem, para dias de vento: mais longo, mas a terra nunca fica longe.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Até {mean} km/h, rajadas de {gusts} km/h neste dia. Nos lagos, ficar perto da margem pode ser a melhor linha.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Planejar perto da margem',
|
||||
'tours.paddle.wind.shoreTaken': 'Os lagos estão planejados perto da margem.',
|
||||
'tours.paddle.status.unrouted': '{count} trechos não planejados',
|
||||
'tours.paddle.status.unrouted.one': '{count} trecho não planejado',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -896,5 +896,44 @@ const admin: TranslationStrings = {
|
||||
'Dades © col·laboradors d’OpenStreetMap (ODbL), extractes regionals de Geofabrik. Es tornen a llegir el dia 3 de cada mes.',
|
||||
'admin.paddleRegions.toast.added': 'Regió afegida. TREK la llegeix en segon pla.',
|
||||
'admin.paddleRegions.toast.removed': 'Regió eliminada',
|
||||
'admin.paddleRegions.phase.build': 'Construint la xarxa d’aigua',
|
||||
'admin.paddleRegions.network.km': '{km} km d’aigua',
|
||||
'admin.paddleRegions.network.lakes': '{count} llacs',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} llac',
|
||||
'admin.paddleRegions.network.portages': '{count} transports cartografiats',
|
||||
'admin.paddleRegions.network.portages.one': '{count} transport cartografiat',
|
||||
'admin.paddleRegions.network.inferred': '{count} transports suposats',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} transport suposat',
|
||||
'admin.paddleRegions.network.locks': '{count} rescloses',
|
||||
'admin.paddleRegions.network.locks.one': '{count} resclosa',
|
||||
'admin.paddleRegions.network.gaps': '{count} buits salvats',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} buit salvat',
|
||||
'admin.paddleRegions.network.missing': 'Sense xarxa d’aigua',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Torna a llegir la regió per construir la xarxa que segueix la ruta en caiac.',
|
||||
'admin.paddleRegions.auto.title': 'Carregar regions automàticament',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automàtic',
|
||||
'admin.paddleRegions.auto.mode.ask': 'A petició',
|
||||
'admin.paddleRegions.auto.mode.off': 'Desactivat',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
"Quan algú planifica una ruta en caiac on encara no hi ha dades d'aigua, TREK carrega de seguida la regió més petita que hi encaixa, fins al límit de mida i només unes poques al dia. Les més grans esperen aquí com a petició. Només el nom de la regió va a Geofabrik, mai el lloc.",
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Cada regió nova espera aquí fins que un administrador la deixa passar. Quan planifica un administrador, es carrega de seguida.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK no carrega res pel seu compte ni demana res. Afegeix les regions aquí a mà.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Regió més gran que es carrega automàticament',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Les regions més grans esperen aquí com a petició. Llegir una regió triga uns minuts i ocupa memòria mentre dura.',
|
||||
'admin.paddleRegions.requests.title': 'Demanades',
|
||||
'admin.paddleRegions.requests.reason.ask': 'A petició',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Massa gran',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Límit diari',
|
||||
'admin.paddleRegions.requests.declined': 'Rebutjada',
|
||||
'admin.paddleRegions.requests.by': 'de {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Carregar',
|
||||
'admin.paddleRegions.requests.decline': 'Rebutjar',
|
||||
'admin.paddleRegions.origin.auto': 'Automàtic',
|
||||
'admin.paddleRegions.origin.autoHint':
|
||||
'TREK ha carregat aquesta regió pel seu compte per a una ruta en caiac planificada allà.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -63,6 +63,10 @@ const ca: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Regió de caiac demanada',
|
||||
body: `${p.actor} planifica una ruta en caiac a ${p.region}. Carrega o rebutja les seves dades d'aigua a l'administració, a Complements.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Sessió de Synology tancada',
|
||||
body: 'El teu compte o URL de Synology ha canviat. Has tancat la sessió a Synology Photos.',
|
||||
|
||||
@@ -30,6 +30,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "L'escriptura a la rèplica '{backend}' ha fallat: {op} de {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"L'escriptura a la rèplica '{backend}' ha fallat: {op} de {key} — {error}. S'han suprimit {suppressed} errors més des de l'última notificació.",
|
||||
'notif.paddle_region_requested.title': 'Regió de caiac demanada',
|
||||
'notif.paddle_region_requested.text': '{actor} planifica una ruta en caiac a {region}',
|
||||
'notif.action.view_trip': 'Mostra el viatge',
|
||||
'notif.action.view_collab': 'Mostra els missatges',
|
||||
'notif.action.view_packing': "Mostra l'equipatge",
|
||||
|
||||
@@ -283,6 +283,7 @@ const settings: TranslationStrings = {
|
||||
'settings.passwordRule.special': 'Un caràcter especial',
|
||||
'settings.notifyVersionAvailable': 'Versió nova disponible',
|
||||
'settings.notifyReplicaFailure': "Error de rèplica d'emmagatzematge",
|
||||
'settings.notifyPaddleRegionRequested': 'Regió de caiac demanada',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'No hi ha canals de notificació configurats. Demana a un administrador que configuri notificacions per correu o webhook.',
|
||||
'settings.webhookUrl.label': 'URL del webhook',
|
||||
|
||||
@@ -293,8 +293,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Introdueix una velocitat de 0,5 a 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Tria l’embarcació i l’aigua per desar aquesta ruta.',
|
||||
'tours.paddle.chooseBoatImport': 'Tria l’embarcació i l’aigua per importar com a ruta en piragua.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Una ruta en piragua es dibuixa a mà: TREK uneix els punts amb línies rectes. No es calcula res i res no diu que l’aigua sigui navegable.',
|
||||
'tours.paddle.timeEstimated': 'Temps de rem (estimat)',
|
||||
'tours.paddle.timeEstimatedShort': 'Rem',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Com s’estima el temps de rem',
|
||||
@@ -337,6 +335,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Transport per terra',
|
||||
'tours.paddle.portageOn': 'Porta l’embarcació per terra des d’aquí',
|
||||
'tours.paddle.portageOff': 'Torna a remar aquest tram',
|
||||
'tours.paddle.portagePending': "Portejar des d'aquí",
|
||||
'tours.paddle.portagePendingHint': "Ara posa el punt on tornes a entrar a l'aigua. La barca es porta fins allà.",
|
||||
'tours.paddle.portagePendingOff': 'Al final no portejar',
|
||||
'tours.paddle.portageWay': 'Traçat',
|
||||
'tours.paddle.portageWay.follow': 'Seguir el camí',
|
||||
'tours.paddle.portageWay.straight': 'Línia recta',
|
||||
'tours.paddle.portageWay.noWay': 'No hi ha cap camí sense una gran volta, la línia es queda recta.',
|
||||
'tours.paddle.portageWay.searching': 'Cercant un camí',
|
||||
'tours.paddle.placeHere.putIn': "Entrar a l'aigua aquí",
|
||||
'tours.paddle.placeHere.egress': "Sortir de l'aigua aquí",
|
||||
'tours.paddle.portageInfo':
|
||||
'Aquí l’embarcació es porta per terra. El tram compta com a terra, amb temps per sortir, descarregar i tornar a embarcar.',
|
||||
'tours.paddle.portageExtra': 'Sortida i entrada',
|
||||
@@ -533,5 +541,66 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Remar comporta riscos. Comprova pel teu compte l’aigua, les normes i la meteorologia.',
|
||||
'tours.paddle.safety.text':
|
||||
'Remar comporta riscos. Els mapes, les propostes de ruta i les indicacions poden ser incomplets o estar desactualitzats. Abans de l’excursió, comprova les condicions locals actuals, les normes de navegació d’aquestes aigües i la meteorologia. Pren les mesures de seguretat adequades. TREK dona suport a la teva planificació i no substitueix la teva pròpia comprovació ni la teva decisió responsable.',
|
||||
'tours.planner.shapingPoint': 'Punt de forma',
|
||||
'tours.planner.shapingHint': 'Guia la ruta sense ser una parada. Arrossega’l on ha de passar la ruta.',
|
||||
'tours.planner.makeStop': 'Converteix-lo en parada',
|
||||
'tours.planner.makeShaping': 'Converteix-lo en punt de forma',
|
||||
'tours.planner.recomputeLeg': 'Torna a calcular el tram següent',
|
||||
'tours.planner.shapeOnLine': 'Fes clic a la ruta del mapa per afegir-hi un punt de forma.',
|
||||
'tours.paddle.routeOnWater': 'Planifica el tram següent per l’aigua',
|
||||
'tours.paddle.routeAllOnWater': 'Planifica per l’aigua els trams dibuixats a mà',
|
||||
'tours.paddle.auto': 'Detectat',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK ha posat aquest punt en un transport o una resclosa que ha trobat pel camí. Si el mous o el canvies, passa a ser teu.',
|
||||
'tours.paddle.note.rapids': 'Aigües braves {grade}',
|
||||
'tours.paddle.note.pass': 'Pas per a canoes',
|
||||
'tours.paddle.note.gap': 'Buit a les dades del mapa',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Aquí la ruta passa per aigua moguda. Explora-la abans i porta la barca si tens dubtes.',
|
||||
'tours.paddle.note.gapHint':
|
||||
'Les dades de l’aigua tenen un buit aquí, salvat amb una línia recta. Comprova-ho al lloc.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Un extrem d’aquest tram no és en cap aigua que TREK conegui. Mou-lo al riu o al llac.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Encara no hi ha dades d’aigua per a aquesta zona. Un administrador pot afegir la regió.',
|
||||
'tours.paddle.failed.building':
|
||||
'Les dades d’aigua d’aquesta regió encara s’estan preparant. Torna-ho a provar d’aquí a uns minuts.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK no ha trobat cap camí per l’aigua entre aquests punts.',
|
||||
'tours.paddle.failed.cross_region': 'Aquests punts són en dues regions que no comparteixen dades d’aigua.',
|
||||
'tours.paddle.failed.busy': 'El planificador de rutes està ocupat. Torna-ho a provar d’aquí a un moment.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Planificar aquest tram ha trigat massa. Afegeix un punt entremig i torna-ho a provar.',
|
||||
'tours.paddle.failed.offline': 'Sense connexió. Aquest tram es planificarà quan tornis a estar connectat.',
|
||||
'tours.paddle.drawStraight': 'Dibuixa recte',
|
||||
'tours.paddle.retry': 'Torna-ho a provar',
|
||||
'tours.paddle.load.loading': "Carregant les dades d'aigua de {region}",
|
||||
'tours.paddle.load.ready': "Les dades d'aigua de {region} ja hi són, es planifica el tram.",
|
||||
'tours.paddle.load.requested':
|
||||
"S'han demanat les dades d'aigua de {region}. El tram es planificarà tan aviat com un administrador les deixi passar.",
|
||||
'tours.paddle.load.waiting': 'Esperant altres regions',
|
||||
'tours.paddle.load.phase.download': 'Baixant',
|
||||
'tours.paddle.load.phase.read': 'Llegint',
|
||||
'tours.paddle.load.phase.build': "Construint la xarxa d'aigua",
|
||||
'tours.paddle.load.hint': "Normalment d'un a tres minuts. Continua planificant, el tram es planificarà sol després.",
|
||||
'tours.paddle.load.reason.tooLarge': 'La regió és més gran del que TREK carrega pel seu compte.',
|
||||
'tours.paddle.load.reason.limit': 'Avui TREK ja ha carregat prou regions pel seu compte.',
|
||||
'tours.paddle.load.declined': "Un administrador ha rebutjat les dades d'aigua de {region}.",
|
||||
'tours.paddle.load.failed': "No s'han pogut carregar les dades d'aigua de {region}.",
|
||||
'tours.paddle.load.noWater': "A les dades d'aigua de {region} aquí no hi ha aigua. Posa el punt al riu o al llac.",
|
||||
'tours.paddle.load.noExtract': "No hi ha cap extracte de mapa amb dades d'aigua per a aquesta zona.",
|
||||
'tours.paddle.load.catalogUnavailable':
|
||||
'Ara mateix no es pot accedir a la llista de regions. Torna-ho a provar més tard.',
|
||||
'tours.paddle.lakeStyle': 'Pels llacs',
|
||||
'tours.paddle.lakeStyle.direct': 'En línia recta',
|
||||
'tours.paddle.lakeStyle.shore': 'A prop de la riba',
|
||||
'tours.paddle.lakeStyle.directHint': 'La línia més curta per aigües obertes.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Es manté a prop de la riba, per als dies de vent: més llarg, però la terra mai és lluny.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Fins a {mean} km/h, ràfegues de {gusts} km/h aquest dia. Als llacs, anar a prop de la riba pot ser la millor línia.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Planifica a prop de la riba',
|
||||
'tours.paddle.wind.shoreTaken': 'Els llacs estan planificats a prop de la riba.',
|
||||
'tours.paddle.status.unrouted': '{count} trams sense planificar',
|
||||
'tours.paddle.status.unrouted.one': '{count} tram sense planificar',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -889,5 +889,46 @@ const admin: TranslationStrings = {
|
||||
'admin.paddleRegions.toast.added': 'Region přidán. TREK ho načítá na pozadí.',
|
||||
'admin.paddleRegions.toast.removed': 'Region odstraněn',
|
||||
'admin.paddleRegions.objects.few': '{count} objekty',
|
||||
'admin.paddleRegions.phase.build': 'Vytváření vodní sítě',
|
||||
'admin.paddleRegions.network.km': '{km} km vody',
|
||||
'admin.paddleRegions.network.lakes': '{count} jezer',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} jezero',
|
||||
'admin.paddleRegions.network.lakes.few': '{count} jezera',
|
||||
'admin.paddleRegions.network.portages': '{count} zmapovaných přenášek',
|
||||
'admin.paddleRegions.network.portages.one': '{count} zmapovaná přenáška',
|
||||
'admin.paddleRegions.network.portages.few': '{count} zmapované přenášky',
|
||||
'admin.paddleRegions.network.inferred': '{count} předpokládaných přenesení',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} předpokládané přenesení',
|
||||
'admin.paddleRegions.network.inferred.few': '{count} předpokládaná přenesení',
|
||||
'admin.paddleRegions.network.locks': '{count} zdymadel',
|
||||
'admin.paddleRegions.network.locks.one': '{count} zdymadlo',
|
||||
'admin.paddleRegions.network.locks.few': '{count} zdymadla',
|
||||
'admin.paddleRegions.network.gaps': '{count} překlenutých mezer',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} překlenutá mezera',
|
||||
'admin.paddleRegions.network.gaps.few': '{count} překlenuté mezery',
|
||||
'admin.paddleRegions.network.missing': 'Žádná vodní síť',
|
||||
'admin.paddleRegions.network.missingHint': 'Načti region znovu, aby se vytvořila síť, po které vede vodácká trasa.',
|
||||
'admin.paddleRegions.auto.title': 'Načítat regiony automaticky',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automaticky',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Na žádost',
|
||||
'admin.paddleRegions.auto.mode.off': 'Vypnuto',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Když někdo plánuje vodáckou trasu tam, kde ještě nejsou vodní data, TREK hned načte nejmenší vhodný region, do limitu velikosti a jen několik za den. Větší čekají tady jako žádost. Geofabrik dostane jen název regionu, nikdy místo.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Každý nový region čeká tady, dokud ho správce nepustí. Když plánuje správce sám, načte se hned.',
|
||||
'admin.paddleRegions.auto.modeHint.off': 'TREK nic nenačítá sám a na nic se neptá. Regiony přidávej tady ručně.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Největší region načítaný automaticky',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Větší regiony čekají tady jako žádost. Načtení regionu trvá pár minut a mezitím zabírá paměť.',
|
||||
'admin.paddleRegions.requests.title': 'Vyžádané',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Na žádost',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Příliš velký',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Denní limit',
|
||||
'admin.paddleRegions.requests.declined': 'Zamítnuto',
|
||||
'admin.paddleRegions.requests.by': 'od {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Načíst',
|
||||
'admin.paddleRegions.requests.decline': 'Zamítnout',
|
||||
'admin.paddleRegions.origin.auto': 'Automaticky',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK tento region načetl sám pro vodáckou trasu, která se tam plánuje.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -73,6 +73,10 @@ const cs: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Vyžádán vodácký region',
|
||||
body: `${p.actor} plánuje vodáckou trasu v regionu ${p.region}. Načti nebo zamítni jeho vodní data v administraci v části Doplňky.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Relace Synology byla zrušena',
|
||||
body: 'Váš účet nebo URL Synology se změnil. Byli jste odhlášeni ze Synology Photos.',
|
||||
|
||||
@@ -33,6 +33,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Zápis do repliky '{backend}' selhal: {op} u {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Zápis do repliky '{backend}' selhal: {op} u {key} — {error}. Od poslední notifikace bylo potlačeno {suppressed} dalších selhání.",
|
||||
'notif.paddle_region_requested.title': 'Vyžádán vodácký region',
|
||||
'notif.paddle_region_requested.text': '{actor} plánuje vodáckou trasu v regionu {region}',
|
||||
'notif.action.view_trip': 'Zobrazit výlet',
|
||||
'notif.action.view_collab': 'Zobrazit zprávy',
|
||||
'notif.action.view_packing': 'Zobrazit balení',
|
||||
|
||||
@@ -294,6 +294,7 @@ const settings: TranslationStrings = {
|
||||
'settings.mustChangePassword': 'Před pokračováním musíte změnit heslo.',
|
||||
'settings.notifyVersionAvailable': 'Nová verze k dispozici',
|
||||
'settings.notifyReplicaFailure': 'Selhání repliky úložiště',
|
||||
'settings.notifyPaddleRegionRequested': 'Vyžádán vodácký region',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'Nejsou nakonfigurovány žádné kanály oznámení. Požádejte správce o nastavení e-mailových nebo webhook oznámení.',
|
||||
'settings.webhookUrl.label': 'URL webhooku',
|
||||
|
||||
@@ -287,8 +287,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Zadejte rychlost od 0,5 do 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Vyberte loď a vodu, abyste mohli tuto túru uložit.',
|
||||
'tours.paddle.chooseBoatImport': 'Vyberte loď a vodu pro import jako vodácké túry.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Vodácká túra se kreslí ručně: TREK spojí vaše body přímými čarami. Nic se nepočítá a nic neříká, že je voda sjízdná.',
|
||||
'tours.paddle.timeEstimated': 'Čas na vodě (odhad)',
|
||||
'tours.paddle.timeEstimatedShort': 'Pádlování',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Jak se odhaduje čas na vodě',
|
||||
@@ -334,6 +332,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Přenáška',
|
||||
'tours.paddle.portageOn': 'Odtud loď přenášet',
|
||||
'tours.paddle.portageOff': 'Tento úsek opět pádlovat',
|
||||
'tours.paddle.portagePending': 'Odsud přenášet',
|
||||
'tours.paddle.portagePendingHint': 'Teď nastav bod, kde se znovu nalodíš. Loď se přenáší až tam.',
|
||||
'tours.paddle.portagePendingOff': 'Nakonec nepřenášet',
|
||||
'tours.paddle.portageWay': 'Průběh',
|
||||
'tours.paddle.portageWay.follow': 'Sledovat cestu',
|
||||
'tours.paddle.portageWay.straight': 'Přímá čára',
|
||||
'tours.paddle.portageWay.noWay': 'Žádná cesta bez velké zajížďky, čára zůstává přímá.',
|
||||
'tours.paddle.portageWay.searching': 'Hledá se cesta',
|
||||
'tours.paddle.placeHere.putIn': 'Tady se nalodit',
|
||||
'tours.paddle.placeHere.egress': 'Tady vystoupit',
|
||||
'tours.paddle.portageInfo':
|
||||
'Loď se tu přenáší. Úsek se počítá jako souš, včetně času na vystoupení, vyložení a opětovné spuštění na vodu.',
|
||||
'tours.paddle.portageExtra': 'Výstup a nástup',
|
||||
@@ -533,5 +541,60 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.obstacles.covered.few':
|
||||
'{count} překážky a přístupová místa podél trasy z OpenStreetMap, stav k {date}. Údaje mohou být neúplné, situaci na vodě si ověřte sami.',
|
||||
'tours.paddle.time.locksMissing.few': '{count} zdymadla ještě nemají zadané časy.',
|
||||
'tours.planner.shapingPoint': 'Tvarový bod',
|
||||
'tours.planner.shapingHint': 'Usměrňuje trasu, aniž by byl zastávkou. Přetáhni ho tam, kudy má trasa vést.',
|
||||
'tours.planner.makeStop': 'Udělat zastávkou',
|
||||
'tours.planner.makeShaping': 'Udělat tvarovým bodem',
|
||||
'tours.planner.recomputeLeg': 'Znovu vypočítat další úsek',
|
||||
'tours.planner.shapeOnLine': 'Kliknutím na trasu v mapě tam přidáš tvarový bod.',
|
||||
'tours.paddle.routeOnWater': 'Naplánovat další úsek po vodě',
|
||||
'tours.paddle.routeAllOnWater': 'Naplánovat ručně kreslené úseky po vodě',
|
||||
'tours.paddle.auto': 'Nalezeno',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK umístil tento bod k přenášce nebo zdymadlu, které našel po cestě. Když ho přesuneš nebo změníš, bude tvůj.',
|
||||
'tours.paddle.note.rapids': 'Divoká voda {grade}',
|
||||
'tours.paddle.note.pass': 'Vodácká propust',
|
||||
'tours.paddle.note.gap': 'Mezera v mapových datech',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Trasa zde vede proudící vodou. Nejdřív si místo prohlédni a v případě pochybností přenášej.',
|
||||
'tours.paddle.note.gapHint': 'Data o vodě tu mají mezeru, překlenutou přímou čarou. Ověř si to na místě.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Jeden konec tohoto úseku neleží na žádné vodě, kterou TREK zná. Přesuň ho na řeku nebo jezero.',
|
||||
'tours.paddle.failed.no_region': 'Pro tuto oblast zatím nejsou data o vodě. Administrátor může region přidat.',
|
||||
'tours.paddle.failed.building': 'Data o vodě pro tento region se ještě připravují. Zkus to znovu za pár minut.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK mezi těmito body nenašel cestu po vodě.',
|
||||
'tours.paddle.failed.cross_region': 'Tyto body leží ve dvou regionech bez společných dat o vodě.',
|
||||
'tours.paddle.failed.busy': 'Plánovač tras je vytížený. Zkus to za chvíli znovu.',
|
||||
'tours.paddle.failed.timeout': 'Plánování tohoto úseku trvalo příliš dlouho. Přidej mezi ně bod a zkus to znovu.',
|
||||
'tours.paddle.failed.offline': 'Bez připojení. Úsek se naplánuje, jakmile budeš znovu připojen.',
|
||||
'tours.paddle.drawStraight': 'Nakreslit rovně',
|
||||
'tours.paddle.retry': 'Zkusit znovu',
|
||||
'tours.paddle.load.loading': 'Načítají se vodní data pro {region}',
|
||||
'tours.paddle.load.ready': 'Vodní data pro {region} jsou tu, úsek se plánuje.',
|
||||
'tours.paddle.load.requested': 'Vodní data pro {region} jsou vyžádána. Úsek se naplánuje, jakmile je správce pustí.',
|
||||
'tours.paddle.load.waiting': 'Čeká na jiné regiony',
|
||||
'tours.paddle.load.phase.download': 'Stahování',
|
||||
'tours.paddle.load.phase.read': 'Čtení',
|
||||
'tours.paddle.load.phase.build': 'Staví se vodní síť',
|
||||
'tours.paddle.load.hint': 'Obvykle jedna až tři minuty. Klidně plánuj dál, úsek se pak naplánuje sám.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Region je větší, než TREK sám načítá.',
|
||||
'tours.paddle.load.reason.limit': 'TREK dnes už sám načetl dost regionů.',
|
||||
'tours.paddle.load.declined': 'Správce zamítl vodní data pro {region}.',
|
||||
'tours.paddle.load.failed': 'Vodní data pro {region} se nepodařilo načíst.',
|
||||
'tours.paddle.load.noWater': 'Ve vodních datech pro {region} tu žádná voda není. Dej bod na řeku nebo jezero.',
|
||||
'tours.paddle.load.noExtract': 'Pro tuto oblast neexistuje výřez mapy s vodními daty.',
|
||||
'tours.paddle.load.catalogUnavailable': 'Seznam regionů teď není dostupný. Zkus to později.',
|
||||
'tours.paddle.lakeStyle': 'Přes jezera',
|
||||
'tours.paddle.lakeStyle.direct': 'Přímo',
|
||||
'tours.paddle.lakeStyle.shore': 'Podél břehu',
|
||||
'tours.paddle.lakeStyle.directHint': 'Nejkratší čára přes otevřenou vodu.',
|
||||
'tours.paddle.lakeStyle.shoreHint': 'Drží se u břehu, pro větrné dny: delší, ale pevnina není nikdy daleko.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'V tento den až {mean} km/h, nárazy {gusts} km/h. Na jezerech může být lepší držet se u břehu.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Naplánovat podél břehu',
|
||||
'tours.paddle.wind.shoreTaken': 'Jezera jsou naplánována podél břehu.',
|
||||
'tours.paddle.status.unrouted': '{count} úseků nenaplánováno',
|
||||
'tours.paddle.status.unrouted.one': '{count} úsek nenaplánován',
|
||||
'tours.paddle.status.unrouted.few': '{count} úseky nenaplánovány',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -891,5 +891,43 @@ const admin: TranslationStrings = {
|
||||
'Daten © OpenStreetMap-Mitwirkende (ODbL), regionale Auszüge von Geofabrik. Neu gelesen am 3. jedes Monats.',
|
||||
'admin.paddleRegions.toast.added': 'Region hinzugefügt. TREK liest sie im Hintergrund.',
|
||||
'admin.paddleRegions.toast.removed': 'Region entfernt',
|
||||
'admin.paddleRegions.phase.build': 'Wassernetz wird gebaut',
|
||||
'admin.paddleRegions.network.km': '{km} km Gewässer',
|
||||
'admin.paddleRegions.network.lakes': '{count} Seen',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} See',
|
||||
'admin.paddleRegions.network.portages': '{count} kartierte Umtragestellen',
|
||||
'admin.paddleRegions.network.portages.one': '{count} kartierte Umtragestelle',
|
||||
'admin.paddleRegions.network.inferred': '{count} angenommene Umtragungen',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} angenommene Umtragung',
|
||||
'admin.paddleRegions.network.locks': '{count} Schleusen',
|
||||
'admin.paddleRegions.network.locks.one': '{count} Schleuse',
|
||||
'admin.paddleRegions.network.gaps': '{count} überbrückte Lücken',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} überbrückte Lücke',
|
||||
'admin.paddleRegions.network.missing': 'Kein Wassernetz',
|
||||
'admin.paddleRegions.network.missingHint': 'Lies die Region erneut ein, um das Netz für das Paddel-Routing zu bauen.',
|
||||
'admin.paddleRegions.auto.title': 'Regionen automatisch laden',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automatisch',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Auf Anfrage',
|
||||
'admin.paddleRegions.auto.mode.off': 'Aus',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Plant jemand eine Paddeltour in einer Gegend ohne Gewässerdaten, lädt TREK die kleinste passende Region sofort, bis zur Größengrenze und nur wenige am Tag. Größere warten hier als Anfrage. Nur der Name der Region geht an Geofabrik, nie der Ort.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Jede neue Region wartet hier, bis ein Admin sie freigibt. Plant ein Admin selbst, lädt sie sofort.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK lädt nichts von selbst und fragt nicht nach. Regionen fügst du hier von Hand hinzu.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Größte Region, die automatisch lädt',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Größere Regionen warten hier als Anfrage. Das Einlesen einer Region dauert einige Minuten und braucht dabei Arbeitsspeicher.',
|
||||
'admin.paddleRegions.requests.title': 'Angefragt',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Auf Anfrage',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Zu groß',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Tageslimit',
|
||||
'admin.paddleRegions.requests.declined': 'Abgelehnt',
|
||||
'admin.paddleRegions.requests.by': 'von {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Laden',
|
||||
'admin.paddleRegions.requests.decline': 'Ablehnen',
|
||||
'admin.paddleRegions.origin.auto': 'Automatisch',
|
||||
'admin.paddleRegions.origin.autoHint':
|
||||
'TREK hat diese Region selbst geladen, für eine Paddeltour, die dort geplant wird.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -67,6 +67,10 @@ const de: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Paddel-Region angefragt',
|
||||
body: `${p.actor} plant eine Paddeltour in ${p.region}. Im Admin-Bereich unter Addons kannst du die Gewässerdaten laden oder ablehnen.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synology-Sitzung beendet',
|
||||
body: 'Dein Synology-Konto oder die URL hat sich geändert. Du wurdest von Synology Photos abgemeldet.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Schreibvorgang auf Replik '{backend}' fehlgeschlagen: {op} von {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Schreibvorgang auf Replik '{backend}' fehlgeschlagen: {op} von {key} — {error}. Seit der letzten Benachrichtigung wurden {suppressed} weitere Fehler unterdrückt.",
|
||||
'notif.paddle_region_requested.title': 'Paddel-Region angefragt',
|
||||
'notif.paddle_region_requested.text': '{actor} plant eine Paddeltour in {region}',
|
||||
'notif.action.view_trip': 'Reise ansehen',
|
||||
'notif.action.view_collab': 'Nachrichten ansehen',
|
||||
'notif.action.view_packing': 'Packliste ansehen',
|
||||
|
||||
@@ -300,6 +300,7 @@ const settings: TranslationStrings = {
|
||||
'settings.mfa.demoBlocked': 'In der Demo nicht verfügbar',
|
||||
'settings.notifyVersionAvailable': 'Neue Version verfügbar',
|
||||
'settings.notifyReplicaFailure': 'Speicher-Replik-Fehler',
|
||||
'settings.notifyPaddleRegionRequested': 'Paddel-Region angefragt',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'Keine Benachrichtigungskanäle konfiguriert. Bitte einen Administrator, E-Mail- oder Webhook-Benachrichtigungen einzurichten.',
|
||||
'settings.webhookUrl.label': 'Webhook-URL',
|
||||
|
||||
@@ -295,8 +295,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Gib ein Tempo von 0,5 bis 20 km/h ein.',
|
||||
'tours.paddle.chooseBoat': 'Wähle Boot und Gewässer, um diese Paddeltour zu speichern.',
|
||||
'tours.paddle.chooseBoatImport': 'Wähle Boot und Gewässer, um als Paddeltour zu importieren.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Eine Paddeltour wird von Hand gezeichnet: TREK verbindet deine Punkte mit geraden Linien. Nichts wird geroutet, und nichts sagt, dass das Gewässer befahrbar ist.',
|
||||
'tours.paddle.timeEstimated': 'Paddelzeit (geschätzt)',
|
||||
'tours.paddle.timeEstimatedShort': 'Paddeln',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Wie die Paddelzeit geschätzt wird',
|
||||
@@ -339,6 +337,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Umtragen',
|
||||
'tours.paddle.portageOn': 'Ab hier umtragen',
|
||||
'tours.paddle.portageOff': 'Diese Strecke wieder paddeln',
|
||||
'tours.paddle.portagePending': 'Umtragen ab hier',
|
||||
'tours.paddle.portagePendingHint': 'Setz jetzt den Punkt, an dem du wieder einsetzt. Bis dorthin wird umgetragen.',
|
||||
'tours.paddle.portagePendingOff': 'Doch nicht umtragen',
|
||||
'tours.paddle.portageWay': 'Verlauf',
|
||||
'tours.paddle.portageWay.follow': 'Dem Weg folgen',
|
||||
'tours.paddle.portageWay.straight': 'Gerade Linie',
|
||||
'tours.paddle.portageWay.noWay': 'Kein Weg ohne großen Umweg gefunden, die Linie bleibt gerade.',
|
||||
'tours.paddle.portageWay.searching': 'Weg wird gesucht',
|
||||
'tours.paddle.placeHere.putIn': 'Hier einsetzen',
|
||||
'tours.paddle.placeHere.egress': 'Hier aussteigen',
|
||||
'tours.paddle.portageInfo':
|
||||
'Hier wird das Boot getragen. Die Strecke zählt als Land, mit Zeit für Aussteigen, Ausladen und Wiedereinsetzen.',
|
||||
'tours.paddle.portageExtra': 'Aus und ein',
|
||||
@@ -534,6 +542,68 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Paddeln birgt Risiken. Prüfe Gewässer, Regeln und Wetter selbst.',
|
||||
'tours.paddle.safety.text':
|
||||
'Paddeln ist mit Risiken verbunden. Karten, Routenvorschläge und Hinweise können unvollständig oder veraltet sein. Prüfe vor der Tour die aktuellen örtlichen Bedingungen, Befahrungsregeln und das Wetter. Beachte geeignete Sicherheitsmaßnahmen. TREK unterstützt deine Planung und ersetzt keine eigene Prüfung und verantwortliche Entscheidung.',
|
||||
'tours.planner.shapingPoint': 'Formpunkt',
|
||||
'tours.planner.shapingHint': 'Lenkt die Route, ohne ein Halt zu sein. Zieh ihn dorthin, wo die Route verlaufen soll.',
|
||||
'tours.planner.makeStop': 'Zum Halt machen',
|
||||
'tours.planner.makeShaping': 'Zum Formpunkt machen',
|
||||
'tours.planner.recomputeLeg': 'Nächsten Abschnitt neu berechnen',
|
||||
'tours.planner.shapeOnLine': 'Ein Klick auf die Route in der Karte setzt dort einen Formpunkt.',
|
||||
'tours.paddle.routeOnWater': 'Nächsten Abschnitt auf dem Wasser planen',
|
||||
'tours.paddle.routeAllOnWater': 'Von Hand gezeichnete Abschnitte auf dem Wasser planen',
|
||||
'tours.paddle.auto': 'Erkannt',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK hat diesen Punkt an eine Umtragestelle oder Schleuse auf dem Weg gesetzt. Verschiebst oder änderst du ihn, gehört er dir.',
|
||||
'tours.paddle.note.rapids': 'Wildwasser {grade}',
|
||||
'tours.paddle.note.pass': 'Bootsgasse',
|
||||
'tours.paddle.note.gap': 'Lücke in den Kartendaten',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Die Route führt hier durch bewegtes Wasser. Erst besichtigen und im Zweifel umtragen.',
|
||||
'tours.paddle.note.gapHint':
|
||||
'Die Gewässerdaten haben hier eine Lücke, überbrückt mit einer geraden Linie. Prüf das vor Ort.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Ein Ende dieses Abschnitts liegt auf keinem Gewässer, das TREK kennt. Setz es auf den Fluss oder See.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Für diese Gegend gibt es noch keine Gewässerdaten. Ein Admin kann die Region hinzufügen.',
|
||||
'tours.paddle.failed.building':
|
||||
'Die Gewässerdaten dieser Region werden noch aufbereitet. Versuch es in ein paar Minuten erneut.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK hat zwischen diesen Punkten keinen Weg auf dem Wasser gefunden.',
|
||||
'tours.paddle.failed.cross_region': 'Diese Punkte liegen in zwei Regionen ohne gemeinsame Gewässerdaten.',
|
||||
'tours.paddle.failed.busy': 'Der Routenplaner ist ausgelastet. Versuch es gleich noch einmal.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Die Planung dieses Abschnitts hat zu lange gedauert. Setz einen Punkt dazwischen und versuch es erneut.',
|
||||
'tours.paddle.failed.offline': 'Offline. Der Abschnitt wird geplant, sobald du wieder verbunden bist.',
|
||||
'tours.paddle.drawStraight': 'Gerade zeichnen',
|
||||
'tours.paddle.retry': 'Erneut versuchen',
|
||||
'tours.paddle.load.loading': 'Gewässerdaten für {region} werden geladen',
|
||||
'tours.paddle.load.ready': 'Die Gewässerdaten für {region} sind da, der Abschnitt wird geplant.',
|
||||
'tours.paddle.load.requested':
|
||||
'Die Gewässerdaten für {region} sind angefragt. Sobald ein Admin sie freigibt, wird der Abschnitt geplant.',
|
||||
'tours.paddle.load.waiting': 'Wartet auf andere Regionen',
|
||||
'tours.paddle.load.phase.download': 'Herunterladen',
|
||||
'tours.paddle.load.phase.read': 'Auslesen',
|
||||
'tours.paddle.load.phase.build': 'Wassernetz wird gebaut',
|
||||
'tours.paddle.load.hint':
|
||||
'Meist ein bis drei Minuten. Plan ruhig weiter, der Abschnitt wird danach von selbst geplant.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Die Region ist größer, als TREK von selbst lädt.',
|
||||
'tours.paddle.load.reason.limit': 'TREK hat heute schon genug Regionen von selbst geladen.',
|
||||
'tours.paddle.load.declined': 'Ein Admin hat die Gewässerdaten für {region} abgelehnt.',
|
||||
'tours.paddle.load.failed': 'Die Gewässerdaten für {region} konnten nicht geladen werden.',
|
||||
'tours.paddle.load.noWater':
|
||||
'In den Gewässerdaten für {region} liegt hier kein Gewässer. Setz den Punkt auf den Fluss oder See.',
|
||||
'tours.paddle.load.noExtract': 'Für diese Gegend gibt es keinen Kartenauszug mit Gewässerdaten.',
|
||||
'tours.paddle.load.catalogUnavailable':
|
||||
'Die Liste der Regionen ist gerade nicht erreichbar. Versuch es später erneut.',
|
||||
'tours.paddle.lakeStyle': 'Über Seen',
|
||||
'tours.paddle.lakeStyle.direct': 'Direkt',
|
||||
'tours.paddle.lakeStyle.shore': 'Ufernah',
|
||||
'tours.paddle.lakeStyle.directHint': 'Die kürzeste Linie über offenes Wasser.',
|
||||
'tours.paddle.lakeStyle.shoreHint': 'Bleibt in Ufernähe, für windige Tage: länger, aber Land ist nie weit.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'An diesem Tag bis {mean} km/h, Böen {gusts} km/h. Auf den Seen ist ufernah vielleicht die bessere Linie.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Ufernah planen',
|
||||
'tours.paddle.wind.shoreTaken': 'Die Seen sind ufernah geplant.',
|
||||
'tours.paddle.status.unrouted': '{count} Abschnitte nicht geplant',
|
||||
'tours.paddle.status.unrouted.one': '{count} Abschnitt nicht geplant',
|
||||
};
|
||||
|
||||
export default tours;
|
||||
|
||||
@@ -862,5 +862,42 @@ const admin: TranslationStrings = {
|
||||
'Data © OpenStreetMap contributors (ODbL), regional extracts by Geofabrik. Read again on the 3rd of every month.',
|
||||
'admin.paddleRegions.toast.added': 'Region added. TREK reads it in the background.',
|
||||
'admin.paddleRegions.toast.removed': 'Region removed',
|
||||
'admin.paddleRegions.phase.build': 'Building the water network',
|
||||
'admin.paddleRegions.network.km': '{km} km of water',
|
||||
'admin.paddleRegions.network.lakes': '{count} lakes',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} lake',
|
||||
'admin.paddleRegions.network.portages': '{count} mapped portages',
|
||||
'admin.paddleRegions.network.portages.one': '{count} mapped portage',
|
||||
'admin.paddleRegions.network.inferred': '{count} assumed carries',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} assumed carry',
|
||||
'admin.paddleRegions.network.locks': '{count} locks',
|
||||
'admin.paddleRegions.network.locks.one': '{count} lock',
|
||||
'admin.paddleRegions.network.gaps': '{count} bridged gaps',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} bridged gap',
|
||||
'admin.paddleRegions.network.missing': 'No water network',
|
||||
'admin.paddleRegions.network.missingHint': 'Read the region again to build the network paddle routing follows.',
|
||||
'admin.paddleRegions.auto.title': 'Load regions automatically',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automatic',
|
||||
'admin.paddleRegions.auto.mode.ask': 'On request',
|
||||
'admin.paddleRegions.auto.mode.off': 'Off',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
"When someone plans a paddle tour where there is no water data yet, TREK loads the smallest matching region right away, up to the size limit and only a few a day. Anything larger waits here as a request. Only the region's name goes to Geofabrik, never the place.",
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Every new region waits here until an admin lets it through. When an admin plans, it loads right away.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK loads nothing by itself and asks for nothing. Add regions here by hand.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Largest region loaded automatically',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Larger regions wait here as a request. Reading a region takes a few minutes and memory while it runs.',
|
||||
'admin.paddleRegions.requests.title': 'Requested',
|
||||
'admin.paddleRegions.requests.reason.ask': 'On request',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Too large',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Daily limit',
|
||||
'admin.paddleRegions.requests.declined': 'Declined',
|
||||
'admin.paddleRegions.requests.by': 'by {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Load',
|
||||
'admin.paddleRegions.requests.decline': 'Decline',
|
||||
'admin.paddleRegions.origin.auto': 'Automatic',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK loaded this region by itself for a paddle tour planned there.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -67,6 +67,10 @@ const en: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Paddle region requested',
|
||||
body: `${p.actor} is planning a paddle tour in ${p.region}. Load or decline its water data in the admin area under Addons.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synology session cleared',
|
||||
body: 'Your Synology account or URL changed. You have been logged out of Synology Photos.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Replica write failed on '{backend}': {op} of {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Replica write failed on '{backend}': {op} of {key} — {error}. {suppressed} more failures were suppressed since the last notification.",
|
||||
'notif.paddle_region_requested.title': 'Paddle region requested',
|
||||
'notif.paddle_region_requested.text': '{actor} is planning a paddle tour in {region}',
|
||||
'notif.action.view_trip': 'View Trip',
|
||||
'notif.action.view_collab': 'View Messages',
|
||||
'notif.action.view_packing': 'View Packing',
|
||||
|
||||
@@ -118,6 +118,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Webhook notifications',
|
||||
'settings.notifyVersionAvailable': 'New version available',
|
||||
'settings.notifyReplicaFailure': 'Storage replica failure',
|
||||
'settings.notifyPaddleRegionRequested': 'Paddle region requested',
|
||||
'settings.notificationPreferences.email': 'Email',
|
||||
'settings.notificationPreferences.webhook': 'Webhook',
|
||||
'settings.notificationPreferences.inapp': 'In-App',
|
||||
|
||||
@@ -286,8 +286,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Enter a speed from 0.5 to 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Choose the boat and the water to save this paddle tour.',
|
||||
'tours.paddle.chooseBoatImport': 'Choose the boat and the water to import as a paddle tour.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'A paddle tour is drawn by hand: TREK joins your points with straight lines. Nothing is routed, and nothing says the water can be paddled.',
|
||||
'tours.paddle.timeEstimated': 'Paddling time (estimated)',
|
||||
'tours.paddle.timeEstimatedShort': 'Paddling',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'How the paddling time is estimated',
|
||||
@@ -330,6 +328,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Portage',
|
||||
'tours.paddle.portageOn': 'Carry the boat from here',
|
||||
'tours.paddle.portageOff': 'Paddle this stretch again',
|
||||
'tours.paddle.portagePending': 'Portage from here',
|
||||
'tours.paddle.portagePendingHint': 'Now set the point where you put in again. The boat is carried up to there.',
|
||||
'tours.paddle.portagePendingOff': 'Do not carry after all',
|
||||
'tours.paddle.portageWay': 'Route',
|
||||
'tours.paddle.portageWay.follow': 'Follow the path',
|
||||
'tours.paddle.portageWay.straight': 'Straight line',
|
||||
'tours.paddle.portageWay.noWay': 'No path without a long detour, so the line stays straight.',
|
||||
'tours.paddle.portageWay.searching': 'Looking for a path',
|
||||
'tours.paddle.placeHere.putIn': 'Put in here',
|
||||
'tours.paddle.placeHere.egress': 'Take out here',
|
||||
'tours.paddle.portageInfo':
|
||||
'The boat is carried here. The stretch counts as land, with time for getting out, unloading and putting back in.',
|
||||
'tours.paddle.portageExtra': 'Out and in',
|
||||
@@ -521,5 +529,59 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Paddling has risks. Check water, rules and weather yourself.',
|
||||
'tours.paddle.safety.text':
|
||||
'Paddling carries risks. Maps, route suggestions and notes can be incomplete or out of date. Before the tour, check the current local conditions, the rules for using the water and the weather. Take suitable safety measures. TREK supports your planning and does not replace your own check and responsible decision.',
|
||||
'tours.planner.shapingPoint': 'Shaping point',
|
||||
'tours.planner.shapingHint': 'Steers the route without being a stop. Drag it to where the route should run.',
|
||||
'tours.planner.makeStop': 'Make it a stop',
|
||||
'tours.planner.makeShaping': 'Make it a shaping point',
|
||||
'tours.planner.recomputeLeg': 'Plan the next leg again',
|
||||
'tours.planner.shapeOnLine': 'Click the route on the map to add a shaping point there.',
|
||||
'tours.paddle.routeOnWater': 'Plan the next leg on the water',
|
||||
'tours.paddle.routeAllOnWater': 'Plan the legs drawn by hand on the water',
|
||||
'tours.paddle.auto': 'Found',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK set this point at a portage or lock it found on the way. Move or change it and it is yours.',
|
||||
'tours.paddle.note.rapids': 'Whitewater {grade}',
|
||||
'tours.paddle.note.pass': 'Boat chute',
|
||||
'tours.paddle.note.gap': 'Gap in the map data',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'The route runs through moving water here. Scout it first and carry around if in doubt.',
|
||||
'tours.paddle.note.gapHint': 'The water data has a gap here, bridged with a straight line. Check it on site.',
|
||||
'tours.paddle.failed.not_on_water': 'One end of this leg is not on water TREK knows. Move it onto the river or lake.',
|
||||
'tours.paddle.failed.no_region': 'No water data for this area yet. An administrator can add the region.',
|
||||
'tours.paddle.failed.building': 'The water data for this region is still being prepared. Try again in a few minutes.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK found no way on the water between these points.',
|
||||
'tours.paddle.failed.cross_region': 'These points lie in two regions that share no water data.',
|
||||
'tours.paddle.failed.busy': 'The route planner is busy. Try again in a moment.',
|
||||
'tours.paddle.failed.timeout': 'Planning this leg took too long. Add a point in between and try again.',
|
||||
'tours.paddle.failed.offline': 'Offline. This leg is planned once you are connected again.',
|
||||
'tours.paddle.drawStraight': 'Draw straight',
|
||||
'tours.paddle.retry': 'Try again',
|
||||
'tours.paddle.load.loading': 'Loading the water data for {region}',
|
||||
'tours.paddle.load.ready': 'The water data for {region} is here, planning the stretch.',
|
||||
'tours.paddle.load.requested':
|
||||
'The water data for {region} has been requested. The stretch is planned as soon as an admin lets it through.',
|
||||
'tours.paddle.load.waiting': 'Waiting for other regions',
|
||||
'tours.paddle.load.phase.download': 'Downloading',
|
||||
'tours.paddle.load.phase.read': 'Reading',
|
||||
'tours.paddle.load.phase.build': 'Building the water network',
|
||||
'tours.paddle.load.hint': 'Usually one to three minutes. Keep planning, the stretch is planned by itself afterwards.',
|
||||
'tours.paddle.load.reason.tooLarge': 'The region is larger than TREK loads by itself.',
|
||||
'tours.paddle.load.reason.limit': 'TREK has already loaded enough regions by itself today.',
|
||||
'tours.paddle.load.declined': 'An admin declined the water data for {region}.',
|
||||
'tours.paddle.load.failed': 'The water data for {region} could not be loaded.',
|
||||
'tours.paddle.load.noWater': 'The water data for {region} has no water here. Put the point on the river or lake.',
|
||||
'tours.paddle.load.noExtract': 'There is no map extract with water data for this area.',
|
||||
'tours.paddle.load.catalogUnavailable': 'The list of regions cannot be reached right now. Try again later.',
|
||||
'tours.paddle.lakeStyle': 'Across lakes',
|
||||
'tours.paddle.lakeStyle.direct': 'Straight over',
|
||||
'tours.paddle.lakeStyle.shore': 'Near the shore',
|
||||
'tours.paddle.lakeStyle.directHint': 'The shortest line across open water.',
|
||||
'tours.paddle.lakeStyle.shoreHint': 'Stays near the bank, for windy days: longer, but land is never far.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Up to {mean} km/h, gusts {gusts} km/h on this day. On the lakes, staying near the shore may be the better line.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Plan near the shore',
|
||||
'tours.paddle.wind.shoreTaken': 'The lakes are planned near the shore.',
|
||||
'tours.paddle.status.unrouted': '{count} legs not planned',
|
||||
'tours.paddle.status.unrouted.one': '{count} leg not planned',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -901,5 +901,43 @@ const admin: TranslationStrings = {
|
||||
'Datos © colaboradores de OpenStreetMap (ODbL), extractos regionales de Geofabrik. Se vuelven a leer el día 3 de cada mes.',
|
||||
'admin.paddleRegions.toast.added': 'Región añadida. TREK la lee en segundo plano.',
|
||||
'admin.paddleRegions.toast.removed': 'Región eliminada',
|
||||
'admin.paddleRegions.phase.build': 'Construyendo la red de agua',
|
||||
'admin.paddleRegions.network.km': '{km} km de agua',
|
||||
'admin.paddleRegions.network.lakes': '{count} lagos',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} lago',
|
||||
'admin.paddleRegions.network.portages': '{count} porteos cartografiados',
|
||||
'admin.paddleRegions.network.portages.one': '{count} porteo cartografiado',
|
||||
'admin.paddleRegions.network.inferred': '{count} porteos supuestos',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} porteo supuesto',
|
||||
'admin.paddleRegions.network.locks': '{count} esclusas',
|
||||
'admin.paddleRegions.network.locks.one': '{count} esclusa',
|
||||
'admin.paddleRegions.network.gaps': '{count} huecos salvados',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} hueco salvado',
|
||||
'admin.paddleRegions.network.missing': 'Sin red de agua',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Vuelve a leer la región para construir la red que sigue la ruta en piragua.',
|
||||
'admin.paddleRegions.auto.title': 'Cargar regiones automáticamente',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automático',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Bajo petición',
|
||||
'admin.paddleRegions.auto.mode.off': 'Desactivado',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Cuando alguien planifica una ruta en kayak donde aún no hay datos de agua, TREK carga al momento la región más pequeña que encaja, hasta el límite de tamaño y solo unas pocas al día. Las más grandes esperan aquí como petición. A Geofabrik solo le llega el nombre de la región, nunca el lugar.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Cada región nueva espera aquí hasta que un administrador la deje pasar. Si planifica un administrador, se carga al momento.',
|
||||
'admin.paddleRegions.auto.modeHint.off': 'TREK no carga nada por su cuenta ni pide nada. Añade regiones aquí a mano.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Región más grande que se carga automáticamente',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Las regiones más grandes esperan aquí como petición. Leer una región lleva unos minutos y ocupa memoria mientras tanto.',
|
||||
'admin.paddleRegions.requests.title': 'Pedidas',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Bajo petición',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Demasiado grande',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Límite diario',
|
||||
'admin.paddleRegions.requests.declined': 'Rechazada',
|
||||
'admin.paddleRegions.requests.by': 'de {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Cargar',
|
||||
'admin.paddleRegions.requests.decline': 'Rechazar',
|
||||
'admin.paddleRegions.origin.auto': 'Automático',
|
||||
'admin.paddleRegions.origin.autoHint':
|
||||
'TREK cargó esta región por su cuenta para una ruta en kayak planificada allí.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -67,6 +67,10 @@ const es: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Región de kayak pedida',
|
||||
body: `${p.actor} está planificando una ruta en kayak en ${p.region}. Carga o rechaza sus datos de agua en la administración, en Complementos.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Sesión de Synology cerrada',
|
||||
body: 'Tu cuenta o URL de Synology ha cambiado. Has cerrado sesión en Synology Photos.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Error al escribir en la réplica '{backend}': {op} de {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Error al escribir en la réplica '{backend}': {op} de {key} — {error}. Se suprimieron {suppressed} errores más desde la última notificación.",
|
||||
'notif.paddle_region_requested.title': 'Región de kayak pedida',
|
||||
'notif.paddle_region_requested.text': '{actor} está planificando una ruta en kayak en {region}',
|
||||
'notif.action.view_trip': 'Ver viaje',
|
||||
'notif.action.view_collab': 'Ver mensajes',
|
||||
'notif.action.view_packing': 'Ver equipaje',
|
||||
|
||||
@@ -301,6 +301,7 @@ const settings: TranslationStrings = {
|
||||
'settings.passwordRule.special': 'Un carácter especial',
|
||||
'settings.notifyVersionAvailable': 'Nueva versión disponible',
|
||||
'settings.notifyReplicaFailure': 'Fallo de réplica de almacenamiento',
|
||||
'settings.notifyPaddleRegionRequested': 'Región de kayak pedida',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'No hay canales de notificación configurados. Pide a un administrador que configure notificaciones por correo o webhook.',
|
||||
'settings.webhookUrl.label': 'URL del webhook',
|
||||
|
||||
@@ -292,8 +292,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Introduce una velocidad de 0,5 a 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Elige la embarcación y el agua para guardar esta ruta.',
|
||||
'tours.paddle.chooseBoatImport': 'Elige la embarcación y el agua para importar como ruta en piragua.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Una ruta en piragua se dibuja a mano: TREK une tus puntos con líneas rectas. Nada se calcula y nada indica que el agua sea navegable.',
|
||||
'tours.paddle.timeEstimated': 'Tiempo de remo (estimado)',
|
||||
'tours.paddle.timeEstimatedShort': 'Remo',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Cómo se estima el tiempo de remo',
|
||||
@@ -336,6 +334,17 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Porteo',
|
||||
'tours.paddle.portageOn': 'Portear la embarcación desde aquí',
|
||||
'tours.paddle.portageOff': 'Volver a remar este tramo',
|
||||
'tours.paddle.portagePending': 'Porteo desde aquí',
|
||||
'tours.paddle.portagePendingHint':
|
||||
'Ahora marca el punto donde vuelves a entrar al agua. El bote se carga hasta allí.',
|
||||
'tours.paddle.portagePendingOff': 'Al final no portear',
|
||||
'tours.paddle.portageWay': 'Recorrido',
|
||||
'tours.paddle.portageWay.follow': 'Seguir el camino',
|
||||
'tours.paddle.portageWay.straight': 'Línea recta',
|
||||
'tours.paddle.portageWay.noWay': 'No hay camino sin un gran rodeo, la línea queda recta.',
|
||||
'tours.paddle.portageWay.searching': 'Buscando un camino',
|
||||
'tours.paddle.placeHere.putIn': 'Entrar al agua aquí',
|
||||
'tours.paddle.placeHere.egress': 'Salir del agua aquí',
|
||||
'tours.paddle.portageInfo':
|
||||
'Aquí se lleva la embarcación a pie. El tramo cuenta como tierra, con tiempo para desembarcar, descargar y volver a embarcar.',
|
||||
'tours.paddle.portageExtra': 'Desembarcar y embarcar',
|
||||
@@ -530,5 +539,64 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Remar conlleva riesgos. Comprueba por tu cuenta el agua, las normas y la meteorología.',
|
||||
'tours.paddle.safety.text':
|
||||
'Remar conlleva riesgos. Los mapas, las propuestas de ruta y las indicaciones pueden estar incompletos o desactualizados. Antes de la ruta, comprueba las condiciones locales actuales, las normas de navegación de esas aguas y la meteorología. Toma medidas de seguridad adecuadas. TREK apoya tu planificación y no sustituye tu propia comprobación ni tu decisión responsable.',
|
||||
'tours.planner.shapingPoint': 'Punto de forma',
|
||||
'tours.planner.shapingHint': 'Guía la ruta sin ser una parada. Arrástralo a donde deba pasar la ruta.',
|
||||
'tours.planner.makeStop': 'Convertir en parada',
|
||||
'tours.planner.makeShaping': 'Convertir en punto de forma',
|
||||
'tours.planner.recomputeLeg': 'Volver a calcular el siguiente tramo',
|
||||
'tours.planner.shapeOnLine': 'Haz clic en la ruta del mapa para añadir ahí un punto de forma.',
|
||||
'tours.paddle.routeOnWater': 'Planificar el siguiente tramo por el agua',
|
||||
'tours.paddle.routeAllOnWater': 'Planificar por el agua los tramos dibujados a mano',
|
||||
'tours.paddle.auto': 'Detectado',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK colocó este punto en un porteo o una esclusa que encontró en el camino. Si lo mueves o cambias, pasa a ser tuyo.',
|
||||
'tours.paddle.note.rapids': 'Aguas bravas {grade}',
|
||||
'tours.paddle.note.pass': 'Paso para canoas',
|
||||
'tours.paddle.note.gap': 'Hueco en los datos del mapa',
|
||||
'tours.paddle.note.rapidsHint': 'La ruta pasa aquí por aguas movidas. Explóralo antes y portea si tienes dudas.',
|
||||
'tours.paddle.note.gapHint':
|
||||
'Los datos del agua tienen un hueco aquí, salvado con una línea recta. Compruébalo en el lugar.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Un extremo de este tramo no está en ningún agua que TREK conozca. Muévelo al río o al lago.',
|
||||
'tours.paddle.failed.no_region': 'Aún no hay datos de agua para esta zona. Un administrador puede añadir la región.',
|
||||
'tours.paddle.failed.building':
|
||||
'Los datos de agua de esta región aún se están preparando. Inténtalo de nuevo en unos minutos.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK no encontró ningún camino por el agua entre estos puntos.',
|
||||
'tours.paddle.failed.cross_region': 'Estos puntos están en dos regiones que no comparten datos de agua.',
|
||||
'tours.paddle.failed.busy': 'El planificador de rutas está ocupado. Inténtalo de nuevo en un momento.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Planificar este tramo tardó demasiado. Añade un punto intermedio e inténtalo de nuevo.',
|
||||
'tours.paddle.failed.offline': 'Sin conexión. Este tramo se planificará cuando vuelvas a estar conectado.',
|
||||
'tours.paddle.drawStraight': 'Dibujar recto',
|
||||
'tours.paddle.retry': 'Reintentar',
|
||||
'tours.paddle.load.loading': 'Cargando los datos de agua de {region}',
|
||||
'tours.paddle.load.ready': 'Los datos de agua de {region} ya están, se planifica el tramo.',
|
||||
'tours.paddle.load.requested':
|
||||
'Se han pedido los datos de agua de {region}. El tramo se planifica en cuanto un administrador los deje pasar.',
|
||||
'tours.paddle.load.waiting': 'Esperando a otras regiones',
|
||||
'tours.paddle.load.phase.download': 'Descargando',
|
||||
'tours.paddle.load.phase.read': 'Leyendo',
|
||||
'tours.paddle.load.phase.build': 'Construyendo la red de agua',
|
||||
'tours.paddle.load.hint':
|
||||
'Suele tardar de uno a tres minutos. Sigue planificando, el tramo se planifica solo después.',
|
||||
'tours.paddle.load.reason.tooLarge': 'La región es más grande de lo que TREK carga por su cuenta.',
|
||||
'tours.paddle.load.reason.limit': 'TREK ya ha cargado hoy suficientes regiones por su cuenta.',
|
||||
'tours.paddle.load.declined': 'Un administrador rechazó los datos de agua de {region}.',
|
||||
'tours.paddle.load.failed': 'No se pudieron cargar los datos de agua de {region}.',
|
||||
'tours.paddle.load.noWater': 'En los datos de agua de {region} aquí no hay agua. Pon el punto en el río o el lago.',
|
||||
'tours.paddle.load.noExtract': 'No hay ningún extracto de mapa con datos de agua para esta zona.',
|
||||
'tours.paddle.load.catalogUnavailable': 'La lista de regiones no está disponible ahora mismo. Inténtalo más tarde.',
|
||||
'tours.paddle.lakeStyle': 'Por los lagos',
|
||||
'tours.paddle.lakeStyle.direct': 'En línea recta',
|
||||
'tours.paddle.lakeStyle.shore': 'Cerca de la orilla',
|
||||
'tours.paddle.lakeStyle.directHint': 'La línea más corta por aguas abiertas.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Se mantiene cerca de la orilla, para días de viento: más largo, pero la tierra nunca queda lejos.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Hasta {mean} km/h, rachas de {gusts} km/h ese día. En los lagos, ir cerca de la orilla puede ser la mejor línea.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Planificar cerca de la orilla',
|
||||
'tours.paddle.wind.shoreTaken': 'Los lagos están planificados cerca de la orilla.',
|
||||
'tours.paddle.status.unrouted': '{count} tramos sin planificar',
|
||||
'tours.paddle.status.unrouted.one': '{count} tramo sin planificar',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -885,5 +885,42 @@ const admin: TranslationStrings = {
|
||||
'Andmed © OpenStreetMapi kaastöötajad (ODbL), piirkondlikud väljavõtted Geofabrikult. Loetakse uuesti iga kuu 3. kuupäeval.',
|
||||
'admin.paddleRegions.toast.added': 'Piirkond lisatud. TREK loeb selle taustal sisse.',
|
||||
'admin.paddleRegions.toast.removed': 'Piirkond eemaldatud',
|
||||
'admin.paddleRegions.phase.build': 'Veevõrgu ehitamine',
|
||||
'admin.paddleRegions.network.km': '{km} km vett',
|
||||
'admin.paddleRegions.network.lakes': '{count} järve',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} järv',
|
||||
'admin.paddleRegions.network.portages': '{count} kaardistatud ülevedamiskohta',
|
||||
'admin.paddleRegions.network.portages.one': '{count} kaardistatud ülevedamiskoht',
|
||||
'admin.paddleRegions.network.inferred': '{count} oletatud ülekandmist',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} oletatud ülekandmine',
|
||||
'admin.paddleRegions.network.locks': '{count} lüüsi',
|
||||
'admin.paddleRegions.network.locks.one': '{count} lüüs',
|
||||
'admin.paddleRegions.network.gaps': '{count} ühendatud lünka',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} ühendatud lünk',
|
||||
'admin.paddleRegions.network.missing': 'Veevõrk puudub',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Loe piirkond uuesti sisse, et ehitada võrk, mida aerutamise marsruut järgib.',
|
||||
'admin.paddleRegions.auto.title': 'Laadi piirkonnad automaatselt',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automaatne',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Taotluse peale',
|
||||
'admin.paddleRegions.auto.mode.off': 'Väljas',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Kui keegi kavandab aerutamismatka kohta, kus veeandmeid veel pole, laadib TREK kohe väikseima sobiva piirkonna, suuruspiirini ja ainult mõne päevas. Suuremad ootavad siin taotlusena. Geofabrikule läheb ainult piirkonna nimi, mitte kunagi koht.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Iga uus piirkond ootab siin, kuni admin selle lubab. Kui admin ise kavandab, laaditakse see kohe.',
|
||||
'admin.paddleRegions.auto.modeHint.off': 'TREK ei laadi ise midagi ega küsi midagi. Lisa piirkonnad siin käsitsi.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Suurim automaatselt laaditav piirkond',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Suuremad piirkonnad ootavad siin taotlusena. Piirkonna lugemine võtab mõne minuti ja selle ajal mälu.',
|
||||
'admin.paddleRegions.requests.title': 'Taotletud',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Taotluse peale',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Liiga suur',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Päevapiir',
|
||||
'admin.paddleRegions.requests.declined': 'Tagasi lükatud',
|
||||
'admin.paddleRegions.requests.by': 'kasutajalt {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Laadi',
|
||||
'admin.paddleRegions.requests.decline': 'Lükka tagasi',
|
||||
'admin.paddleRegions.origin.auto': 'Automaatne',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK laadis selle piirkonna ise seal kavandatava aerutamismatka jaoks.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -68,6 +68,10 @@ const et: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Aerutamispiirkonda taotleti',
|
||||
body: `${p.actor} kavandab aerutamismatka piirkonnas ${p.region}. Laadi või lükka selle veeandmed tagasi halduses jaotises Lisad.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synology seanss tühjendatud',
|
||||
body: 'Sinu Synology konto või URL muutus. Sind on Synology Photosist välja logitud.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Koopia kirjutamine taustsüsteemi '{backend}' ebaõnnestus: {op}, {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Koopia kirjutamine taustsüsteemi '{backend}' ebaõnnestus: {op}, {key} — {error}. Pärast viimast teavitust jäeti veel {suppressed} tõrget teavitamata.",
|
||||
'notif.paddle_region_requested.title': 'Aerutamispiirkonda taotleti',
|
||||
'notif.paddle_region_requested.text': '{actor} kavandab aerutamismatka piirkonnas {region}',
|
||||
'notif.action.view_trip': 'Vaata reisi',
|
||||
'notif.action.view_collab': 'Vaata sõnumeid',
|
||||
'notif.action.view_packing': 'Vaata pakkimisnimekirja',
|
||||
|
||||
@@ -123,6 +123,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Veebihaagi teavitused',
|
||||
'settings.notifyVersionAvailable': 'Uus versioon saadaval',
|
||||
'settings.notifyReplicaFailure': 'Salvestuskoopia tõrge',
|
||||
'settings.notifyPaddleRegionRequested': 'Aerutamispiirkonda taotleti',
|
||||
'settings.notificationPreferences.email': 'E-post',
|
||||
'settings.notificationPreferences.webhook': 'Veebihaak',
|
||||
'settings.notificationPreferences.inapp': 'Rakenduses',
|
||||
|
||||
@@ -289,8 +289,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Sisesta kiirus vahemikus 0,5 kuni 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Vali paat ja veekogu, et see matk salvestada.',
|
||||
'tours.paddle.chooseBoatImport': 'Vali paat ja veekogu, et importida aerutamismatkana.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Aerutamismatk joonistatakse käsitsi: TREK ühendab sinu punktid sirgjoontega. Midagi ei marsruudita ja miski ei ütle, et vesi on läbitav.',
|
||||
'tours.paddle.timeEstimated': 'Aerutamisaeg (hinnanguline)',
|
||||
'tours.paddle.timeEstimatedShort': 'Aerutamine',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Kuidas aerutamisaega hinnatakse',
|
||||
@@ -333,6 +331,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Ülekanne',
|
||||
'tours.paddle.portageOn': 'Siit alates kanna paati',
|
||||
'tours.paddle.portageOff': 'Aeruta see lõik jälle',
|
||||
'tours.paddle.portagePending': 'Siit alates kanda',
|
||||
'tours.paddle.portagePendingHint': 'Nüüd määra punkt, kus lähed uuesti vette. Paati kantakse sinna välja.',
|
||||
'tours.paddle.portagePendingOff': 'Siiski mitte kanda',
|
||||
'tours.paddle.portageWay': 'Kulg',
|
||||
'tours.paddle.portageWay.follow': 'Järgi rada',
|
||||
'tours.paddle.portageWay.straight': 'Sirge joon',
|
||||
'tours.paddle.portageWay.noWay': 'Suure ringita teed ei leitud, joon jääb sirgeks.',
|
||||
'tours.paddle.portageWay.searching': 'Teed otsitakse',
|
||||
'tours.paddle.placeHere.putIn': 'Lähe siit vette',
|
||||
'tours.paddle.placeHere.egress': 'Tule siit veest välja',
|
||||
'tours.paddle.portageInfo':
|
||||
'Siin kantakse paati. Lõik loetakse maismaaks, koos ajaga väljumiseks, mahalaadimiseks ja uuesti vette minekuks.',
|
||||
'tours.paddle.portageExtra': 'Välja ja vette',
|
||||
@@ -525,5 +533,62 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Aerutamisega kaasnevad riskid. Kontrolli ise veekogu, reegleid ja ilma.',
|
||||
'tours.paddle.safety.text':
|
||||
'Aerutamisega kaasnevad riskid. Kaardid, marsruudisoovitused ja märkused võivad olla puudulikud või aegunud. Kontrolli enne matka praeguseid kohalikke olusid, veekogu kasutamise reegleid ja ilma. Rakenda sobivaid ohutusmeetmeid. TREK toetab sinu planeerimist, kuid ei asenda sinu enda kontrolli ega vastutustundlikku otsust.',
|
||||
'tours.planner.shapingPoint': 'Kujunduspunkt',
|
||||
'tours.planner.shapingHint': 'Suunab marsruuti, ilma et oleks peatus. Lohista see sinna, kust marsruut peab minema.',
|
||||
'tours.planner.makeStop': 'Tee peatuseks',
|
||||
'tours.planner.makeShaping': 'Tee kujunduspunktiks',
|
||||
'tours.planner.recomputeLeg': 'Arvuta järgmine lõik uuesti',
|
||||
'tours.planner.shapeOnLine': 'Klõpsa kaardil marsruudil, et lisada sinna kujunduspunkt.',
|
||||
'tours.paddle.routeOnWater': 'Planeeri järgmine lõik vett mööda',
|
||||
'tours.paddle.routeAllOnWater': 'Planeeri käsitsi joonistatud lõigud vett mööda',
|
||||
'tours.paddle.auto': 'Leitud',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK pani selle punkti teel leitud ülevedamiskohta või lüüsi juurde. Kui liigutad või muudad seda, on see sinu oma.',
|
||||
'tours.paddle.note.rapids': 'Kärestik {grade}',
|
||||
'tours.paddle.note.pass': 'Paadirenn',
|
||||
'tours.paddle.note.gap': 'Lünk kaardiandmetes',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Marsruut läbib siin voolavat vett. Vaata see enne üle ja kahtluse korral kanna paat ümber.',
|
||||
'tours.paddle.note.gapHint': 'Veeandmetes on siin lünk, mis on ühendatud sirgjoonega. Kontrolli kohapeal.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Selle lõigu üks ots ei asu ühelgi TREKile teadaoleval veekogul. Liiguta see jõele või järvele.',
|
||||
'tours.paddle.failed.no_region': 'Selle piirkonna veeandmeid veel pole. Administraator saab piirkonna lisada.',
|
||||
'tours.paddle.failed.building':
|
||||
'Selle piirkonna veeandmeid alles valmistatakse ette. Proovi mõne minuti pärast uuesti.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK ei leidnud nende punktide vahel teed vett mööda.',
|
||||
'tours.paddle.failed.cross_region': 'Need punktid asuvad kahes piirkonnas, millel pole ühiseid veeandmeid.',
|
||||
'tours.paddle.failed.busy': 'Marsruudiplaneerija on hõivatud. Proovi kohe uuesti.',
|
||||
'tours.paddle.failed.timeout': 'Selle lõigu planeerimine võttis liiga kaua. Lisa vahele punkt ja proovi uuesti.',
|
||||
'tours.paddle.failed.offline': 'Võrguühendus puudub. Lõik planeeritakse, kui oled taas ühendatud.',
|
||||
'tours.paddle.drawStraight': 'Joonista sirgelt',
|
||||
'tours.paddle.retry': 'Proovi uuesti',
|
||||
'tours.paddle.load.loading': 'Piirkonna {region} veeandmeid laaditakse',
|
||||
'tours.paddle.load.ready': 'Piirkonna {region} veeandmed on olemas, lõiku kavandatakse.',
|
||||
'tours.paddle.load.requested':
|
||||
'Piirkonna {region} veeandmed on taotletud. Lõik kavandatakse kohe, kui admin need lubab.',
|
||||
'tours.paddle.load.waiting': 'Ootab teisi piirkondi',
|
||||
'tours.paddle.load.phase.download': 'Allalaadimine',
|
||||
'tours.paddle.load.phase.read': 'Lugemine',
|
||||
'tours.paddle.load.phase.build': 'Veevõrgu ehitamine',
|
||||
'tours.paddle.load.hint': 'Tavaliselt üks kuni kolm minutit. Kavanda rahulikult edasi, lõik kavandatakse pärast ise.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Piirkond on suurem, kui TREK ise laadib.',
|
||||
'tours.paddle.load.reason.limit': 'TREK on täna juba piisavalt piirkondi ise laadinud.',
|
||||
'tours.paddle.load.declined': 'Admin lükkas piirkonna {region} veeandmed tagasi.',
|
||||
'tours.paddle.load.failed': 'Piirkonna {region} veeandmeid ei õnnestunud laadida.',
|
||||
'tours.paddle.load.noWater': 'Piirkonna {region} veeandmetes pole siin vett. Pane punkt jõele või järvele.',
|
||||
'tours.paddle.load.noExtract': 'Selle ala jaoks pole veeandmetega kaardiväljavõtet.',
|
||||
'tours.paddle.load.catalogUnavailable': 'Piirkondade loend pole praegu kättesaadav. Proovi hiljem uuesti.',
|
||||
'tours.paddle.lakeStyle': 'Üle järvede',
|
||||
'tours.paddle.lakeStyle.direct': 'Otse üle',
|
||||
'tours.paddle.lakeStyle.shore': 'Kalda lähedal',
|
||||
'tours.paddle.lakeStyle.directHint': 'Lühim joon üle avavee.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Püsib kalda lähedal, tuuliste päevade jaoks: pikem, kuid maa pole kunagi kaugel.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Sel päeval kuni {mean} km/h, puhanguid {gusts} km/h. Järvedel võib kalda lähedal püsimine olla parem joon.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Planeeri kalda lähedale',
|
||||
'tours.paddle.wind.shoreTaken': 'Järved on planeeritud kalda lähedale.',
|
||||
'tours.paddle.status.unrouted': '{count} lõiku planeerimata',
|
||||
'tours.paddle.status.unrouted.one': '{count} lõik planeerimata',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -34,6 +34,7 @@ export type NotificationEventKey =
|
||||
| 'packing_tagged'
|
||||
| 'version_available'
|
||||
| 'replica_failure'
|
||||
| 'paddle_region_requested'
|
||||
| 'synology_session_cleared'
|
||||
| 'plugin_notification';
|
||||
|
||||
|
||||
@@ -899,5 +899,44 @@ const admin: TranslationStrings = {
|
||||
'Données © les contributeurs d’OpenStreetMap (ODbL), extraits régionaux de Geofabrik. Relues le 3 de chaque mois.',
|
||||
'admin.paddleRegions.toast.added': 'Région ajoutée. TREK la lit en arrière-plan.',
|
||||
'admin.paddleRegions.toast.removed': 'Région supprimée',
|
||||
'admin.paddleRegions.phase.build': 'Construction du réseau d’eau',
|
||||
'admin.paddleRegions.network.km': '{km} km de cours d’eau',
|
||||
'admin.paddleRegions.network.lakes': '{count} lacs',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} lac',
|
||||
'admin.paddleRegions.network.portages': '{count} portages cartographiés',
|
||||
'admin.paddleRegions.network.portages.one': '{count} portage cartographié',
|
||||
'admin.paddleRegions.network.inferred': '{count} portages supposés',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} portage supposé',
|
||||
'admin.paddleRegions.network.locks': '{count} écluses',
|
||||
'admin.paddleRegions.network.locks.one': '{count} écluse',
|
||||
'admin.paddleRegions.network.gaps': '{count} lacunes comblées',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} lacune comblée',
|
||||
'admin.paddleRegions.network.missing': 'Aucun réseau d’eau',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Relisez la région pour construire le réseau que suit l’itinéraire en pagaie.',
|
||||
'admin.paddleRegions.auto.title': 'Charger les régions automatiquement',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automatique',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Sur demande',
|
||||
'admin.paddleRegions.auto.mode.off': 'Désactivé',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
"Quand quelqu'un planifie une sortie en canoë là où il n'y a pas encore de données d'eau, TREK charge tout de suite la plus petite région qui convient, jusqu'à la taille limite et seulement quelques-unes par jour. Les plus grandes attendent ici comme demande. Seul le nom de la région part chez Geofabrik, jamais le lieu.",
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
"Chaque nouvelle région attend ici qu'un administrateur la valide. Quand un administrateur planifie, elle se charge tout de suite.",
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK ne charge rien de lui-même et ne demande rien. Ajoute les régions ici à la main.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Plus grande région chargée automatiquement',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Les régions plus grandes attendent ici comme demande. Lire une région prend quelques minutes et occupe de la mémoire pendant ce temps.',
|
||||
'admin.paddleRegions.requests.title': 'Demandées',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Sur demande',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Trop grande',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Limite du jour',
|
||||
'admin.paddleRegions.requests.declined': 'Refusée',
|
||||
'admin.paddleRegions.requests.by': 'par {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Charger',
|
||||
'admin.paddleRegions.requests.decline': 'Refuser',
|
||||
'admin.paddleRegions.origin.auto': 'Automatique',
|
||||
'admin.paddleRegions.origin.autoHint':
|
||||
'TREK a chargé cette région de lui-même pour une sortie en canoë planifiée là-bas.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -67,6 +67,10 @@ const fr: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Région de pagaie demandée',
|
||||
body: `${p.actor} planifie une sortie en canoë dans ${p.region}. Charge ou refuse ses données d'eau dans l'administration, sous Modules.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Session Synology effacée',
|
||||
body: 'Votre compte ou URL Synology a changé. Vous avez été déconnecté de Synology Photos.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Échec de l'écriture sur la réplique '{backend}' : {op} de {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Échec de l'écriture sur la réplique '{backend}' : {op} de {key} — {error}. {suppressed} erreurs supplémentaires ont été supprimées depuis la dernière notification.",
|
||||
'notif.paddle_region_requested.title': 'Région de pagaie demandée',
|
||||
'notif.paddle_region_requested.text': '{actor} planifie une sortie en canoë dans {region}',
|
||||
'notif.action.view_trip': 'Voir le voyage',
|
||||
'notif.action.view_collab': 'Voir les messages',
|
||||
'notif.action.view_packing': 'Voir les bagages',
|
||||
|
||||
@@ -305,6 +305,7 @@ const settings: TranslationStrings = {
|
||||
"Affiche les noms des gares / aéroports sur la carte. Si désactivé, seule l'icône est affichée.",
|
||||
'settings.notifyVersionAvailable': 'Nouvelle version disponible',
|
||||
'settings.notifyReplicaFailure': 'Échec de réplique de stockage',
|
||||
'settings.notifyPaddleRegionRequested': 'Région de pagaie demandée',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
"Aucun canal de notification n'est configuré. Demandez à un administrateur de configurer les notifications par e-mail ou webhook.",
|
||||
'settings.webhookUrl.label': 'URL du webhook',
|
||||
|
||||
@@ -298,8 +298,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Saisissez une vitesse de 0,5 à 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Choisissez l’embarcation et le plan d’eau pour enregistrer cette sortie.',
|
||||
'tours.paddle.chooseBoatImport': 'Choisissez l’embarcation et le plan d’eau pour importer en sortie en pagaie.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Une sortie en pagaie se trace à la main : TREK relie vos points en lignes droites. Rien n’est calculé, et rien ne dit que l’eau est navigable.',
|
||||
'tours.paddle.timeEstimated': 'Temps de pagaie (estimé)',
|
||||
'tours.paddle.timeEstimatedShort': 'Pagaie',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Comment le temps de pagaie est estimé',
|
||||
@@ -343,6 +341,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Portage', // same-as-en
|
||||
'tours.paddle.portageOn': 'Porter l’embarcation à partir d’ici',
|
||||
'tours.paddle.portageOff': 'Pagayer de nouveau ce tronçon',
|
||||
'tours.paddle.portagePending': "Portage à partir d'ici",
|
||||
'tours.paddle.portagePendingHint': "Place maintenant le point où tu remets à l'eau. Le bateau est porté jusque-là.",
|
||||
'tours.paddle.portagePendingOff': 'Finalement ne pas porter',
|
||||
'tours.paddle.portageWay': 'Tracé',
|
||||
'tours.paddle.portageWay.follow': 'Suivre le chemin',
|
||||
'tours.paddle.portageWay.straight': 'Ligne droite',
|
||||
'tours.paddle.portageWay.noWay': 'Aucun chemin sans grand détour, la ligne reste droite.',
|
||||
'tours.paddle.portageWay.searching': "Recherche d'un chemin",
|
||||
'tours.paddle.placeHere.putIn': "Mettre à l'eau ici",
|
||||
'tours.paddle.placeHere.egress': "Sortir de l'eau ici",
|
||||
'tours.paddle.portageInfo':
|
||||
'Ici, l’embarcation est portée. Le tronçon compte comme parcours à terre, avec du temps pour débarquer, décharger et rembarquer.',
|
||||
'tours.paddle.portageExtra': 'Débarquer et rembarquer',
|
||||
@@ -542,5 +550,67 @@ const tours: TranslationStrings = {
|
||||
'La pagaie comporte des risques. Vérifiez vous-même le plan d’eau, les règles et la météo.',
|
||||
'tours.paddle.safety.text':
|
||||
'La pratique de la pagaie comporte des risques. Les cartes, les propositions d’itinéraire et les indications peuvent être incomplètes ou obsolètes. Avant la sortie, vérifiez les conditions locales actuelles, les règles de navigation sur le plan d’eau et la météo. Prenez des mesures de sécurité adaptées. TREK accompagne votre planification et ne remplace ni votre propre vérification ni votre décision responsable.',
|
||||
'tours.planner.shapingPoint': 'Point de guidage',
|
||||
'tours.planner.shapingHint':
|
||||
'Oriente l’itinéraire sans être une étape. Faites-le glisser là où l’itinéraire doit passer.',
|
||||
'tours.planner.makeStop': 'En faire une étape',
|
||||
'tours.planner.makeShaping': 'En faire un point de guidage',
|
||||
'tours.planner.recomputeLeg': 'Recalculer le tronçon suivant',
|
||||
'tours.planner.shapeOnLine': 'Cliquez sur l’itinéraire dans la carte pour y ajouter un point de guidage.',
|
||||
'tours.paddle.routeOnWater': 'Planifier le tronçon suivant sur l’eau',
|
||||
'tours.paddle.routeAllOnWater': 'Planifier sur l’eau les tronçons tracés à la main',
|
||||
'tours.paddle.auto': 'Détecté',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK a placé ce point à un portage ou une écluse trouvé en chemin. Déplacez-le ou modifiez-le et il devient le vôtre.',
|
||||
'tours.paddle.note.rapids': 'Eaux vives {grade}',
|
||||
'tours.paddle.note.pass': 'Passe à canoës',
|
||||
'tours.paddle.note.gap': 'Lacune dans les données cartographiques',
|
||||
'tours.paddle.note.rapidsHint': 'L’itinéraire traverse ici une eau vive. Repérez d’abord et portez en cas de doute.',
|
||||
'tours.paddle.note.gapHint':
|
||||
'Les données des cours d’eau ont une lacune ici, comblée par une ligne droite. Vérifiez sur place.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Une extrémité de ce tronçon n’est sur aucune eau connue de TREK. Placez-la sur la rivière ou le lac.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Pas encore de données sur les eaux de cette zone. Un administrateur peut ajouter la région.',
|
||||
'tours.paddle.failed.building':
|
||||
'Les données des eaux de cette région sont encore en préparation. Réessayez dans quelques minutes.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK n’a trouvé aucun chemin sur l’eau entre ces points.',
|
||||
'tours.paddle.failed.cross_region': 'Ces points se trouvent dans deux régions sans données d’eau communes.',
|
||||
'tours.paddle.failed.busy': 'Le planificateur d’itinéraire est occupé. Réessayez dans un instant.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'La planification de ce tronçon a pris trop de temps. Ajoutez un point intermédiaire et réessayez.',
|
||||
'tours.paddle.failed.offline': 'Hors ligne. Ce tronçon sera planifié dès que vous serez reconnecté.',
|
||||
'tours.paddle.drawStraight': 'Tracer en ligne droite',
|
||||
'tours.paddle.retry': 'Réessayer',
|
||||
'tours.paddle.load.loading': "Chargement des données d'eau de {region}",
|
||||
'tours.paddle.load.ready': "Les données d'eau de {region} sont là, le tronçon est planifié.",
|
||||
'tours.paddle.load.requested':
|
||||
"Les données d'eau de {region} ont été demandées. Le tronçon sera planifié dès qu'un administrateur les valide.",
|
||||
'tours.paddle.load.waiting': "En attente d'autres régions",
|
||||
'tours.paddle.load.phase.download': 'Téléchargement',
|
||||
'tours.paddle.load.phase.read': 'Lecture',
|
||||
'tours.paddle.load.phase.build': "Construction du réseau d'eau",
|
||||
'tours.paddle.load.hint':
|
||||
'En général une à trois minutes. Continue à planifier, le tronçon se planifiera ensuite tout seul.',
|
||||
'tours.paddle.load.reason.tooLarge': 'La région est plus grande que ce que TREK charge de lui-même.',
|
||||
'tours.paddle.load.reason.limit': "TREK a déjà chargé assez de régions de lui-même aujourd'hui.",
|
||||
'tours.paddle.load.declined': "Un administrateur a refusé les données d'eau de {region}.",
|
||||
'tours.paddle.load.failed': "Impossible de charger les données d'eau de {region}.",
|
||||
'tours.paddle.load.noWater':
|
||||
"Les données d'eau de {region} n'ont pas d'eau ici. Place le point sur la rivière ou le lac.",
|
||||
'tours.paddle.load.noExtract': "Il n'existe pas d'extrait de carte avec des données d'eau pour cette zone.",
|
||||
'tours.paddle.load.catalogUnavailable': 'La liste des régions est injoignable pour le moment. Réessaie plus tard.',
|
||||
'tours.paddle.lakeStyle': 'Sur les lacs',
|
||||
'tours.paddle.lakeStyle.direct': 'Tout droit',
|
||||
'tours.paddle.lakeStyle.shore': 'Près de la rive',
|
||||
'tours.paddle.lakeStyle.directHint': 'La ligne la plus courte en eau libre.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Reste près de la rive, pour les jours de vent : plus long, mais la terre n’est jamais loin.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Jusqu’à {mean} km/h, rafales à {gusts} km/h ce jour-là. Sur les lacs, longer la rive est peut-être la meilleure ligne.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Planifier près de la rive',
|
||||
'tours.paddle.wind.shoreTaken': 'Les lacs sont planifiés près de la rive.',
|
||||
'tours.paddle.status.unrouted': '{count} tronçons non planifiés',
|
||||
'tours.paddle.status.unrouted.one': '{count} tronçon non planifié',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -909,5 +909,44 @@ const admin: TranslationStrings = {
|
||||
'Δεδομένα © συντελεστές του OpenStreetMap (ODbL), τοπικά αποσπάσματα από το Geofabrik. Νέα ανάγνωση στις 3 κάθε μήνα.',
|
||||
'admin.paddleRegions.toast.added': 'Η περιοχή προστέθηκε. Το TREK τη διαβάζει στο παρασκήνιο.',
|
||||
'admin.paddleRegions.toast.removed': 'Η περιοχή αφαιρέθηκε',
|
||||
'admin.paddleRegions.phase.build': 'Κατασκευή δικτύου νερού',
|
||||
'admin.paddleRegions.network.km': '{km} km νερού',
|
||||
'admin.paddleRegions.network.lakes': '{count} λίμνες',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} λίμνη',
|
||||
'admin.paddleRegions.network.portages': '{count} χαρτογραφημένα σημεία μεταφοράς',
|
||||
'admin.paddleRegions.network.portages.one': '{count} χαρτογραφημένο σημείο μεταφοράς',
|
||||
'admin.paddleRegions.network.inferred': '{count} εικαζόμενες μεταφορές',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} εικαζόμενη μεταφορά',
|
||||
'admin.paddleRegions.network.locks': '{count} υδατοφράκτες',
|
||||
'admin.paddleRegions.network.locks.one': '{count} υδατοφράκτης',
|
||||
'admin.paddleRegions.network.gaps': '{count} γεφυρωμένα κενά',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} γεφυρωμένο κενό',
|
||||
'admin.paddleRegions.network.missing': 'Χωρίς δίκτυο νερού',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Διάβασε ξανά την περιοχή για να δημιουργηθεί το δίκτυο που ακολουθεί η διαδρομή κουπιού.',
|
||||
'admin.paddleRegions.auto.title': 'Αυτόματη φόρτωση περιοχών',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Αυτόματα',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Κατόπιν αιτήματος',
|
||||
'admin.paddleRegions.auto.mode.off': 'Ανενεργό',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Όταν κάποιος σχεδιάζει διαδρομή κανό εκεί όπου δεν υπάρχουν ακόμη δεδομένα νερού, το TREK φορτώνει αμέσως τη μικρότερη κατάλληλη περιοχή, μέχρι το όριο μεγέθους και μόνο λίγες την ημέρα. Οι μεγαλύτερες περιμένουν εδώ ως αίτημα. Στη Geofabrik πηγαίνει μόνο το όνομα της περιοχής, ποτέ το σημείο.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Κάθε νέα περιοχή περιμένει εδώ μέχρι να την εγκρίνει ένας διαχειριστής. Όταν σχεδιάζει διαχειριστής, φορτώνεται αμέσως.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'Το TREK δεν φορτώνει τίποτα μόνο του και δεν ζητά τίποτα. Πρόσθεσε περιοχές εδώ χειροκίνητα.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Μεγαλύτερη περιοχή που φορτώνεται αυτόματα',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Οι μεγαλύτερες περιοχές περιμένουν εδώ ως αίτημα. Η ανάγνωση μιας περιοχής διαρκεί λίγα λεπτά και χρειάζεται μνήμη στο μεταξύ.',
|
||||
'admin.paddleRegions.requests.title': 'Αιτήματα',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Κατόπιν αιτήματος',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Πολύ μεγάλη',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Ημερήσιο όριο',
|
||||
'admin.paddleRegions.requests.declined': 'Απορρίφθηκε',
|
||||
'admin.paddleRegions.requests.by': 'από {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Φόρτωση',
|
||||
'admin.paddleRegions.requests.decline': 'Απόρριψη',
|
||||
'admin.paddleRegions.origin.auto': 'Αυτόματα',
|
||||
'admin.paddleRegions.origin.autoHint':
|
||||
'Το TREK φόρτωσε μόνο του αυτή την περιοχή για μια διαδρομή κανό που σχεδιάζεται εκεί.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -70,6 +70,10 @@ const gr: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Αίτημα περιοχής κανό',
|
||||
body: `${p.actor} σχεδιάζει διαδρομή κανό στην περιοχή ${p.region}. Φόρτωσε ή απόρριψε τα δεδομένα νερού στη διαχείριση, στα Πρόσθετα.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Η σύνδεση Synology τερματίστηκε',
|
||||
body: 'Ο λογαριασμός σας Synology ή το URL άλλαξε. Έχετε αποσυνδεθεί από το Synology Photos.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Η εγγραφή στο αντίγραφο '{backend}' απέτυχε: {op} του {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Η εγγραφή στο αντίγραφο '{backend}' απέτυχε: {op} του {key} — {error}. {suppressed} επιπλέον αποτυχίες αποκρύφθηκαν από την τελευταία ειδοποίηση.",
|
||||
'notif.paddle_region_requested.title': 'Αίτημα περιοχής κανό',
|
||||
'notif.paddle_region_requested.text': '{actor} σχεδιάζει διαδρομή κανό στην περιοχή {region}',
|
||||
'notif.action.view_trip': 'Προβολή Ταξιδιού',
|
||||
'notif.action.view_collab': 'Προβολή Μηνυμάτων',
|
||||
'notif.action.view_packing': 'Προβολή Αποσκευών',
|
||||
|
||||
@@ -114,6 +114,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Ειδοποιήσεις Webhook',
|
||||
'settings.notifyVersionAvailable': 'Διαθέσιμη νέα έκδοση',
|
||||
'settings.notifyReplicaFailure': 'Αποτυχία αντιγράφου αποθήκευσης',
|
||||
'settings.notifyPaddleRegionRequested': 'Αίτημα περιοχής κανό',
|
||||
'settings.notificationPreferences.email': 'Email',
|
||||
'settings.notificationPreferences.webhook': 'Webhook',
|
||||
'settings.notificationPreferences.inapp': 'Εντός εφαρμογής',
|
||||
|
||||
@@ -299,8 +299,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Δώστε ταχύτητα από 0,5 έως 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Επιλέξτε σκάφος και νερό για να αποθηκεύσετε τη διαδρομή.',
|
||||
'tours.paddle.chooseBoatImport': 'Επιλέξτε σκάφος και νερό για εισαγωγή ως διαδρομή με κουπί.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Μια διαδρομή με κουπί σχεδιάζεται με το χέρι: το TREK ενώνει τα σημεία σας με ευθείες. Τίποτα δεν δρομολογείται και τίποτα δεν λέει ότι το νερό είναι πλωτό.',
|
||||
'tours.paddle.timeEstimated': 'Χρόνος κωπηλασίας (εκτίμηση)',
|
||||
'tours.paddle.timeEstimatedShort': 'Κωπηλασία',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Πώς εκτιμάται ο χρόνος κωπηλασίας',
|
||||
@@ -343,6 +341,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Μεταφορά σκάφους',
|
||||
'tours.paddle.portageOn': 'Μεταφορά σκάφους από εδώ',
|
||||
'tours.paddle.portageOff': 'Κωπηλασία ξανά σε αυτό το τμήμα',
|
||||
'tours.paddle.portagePending': 'Μεταφορά από εδώ',
|
||||
'tours.paddle.portagePendingHint': 'Όρισε τώρα το σημείο όπου μπαίνεις ξανά στο νερό. Το σκάφος μεταφέρεται ως εκεί.',
|
||||
'tours.paddle.portagePendingOff': 'Τελικά χωρίς μεταφορά',
|
||||
'tours.paddle.portageWay': 'Διαδρομή',
|
||||
'tours.paddle.portageWay.follow': 'Ακολούθησε το μονοπάτι',
|
||||
'tours.paddle.portageWay.straight': 'Ευθεία γραμμή',
|
||||
'tours.paddle.portageWay.noWay': 'Δεν βρέθηκε δρόμος χωρίς μεγάλη παράκαμψη, η γραμμή μένει ευθεία.',
|
||||
'tours.paddle.portageWay.searching': 'Αναζήτηση δρόμου',
|
||||
'tours.paddle.placeHere.putIn': 'Μπες στο νερό εδώ',
|
||||
'tours.paddle.placeHere.egress': 'Βγες από το νερό εδώ',
|
||||
'tours.paddle.portageInfo':
|
||||
'Εδώ το σκάφος μεταφέρεται με τα χέρια. Το τμήμα μετράει ως στεριά, με χρόνο για έξοδο, ξεφόρτωμα και επανείσοδο στο νερό.',
|
||||
'tours.paddle.portageExtra': 'Έξοδος και είσοδος',
|
||||
@@ -541,5 +549,67 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Η κωπηλασία ενέχει κινδύνους. Ελέγξτε μόνοι σας το νερό, τους κανόνες και τον καιρό.',
|
||||
'tours.paddle.safety.text':
|
||||
'Η κωπηλασία ενέχει κινδύνους. Οι χάρτες, οι προτάσεις διαδρομών και οι σημειώσεις μπορεί να είναι ελλιπείς ή παρωχημένες. Πριν από την εκδρομή, ελέγξτε τις τρέχουσες τοπικές συνθήκες, τους κανόνες χρήσης του νερού και τον καιρό. Λάβετε κατάλληλα μέτρα ασφάλειας. Το TREK υποστηρίζει τον σχεδιασμό σας και δεν αντικαθιστά τον δικό σας έλεγχο και την υπεύθυνη απόφασή σας.',
|
||||
'tours.planner.shapingPoint': 'Σημείο διαμόρφωσης',
|
||||
'tours.planner.shapingHint':
|
||||
'Κατευθύνει τη διαδρομή χωρίς να είναι στάση. Σύρε το εκεί όπου πρέπει να περνά η διαδρομή.',
|
||||
'tours.planner.makeStop': 'Κάνε το στάση',
|
||||
'tours.planner.makeShaping': 'Κάνε το σημείο διαμόρφωσης',
|
||||
'tours.planner.recomputeLeg': 'Επανυπολογισμός επόμενου τμήματος',
|
||||
'tours.planner.shapeOnLine': 'Κάνε κλικ στη διαδρομή στον χάρτη για να προσθέσεις εκεί σημείο διαμόρφωσης.',
|
||||
'tours.paddle.routeOnWater': 'Σχεδίασε το επόμενο τμήμα στο νερό',
|
||||
'tours.paddle.routeAllOnWater': 'Σχεδίασε στο νερό τα τμήματα που ζωγραφίστηκαν με το χέρι',
|
||||
'tours.paddle.auto': 'Εντοπίστηκε',
|
||||
'tours.paddle.autoHint':
|
||||
'Το TREK έβαλε αυτό το σημείο σε σημείο μεταφοράς ή υδατοφράκτη που βρήκε στον δρόμο. Αν το μετακινήσεις ή το αλλάξεις, γίνεται δικό σου.',
|
||||
'tours.paddle.note.rapids': 'Ορμητικά νερά {grade}',
|
||||
'tours.paddle.note.pass': 'Δίοδος για κανό',
|
||||
'tours.paddle.note.gap': 'Κενό στα δεδομένα του χάρτη',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Η διαδρομή περνά εδώ από ορμητικό νερό. Εξέτασέ το πρώτα και, αν έχεις αμφιβολίες, μετέφερε το σκάφος.',
|
||||
'tours.paddle.note.gapHint':
|
||||
'Τα δεδομένα νερού έχουν εδώ κενό, που γεφυρώνεται με ευθεία γραμμή. Έλεγξέ το επί τόπου.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Το ένα άκρο αυτού του τμήματος δεν βρίσκεται σε νερό που γνωρίζει το TREK. Μετακίνησέ το στο ποτάμι ή στη λίμνη.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Δεν υπάρχουν ακόμη δεδομένα νερού για αυτή την περιοχή. Ένας διαχειριστής μπορεί να προσθέσει την περιοχή.',
|
||||
'tours.paddle.failed.building':
|
||||
'Τα δεδομένα νερού αυτής της περιοχής προετοιμάζονται ακόμη. Δοκίμασε ξανά σε λίγα λεπτά.',
|
||||
'tours.paddle.failed.no_water_path': 'Το TREK δεν βρήκε διαδρομή στο νερό ανάμεσα σε αυτά τα σημεία.',
|
||||
'tours.paddle.failed.cross_region': 'Αυτά τα σημεία βρίσκονται σε δύο περιοχές χωρίς κοινά δεδομένα νερού.',
|
||||
'tours.paddle.failed.busy': 'Ο σχεδιαστής διαδρομών είναι απασχολημένος. Δοκίμασε ξανά σε λίγο.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Ο σχεδιασμός αυτού του τμήματος άργησε πολύ. Πρόσθεσε ένα ενδιάμεσο σημείο και δοκίμασε ξανά.',
|
||||
'tours.paddle.failed.offline': 'Εκτός σύνδεσης. Το τμήμα θα σχεδιαστεί μόλις συνδεθείς ξανά.',
|
||||
'tours.paddle.drawStraight': 'Ευθεία γραμμή',
|
||||
'tours.paddle.retry': 'Δοκίμασε ξανά',
|
||||
'tours.paddle.load.loading': 'Φόρτωση δεδομένων νερού για {region}',
|
||||
'tours.paddle.load.ready': 'Τα δεδομένα νερού για {region} είναι εδώ, το τμήμα σχεδιάζεται.',
|
||||
'tours.paddle.load.requested':
|
||||
'Ζητήθηκαν τα δεδομένα νερού για {region}. Το τμήμα θα σχεδιαστεί μόλις τα εγκρίνει διαχειριστής.',
|
||||
'tours.paddle.load.waiting': 'Αναμονή για άλλες περιοχές',
|
||||
'tours.paddle.load.phase.download': 'Λήψη',
|
||||
'tours.paddle.load.phase.read': 'Ανάγνωση',
|
||||
'tours.paddle.load.phase.build': 'Κατασκευή δικτύου νερού',
|
||||
'tours.paddle.load.hint': 'Συνήθως ένα έως τρία λεπτά. Συνέχισε τον σχεδιασμό, το τμήμα θα σχεδιαστεί μόνο του μετά.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Η περιοχή είναι μεγαλύτερη από όσο φορτώνει μόνο του το TREK.',
|
||||
'tours.paddle.load.reason.limit': 'Το TREK έχει ήδη φορτώσει αρκετές περιοχές μόνο του σήμερα.',
|
||||
'tours.paddle.load.declined': 'Ένας διαχειριστής απέρριψε τα δεδομένα νερού για {region}.',
|
||||
'tours.paddle.load.failed': 'Δεν ήταν δυνατή η φόρτωση των δεδομένων νερού για {region}.',
|
||||
'tours.paddle.load.noWater':
|
||||
'Στα δεδομένα νερού για {region} δεν υπάρχει νερό εδώ. Βάλε το σημείο στο ποτάμι ή στη λίμνη.',
|
||||
'tours.paddle.load.noExtract': 'Δεν υπάρχει απόσπασμα χάρτη με δεδομένα νερού για αυτή την περιοχή.',
|
||||
'tours.paddle.load.catalogUnavailable': 'Η λίστα περιοχών δεν είναι προσβάσιμη τώρα. Δοκίμασε ξανά αργότερα.',
|
||||
'tours.paddle.lakeStyle': 'Στις λίμνες',
|
||||
'tours.paddle.lakeStyle.direct': 'Ευθεία',
|
||||
'tours.paddle.lakeStyle.shore': 'Κοντά στην όχθη',
|
||||
'tours.paddle.lakeStyle.directHint': 'Η συντομότερη γραμμή σε ανοιχτό νερό.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Μένει κοντά στην όχθη, για μέρες με αέρα: μεγαλύτερη, αλλά η στεριά δεν είναι ποτέ μακριά.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Έως {mean} km/h, ριπές {gusts} km/h αυτή τη μέρα. Στις λίμνες ίσως είναι καλύτερη η γραμμή κοντά στην όχθη.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Σχεδίαση κοντά στην όχθη',
|
||||
'tours.paddle.wind.shoreTaken': 'Οι λίμνες σχεδιάζονται κοντά στην όχθη.',
|
||||
'tours.paddle.status.unrouted': '{count} τμήματα χωρίς σχεδιασμό',
|
||||
'tours.paddle.status.unrouted.one': '{count} τμήμα χωρίς σχεδιασμό',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -900,5 +900,43 @@ const admin: TranslationStrings = {
|
||||
'Adatok © OpenStreetMap-közreműködők (ODbL), regionális kivonatok: Geofabrik. Újraolvasás minden hónap 3-án.',
|
||||
'admin.paddleRegions.toast.added': 'Régió hozzáadva. A TREK a háttérben olvassa be.',
|
||||
'admin.paddleRegions.toast.removed': 'Régió eltávolítva',
|
||||
'admin.paddleRegions.phase.build': 'Vízhálózat építése',
|
||||
'admin.paddleRegions.network.km': '{km} km víz',
|
||||
'admin.paddleRegions.network.lakes': '{count} tó',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} tó',
|
||||
'admin.paddleRegions.network.portages': '{count} térképezett átemelőhely',
|
||||
'admin.paddleRegions.network.portages.one': '{count} térképezett átemelőhely',
|
||||
'admin.paddleRegions.network.inferred': '{count} feltételezett átemelés',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} feltételezett átemelés',
|
||||
'admin.paddleRegions.network.locks': '{count} zsilip',
|
||||
'admin.paddleRegions.network.locks.one': '{count} zsilip',
|
||||
'admin.paddleRegions.network.gaps': '{count} áthidalt hiány',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} áthidalt hiány',
|
||||
'admin.paddleRegions.network.missing': 'Nincs vízhálózat',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Olvasd be újra a régiót, hogy felépüljön a hálózat, amelyet az evezős útvonal követ.',
|
||||
'admin.paddleRegions.auto.title': 'Régiók automatikus betöltése',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automatikus',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Kérésre',
|
||||
'admin.paddleRegions.auto.mode.off': 'Ki',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Ha valaki olyan helyen tervez evezős túrát, ahol még nincs vízadat, a TREK azonnal betölti a legkisebb megfelelő régiót, a méretkorlátig és naponta csak néhányat. A nagyobbak itt várnak kérésként. A Geofabrik csak a régió nevét kapja meg, a helyet soha.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Minden új régió itt vár, amíg egy admin jóvá nem hagyja. Ha admin tervez, azonnal betöltődik.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'A TREK magától semmit nem tölt be és nem kér. A régiókat itt add hozzá kézzel.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Az automatikusan betöltött legnagyobb régió',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'A nagyobb régiók itt várnak kérésként. Egy régió beolvasása néhány percig tart, és közben memóriát foglal.',
|
||||
'admin.paddleRegions.requests.title': 'Kért',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Kérésre',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Túl nagy',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Napi korlát',
|
||||
'admin.paddleRegions.requests.declined': 'Elutasítva',
|
||||
'admin.paddleRegions.requests.by': '{user} kérte',
|
||||
'admin.paddleRegions.requests.approve': 'Betöltés',
|
||||
'admin.paddleRegions.requests.decline': 'Elutasítás',
|
||||
'admin.paddleRegions.origin.auto': 'Automatikus',
|
||||
'admin.paddleRegions.origin.autoHint': 'A TREK magától töltötte be ezt a régiót egy ott tervezett evezős túrához.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -67,6 +67,10 @@ const hu: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Evezős régiót kértek',
|
||||
body: `${p.actor} evezős túrát tervez itt: ${p.region}. Töltsd be vagy utasítsd el a vízadatait az adminfelületen a Bővítmények alatt.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synology munkamenet törölve',
|
||||
body: 'A Synology fiókja vagy URL-je megváltozott. Kijelentkeztek a Synology Photos-ból.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Sikertelen írás a(z) '{backend}' replikán: {op} / {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Sikertelen írás a(z) '{backend}' replikán: {op} / {key} — {error}. Az utolsó értesítés óta {suppressed} további hiba lett elnyomva.",
|
||||
'notif.paddle_region_requested.title': 'Evezős régiót kértek',
|
||||
'notif.paddle_region_requested.text': '{actor} evezős túrát tervez itt: {region}',
|
||||
'notif.action.view_trip': 'Utazás megtekintése',
|
||||
'notif.action.view_collab': 'Üzenetek megtekintése',
|
||||
'notif.action.view_packing': 'Csomagolás megtekintése',
|
||||
|
||||
@@ -302,6 +302,7 @@ const settings: TranslationStrings = {
|
||||
'Állomás- / repülőtér-nevek megjelenítése a térképen. Ha ki van kapcsolva, csak az ikon látszik.',
|
||||
'settings.notifyVersionAvailable': 'Új verzió elérhető',
|
||||
'settings.notifyReplicaFailure': 'Tárhely-replika hiba',
|
||||
'settings.notifyPaddleRegionRequested': 'Evezős régiót kértek',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'Nincsenek értesítési csatornák beállítva. Kérd meg a rendszergazdát, hogy állítson be e-mail vagy webhook értesítéseket.',
|
||||
'settings.webhookUrl.label': 'Webhook URL',
|
||||
|
||||
@@ -293,8 +293,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Adj meg egy tempót 0,5 és 20 km/h között.',
|
||||
'tours.paddle.chooseBoat': 'Válaszd ki a hajót és a vizet a túra mentéséhez.',
|
||||
'tours.paddle.chooseBoatImport': 'Válaszd ki a hajót és a vizet az evezős túraként való importáláshoz.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Az evezős túrát kézzel rajzolod: a TREK egyenes vonalakkal köti össze a pontjaidat. Semmi sincs útvonalra tervezve, és semmi sem mondja, hogy a víz járható.',
|
||||
'tours.paddle.timeEstimated': 'Evezési idő (becslés)',
|
||||
'tours.paddle.timeEstimatedShort': 'Evezés',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Így becsüljük az evezési időt',
|
||||
@@ -337,6 +335,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Átemelés',
|
||||
'tours.paddle.portageOn': 'Átemelés innentől',
|
||||
'tours.paddle.portageOff': 'Újra evezés ezen a szakaszon',
|
||||
'tours.paddle.portagePending': 'Innen átemelés',
|
||||
'tours.paddle.portagePendingHint': 'Most tedd le a pontot, ahol újra vízre szállsz. A hajót addig viszed.',
|
||||
'tours.paddle.portagePendingOff': 'Mégse emeld át',
|
||||
'tours.paddle.portageWay': 'Nyomvonal',
|
||||
'tours.paddle.portageWay.follow': 'Kövesd az utat',
|
||||
'tours.paddle.portageWay.straight': 'Egyenes vonal',
|
||||
'tours.paddle.portageWay.noWay': 'Nincs út nagy kerülő nélkül, a vonal egyenes marad.',
|
||||
'tours.paddle.portageWay.searching': 'Út keresése',
|
||||
'tours.paddle.placeHere.putIn': 'Itt szállj vízre',
|
||||
'tours.paddle.placeHere.egress': 'Itt szállj ki',
|
||||
'tours.paddle.portageInfo':
|
||||
'Itt a hajót a parton viszed. A szakasz szárazföldnek számít, a kiszállás, a kipakolás és a vízre tétel idejével együtt.',
|
||||
'tours.paddle.portageExtra': 'Ki- és beszállás',
|
||||
@@ -533,5 +541,63 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Az evezés kockázatokkal jár. Ellenőrizd magad a vizet, a szabályokat és az időjárást.',
|
||||
'tours.paddle.safety.text':
|
||||
'Az evezés kockázatokkal jár. A térképek, útvonaljavaslatok és megjegyzések hiányosak vagy elavultak lehetnek. A túra előtt ellenőrizd az aktuális helyi körülményeket, a vízhasználati szabályokat és az időjárást. Tegyél megfelelő biztonsági intézkedéseket. A TREK támogatja a tervezésedet, de nem helyettesíti a saját ellenőrzésedet és felelős döntésedet.',
|
||||
'tours.planner.shapingPoint': 'Alakítópont',
|
||||
'tours.planner.shapingHint':
|
||||
'Irányítja az útvonalat anélkül, hogy megálló lenne. Húzd oda, ahol az útvonalnak haladnia kell.',
|
||||
'tours.planner.makeStop': 'Legyen megálló',
|
||||
'tours.planner.makeShaping': 'Legyen alakítópont',
|
||||
'tours.planner.recomputeLeg': 'Következő szakasz újratervezése',
|
||||
'tours.planner.shapeOnLine': 'Kattints az útvonalra a térképen, hogy oda alakítópontot tegyél.',
|
||||
'tours.paddle.routeOnWater': 'Következő szakasz tervezése a vízen',
|
||||
'tours.paddle.routeAllOnWater': 'Kézzel rajzolt szakaszok tervezése a vízen',
|
||||
'tours.paddle.auto': 'Felismert',
|
||||
'tours.paddle.autoHint':
|
||||
'A TREK egy útközben talált átemelőhelyhez vagy zsiliphez tette ezt a pontot. Ha áthelyezed vagy módosítod, a tiéd lesz.',
|
||||
'tours.paddle.note.rapids': 'Vadvíz {grade}',
|
||||
'tours.paddle.note.pass': 'Csónakcsúszda',
|
||||
'tours.paddle.note.gap': 'Hiány a térképadatokban',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Az útvonal itt mozgó vízen halad át. Előbb nézd meg, és kétség esetén emeld át a hajót.',
|
||||
'tours.paddle.note.gapHint': 'A vízadatokban itt hiány van, egyenes vonallal áthidalva. Ellenőrizd a helyszínen.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'A szakasz egyik vége nincs a TREK által ismert vízen. Helyezd a folyóra vagy a tóra.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Ehhez a területhez még nincsenek vízadatok. Egy rendszergazda hozzáadhatja a régiót.',
|
||||
'tours.paddle.failed.building': 'A régió vízadatai még előkészítés alatt állnak. Próbáld újra néhány perc múlva.',
|
||||
'tours.paddle.failed.no_water_path': 'A TREK nem talált vízi utat a pontok között.',
|
||||
'tours.paddle.failed.cross_region': 'Ezek a pontok két olyan régióban vannak, amelyeknek nincsenek közös vízadataik.',
|
||||
'tours.paddle.failed.busy': 'Az útvonaltervező foglalt. Próbáld újra egy pillanat múlva.',
|
||||
'tours.paddle.failed.timeout': 'A szakasz tervezése túl sokáig tartott. Tegyél közé egy pontot, és próbáld újra.',
|
||||
'tours.paddle.failed.offline': 'Nincs kapcsolat. A szakaszt akkor tervezzük meg, amikor újra csatlakozol.',
|
||||
'tours.paddle.drawStraight': 'Egyenes vonal',
|
||||
'tours.paddle.retry': 'Újra',
|
||||
'tours.paddle.load.loading': '{region} vízadatainak betöltése',
|
||||
'tours.paddle.load.ready': '{region} vízadatai megérkeztek, a szakasz tervezése folyik.',
|
||||
'tours.paddle.load.requested':
|
||||
'{region} vízadatait kérték. A szakaszt akkor tervezi meg, amint egy admin jóváhagyja.',
|
||||
'tours.paddle.load.waiting': 'Más régiókra vár',
|
||||
'tours.paddle.load.phase.download': 'Letöltés',
|
||||
'tours.paddle.load.phase.read': 'Beolvasás',
|
||||
'tours.paddle.load.phase.build': 'Vízhálózat építése',
|
||||
'tours.paddle.load.hint': 'Általában egy-három perc. Tervezz nyugodtan tovább, a szakasz utána magától elkészül.',
|
||||
'tours.paddle.load.reason.tooLarge': 'A régió nagyobb annál, amit a TREK magától betölt.',
|
||||
'tours.paddle.load.reason.limit': 'A TREK ma már elég régiót töltött be magától.',
|
||||
'tours.paddle.load.declined': 'Egy admin elutasította {region} vízadatait.',
|
||||
'tours.paddle.load.failed': '{region} vízadatait nem sikerült betölteni.',
|
||||
'tours.paddle.load.noWater': '{region} vízadataiban itt nincs víz. Tedd a pontot a folyóra vagy a tóra.',
|
||||
'tours.paddle.load.noExtract': 'Ehhez a területhez nincs vízadatokat tartalmazó térképkivonat.',
|
||||
'tours.paddle.load.catalogUnavailable': 'A régiók listája most nem érhető el. Próbáld újra később.',
|
||||
'tours.paddle.lakeStyle': 'Tavakon át',
|
||||
'tours.paddle.lakeStyle.direct': 'Egyenesen',
|
||||
'tours.paddle.lakeStyle.shore': 'Part mentén',
|
||||
'tours.paddle.lakeStyle.directHint': 'A legrövidebb vonal nyílt vízen.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'A part közelében marad, szeles napokra: hosszabb, de a szárazföld sosincs messze.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Ezen a napon akár {mean} km/h, széllökések {gusts} km/h. A tavakon a part menti vonal lehet a jobb.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Tervezés a part mentén',
|
||||
'tours.paddle.wind.shoreTaken': 'A tavak a part mentén vannak megtervezve.',
|
||||
'tours.paddle.status.unrouted': '{count} szakasz nincs megtervezve',
|
||||
'tours.paddle.status.unrouted.one': '{count} szakasz nincs megtervezve',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -877,5 +877,37 @@ const admin: TranslationStrings = {
|
||||
'Data © kontributor OpenStreetMap (ODbL), ekstrak regional dari Geofabrik. Dibaca ulang setiap tanggal 3 tiap bulan.',
|
||||
'admin.paddleRegions.toast.added': 'Wilayah ditambahkan. TREK membacanya di latar belakang.',
|
||||
'admin.paddleRegions.toast.removed': 'Wilayah dihapus',
|
||||
'admin.paddleRegions.phase.build': 'Membangun jaringan perairan',
|
||||
'admin.paddleRegions.network.km': '{km} km perairan',
|
||||
'admin.paddleRegions.network.lakes': '{count} danau',
|
||||
'admin.paddleRegions.network.portages': '{count} tempat angkut terpetakan',
|
||||
'admin.paddleRegions.network.inferred': '{count} angkutan perkiraan',
|
||||
'admin.paddleRegions.network.locks': '{count} pintu air',
|
||||
'admin.paddleRegions.network.gaps': '{count} celah dijembatani',
|
||||
'admin.paddleRegions.network.missing': 'Tanpa jaringan perairan',
|
||||
'admin.paddleRegions.network.missingHint': 'Baca ulang wilayah untuk membangun jaringan yang diikuti rute dayung.',
|
||||
'admin.paddleRegions.auto.title': 'Muat wilayah otomatis',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Otomatis',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Atas permintaan',
|
||||
'admin.paddleRegions.auto.mode.off': 'Mati',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Saat seseorang merencanakan tur dayung di tempat yang belum punya data air, TREK langsung memuat wilayah terkecil yang cocok, sampai batas ukuran dan hanya beberapa per hari. Yang lebih besar menunggu di sini sebagai permintaan. Hanya nama wilayah yang dikirim ke Geofabrik, tidak pernah lokasinya.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Setiap wilayah baru menunggu di sini sampai admin mengizinkannya. Saat admin sendiri merencanakan, wilayah langsung dimuat.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK tidak memuat apa pun sendiri dan tidak meminta apa pun. Tambahkan wilayah di sini secara manual.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Wilayah terbesar yang dimuat otomatis',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Wilayah yang lebih besar menunggu di sini sebagai permintaan. Membaca wilayah butuh beberapa menit dan memakai memori selama berjalan.',
|
||||
'admin.paddleRegions.requests.title': 'Diminta',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Atas permintaan',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Terlalu besar',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Batas harian',
|
||||
'admin.paddleRegions.requests.declined': 'Ditolak',
|
||||
'admin.paddleRegions.requests.by': 'oleh {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Muat',
|
||||
'admin.paddleRegions.requests.decline': 'Tolak',
|
||||
'admin.paddleRegions.origin.auto': 'Otomatis',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK memuat wilayah ini sendiri untuk tur dayung yang direncanakan di sana.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -58,6 +58,10 @@ const id: NotificationLocale = {
|
||||
`Penulisan replika gagal pada '${p.backend}': ${p.op} dari ${p.key} — ${p.error}.` +
|
||||
(p.suppressed !== '0' ? ` ${p.suppressed} kegagalan lainnya tidak dilaporkan sejak notifikasi terakhir.` : ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Wilayah dayung diminta',
|
||||
body: `${p.actor} merencanakan tur dayung di ${p.region}. Muat atau tolak data airnya di area admin pada Add-on.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Sesi Synology dihapus',
|
||||
body: 'Akun atau URL Synology Anda berubah. Anda telah keluar dari Synology Photos.',
|
||||
|
||||
@@ -31,6 +31,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Penulisan replika gagal pada '{backend}': {op} dari {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Penulisan replika gagal pada '{backend}': {op} dari {key} — {error}. {suppressed} kegagalan lainnya diabaikan sejak notifikasi terakhir.",
|
||||
'notif.paddle_region_requested.title': 'Wilayah dayung diminta',
|
||||
'notif.paddle_region_requested.text': '{actor} merencanakan tur dayung di {region}',
|
||||
'notif.action.view_trip': 'Lihat Perjalanan',
|
||||
'notif.action.view_collab': 'Lihat Pesan',
|
||||
'notif.action.view_packing': 'Lihat Perlengkapan',
|
||||
|
||||
@@ -105,6 +105,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Notifikasi webhook',
|
||||
'settings.notifyVersionAvailable': 'Versi baru tersedia',
|
||||
'settings.notifyReplicaFailure': 'Kegagalan replika penyimpanan',
|
||||
'settings.notifyPaddleRegionRequested': 'Wilayah dayung diminta',
|
||||
'settings.notificationPreferences.email': 'Email',
|
||||
'settings.notificationPreferences.webhook': 'Webhook',
|
||||
'settings.notificationPreferences.inapp': 'In-App',
|
||||
|
||||
@@ -286,8 +286,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Masukkan kecepatan dari 0,5 hingga 20 km/jam.',
|
||||
'tours.paddle.chooseBoat': 'Pilih perahu dan perairan untuk menyimpan tur dayung ini.',
|
||||
'tours.paddle.chooseBoatImport': 'Pilih perahu dan perairan untuk mengimpor sebagai tur dayung.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Tur dayung digambar dengan tangan: TREK menghubungkan titik-titikmu dengan garis lurus. Tidak ada yang dirutekan, dan tidak ada yang menyatakan perairan bisa didayung.',
|
||||
'tours.paddle.timeEstimated': 'Waktu mendayung (perkiraan)',
|
||||
'tours.paddle.timeEstimatedShort': 'Mendayung',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Cara memperkirakan waktu mendayung',
|
||||
@@ -326,6 +324,17 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Angkut perahu',
|
||||
'tours.paddle.portageOn': 'Angkut perahu dari sini',
|
||||
'tours.paddle.portageOff': 'Dayung lagi ruas ini',
|
||||
'tours.paddle.portagePending': 'Pikul dari sini',
|
||||
'tours.paddle.portagePendingHint':
|
||||
'Sekarang tetapkan titik tempat kamu turun ke air lagi. Perahu dipikul sampai sana.',
|
||||
'tours.paddle.portagePendingOff': 'Batal memikul',
|
||||
'tours.paddle.portageWay': 'Jalur',
|
||||
'tours.paddle.portageWay.follow': 'Ikuti jalan setapak',
|
||||
'tours.paddle.portageWay.straight': 'Garis lurus',
|
||||
'tours.paddle.portageWay.noWay': 'Tidak ada jalan tanpa memutar jauh, garis tetap lurus.',
|
||||
'tours.paddle.portageWay.searching': 'Mencari jalan',
|
||||
'tours.paddle.placeHere.putIn': 'Turun ke air di sini',
|
||||
'tours.paddle.placeHere.egress': 'Keluar dari air di sini',
|
||||
'tours.paddle.portageInfo':
|
||||
'Perahu diangkut di sini. Ruas ini dihitung sebagai darat, dengan waktu untuk keluar, menurunkan muatan, dan masuk kembali ke air.',
|
||||
'tours.paddle.portageExtra': 'Keluar dan masuk',
|
||||
@@ -515,5 +524,62 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Mendayung punya risiko. Periksa sendiri perairan, aturan, dan cuaca.',
|
||||
'tours.paddle.safety.text':
|
||||
'Mendayung memiliki risiko. Peta, saran rute, dan catatan bisa tidak lengkap atau sudah usang. Sebelum tur, periksa kondisi setempat terkini, aturan penggunaan perairan, dan cuaca. Ambil langkah keselamatan yang sesuai. TREK mendukung perencanaanmu dan tidak menggantikan pemeriksaanmu sendiri serta keputusanmu yang bertanggung jawab.',
|
||||
'tours.planner.shapingPoint': 'Titik bentuk',
|
||||
'tours.planner.shapingHint': 'Mengarahkan rute tanpa menjadi perhentian. Seret ke tempat rute harus lewat.',
|
||||
'tours.planner.makeStop': 'Jadikan perhentian',
|
||||
'tours.planner.makeShaping': 'Jadikan titik bentuk',
|
||||
'tours.planner.recomputeLeg': 'Hitung ulang bagian berikutnya',
|
||||
'tours.planner.shapeOnLine': 'Klik rute di peta untuk menambahkan titik bentuk di sana.',
|
||||
'tours.paddle.routeOnWater': 'Rencanakan bagian berikutnya di air',
|
||||
'tours.paddle.routeAllOnWater': 'Rencanakan di air bagian yang digambar tangan',
|
||||
'tours.paddle.auto': 'Ditemukan',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK menaruh titik ini di tempat angkut perahu atau pintu air yang ditemukan di jalan. Jika kamu memindahkan atau mengubahnya, titik ini jadi milikmu.',
|
||||
'tours.paddle.note.rapids': 'Jeram {grade}',
|
||||
'tours.paddle.note.pass': 'Jalur perahu',
|
||||
'tours.paddle.note.gap': 'Celah di data peta',
|
||||
'tours.paddle.note.rapidsHint': 'Rute melewati air deras di sini. Periksa dulu dan angkut perahu jika ragu.',
|
||||
'tours.paddle.note.gapHint': 'Data perairan punya celah di sini, dijembatani garis lurus. Periksa di lokasi.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Salah satu ujung bagian ini tidak berada di perairan yang dikenal TREK. Pindahkan ke sungai atau danau.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Belum ada data perairan untuk area ini. Administrator dapat menambahkan wilayahnya.',
|
||||
'tours.paddle.failed.building': 'Data perairan wilayah ini masih disiapkan. Coba lagi dalam beberapa menit.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK tidak menemukan jalan di air antara titik-titik ini.',
|
||||
'tours.paddle.failed.cross_region': 'Titik-titik ini berada di dua wilayah tanpa data perairan bersama.',
|
||||
'tours.paddle.failed.busy': 'Perencana rute sedang sibuk. Coba lagi sebentar lagi.',
|
||||
'tours.paddle.failed.timeout': 'Merencanakan bagian ini terlalu lama. Tambahkan titik di antaranya dan coba lagi.',
|
||||
'tours.paddle.failed.offline': 'Luring. Bagian ini akan direncanakan saat kamu tersambung lagi.',
|
||||
'tours.paddle.drawStraight': 'Gambar lurus',
|
||||
'tours.paddle.retry': 'Coba lagi',
|
||||
'tours.paddle.load.loading': 'Memuat data air untuk {region}',
|
||||
'tours.paddle.load.ready': 'Data air untuk {region} sudah ada, ruas sedang direncanakan.',
|
||||
'tours.paddle.load.requested':
|
||||
'Data air untuk {region} sudah diminta. Ruas direncanakan begitu admin mengizinkannya.',
|
||||
'tours.paddle.load.waiting': 'Menunggu wilayah lain',
|
||||
'tours.paddle.load.phase.download': 'Mengunduh',
|
||||
'tours.paddle.load.phase.read': 'Membaca',
|
||||
'tours.paddle.load.phase.build': 'Membangun jaringan air',
|
||||
'tours.paddle.load.hint':
|
||||
'Biasanya satu sampai tiga menit. Lanjutkan merencanakan, ruas akan direncanakan sendiri setelahnya.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Wilayah ini lebih besar dari yang dimuat TREK sendiri.',
|
||||
'tours.paddle.load.reason.limit': 'TREK sudah memuat cukup banyak wilayah sendiri hari ini.',
|
||||
'tours.paddle.load.declined': 'Admin menolak data air untuk {region}.',
|
||||
'tours.paddle.load.failed': 'Data air untuk {region} tidak dapat dimuat.',
|
||||
'tours.paddle.load.noWater':
|
||||
'Data air untuk {region} tidak punya perairan di sini. Letakkan titik di sungai atau danau.',
|
||||
'tours.paddle.load.noExtract': 'Tidak ada potongan peta dengan data air untuk area ini.',
|
||||
'tours.paddle.load.catalogUnavailable': 'Daftar wilayah tidak dapat dijangkau saat ini. Coba lagi nanti.',
|
||||
'tours.paddle.lakeStyle': 'Melintasi danau',
|
||||
'tours.paddle.lakeStyle.direct': 'Lurus',
|
||||
'tours.paddle.lakeStyle.shore': 'Dekat tepi',
|
||||
'tours.paddle.lakeStyle.directHint': 'Garis terpendek melintasi perairan terbuka.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Tetap dekat tepi, untuk hari berangin: lebih panjang, tetapi daratan tak pernah jauh.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Hingga {mean} km/h, embusan {gusts} km/h pada hari ini. Di danau, tetap dekat tepi mungkin jalur yang lebih baik.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Rencanakan dekat tepi',
|
||||
'tours.paddle.wind.shoreTaken': 'Danau direncanakan dekat tepi.',
|
||||
'tours.paddle.status.unrouted': '{count} bagian belum direncanakan',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -894,5 +894,43 @@ const admin: TranslationStrings = {
|
||||
'Dati © contributori di OpenStreetMap (ODbL), estratti regionali di Geofabrik. Riletti il 3 di ogni mese.',
|
||||
'admin.paddleRegions.toast.added': 'Regione aggiunta. TREK la legge in background.',
|
||||
'admin.paddleRegions.toast.removed': 'Regione rimossa',
|
||||
'admin.paddleRegions.phase.build': 'Costruzione della rete delle acque',
|
||||
'admin.paddleRegions.network.km': '{km} km di acque',
|
||||
'admin.paddleRegions.network.lakes': '{count} laghi',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} lago',
|
||||
'admin.paddleRegions.network.portages': '{count} trasbordi mappati',
|
||||
'admin.paddleRegions.network.portages.one': '{count} trasbordo mappato',
|
||||
'admin.paddleRegions.network.inferred': '{count} trasbordi presunti',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} trasbordo presunto',
|
||||
'admin.paddleRegions.network.locks': '{count} chiuse',
|
||||
'admin.paddleRegions.network.locks.one': '{count} chiusa',
|
||||
'admin.paddleRegions.network.gaps': '{count} lacune colmate',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} lacuna colmata',
|
||||
'admin.paddleRegions.network.missing': 'Nessuna rete delle acque',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Rileggi la regione per costruire la rete che segue il percorso in pagaia.',
|
||||
'admin.paddleRegions.auto.title': 'Carica le regioni automaticamente',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automatico',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Su richiesta',
|
||||
'admin.paddleRegions.auto.mode.off': 'Spento',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
"Quando qualcuno pianifica un giro in canoa dove non ci sono ancora dati sull'acqua, TREK carica subito la regione più piccola adatta, fino al limite di dimensione e solo poche al giorno. Quelle più grandi aspettano qui come richiesta. A Geofabrik arriva solo il nome della regione, mai il luogo.",
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Ogni nuova regione aspetta qui finché un amministratore non la approva. Se pianifica un amministratore, si carica subito.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK non carica nulla da solo e non chiede nulla. Aggiungi le regioni qui a mano.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Regione più grande caricata automaticamente',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Le regioni più grandi aspettano qui come richiesta. Leggere una regione richiede qualche minuto e occupa memoria nel frattempo.',
|
||||
'admin.paddleRegions.requests.title': 'Richieste',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Su richiesta',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Troppo grande',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Limite giornaliero',
|
||||
'admin.paddleRegions.requests.declined': 'Rifiutata',
|
||||
'admin.paddleRegions.requests.by': 'da {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Carica',
|
||||
'admin.paddleRegions.requests.decline': 'Rifiuta',
|
||||
'admin.paddleRegions.origin.auto': 'Automatico',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK ha caricato questa regione da solo per un giro in canoa pianificato lì.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -64,6 +64,10 @@ const it: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Regione canoa richiesta',
|
||||
body: `${p.actor} sta pianificando un giro in canoa in ${p.region}. Carica o rifiuta i suoi dati sull'acqua nell'area amministrazione, sotto Componenti.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Sessione Synology rimossa',
|
||||
body: 'Il tuo account o URL Synology è cambiato. Sei stato disconnesso da Synology Photos.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Scrittura sulla replica non riuscita su '{backend}': {op} di {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Scrittura sulla replica non riuscita su '{backend}': {op} di {key} — {error}. Altri {suppressed} errori sono stati soppressi dall'ultima notifica.",
|
||||
'notif.paddle_region_requested.title': 'Regione canoa richiesta',
|
||||
'notif.paddle_region_requested.text': '{actor} sta pianificando un giro in canoa in {region}',
|
||||
'notif.action.view_trip': 'Vedi viaggio',
|
||||
'notif.action.view_collab': 'Vedi messaggi',
|
||||
'notif.action.view_packing': 'Vedi bagagli',
|
||||
|
||||
@@ -300,6 +300,7 @@ const settings: TranslationStrings = {
|
||||
"Mostra i nomi di stazioni / aeroporti sulla mappa. Se disattivato, viene mostrata solo l'icona.",
|
||||
'settings.notifyVersionAvailable': 'Nuova versione disponibile',
|
||||
'settings.notifyReplicaFailure': "Errore di replica dell'archiviazione",
|
||||
'settings.notifyPaddleRegionRequested': 'Regione canoa richiesta',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'Nessun canale di notifica configurato. Chiedi a un amministratore di configurare notifiche via e-mail o webhook.',
|
||||
'settings.webhookUrl.label': 'URL webhook',
|
||||
|
||||
@@ -293,8 +293,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Inserisci una velocità da 0,5 a 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Scegli imbarcazione e acqua per salvare questa uscita.',
|
||||
'tours.paddle.chooseBoatImport': 'Scegli imbarcazione e acqua per importare come uscita in pagaia.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Un’uscita in pagaia si disegna a mano: TREK collega i tuoi punti con linee rette. Niente viene calcolato e niente dice che l’acqua sia navigabile.',
|
||||
'tours.paddle.timeEstimated': 'Tempo di pagaiata (stimato)',
|
||||
'tours.paddle.timeEstimatedShort': 'Pagaiata',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Come si stima il tempo di pagaiata',
|
||||
@@ -337,6 +335,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Trasbordo',
|
||||
'tours.paddle.portageOn': 'Trasporta l’imbarcazione da qui',
|
||||
'tours.paddle.portageOff': 'Torna a pagaiare su questo tratto',
|
||||
'tours.paddle.portagePending': 'Trasbordo da qui',
|
||||
'tours.paddle.portagePendingHint': 'Ora imposta il punto in cui rientri in acqua. La barca viene portata fin lì.',
|
||||
'tours.paddle.portagePendingOff': 'Niente trasbordo',
|
||||
'tours.paddle.portageWay': 'Percorso',
|
||||
'tours.paddle.portageWay.follow': 'Segui il sentiero',
|
||||
'tours.paddle.portageWay.straight': 'Linea retta',
|
||||
'tours.paddle.portageWay.noWay': 'Nessun sentiero senza una lunga deviazione, la linea resta retta.',
|
||||
'tours.paddle.portageWay.searching': 'Ricerca di un sentiero',
|
||||
'tours.paddle.placeHere.putIn': 'Entra in acqua qui',
|
||||
'tours.paddle.placeHere.egress': "Esci dall'acqua qui",
|
||||
'tours.paddle.portageInfo':
|
||||
'Qui l’imbarcazione viene trasportata. Il tratto conta come terraferma, con il tempo per sbarcare, scaricare e reimbarcarsi.',
|
||||
'tours.paddle.portageExtra': 'Sbarco e reimbarco',
|
||||
@@ -535,5 +543,67 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Pagaiare comporta dei rischi. Controlla di persona acqua, regole e meteo.',
|
||||
'tours.paddle.safety.text':
|
||||
'Pagaiare comporta dei rischi. Mappe, proposte di percorso e indicazioni possono essere incomplete o non aggiornate. Prima dell’uscita controlla le condizioni locali attuali, le regole di navigazione dello specchio d’acqua e il meteo. Adotta misure di sicurezza adeguate. TREK supporta la tua pianificazione e non sostituisce il tuo controllo personale né la tua decisione responsabile.',
|
||||
'tours.planner.shapingPoint': 'Punto di forma',
|
||||
'tours.planner.shapingHint': 'Guida il percorso senza essere una tappa. Trascinalo dove deve passare il percorso.',
|
||||
'tours.planner.makeStop': 'Rendilo una tappa',
|
||||
'tours.planner.makeShaping': 'Rendilo un punto di forma',
|
||||
'tours.planner.recomputeLeg': 'Ricalcola il tratto successivo',
|
||||
'tours.planner.shapeOnLine': 'Fai clic sul percorso nella mappa per aggiungervi un punto di forma.',
|
||||
'tours.paddle.routeOnWater': 'Pianifica il tratto successivo sull’acqua',
|
||||
'tours.paddle.routeAllOnWater': 'Pianifica sull’acqua i tratti disegnati a mano',
|
||||
'tours.paddle.auto': 'Rilevato',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK ha messo questo punto a un trasbordo o a una chiusa trovati lungo il percorso. Se lo sposti o lo modifichi, diventa tuo.',
|
||||
'tours.paddle.note.rapids': 'Acque bianche {grade}',
|
||||
'tours.paddle.note.pass': 'Scivolo per canoe',
|
||||
'tours.paddle.note.gap': 'Lacuna nei dati della mappa',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Qui il percorso attraversa acque mosse. Ispeziona prima e trasborda in caso di dubbio.',
|
||||
'tours.paddle.note.gapHint':
|
||||
'I dati sulle acque hanno qui una lacuna, colmata con una linea retta. Verifica sul posto.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Un estremo di questo tratto non è su nessuna acqua nota a TREK. Spostalo sul fiume o sul lago.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Non ci sono ancora dati sulle acque per questa zona. Un amministratore può aggiungere la regione.',
|
||||
'tours.paddle.failed.building':
|
||||
'I dati sulle acque di questa regione sono ancora in preparazione. Riprova tra qualche minuto.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK non ha trovato un percorso sull’acqua tra questi punti.',
|
||||
'tours.paddle.failed.cross_region': 'Questi punti si trovano in due regioni senza dati sulle acque in comune.',
|
||||
'tours.paddle.failed.busy': 'Il pianificatore di percorsi è occupato. Riprova tra un momento.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'La pianificazione di questo tratto ha richiesto troppo tempo. Aggiungi un punto intermedio e riprova.',
|
||||
'tours.paddle.failed.offline': 'Nessuna connessione. Questo tratto verrà pianificato appena sarai di nuovo connesso.',
|
||||
'tours.paddle.drawStraight': 'Traccia dritto',
|
||||
'tours.paddle.retry': 'Riprova',
|
||||
'tours.paddle.load.loading': "Caricamento dei dati sull'acqua di {region}",
|
||||
'tours.paddle.load.ready': "I dati sull'acqua di {region} sono arrivati, il tratto viene pianificato.",
|
||||
'tours.paddle.load.requested':
|
||||
"I dati sull'acqua di {region} sono stati richiesti. Il tratto viene pianificato appena un amministratore li approva.",
|
||||
'tours.paddle.load.waiting': 'In attesa di altre regioni',
|
||||
'tours.paddle.load.phase.download': 'Download',
|
||||
'tours.paddle.load.phase.read': 'Lettura',
|
||||
'tours.paddle.load.phase.build': "Costruzione della rete d'acqua",
|
||||
'tours.paddle.load.hint':
|
||||
'Di solito da uno a tre minuti. Continua a pianificare, il tratto si pianifica da solo dopo.',
|
||||
'tours.paddle.load.reason.tooLarge': 'La regione è più grande di quanto TREK carica da solo.',
|
||||
'tours.paddle.load.reason.limit': 'Oggi TREK ha già caricato abbastanza regioni da solo.',
|
||||
'tours.paddle.load.declined': "Un amministratore ha rifiutato i dati sull'acqua di {region}.",
|
||||
'tours.paddle.load.failed': "Impossibile caricare i dati sull'acqua di {region}.",
|
||||
'tours.paddle.load.noWater':
|
||||
"Nei dati sull'acqua di {region} qui non c'è acqua. Metti il punto sul fiume o sul lago.",
|
||||
'tours.paddle.load.noExtract': "Non esiste un estratto di mappa con dati sull'acqua per questa zona.",
|
||||
'tours.paddle.load.catalogUnavailable': "L'elenco delle regioni non è raggiungibile al momento. Riprova più tardi.",
|
||||
'tours.paddle.lakeStyle': 'Sui laghi',
|
||||
'tours.paddle.lakeStyle.direct': 'In linea retta',
|
||||
'tours.paddle.lakeStyle.shore': 'Vicino alla riva',
|
||||
'tours.paddle.lakeStyle.directHint': 'La linea più breve in acque aperte.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Resta vicino alla riva, per le giornate ventose: più lungo, ma la terra non è mai lontana.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Fino a {mean} km/h, raffiche a {gusts} km/h in questo giorno. Sui laghi restare vicino alla riva potrebbe essere la linea migliore.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Pianifica vicino alla riva',
|
||||
'tours.paddle.wind.shoreTaken': 'I laghi sono pianificati vicino alla riva.',
|
||||
'tours.paddle.status.unrouted': '{count} tratti non pianificati',
|
||||
'tours.paddle.status.unrouted.one': '{count} tratto non pianificato',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -836,5 +836,38 @@ const admin: TranslationStrings = {
|
||||
'データ © OpenStreetMap 貢献者(ODbL)、地域別の抽出データは Geofabrik によるものです。毎月 3 日に読み直します。',
|
||||
'admin.paddleRegions.toast.added': '地域を追加しました。TREK がバックグラウンドで読み込みます。',
|
||||
'admin.paddleRegions.toast.removed': '地域を削除しました',
|
||||
'admin.paddleRegions.phase.build': '水路ネットワークを構築中',
|
||||
'admin.paddleRegions.network.km': '水域 {km} km',
|
||||
'admin.paddleRegions.network.lakes': '湖 {count} 件',
|
||||
'admin.paddleRegions.network.portages': '地図上のポーテージ {count} 件',
|
||||
'admin.paddleRegions.network.inferred': '推定の担ぎ {count} 件',
|
||||
'admin.paddleRegions.network.locks': '閘門 {count} 件',
|
||||
'admin.paddleRegions.network.gaps': 'つないだ欠落 {count} 件',
|
||||
'admin.paddleRegions.network.missing': '水路ネットワークなし',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'地域を読み込み直すと、パドリングのルートが使うネットワークが構築されます。',
|
||||
'admin.paddleRegions.auto.title': '地域を自動で読み込む',
|
||||
'admin.paddleRegions.auto.mode.auto': '自動',
|
||||
'admin.paddleRegions.auto.mode.ask': 'リクエスト制',
|
||||
'admin.paddleRegions.auto.mode.off': 'オフ',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'水域データのない場所でパドルツアーが計画されると、TREKは該当する最小の地域をすぐに読み込みます。サイズ上限まで、1日に数件だけです。それより大きいものはここでリクエストとして待ちます。Geofabrikに送られるのは地域名だけで、場所は送られません。',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'新しい地域は管理者が許可するまでここで待ちます。管理者自身が計画した場合はすぐに読み込みます。',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREKは自分では何も読み込まず、リクエストも出しません。地域はここで手動で追加してください。',
|
||||
'admin.paddleRegions.auto.maxSize': '自動で読み込む最大の地域',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'より大きい地域はここでリクエストとして待ちます。地域の読み込みには数分かかり、その間メモリを使います。',
|
||||
'admin.paddleRegions.requests.title': 'リクエスト',
|
||||
'admin.paddleRegions.requests.reason.ask': 'リクエスト制',
|
||||
'admin.paddleRegions.requests.reason.too_large': '大きすぎ',
|
||||
'admin.paddleRegions.requests.reason.limit': '1日の上限',
|
||||
'admin.paddleRegions.requests.declined': '却下',
|
||||
'admin.paddleRegions.requests.by': '{user}より',
|
||||
'admin.paddleRegions.requests.approve': '読み込む',
|
||||
'admin.paddleRegions.requests.decline': '却下する',
|
||||
'admin.paddleRegions.origin.auto': '自動',
|
||||
'admin.paddleRegions.origin.autoHint': 'この地域は、そこで計画されたパドルツアーのためにTREKが自動で読み込みました。',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -58,6 +58,10 @@ const ja: NotificationLocale = {
|
||||
`レプリカ '${p.backend}' への書き込みに失敗しました:${p.op} / ${p.key} — ${p.error}。` +
|
||||
(p.suppressed !== '0' ? `前回の通知以降、${p.suppressed}件の追加の失敗が抑制されました。` : ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'パドル地域のリクエスト',
|
||||
body: `${p.actor}が${p.region}でパドルツアーを計画しています。管理画面のアドオンで水域データを読み込むか却下してください。`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synologyセッションがクリアされました',
|
||||
body: 'SynologyアカウントまたはURLが変更されました。Synology Photosからログアウトされました。',
|
||||
|
||||
@@ -31,6 +31,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "レプリカ '{backend}' への書き込みに失敗しました:{op} / {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"レプリカ '{backend}' への書き込みに失敗しました:{op} / {key} — {error}。前回の通知以降、{suppressed}件の追加の失敗が抑制されました。",
|
||||
'notif.paddle_region_requested.title': 'パドル地域のリクエスト',
|
||||
'notif.paddle_region_requested.text': '{actor}が{region}でパドルツアーを計画しています',
|
||||
'notif.action.view_trip': '旅行を見る',
|
||||
'notif.action.view_collab': 'メッセージを見る',
|
||||
'notif.action.view_packing': '持ち物を見る',
|
||||
|
||||
@@ -106,6 +106,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Webhook通知',
|
||||
'settings.notifyVersionAvailable': '新しいバージョン',
|
||||
'settings.notifyReplicaFailure': 'ストレージレプリカの障害',
|
||||
'settings.notifyPaddleRegionRequested': 'パドル地域のリクエスト',
|
||||
'settings.notificationPreferences.email': 'メール',
|
||||
'settings.notificationPreferences.webhook': 'Webhook',
|
||||
'settings.notificationPreferences.inapp': 'アプリ内',
|
||||
|
||||
@@ -280,8 +280,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': '0.5〜20 km/h の速度を入力してください。',
|
||||
'tours.paddle.chooseBoat': 'このパドルツアーを保存するには、ボートと水域を選んでください。',
|
||||
'tours.paddle.chooseBoatImport': 'パドルツアーとして取り込むには、ボートと水域を選んでください。',
|
||||
'tours.paddle.drawnByHand':
|
||||
'パドルツアーは手で描きます。TREK はポイントを直線で結ぶだけで、ルート計算はせず、その水域を漕げることも示しません。',
|
||||
'tours.paddle.timeEstimated': 'パドル時間(推定)',
|
||||
'tours.paddle.timeEstimatedShort': 'パドル',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'パドル時間の見積もり方',
|
||||
@@ -320,6 +318,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': '陸上運搬',
|
||||
'tours.paddle.portageOn': 'ここからボートを運ぶ',
|
||||
'tours.paddle.portageOff': 'この区間を再び漕ぐ',
|
||||
'tours.paddle.portagePending': 'ここから陸上運搬',
|
||||
'tours.paddle.portagePendingHint': '再び水に出る地点を設定してください。そこまで艇を運びます。',
|
||||
'tours.paddle.portagePendingOff': '陸上運搬をやめる',
|
||||
'tours.paddle.portageWay': '経路',
|
||||
'tours.paddle.portageWay.follow': '道に沿う',
|
||||
'tours.paddle.portageWay.straight': '直線',
|
||||
'tours.paddle.portageWay.noWay': '大きく遠回りしない道が見つからないため、直線のままです。',
|
||||
'tours.paddle.portageWay.searching': '道を探しています',
|
||||
'tours.paddle.placeHere.putIn': 'ここから出艇',
|
||||
'tours.paddle.placeHere.egress': 'ここで上陸',
|
||||
'tours.paddle.portageInfo':
|
||||
'ここではボートを運びます。この区間は陸路として扱い、上陸、荷降ろし、再出艇の時間を加えます。',
|
||||
'tours.paddle.portageExtra': '上陸と再出艇',
|
||||
@@ -507,5 +515,58 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'パドリングには危険が伴います。水域、ルール、天候は自分で確認してください。',
|
||||
'tours.paddle.safety.text':
|
||||
'パドリングには危険が伴います。地図、ルートの提案、注意事項は不完全だったり古くなっていたりすることがあります。ツアーの前に、現地の最新の状況、水域の利用ルール、天候を確認してください。適切な安全対策をとってください。TREK はあなたの計画を支援するものであり、自分自身での確認と責任ある判断に代わるものではありません。',
|
||||
'tours.planner.shapingPoint': '形状ポイント',
|
||||
'tours.planner.shapingHint': '停留地点にならずにルートを導きます。ルートを通したい場所へドラッグしてください。',
|
||||
'tours.planner.makeStop': '停留地点にする',
|
||||
'tours.planner.makeShaping': '形状ポイントにする',
|
||||
'tours.planner.recomputeLeg': '次の区間を再計算',
|
||||
'tours.planner.shapeOnLine': '地図上のルートをクリックすると、そこに形状ポイントを追加できます。',
|
||||
'tours.paddle.routeOnWater': '次の区間を水上で計画',
|
||||
'tours.paddle.routeAllOnWater': '手描きの区間を水上で計画',
|
||||
'tours.paddle.auto': '検出',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK が途中で見つけたポーテージまたは閘門にこの地点を置きました。移動や変更をすると、あなたの地点になります。',
|
||||
'tours.paddle.note.rapids': '急流 {grade} 級',
|
||||
'tours.paddle.note.pass': 'カヌー水路',
|
||||
'tours.paddle.note.gap': '地図データの欠落',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'ここでルートは流れのある水域を通ります。先に下見をし、迷ったら担いで迂回してください。',
|
||||
'tours.paddle.note.gapHint': 'ここは水域データに欠落があり、直線でつないでいます。現地で確認してください。',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'この区間の端の一方が、TREK が知る水域上にありません。川か湖の上に移動してください。',
|
||||
'tours.paddle.failed.no_region': 'この地域の水域データはまだありません。管理者が地域を追加できます。',
|
||||
'tours.paddle.failed.building': 'この地域の水域データはまだ準備中です。数分後にもう一度お試しください。',
|
||||
'tours.paddle.failed.no_water_path': 'TREK はこれらの地点の間に水上の経路を見つけられませんでした。',
|
||||
'tours.paddle.failed.cross_region': 'これらの地点は、水域データを共有しない 2 つの地域にあります。',
|
||||
'tours.paddle.failed.busy': 'ルートプランナーが混み合っています。少ししてからもう一度お試しください。',
|
||||
'tours.paddle.failed.timeout': 'この区間の計画に時間がかかりすぎました。間に地点を追加して、もう一度お試しください。',
|
||||
'tours.paddle.failed.offline': 'オフラインです。再接続するとこの区間が計画されます。',
|
||||
'tours.paddle.drawStraight': '直線で描く',
|
||||
'tours.paddle.retry': '再試行',
|
||||
'tours.paddle.load.loading': '{region}の水域データを読み込み中',
|
||||
'tours.paddle.load.ready': '{region}の水域データが届きました。区間を計画しています。',
|
||||
'tours.paddle.load.requested': '{region}の水域データをリクエストしました。管理者が許可するとすぐに区間を計画します。',
|
||||
'tours.paddle.load.waiting': '他の地域を待っています',
|
||||
'tours.paddle.load.phase.download': 'ダウンロード中',
|
||||
'tours.paddle.load.phase.read': '読み取り中',
|
||||
'tours.paddle.load.phase.build': '水域ネットワークを構築中',
|
||||
'tours.paddle.load.hint': '通常1〜3分です。そのまま計画を続けてください。区間は後で自動的に計画されます。',
|
||||
'tours.paddle.load.reason.tooLarge': 'この地域はTREKが自動で読み込む大きさを超えています。',
|
||||
'tours.paddle.load.reason.limit': 'TREKは今日すでに十分な数の地域を自動で読み込みました。',
|
||||
'tours.paddle.load.declined': '管理者が{region}の水域データを却下しました。',
|
||||
'tours.paddle.load.failed': '{region}の水域データを読み込めませんでした。',
|
||||
'tours.paddle.load.noWater': '{region}の水域データでは、ここに水域がありません。地点を川か湖の上に置いてください。',
|
||||
'tours.paddle.load.noExtract': 'この地域の水域データを含む地図抽出はありません。',
|
||||
'tours.paddle.load.catalogUnavailable': '地域の一覧に今は接続できません。後でもう一度お試しください。',
|
||||
'tours.paddle.lakeStyle': '湖の横断',
|
||||
'tours.paddle.lakeStyle.direct': 'まっすぐ',
|
||||
'tours.paddle.lakeStyle.shore': '岸沿い',
|
||||
'tours.paddle.lakeStyle.directHint': '開けた水面を最短で横切る線。',
|
||||
'tours.paddle.lakeStyle.shoreHint': '岸の近くを進みます。風の強い日向けで、長くなりますが陸から離れません。',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'この日は最大 {mean} km/h、突風 {gusts} km/h。湖では岸沿いのほうがよいかもしれません。',
|
||||
'tours.paddle.wind.shoreAdopt': '岸沿いで計画',
|
||||
'tours.paddle.wind.shoreTaken': '湖は岸沿いで計画されています。',
|
||||
'tours.paddle.status.unrouted': '未計画の区間 {count} 件',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -831,5 +831,37 @@ const admin: TranslationStrings = {
|
||||
'데이터 © OpenStreetMap 기여자 (ODbL), 지역별 추출본은 Geofabrik 제공. 매달 3일에 다시 읽습니다.',
|
||||
'admin.paddleRegions.toast.added': '지역을 추가했습니다. TREK이 백그라운드에서 읽습니다.',
|
||||
'admin.paddleRegions.toast.removed': '지역을 삭제했습니다',
|
||||
'admin.paddleRegions.phase.build': '수로망 구축 중',
|
||||
'admin.paddleRegions.network.km': '수역 {km} km',
|
||||
'admin.paddleRegions.network.lakes': '호수 {count}개',
|
||||
'admin.paddleRegions.network.portages': '지도에 있는 육로 운반 지점 {count}개',
|
||||
'admin.paddleRegions.network.inferred': '추정 운반 {count}개',
|
||||
'admin.paddleRegions.network.locks': '갑문 {count}개',
|
||||
'admin.paddleRegions.network.gaps': '이은 공백 {count}개',
|
||||
'admin.paddleRegions.network.missing': '수로망 없음',
|
||||
'admin.paddleRegions.network.missingHint': '지역을 다시 읽어 패들링 경로가 따르는 수로망을 구축하세요.',
|
||||
'admin.paddleRegions.auto.title': '지역 자동으로 불러오기',
|
||||
'admin.paddleRegions.auto.mode.auto': '자동',
|
||||
'admin.paddleRegions.auto.mode.ask': '요청 시',
|
||||
'admin.paddleRegions.auto.mode.off': '끄기',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'아직 수역 데이터가 없는 곳에서 누군가 패들 투어를 계획하면 TREK이 알맞은 가장 작은 지역을 바로 불러옵니다. 크기 한도까지, 하루에 몇 개만입니다. 더 큰 지역은 여기에서 요청으로 기다립니다. Geofabrik에는 지역 이름만 전달되며 위치는 절대 전달되지 않습니다.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'새 지역은 관리자가 허용할 때까지 여기에서 기다립니다. 관리자가 직접 계획하면 바로 불러옵니다.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK은 스스로 아무것도 불러오지 않고 요청도 하지 않습니다. 지역은 여기에서 직접 추가하세요.',
|
||||
'admin.paddleRegions.auto.maxSize': '자동으로 불러오는 최대 지역',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'더 큰 지역은 여기에서 요청으로 기다립니다. 지역을 읽는 데 몇 분이 걸리며 그동안 메모리를 사용합니다.',
|
||||
'admin.paddleRegions.requests.title': '요청됨',
|
||||
'admin.paddleRegions.requests.reason.ask': '요청 시',
|
||||
'admin.paddleRegions.requests.reason.too_large': '너무 큼',
|
||||
'admin.paddleRegions.requests.reason.limit': '일일 한도',
|
||||
'admin.paddleRegions.requests.declined': '거절됨',
|
||||
'admin.paddleRegions.requests.by': '{user} 요청',
|
||||
'admin.paddleRegions.requests.approve': '불러오기',
|
||||
'admin.paddleRegions.requests.decline': '거절',
|
||||
'admin.paddleRegions.origin.auto': '자동',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK이 그곳에서 계획된 패들 투어를 위해 이 지역을 스스로 불러왔습니다.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -58,6 +58,10 @@ const ko: NotificationLocale = {
|
||||
`복제본 '${p.backend}'에 쓰기가 실패했습니다: ${p.op} / ${p.key} — ${p.error}.` +
|
||||
(p.suppressed !== '0' ? ` 마지막 알림 이후 실패가 ${p.suppressed}건 더 있었지만 따로 알리지 않았습니다.` : ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: '패들 지역 요청',
|
||||
body: `${p.actor}님이 ${p.region}에서 패들 투어를 계획하고 있습니다. 관리 화면의 애드온에서 수역 데이터를 불러오거나 거절하세요.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synology 세션이 초기화되었습니다',
|
||||
body: 'Synology 계정 또는 URL이 변경되었습니다. Synology Photos에서 로그아웃되었습니다.',
|
||||
|
||||
@@ -31,6 +31,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "복제본 '{backend}'에 쓰기가 실패했습니다: {op} / {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"복제본 '{backend}'에 쓰기가 실패했습니다: {op} / {key} — {error}.마지막 알림 이후 {suppressed}개의 추가 실패가 억제되었습니다.",
|
||||
'notif.paddle_region_requested.title': '패들 지역 요청',
|
||||
'notif.paddle_region_requested.text': '{actor}님이 {region}에서 패들 투어를 계획하고 있습니다',
|
||||
'notif.action.view_trip': '여행 보기',
|
||||
'notif.action.view_collab': '메시지 보기',
|
||||
'notif.action.view_packing': '짐 목록 보기',
|
||||
|
||||
@@ -106,6 +106,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': '웹훅 알림',
|
||||
'settings.notifyVersionAvailable': '새 버전 사용 가능',
|
||||
'settings.notifyReplicaFailure': '스토리지 복제본 오류',
|
||||
'settings.notifyPaddleRegionRequested': '패들 지역 요청',
|
||||
'settings.notificationPreferences.email': '이메일',
|
||||
'settings.notificationPreferences.webhook': '웹훅',
|
||||
'settings.notificationPreferences.inapp': '앱 내',
|
||||
|
||||
@@ -278,8 +278,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': '0.5~20 km/h 사이의 속도를 입력하세요.',
|
||||
'tours.paddle.chooseBoat': '이 패들 투어를 저장하려면 보트와 수역을 선택하세요.',
|
||||
'tours.paddle.chooseBoatImport': '패들 투어로 가져오려면 보트와 수역을 선택하세요.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'패들 투어는 손으로 그립니다. TREK은 지점들을 직선으로 이을 뿐 경로를 계산하지 않으며, 그 물길을 지날 수 있다고 알려주지도 않습니다.',
|
||||
'tours.paddle.timeEstimated': '패들 시간(추정)',
|
||||
'tours.paddle.timeEstimatedShort': '패들',
|
||||
'tours.paddle.timeEstimatedInfoLabel': '패들 시간을 추정하는 방법',
|
||||
@@ -317,6 +315,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': '육상 운반',
|
||||
'tours.paddle.portageOn': '여기부터 육상 운반',
|
||||
'tours.paddle.portageOff': '이 구간 다시 패들링',
|
||||
'tours.paddle.portagePending': '여기서부터 운반',
|
||||
'tours.paddle.portagePendingHint': '이제 다시 물에 들어갈 지점을 정하세요. 그곳까지 배를 운반합니다.',
|
||||
'tours.paddle.portagePendingOff': '운반 취소',
|
||||
'tours.paddle.portageWay': '경로',
|
||||
'tours.paddle.portageWay.follow': '길 따라가기',
|
||||
'tours.paddle.portageWay.straight': '직선',
|
||||
'tours.paddle.portageWay.noWay': '크게 돌아가지 않는 길이 없어 직선으로 유지됩니다.',
|
||||
'tours.paddle.portageWay.searching': '길을 찾는 중',
|
||||
'tours.paddle.placeHere.putIn': '여기서 입수',
|
||||
'tours.paddle.placeHere.egress': '여기서 출수',
|
||||
'tours.paddle.portageInfo':
|
||||
'여기서는 보트를 들고 옮깁니다. 이 구간은 육상으로 계산되며, 물에서 나오고 짐을 내리고 다시 물에 띄우는 시간이 포함됩니다.',
|
||||
'tours.paddle.portageExtra': '출수와 입수',
|
||||
@@ -504,5 +512,58 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': '패들링에는 위험이 따릅니다. 물길, 규칙, 날씨를 직접 확인하세요.',
|
||||
'tours.paddle.safety.text':
|
||||
'패들링에는 위험이 따릅니다. 지도, 경로 제안, 안내 사항은 불완전하거나 오래되었을 수 있습니다. 투어 전에 현재 현지 상황, 수역 이용 규칙, 날씨를 확인하세요. 적절한 안전 조치를 취하세요. TREK은 계획을 돕지만, 직접 확인하고 책임 있게 판단하는 일을 대신하지 않습니다.',
|
||||
'tours.planner.shapingPoint': '형태 지점',
|
||||
'tours.planner.shapingHint': '정류 지점이 아니면서 경로를 이끕니다. 경로가 지나야 할 곳으로 끌어 놓으세요.',
|
||||
'tours.planner.makeStop': '정류 지점으로 바꾸기',
|
||||
'tours.planner.makeShaping': '형태 지점으로 바꾸기',
|
||||
'tours.planner.recomputeLeg': '다음 구간 다시 계산',
|
||||
'tours.planner.shapeOnLine': '지도에서 경로를 클릭하면 그곳에 형태 지점을 추가합니다.',
|
||||
'tours.paddle.routeOnWater': '다음 구간을 물 위로 계획',
|
||||
'tours.paddle.routeAllOnWater': '손으로 그린 구간을 물 위로 계획',
|
||||
'tours.paddle.auto': '감지됨',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK이 가는 길에 찾은 육로 운반 지점이나 갑문에 이 지점을 두었습니다. 옮기거나 바꾸면 내 지점이 됩니다.',
|
||||
'tours.paddle.note.rapids': '급류 {grade}급',
|
||||
'tours.paddle.note.pass': '카누 수로',
|
||||
'tours.paddle.note.gap': '지도 데이터 공백',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'여기서 경로가 흐르는 물을 지납니다. 먼저 살펴보고 확신이 없으면 배를 들고 우회하세요.',
|
||||
'tours.paddle.note.gapHint': '여기는 수역 데이터에 공백이 있어 직선으로 이었습니다. 현장에서 확인하세요.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'이 구간의 한쪽 끝이 TREK이 아는 수역 위에 있지 않습니다. 강이나 호수 위로 옮기세요.',
|
||||
'tours.paddle.failed.no_region': '이 지역의 수역 데이터가 아직 없습니다. 관리자가 지역을 추가할 수 있습니다.',
|
||||
'tours.paddle.failed.building': '이 지역의 수역 데이터를 아직 준비 중입니다. 몇 분 후 다시 시도하세요.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK이 이 지점들 사이에서 물길을 찾지 못했습니다.',
|
||||
'tours.paddle.failed.cross_region': '이 지점들은 수역 데이터를 공유하지 않는 두 지역에 있습니다.',
|
||||
'tours.paddle.failed.busy': '경로 계획기가 바쁩니다. 잠시 후 다시 시도하세요.',
|
||||
'tours.paddle.failed.timeout': '이 구간 계획에 시간이 너무 오래 걸렸습니다. 사이에 지점을 추가하고 다시 시도하세요.',
|
||||
'tours.paddle.failed.offline': '오프라인입니다. 다시 연결되면 이 구간을 계획합니다.',
|
||||
'tours.paddle.drawStraight': '직선으로 그리기',
|
||||
'tours.paddle.retry': '다시 시도',
|
||||
'tours.paddle.load.loading': '{region}의 수역 데이터를 불러오는 중',
|
||||
'tours.paddle.load.ready': '{region}의 수역 데이터가 준비되어 구간을 계획하는 중입니다.',
|
||||
'tours.paddle.load.requested': '{region}의 수역 데이터를 요청했습니다. 관리자가 허용하면 바로 구간을 계획합니다.',
|
||||
'tours.paddle.load.waiting': '다른 지역을 기다리는 중',
|
||||
'tours.paddle.load.phase.download': '다운로드 중',
|
||||
'tours.paddle.load.phase.read': '읽는 중',
|
||||
'tours.paddle.load.phase.build': '수역 네트워크 구성 중',
|
||||
'tours.paddle.load.hint': '보통 1~3분 걸립니다. 계속 계획하세요. 구간은 그 후 자동으로 계획됩니다.',
|
||||
'tours.paddle.load.reason.tooLarge': '이 지역은 TREK이 스스로 불러오는 크기보다 큽니다.',
|
||||
'tours.paddle.load.reason.limit': 'TREK이 오늘 이미 충분한 지역을 스스로 불러왔습니다.',
|
||||
'tours.paddle.load.declined': '관리자가 {region}의 수역 데이터를 거절했습니다.',
|
||||
'tours.paddle.load.failed': '{region}의 수역 데이터를 불러올 수 없습니다.',
|
||||
'tours.paddle.load.noWater': '{region}의 수역 데이터에는 이곳에 물이 없습니다. 지점을 강이나 호수 위에 두세요.',
|
||||
'tours.paddle.load.noExtract': '이 지역에 대한 수역 데이터가 있는 지도 추출본이 없습니다.',
|
||||
'tours.paddle.load.catalogUnavailable': '지금은 지역 목록에 연결할 수 없습니다. 나중에 다시 시도하세요.',
|
||||
'tours.paddle.lakeStyle': '호수 건너기',
|
||||
'tours.paddle.lakeStyle.direct': '곧장',
|
||||
'tours.paddle.lakeStyle.shore': '물가 가까이',
|
||||
'tours.paddle.lakeStyle.directHint': '탁 트인 수면을 가로지르는 가장 짧은 선.',
|
||||
'tours.paddle.lakeStyle.shoreHint': '물가 가까이 갑니다. 바람 부는 날에 알맞으며, 더 길지만 땅이 늘 가깝습니다.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'이날 최대 {mean} km/h, 돌풍 {gusts} km/h. 호수에서는 물가 가까이 가는 편이 나을 수 있습니다.',
|
||||
'tours.paddle.wind.shoreAdopt': '물가 가까이 계획',
|
||||
'tours.paddle.wind.shoreTaken': '호수는 물가 가까이 계획되어 있습니다.',
|
||||
'tours.paddle.status.unrouted': '계획되지 않은 구간 {count}개',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -891,5 +891,44 @@ const admin: TranslationStrings = {
|
||||
'Gegevens © OpenStreetMap-bijdragers (ODbL), regionale extracten van Geofabrik. Elke maand op de 3e opnieuw ingelezen.',
|
||||
'admin.paddleRegions.toast.added': 'Regio toegevoegd. TREK leest de regio op de achtergrond in.',
|
||||
'admin.paddleRegions.toast.removed': 'Regio verwijderd',
|
||||
'admin.paddleRegions.phase.build': 'Waternetwerk wordt gebouwd',
|
||||
'admin.paddleRegions.network.km': '{km} km water',
|
||||
'admin.paddleRegions.network.lakes': '{count} meren',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} meer',
|
||||
'admin.paddleRegions.network.portages': '{count} gekarteerde overdraagplaatsen',
|
||||
'admin.paddleRegions.network.portages.one': '{count} gekarteerde overdraagplaats',
|
||||
'admin.paddleRegions.network.inferred': '{count} aangenomen overdrachten',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} aangenomen overdracht',
|
||||
'admin.paddleRegions.network.locks': '{count} sluizen',
|
||||
'admin.paddleRegions.network.locks.one': '{count} sluis',
|
||||
'admin.paddleRegions.network.gaps': '{count} overbrugde gaten',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} overbrugd gat',
|
||||
'admin.paddleRegions.network.missing': 'Geen waternetwerk',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Lees de regio opnieuw in om het netwerk te bouwen dat de peddelroute volgt.',
|
||||
'admin.paddleRegions.auto.title': "Regio's automatisch laden",
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automatisch',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Op aanvraag',
|
||||
'admin.paddleRegions.auto.mode.off': 'Uit',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Plant iemand een peddeltocht waar nog geen watergegevens zijn, dan laadt TREK meteen de kleinste passende regio, tot de groottegrens en maar een paar per dag. Grotere wachten hier als aanvraag. Alleen de naam van de regio gaat naar Geofabrik, nooit de plek.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Elke nieuwe regio wacht hier tot een beheerder hem doorlaat. Plant een beheerder zelf, dan laadt hij meteen.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
"TREK laadt niets uit zichzelf en vraagt niets aan. Voeg regio's hier met de hand toe.",
|
||||
'admin.paddleRegions.auto.maxSize': 'Grootste regio die automatisch laadt',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
"Grotere regio's wachten hier als aanvraag. Het inlezen van een regio duurt een paar minuten en kost dan geheugen.",
|
||||
'admin.paddleRegions.requests.title': 'Aangevraagd',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Op aanvraag',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Te groot',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Daglimiet',
|
||||
'admin.paddleRegions.requests.declined': 'Afgewezen',
|
||||
'admin.paddleRegions.requests.by': 'door {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Laden',
|
||||
'admin.paddleRegions.requests.decline': 'Afwijzen',
|
||||
'admin.paddleRegions.origin.auto': 'Automatisch',
|
||||
'admin.paddleRegions.origin.autoHint':
|
||||
'TREK heeft deze regio zelf geladen voor een peddeltocht die daar gepland wordt.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -67,6 +67,10 @@ const nl: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Peddelregio aangevraagd',
|
||||
body: `${p.actor} plant een peddeltocht in ${p.region}. Laad of wijs de watergegevens af in het beheer onder Add-ons.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Synology-sessie gewist',
|
||||
body: 'Je Synology-account of URL is gewijzigd. Je bent uitgelogd bij Synology Photos.',
|
||||
|
||||
@@ -32,6 +32,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Schrijven naar replica '{backend}' is mislukt: {op} van {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Schrijven naar replica '{backend}' is mislukt: {op} van {key} — {error}. {suppressed} extra fout(en) zijn onderdrukt sinds de laatste melding.",
|
||||
'notif.paddle_region_requested.title': 'Peddelregio aangevraagd',
|
||||
'notif.paddle_region_requested.text': '{actor} plant een peddeltocht in {region}',
|
||||
'notif.action.view_trip': 'Reis bekijken',
|
||||
'notif.action.view_collab': 'Berichten bekijken',
|
||||
'notif.action.view_packing': 'Paklijst bekijken',
|
||||
|
||||
@@ -300,6 +300,7 @@ const settings: TranslationStrings = {
|
||||
'settings.bookingLabelsHint': 'Toon station- / luchthavennamen op de kaart. Indien uit, alleen het icoon.',
|
||||
'settings.notifyVersionAvailable': 'Nieuwe versie beschikbaar',
|
||||
'settings.notifyReplicaFailure': 'Opslagreplica mislukt',
|
||||
'settings.notifyPaddleRegionRequested': 'Peddelregio aangevraagd',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'Er zijn geen meldingskanalen geconfigureerd. Vraag een beheerder om e-mail- of webhookmeldingen in te stellen.',
|
||||
'settings.webhookUrl.label': 'Webhook-URL',
|
||||
|
||||
@@ -294,8 +294,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Vul een tempo van 0,5 tot 20 km/h in.',
|
||||
'tours.paddle.chooseBoat': 'Kies boot en water om deze peddeltocht op te slaan.',
|
||||
'tours.paddle.chooseBoatImport': 'Kies boot en water om als peddeltocht te importeren.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Een peddeltocht teken je met de hand: TREK verbindt je punten met rechte lijnen. Er wordt niets gerouteerd en niets zegt dat het water bevaarbaar is.',
|
||||
'tours.paddle.timeEstimated': 'Peddeltijd (geschat)',
|
||||
'tours.paddle.timeEstimatedShort': 'Peddelen',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Zo wordt de peddeltijd geschat',
|
||||
@@ -338,6 +336,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Overdragen',
|
||||
'tours.paddle.portageOn': 'Boot vanaf hier dragen',
|
||||
'tours.paddle.portageOff': 'Dit stuk weer peddelen',
|
||||
'tours.paddle.portagePending': 'Vanaf hier overdragen',
|
||||
'tours.paddle.portagePendingHint': 'Zet nu het punt waar je weer te water gaat. Tot daar wordt de boot gedragen.',
|
||||
'tours.paddle.portagePendingOff': 'Toch niet overdragen',
|
||||
'tours.paddle.portageWay': 'Verloop',
|
||||
'tours.paddle.portageWay.follow': 'Het pad volgen',
|
||||
'tours.paddle.portageWay.straight': 'Rechte lijn',
|
||||
'tours.paddle.portageWay.noWay': 'Geen pad zonder grote omweg, de lijn blijft recht.',
|
||||
'tours.paddle.portageWay.searching': 'Pad wordt gezocht',
|
||||
'tours.paddle.placeHere.putIn': 'Hier te water gaan',
|
||||
'tours.paddle.placeHere.egress': 'Hier uit het water gaan',
|
||||
'tours.paddle.portageInfo':
|
||||
'Hier wordt de boot gedragen. Het stuk telt als land, met tijd voor uitstappen, uitladen en weer te water laten.',
|
||||
'tours.paddle.portageExtra': 'Uit en in',
|
||||
@@ -533,5 +541,65 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.safety.short': 'Peddelen is niet zonder risico. Controleer zelf het water, de regels en het weer.',
|
||||
'tours.paddle.safety.text':
|
||||
'Peddelen is niet zonder risico. Kaarten, routevoorstellen en aanwijzingen kunnen onvolledig of verouderd zijn. Controleer voor de tocht de actuele plaatselijke omstandigheden, de regels voor het bevaren van het water en het weer. Neem passende veiligheidsmaatregelen. TREK ondersteunt je planning en vervangt je eigen controle en verantwoorde beslissing niet.',
|
||||
'tours.planner.shapingPoint': 'Vormpunt',
|
||||
'tours.planner.shapingHint': 'Stuurt de route zonder een stop te zijn. Sleep het naar waar de route moet lopen.',
|
||||
'tours.planner.makeStop': 'Maak er een stop van',
|
||||
'tours.planner.makeShaping': 'Maak er een vormpunt van',
|
||||
'tours.planner.recomputeLeg': 'Volgend deel opnieuw berekenen',
|
||||
'tours.planner.shapeOnLine': 'Klik op de route op de kaart om daar een vormpunt toe te voegen.',
|
||||
'tours.paddle.routeOnWater': 'Volgend deel over het water plannen',
|
||||
'tours.paddle.routeAllOnWater': 'Met de hand getekende delen over het water plannen',
|
||||
'tours.paddle.auto': 'Gevonden',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK zette dit punt bij een overdraagplaats of sluis die het onderweg vond. Verplaats of wijzig je het, dan is het van jou.',
|
||||
'tours.paddle.note.rapids': 'Wildwater {grade}',
|
||||
'tours.paddle.note.pass': 'Kanogoot',
|
||||
'tours.paddle.note.gap': 'Gat in de kaartgegevens',
|
||||
'tours.paddle.note.rapidsHint': 'De route loopt hier door stromend water. Verken het eerst en draag om bij twijfel.',
|
||||
'tours.paddle.note.gapHint':
|
||||
'De watergegevens hebben hier een gat, overbrugd met een rechte lijn. Controleer het ter plaatse.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Eén uiteinde van dit deel ligt niet op water dat TREK kent. Verplaats het naar de rivier of het meer.',
|
||||
'tours.paddle.failed.no_region': 'Nog geen watergegevens voor dit gebied. Een beheerder kan de regio toevoegen.',
|
||||
'tours.paddle.failed.building':
|
||||
'De watergegevens van deze regio worden nog voorbereid. Probeer het over een paar minuten opnieuw.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK vond geen weg over het water tussen deze punten.',
|
||||
'tours.paddle.failed.cross_region': 'Deze punten liggen in twee regio’s zonder gedeelde watergegevens.',
|
||||
'tours.paddle.failed.busy': 'De routeplanner is bezet. Probeer het zo meteen opnieuw.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Het plannen van dit deel duurde te lang. Voeg een punt ertussen toe en probeer het opnieuw.',
|
||||
'tours.paddle.failed.offline': 'Geen verbinding. Dit deel wordt gepland zodra je weer verbonden bent.',
|
||||
'tours.paddle.drawStraight': 'Recht tekenen',
|
||||
'tours.paddle.retry': 'Opnieuw proberen',
|
||||
'tours.paddle.load.loading': 'Watergegevens voor {region} worden geladen',
|
||||
'tours.paddle.load.ready': 'De watergegevens voor {region} zijn er, het traject wordt gepland.',
|
||||
'tours.paddle.load.requested':
|
||||
'De watergegevens voor {region} zijn aangevraagd. Het traject wordt gepland zodra een beheerder ze doorlaat.',
|
||||
'tours.paddle.load.waiting': "Wacht op andere regio's",
|
||||
'tours.paddle.load.phase.download': 'Downloaden',
|
||||
'tours.paddle.load.phase.read': 'Inlezen',
|
||||
'tours.paddle.load.phase.build': 'Waternet wordt gebouwd',
|
||||
'tours.paddle.load.hint':
|
||||
'Meestal een tot drie minuten. Plan gerust verder, het traject wordt daarna vanzelf gepland.',
|
||||
'tours.paddle.load.reason.tooLarge': 'De regio is groter dan TREK uit zichzelf laadt.',
|
||||
'tours.paddle.load.reason.limit': "TREK heeft vandaag al genoeg regio's uit zichzelf geladen.",
|
||||
'tours.paddle.load.declined': 'Een beheerder heeft de watergegevens voor {region} afgewezen.',
|
||||
'tours.paddle.load.failed': 'De watergegevens voor {region} konden niet worden geladen.',
|
||||
'tours.paddle.load.noWater':
|
||||
'In de watergegevens voor {region} ligt hier geen water. Zet het punt op de rivier of het meer.',
|
||||
'tours.paddle.load.noExtract': 'Voor dit gebied is er geen kaartuitsnede met watergegevens.',
|
||||
'tours.paddle.load.catalogUnavailable': "De lijst met regio's is nu niet bereikbaar. Probeer het later opnieuw.",
|
||||
'tours.paddle.lakeStyle': 'Over meren',
|
||||
'tours.paddle.lakeStyle.direct': 'Rechtdoor',
|
||||
'tours.paddle.lakeStyle.shore': 'Dicht bij de oever',
|
||||
'tours.paddle.lakeStyle.directHint': 'De kortste lijn over open water.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Blijft dicht bij de oever, voor winderige dagen: langer, maar land is nooit ver.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Tot {mean} km/h, windstoten van {gusts} km/h op deze dag. Op de meren is dicht bij de oever misschien de betere lijn.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Dicht bij de oever plannen',
|
||||
'tours.paddle.wind.shoreTaken': 'De meren zijn dicht bij de oever gepland.',
|
||||
'tours.paddle.status.unrouted': '{count} delen niet gepland',
|
||||
'tours.paddle.status.unrouted.one': '{count} deel niet gepland',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -928,5 +928,53 @@ const admin: TranslationStrings = {
|
||||
'admin.paddleRegions.toast.removed': 'Usunięto region',
|
||||
'admin.paddleRegions.objects.few': '{count} obiekty',
|
||||
'admin.paddleRegions.objects.many': '{count} obiektów',
|
||||
'admin.paddleRegions.phase.build': 'Budowanie sieci wodnej',
|
||||
'admin.paddleRegions.network.km': '{km} km wód',
|
||||
'admin.paddleRegions.network.lakes': '{count} jeziora',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} jezioro',
|
||||
'admin.paddleRegions.network.lakes.few': '{count} jeziora',
|
||||
'admin.paddleRegions.network.lakes.many': '{count} jezior',
|
||||
'admin.paddleRegions.network.portages': '{count} zmapowanej przenoski',
|
||||
'admin.paddleRegions.network.portages.one': '{count} zmapowana przenoska',
|
||||
'admin.paddleRegions.network.portages.few': '{count} zmapowane przenoski',
|
||||
'admin.paddleRegions.network.portages.many': '{count} zmapowanych przenosek',
|
||||
'admin.paddleRegions.network.inferred': '{count} przyjętego przeniesienia',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} przyjęte przeniesienie',
|
||||
'admin.paddleRegions.network.inferred.few': '{count} przyjęte przeniesienia',
|
||||
'admin.paddleRegions.network.inferred.many': '{count} przyjętych przeniesień',
|
||||
'admin.paddleRegions.network.locks': '{count} śluzy',
|
||||
'admin.paddleRegions.network.locks.one': '{count} śluza',
|
||||
'admin.paddleRegions.network.locks.few': '{count} śluzy',
|
||||
'admin.paddleRegions.network.locks.many': '{count} śluz',
|
||||
'admin.paddleRegions.network.gaps': '{count} połączonej luki',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} połączona luka',
|
||||
'admin.paddleRegions.network.gaps.few': '{count} połączone luki',
|
||||
'admin.paddleRegions.network.gaps.many': '{count} połączonych luk',
|
||||
'admin.paddleRegions.network.missing': 'Brak sieci wodnej',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Wczytaj region ponownie, aby zbudować sieć, po której prowadzi trasa kajakowa.',
|
||||
'admin.paddleRegions.auto.title': 'Wczytuj regiony automatycznie',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automatycznie',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Na prośbę',
|
||||
'admin.paddleRegions.auto.mode.off': 'Wyłączone',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Gdy ktoś planuje spływ tam, gdzie nie ma jeszcze danych wodnych, TREK od razu wczytuje najmniejszy pasujący region, do limitu rozmiaru i tylko kilka dziennie. Większe czekają tutaj jako prośba. Do Geofabrik trafia tylko nazwa regionu, nigdy miejsce.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Każdy nowy region czeka tutaj, aż administrator go zatwierdzi. Gdy planuje administrator, wczytuje się od razu.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK niczego nie wczytuje sam i o nic nie prosi. Dodawaj regiony tutaj ręcznie.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Największy region wczytywany automatycznie',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Większe regiony czekają tutaj jako prośba. Wczytanie regionu trwa kilka minut i w tym czasie zajmuje pamięć.',
|
||||
'admin.paddleRegions.requests.title': 'Prośby',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Na prośbę',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Za duży',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Limit dzienny',
|
||||
'admin.paddleRegions.requests.declined': 'Odrzucony',
|
||||
'admin.paddleRegions.requests.by': 'od {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Wczytaj',
|
||||
'admin.paddleRegions.requests.decline': 'Odrzuć',
|
||||
'admin.paddleRegions.origin.auto': 'Automatycznie',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK wczytał ten region sam dla planowanego tam spływu.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -76,6 +76,10 @@ const pl: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Prośba o region wodny',
|
||||
body: `${p.actor} planuje spływ w regionie ${p.region}. Wczytaj lub odrzuć jego dane wodne w panelu administratora w sekcji Dodatki.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Sesja Synology wyczyszczona',
|
||||
body: 'Twoje konto lub URL Synology uległo zmianie. Zostałeś wylogowany z Synology Photos.',
|
||||
|
||||
@@ -34,6 +34,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Zapis do repliki '{backend}' nie powiódł się: {op} dla {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Zapis do repliki '{backend}' nie powiódł się: {op} dla {key} — {error}. Od ostatniego powiadomienia ukryto {suppressed} kolejnych błędów.",
|
||||
'notif.paddle_region_requested.title': 'Prośba o region wodny',
|
||||
'notif.paddle_region_requested.text': '{actor} planuje spływ w regionie {region}',
|
||||
'notif.action.view_trip': 'Zobacz podróż',
|
||||
'notif.action.view_collab': 'Zobacz wiadomości',
|
||||
'notif.action.view_packing': 'Zobacz pakowanie',
|
||||
|
||||
@@ -105,6 +105,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Powiadomienia Webhook',
|
||||
'settings.notifyVersionAvailable': 'Nowa wersja dostępna',
|
||||
'settings.notifyReplicaFailure': 'Awaria repliki magazynu',
|
||||
'settings.notifyPaddleRegionRequested': 'Prośba o region wodny',
|
||||
'settings.on': 'Włączone',
|
||||
'settings.off': 'Wyłączone',
|
||||
'settings.mcp.title': 'Konfiguracja MCP',
|
||||
|
||||
@@ -300,8 +300,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Podaj tempo od 0,5 do 20 km/h.',
|
||||
'tours.paddle.chooseBoat': 'Wybierz łódź i wodę, aby zapisać ten spływ.',
|
||||
'tours.paddle.chooseBoatImport': 'Wybierz łódź i wodę, aby zaimportować jako spływ.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Spływ rysuje się ręcznie: TREK łączy Twoje punkty prostymi liniami. Nic nie jest wyznaczane i nic nie mówi, że woda jest spławna.',
|
||||
'tours.paddle.timeEstimated': 'Czas na wodzie (szacunkowo)',
|
||||
'tours.paddle.timeEstimatedShort': 'Wiosłowanie',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Jak szacowany jest czas na wodzie',
|
||||
@@ -352,6 +350,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Przenoska',
|
||||
'tours.paddle.portageOn': 'Przenieś łódź od tego miejsca',
|
||||
'tours.paddle.portageOff': 'Znów płyń tym odcinkiem',
|
||||
'tours.paddle.portagePending': 'Przenoszenie od tego miejsca',
|
||||
'tours.paddle.portagePendingHint': 'Teraz ustaw punkt, w którym znów wodujesz. Łódź jest niesiona aż tam.',
|
||||
'tours.paddle.portagePendingOff': 'Jednak nie przenosić',
|
||||
'tours.paddle.portageWay': 'Przebieg',
|
||||
'tours.paddle.portageWay.follow': 'Podążaj ścieżką',
|
||||
'tours.paddle.portageWay.straight': 'Linia prosta',
|
||||
'tours.paddle.portageWay.noWay': 'Brak ścieżki bez dużego objazdu, linia pozostaje prosta.',
|
||||
'tours.paddle.portageWay.searching': 'Szukanie ścieżki',
|
||||
'tours.paddle.placeHere.putIn': 'Wodowanie tutaj',
|
||||
'tours.paddle.placeHere.egress': 'Wyjście z wody tutaj',
|
||||
'tours.paddle.portageInfo':
|
||||
'Tutaj łódź jest przenoszona. Odcinek liczy się jako ląd, z czasem na wyjście z wody, rozładunek i ponowne wodowanie.',
|
||||
'tours.paddle.portageExtra': 'Wyjście i wodowanie',
|
||||
@@ -559,5 +567,64 @@ const tours: TranslationStrings = {
|
||||
'Wzdłuż trasy: {count} przeszkód i miejsc dostępu z OpenStreetMap, stan na {date}. Dane mogą mieć luki, więc sprawdź akwen samodzielnie.',
|
||||
'tours.paddle.time.locksMissing.few': '{count} śluzy nie mają jeszcze czasów.',
|
||||
'tours.paddle.time.locksMissing.many': '{count} śluz nie ma jeszcze czasów.',
|
||||
'tours.planner.shapingPoint': 'Punkt kształtujący',
|
||||
'tours.planner.shapingHint': 'Kieruje trasą, nie będąc przystankiem. Przeciągnij go tam, gdzie ma biec trasa.',
|
||||
'tours.planner.makeStop': 'Zrób z niego przystanek',
|
||||
'tours.planner.makeShaping': 'Zrób z niego punkt kształtujący',
|
||||
'tours.planner.recomputeLeg': 'Przelicz ponownie następny odcinek',
|
||||
'tours.planner.shapeOnLine': 'Kliknij trasę na mapie, aby dodać tam punkt kształtujący.',
|
||||
'tours.paddle.routeOnWater': 'Zaplanuj następny odcinek po wodzie',
|
||||
'tours.paddle.routeAllOnWater': 'Zaplanuj po wodzie odcinki narysowane ręcznie',
|
||||
'tours.paddle.auto': 'Wykryty',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK umieścił ten punkt przy przenosce lub śluzie znalezionej po drodze. Gdy go przesuniesz lub zmienisz, stanie się twój.',
|
||||
'tours.paddle.note.rapids': 'Woda górska {grade}',
|
||||
'tours.paddle.note.pass': 'Przepust kajakowy',
|
||||
'tours.paddle.note.gap': 'Luka w danych mapy',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Trasa prowadzi tu przez wartką wodę. Najpierw obejrzyj miejsce, a w razie wątpliwości przenieś łódź.',
|
||||
'tours.paddle.note.gapHint': 'Dane o wodach mają tu lukę, połączoną linią prostą. Sprawdź to na miejscu.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Jeden koniec tego odcinka nie leży na żadnej wodzie znanej TREK. Przesuń go na rzekę lub jezioro.',
|
||||
'tours.paddle.failed.no_region': 'Brak jeszcze danych o wodach dla tego obszaru. Administrator może dodać region.',
|
||||
'tours.paddle.failed.building':
|
||||
'Dane o wodach dla tego regionu są jeszcze przygotowywane. Spróbuj ponownie za kilka minut.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK nie znalazł drogi po wodzie między tymi punktami.',
|
||||
'tours.paddle.failed.cross_region': 'Te punkty leżą w dwóch regionach bez wspólnych danych o wodach.',
|
||||
'tours.paddle.failed.busy': 'Planer tras jest zajęty. Spróbuj ponownie za chwilę.',
|
||||
'tours.paddle.failed.timeout': 'Planowanie tego odcinka trwało zbyt długo. Dodaj punkt pośredni i spróbuj ponownie.',
|
||||
'tours.paddle.failed.offline': 'Brak połączenia. Odcinek zostanie zaplanowany po ponownym połączeniu.',
|
||||
'tours.paddle.drawStraight': 'Rysuj prosto',
|
||||
'tours.paddle.retry': 'Spróbuj ponownie',
|
||||
'tours.paddle.load.loading': 'Wczytywanie danych wodnych dla {region}',
|
||||
'tours.paddle.load.ready': 'Dane wodne dla {region} są już dostępne, odcinek jest planowany.',
|
||||
'tours.paddle.load.requested':
|
||||
'Poproszono o dane wodne dla {region}. Odcinek zostanie zaplanowany, gdy tylko administrator je zatwierdzi.',
|
||||
'tours.paddle.load.waiting': 'Czeka na inne regiony',
|
||||
'tours.paddle.load.phase.download': 'Pobieranie',
|
||||
'tours.paddle.load.phase.read': 'Odczyt',
|
||||
'tours.paddle.load.phase.build': 'Budowa sieci wodnej',
|
||||
'tours.paddle.load.hint': 'Zwykle od jednej do trzech minut. Planuj dalej, odcinek zaplanuje się potem sam.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Region jest większy, niż TREK wczytuje sam.',
|
||||
'tours.paddle.load.reason.limit': 'TREK wczytał już dziś sam wystarczająco dużo regionów.',
|
||||
'tours.paddle.load.declined': 'Administrator odrzucił dane wodne dla {region}.',
|
||||
'tours.paddle.load.failed': 'Nie udało się wczytać danych wodnych dla {region}.',
|
||||
'tours.paddle.load.noWater': 'W danych wodnych dla {region} nie ma tu wody. Postaw punkt na rzece lub jeziorze.',
|
||||
'tours.paddle.load.noExtract': 'Dla tego obszaru nie ma wycinka mapy z danymi wodnymi.',
|
||||
'tours.paddle.load.catalogUnavailable': 'Lista regionów jest teraz niedostępna. Spróbuj ponownie później.',
|
||||
'tours.paddle.lakeStyle': 'Przez jeziora',
|
||||
'tours.paddle.lakeStyle.direct': 'Na wprost',
|
||||
'tours.paddle.lakeStyle.shore': 'Blisko brzegu',
|
||||
'tours.paddle.lakeStyle.directHint': 'Najkrótsza linia przez otwartą wodę.',
|
||||
'tours.paddle.lakeStyle.shoreHint':
|
||||
'Trzyma się blisko brzegu, na wietrzne dni: dłużej, ale ląd nigdy nie jest daleko.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'Tego dnia do {mean} km/h, porywy {gusts} km/h. Na jeziorach lepszą linią może być trzymanie się brzegu.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Zaplanuj blisko brzegu',
|
||||
'tours.paddle.wind.shoreTaken': 'Jeziora są zaplanowane blisko brzegu.',
|
||||
'tours.paddle.status.unrouted': '{count} odcinka bez planu',
|
||||
'tours.paddle.status.unrouted.one': '{count} odcinek bez planu',
|
||||
'tours.paddle.status.unrouted.few': '{count} odcinki bez planu',
|
||||
'tours.paddle.status.unrouted.many': '{count} odcinków bez planu',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -919,5 +919,53 @@ const admin: TranslationStrings = {
|
||||
'admin.paddleRegions.toast.removed': 'Регион удалён',
|
||||
'admin.paddleRegions.objects.few': '{count} объекта',
|
||||
'admin.paddleRegions.objects.many': '{count} объектов',
|
||||
'admin.paddleRegions.phase.build': 'Строится водная сеть',
|
||||
'admin.paddleRegions.network.km': '{km} км воды',
|
||||
'admin.paddleRegions.network.lakes': '{count} озера',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} озеро',
|
||||
'admin.paddleRegions.network.lakes.few': '{count} озера',
|
||||
'admin.paddleRegions.network.lakes.many': '{count} озёр',
|
||||
'admin.paddleRegions.network.portages': '{count} отмеченного волока',
|
||||
'admin.paddleRegions.network.portages.one': '{count} отмеченный волок',
|
||||
'admin.paddleRegions.network.portages.few': '{count} отмеченных волока',
|
||||
'admin.paddleRegions.network.portages.many': '{count} отмеченных волоков',
|
||||
'admin.paddleRegions.network.inferred': '{count} предполагаемого обноса',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} предполагаемый обнос',
|
||||
'admin.paddleRegions.network.inferred.few': '{count} предполагаемых обноса',
|
||||
'admin.paddleRegions.network.inferred.many': '{count} предполагаемых обносов',
|
||||
'admin.paddleRegions.network.locks': '{count} шлюза',
|
||||
'admin.paddleRegions.network.locks.one': '{count} шлюз',
|
||||
'admin.paddleRegions.network.locks.few': '{count} шлюза',
|
||||
'admin.paddleRegions.network.locks.many': '{count} шлюзов',
|
||||
'admin.paddleRegions.network.gaps': '{count} соединённого пробела',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} соединённый пробел',
|
||||
'admin.paddleRegions.network.gaps.few': '{count} соединённых пробела',
|
||||
'admin.paddleRegions.network.gaps.many': '{count} соединённых пробелов',
|
||||
'admin.paddleRegions.network.missing': 'Нет водной сети',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Загрузите регион заново, чтобы построить сеть, по которой прокладывается маршрут на воде.',
|
||||
'admin.paddleRegions.auto.title': 'Загружать регионы автоматически',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Автоматически',
|
||||
'admin.paddleRegions.auto.mode.ask': 'По запросу',
|
||||
'admin.paddleRegions.auto.mode.off': 'Выключено',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Когда кто-то планирует сплав там, где ещё нет данных о воде, TREK сразу загружает наименьший подходящий регион, в пределах лимита размера и лишь несколько в день. Более крупные ждут здесь как запрос. В Geofabrik уходит только название региона, но никогда не место.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Каждый новый регион ждёт здесь, пока администратор его не разрешит. Если планирует администратор, регион загружается сразу.',
|
||||
'admin.paddleRegions.auto.modeHint.off':
|
||||
'TREK ничего не загружает сам и ничего не запрашивает. Добавляйте регионы здесь вручную.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Самый большой регион для автозагрузки',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Более крупные регионы ждут здесь как запрос. Чтение региона занимает несколько минут и всё это время требует памяти.',
|
||||
'admin.paddleRegions.requests.title': 'Запрошенные',
|
||||
'admin.paddleRegions.requests.reason.ask': 'По запросу',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Слишком большой',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Дневной лимит',
|
||||
'admin.paddleRegions.requests.declined': 'Отклонён',
|
||||
'admin.paddleRegions.requests.by': 'от {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Загрузить',
|
||||
'admin.paddleRegions.requests.decline': 'Отклонить',
|
||||
'admin.paddleRegions.origin.auto': 'Автоматически',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK загрузил этот регион сам для сплава, который там планируется.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -71,6 +71,10 @@ const ru: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Запрошен регион для сплава',
|
||||
body: `${p.actor} планирует сплав в регионе ${p.region}. Загрузите или отклоните его данные о воде в администрировании в разделе «Дополнения».`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Сессия Synology сброшена',
|
||||
body: 'Ваш аккаунт или URL Synology изменился. Вы вышли из Synology Photos.',
|
||||
|
||||
@@ -34,6 +34,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Ошибка записи в реплику '{backend}': {op} для {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Ошибка записи в реплику '{backend}': {op} для {key} — {error}. С момента последнего уведомления подавлено ещё {suppressed} ошибок.",
|
||||
'notif.paddle_region_requested.title': 'Запрошен регион для сплава',
|
||||
'notif.paddle_region_requested.text': '{actor} планирует сплав в регионе {region}',
|
||||
'notif.action.view_trip': 'Открыть поездку',
|
||||
'notif.action.view_collab': 'Открыть сообщения',
|
||||
'notif.action.view_packing': 'Открыть упаковку',
|
||||
|
||||
@@ -300,6 +300,7 @@ const settings: TranslationStrings = {
|
||||
'Отображает названия станций / аэропортов на карте. Если выключено, показывается только значок.',
|
||||
'settings.notifyVersionAvailable': 'Доступна новая версия',
|
||||
'settings.notifyReplicaFailure': 'Сбой реплики хранилища',
|
||||
'settings.notifyPaddleRegionRequested': 'Запрошен регион для сплава',
|
||||
'settings.notificationPreferences.noChannels':
|
||||
'Каналы уведомлений не настроены. Попросите администратора настроить уведомления по электронной почте или через webhook.',
|
||||
'settings.webhookUrl.label': 'URL вебхука',
|
||||
|
||||
@@ -303,8 +303,6 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.speedInvalid': 'Введите скорость от 0,5 до 20 км/ч.',
|
||||
'tours.paddle.chooseBoat': 'Выберите лодку и водоём, чтобы сохранить этот сплав.',
|
||||
'tours.paddle.chooseBoatImport': 'Выберите лодку и водоём, чтобы импортировать как сплав.',
|
||||
'tours.paddle.drawnByHand':
|
||||
'Сплав рисуется вручную: TREK соединяет ваши точки прямыми линиями. Ничего не прокладывается, и ничто не говорит, что по воде можно пройти.',
|
||||
'tours.paddle.timeEstimated': 'Время на воде (оценка)',
|
||||
'tours.paddle.timeEstimatedShort': 'Гребля',
|
||||
'tours.paddle.timeEstimatedInfoLabel': 'Как оценивается время на воде',
|
||||
@@ -355,6 +353,16 @@ const tours: TranslationStrings = {
|
||||
'tours.paddle.portage': 'Обнос',
|
||||
'tours.paddle.portageOn': 'Обносить отсюда',
|
||||
'tours.paddle.portageOff': 'Снова пройти участок по воде',
|
||||
'tours.paddle.portagePending': 'Обнос отсюда',
|
||||
'tours.paddle.portagePendingHint': 'Теперь поставь точку, где снова спускаешься на воду. До неё лодку несут.',
|
||||
'tours.paddle.portagePendingOff': 'Не обносить',
|
||||
'tours.paddle.portageWay': 'Путь',
|
||||
'tours.paddle.portageWay.follow': 'По тропе',
|
||||
'tours.paddle.portageWay.straight': 'Прямая линия',
|
||||
'tours.paddle.portageWay.noWay': 'Тропы без большого крюка нет, линия остаётся прямой.',
|
||||
'tours.paddle.portageWay.searching': 'Поиск тропы',
|
||||
'tours.paddle.placeHere.putIn': 'Спуск на воду здесь',
|
||||
'tours.paddle.placeHere.egress': 'Выход из воды здесь',
|
||||
'tours.paddle.portageInfo':
|
||||
'Здесь лодку несут по суше. Участок считается сухопутным, с временем на выход, разгрузку и повторный спуск на воду.',
|
||||
'tours.paddle.portageExtra': 'Выход и посадка',
|
||||
@@ -561,5 +569,66 @@ const tours: TranslationStrings = {
|
||||
'{count} препятствий и точек доступа к воде вдоль маршрута, из OpenStreetMap по состоянию на {date}. В данных могут быть пробелы, поэтому проверьте водоём сами.',
|
||||
'tours.paddle.time.locksMissing.few': '{count} шлюза ещё без времени.',
|
||||
'tours.paddle.time.locksMissing.many': '{count} шлюзов ещё без времени.',
|
||||
'tours.planner.shapingPoint': 'Точка формы',
|
||||
'tours.planner.shapingHint':
|
||||
'Задаёт ход маршрута, не будучи остановкой. Перетащите её туда, где должен пройти маршрут.',
|
||||
'tours.planner.makeStop': 'Сделать остановкой',
|
||||
'tours.planner.makeShaping': 'Сделать точкой формы',
|
||||
'tours.planner.recomputeLeg': 'Пересчитать следующий участок',
|
||||
'tours.planner.shapeOnLine': 'Нажмите на маршрут на карте, чтобы добавить там точку формы.',
|
||||
'tours.paddle.routeOnWater': 'Проложить следующий участок по воде',
|
||||
'tours.paddle.routeAllOnWater': 'Проложить по воде участки, нарисованные вручную',
|
||||
'tours.paddle.auto': 'Найдено',
|
||||
'tours.paddle.autoHint':
|
||||
'TREK поставил эту точку у волока или шлюза, найденного по пути. Если вы её переместите или измените, она станет вашей.',
|
||||
'tours.paddle.note.rapids': 'Порог, категория {grade}',
|
||||
'tours.paddle.note.pass': 'Лодочный проход',
|
||||
'tours.paddle.note.gap': 'Пробел в данных карты',
|
||||
'tours.paddle.note.rapidsHint':
|
||||
'Здесь маршрут идёт по быстрой воде. Сначала просмотрите участок и при сомнениях обнесите.',
|
||||
'tours.paddle.note.gapHint': 'В данных о водоёмах здесь пробел, соединённый прямой линией. Проверьте на месте.',
|
||||
'tours.paddle.failed.not_on_water':
|
||||
'Один конец этого участка не на воде, известной TREK. Переместите его на реку или озеро.',
|
||||
'tours.paddle.failed.no_region':
|
||||
'Для этой местности пока нет данных о водоёмах. Администратор может добавить регион.',
|
||||
'tours.paddle.failed.building':
|
||||
'Данные о водоёмах этого региона ещё готовятся. Попробуйте снова через несколько минут.',
|
||||
'tours.paddle.failed.no_water_path': 'TREK не нашёл пути по воде между этими точками.',
|
||||
'tours.paddle.failed.cross_region': 'Эти точки лежат в двух регионах без общих данных о водоёмах.',
|
||||
'tours.paddle.failed.busy': 'Планировщик маршрутов занят. Попробуйте снова через мгновение.',
|
||||
'tours.paddle.failed.timeout':
|
||||
'Расчёт этого участка занял слишком много времени. Добавьте промежуточную точку и попробуйте снова.',
|
||||
'tours.paddle.failed.offline': 'Нет подключения. Участок будет проложен, когда вы снова подключитесь.',
|
||||
'tours.paddle.drawStraight': 'Провести прямо',
|
||||
'tours.paddle.retry': 'Повторить',
|
||||
'tours.paddle.load.loading': 'Загружаются данные о воде для {region}',
|
||||
'tours.paddle.load.ready': 'Данные о воде для {region} получены, участок планируется.',
|
||||
'tours.paddle.load.requested':
|
||||
'Данные о воде для {region} запрошены. Участок спланируется, как только администратор их разрешит.',
|
||||
'tours.paddle.load.waiting': 'Ожидание других регионов',
|
||||
'tours.paddle.load.phase.download': 'Скачивание',
|
||||
'tours.paddle.load.phase.read': 'Чтение',
|
||||
'tours.paddle.load.phase.build': 'Построение водной сети',
|
||||
'tours.paddle.load.hint': 'Обычно от одной до трёх минут. Продолжайте планировать, участок потом спланируется сам.',
|
||||
'tours.paddle.load.reason.tooLarge': 'Регион больше, чем TREK загружает сам.',
|
||||
'tours.paddle.load.reason.limit': 'TREK уже загрузил сегодня достаточно регионов сам.',
|
||||
'tours.paddle.load.declined': 'Администратор отклонил данные о воде для {region}.',
|
||||
'tours.paddle.load.failed': 'Не удалось загрузить данные о воде для {region}.',
|
||||
'tours.paddle.load.noWater': 'В данных о воде для {region} здесь нет воды. Поставьте точку на реку или озеро.',
|
||||
'tours.paddle.load.noExtract': 'Для этой местности нет выгрузки карты с данными о воде.',
|
||||
'tours.paddle.load.catalogUnavailable': 'Список регионов сейчас недоступен. Попробуйте позже.',
|
||||
'tours.paddle.lakeStyle': 'Через озёра',
|
||||
'tours.paddle.lakeStyle.direct': 'Напрямик',
|
||||
'tours.paddle.lakeStyle.shore': 'Вдоль берега',
|
||||
'tours.paddle.lakeStyle.directHint': 'Кратчайшая линия по открытой воде.',
|
||||
'tours.paddle.lakeStyle.shoreHint': 'Держится у берега, для ветреных дней: длиннее, зато суша всегда рядом.',
|
||||
'tours.paddle.wind.shoreAdvice':
|
||||
'В этот день до {mean} км/ч, порывы {gusts} км/ч. На озёрах, возможно, лучше держаться берега.',
|
||||
'tours.paddle.wind.shoreAdopt': 'Проложить вдоль берега',
|
||||
'tours.paddle.wind.shoreTaken': 'Озёра проложены вдоль берега.',
|
||||
'tours.paddle.status.unrouted': '{count} участка не проложено',
|
||||
'tours.paddle.status.unrouted.one': '{count} участок не проложен',
|
||||
'tours.paddle.status.unrouted.few': '{count} участка не проложены',
|
||||
'tours.paddle.status.unrouted.many': '{count} участков не проложено',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -897,5 +897,47 @@ const admin: TranslationStrings = {
|
||||
'admin.paddleRegions.toast.added': 'Región pridaný. TREK ho načíta na pozadí.',
|
||||
'admin.paddleRegions.toast.removed': 'Región odstránený',
|
||||
'admin.paddleRegions.objects.few': '{count} objekty',
|
||||
'admin.paddleRegions.phase.build': 'Vytváranie vodnej siete',
|
||||
'admin.paddleRegions.network.km': '{km} km vody',
|
||||
'admin.paddleRegions.network.lakes': '{count} jazier',
|
||||
'admin.paddleRegions.network.lakes.one': '{count} jazero',
|
||||
'admin.paddleRegions.network.lakes.few': '{count} jazerá',
|
||||
'admin.paddleRegions.network.portages': '{count} zmapovaných prenášok',
|
||||
'admin.paddleRegions.network.portages.one': '{count} zmapovaná prenáška',
|
||||
'admin.paddleRegions.network.portages.few': '{count} zmapované prenášky',
|
||||
'admin.paddleRegions.network.inferred': '{count} predpokladaných prenesení',
|
||||
'admin.paddleRegions.network.inferred.one': '{count} predpokladané prenesenie',
|
||||
'admin.paddleRegions.network.inferred.few': '{count} predpokladané prenesenia',
|
||||
'admin.paddleRegions.network.locks': '{count} plavebných komôr',
|
||||
'admin.paddleRegions.network.locks.one': '{count} plavebná komora',
|
||||
'admin.paddleRegions.network.locks.few': '{count} plavebné komory',
|
||||
'admin.paddleRegions.network.gaps': '{count} preklenutých medzier',
|
||||
'admin.paddleRegions.network.gaps.one': '{count} preklenutá medzera',
|
||||
'admin.paddleRegions.network.gaps.few': '{count} preklenuté medzery',
|
||||
'admin.paddleRegions.network.missing': 'Žiadna vodná sieť',
|
||||
'admin.paddleRegions.network.missingHint':
|
||||
'Načítaj región znova, aby sa vytvorila sieť, po ktorej vedie vodácka trasa.',
|
||||
'admin.paddleRegions.auto.title': 'Načítavať regióny automaticky',
|
||||
'admin.paddleRegions.auto.mode.auto': 'Automaticky',
|
||||
'admin.paddleRegions.auto.mode.ask': 'Na žiadosť',
|
||||
'admin.paddleRegions.auto.mode.off': 'Vypnuté',
|
||||
'admin.paddleRegions.auto.modeHint.auto':
|
||||
'Keď niekto plánuje vodácku trasu tam, kde ešte nie sú vodné dáta, TREK hneď načíta najmenší vhodný región, do limitu veľkosti a len niekoľko za deň. Väčšie čakajú tu ako žiadosť. Geofabrik dostane len názov regiónu, nikdy miesto.',
|
||||
'admin.paddleRegions.auto.modeHint.ask':
|
||||
'Každý nový región čaká tu, kým ho správca nepustí. Keď plánuje správca sám, načíta sa hneď.',
|
||||
'admin.paddleRegions.auto.modeHint.off': 'TREK nič nenačítava sám a o nič nežiada. Regióny pridávaj tu ručne.',
|
||||
'admin.paddleRegions.auto.maxSize': 'Najväčší región načítavaný automaticky',
|
||||
'admin.paddleRegions.auto.maxSizeHint':
|
||||
'Väčšie regióny čakajú tu ako žiadosť. Načítanie regiónu trvá pár minút a medzitým zaberá pamäť.',
|
||||
'admin.paddleRegions.requests.title': 'Vyžiadané',
|
||||
'admin.paddleRegions.requests.reason.ask': 'Na žiadosť',
|
||||
'admin.paddleRegions.requests.reason.too_large': 'Príliš veľký',
|
||||
'admin.paddleRegions.requests.reason.limit': 'Denný limit',
|
||||
'admin.paddleRegions.requests.declined': 'Zamietnutý',
|
||||
'admin.paddleRegions.requests.by': 'od {user}',
|
||||
'admin.paddleRegions.requests.approve': 'Načítať',
|
||||
'admin.paddleRegions.requests.decline': 'Zamietnuť',
|
||||
'admin.paddleRegions.origin.auto': 'Automaticky',
|
||||
'admin.paddleRegions.origin.autoHint': 'TREK načítal tento región sám pre vodácku trasu, ktorá sa tam plánuje.',
|
||||
};
|
||||
export default admin;
|
||||
|
||||
@@ -73,6 +73,10 @@ const sk: NotificationLocale = {
|
||||
})
|
||||
: ''),
|
||||
}),
|
||||
paddle_region_requested: (p) => ({
|
||||
title: 'Vyžiadaný vodácky región',
|
||||
body: `${p.actor} plánuje vodácku trasu v regióne ${p.region}. Načítaj alebo zamietni jeho vodné dáta v administrácii v časti Doplnky.`,
|
||||
}),
|
||||
synology_session_cleared: () => ({
|
||||
title: 'Relácia Synology bola zrušená',
|
||||
body: 'Váš účet alebo URL Synology sa zmenili. Boli ste odhlásení zo Synology Photos.',
|
||||
|
||||
@@ -33,6 +33,8 @@ const notif: TranslationStrings = {
|
||||
'notif.replica_failure.text': "Zápis do repliky na '{backend}' zlyhal: {op} položky {key} — {error}",
|
||||
'notif.replica_failure.textSuppressed':
|
||||
"Zápis do repliky na '{backend}' zlyhal: {op} položky {key} — {error}. Od posledného oznámenia bolo potlačených {suppressed} ďalších zlyhaní.",
|
||||
'notif.paddle_region_requested.title': 'Vyžiadaný vodácky región',
|
||||
'notif.paddle_region_requested.text': '{actor} plánuje vodácku trasu v regióne {region}',
|
||||
'notif.action.view_trip': 'Zobraziť výlet',
|
||||
'notif.action.view_collab': 'Zobraziť správy',
|
||||
'notif.action.view_packing': 'Zobraziť balenie',
|
||||
|
||||
@@ -119,6 +119,7 @@ const settings: TranslationStrings = {
|
||||
'settings.notifyWebhook': 'Webhook oznámenia',
|
||||
'settings.notifyVersionAvailable': 'Nová verzia k dispozícii',
|
||||
'settings.notifyReplicaFailure': 'Zlyhanie repliky úložiska',
|
||||
'settings.notifyPaddleRegionRequested': 'Vyžiadaný vodácky región',
|
||||
'settings.notificationPreferences.email': 'E-mail',
|
||||
'settings.notificationPreferences.webhook': 'Webhook',
|
||||
'settings.notificationPreferences.inapp': 'V aplikácii',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user