feat(client): show Dawarich stays, routes and marks where they belong

The trip planner and the journal get a "From Dawarich" list: the stays
recorded for those dates, each one a row that can be dismissed or turned
into a place or an entry after a review step that shows time, name, note
and day. A place that came from a recording carries the Dawarich mark
next to its name so its origin stays visible afterwards.

The recorded route lies over the trip and journal maps as an overlay,
coloured per day and cut along the reader's own timezone rather than
UTC. It is fetched for the window on screen and never stored.

The Atlas gets its own panel beside the map for the countries and cities
the recordings prove, and the wish list is ticked off there, on the day
of the visit, undoably. The phone has its own take on all of it, in the
mobile shell's colours and with native sheets.
This commit is contained in:
Maurice
2026-09-12 23:35:43 +02:00
parent 5678eed55c
commit 5b4a7e82ff
108 changed files with 8945 additions and 295 deletions
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'اربط خادم Dawarich الخاص بك لترى أين ذهبت فعلاً. يقرأه TREK ويقترح مدوّنات وأماكن ودولاً — لا يُضاف شيء قبل أن تؤكده، ولا يُكتب أي شيء في Dawarich.',
'dawarich.url': 'عنوان الخادم',
'dawarich.apiKey': 'مفتاح API',
'dawarich.apiKeyPlaceholder': 'الصق مفتاح API الخاص بـ Dawarich',
'dawarich.apiKeyHint': 'تجده في Dawarich ضمن الحساب ← مفتاح API. يُخزَّن مشفَّراً ولا يُعرض مرة أخرى.',
'dawarich.allowInsecureTls': 'السماح بشهادة موقّعة ذاتياً',
'dawarich.allowInsecureTlsHint': 'لا يلزم إلا إذا كان خادمك يستخدم شهادة لا يثق بها خادمك.',
'dawarich.syncEnabled': 'التحقق من الإقامات الجديدة تلقائياً',
'dawarich.syncEnabledHint': 'عند الإيقاف، لا يقرأ TREK من Dawarich إلا حين تطلب ذلك.',
'dawarich.test.button': 'اختبار الاتصال',
'dawarich.test.success': 'تم الاتصال. تم العثور على {count} إقامة خلال آخر 30 يوماً.',
'dawarich.test.failed': 'تعذّر الوصول إلى Dawarich.',
'dawarich.syncNow': 'تحقق الآن',
'dawarich.connected': 'متصل',
'dawarich.notConnected': 'غير متصل',
'dawarich.disconnect': 'قطع الاتصال',
'dawarich.lastSync': 'آخر تحقق {when}',
'dawarich.neverSynced': 'لم يتم التحقق بعد',
'dawarich.syncPartial': 'تعذّرت قراءة بعض الرحلات',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'تم حفظ اتصال Dawarich',
'dawarich.toast.saveError': 'تعذّر حفظ الاتصال',
'dawarich.toast.disconnected': 'تم قطع الاتصال بـ Dawarich',
'dawarich.toast.synced': 'تم العثور على {count} إقامة جديدة',
'dawarich.toast.syncError': 'تعذّرت القراءة من Dawarich',
'dawarich.toast.syncRunning': 'هناك فحص قيد التشغيل بالفعل',
'dawarich.toast.acceptError': 'تعذّرت إضافة هذا',
'dawarich.toast.updateError': 'تعذّر تحديث هذا الاقتراح',
'dawarich.toast.accepted.place': 'تمت الإضافة إلى الرحلة',
'dawarich.toast.accepted.journal': 'تمت الإضافة إلى المجلة',
'dawarich.toast.accepted.bucket_list': 'تم شطبها من قائمة أمنياتك',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'الإقامات',
'dawarich.capability.track': 'المسار المسجَّل',
'dawarich.capability.locations': 'مطابقة قائمة الأمنيات',
'dawarich.capability.visitedCities': 'الدول والمدن',
'dawarich.capability.missing': 'هذه النسخة من Dawarich لا توفّر: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'تعذّر على TREK الوصول إلى هذا العنوان.',
'dawarich.error.unauthorized': 'رفض Dawarich مفتاح API.',
'dawarich.error.forbidden': 'هذا المفتاح غير مسموح له بقراءة هذا.',
'dawarich.error.not_found': 'هذه النسخة من Dawarich لا تحتوي على هذه الواجهة.',
'dawarich.error.rate_limited': 'طلب Dawarich من TREK التمهّل. حاول مرة أخرى بعد قليل.',
'dawarich.error.server_error': 'ردّ Dawarich بخطأ.',
'dawarich.error.invalid_response': 'ردّ هذا العنوان بشيء ليس Dawarich.',
'dawarich.error.too_large': 'أرسل Dawarich بيانات أكثر مما يقرأه TREK دفعة واحدة.',
'dawarich.error.not_connected': 'لا يوجد خادم Dawarich متصل بعد.',
'dawarich.error.addon_disabled': 'إضافة Dawarich معطّلة على هذا الخادم.',
'dawarich.error.offline': 'يحتاج هذا إلى اتصال — TREK غير متصل حالياً.',
'dawarich.error.invalid_url': 'لا يمكن لـ TREK استخدام هذا العنوان.',
'dawarich.warning.private_ip': 'هذا العنوان يشير إلى عنوان IP خاص ({ip}). تأكد أن هذا ما تقصده — قد يحتاج الخادم إلى ALLOW_INTERNAL_NETWORK=true للوصول إليه.',
'dawarich.error.unknown': 'حدث خطأ ما أثناء التواصل مع Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'إظهار المسار المسجَّل',
'dawarich.trail.hide': 'إخفاء المسار المسجَّل',
'dawarich.trail.loading': 'جارٍ تحميل المسار المسجَّل…',
'dawarich.trail.empty': 'لم يُسجَّل شيء في هذه التواريخ',
'dawarich.trail.offline': 'يحتاج المسار المسجَّل إلى اتصال',
'dawarich.trail.unavailable': 'تعذّر تحميل المسار المسجَّل',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} د',
'dawarich.duration.hours': '{hours} س',
'dawarich.duration.hoursMinutes': '{hours} س {minutes} د',
'dawarich.checkedAgo': 'تم التحقق {ago}',
'dawarich.badge.lowConfidence': 'غير مؤكد',
'dawarich.badge.sourceChanged': 'تغيّر في Dawarich',
'dawarich.badge.sourceMissing': 'اختفى من Dawarich',
'dawarich.suggestions.title': 'من Dawarich',
'dawarich.suggestions.pending': '{count} في انتظارك',
'dawarich.suggestions.loading': 'جارٍ القراءة من Dawarich…',
'dawarich.suggestions.notConnected': 'اربط Dawarich من الإعدادات لترى إقاماتك هنا.',
'dawarich.suggestions.unavailable': 'تعذّرت القراءة من Dawarich.',
'dawarich.suggestions.allHandled': 'تمت معالجة كل ما سُجِّل هنا.',
'dawarich.suggestions.asJournal': 'كتابة مدوّنة',
'dawarich.suggestions.asPlace': 'إضافة كمكان',
'dawarich.suggestions.dismiss': 'ليس مكاناً زرته',
'dawarich.suggestions.dismissed': 'تم التجاهل',
'dawarich.suggestions.restore': 'إعادته',
'dawarich.suggestions.showHandled': 'إظهار {count} تمت معالجتها',
'dawarich.suggestions.hideHandled': 'إخفاء ما تمت معالجته',
'dawarich.suggestions.matchesWish': 'في قائمة أمنياتك: {name}',
'dawarich.suggestions.acceptedAs.place': 'تمت الإضافة كمكان',
'dawarich.suggestions.acceptedAs.journal': 'في المجلة',
'dawarich.suggestions.acceptedAs.bucket_list': 'تم شطب الأمنية',
'dawarich.suggestions.sourceChanged':
'تغيّرت هذه الإقامة في Dawarich منذ أن استخدمتها. ما كتبته في TREK لم يُمَس.',
'dawarich.suggestions.sourceMissing':
'لم تعد هذه الإقامة موجودة في Dawarich. ما كتبته في TREK لم يُمَس.',
'dawarich.sourceStatus.suggested': 'مُكتشَفة، غير مؤكدة',
'dawarich.confidence.high': 'اكتشاف موثوق',
'dawarich.confidence.medium': 'اكتشاف موثوق إلى حدٍّ ما',
'dawarich.confidence.low': 'اكتشاف غير مؤكد',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'إضافة هذه الإقامة كمكان',
'dawarich.accept.title.journal': 'كتابة مدوّنة',
'dawarich.accept.title.bucket_list': 'شطب أمنية',
'dawarich.accept.confirm.place': 'إضافة المكان',
'dawarich.accept.confirm.journal': 'إضافة المدوّنة',
'dawarich.accept.confirm.bucket_list': 'اشطبها',
'dawarich.accept.recorded': 'مسجَّلة من {from} حتى {to}',
'dawarich.accept.duration': '{minutes} دقيقة',
'dawarich.accept.name': 'الاسم',
'dawarich.accept.date': 'التاريخ',
'dawarich.accept.from': 'الوصول',
'dawarich.accept.to': 'المغادرة',
'dawarich.accept.trip': 'الرحلة',
'dawarich.accept.thisTrip': 'هذه الرحلة',
'dawarich.accept.pickTrip': 'اختر رحلة',
'dawarich.accept.day': 'اليوم',
'dawarich.accept.noDay': 'ليست ضمن يوم بعد',
'dawarich.accept.journal': 'المجلة',
'dawarich.accept.pickJournal': 'اختر مجلة',
'dawarich.accept.notes': 'ملاحظات',
'dawarich.accept.story': 'قصتك',
'dawarich.accept.storyPlaceholder': 'ماذا حدث هنا؟',
'dawarich.accept.photosHint': 'أضف الصور إلى المدوّنة بعد إنشائها.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'أُضيف من تسجيلات Dawarich الخاصة بك',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'قارن قائمة أمنياتك بـ Dawarich',
'dawarich.bucket.description':
'يبحث في تسجيلاتك عن الأماكن التي أردت الوصول إليها. الزيارة تحتاج قرباً ووقتاً معاً — المرور بالسيارة لا يُحتسب.',
'dawarich.bucket.scan': 'فحص قائمة الأمنيات',
'dawarich.bucket.scanning': 'جارٍ الفحص…',
'dawarich.bucket.noMatches': 'لم يظهر أي شيء من قائمة أمنياتك في تسجيلاتك.',
'dawarich.bucket.alreadyVisited': 'مشطوبة مسبقاً',
'dawarich.bucket.confirm': 'اشطب {count}',
'dawarich.bucket.confirmed': 'تم شطب {count} أمنية',
'dawarich.bucket.skipped': '{count} مُدخلاً بلا إحداثيات وتعذّر فحصها.',
'dawarich.bucket.truncated': 'تم فحص المُدخلات الأولى فقط. شغّل الفحص مجدداً للبقية.',
'dawarich.bucket.visitedFrom': 'شُطبت اعتماداً على تسجيلات Dawarich',
'dawarich.bucket.clearVisit': 'تراجع',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'الدول من Dawarich',
'dawarich.atlas.description':
'الدول التي تقول تسجيلاتك إنك كنت فيها. أكّد ما تريد إضافته إلى أطلسك — لا يُضاف شيء من تلقاء نفسه، وما وضعته بيدك يبقى لك.',
'dawarich.atlas.load': 'ابحث عن الدول',
'dawarich.atlas.loading': 'جارٍ قراءة تسجيلاتك…',
'dawarich.atlas.empty': 'لا تُظهر تسجيلاتك أي دول ليست لدى TREK أصلاً.',
'dawarich.atlas.cities': '{count} مدينة',
'dawarich.atlas.citiesOne': 'مدينة واحدة',
'dawarich.atlas.accept': 'إضافة {count} دولة',
'dawarich.atlas.accepted': 'تمت إضافة {count} دولة',
'dawarich.atlas.unresolved': 'تعذّر على TREK مطابقة هذه بدولة: {names}.',
'dawarich.atlas.source': 'من Dawarich',
'dawarich.atlas.range': 'تم الاطلاع على الفترة من {from} إلى {to}',
'dawarich.atlas.trigger': 'الأمنيات والبلدان من تسجيلاتك',
'dawarich.atlas.dialogSubtitle': 'ما تقوله تسجيلاتك عن أطلسك',
'dawarich.atlas.tab.wishes': 'قائمة الأمنيات',
'dawarich.atlas.tab.countries': 'البلدان',
'dawarich.atlas.window': 'تم فحص آخر 12 شهرًا.',
'dawarich.selected': 'تم تحديد {count}',
'dawarich.again': 'تحقق مرة أخرى',
'dawarich.bucket.metersAway': 'على بُعد {meters} م',
'dawarich.bucket.kilometersAway': 'على بُعد {km} كم',
'dawarich.bucket.rule': 'تُحتسب الأمنية محققة ضمن {meters} م وبعد {minutes} دقيقة في المكان.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+180
View File
@@ -0,0 +1,180 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Conecte sua própria instância do Dawarich para ver onde você realmente esteve. O TREK lê os dados e sugere entradas de diário, lugares e países — nada é adicionado antes de você confirmar, e nada é gravado de volta no Dawarich.',
'dawarich.url': 'Endereço da instância',
'dawarich.apiKey': 'Chave de API',
'dawarich.apiKeyPlaceholder': 'Cole sua chave de API do Dawarich',
'dawarich.apiKeyHint':
'Encontrada no Dawarich em Conta → Chave de API. Guardada criptografada e nunca exibida de novo.',
'dawarich.allowInsecureTls': 'Permitir certificado autoassinado',
'dawarich.allowInsecureTlsHint':
'Só é necessário se sua instância usa um certificado em que seu servidor não confia.',
'dawarich.syncEnabled': 'Procurar novas estadias automaticamente',
'dawarich.syncEnabledHint': 'Desligado significa que o TREK só lê o Dawarich quando você pedir.',
'dawarich.test.button': 'Testar conexão',
'dawarich.test.success': 'Conectado. {count} estadias encontradas nos últimos 30 dias.',
'dawarich.test.failed': 'Não foi possível acessar o Dawarich.',
'dawarich.syncNow': 'Procurar agora',
'dawarich.connected': 'Conectado',
'dawarich.notConnected': 'Não conectado',
'dawarich.disconnect': 'Desconectar',
'dawarich.lastSync': 'Última verificação {when}',
'dawarich.neverSynced': 'Ainda não verificado',
'dawarich.syncPartial': 'algumas viagens não puderam ser lidas',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Conexão com o Dawarich salva',
'dawarich.toast.saveError': 'Não foi possível salvar a conexão',
'dawarich.toast.disconnected': 'Dawarich desconectado',
'dawarich.toast.synced': '{count} novas estadias encontradas',
'dawarich.toast.syncError': 'Não foi possível ler o Dawarich',
'dawarich.toast.syncRunning': 'Já há uma verificação em andamento',
'dawarich.toast.acceptError': 'Não foi possível adicionar isso',
'dawarich.toast.updateError': 'Não foi possível atualizar esta sugestão',
'dawarich.toast.accepted.place': 'Adicionado à viagem',
'dawarich.toast.accepted.journal': 'Adicionado ao diário',
'dawarich.toast.accepted.bucket_list': 'Riscado da sua lista de desejos',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'estadias',
'dawarich.capability.track': 'rota gravada',
'dawarich.capability.locations': 'correspondência com a lista de desejos',
'dawarich.capability.visitedCities': 'países e cidades',
'dawarich.capability.missing': 'Esta versão do Dawarich não oferece: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'O TREK não conseguiu acessar esse endereço.',
'dawarich.error.unauthorized': 'O Dawarich recusou a chave de API.',
'dawarich.error.forbidden': 'Essa chave de API não tem permissão para ler isto.',
'dawarich.error.not_found': 'Esta versão do Dawarich não tem esse endpoint.',
'dawarich.error.rate_limited': 'O Dawarich pediu que o TREK diminuísse o ritmo. Tente de novo em instantes.',
'dawarich.error.server_error': 'O Dawarich respondeu com um erro.',
'dawarich.error.invalid_response': 'Esse endereço respondeu com algo que não é o Dawarich.',
'dawarich.error.too_large': 'O Dawarich enviou mais dados do que o TREK lê de uma vez.',
'dawarich.error.not_connected': 'Nenhuma instância do Dawarich está conectada ainda.',
'dawarich.error.addon_disabled': 'O complemento Dawarich está desativado nesta instância.',
'dawarich.error.offline': 'Isso precisa de conexão — o TREK está offline agora.',
'dawarich.error.invalid_url': 'O TREK não pode usar esse endereço.',
'dawarich.warning.private_ip': 'Esse endereço aponta para um IP privado ({ip}). Confirme se é isso mesmo — o servidor pode precisar de ALLOW_INTERNAL_NETWORK=true para alcançá-lo.',
'dawarich.error.unknown': 'Algo deu errado na conversa com o Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Mostrar rota gravada',
'dawarich.trail.hide': 'Ocultar rota gravada',
'dawarich.trail.loading': 'Carregando a rota gravada…',
'dawarich.trail.empty': 'Nada foi gravado nessas datas',
'dawarich.trail.offline': 'A rota gravada precisa de conexão',
'dawarich.trail.unavailable': 'Não foi possível carregar a rota gravada',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} h',
'dawarich.duration.hoursMinutes': '{hours} h {minutes} min',
'dawarich.checkedAgo': 'verificado {ago}',
'dawarich.badge.lowConfidence': 'Incerto',
'dawarich.badge.sourceChanged': 'Alterado no Dawarich',
'dawarich.badge.sourceMissing': 'Sumiu do Dawarich',
'dawarich.suggestions.title': 'Do Dawarich',
'dawarich.suggestions.pending': '{count} esperando por você',
'dawarich.suggestions.loading': 'Lendo o Dawarich…',
'dawarich.suggestions.notConnected': 'Conecte o Dawarich nas Configurações para ver suas estadias aqui.',
'dawarich.suggestions.unavailable': 'Não foi possível ler o Dawarich.',
'dawarich.suggestions.allHandled': 'Tudo o que foi gravado aqui já foi resolvido.',
'dawarich.suggestions.asJournal': 'Escrever uma entrada no diário',
'dawarich.suggestions.asPlace': 'Adicionar como lugar',
'dawarich.suggestions.dismiss': 'Não é um lugar que visitei',
'dawarich.suggestions.dismissed': 'Dispensado',
'dawarich.suggestions.restore': 'Colocar de volta',
'dawarich.suggestions.showHandled': 'Mostrar {count} já resolvidas',
'dawarich.suggestions.hideHandled': 'Ocultar as que já foram resolvidas',
'dawarich.suggestions.matchesWish': 'Na sua lista de desejos: {name}',
'dawarich.suggestions.acceptedAs.place': 'Adicionado como lugar',
'dawarich.suggestions.acceptedAs.journal': 'No diário',
'dawarich.suggestions.acceptedAs.bucket_list': 'Desejo riscado',
'dawarich.suggestions.sourceChanged':
'Esta estadia mudou no Dawarich depois que você a usou. O que você escreveu no TREK continua intacto.',
'dawarich.suggestions.sourceMissing':
'Esta estadia não existe mais no Dawarich. O que você escreveu no TREK continua intacto.',
'dawarich.sourceStatus.suggested': 'Detectada, não confirmada',
'dawarich.confidence.high': 'Detecção confiável',
'dawarich.confidence.medium': 'Detecção razoavelmente confiável',
'dawarich.confidence.low': 'Detecção incerta',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Adicionar esta estadia como lugar',
'dawarich.accept.title.journal': 'Escrever uma entrada no diário',
'dawarich.accept.title.bucket_list': 'Riscar um desejo',
'dawarich.accept.confirm.place': 'Adicionar lugar',
'dawarich.accept.confirm.journal': 'Adicionar entrada',
'dawarich.accept.confirm.bucket_list': 'Riscar',
'dawarich.accept.recorded': 'Gravado de {from} até {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Nome',
'dawarich.accept.date': 'Data',
'dawarich.accept.from': 'Chegada',
'dawarich.accept.to': 'Saída',
'dawarich.accept.trip': 'Viagem',
'dawarich.accept.thisTrip': 'Esta viagem',
'dawarich.accept.pickTrip': 'Escolha uma viagem',
'dawarich.accept.day': 'Dia',
'dawarich.accept.noDay': 'Ainda sem dia definido',
'dawarich.accept.journal': 'Diário',
'dawarich.accept.pickJournal': 'Escolha um diário',
'dawarich.accept.notes': 'Notas',
'dawarich.accept.story': 'Sua história',
'dawarich.accept.storyPlaceholder': 'O que aconteceu aqui?',
'dawarich.accept.photosHint': 'Adicione fotos à entrada depois que ela for criada.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Adicionado a partir dos seus registros do Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Conferir sua lista de desejos com o Dawarich',
'dawarich.bucket.description':
'Procura nas suas gravações os lugares que você queria conhecer. Uma visita precisa de proximidade e de tempo parado — passar de carro não conta.',
'dawarich.bucket.scan': 'Conferir lista de desejos',
'dawarich.bucket.scanning': 'Conferindo…',
'dawarich.bucket.noMatches': 'Nada da sua lista de desejos apareceu nas suas gravações.',
'dawarich.bucket.alreadyVisited': 'Já riscado',
'dawarich.bucket.confirm': 'Riscar {count}',
'dawarich.bucket.confirmed': '{count} desejos riscados',
'dawarich.bucket.skipped': '{count} entradas não têm coordenadas e não puderam ser conferidas.',
'dawarich.bucket.truncated': 'Só as primeiras entradas foram conferidas. Rode de novo para as demais.',
'dawarich.bucket.visitedFrom': 'Riscado a partir das suas gravações do Dawarich',
'dawarich.bucket.clearVisit': 'Desfazer',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Países do Dawarich',
'dawarich.atlas.description':
'Países em que suas gravações dizem que você esteve. Confirme os que quiser no seu Atlas — nada é adicionado por conta própria, e o que você marcou à mão continua seu.',
'dawarich.atlas.load': 'Procurar países',
'dawarich.atlas.loading': 'Lendo suas gravações…',
'dawarich.atlas.empty': 'Suas gravações não mostram países que o TREK ainda não tenha.',
'dawarich.atlas.cities': '{count} cidades',
'dawarich.atlas.citiesOne': '1 cidade',
'dawarich.atlas.accept': 'Adicionar {count} países',
'dawarich.atlas.accepted': '{count} países adicionados',
'dawarich.atlas.unresolved': 'O TREK não conseguiu associar estes a um país: {names}.',
'dawarich.atlas.source': 'Do Dawarich',
'dawarich.atlas.range': 'Analisado de {from} a {to}',
'dawarich.atlas.trigger': 'Desejos e países dos seus registros',
'dawarich.atlas.dialogSubtitle': 'O que seus registros dizem sobre o seu Atlas',
'dawarich.atlas.tab.wishes': 'Lista de desejos',
'dawarich.atlas.tab.countries': 'Países',
'dawarich.atlas.window': 'Foram analisados os últimos 12 meses.',
'dawarich.selected': '{count} selecionados',
'dawarich.again': 'Verificar de novo',
'dawarich.bucket.metersAway': 'a {meters} m',
'dawarich.bucket.kilometersAway': 'a {km} km',
'dawarich.bucket.rule': 'Um desejo conta como alcançado a até {meters} m e após {minutes} minutos no local.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+179
View File
@@ -0,0 +1,179 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Connecta la teva pròpia instància de Dawarich per veure on has estat realment. TREK la llegeix i et proposa entrades de diari, llocs i països — no s’hi afegeix res fins que ho confirmes, i no s’escriu res de tornada a Dawarich.',
'dawarich.url': 'Adreça de la instància',
'dawarich.apiKey': 'Clau API',
'dawarich.apiKeyPlaceholder': 'Enganxa la teva clau API de Dawarich',
'dawarich.apiKeyHint': 'La trobaràs a Dawarich sota Compte → Clau API. Es desa xifrada i no es torna a mostrar mai.',
'dawarich.allowInsecureTls': 'Permet un certificat autosignat',
'dawarich.allowInsecureTlsHint':
'Només cal si la teva instància fa servir un certificat en què el teu servidor no confia.',
'dawarich.syncEnabled': 'Comprova automàticament si hi ha estades noves',
'dawarich.syncEnabledHint': 'Desactivat vol dir que TREK només llegeix Dawarich quan tu l’hi demanes.',
'dawarich.test.button': 'Prova la connexió',
'dawarich.test.success': 'Connectat. S’han trobat {count} estades en els darrers 30 dies.',
'dawarich.test.failed': 'No s’ha pogut contactar amb Dawarich.',
'dawarich.syncNow': 'Comprova-ho ara',
'dawarich.connected': 'Connectat',
'dawarich.notConnected': 'No connectat',
'dawarich.disconnect': 'Desconnecta',
'dawarich.lastSync': 'Darrera comprovació {when}',
'dawarich.neverSynced': 'Encara no s’ha comprovat',
'dawarich.syncPartial': 'alguns viatges no s’han pogut llegir',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'S’ha desat la connexió amb Dawarich',
'dawarich.toast.saveError': 'No s’ha pogut desar la connexió',
'dawarich.toast.disconnected': 'Dawarich desconnectat',
'dawarich.toast.synced': 'S’han trobat {count} estades noves',
'dawarich.toast.syncError': 'No s’ha pogut llegir Dawarich',
'dawarich.toast.syncRunning': 'Ja hi ha una comprovació en curs',
'dawarich.toast.acceptError': 'No s’ha pogut afegir això',
'dawarich.toast.updateError': 'No s’ha pogut actualitzar aquest suggeriment',
'dawarich.toast.accepted.place': 'Afegit al viatge',
'dawarich.toast.accepted.journal': 'Afegit al diari',
'dawarich.toast.accepted.bucket_list': 'Marcat a la teva llista de desitjos',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'estades',
'dawarich.capability.track': 'recorregut enregistrat',
'dawarich.capability.locations': 'coincidències amb la llista de desitjos',
'dawarich.capability.visitedCities': 'països i ciutats',
'dawarich.capability.missing': 'Aquesta versió de Dawarich no ofereix: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK no ha pogut contactar amb aquesta adreça.',
'dawarich.error.unauthorized': 'Dawarich ha rebutjat la clau API.',
'dawarich.error.forbidden': 'Aquesta clau API no té permís per llegir això.',
'dawarich.error.not_found': 'Aquesta versió de Dawarich no té aquest punt final.',
'dawarich.error.rate_limited': 'Dawarich ha demanat a TREK que vagi més a poc a poc. Torna-ho a provar d’aquí a poc.',
'dawarich.error.server_error': 'Dawarich ha respost amb un error.',
'dawarich.error.invalid_response': 'Aquesta adreça ha respost amb una cosa que no és Dawarich.',
'dawarich.error.too_large': 'Dawarich ha enviat més dades de les que TREK llegeix de cop.',
'dawarich.error.not_connected': 'Encara no hi ha cap instància de Dawarich connectada.',
'dawarich.error.addon_disabled': 'El complement Dawarich està desactivat en aquesta instància.',
'dawarich.error.offline': 'Això necessita connexió: TREK ara és fora de línia.',
'dawarich.error.invalid_url': 'TREK no pot fer servir aquesta adreça.',
'dawarich.warning.private_ip': 'Aquesta adreça apunta a una IP privada ({ip}). Comprova que és el que volies: el servidor pot necessitar ALLOW_INTERNAL_NETWORK=true per arribar-hi.',
'dawarich.error.unknown': 'Alguna cosa ha anat malament en parlar amb Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Mostra el recorregut enregistrat',
'dawarich.trail.hide': 'Amaga el recorregut enregistrat',
'dawarich.trail.loading': 'S’està carregant el recorregut enregistrat…',
'dawarich.trail.empty': 'No s’ha enregistrat res en aquestes dates',
'dawarich.trail.offline': 'El recorregut enregistrat necessita connexió',
'dawarich.trail.unavailable': 'No s’ha pogut carregar el recorregut enregistrat',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} h',
'dawarich.duration.hoursMinutes': '{hours} h {minutes} min',
'dawarich.checkedAgo': 'comprovat {ago}',
'dawarich.badge.lowConfidence': 'Incert',
'dawarich.badge.sourceChanged': 'Canviat a Dawarich',
'dawarich.badge.sourceMissing': 'Ja no hi és a Dawarich',
'dawarich.suggestions.title': 'Des de Dawarich',
'dawarich.suggestions.pending': '{count} pendents',
'dawarich.suggestions.loading': 'S’està llegint Dawarich…',
'dawarich.suggestions.notConnected': 'Connecta Dawarich a la configuració per veure aquí les teves estades.',
'dawarich.suggestions.unavailable': 'No s’ha pogut llegir Dawarich.',
'dawarich.suggestions.allHandled': 'Ja has resolt tot el que s’ha enregistrat aquí.',
'dawarich.suggestions.asJournal': 'Escriu una entrada de diari',
'dawarich.suggestions.asPlace': 'Afegeix-ho com a lloc',
'dawarich.suggestions.dismiss': 'No és un lloc que hagi visitat',
'dawarich.suggestions.dismissed': 'Descartat',
'dawarich.suggestions.restore': 'Torna-ho a posar',
'dawarich.suggestions.showHandled': 'Mostra’n {count} de ja resolts',
'dawarich.suggestions.hideHandled': 'Amaga els que ja estan resolts',
'dawarich.suggestions.matchesWish': 'A la teva llista de desitjos: {name}',
'dawarich.suggestions.acceptedAs.place': 'Afegit com a lloc',
'dawarich.suggestions.acceptedAs.journal': 'Al diari',
'dawarich.suggestions.acceptedAs.bucket_list': 'Desig marcat',
'dawarich.suggestions.sourceChanged':
'Aquesta estada ha canviat a Dawarich des que la vas fer servir. El que has escrit a TREK no s’ha tocat.',
'dawarich.suggestions.sourceMissing':
'Aquesta estada ja no existeix a Dawarich. El que has escrit a TREK no s’ha tocat.',
'dawarich.sourceStatus.suggested': 'Detectat, sense confirmar',
'dawarich.confidence.high': 'Detecció segura',
'dawarich.confidence.medium': 'Detecció força segura',
'dawarich.confidence.low': 'Detecció incerta',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Afegeix aquesta estada com a lloc',
'dawarich.accept.title.journal': 'Escriu una entrada de diari',
'dawarich.accept.title.bucket_list': 'Marca un desig',
'dawarich.accept.confirm.place': 'Afegeix el lloc',
'dawarich.accept.confirm.journal': 'Afegeix l’entrada',
'dawarich.accept.confirm.bucket_list': 'Marca’l',
'dawarich.accept.recorded': 'Enregistrat des de {from} fins a {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Nom',
'dawarich.accept.date': 'Data',
'dawarich.accept.from': 'Arribada',
'dawarich.accept.to': 'Sortida',
'dawarich.accept.trip': 'Viatge',
'dawarich.accept.thisTrip': 'Aquest viatge',
'dawarich.accept.pickTrip': 'Tria un viatge',
'dawarich.accept.day': 'Dia',
'dawarich.accept.noDay': 'Encara no és en cap dia',
'dawarich.accept.journal': 'Diari',
'dawarich.accept.pickJournal': 'Tria un diari',
'dawarich.accept.notes': 'Notes',
'dawarich.accept.story': 'La teva història',
'dawarich.accept.storyPlaceholder': 'Què va passar aquí?',
'dawarich.accept.photosHint': 'Afegeix fotos a l’entrada un cop creada.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Afegit des dels teus registres de Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Comprova la teva llista de desitjos amb Dawarich',
'dawarich.bucket.description':
'Busca als teus enregistraments els llocs on volies arribar. Una visita necessita tant proximitat com temps d’estada — passar-hi de llarg no compta.',
'dawarich.bucket.scan': 'Comprova la llista de desitjos',
'dawarich.bucket.scanning': 'S’està comprovant…',
'dawarich.bucket.noMatches': 'No ha aparegut res de la teva llista de desitjos als teus enregistraments.',
'dawarich.bucket.alreadyVisited': 'Ja marcat',
'dawarich.bucket.confirm': 'Marca’n {count}',
'dawarich.bucket.confirmed': '{count} desitjos marcats',
'dawarich.bucket.skipped': '{count} entrades no tenen coordenades i no s’han pogut comprovar.',
'dawarich.bucket.truncated': 'Només s’han comprovat les primeres entrades. Torna-ho a executar per a la resta.',
'dawarich.bucket.visitedFrom': 'Marcat a partir dels teus enregistraments de Dawarich',
'dawarich.bucket.clearVisit': 'Desfés',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Països des de Dawarich',
'dawarich.atlas.description':
'Països on els teus enregistraments diuen que has estat. Confirma els que vulguis al teu Atles — no s’hi afegeix res tot sol, i el que has marcat a mà continua sent teu.',
'dawarich.atlas.load': 'Busca països',
'dawarich.atlas.loading': 'S’estan llegint els teus enregistraments…',
'dawarich.atlas.empty': 'Els teus enregistraments no mostren cap país que TREK no tingui ja.',
'dawarich.atlas.cities': '{count} ciutats',
'dawarich.atlas.citiesOne': '1 ciutat',
'dawarich.atlas.accept': 'Afegeix {count} països',
'dawarich.atlas.accepted': '{count} països afegits',
'dawarich.atlas.unresolved': 'TREK no ha pogut associar això a cap país: {names}.',
'dawarich.atlas.source': 'Des de Dawarich',
'dawarich.atlas.range': 'S’ha mirat de {from} a {to}',
'dawarich.atlas.trigger': 'Desitjos i països dels teus registres',
'dawarich.atlas.dialogSubtitle': 'Què diuen els teus registres sobre el teu Atles',
'dawarich.atlas.tab.wishes': 'Llista de desitjos',
'dawarich.atlas.tab.countries': 'Països',
'dawarich.atlas.window': 'S’han revisat els darrers 12 mesos.',
'dawarich.selected': '{count} seleccionats',
'dawarich.again': 'Tornar a comprovar',
'dawarich.bucket.metersAway': 'a {meters} m',
'dawarich.bucket.kilometersAway': 'a {km} km',
'dawarich.bucket.rule': 'Un desig es considera assolit a menys de {meters} m i després de {minutes} minuts al lloc.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+179
View File
@@ -0,0 +1,179 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Připojte svou vlastní instanci Dawarich a uvidíte, kde jste skutečně byli. TREK ji přečte a navrhne záznamy do deníku, místa a země — nic se nepřidá, dokud to nepotvrdíte, a do Dawarichu se nic nezapisuje.',
'dawarich.url': 'Adresa instance',
'dawarich.apiKey': 'API klíč',
'dawarich.apiKeyPlaceholder': 'Vložte svůj API klíč Dawarich',
'dawarich.apiKeyHint': 'Najdete jej v Dawarichu pod Účet → API klíč. Ukládá se zašifrovaně a znovu se nezobrazí.',
'dawarich.allowInsecureTls': 'Povolit vlastnoručně podepsaný certifikát',
'dawarich.allowInsecureTlsHint':
'Potřebné jen tehdy, když vaše instance používá certifikát, kterému váš server nedůvěřuje.',
'dawarich.syncEnabled': 'Automaticky hledat nové pobyty',
'dawarich.syncEnabledHint': 'Když je vypnuto, TREK čte Dawarich jen na vyžádání.',
'dawarich.test.button': 'Otestovat připojení',
'dawarich.test.success': 'Připojeno. Za posledních 30 dní nalezeno {count} pobytů.',
'dawarich.test.failed': 'Dawarich se nepodařilo kontaktovat.',
'dawarich.syncNow': 'Zkontrolovat teď',
'dawarich.connected': 'Připojeno',
'dawarich.notConnected': 'Nepřipojeno',
'dawarich.disconnect': 'Odpojit',
'dawarich.lastSync': 'Naposledy zkontrolováno {when}',
'dawarich.neverSynced': 'Zatím nezkontrolováno',
'dawarich.syncPartial': 'některé cesty se nepodařilo načíst',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Připojení k Dawarichu uloženo',
'dawarich.toast.saveError': 'Připojení se nepodařilo uložit',
'dawarich.toast.disconnected': 'Dawarich odpojen',
'dawarich.toast.synced': 'Nalezeno {count} nových pobytů',
'dawarich.toast.syncError': 'Dawarich se nepodařilo načíst',
'dawarich.toast.syncRunning': 'Kontrola už probíhá',
'dawarich.toast.acceptError': 'Toto se nepodařilo přidat',
'dawarich.toast.updateError': 'Tento návrh se nepodařilo aktualizovat',
'dawarich.toast.accepted.place': 'Přidáno do cesty',
'dawarich.toast.accepted.journal': 'Přidáno do deníku',
'dawarich.toast.accepted.bucket_list': 'Odškrtnuto ze seznamu přání',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'pobyty',
'dawarich.capability.track': 'zaznamenaná trasa',
'dawarich.capability.locations': 'porovnání se seznamem přání',
'dawarich.capability.visitedCities': 'země a města',
'dawarich.capability.missing': 'Tato verze Dawarichu nenabízí: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK se na tuto adresu nedostal.',
'dawarich.error.unauthorized': 'Dawarich odmítl API klíč.',
'dawarich.error.forbidden': 'Tento API klíč nemá oprávnění toto číst.',
'dawarich.error.not_found': 'Tato verze Dawarichu tento koncový bod nemá.',
'dawarich.error.rate_limited': 'Dawarich požádal TREK o zpomalení. Zkuste to prosím za chvíli znovu.',
'dawarich.error.server_error': 'Dawarich odpověděl chybou.',
'dawarich.error.invalid_response': 'Tato adresa odpověděla něčím, co není Dawarich.',
'dawarich.error.too_large': 'Dawarich poslal víc dat, než kolik TREK přečte najednou.',
'dawarich.error.not_connected': 'Zatím není připojena žádná instance Dawarich.',
'dawarich.error.addon_disabled': 'Doplněk Dawarich je v této instanci vypnutý.',
'dawarich.error.offline': 'To vyžaduje připojení — TREK je právě offline.',
'dawarich.error.invalid_url': 'TREK tuto adresu použít nemůže.',
'dawarich.warning.private_ip': 'Tato adresa míří na privátní IP ({ip}). Ověřte, že to tak má být — server k ní možná potřebuje ALLOW_INTERNAL_NETWORK=true.',
'dawarich.error.unknown': 'Při komunikaci s Dawarichem se něco pokazilo.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Zobrazit zaznamenanou trasu',
'dawarich.trail.hide': 'Skrýt zaznamenanou trasu',
'dawarich.trail.loading': 'Načítá se zaznamenaná trasa…',
'dawarich.trail.empty': 'V těchto dnech nebylo nic zaznamenáno',
'dawarich.trail.offline': 'Zaznamenaná trasa vyžaduje připojení',
'dawarich.trail.unavailable': 'Zaznamenanou trasu se nepodařilo načíst',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} h',
'dawarich.duration.hoursMinutes': '{hours} h {minutes} min',
'dawarich.checkedAgo': 'zkontrolováno {ago}',
'dawarich.badge.lowConfidence': 'Nejisté',
'dawarich.badge.sourceChanged': 'Změněno v Dawarichu',
'dawarich.badge.sourceMissing': 'V Dawarichu už není',
'dawarich.suggestions.title': 'Z Dawarichu',
'dawarich.suggestions.pending': '{count} čeká na vás',
'dawarich.suggestions.loading': 'Načítá se Dawarich…',
'dawarich.suggestions.notConnected': 'Připojte Dawarich v Nastavení a uvidíte tu své pobyty.',
'dawarich.suggestions.unavailable': 'Dawarich se nepodařilo načíst.',
'dawarich.suggestions.allHandled': 'Všechno, co je tu zaznamenáno, už je vyřízené.',
'dawarich.suggestions.asJournal': 'Napsat záznam do deníku',
'dawarich.suggestions.asPlace': 'Přidat jako místo',
'dawarich.suggestions.dismiss': 'Tady jsem nebyl',
'dawarich.suggestions.dismissed': 'Zamítnuto',
'dawarich.suggestions.restore': 'Vrátit zpět',
'dawarich.suggestions.showHandled': 'Zobrazit {count} již vyřízených',
'dawarich.suggestions.hideHandled': 'Skrýt už vyřízené',
'dawarich.suggestions.matchesWish': 'Na vašem seznamu přání: {name}',
'dawarich.suggestions.acceptedAs.place': 'Přidáno jako místo',
'dawarich.suggestions.acceptedAs.journal': 'V deníku',
'dawarich.suggestions.acceptedAs.bucket_list': 'Přání odškrtnuto',
'dawarich.suggestions.sourceChanged':
'Tento pobyt se od vašeho použití v Dawarichu změnil. To, co jste napsali v TREKu, zůstává beze změny.',
'dawarich.suggestions.sourceMissing':
'Tento pobyt už v Dawarichu neexistuje. To, co jste napsali v TREKu, zůstává beze změny.',
'dawarich.sourceStatus.suggested': 'Rozpoznáno, nepotvrzeno',
'dawarich.confidence.high': 'Jisté rozpoznání',
'dawarich.confidence.medium': 'Poměrně jisté rozpoznání',
'dawarich.confidence.low': 'Nejisté rozpoznání',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Přidat tento pobyt jako místo',
'dawarich.accept.title.journal': 'Napsat záznam do deníku',
'dawarich.accept.title.bucket_list': 'Odškrtnout přání',
'dawarich.accept.confirm.place': 'Přidat místo',
'dawarich.accept.confirm.journal': 'Přidat záznam',
'dawarich.accept.confirm.bucket_list': 'Odškrtnout',
'dawarich.accept.recorded': 'Zaznamenáno od {from} do {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Název',
'dawarich.accept.date': 'Datum',
'dawarich.accept.from': 'Příchod',
'dawarich.accept.to': 'Odchod',
'dawarich.accept.trip': 'Cesta',
'dawarich.accept.thisTrip': 'Tato cesta',
'dawarich.accept.pickTrip': 'Vyberte cestu',
'dawarich.accept.day': 'Den',
'dawarich.accept.noDay': 'Zatím bez dne',
'dawarich.accept.journal': 'Deník',
'dawarich.accept.pickJournal': 'Vyberte deník',
'dawarich.accept.notes': 'Poznámky',
'dawarich.accept.story': 'Váš příběh',
'dawarich.accept.storyPlaceholder': 'Co se tu stalo?',
'dawarich.accept.photosHint': 'Fotky přidáte k záznamu až po jeho vytvoření.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Přidáno z vašich záznamů Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Porovnat seznam přání s Dawarichem',
'dawarich.bucket.description':
'Prohledá vaše záznamy a hledá místa, kam jste se chtěli dostat. Návštěva vyžaduje blízkost i strávený čas — projet kolem se nepočítá.',
'dawarich.bucket.scan': 'Zkontrolovat seznam přání',
'dawarich.bucket.scanning': 'Kontroluje se…',
'dawarich.bucket.noMatches': 'Ve vašich záznamech se neobjevilo nic z vašeho seznamu přání.',
'dawarich.bucket.alreadyVisited': 'Již odškrtnuto',
'dawarich.bucket.confirm': 'Odškrtnout {count}',
'dawarich.bucket.confirmed': 'Odškrtnuto přání: {count}',
'dawarich.bucket.skipped': '{count} položek nemá souřadnice a nešlo je zkontrolovat.',
'dawarich.bucket.truncated': 'Zkontrolovány byly jen první položky. Zbytek zkontrolujete dalším spuštěním.',
'dawarich.bucket.visitedFrom': 'Odškrtnuto podle vašich záznamů v Dawarichu',
'dawarich.bucket.clearVisit': 'Vrátit zpět',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Země z Dawarichu',
'dawarich.atlas.description':
'Země, ve kterých jste podle svých záznamů byli. Potvrďte ty, které chcete mít v Atlasu — nic se nepřidá samo a co jste označili ručně, zůstává vaše.',
'dawarich.atlas.load': 'Vyhledat země',
'dawarich.atlas.loading': 'Načítají se vaše záznamy…',
'dawarich.atlas.empty': 'Vaše záznamy neukazují žádné země, které by TREK ještě neměl.',
'dawarich.atlas.cities': 'Měst: {count}',
'dawarich.atlas.citiesOne': '1 město',
'dawarich.atlas.accept': 'Přidat země: {count}',
'dawarich.atlas.accepted': 'Přidáno zemí: {count}',
'dawarich.atlas.unresolved': 'TREK nedokázal tyto přiřadit k zemi: {names}.',
'dawarich.atlas.source': 'Z Dawarichu',
'dawarich.atlas.range': 'Prohlédnuto od {from} do {to}',
'dawarich.atlas.trigger': 'Přání a země z vašich záznamů',
'dawarich.atlas.dialogSubtitle': 'Co vaše záznamy říkají o vašem Atlasu',
'dawarich.atlas.tab.wishes': 'Seznam přání',
'dawarich.atlas.tab.countries': 'Země',
'dawarich.atlas.window': 'Prohledáno bylo posledních 12 měsíců.',
'dawarich.selected': 'Vybráno: {count}',
'dawarich.again': 'Zkontrolovat znovu',
'dawarich.bucket.metersAway': '{meters} m daleko',
'dawarich.bucket.kilometersAway': '{km} km daleko',
'dawarich.bucket.rule': 'Přání se počítá jako splněné do {meters} m a po {minutes} minutách na místě.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+183
View File
@@ -0,0 +1,183 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Verbinde deine eigene Dawarich-Instanz, um zu sehen, wo du tatsächlich warst. TREK liest sie aus und schlägt Tagebucheinträge, Orte und Länder vor — nichts wird übernommen, bevor du es bestätigst, und nach Dawarich wird nichts zurückgeschrieben.',
'dawarich.url': 'Adresse der Instanz',
'dawarich.apiKey': 'API-Schlüssel',
'dawarich.apiKeyPlaceholder': 'Deinen Dawarich-API-Schlüssel einfügen',
'dawarich.apiKeyHint':
'Zu finden in Dawarich unter Account → API key. Wird verschlüsselt gespeichert und nie wieder angezeigt.',
'dawarich.allowInsecureTls': 'Selbstsigniertes Zertifikat zulassen',
'dawarich.allowInsecureTlsHint':
'Nur nötig, wenn deine Instanz ein Zertifikat nutzt, dem dein Server nicht vertraut.',
'dawarich.syncEnabled': 'Automatisch nach neuen Aufenthalten suchen',
'dawarich.syncEnabledHint': 'Aus bedeutet: TREK liest Dawarich nur, wenn du es anstößt.',
'dawarich.test.button': 'Verbindung testen',
'dawarich.test.success': 'Verbunden. {count} Aufenthalte in den letzten 30 Tagen gefunden.',
'dawarich.test.failed': 'Dawarich war nicht erreichbar.',
'dawarich.syncNow': 'Jetzt nachsehen',
'dawarich.connected': 'Verbunden',
'dawarich.notConnected': 'Nicht verbunden',
'dawarich.disconnect': 'Trennen',
'dawarich.lastSync': 'Zuletzt nachgesehen {when}',
'dawarich.neverSynced': 'Noch nicht nachgesehen',
'dawarich.syncPartial': 'einige Reisen konnten nicht gelesen werden',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich-Verbindung gespeichert',
'dawarich.toast.saveError': 'Die Verbindung konnte nicht gespeichert werden',
'dawarich.toast.disconnected': 'Dawarich getrennt',
'dawarich.toast.synced': '{count} neue Aufenthalte gefunden',
'dawarich.toast.syncError': 'Dawarich konnte nicht gelesen werden',
'dawarich.toast.syncRunning': 'Es läuft bereits eine Prüfung',
'dawarich.toast.acceptError': 'Das konnte nicht übernommen werden',
'dawarich.toast.updateError': 'Dieser Vorschlag konnte nicht aktualisiert werden',
'dawarich.toast.accepted.place': 'Zur Reise hinzugefügt',
'dawarich.toast.accepted.journal': 'Ins Tagebuch übernommen',
'dawarich.toast.accepted.bucket_list': 'Von deiner Wunschliste abgehakt',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'Aufenthalte',
'dawarich.capability.track': 'aufgezeichnete Route',
'dawarich.capability.locations': 'Abgleich mit der Wunschliste',
'dawarich.capability.visitedCities': 'Länder und Städte',
'dawarich.capability.missing': 'Diese Dawarich-Version bietet nicht: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK konnte diese Adresse nicht erreichen.',
'dawarich.error.unauthorized': 'Dawarich hat den API-Schlüssel abgelehnt.',
'dawarich.error.forbidden': 'Dieser API-Schlüssel darf das nicht lesen.',
'dawarich.error.not_found': 'Diese Dawarich-Version hat diesen Endpunkt nicht.',
'dawarich.error.rate_limited':
'Dawarich hat TREK gebeten, langsamer zu machen. Versuch es gleich noch einmal.',
'dawarich.error.server_error': 'Dawarich hat mit einem Fehler geantwortet.',
'dawarich.error.invalid_response': 'Diese Adresse hat mit etwas geantwortet, das kein Dawarich ist.',
'dawarich.error.too_large': 'Dawarich hat mehr Daten geschickt, als TREK auf einmal liest.',
'dawarich.error.not_connected': 'Es ist noch keine Dawarich-Instanz verbunden.',
'dawarich.error.addon_disabled': 'Das Dawarich-Addon ist für diese Instanz abgeschaltet.',
'dawarich.error.offline': 'Dafür braucht es eine Verbindung — TREK ist gerade offline.',
'dawarich.error.invalid_url': 'TREK kann diese Adresse nicht verwenden.',
'dawarich.warning.private_ip': 'Diese Adresse zeigt auf eine private IP ({ip}). Prüfe, ob das so gewollt ist — der Server braucht dafür eventuell ALLOW_INTERNAL_NETWORK=true.',
'dawarich.error.unknown': 'Bei der Kommunikation mit Dawarich ist etwas schiefgelaufen.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Aufgezeichnete Route anzeigen',
'dawarich.trail.hide': 'Aufgezeichnete Route ausblenden',
'dawarich.trail.loading': 'Aufgezeichnete Route wird geladen…',
'dawarich.trail.empty': 'An diesen Tagen wurde nichts aufgezeichnet',
'dawarich.trail.offline': 'Die aufgezeichnete Route braucht eine Verbindung',
'dawarich.trail.unavailable': 'Die aufgezeichnete Route konnte nicht geladen werden',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} Min.',
'dawarich.duration.hours': '{hours} Std.',
'dawarich.duration.hoursMinutes': '{hours} Std. {minutes} Min.',
'dawarich.checkedAgo': 'geprüft {ago}',
'dawarich.badge.lowConfidence': 'Unsicher',
'dawarich.badge.sourceChanged': 'In Dawarich geändert',
'dawarich.badge.sourceMissing': 'In Dawarich nicht mehr da',
'dawarich.suggestions.title': 'Aus Dawarich',
'dawarich.suggestions.pending': '{count} warten auf dich',
'dawarich.suggestions.loading': 'Dawarich wird gelesen…',
'dawarich.suggestions.notConnected':
'Verbinde Dawarich in den Einstellungen, um deine Aufenthalte hier zu sehen.',
'dawarich.suggestions.unavailable': 'Dawarich konnte nicht gelesen werden.',
'dawarich.suggestions.allHandled': 'Alles, was hier aufgezeichnet wurde, ist erledigt.',
'dawarich.suggestions.asJournal': 'Tagebucheintrag schreiben',
'dawarich.suggestions.asPlace': 'Als Ort hinzufügen',
'dawarich.suggestions.dismiss': 'Da war ich nicht',
'dawarich.suggestions.dismissed': 'Verworfen',
'dawarich.suggestions.restore': 'Zurückholen',
'dawarich.suggestions.showHandled': '{count} bereits erledigte anzeigen',
'dawarich.suggestions.hideHandled': 'Bereits erledigte ausblenden',
'dawarich.suggestions.matchesWish': 'Auf deiner Wunschliste: {name}',
'dawarich.suggestions.acceptedAs.place': 'Als Ort hinzugefügt',
'dawarich.suggestions.acceptedAs.journal': 'Im Tagebuch',
'dawarich.suggestions.acceptedAs.bucket_list': 'Wunsch abgehakt',
'dawarich.suggestions.sourceChanged':
'Dieser Aufenthalt hat sich in Dawarich geändert, seit du ihn übernommen hast. Was du in TREK geschrieben hast, bleibt unberührt.',
'dawarich.suggestions.sourceMissing':
'Diesen Aufenthalt gibt es in Dawarich nicht mehr. Was du in TREK geschrieben hast, bleibt unberührt.',
'dawarich.sourceStatus.suggested': 'Erkannt, nicht bestätigt',
'dawarich.confidence.high': 'Sichere Erkennung',
'dawarich.confidence.medium': 'Recht sichere Erkennung',
'dawarich.confidence.low': 'Unsichere Erkennung',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Diesen Aufenthalt als Ort hinzufügen',
'dawarich.accept.title.journal': 'Tagebucheintrag schreiben',
'dawarich.accept.title.bucket_list': 'Einen Wunsch abhaken',
'dawarich.accept.confirm.place': 'Ort hinzufügen',
'dawarich.accept.confirm.journal': 'Eintrag hinzufügen',
'dawarich.accept.confirm.bucket_list': 'Abhaken',
'dawarich.accept.recorded': 'Aufgezeichnet {from} bis {to}',
'dawarich.accept.duration': '{minutes} Min.',
'dawarich.accept.name': 'Name',
'dawarich.accept.date': 'Datum',
'dawarich.accept.from': 'Angekommen',
'dawarich.accept.to': 'Aufgebrochen',
'dawarich.accept.trip': 'Reise',
'dawarich.accept.thisTrip': 'Diese Reise',
'dawarich.accept.pickTrip': 'Reise auswählen',
'dawarich.accept.day': 'Tag',
'dawarich.accept.noDay': 'Noch keinem Tag zugeordnet',
'dawarich.accept.journal': 'Tagebuch',
'dawarich.accept.pickJournal': 'Tagebuch auswählen',
'dawarich.accept.notes': 'Notizen',
'dawarich.accept.story': 'Deine Geschichte',
'dawarich.accept.storyPlaceholder': 'Was ist hier passiert?',
'dawarich.accept.photosHint': 'Fotos kannst du dem Eintrag hinzufügen, sobald er angelegt ist.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Aus deinen Dawarich-Aufzeichnungen übernommen',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Wunschliste mit Dawarich abgleichen',
'dawarich.bucket.description':
'Durchsucht deine Aufzeichnungen nach den Orten, die du erreichen wolltest. Ein Besuch braucht Nähe und verbrachte Zeit — Vorbeifahren zählt nicht.',
'dawarich.bucket.scan': 'Wunschliste prüfen',
'dawarich.bucket.scanning': 'Wird geprüft…',
'dawarich.bucket.noMatches': 'Nichts von deiner Wunschliste taucht in deinen Aufzeichnungen auf.',
'dawarich.bucket.alreadyVisited': 'Bereits abgehakt',
'dawarich.bucket.confirm': '{count} abhaken',
'dawarich.bucket.confirmed': '{count} Wünsche abgehakt',
'dawarich.bucket.skipped': '{count} Einträge haben keine Koordinaten und konnten nicht geprüft werden.',
'dawarich.bucket.truncated':
'Es wurden nur die ersten Einträge geprüft. Starte den Abgleich für den Rest noch einmal.',
'dawarich.bucket.visitedFrom': 'Anhand deiner Dawarich-Aufzeichnungen abgehakt',
'dawarich.bucket.clearVisit': 'Rückgängig',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Länder aus Dawarich',
'dawarich.atlas.description':
'Länder, in denen du deinen Aufzeichnungen zufolge warst. Bestätige die, die in deinen Atlas sollen — nichts wird von allein übernommen, und was du von Hand markiert hast, bleibt deins.',
'dawarich.atlas.load': 'Nach Ländern suchen',
'dawarich.atlas.loading': 'Deine Aufzeichnungen werden gelesen…',
'dawarich.atlas.empty': 'Deine Aufzeichnungen zeigen keine Länder, die TREK nicht schon hat.',
'dawarich.atlas.cities': '{count} Städte',
'dawarich.atlas.citiesOne': '1 Stadt',
'dawarich.atlas.accept': '{count} Länder hinzufügen',
'dawarich.atlas.accepted': '{count} Länder hinzugefügt',
'dawarich.atlas.unresolved': 'TREK konnte diese keinem Land zuordnen: {names}.',
'dawarich.atlas.source': 'Aus Dawarich',
'dawarich.atlas.range': 'Betrachtet: {from} bis {to}',
'dawarich.atlas.trigger': 'Wünsche und Länder aus deinen Aufzeichnungen',
'dawarich.atlas.dialogSubtitle': 'Was deine Aufzeichnungen über deinen Atlas sagen',
'dawarich.atlas.tab.wishes': 'Wunschliste',
'dawarich.atlas.tab.countries': 'Länder',
'dawarich.atlas.window': 'Angesehen wurden die letzten 12 Monate.',
'dawarich.selected': '{count} ausgewählt',
'dawarich.again': 'Erneut prüfen',
'dawarich.bucket.metersAway': '{meters} m entfernt',
'dawarich.bucket.kilometersAway': '{km} km entfernt',
'dawarich.bucket.rule': 'Ein Wunsch gilt ab {meters} m Nähe und {minutes} Minuten vor Ort als erreicht.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Connect your own Dawarich instance to see where you actually went. TREK reads it and suggests journal entries, places and countries — nothing is added until you confirm it, and nothing is written back to Dawarich.',
'dawarich.url': 'Instance address',
'dawarich.apiKey': 'API key',
'dawarich.apiKeyPlaceholder': 'Paste your Dawarich API key',
'dawarich.apiKeyHint': 'Found in Dawarich under Account → API key. Stored encrypted and never shown again.',
'dawarich.allowInsecureTls': 'Allow self-signed certificate',
'dawarich.allowInsecureTlsHint': 'Only needed if your instance uses a certificate your server does not trust.',
'dawarich.syncEnabled': 'Check for new stays automatically',
'dawarich.syncEnabledHint': 'Off means TREK only reads Dawarich when you ask it to.',
'dawarich.test.button': 'Test connection',
'dawarich.test.success': 'Connected. {count} stays found in the last 30 days.',
'dawarich.test.failed': 'Could not reach Dawarich.',
'dawarich.syncNow': 'Check now',
'dawarich.connected': 'Connected',
'dawarich.notConnected': 'Not connected',
'dawarich.disconnect': 'Disconnect',
'dawarich.lastSync': 'Last checked {when}',
'dawarich.neverSynced': 'Not checked yet',
'dawarich.syncPartial': 'some trips could not be read',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich connection saved',
'dawarich.toast.saveError': 'Could not save the connection',
'dawarich.toast.disconnected': 'Dawarich disconnected',
'dawarich.toast.synced': '{count} new stays found',
'dawarich.toast.syncError': 'Could not read Dawarich',
'dawarich.toast.syncRunning': 'A check is already running',
'dawarich.toast.acceptError': 'Could not add this',
'dawarich.toast.updateError': 'Could not update this suggestion',
'dawarich.toast.accepted.place': 'Added to the trip',
'dawarich.toast.accepted.journal': 'Added to the journal',
'dawarich.toast.accepted.bucket_list': 'Ticked off your wishlist',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'stays',
'dawarich.capability.track': 'recorded route',
'dawarich.capability.locations': 'wishlist matching',
'dawarich.capability.visitedCities': 'countries and cities',
'dawarich.capability.missing': 'This Dawarich version does not offer: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK could not reach that address.',
'dawarich.error.unauthorized': 'Dawarich rejected the API key.',
'dawarich.error.forbidden': 'That API key is not allowed to read this.',
'dawarich.error.not_found': 'This Dawarich version does not have that endpoint.',
'dawarich.error.rate_limited': 'Dawarich asked TREK to slow down. Try again shortly.',
'dawarich.error.server_error': 'Dawarich answered with an error.',
'dawarich.error.invalid_response': 'That address answered with something that is not Dawarich.',
'dawarich.error.too_large': 'Dawarich sent more data than TREK will read at once.',
'dawarich.error.not_connected': 'No Dawarich instance is connected yet.',
'dawarich.error.addon_disabled': 'The Dawarich addon is switched off for this instance.',
'dawarich.error.offline': 'This needs a connection — TREK is offline right now.',
'dawarich.error.invalid_url': 'TREK cannot use that address.',
'dawarich.warning.private_ip': 'That address resolves to a private IP ({ip}). Make sure that is what you meant — the server may need ALLOW_INTERNAL_NETWORK=true to reach it.',
'dawarich.error.unknown': 'Something went wrong talking to Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Show recorded route',
'dawarich.trail.hide': 'Hide recorded route',
'dawarich.trail.loading': 'Loading the recorded route…',
'dawarich.trail.empty': 'Nothing was recorded on these dates',
'dawarich.trail.offline': 'The recorded route needs a connection',
'dawarich.trail.unavailable': 'The recorded route could not be loaded',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} h',
'dawarich.duration.hoursMinutes': '{hours} h {minutes} min',
'dawarich.checkedAgo': 'checked {ago}',
'dawarich.badge.lowConfidence': 'Unsure',
'dawarich.badge.sourceChanged': 'Changed in Dawarich',
'dawarich.badge.sourceMissing': 'Gone from Dawarich',
'dawarich.suggestions.title': 'From Dawarich',
'dawarich.suggestions.pending': '{count} waiting for you',
'dawarich.suggestions.loading': 'Reading Dawarich…',
'dawarich.suggestions.notConnected': 'Connect Dawarich in Settings to see your stays here.',
'dawarich.suggestions.unavailable': 'Dawarich could not be read.',
'dawarich.suggestions.allHandled': 'Everything recorded here has been dealt with.',
'dawarich.suggestions.asJournal': 'Write a journal entry',
'dawarich.suggestions.asPlace': 'Add as a place',
'dawarich.suggestions.dismiss': 'Not a place I visited',
'dawarich.suggestions.dismissed': 'Dismissed',
'dawarich.suggestions.restore': 'Put back',
'dawarich.suggestions.showHandled': 'Show {count} already dealt with',
'dawarich.suggestions.hideHandled': 'Hide the ones already dealt with',
'dawarich.suggestions.matchesWish': 'On your wishlist: {name}',
'dawarich.suggestions.acceptedAs.place': 'Added as a place',
'dawarich.suggestions.acceptedAs.journal': 'In the journal',
'dawarich.suggestions.acceptedAs.bucket_list': 'Wish ticked off',
'dawarich.suggestions.sourceChanged':
'This stay has changed in Dawarich since you used it. What you wrote in TREK is untouched.',
'dawarich.suggestions.sourceMissing':
'This stay no longer exists in Dawarich. What you wrote in TREK is untouched.',
'dawarich.sourceStatus.suggested': 'Detected, unconfirmed',
'dawarich.confidence.high': 'Confident detection',
'dawarich.confidence.medium': 'Fairly confident detection',
'dawarich.confidence.low': 'Uncertain detection',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Add this stay as a place',
'dawarich.accept.title.journal': 'Write a journal entry',
'dawarich.accept.title.bucket_list': 'Tick off a wish',
'dawarich.accept.confirm.place': 'Add place',
'dawarich.accept.confirm.journal': 'Add entry',
'dawarich.accept.confirm.bucket_list': 'Tick it off',
'dawarich.accept.recorded': 'Recorded {from} until {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Name',
'dawarich.accept.date': 'Date',
'dawarich.accept.from': 'Arrived',
'dawarich.accept.to': 'Left',
'dawarich.accept.trip': 'Trip',
'dawarich.accept.thisTrip': 'This trip',
'dawarich.accept.pickTrip': 'Choose a trip',
'dawarich.accept.day': 'Day',
'dawarich.accept.noDay': 'Not on a day yet',
'dawarich.accept.journal': 'Journal',
'dawarich.accept.pickJournal': 'Choose a journal',
'dawarich.accept.notes': 'Notes',
'dawarich.accept.story': 'Your story',
'dawarich.accept.storyPlaceholder': 'What happened here?',
'dawarich.accept.photosHint': 'Add photos to the entry after it is created.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Added from your Dawarich recordings',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Check your wishlist against Dawarich',
'dawarich.bucket.description':
'Looks through your recordings for the places you wanted to reach. A visit needs both closeness and time spent — driving past does not count.',
'dawarich.bucket.scan': 'Check wishlist',
'dawarich.bucket.scanning': 'Checking…',
'dawarich.bucket.noMatches': 'Nothing on your wishlist turned up in your recordings.',
'dawarich.bucket.alreadyVisited': 'Already ticked off',
'dawarich.bucket.confirm': 'Tick off {count}',
'dawarich.bucket.confirmed': '{count} wishes ticked off',
'dawarich.bucket.skipped': '{count} entries have no coordinates and could not be checked.',
'dawarich.bucket.truncated': 'Only the first entries were checked. Run it again for the rest.',
'dawarich.bucket.visitedFrom': 'Ticked off from your Dawarich recordings',
'dawarich.bucket.clearVisit': 'Undo',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Countries from Dawarich',
'dawarich.atlas.description':
'Countries your recordings say you were in. Confirm the ones you want in your Atlas — nothing is added on its own, and what you marked by hand stays yours.',
'dawarich.atlas.load': 'Look for countries',
'dawarich.atlas.loading': 'Reading your recordings…',
'dawarich.atlas.empty': 'Your recordings show no countries TREK does not already have.',
'dawarich.atlas.cities': '{count} cities',
'dawarich.atlas.citiesOne': '1 city',
'dawarich.atlas.accept': 'Add {count} countries',
'dawarich.atlas.accepted': '{count} countries added',
'dawarich.atlas.unresolved': 'TREK could not match these to a country: {names}.',
'dawarich.atlas.source': 'From Dawarich',
'dawarich.atlas.range': 'Looked at {from} to {to}',
'dawarich.atlas.trigger': 'Wishes and countries from your recordings',
'dawarich.atlas.dialogSubtitle': 'What your recordings say about your Atlas',
'dawarich.atlas.tab.wishes': 'Wishlist',
'dawarich.atlas.tab.countries': 'Countries',
'dawarich.atlas.window': 'The last 12 months were looked at.',
'dawarich.selected': '{count} selected',
'dawarich.again': 'Check again',
'dawarich.bucket.metersAway': '{meters} m away',
'dawarich.bucket.kilometersAway': '{km} km away',
'dawarich.bucket.rule': 'A wish counts as reached within {meters} m and after {minutes} minutes on the spot.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+180
View File
@@ -0,0 +1,180 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Conecta tu propia instancia de Dawarich para ver dónde estuviste realmente. TREK la lee y te sugiere entradas de diario, lugares y países: no se añade nada hasta que lo confirmes y no se escribe nada en Dawarich.',
'dawarich.url': 'Dirección de la instancia',
'dawarich.apiKey': 'Clave de API',
'dawarich.apiKeyPlaceholder': 'Pega tu clave de API de Dawarich',
'dawarich.apiKeyHint':
'La encontrarás en Dawarich en Cuenta → Clave de API. Se guarda cifrada y no se vuelve a mostrar.',
'dawarich.allowInsecureTls': 'Permitir certificado autofirmado',
'dawarich.allowInsecureTlsHint':
'Solo hace falta si tu instancia usa un certificado en el que tu servidor no confía.',
'dawarich.syncEnabled': 'Buscar estancias nuevas automáticamente',
'dawarich.syncEnabledHint': 'Desactivado significa que TREK solo lee Dawarich cuando se lo pides.',
'dawarich.test.button': 'Probar conexión',
'dawarich.test.success': 'Conectado. {count} estancias encontradas en los últimos 30 días.',
'dawarich.test.failed': 'No se pudo contactar con Dawarich.',
'dawarich.syncNow': 'Buscar ahora',
'dawarich.connected': 'Conectado',
'dawarich.notConnected': 'No conectado',
'dawarich.disconnect': 'Desconectar',
'dawarich.lastSync': 'Última comprobación {when}',
'dawarich.neverSynced': 'Aún sin comprobar',
'dawarich.syncPartial': 'algunos viajes no se pudieron leer',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Conexión con Dawarich guardada',
'dawarich.toast.saveError': 'No se pudo guardar la conexión',
'dawarich.toast.disconnected': 'Dawarich desconectado',
'dawarich.toast.synced': '{count} estancias nuevas encontradas',
'dawarich.toast.syncError': 'No se pudo leer Dawarich',
'dawarich.toast.syncRunning': 'Ya hay una comprobación en curso',
'dawarich.toast.acceptError': 'No se pudo añadir esto',
'dawarich.toast.updateError': 'No se pudo actualizar esta sugerencia',
'dawarich.toast.accepted.place': 'Añadido al viaje',
'dawarich.toast.accepted.journal': 'Añadido al diario',
'dawarich.toast.accepted.bucket_list': 'Tachado de tu lista de deseos',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'estancias',
'dawarich.capability.track': 'ruta grabada',
'dawarich.capability.locations': 'coincidencias con la lista de deseos',
'dawarich.capability.visitedCities': 'países y ciudades',
'dawarich.capability.missing': 'Esta versión de Dawarich no ofrece: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK no pudo contactar con esa dirección.',
'dawarich.error.unauthorized': 'Dawarich rechazó la clave de API.',
'dawarich.error.forbidden': 'Esa clave de API no tiene permiso para leer esto.',
'dawarich.error.not_found': 'Esta versión de Dawarich no tiene ese endpoint.',
'dawarich.error.rate_limited': 'Dawarich pidió a TREK que fuera más despacio. Inténtalo de nuevo en un momento.',
'dawarich.error.server_error': 'Dawarich respondió con un error.',
'dawarich.error.invalid_response': 'Esa dirección respondió con algo que no es Dawarich.',
'dawarich.error.too_large': 'Dawarich envió más datos de los que TREK lee de una vez.',
'dawarich.error.not_connected': 'Todavía no hay ninguna instancia de Dawarich conectada.',
'dawarich.error.addon_disabled': 'El complemento de Dawarich está desactivado en esta instancia.',
'dawarich.error.offline': 'Esto necesita conexión: TREK está sin conexión ahora mismo.',
'dawarich.error.invalid_url': 'TREK no puede usar esa dirección.',
'dawarich.warning.private_ip': 'Esa dirección apunta a una IP privada ({ip}). Comprueba que es lo que querías: el servidor puede necesitar ALLOW_INTERNAL_NETWORK=true para alcanzarla.',
'dawarich.error.unknown': 'Algo salió mal al hablar con Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Mostrar ruta grabada',
'dawarich.trail.hide': 'Ocultar ruta grabada',
'dawarich.trail.loading': 'Cargando la ruta grabada…',
'dawarich.trail.empty': 'No se grabó nada en estas fechas',
'dawarich.trail.offline': 'La ruta grabada necesita conexión',
'dawarich.trail.unavailable': 'No se pudo cargar la ruta grabada',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} h',
'dawarich.duration.hoursMinutes': '{hours} h {minutes} min',
'dawarich.checkedAgo': 'comprobado {ago}',
'dawarich.badge.lowConfidence': 'Incierto',
'dawarich.badge.sourceChanged': 'Cambiado en Dawarich',
'dawarich.badge.sourceMissing': 'Ya no está en Dawarich',
'dawarich.suggestions.title': 'Desde Dawarich',
'dawarich.suggestions.pending': '{count} esperándote',
'dawarich.suggestions.loading': 'Leyendo Dawarich…',
'dawarich.suggestions.notConnected': 'Conecta Dawarich en Ajustes para ver aquí tus estancias.',
'dawarich.suggestions.unavailable': 'No se pudo leer Dawarich.',
'dawarich.suggestions.allHandled': 'Ya has resuelto todo lo grabado aquí.',
'dawarich.suggestions.asJournal': 'Escribir una entrada de diario',
'dawarich.suggestions.asPlace': 'Añadir como lugar',
'dawarich.suggestions.dismiss': 'No es un lugar que visitara',
'dawarich.suggestions.dismissed': 'Descartado',
'dawarich.suggestions.restore': 'Devolver',
'dawarich.suggestions.showHandled': 'Mostrar {count} ya resueltas',
'dawarich.suggestions.hideHandled': 'Ocultar las ya resueltas',
'dawarich.suggestions.matchesWish': 'En tu lista de deseos: {name}',
'dawarich.suggestions.acceptedAs.place': 'Añadido como lugar',
'dawarich.suggestions.acceptedAs.journal': 'En el diario',
'dawarich.suggestions.acceptedAs.bucket_list': 'Deseo tachado',
'dawarich.suggestions.sourceChanged':
'Esta estancia ha cambiado en Dawarich desde que la usaste. Lo que escribiste en TREK sigue intacto.',
'dawarich.suggestions.sourceMissing':
'Esta estancia ya no existe en Dawarich. Lo que escribiste en TREK sigue intacto.',
'dawarich.sourceStatus.suggested': 'Detectada, sin confirmar',
'dawarich.confidence.high': 'Detección segura',
'dawarich.confidence.medium': 'Detección bastante segura',
'dawarich.confidence.low': 'Detección dudosa',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Añadir esta estancia como lugar',
'dawarich.accept.title.journal': 'Escribir una entrada de diario',
'dawarich.accept.title.bucket_list': 'Tachar un deseo',
'dawarich.accept.confirm.place': 'Añadir lugar',
'dawarich.accept.confirm.journal': 'Añadir entrada',
'dawarich.accept.confirm.bucket_list': 'Tacharlo',
'dawarich.accept.recorded': 'Grabado de {from} a {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Nombre',
'dawarich.accept.date': 'Fecha',
'dawarich.accept.from': 'Llegada',
'dawarich.accept.to': 'Salida',
'dawarich.accept.trip': 'Viaje',
'dawarich.accept.thisTrip': 'Este viaje',
'dawarich.accept.pickTrip': 'Elige un viaje',
'dawarich.accept.day': 'Día',
'dawarich.accept.noDay': 'Aún sin día asignado',
'dawarich.accept.journal': 'Diario',
'dawarich.accept.pickJournal': 'Elige un diario',
'dawarich.accept.notes': 'Notas',
'dawarich.accept.story': 'Tu historia',
'dawarich.accept.storyPlaceholder': '¿Qué pasó aquí?',
'dawarich.accept.photosHint': 'Añade fotos a la entrada una vez creada.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Añadido desde tus registros de Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Contrasta tu lista de deseos con Dawarich',
'dawarich.bucket.description':
'Busca en tus grabaciones los lugares a los que querías llegar. Una visita necesita cercanía y tiempo: pasar de largo no cuenta.',
'dawarich.bucket.scan': 'Comprobar la lista de deseos',
'dawarich.bucket.scanning': 'Comprobando…',
'dawarich.bucket.noMatches': 'No apareció nada de tu lista de deseos en tus grabaciones.',
'dawarich.bucket.alreadyVisited': 'Ya tachado',
'dawarich.bucket.confirm': 'Tachar {count}',
'dawarich.bucket.confirmed': '{count} deseos tachados',
'dawarich.bucket.skipped': '{count} entradas no tienen coordenadas y no se pudieron comprobar.',
'dawarich.bucket.truncated': 'Solo se comprobaron las primeras entradas. Vuelve a ejecutarlo para el resto.',
'dawarich.bucket.visitedFrom': 'Tachado a partir de tus grabaciones de Dawarich',
'dawarich.bucket.clearVisit': 'Deshacer',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Países desde Dawarich',
'dawarich.atlas.description':
'Países en los que, según tus grabaciones, estuviste. Confirma los que quieras en tu Atlas: no se añade nada por su cuenta y lo que marcaste a mano sigue siendo tuyo.',
'dawarich.atlas.load': 'Buscar países',
'dawarich.atlas.loading': 'Leyendo tus grabaciones…',
'dawarich.atlas.empty': 'Tus grabaciones no muestran ningún país que TREK no tenga ya.',
'dawarich.atlas.cities': '{count} ciudades',
'dawarich.atlas.citiesOne': '1 ciudad',
'dawarich.atlas.accept': 'Añadir {count} países',
'dawarich.atlas.accepted': '{count} países añadidos',
'dawarich.atlas.unresolved': 'TREK no pudo asociar estos a ningún país: {names}.',
'dawarich.atlas.source': 'Desde Dawarich',
'dawarich.atlas.range': 'Revisado del {from} al {to}',
'dawarich.atlas.trigger': 'Deseos y países de tus registros',
'dawarich.atlas.dialogSubtitle': 'Lo que tus registros dicen de tu Atlas',
'dawarich.atlas.tab.wishes': 'Lista de deseos',
'dawarich.atlas.tab.countries': 'Países',
'dawarich.atlas.window': 'Se han revisado los últimos 12 meses.',
'dawarich.selected': '{count} seleccionados',
'dawarich.again': 'Volver a comprobar',
'dawarich.bucket.metersAway': 'a {meters} m',
'dawarich.bucket.kilometersAway': 'a {km} km',
'dawarich.bucket.rule': 'Un deseo cuenta como cumplido a menos de {meters} m y tras {minutes} minutos en el lugar.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+182
View File
@@ -0,0 +1,182 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Connectez votre propre instance Dawarich pour voir où vous êtes réellement allé. TREK la consulte et vous propose des entrées de journal, des lieux et des pays — rien n’est ajouté sans votre confirmation, et rien n’est réécrit dans Dawarich.',
'dawarich.url': 'Adresse de l’instance',
'dawarich.apiKey': 'Clé API',
'dawarich.apiKeyPlaceholder': 'Collez votre clé API Dawarich',
'dawarich.apiKeyHint':
'Disponible dans Dawarich sous Compte → Clé API. Stockée chiffrée et jamais affichée à nouveau.',
'dawarich.allowInsecureTls': 'Autoriser un certificat auto-signé',
'dawarich.allowInsecureTlsHint':
'Nécessaire uniquement si votre instance utilise un certificat auquel votre serveur ne fait pas confiance.',
'dawarich.syncEnabled': 'Rechercher automatiquement les nouveaux séjours',
'dawarich.syncEnabledHint': 'Désactivé, TREK ne consulte Dawarich que lorsque vous le lui demandez.',
'dawarich.test.button': 'Tester la connexion',
'dawarich.test.success': 'Connecté. {count} séjours trouvés sur les 30 derniers jours.',
'dawarich.test.failed': 'Impossible de joindre Dawarich.',
'dawarich.syncNow': 'Vérifier maintenant',
'dawarich.connected': 'Connecté',
'dawarich.notConnected': 'Non connecté',
'dawarich.disconnect': 'Déconnecter',
'dawarich.lastSync': 'Dernière vérification {when}',
'dawarich.neverSynced': 'Jamais vérifié',
'dawarich.syncPartial': 'certains voyages n’ont pas pu être lus',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Connexion Dawarich enregistrée',
'dawarich.toast.saveError': 'Impossible d’enregistrer la connexion',
'dawarich.toast.disconnected': 'Dawarich déconnecté',
'dawarich.toast.synced': '{count} nouveaux séjours trouvés',
'dawarich.toast.syncError': 'Impossible de lire Dawarich',
'dawarich.toast.syncRunning': 'Une vérification est déjà en cours',
'dawarich.toast.acceptError': 'Impossible d’ajouter cet élément',
'dawarich.toast.updateError': 'Impossible de mettre à jour cette suggestion',
'dawarich.toast.accepted.place': 'Ajouté au voyage',
'dawarich.toast.accepted.journal': 'Ajouté au journal',
'dawarich.toast.accepted.bucket_list': 'Coché dans votre liste de souhaits',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'séjours',
'dawarich.capability.track': 'trajet enregistré',
'dawarich.capability.locations': 'correspondance avec la liste de souhaits',
'dawarich.capability.visitedCities': 'pays et villes',
'dawarich.capability.missing': 'Cette version de Dawarich ne propose pas : {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK n’a pas pu joindre cette adresse.',
'dawarich.error.unauthorized': 'Dawarich a refusé la clé API.',
'dawarich.error.forbidden': 'Cette clé API n’a pas le droit de lire ces données.',
'dawarich.error.not_found': 'Cette version de Dawarich ne dispose pas de ce point d’accès.',
'dawarich.error.rate_limited': 'Dawarich a demandé à TREK de ralentir. Réessayez dans un instant.',
'dawarich.error.server_error': 'Dawarich a répondu par une erreur.',
'dawarich.error.invalid_response': 'Cette adresse a répondu quelque chose qui n’est pas Dawarich.',
'dawarich.error.too_large': 'Dawarich a envoyé plus de données que TREK n’en lit en une fois.',
'dawarich.error.not_connected': 'Aucune instance Dawarich n’est encore connectée.',
'dawarich.error.addon_disabled': 'Le module Dawarich est désactivé sur cette instance.',
'dawarich.error.offline': 'Cela demande une connexion — TREK est hors ligne pour le moment.',
'dawarich.error.invalid_url': 'TREK ne peut pas utiliser cette adresse.',
'dawarich.warning.private_ip': 'Cette adresse pointe vers une IP privée ({ip}). Vérifiez que c’est voulu — le serveur peut avoir besoin de ALLOW_INTERNAL_NETWORK=true pour l’atteindre.',
'dawarich.error.unknown': 'Un problème est survenu lors de l’échange avec Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Afficher le trajet enregistré',
'dawarich.trail.hide': 'Masquer le trajet enregistré',
'dawarich.trail.loading': 'Chargement du trajet enregistré…',
'dawarich.trail.empty': 'Rien n’a été enregistré à ces dates',
'dawarich.trail.offline': 'Le trajet enregistré nécessite une connexion',
'dawarich.trail.unavailable': 'Le trajet enregistré n’a pas pu être chargé',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} h',
'dawarich.duration.hoursMinutes': '{hours} h {minutes} min',
'dawarich.checkedAgo': 'vérifié {ago}',
'dawarich.badge.lowConfidence': 'Incertain',
'dawarich.badge.sourceChanged': 'Modifié dans Dawarich',
'dawarich.badge.sourceMissing': 'Disparu de Dawarich',
'dawarich.suggestions.title': 'Depuis Dawarich',
'dawarich.suggestions.pending': '{count} en attente',
'dawarich.suggestions.loading': 'Lecture de Dawarich…',
'dawarich.suggestions.notConnected':
'Connectez Dawarich dans les Paramètres pour voir vos séjours ici.',
'dawarich.suggestions.unavailable': 'Dawarich n’a pas pu être lu.',
'dawarich.suggestions.allHandled': 'Tout ce qui a été enregistré ici a été traité.',
'dawarich.suggestions.asJournal': 'Écrire une entrée de journal',
'dawarich.suggestions.asPlace': 'Ajouter comme lieu',
'dawarich.suggestions.dismiss': 'Je n’ai pas visité ce lieu',
'dawarich.suggestions.dismissed': 'Ignoré',
'dawarich.suggestions.restore': 'Rétablir',
'dawarich.suggestions.showHandled': 'Afficher les {count} déjà traités',
'dawarich.suggestions.hideHandled': 'Masquer ceux déjà traités',
'dawarich.suggestions.matchesWish': 'Dans votre liste de souhaits : {name}',
'dawarich.suggestions.acceptedAs.place': 'Ajouté comme lieu',
'dawarich.suggestions.acceptedAs.journal': 'Dans le journal',
'dawarich.suggestions.acceptedAs.bucket_list': 'Souhait coché',
'dawarich.suggestions.sourceChanged':
'Ce séjour a changé dans Dawarich depuis que vous l’avez utilisé. Ce que vous avez écrit dans TREK reste intact.',
'dawarich.suggestions.sourceMissing':
'Ce séjour n’existe plus dans Dawarich. Ce que vous avez écrit dans TREK reste intact.',
'dawarich.sourceStatus.suggested': 'Détecté, non confirmé',
'dawarich.confidence.high': 'Détection sûre',
'dawarich.confidence.medium': 'Détection plutôt sûre',
'dawarich.confidence.low': 'Détection incertaine',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Ajouter ce séjour comme lieu',
'dawarich.accept.title.journal': 'Écrire une entrée de journal',
'dawarich.accept.title.bucket_list': 'Cocher un souhait',
'dawarich.accept.confirm.place': 'Ajouter le lieu',
'dawarich.accept.confirm.journal': 'Ajouter l’entrée',
'dawarich.accept.confirm.bucket_list': 'Le cocher',
'dawarich.accept.recorded': 'Enregistré du {from} au {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Nom',
'dawarich.accept.date': 'Date',
'dawarich.accept.from': 'Arrivée',
'dawarich.accept.to': 'Départ',
'dawarich.accept.trip': 'Voyage',
'dawarich.accept.thisTrip': 'Ce voyage',
'dawarich.accept.pickTrip': 'Choisir un voyage',
'dawarich.accept.day': 'Jour',
'dawarich.accept.noDay': 'Pas encore rattaché à un jour',
'dawarich.accept.journal': 'Journal',
'dawarich.accept.pickJournal': 'Choisir un journal',
'dawarich.accept.notes': 'Notes',
'dawarich.accept.story': 'Votre histoire',
'dawarich.accept.storyPlaceholder': 'Que s’est-il passé ici ?',
'dawarich.accept.photosHint': 'Ajoutez des photos à l’entrée une fois qu’elle est créée.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Ajouté depuis vos enregistrements Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Confronter votre liste de souhaits à Dawarich',
'dawarich.bucket.description':
'Parcourt vos enregistrements à la recherche des lieux que vous vouliez atteindre. Une visite exige à la fois la proximité et du temps passé sur place — passer devant en voiture ne compte pas.',
'dawarich.bucket.scan': 'Vérifier la liste de souhaits',
'dawarich.bucket.scanning': 'Vérification…',
'dawarich.bucket.noMatches': 'Rien de votre liste de souhaits n’apparaît dans vos enregistrements.',
'dawarich.bucket.alreadyVisited': 'Déjà coché',
'dawarich.bucket.confirm': 'Cocher {count}',
'dawarich.bucket.confirmed': '{count} souhaits cochés',
'dawarich.bucket.skipped': '{count} entrées n’ont pas de coordonnées et n’ont pas pu être vérifiées.',
'dawarich.bucket.truncated':
'Seules les premières entrées ont été vérifiées. Relancez pour traiter le reste.',
'dawarich.bucket.visitedFrom': 'Coché à partir de vos enregistrements Dawarich',
'dawarich.bucket.clearVisit': 'Annuler',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Pays issus de Dawarich',
'dawarich.atlas.description':
'Les pays où vos enregistrements indiquent que vous êtes allé. Confirmez ceux que vous voulez dans votre Atlas — rien n’est ajouté tout seul, et ce que vous avez marqué à la main vous appartient.',
'dawarich.atlas.load': 'Rechercher des pays',
'dawarich.atlas.loading': 'Lecture de vos enregistrements…',
'dawarich.atlas.empty': 'Vos enregistrements ne révèlent aucun pays que TREK ne connaisse déjà.',
'dawarich.atlas.cities': '{count} villes',
'dawarich.atlas.citiesOne': '1 ville',
'dawarich.atlas.accept': 'Ajouter {count} pays',
'dawarich.atlas.accepted': '{count} pays ajoutés',
'dawarich.atlas.unresolved': 'TREK n’a pas pu rattacher ceci à un pays : {names}.',
'dawarich.atlas.source': 'Depuis Dawarich',
'dawarich.atlas.range': 'Période examinée : du {from} au {to}',
'dawarich.atlas.trigger': 'Envies et pays issus de vos enregistrements',
'dawarich.atlas.dialogSubtitle': 'Ce que vos enregistrements disent de votre Atlas',
'dawarich.atlas.tab.wishes': 'Liste d’envies',
'dawarich.atlas.tab.countries': 'Pays',
'dawarich.atlas.window': 'Les 12 derniers mois ont été examinés.',
'dawarich.selected': '{count} sélectionnés',
'dawarich.again': 'Vérifier à nouveau',
'dawarich.bucket.metersAway': 'à {meters} m',
'dawarich.bucket.kilometersAway': 'à {km} km',
'dawarich.bucket.rule': 'Une envie est atteinte à moins de {meters} m et après {minutes} minutes sur place.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+183
View File
@@ -0,0 +1,183 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Συνδέστε τη δική σας εγκατάσταση Dawarich για να δείτε πού βρεθήκατε πραγματικά. Το TREK τη διαβάζει και προτείνει καταχωρήσεις ημερολογίου, τοποθεσίες και χώρες — τίποτα δεν προστίθεται πριν το επιβεβαιώσετε και τίποτα δεν γράφεται πίσω στο Dawarich.',
'dawarich.url': 'Διεύθυνση εγκατάστασης',
'dawarich.apiKey': 'Κλειδί API',
'dawarich.apiKeyPlaceholder': 'Επικολλήστε το κλειδί API του Dawarich',
'dawarich.apiKeyHint':
'Βρίσκεται στο Dawarich στο Λογαριασμός → Κλειδί API. Αποθηκεύεται κρυπτογραφημένο και δεν εμφανίζεται ξανά.',
'dawarich.allowInsecureTls': 'Να επιτρέπεται αυτο-υπογεγραμμένο πιστοποιητικό',
'dawarich.allowInsecureTlsHint':
'Χρειάζεται μόνο αν η εγκατάστασή σας χρησιμοποιεί πιστοποιητικό που δεν εμπιστεύεται ο διακομιστής σας.',
'dawarich.syncEnabled': 'Αυτόματος έλεγχος για νέες στάσεις',
'dawarich.syncEnabledHint':
'Απενεργοποιημένο σημαίνει ότι το TREK διαβάζει το Dawarich μόνο όταν του το ζητήσετε.',
'dawarich.test.button': 'Δοκιμή σύνδεσης',
'dawarich.test.success': 'Συνδέθηκε. Βρέθηκαν {count} στάσεις τις τελευταίες 30 ημέρες.',
'dawarich.test.failed': 'Δεν ήταν δυνατή η επικοινωνία με το Dawarich.',
'dawarich.syncNow': 'Έλεγχος τώρα',
'dawarich.connected': 'Συνδεδεμένο',
'dawarich.notConnected': 'Μη συνδεδεμένο',
'dawarich.disconnect': 'Αποσύνδεση',
'dawarich.lastSync': 'Τελευταίος έλεγχος {when}',
'dawarich.neverSynced': 'Δεν έχει ελεγχθεί ακόμα',
'dawarich.syncPartial': 'ορισμένα ταξίδια δεν ήταν δυνατό να διαβαστούν',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Η σύνδεση με το Dawarich αποθηκεύτηκε',
'dawarich.toast.saveError': 'Δεν ήταν δυνατή η αποθήκευση της σύνδεσης',
'dawarich.toast.disconnected': 'Το Dawarich αποσυνδέθηκε',
'dawarich.toast.synced': 'Βρέθηκαν {count} νέες στάσεις',
'dawarich.toast.syncError': 'Δεν ήταν δυνατή η ανάγνωση του Dawarich',
'dawarich.toast.syncRunning': 'Εκτελείται ήδη έλεγχος',
'dawarich.toast.acceptError': 'Δεν ήταν δυνατή η προσθήκη',
'dawarich.toast.updateError': 'Δεν ήταν δυνατή η ενημέρωση αυτής της πρότασης',
'dawarich.toast.accepted.place': 'Προστέθηκε στο ταξίδι',
'dawarich.toast.accepted.journal': 'Προστέθηκε στο ημερολόγιο',
'dawarich.toast.accepted.bucket_list': 'Σημειώθηκε ως εκπληρωμένη επιθυμία',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'στάσεις',
'dawarich.capability.track': 'καταγεγραμμένη διαδρομή',
'dawarich.capability.locations': 'αντιστοίχιση λίστας επιθυμιών',
'dawarich.capability.visitedCities': 'χώρες και πόλεις',
'dawarich.capability.missing': 'Αυτή η έκδοση του Dawarich δεν προσφέρει: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'Το TREK δεν μπόρεσε να επικοινωνήσει με αυτή τη διεύθυνση.',
'dawarich.error.unauthorized': 'Το Dawarich απέρριψε το κλειδί API.',
'dawarich.error.forbidden': 'Αυτό το κλειδί API δεν επιτρέπεται να διαβάσει κάτι τέτοιο.',
'dawarich.error.not_found': 'Αυτή η έκδοση του Dawarich δεν διαθέτει αυτό το σημείο πρόσβασης.',
'dawarich.error.rate_limited': 'Το Dawarich ζήτησε από το TREK να επιβραδύνει. Δοκιμάστε ξανά σε λίγο.',
'dawarich.error.server_error': 'Το Dawarich απάντησε με σφάλμα.',
'dawarich.error.invalid_response': 'Αυτή η διεύθυνση απάντησε με κάτι που δεν είναι Dawarich.',
'dawarich.error.too_large': 'Το Dawarich έστειλε περισσότερα δεδομένα από όσα διαβάζει το TREK με τη μία.',
'dawarich.error.not_connected': 'Δεν έχει συνδεθεί ακόμα καμία εγκατάσταση Dawarich.',
'dawarich.error.addon_disabled': 'Το πρόσθετο Dawarich είναι απενεργοποιημένο σε αυτή την εγκατάσταση.',
'dawarich.error.offline': 'Αυτό χρειάζεται σύνδεση — το TREK είναι εκτός σύνδεσης αυτή τη στιγμή.',
'dawarich.error.invalid_url': 'Το TREK δεν μπορεί να χρησιμοποιήσει αυτή τη διεύθυνση.',
'dawarich.warning.private_ip': 'Αυτή η διεύθυνση οδηγεί σε ιδιωτική IP ({ip}). Βεβαιωθείτε ότι αυτό εννοούσατε — ο διακομιστής ίσως χρειάζεται ALLOW_INTERNAL_NETWORK=true.',
'dawarich.error.unknown': 'Κάτι πήγε στραβά στην επικοινωνία με το Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Εμφάνιση καταγεγραμμένης διαδρομής',
'dawarich.trail.hide': 'Απόκρυψη καταγεγραμμένης διαδρομής',
'dawarich.trail.loading': 'Φόρτωση της καταγεγραμμένης διαδρομής…',
'dawarich.trail.empty': 'Δεν καταγράφηκε τίποτα αυτές τις ημερομηνίες',
'dawarich.trail.offline': 'Η καταγεγραμμένη διαδρομή χρειάζεται σύνδεση',
'dawarich.trail.unavailable': 'Δεν ήταν δυνατή η φόρτωση της καταγεγραμμένης διαδρομής',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} λ',
'dawarich.duration.hours': '{hours} ώ',
'dawarich.duration.hoursMinutes': '{hours} ώ {minutes} λ',
'dawarich.checkedAgo': 'ελέγχθηκε {ago}',
'dawarich.badge.lowConfidence': 'Αβέβαιο',
'dawarich.badge.sourceChanged': 'Άλλαξε στο Dawarich',
'dawarich.badge.sourceMissing': 'Χάθηκε από το Dawarich',
'dawarich.suggestions.title': 'Από το Dawarich',
'dawarich.suggestions.pending': '{count} περιμένουν από εσάς',
'dawarich.suggestions.loading': 'Ανάγνωση του Dawarich…',
'dawarich.suggestions.notConnected':
'Συνδέστε το Dawarich στις Ρυθμίσεις για να βλέπετε εδώ τις στάσεις σας.',
'dawarich.suggestions.unavailable': 'Δεν ήταν δυνατή η ανάγνωση του Dawarich.',
'dawarich.suggestions.allHandled': 'Όλα όσα καταγράφηκαν εδώ έχουν διεκπεραιωθεί.',
'dawarich.suggestions.asJournal': 'Γράψτε καταχώρηση ημερολογίου',
'dawarich.suggestions.asPlace': 'Προσθήκη ως τοποθεσία',
'dawarich.suggestions.dismiss': 'Δεν είναι μέρος που επισκέφθηκα',
'dawarich.suggestions.dismissed': 'Απορρίφθηκε',
'dawarich.suggestions.restore': 'Επαναφορά',
'dawarich.suggestions.showHandled': 'Εμφάνιση {count} που έχουν ήδη διεκπεραιωθεί',
'dawarich.suggestions.hideHandled': 'Απόκρυψη όσων έχουν ήδη διεκπεραιωθεί',
'dawarich.suggestions.matchesWish': 'Στη λίστα επιθυμιών σας: {name}',
'dawarich.suggestions.acceptedAs.place': 'Προστέθηκε ως τοποθεσία',
'dawarich.suggestions.acceptedAs.journal': 'Στο ημερολόγιο',
'dawarich.suggestions.acceptedAs.bucket_list': 'Η επιθυμία σημειώθηκε ως εκπληρωμένη',
'dawarich.suggestions.sourceChanged':
'Αυτή η στάση έχει αλλάξει στο Dawarich από τότε που τη χρησιμοποιήσατε. Ό,τι γράψατε στο TREK παραμένει ανέπαφο.',
'dawarich.suggestions.sourceMissing':
'Αυτή η στάση δεν υπάρχει πλέον στο Dawarich. Ό,τι γράψατε στο TREK παραμένει ανέπαφο.',
'dawarich.sourceStatus.suggested': 'Εντοπίστηκε, χωρίς επιβεβαίωση',
'dawarich.confidence.high': 'Εντοπισμός με βεβαιότητα',
'dawarich.confidence.medium': 'Εντοπισμός με σχετική βεβαιότητα',
'dawarich.confidence.low': 'Αβέβαιος εντοπισμός',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Προσθήκη αυτής της στάσης ως τοποθεσία',
'dawarich.accept.title.journal': 'Γράψτε καταχώρηση ημερολογίου',
'dawarich.accept.title.bucket_list': 'Σημειώστε μια επιθυμία ως εκπληρωμένη',
'dawarich.accept.confirm.place': 'Προσθήκη τοποθεσίας',
'dawarich.accept.confirm.journal': 'Προσθήκη καταχώρησης',
'dawarich.accept.confirm.bucket_list': 'Σημείωση ως εκπληρωμένης',
'dawarich.accept.recorded': 'Καταγράφηκε από {from} έως {to}',
'dawarich.accept.duration': '{minutes} λεπτά',
'dawarich.accept.name': 'Όνομα',
'dawarich.accept.date': 'Ημερομηνία',
'dawarich.accept.from': 'Άφιξη',
'dawarich.accept.to': 'Αναχώρηση',
'dawarich.accept.trip': 'Ταξίδι',
'dawarich.accept.thisTrip': 'Αυτό το ταξίδι',
'dawarich.accept.pickTrip': 'Επιλέξτε ταξίδι',
'dawarich.accept.day': 'Ημέρα',
'dawarich.accept.noDay': 'Χωρίς ημέρα ακόμα',
'dawarich.accept.journal': 'Ημερολόγιο',
'dawarich.accept.pickJournal': 'Επιλέξτε ημερολόγιο',
'dawarich.accept.notes': 'Σημειώσεις',
'dawarich.accept.story': 'Η ιστορία σας',
'dawarich.accept.storyPlaceholder': 'Τι συνέβη εδώ;',
'dawarich.accept.photosHint': 'Προσθέστε φωτογραφίες στην καταχώρηση αφού δημιουργηθεί.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Προστέθηκε από τις καταγραφές σας στο Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Ελέγξτε τη λίστα επιθυμιών σας με το Dawarich',
'dawarich.bucket.description':
'Ψάχνει στις καταγραφές σας για τα μέρη που θέλατε να φτάσετε. Μια επίσκεψη χρειάζεται και εγγύτητα και χρόνο παραμονής — το να περάσετε απλώς από μπροστά δεν μετράει.',
'dawarich.bucket.scan': 'Έλεγχος λίστας επιθυμιών',
'dawarich.bucket.scanning': 'Γίνεται έλεγχος…',
'dawarich.bucket.noMatches': 'Τίποτα από τη λίστα επιθυμιών σας δεν εντοπίστηκε στις καταγραφές σας.',
'dawarich.bucket.alreadyVisited': 'Ήδη σημειωμένο ως εκπληρωμένο',
'dawarich.bucket.confirm': 'Σημείωση {count} ως εκπληρωμένων',
'dawarich.bucket.confirmed': '{count} επιθυμίες σημειώθηκαν ως εκπληρωμένες',
'dawarich.bucket.skipped': '{count} καταχωρήσεις δεν έχουν συντεταγμένες και δεν ήταν δυνατό να ελεγχθούν.',
'dawarich.bucket.truncated':
'Ελέγχθηκαν μόνο οι πρώτες καταχωρήσεις. Εκτελέστε το ξανά για τις υπόλοιπες.',
'dawarich.bucket.visitedFrom': 'Σημειώθηκε ως εκπληρωμένη από τις καταγραφές σας στο Dawarich',
'dawarich.bucket.clearVisit': 'Αναίρεση',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Χώρες από το Dawarich',
'dawarich.atlas.description':
'Χώρες στις οποίες βρεθήκατε σύμφωνα με τις καταγραφές σας. Επιβεβαιώστε όσες θέλετε στο Atlas σας — τίποτα δεν προστίθεται από μόνο του και όσα σημειώσατε χειροκίνητα παραμένουν δικά σας.',
'dawarich.atlas.load': 'Αναζήτηση χωρών',
'dawarich.atlas.loading': 'Ανάγνωση των καταγραφών σας…',
'dawarich.atlas.empty': 'Οι καταγραφές σας δεν δείχνουν χώρες που δεν έχει ήδη το TREK.',
'dawarich.atlas.cities': '{count} πόλεις',
'dawarich.atlas.citiesOne': '1 πόλη',
'dawarich.atlas.accept': 'Προσθήκη {count} χωρών',
'dawarich.atlas.accepted': '{count} χώρες προστέθηκαν',
'dawarich.atlas.unresolved': 'Το TREK δεν μπόρεσε να τα αντιστοιχίσει σε χώρα: {names}.',
'dawarich.atlas.source': 'Από το Dawarich',
'dawarich.atlas.range': 'Εξετάστηκε το διάστημα {from} έως {to}',
'dawarich.atlas.trigger': 'Επιθυμίες και χώρες από τις καταγραφές σας',
'dawarich.atlas.dialogSubtitle': 'Τι λένε οι καταγραφές σας για το Atlas σας',
'dawarich.atlas.tab.wishes': 'Λίστα επιθυμιών',
'dawarich.atlas.tab.countries': 'Χώρες',
'dawarich.atlas.window': 'Ελέγχθηκαν οι τελευταίοι 12 μήνες.',
'dawarich.selected': 'Επιλέχθηκαν {count}',
'dawarich.again': 'Έλεγχος ξανά',
'dawarich.bucket.metersAway': '{meters} μ. μακριά',
'dawarich.bucket.kilometersAway': '{km} χλμ. μακριά',
'dawarich.bucket.rule': 'Μια επιθυμία μετράει ως εκπληρωμένη σε απόσταση έως {meters} μ. και μετά από {minutes} λεπτά στο σημείο.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+181
View File
@@ -0,0 +1,181 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Kapcsold össze a saját Dawarich-példányodat, és lásd, merre jártál valójában. A TREK kiolvassa, és naplóbejegyzéseket, helyeket és országokat javasol — semmi nem kerül be, amíg meg nem erősíted, és a Dawarichba semmit nem ír vissza.',
'dawarich.url': 'A példány címe',
'dawarich.apiKey': 'API-kulcs',
'dawarich.apiKeyPlaceholder': 'Illeszd be a Dawarich API-kulcsodat',
'dawarich.apiKeyHint':
'A Dawarichban a Fiók → API-kulcs alatt található. Titkosítva tároljuk, és többé nem jelenik meg.',
'dawarich.allowInsecureTls': 'Saját aláírású tanúsítvány engedélyezése',
'dawarich.allowInsecureTlsHint':
'Csak akkor kell, ha a példányod olyan tanúsítványt használ, amelyben a kiszolgálód nem bízik meg.',
'dawarich.syncEnabled': 'Új tartózkodások automatikus keresése',
'dawarich.syncEnabledHint': 'Kikapcsolva a TREK csak akkor olvassa a Dawarichot, ha te kéred.',
'dawarich.test.button': 'Kapcsolat tesztelése',
'dawarich.test.success': 'Kapcsolódva. {count} tartózkodás az elmúlt 30 napban.',
'dawarich.test.failed': 'Nem sikerült elérni a Dawarichot.',
'dawarich.syncNow': 'Keresés most',
'dawarich.connected': 'Kapcsolódva',
'dawarich.notConnected': 'Nincs kapcsolódva',
'dawarich.disconnect': 'Leválasztás',
'dawarich.lastSync': 'Utoljára ellenőrizve: {when}',
'dawarich.neverSynced': 'Még nem volt ellenőrzés',
'dawarich.syncPartial': 'néhány utat nem sikerült kiolvasni',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich-kapcsolat mentve',
'dawarich.toast.saveError': 'Nem sikerült menteni a kapcsolatot',
'dawarich.toast.disconnected': 'Dawarich leválasztva',
'dawarich.toast.synced': '{count} új tartózkodás',
'dawarich.toast.syncError': 'Nem sikerült kiolvasni a Dawarichot',
'dawarich.toast.syncRunning': 'Már fut egy ellenőrzés',
'dawarich.toast.acceptError': 'Nem sikerült hozzáadni',
'dawarich.toast.updateError': 'Nem sikerült frissíteni ezt a javaslatot',
'dawarich.toast.accepted.place': 'Hozzáadva az úthoz',
'dawarich.toast.accepted.journal': 'Hozzáadva a naplóhoz',
'dawarich.toast.accepted.bucket_list': 'Kipipálva a kívánságlistádon',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'tartózkodások',
'dawarich.capability.track': 'rögzített útvonal',
'dawarich.capability.locations': 'kívánságlista-egyeztetés',
'dawarich.capability.visitedCities': 'országok és városok',
'dawarich.capability.missing': 'Ez a Dawarich-verzió nem kínálja a következőket: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'A TREK nem érte el ezt a címet.',
'dawarich.error.unauthorized': 'A Dawarich elutasította az API-kulcsot.',
'dawarich.error.forbidden': 'Ez az API-kulcs nem olvashatja ezt.',
'dawarich.error.not_found': 'Ebben a Dawarich-verzióban nincs ilyen végpont.',
'dawarich.error.rate_limited': 'A Dawarich lassítást kért a TREK-től. Próbáld újra hamarosan.',
'dawarich.error.server_error': 'A Dawarich hibával válaszolt.',
'dawarich.error.invalid_response': 'Ez a cím olyasmivel válaszolt, ami nem Dawarich.',
'dawarich.error.too_large': 'A Dawarich több adatot küldött, mint amennyit a TREK egyszerre beolvas.',
'dawarich.error.not_connected': 'Még nincs csatlakoztatott Dawarich-példány.',
'dawarich.error.addon_disabled': 'A Dawarich bővítmény ki van kapcsolva ezen a példányon.',
'dawarich.error.offline': 'Ehhez kapcsolat kell — a TREK most offline.',
'dawarich.error.invalid_url': 'A TREK nem tudja használni ezt a címet.',
'dawarich.warning.private_ip': 'Ez a cím privát IP-re mutat ({ip}). Ellenőrizd, hogy így akartad-e — a szervernek ehhez ALLOW_INTERNAL_NETWORK=true kellhet.',
'dawarich.error.unknown': 'Hiba történt a Dawarichhal folytatott kommunikáció közben.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Rögzített útvonal megjelenítése',
'dawarich.trail.hide': 'Rögzített útvonal elrejtése',
'dawarich.trail.loading': 'Rögzített útvonal betöltése…',
'dawarich.trail.empty': 'Ezeken a napokon nem készült rögzítés',
'dawarich.trail.offline': 'A rögzített útvonalhoz kapcsolat kell',
'dawarich.trail.unavailable': 'A rögzített útvonalat nem sikerült betölteni',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} perc',
'dawarich.duration.hours': '{hours} ó',
'dawarich.duration.hoursMinutes': '{hours} ó {minutes} perc',
'dawarich.checkedAgo': 'ellenőrizve {ago}',
'dawarich.badge.lowConfidence': 'Bizonytalan',
'dawarich.badge.sourceChanged': 'Megváltozott a Dawarichban',
'dawarich.badge.sourceMissing': 'Eltűnt a Dawarichból',
'dawarich.suggestions.title': 'A Dawarichból',
'dawarich.suggestions.pending': '{count} vár rád',
'dawarich.suggestions.loading': 'A Dawarich olvasása…',
'dawarich.suggestions.notConnected':
'Kapcsold össze a Dawarichot a Beállításokban, hogy itt lásd a tartózkodásaidat.',
'dawarich.suggestions.unavailable': 'A Dawarichot nem sikerült kiolvasni.',
'dawarich.suggestions.allHandled': 'Minden itt rögzített dologgal foglalkoztál már.',
'dawarich.suggestions.asJournal': 'Naplóbejegyzés írása',
'dawarich.suggestions.asPlace': 'Hozzáadás helyszínként',
'dawarich.suggestions.dismiss': 'Itt nem jártam',
'dawarich.suggestions.dismissed': 'Elvetve',
'dawarich.suggestions.restore': 'Visszatétel',
'dawarich.suggestions.showHandled': '{count} elintézett megjelenítése',
'dawarich.suggestions.hideHandled': 'A már elintézettek elrejtése',
'dawarich.suggestions.matchesWish': 'A kívánságlistádon: {name}',
'dawarich.suggestions.acceptedAs.place': 'Hozzáadva helyszínként',
'dawarich.suggestions.acceptedAs.journal': 'A naplóban',
'dawarich.suggestions.acceptedAs.bucket_list': 'Kívánság kipipálva',
'dawarich.suggestions.sourceChanged':
'Ez a tartózkodás megváltozott a Dawarichban, amióta felhasználtad. Amit a TREK-ben írtál, érintetlen maradt.',
'dawarich.suggestions.sourceMissing':
'Ez a tartózkodás már nem létezik a Dawarichban. Amit a TREK-ben írtál, érintetlen maradt.',
'dawarich.sourceStatus.suggested': 'Felismerve, megerősítetlen',
'dawarich.confidence.high': 'Biztos felismerés',
'dawarich.confidence.medium': 'Meglehetősen biztos felismerés',
'dawarich.confidence.low': 'Bizonytalan felismerés',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Tartózkodás hozzáadása helyszínként',
'dawarich.accept.title.journal': 'Naplóbejegyzés írása',
'dawarich.accept.title.bucket_list': 'Kívánság kipipálása',
'dawarich.accept.confirm.place': 'Helyszín hozzáadása',
'dawarich.accept.confirm.journal': 'Bejegyzés hozzáadása',
'dawarich.accept.confirm.bucket_list': 'Pipáld ki',
'dawarich.accept.recorded': 'Rögzítve {from} és {to} között',
'dawarich.accept.duration': '{minutes} perc',
'dawarich.accept.name': 'Név',
'dawarich.accept.date': 'Dátum',
'dawarich.accept.from': 'Érkezés',
'dawarich.accept.to': 'Távozás',
'dawarich.accept.trip': 'Utazás',
'dawarich.accept.thisTrip': 'Ez az utazás',
'dawarich.accept.pickTrip': 'Válassz utazást',
'dawarich.accept.day': 'Nap',
'dawarich.accept.noDay': 'Még nincs naphoz rendelve',
'dawarich.accept.journal': 'Napló',
'dawarich.accept.pickJournal': 'Válassz naplót',
'dawarich.accept.notes': 'Jegyzetek',
'dawarich.accept.story': 'A történeted',
'dawarich.accept.storyPlaceholder': 'Mi történt itt?',
'dawarich.accept.photosHint': 'A fotókat a bejegyzés létrehozása után add hozzá.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'A Dawarich-felvételeidből hozzáadva',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Kívánságlista összevetése a Dawarichcsal',
'dawarich.bucket.description':
'Átnézi a rögzítéseidet azokat a helyeket keresve, amelyeket el akartál érni. Egy látogatáshoz közelség és eltöltött idő is kell — az elhajtás nem számít.',
'dawarich.bucket.scan': 'Kívánságlista ellenőrzése',
'dawarich.bucket.scanning': 'Ellenőrzés…',
'dawarich.bucket.noMatches': 'A kívánságlistádról semmi nem bukkant fel a rögzítéseidben.',
'dawarich.bucket.alreadyVisited': 'Már kipipálva',
'dawarich.bucket.confirm': '{count} kipipálása',
'dawarich.bucket.confirmed': '{count} kívánság kipipálva',
'dawarich.bucket.skipped': '{count} bejegyzésnek nincs koordinátája, ezért nem volt ellenőrizhető.',
'dawarich.bucket.truncated': 'Csak az első bejegyzések lettek ellenőrizve. Futtasd le újra a többihez.',
'dawarich.bucket.visitedFrom': 'A Dawarich-rögzítéseid alapján kipipálva',
'dawarich.bucket.clearVisit': 'Visszavonás',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Országok a Dawarichból',
'dawarich.atlas.description':
'Azok az országok, amelyekben a rögzítéseid szerint jártál. Erősítsd meg, melyek kerüljenek az Atlaszodba — magától semmi nem kerül be, és amit kézzel jelöltél, a tiéd marad.',
'dawarich.atlas.load': 'Országok keresése',
'dawarich.atlas.loading': 'A rögzítéseid olvasása…',
'dawarich.atlas.empty': 'A rögzítéseid nem mutatnak olyan országot, amelyet a TREK ne ismerne már.',
'dawarich.atlas.cities': '{count} város',
'dawarich.atlas.citiesOne': '1 város',
'dawarich.atlas.accept': '{count} ország hozzáadása',
'dawarich.atlas.accepted': '{count} ország hozzáadva',
'dawarich.atlas.unresolved': 'A TREK ezeket nem tudta országhoz párosítani: {names}.',
'dawarich.atlas.source': 'A Dawarichból',
'dawarich.atlas.range': 'Vizsgált időszak: {from} – {to}',
'dawarich.atlas.trigger': 'Kívánságok és országok a felvételeidből',
'dawarich.atlas.dialogSubtitle': 'Mit mondanak a felvételeid az Atlaszodról',
'dawarich.atlas.tab.wishes': 'Kívánságlista',
'dawarich.atlas.tab.countries': 'Országok',
'dawarich.atlas.window': 'Az elmúlt 12 hónapot néztük át.',
'dawarich.selected': '{count} kiválasztva',
'dawarich.again': 'Ellenőrzés újra',
'dawarich.bucket.metersAway': '{meters} m-re',
'dawarich.bucket.kilometersAway': '{km} km-re',
'dawarich.bucket.rule': 'Egy kívánság {meters} méteren belül és {minutes} perc helyszíni idő után számít teljesítettnek.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+180
View File
@@ -0,0 +1,180 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Hubungkan instans Dawarich milikmu sendiri untuk melihat ke mana kamu benar-benar pergi. TREK membacanya dan mengusulkan entri jurnal, tempat, dan negara — tidak ada yang ditambahkan sebelum kamu mengonfirmasinya, dan tidak ada yang ditulis kembali ke Dawarich.',
'dawarich.url': 'Alamat instans',
'dawarich.apiKey': 'Kunci API',
'dawarich.apiKeyPlaceholder': 'Tempelkan kunci API Dawarich milikmu',
'dawarich.apiKeyHint':
'Ada di Dawarich pada Account → API key. Disimpan terenkripsi dan tidak pernah ditampilkan lagi.',
'dawarich.allowInsecureTls': 'Izinkan sertifikat yang ditandatangani sendiri',
'dawarich.allowInsecureTlsHint':
'Hanya perlu jika instansmu memakai sertifikat yang tidak dipercaya oleh servermu.',
'dawarich.syncEnabled': 'Periksa persinggahan baru secara otomatis',
'dawarich.syncEnabledHint': 'Jika mati, TREK hanya membaca Dawarich saat kamu memintanya.',
'dawarich.test.button': 'Uji koneksi',
'dawarich.test.success': 'Terhubung. {count} persinggahan ditemukan dalam 30 hari terakhir.',
'dawarich.test.failed': 'Tidak dapat menjangkau Dawarich.',
'dawarich.syncNow': 'Periksa sekarang',
'dawarich.connected': 'Terhubung',
'dawarich.notConnected': 'Tidak terhubung',
'dawarich.disconnect': 'Putuskan',
'dawarich.lastSync': 'Terakhir diperiksa {when}',
'dawarich.neverSynced': 'Belum pernah diperiksa',
'dawarich.syncPartial': 'beberapa perjalanan tidak dapat dibaca',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Koneksi Dawarich disimpan',
'dawarich.toast.saveError': 'Tidak dapat menyimpan koneksi',
'dawarich.toast.disconnected': 'Dawarich diputuskan',
'dawarich.toast.synced': '{count} persinggahan baru ditemukan',
'dawarich.toast.syncError': 'Tidak dapat membaca Dawarich',
'dawarich.toast.syncRunning': 'Pemeriksaan sedang berjalan',
'dawarich.toast.acceptError': 'Tidak dapat menambahkan ini',
'dawarich.toast.updateError': 'Tidak dapat memperbarui saran ini',
'dawarich.toast.accepted.place': 'Ditambahkan ke perjalanan',
'dawarich.toast.accepted.journal': 'Ditambahkan ke jurnal',
'dawarich.toast.accepted.bucket_list': 'Dicoret dari daftar keinginanmu',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'persinggahan',
'dawarich.capability.track': 'rute terekam',
'dawarich.capability.locations': 'pencocokan daftar keinginan',
'dawarich.capability.visitedCities': 'negara dan kota',
'dawarich.capability.missing': 'Versi Dawarich ini tidak menyediakan: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK tidak dapat menjangkau alamat itu.',
'dawarich.error.unauthorized': 'Dawarich menolak kunci API tersebut.',
'dawarich.error.forbidden': 'Kunci API itu tidak diizinkan membaca ini.',
'dawarich.error.not_found': 'Versi Dawarich ini tidak punya endpoint tersebut.',
'dawarich.error.rate_limited': 'Dawarich meminta TREK memperlambat. Coba lagi sebentar lagi.',
'dawarich.error.server_error': 'Dawarich menjawab dengan galat.',
'dawarich.error.invalid_response': 'Alamat itu menjawab dengan sesuatu yang bukan Dawarich.',
'dawarich.error.too_large': 'Dawarich mengirim data lebih banyak daripada yang dibaca TREK sekaligus.',
'dawarich.error.not_connected': 'Belum ada instans Dawarich yang terhubung.',
'dawarich.error.addon_disabled': 'Addon Dawarich dimatikan untuk instans ini.',
'dawarich.error.offline': 'Ini butuh koneksi — TREK sedang offline.',
'dawarich.error.invalid_url': 'TREK tidak bisa memakai alamat itu.',
'dawarich.warning.private_ip': 'Alamat itu mengarah ke IP privat ({ip}). Pastikan memang itu maksudmu — server mungkin perlu ALLOW_INTERNAL_NETWORK=true untuk menjangkaunya.',
'dawarich.error.unknown': 'Terjadi kesalahan saat berkomunikasi dengan Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Tampilkan rute terekam',
'dawarich.trail.hide': 'Sembunyikan rute terekam',
'dawarich.trail.loading': 'Memuat rute terekam…',
'dawarich.trail.empty': 'Tidak ada yang terekam pada tanggal ini',
'dawarich.trail.offline': 'Rute terekam memerlukan koneksi',
'dawarich.trail.unavailable': 'Rute terekam tidak dapat dimuat',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} mnt',
'dawarich.duration.hours': '{hours} j',
'dawarich.duration.hoursMinutes': '{hours} j {minutes} mnt',
'dawarich.checkedAgo': 'diperiksa {ago}',
'dawarich.badge.lowConfidence': 'Ragu',
'dawarich.badge.sourceChanged': 'Berubah di Dawarich',
'dawarich.badge.sourceMissing': 'Hilang dari Dawarich',
'dawarich.suggestions.title': 'Dari Dawarich',
'dawarich.suggestions.pending': '{count} menunggumu',
'dawarich.suggestions.loading': 'Membaca Dawarich…',
'dawarich.suggestions.notConnected': 'Hubungkan Dawarich di Pengaturan untuk melihat persinggahanmu di sini.',
'dawarich.suggestions.unavailable': 'Dawarich tidak dapat dibaca.',
'dawarich.suggestions.allHandled': 'Semua yang terekam di sini sudah ditangani.',
'dawarich.suggestions.asJournal': 'Tulis entri jurnal',
'dawarich.suggestions.asPlace': 'Tambahkan sebagai tempat',
'dawarich.suggestions.dismiss': 'Bukan tempat yang saya kunjungi',
'dawarich.suggestions.dismissed': 'Diabaikan',
'dawarich.suggestions.restore': 'Kembalikan',
'dawarich.suggestions.showHandled': 'Tampilkan {count} yang sudah ditangani',
'dawarich.suggestions.hideHandled': 'Sembunyikan yang sudah ditangani',
'dawarich.suggestions.matchesWish': 'Ada di daftar keinginanmu: {name}',
'dawarich.suggestions.acceptedAs.place': 'Ditambahkan sebagai tempat',
'dawarich.suggestions.acceptedAs.journal': 'Ada di jurnal',
'dawarich.suggestions.acceptedAs.bucket_list': 'Keinginan dicoret',
'dawarich.suggestions.sourceChanged':
'Persinggahan ini berubah di Dawarich sejak kamu memakainya. Apa yang kamu tulis di TREK tetap utuh.',
'dawarich.suggestions.sourceMissing':
'Persinggahan ini tidak ada lagi di Dawarich. Apa yang kamu tulis di TREK tetap utuh.',
'dawarich.sourceStatus.suggested': 'Terdeteksi, belum dikonfirmasi',
'dawarich.confidence.high': 'Deteksi meyakinkan',
'dawarich.confidence.medium': 'Deteksi cukup meyakinkan',
'dawarich.confidence.low': 'Deteksi tidak pasti',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Tambahkan persinggahan ini sebagai tempat',
'dawarich.accept.title.journal': 'Tulis entri jurnal',
'dawarich.accept.title.bucket_list': 'Coret sebuah keinginan',
'dawarich.accept.confirm.place': 'Tambah tempat',
'dawarich.accept.confirm.journal': 'Tambah entri',
'dawarich.accept.confirm.bucket_list': 'Coret',
'dawarich.accept.recorded': 'Terekam {from} sampai {to}',
'dawarich.accept.duration': '{minutes} mnt',
'dawarich.accept.name': 'Nama',
'dawarich.accept.date': 'Tanggal',
'dawarich.accept.from': 'Tiba',
'dawarich.accept.to': 'Pergi',
'dawarich.accept.trip': 'Perjalanan',
'dawarich.accept.thisTrip': 'Perjalanan ini',
'dawarich.accept.pickTrip': 'Pilih perjalanan',
'dawarich.accept.day': 'Hari',
'dawarich.accept.noDay': 'Belum pada suatu hari',
'dawarich.accept.journal': 'Jurnal',
'dawarich.accept.pickJournal': 'Pilih jurnal',
'dawarich.accept.notes': 'Catatan',
'dawarich.accept.story': 'Kisahmu',
'dawarich.accept.storyPlaceholder': 'Apa yang terjadi di sini?',
'dawarich.accept.photosHint': 'Tambahkan foto ke entri setelah entri dibuat.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Ditambahkan dari rekaman Dawarich-mu',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Cocokkan daftar keinginanmu dengan Dawarich',
'dawarich.bucket.description':
'Menelusuri rekamanmu untuk mencari tempat-tempat yang ingin kamu capai. Sebuah kunjungan butuh kedekatan sekaligus waktu yang dihabiskan — sekadar lewat tidak dihitung.',
'dawarich.bucket.scan': 'Periksa daftar keinginan',
'dawarich.bucket.scanning': 'Memeriksa…',
'dawarich.bucket.noMatches': 'Tidak ada isi daftar keinginanmu yang muncul di rekamanmu.',
'dawarich.bucket.alreadyVisited': 'Sudah dicoret',
'dawarich.bucket.confirm': 'Coret {count}',
'dawarich.bucket.confirmed': '{count} keinginan dicoret',
'dawarich.bucket.skipped': '{count} entri tidak punya koordinat dan tidak dapat diperiksa.',
'dawarich.bucket.truncated': 'Hanya entri pertama yang diperiksa. Jalankan lagi untuk sisanya.',
'dawarich.bucket.visitedFrom': 'Dicoret dari rekaman Dawarich milikmu',
'dawarich.bucket.clearVisit': 'Batalkan',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Negara dari Dawarich',
'dawarich.atlas.description':
'Negara-negara yang menurut rekamanmu pernah kamu singgahi. Konfirmasi mana yang kamu inginkan di Atlas-mu — tidak ada yang ditambahkan dengan sendirinya, dan yang kamu tandai sendiri tetap milikmu.',
'dawarich.atlas.load': 'Cari negara',
'dawarich.atlas.loading': 'Membaca rekamanmu…',
'dawarich.atlas.empty': 'Rekamanmu tidak menunjukkan negara yang belum dimiliki TREK.',
'dawarich.atlas.cities': '{count} kota',
'dawarich.atlas.citiesOne': '1 kota',
'dawarich.atlas.accept': 'Tambah {count} negara',
'dawarich.atlas.accepted': '{count} negara ditambahkan',
'dawarich.atlas.unresolved': 'TREK tidak dapat mencocokkan ini dengan sebuah negara: {names}.',
'dawarich.atlas.source': 'Dari Dawarich',
'dawarich.atlas.range': 'Ditinjau dari {from} sampai {to}',
'dawarich.atlas.trigger': 'Keinginan dan negara dari rekamanmu',
'dawarich.atlas.dialogSubtitle': 'Apa kata rekamanmu tentang Atlas-mu',
'dawarich.atlas.tab.wishes': 'Daftar keinginan',
'dawarich.atlas.tab.countries': 'Negara',
'dawarich.atlas.window': 'Yang diperiksa adalah 12 bulan terakhir.',
'dawarich.selected': '{count} dipilih',
'dawarich.again': 'Periksa lagi',
'dawarich.bucket.metersAway': '{meters} m dari sana',
'dawarich.bucket.kilometersAway': '{km} km dari sana',
'dawarich.bucket.rule': 'Sebuah keinginan dianggap tercapai dalam radius {meters} m dan setelah {minutes} menit di lokasi.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+182
View File
@@ -0,0 +1,182 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Collega la tua istanza Dawarich per vedere dove sei stato davvero. TREK la legge e propone voci di diario, luoghi e paesi — nulla viene aggiunto finché non lo confermi e nulla viene riscritto su Dawarich.',
'dawarich.url': 'Indirizzo dell’istanza',
'dawarich.apiKey': 'Chiave API',
'dawarich.apiKeyPlaceholder': 'Incolla la tua chiave API di Dawarich',
'dawarich.apiKeyHint':
'La trovi in Dawarich sotto Account → Chiave API. Viene salvata cifrata e non viene più mostrata.',
'dawarich.allowInsecureTls': 'Consenti certificato autofirmato',
'dawarich.allowInsecureTlsHint':
'Serve solo se la tua istanza usa un certificato di cui il tuo server non si fida.',
'dawarich.syncEnabled': 'Cerca automaticamente nuove soste',
'dawarich.syncEnabledHint': 'Se disattivato, TREK legge Dawarich solo quando glielo chiedi.',
'dawarich.test.button': 'Prova la connessione',
'dawarich.test.success': 'Connesso. {count} soste trovate negli ultimi 30 giorni.',
'dawarich.test.failed': 'Impossibile raggiungere Dawarich.',
'dawarich.syncNow': 'Controlla ora',
'dawarich.connected': 'Connesso',
'dawarich.notConnected': 'Non connesso',
'dawarich.disconnect': 'Disconnetti',
'dawarich.lastSync': 'Ultimo controllo {when}',
'dawarich.neverSynced': 'Non ancora controllato',
'dawarich.syncPartial': 'alcuni viaggi non sono stati letti',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Connessione a Dawarich salvata',
'dawarich.toast.saveError': 'Impossibile salvare la connessione',
'dawarich.toast.disconnected': 'Dawarich disconnesso',
'dawarich.toast.synced': '{count} nuove soste trovate',
'dawarich.toast.syncError': 'Impossibile leggere Dawarich',
'dawarich.toast.syncRunning': 'Un controllo è già in corso',
'dawarich.toast.acceptError': 'Impossibile aggiungerlo',
'dawarich.toast.updateError': 'Impossibile aggiornare questo suggerimento',
'dawarich.toast.accepted.place': 'Aggiunto al viaggio',
'dawarich.toast.accepted.journal': 'Aggiunto al diario',
'dawarich.toast.accepted.bucket_list': 'Spuntato dalla tua lista dei desideri',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'soste',
'dawarich.capability.track': 'percorso registrato',
'dawarich.capability.locations': 'confronto con la lista dei desideri',
'dawarich.capability.visitedCities': 'paesi e città',
'dawarich.capability.missing': 'Questa versione di Dawarich non offre: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK non è riuscito a raggiungere quell’indirizzo.',
'dawarich.error.unauthorized': 'Dawarich ha rifiutato la chiave API.',
'dawarich.error.forbidden': 'Quella chiave API non è autorizzata a leggere questi dati.',
'dawarich.error.not_found': 'Questa versione di Dawarich non ha quell’endpoint.',
'dawarich.error.rate_limited': 'Dawarich ha chiesto a TREK di rallentare. Riprova tra poco.',
'dawarich.error.server_error': 'Dawarich ha risposto con un errore.',
'dawarich.error.invalid_response': 'Quell’indirizzo ha risposto con qualcosa che non è Dawarich.',
'dawarich.error.too_large': 'Dawarich ha inviato più dati di quanti TREK ne legga in una volta.',
'dawarich.error.not_connected': 'Nessuna istanza Dawarich è ancora collegata.',
'dawarich.error.addon_disabled': 'Il componente aggiuntivo Dawarich è disattivato su questa istanza.',
'dawarich.error.offline': 'Serve una connessione: TREK al momento è offline.',
'dawarich.error.invalid_url': 'TREK non può usare questo indirizzo.',
'dawarich.warning.private_ip': 'Questo indirizzo punta a un IP privato ({ip}). Verifica che sia voluto: il server potrebbe richiedere ALLOW_INTERNAL_NETWORK=true per raggiungerlo.',
'dawarich.error.unknown': 'Qualcosa è andato storto nella comunicazione con Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Mostra il percorso registrato',
'dawarich.trail.hide': 'Nascondi il percorso registrato',
'dawarich.trail.loading': 'Caricamento del percorso registrato…',
'dawarich.trail.empty': 'In queste date non è stato registrato nulla',
'dawarich.trail.offline': 'Il percorso registrato richiede una connessione',
'dawarich.trail.unavailable': 'Impossibile caricare il percorso registrato',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} h',
'dawarich.duration.hoursMinutes': '{hours} h {minutes} min',
'dawarich.checkedAgo': 'verificato {ago}',
'dawarich.badge.lowConfidence': 'Incerto',
'dawarich.badge.sourceChanged': 'Cambiato in Dawarich',
'dawarich.badge.sourceMissing': 'Sparito da Dawarich',
'dawarich.suggestions.title': 'Da Dawarich',
'dawarich.suggestions.pending': '{count} in attesa di te',
'dawarich.suggestions.loading': 'Lettura di Dawarich…',
'dawarich.suggestions.notConnected':
'Collega Dawarich nelle Impostazioni per vedere qui le tue soste.',
'dawarich.suggestions.unavailable': 'Impossibile leggere Dawarich.',
'dawarich.suggestions.allHandled': 'Tutto ciò che è registrato qui è già stato gestito.',
'dawarich.suggestions.asJournal': 'Scrivi una voce di diario',
'dawarich.suggestions.asPlace': 'Aggiungi come luogo',
'dawarich.suggestions.dismiss': 'Non è un luogo che ho visitato',
'dawarich.suggestions.dismissed': 'Ignorato',
'dawarich.suggestions.restore': 'Ripristina',
'dawarich.suggestions.showHandled': 'Mostra {count} già gestiti',
'dawarich.suggestions.hideHandled': 'Nascondi quelli già gestiti',
'dawarich.suggestions.matchesWish': 'Nella tua lista dei desideri: {name}',
'dawarich.suggestions.acceptedAs.place': 'Aggiunto come luogo',
'dawarich.suggestions.acceptedAs.journal': 'Nel diario',
'dawarich.suggestions.acceptedAs.bucket_list': 'Desiderio spuntato',
'dawarich.suggestions.sourceChanged':
'Questa sosta è cambiata in Dawarich da quando l’hai usata. Quello che hai scritto in TREK resta intatto.',
'dawarich.suggestions.sourceMissing':
'Questa sosta non esiste più in Dawarich. Quello che hai scritto in TREK resta intatto.',
'dawarich.sourceStatus.suggested': 'Rilevata, non confermata',
'dawarich.confidence.high': 'Rilevamento sicuro',
'dawarich.confidence.medium': 'Rilevamento abbastanza sicuro',
'dawarich.confidence.low': 'Rilevamento incerto',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Aggiungi questa sosta come luogo',
'dawarich.accept.title.journal': 'Scrivi una voce di diario',
'dawarich.accept.title.bucket_list': 'Spunta un desiderio',
'dawarich.accept.confirm.place': 'Aggiungi luogo',
'dawarich.accept.confirm.journal': 'Aggiungi voce',
'dawarich.accept.confirm.bucket_list': 'Spuntalo',
'dawarich.accept.recorded': 'Registrata dal {from} al {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Nome',
'dawarich.accept.date': 'Data',
'dawarich.accept.from': 'Arrivo',
'dawarich.accept.to': 'Partenza',
'dawarich.accept.trip': 'Viaggio',
'dawarich.accept.thisTrip': 'Questo viaggio',
'dawarich.accept.pickTrip': 'Scegli un viaggio',
'dawarich.accept.day': 'Giorno',
'dawarich.accept.noDay': 'Non ancora assegnata a un giorno',
'dawarich.accept.journal': 'Diario',
'dawarich.accept.pickJournal': 'Scegli un diario',
'dawarich.accept.notes': 'Note',
'dawarich.accept.story': 'La tua storia',
'dawarich.accept.storyPlaceholder': 'Cosa è successo qui?',
'dawarich.accept.photosHint': 'Aggiungi le foto alla voce dopo averla creata.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Aggiunto dalle tue registrazioni Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Confronta la tua lista dei desideri con Dawarich',
'dawarich.bucket.description':
'Cerca nelle tue registrazioni i luoghi che volevi raggiungere. Una visita richiede sia la vicinanza sia il tempo trascorso — passarci davanti in auto non conta.',
'dawarich.bucket.scan': 'Controlla la lista dei desideri',
'dawarich.bucket.scanning': 'Controllo in corso…',
'dawarich.bucket.noMatches': 'Nelle tue registrazioni non è emerso nulla della tua lista dei desideri.',
'dawarich.bucket.alreadyVisited': 'Già spuntato',
'dawarich.bucket.confirm': 'Spunta {count}',
'dawarich.bucket.confirmed': '{count} desideri spuntati',
'dawarich.bucket.skipped': '{count} voci non hanno coordinate e non sono state controllate.',
'dawarich.bucket.truncated':
'Sono state controllate solo le prime voci. Esegui di nuovo il controllo per le altre.',
'dawarich.bucket.visitedFrom': 'Spuntato dalle tue registrazioni Dawarich',
'dawarich.bucket.clearVisit': 'Annulla',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Paesi da Dawarich',
'dawarich.atlas.description':
'I paesi in cui, secondo le tue registrazioni, sei stato. Conferma quelli che vuoi nel tuo Atlante — nulla viene aggiunto da solo e ciò che hai segnato a mano resta tuo.',
'dawarich.atlas.load': 'Cerca i paesi',
'dawarich.atlas.loading': 'Lettura delle tue registrazioni…',
'dawarich.atlas.empty': 'Le tue registrazioni non mostrano paesi che TREK non abbia già.',
'dawarich.atlas.cities': '{count} città',
'dawarich.atlas.citiesOne': '1 città',
'dawarich.atlas.accept': 'Aggiungi {count} paesi',
'dawarich.atlas.accepted': '{count} paesi aggiunti',
'dawarich.atlas.unresolved': 'TREK non è riuscito ad abbinare questi a un paese: {names}.',
'dawarich.atlas.source': 'Da Dawarich',
'dawarich.atlas.range': 'Esaminato dal {from} al {to}',
'dawarich.atlas.trigger': 'Desideri e paesi dalle tue registrazioni',
'dawarich.atlas.dialogSubtitle': 'Cosa dicono le tue registrazioni sul tuo Atlas',
'dawarich.atlas.tab.wishes': 'Lista dei desideri',
'dawarich.atlas.tab.countries': 'Paesi',
'dawarich.atlas.window': 'Sono stati esaminati gli ultimi 12 mesi.',
'dawarich.selected': '{count} selezionati',
'dawarich.again': 'Controlla di nuovo',
'dawarich.bucket.metersAway': 'a {meters} m',
'dawarich.bucket.kilometersAway': 'a {km} km',
'dawarich.bucket.rule': 'Un desiderio è raggiunto entro {meters} m e dopo {minutes} minuti sul posto.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+183
View File
@@ -0,0 +1,183 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'自分の Dawarich インスタンスを接続すると、実際に訪れた場所がわかります。TREK はそれを読み取り、日記のエントリー、場所、国を提案します。確認するまで何も追加されず、Dawarich に書き戻すこともありません。',
'dawarich.url': 'インスタンスのアドレス',
'dawarich.apiKey': 'API キー',
'dawarich.apiKeyPlaceholder': 'Dawarich の API キーを貼り付け',
'dawarich.apiKeyHint':
'Dawarich の「Account → API key」にあります。暗号化して保存され、以後は表示されません。',
'dawarich.allowInsecureTls': '自己署名証明書を許可',
'dawarich.allowInsecureTlsHint':
'サーバーが信頼していない証明書をインスタンスが使っている場合にのみ必要です。',
'dawarich.syncEnabled': '新しい滞在を自動で確認',
'dawarich.syncEnabledHint': 'オフにすると、TREK は指示したときだけ Dawarich を読み取ります。',
'dawarich.test.button': '接続をテスト',
'dawarich.test.success': '接続しました。過去30日間で{count}件の滞在が見つかりました。',
'dawarich.test.failed': 'Dawarich に接続できませんでした。',
'dawarich.syncNow': '今すぐ確認',
'dawarich.connected': '接続済み',
'dawarich.notConnected': '未接続',
'dawarich.disconnect': '接続解除',
'dawarich.lastSync': '最終確認:{when}',
'dawarich.neverSynced': 'まだ確認していません',
'dawarich.syncPartial': '一部の旅行を読み取れませんでした',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich の接続を保存しました',
'dawarich.toast.saveError': '接続を保存できませんでした',
'dawarich.toast.disconnected': 'Dawarich の接続を解除しました',
'dawarich.toast.synced': '{count}件の新しい滞在が見つかりました',
'dawarich.toast.syncError': 'Dawarich を読み取れませんでした',
'dawarich.toast.syncRunning': 'すでに確認中です',
'dawarich.toast.acceptError': '追加できませんでした',
'dawarich.toast.updateError': 'この提案を更新できませんでした',
'dawarich.toast.accepted.place': '旅行に追加しました',
'dawarich.toast.accepted.journal': '日記に追加しました',
'dawarich.toast.accepted.bucket_list': 'ウィッシュリストにチェックを付けました',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': '滞在',
'dawarich.capability.track': '記録されたルート',
'dawarich.capability.locations': 'ウィッシュリストの照合',
'dawarich.capability.visitedCities': '国と都市',
'dawarich.capability.missing': 'この Dawarich のバージョンでは利用できません:{features}。',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK はそのアドレスに接続できませんでした。',
'dawarich.error.unauthorized': 'Dawarich が API キーを拒否しました。',
'dawarich.error.forbidden': 'その API キーにはこれを読み取る権限がありません。',
'dawarich.error.not_found': 'この Dawarich のバージョンにはそのエンドポイントがありません。',
'dawarich.error.rate_limited':
'Dawarich からリクエストを控えるよう求められました。しばらくしてからお試しください。',
'dawarich.error.server_error': 'Dawarich がエラーを返しました。',
'dawarich.error.invalid_response': 'そのアドレスからの応答は Dawarich のものではありません。',
'dawarich.error.too_large': 'Dawarich が、TREK が一度に読み取れる量を超えるデータを返しました。',
'dawarich.error.not_connected': 'Dawarich インスタンスはまだ接続されていません。',
'dawarich.error.addon_disabled': 'このインスタンスでは Dawarich アドオンが無効になっています。',
'dawarich.error.offline': 'これには接続が必要です。TREK は現在オフラインです。',
'dawarich.error.invalid_url': 'TREK はこのアドレスを使用できません。',
'dawarich.warning.private_ip': 'このアドレスはプライベート IP ({ip}) を指しています。意図した設定かご確認ください。サーバー側に ALLOW_INTERNAL_NETWORK=true が必要な場合があります。',
'dawarich.error.unknown': 'Dawarich との通信中に問題が発生しました。',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': '記録されたルートを表示',
'dawarich.trail.hide': '記録されたルートを非表示',
'dawarich.trail.loading': '記録されたルートを読み込み中…',
'dawarich.trail.empty': 'この日付には記録がありません',
'dawarich.trail.offline': '記録されたルートの表示には接続が必要です',
'dawarich.trail.unavailable': '記録されたルートを読み込めませんでした',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes}分',
'dawarich.duration.hours': '{hours}時間',
'dawarich.duration.hoursMinutes': '{hours}時間{minutes}分',
'dawarich.checkedAgo': '{ago}に確認',
'dawarich.badge.lowConfidence': '不確か',
'dawarich.badge.sourceChanged': 'Dawarich で変更',
'dawarich.badge.sourceMissing': 'Dawarich から消失',
'dawarich.suggestions.title': 'Dawarich から',
'dawarich.suggestions.pending': '{count}件が未処理',
'dawarich.suggestions.loading': 'Dawarich を読み取り中…',
'dawarich.suggestions.notConnected':
'設定で Dawarich を接続すると、ここに滞在が表示されます。',
'dawarich.suggestions.unavailable': 'Dawarich を読み取れませんでした。',
'dawarich.suggestions.allHandled': 'ここに記録されたものはすべて処理済みです。',
'dawarich.suggestions.asJournal': '日記を書く',
'dawarich.suggestions.asPlace': '場所として追加',
'dawarich.suggestions.dismiss': '訪れていない場所',
'dawarich.suggestions.dismissed': '却下済み',
'dawarich.suggestions.restore': '戻す',
'dawarich.suggestions.showHandled': '処理済みの{count}件を表示',
'dawarich.suggestions.hideHandled': '処理済みのものを非表示',
'dawarich.suggestions.matchesWish': 'ウィッシュリストにあります:{name}',
'dawarich.suggestions.acceptedAs.place': '場所として追加済み',
'dawarich.suggestions.acceptedAs.journal': '日記に記載済み',
'dawarich.suggestions.acceptedAs.bucket_list': 'ウィッシュにチェック済み',
'dawarich.suggestions.sourceChanged':
'この滞在は、使用したあとに Dawarich 側で変更されました。TREK に書いた内容はそのままです。',
'dawarich.suggestions.sourceMissing':
'この滞在は Dawarich にもう存在しません。TREK に書いた内容はそのままです。',
'dawarich.sourceStatus.suggested': '検出済み・未確認',
'dawarich.confidence.high': '確度の高い検出',
'dawarich.confidence.medium': 'ある程度確かな検出',
'dawarich.confidence.low': '不確かな検出',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'この滞在を場所として追加',
'dawarich.accept.title.journal': '日記を書く',
'dawarich.accept.title.bucket_list': 'ウィッシュにチェックを付ける',
'dawarich.accept.confirm.place': '場所を追加',
'dawarich.accept.confirm.journal': 'エントリーを追加',
'dawarich.accept.confirm.bucket_list': 'チェックを付ける',
'dawarich.accept.recorded': '記録:{from}から{to}まで',
'dawarich.accept.duration': '{minutes}分',
'dawarich.accept.name': '名前',
'dawarich.accept.date': '日付',
'dawarich.accept.from': '到着',
'dawarich.accept.to': '出発',
'dawarich.accept.trip': '旅行',
'dawarich.accept.thisTrip': 'この旅行',
'dawarich.accept.pickTrip': '旅行を選択',
'dawarich.accept.day': '日',
'dawarich.accept.noDay': 'まだ日付が未設定',
'dawarich.accept.journal': '日記',
'dawarich.accept.pickJournal': '日記を選択',
'dawarich.accept.notes': 'メモ',
'dawarich.accept.story': 'あなたのストーリー',
'dawarich.accept.storyPlaceholder': 'ここで何がありましたか?',
'dawarich.accept.photosHint': '写真は、エントリーを作成したあとに追加できます。',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Dawarich の記録から追加されました',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'ウィッシュリストを Dawarich と照合',
'dawarich.bucket.description':
'行きたかった場所を記録の中から探します。訪問と見なすには、近さと滞在時間の両方が必要です。通り過ぎただけでは含まれません。',
'dawarich.bucket.scan': 'ウィッシュリストを照合',
'dawarich.bucket.scanning': '照合中…',
'dawarich.bucket.noMatches': 'ウィッシュリストの項目は記録の中に見つかりませんでした。',
'dawarich.bucket.alreadyVisited': 'チェック済み',
'dawarich.bucket.confirm': '{count}件にチェックを付ける',
'dawarich.bucket.confirmed': '{count}件のウィッシュにチェックを付けました',
'dawarich.bucket.skipped': '{count}件は座標がないため照合できませんでした。',
'dawarich.bucket.truncated':
'最初の項目のみ照合しました。残りはもう一度実行してください。',
'dawarich.bucket.visitedFrom': 'Dawarich の記録からチェックを付けました',
'dawarich.bucket.clearVisit': '元に戻す',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Dawarich からの国',
'dawarich.atlas.description':
'記録から滞在したとみられる国です。Atlas に入れたいものを確認してください。自動では追加されず、手動で付けた印もそのまま残ります。',
'dawarich.atlas.load': '国を探す',
'dawarich.atlas.loading': '記録を読み取り中…',
'dawarich.atlas.empty': '記録の中に、TREK にまだない国はありませんでした。',
'dawarich.atlas.cities': '{count}都市',
'dawarich.atlas.citiesOne': '1 都市',
'dawarich.atlas.accept': '{count}か国を追加',
'dawarich.atlas.accepted': '{count}か国を追加しました',
'dawarich.atlas.unresolved': 'TREK はこれらを国と照合できませんでした:{names}。',
'dawarich.atlas.source': 'Dawarich から',
'dawarich.atlas.range': '{from}から{to}までを対象',
'dawarich.atlas.trigger': '記録から見つかった願いと国',
'dawarich.atlas.dialogSubtitle': '記録があなたの Atlas について語ること',
'dawarich.atlas.tab.wishes': 'ウィッシュリスト',
'dawarich.atlas.tab.countries': '国',
'dawarich.atlas.window': '直近12か月を確認しました。',
'dawarich.selected': '{count}件を選択中',
'dawarich.again': 'もう一度確認',
'dawarich.bucket.metersAway': '{meters} m 先',
'dawarich.bucket.kilometersAway': '{km} km 先',
'dawarich.bucket.rule': '{meters} m 以内に {minutes} 分以上滞在すると、願いがかなったとみなします。',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'직접 운영하는 Dawarich 인스턴스를 연결하면 실제로 어디에 다녀왔는지 확인할 수 있습니다. TREK은 기록을 읽어 일기, 장소, 국가를 제안합니다. 확인하기 전까지는 아무것도 추가되지 않으며, Dawarich에 다시 기록되는 내용도 없습니다.',
'dawarich.url': '인스턴스 주소',
'dawarich.apiKey': 'API 키',
'dawarich.apiKeyPlaceholder': 'Dawarich API 키를 붙여넣으세요',
'dawarich.apiKeyHint': 'Dawarich의 계정 → API 키에서 확인할 수 있습니다. 암호화하여 저장되며 다시 표시되지 않습니다.',
'dawarich.allowInsecureTls': '자체 서명 인증서 허용',
'dawarich.allowInsecureTlsHint': '인스턴스가 서버에서 신뢰하지 않는 인증서를 사용할 때만 필요합니다.',
'dawarich.syncEnabled': '새 방문 기록을 자동으로 확인',
'dawarich.syncEnabledHint': '끄면 요청할 때만 TREK이 Dawarich를 읽습니다.',
'dawarich.test.button': '연결 테스트',
'dawarich.test.success': '연결되었습니다. 최근 30일 동안 방문 기록 {count}건을 찾았습니다.',
'dawarich.test.failed': 'Dawarich에 연결할 수 없습니다.',
'dawarich.syncNow': '지금 확인',
'dawarich.connected': '연결됨',
'dawarich.notConnected': '연결되지 않음',
'dawarich.disconnect': '연결 해제',
'dawarich.lastSync': '마지막 확인 {when}',
'dawarich.neverSynced': '아직 확인하지 않았습니다',
'dawarich.syncPartial': '일부 여행은 읽지 못했습니다',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich 연결이 저장되었습니다',
'dawarich.toast.saveError': '연결을 저장할 수 없습니다',
'dawarich.toast.disconnected': 'Dawarich 연결이 해제되었습니다',
'dawarich.toast.synced': '새 방문 기록 {count}건을 찾았습니다',
'dawarich.toast.syncError': 'Dawarich를 읽을 수 없습니다',
'dawarich.toast.syncRunning': '이미 확인 중입니다',
'dawarich.toast.acceptError': '추가할 수 없습니다',
'dawarich.toast.updateError': '이 제안을 업데이트할 수 없습니다',
'dawarich.toast.accepted.place': '여행에 추가했습니다',
'dawarich.toast.accepted.journal': '일기에 추가했습니다',
'dawarich.toast.accepted.bucket_list': '위시리스트에서 완료 처리했습니다',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': '방문 기록',
'dawarich.capability.track': '기록된 경로',
'dawarich.capability.locations': '위시리스트 대조',
'dawarich.capability.visitedCities': '국가 및 도시',
'dawarich.capability.missing': '이 Dawarich 버전에서는 다음 기능을 사용할 수 없습니다: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK이 해당 주소에 연결하지 못했습니다.',
'dawarich.error.unauthorized': 'Dawarich가 API 키를 거부했습니다.',
'dawarich.error.forbidden': '이 API 키에는 해당 내용을 읽을 권한이 없습니다.',
'dawarich.error.not_found': '이 Dawarich 버전에는 해당 엔드포인트가 없습니다.',
'dawarich.error.rate_limited': 'Dawarich가 요청 속도를 낮춰 달라고 응답했습니다. 잠시 후 다시 시도하세요.',
'dawarich.error.server_error': 'Dawarich가 오류로 응답했습니다.',
'dawarich.error.invalid_response': '해당 주소가 Dawarich가 아닌 응답을 보냈습니다.',
'dawarich.error.too_large': 'Dawarich가 TREK이 한 번에 읽을 수 있는 양보다 많은 데이터를 보냈습니다.',
'dawarich.error.not_connected': '아직 연결된 Dawarich 인스턴스가 없습니다.',
'dawarich.error.addon_disabled': '이 인스턴스에서는 Dawarich 애드온이 꺼져 있습니다.',
'dawarich.error.offline': '연결이 필요합니다 — TREK이 지금 오프라인입니다.',
'dawarich.error.invalid_url': 'TREK은 이 주소를 사용할 수 없습니다.',
'dawarich.warning.private_ip': '이 주소는 사설 IP({ip})를 가리킵니다. 의도한 설정인지 확인하세요. 서버에 ALLOW_INTERNAL_NETWORK=true가 필요할 수 있습니다.',
'dawarich.error.unknown': 'Dawarich와 통신하는 중 문제가 발생했습니다.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': '기록된 경로 표시',
'dawarich.trail.hide': '기록된 경로 숨기기',
'dawarich.trail.loading': '기록된 경로를 불러오는 중…',
'dawarich.trail.empty': '해당 날짜에 기록된 내용이 없습니다',
'dawarich.trail.offline': '기록된 경로를 보려면 연결이 필요합니다',
'dawarich.trail.unavailable': '기록된 경로를 불러올 수 없습니다',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes}분',
'dawarich.duration.hours': '{hours}시간',
'dawarich.duration.hoursMinutes': '{hours}시간 {minutes}분',
'dawarich.checkedAgo': '{ago} 확인함',
'dawarich.badge.lowConfidence': '불확실',
'dawarich.badge.sourceChanged': 'Dawarich에서 변경됨',
'dawarich.badge.sourceMissing': 'Dawarich에서 사라짐',
'dawarich.suggestions.title': 'Dawarich에서',
'dawarich.suggestions.pending': '{count}건이 기다리고 있습니다',
'dawarich.suggestions.loading': 'Dawarich를 읽는 중…',
'dawarich.suggestions.notConnected': '설정에서 Dawarich를 연결하면 방문 기록을 여기서 볼 수 있습니다.',
'dawarich.suggestions.unavailable': 'Dawarich를 읽을 수 없습니다.',
'dawarich.suggestions.allHandled': '여기에 기록된 항목은 모두 처리했습니다.',
'dawarich.suggestions.asJournal': '일기 작성',
'dawarich.suggestions.asPlace': '장소로 추가',
'dawarich.suggestions.dismiss': '방문한 장소가 아님',
'dawarich.suggestions.dismissed': '제외됨',
'dawarich.suggestions.restore': '되돌리기',
'dawarich.suggestions.showHandled': '처리한 {count}건 표시',
'dawarich.suggestions.hideHandled': '처리한 항목 숨기기',
'dawarich.suggestions.matchesWish': '위시리스트에 있음: {name}',
'dawarich.suggestions.acceptedAs.place': '장소로 추가됨',
'dawarich.suggestions.acceptedAs.journal': '일기에 있음',
'dawarich.suggestions.acceptedAs.bucket_list': '위시리스트 완료됨',
'dawarich.suggestions.sourceChanged':
'이 방문 기록은 사용한 뒤 Dawarich에서 변경되었습니다. TREK에 작성한 내용은 그대로 유지됩니다.',
'dawarich.suggestions.sourceMissing':
'이 방문 기록은 더 이상 Dawarich에 없습니다. TREK에 작성한 내용은 그대로 유지됩니다.',
'dawarich.sourceStatus.suggested': '감지됨, 미확인',
'dawarich.confidence.high': '확실한 감지',
'dawarich.confidence.medium': '비교적 확실한 감지',
'dawarich.confidence.low': '불확실한 감지',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': '이 방문 기록을 장소로 추가',
'dawarich.accept.title.journal': '일기 작성',
'dawarich.accept.title.bucket_list': '위시리스트 완료 처리',
'dawarich.accept.confirm.place': '장소 추가',
'dawarich.accept.confirm.journal': '항목 추가',
'dawarich.accept.confirm.bucket_list': '완료 처리',
'dawarich.accept.recorded': '{from}부터 {to}까지 기록됨',
'dawarich.accept.duration': '{minutes}분',
'dawarich.accept.name': '이름',
'dawarich.accept.date': '날짜',
'dawarich.accept.from': '도착',
'dawarich.accept.to': '출발',
'dawarich.accept.trip': '여행',
'dawarich.accept.thisTrip': '이 여행',
'dawarich.accept.pickTrip': '여행 선택',
'dawarich.accept.day': '일자',
'dawarich.accept.noDay': '아직 일자에 배정되지 않음',
'dawarich.accept.journal': 'Journey',
'dawarich.accept.pickJournal': 'Journey 선택',
'dawarich.accept.notes': '메모',
'dawarich.accept.story': '나의 이야기',
'dawarich.accept.storyPlaceholder': '여기서 어떤 일이 있었나요?',
'dawarich.accept.photosHint': '항목을 만든 뒤에 사진을 추가하세요.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Dawarich 기록에서 추가됨',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': '위시리스트를 Dawarich와 대조하기',
'dawarich.bucket.description':
'가고 싶었던 장소를 기록에서 찾아봅니다. 방문으로 인정하려면 충분히 가까이 있었고 머문 시간도 있어야 합니다. 지나가기만 한 것은 포함되지 않습니다.',
'dawarich.bucket.scan': '위시리스트 확인',
'dawarich.bucket.scanning': '확인하는 중…',
'dawarich.bucket.noMatches': '기록에서 위시리스트에 있는 장소를 찾지 못했습니다.',
'dawarich.bucket.alreadyVisited': '이미 완료 처리됨',
'dawarich.bucket.confirm': '{count}건 완료 처리',
'dawarich.bucket.confirmed': '위시리스트 {count}건을 완료 처리했습니다',
'dawarich.bucket.skipped': '{count}건은 좌표가 없어 확인하지 못했습니다.',
'dawarich.bucket.truncated': '앞부분 항목만 확인했습니다. 나머지는 다시 실행하세요.',
'dawarich.bucket.visitedFrom': 'Dawarich 기록을 바탕으로 완료 처리됨',
'dawarich.bucket.clearVisit': '실행 취소',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Dawarich에서 가져온 국가',
'dawarich.atlas.description':
'기록에 따르면 다녀온 것으로 보이는 국가입니다. Atlas에 넣고 싶은 국가를 확인해 주세요. 저절로 추가되는 것은 없으며, 직접 표시한 내용도 그대로 유지됩니다.',
'dawarich.atlas.load': '국가 찾기',
'dawarich.atlas.loading': '기록을 읽는 중…',
'dawarich.atlas.empty': '기록에는 TREK에 아직 없는 국가가 없습니다.',
'dawarich.atlas.cities': '도시 {count}곳',
'dawarich.atlas.citiesOne': '도시 1곳',
'dawarich.atlas.accept': '국가 {count}곳 추가',
'dawarich.atlas.accepted': '국가 {count}곳을 추가했습니다',
'dawarich.atlas.unresolved': 'TREK이 다음 항목을 국가와 연결하지 못했습니다: {names}.',
'dawarich.atlas.source': 'Dawarich에서',
'dawarich.atlas.range': '{from}부터 {to}까지 확인함',
'dawarich.atlas.trigger': '기록에서 찾은 위시리스트와 국가',
'dawarich.atlas.dialogSubtitle': '기록이 당신의 Atlas에 대해 말해 주는 것',
'dawarich.atlas.tab.wishes': '위시리스트',
'dawarich.atlas.tab.countries': '국가',
'dawarich.atlas.window': '최근 12개월을 확인했습니다.',
'dawarich.selected': '{count}개 선택됨',
'dawarich.again': '다시 확인',
'dawarich.bucket.metersAway': '{meters} m 거리',
'dawarich.bucket.kilometersAway': '{km} km 거리',
'dawarich.bucket.rule': '{meters} m 이내에서 {minutes}분 이상 머무르면 소원을 이룬 것으로 봅니다.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+180
View File
@@ -0,0 +1,180 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Koppel je eigen Dawarich-instantie om te zien waar je echt bent geweest. TREK leest hem uit en stelt dagboekvermeldingen, plaatsen en landen voor — er wordt niets toegevoegd voordat jij het bevestigt, en er wordt niets teruggeschreven naar Dawarich.',
'dawarich.url': 'Adres van de instantie',
'dawarich.apiKey': 'API-sleutel',
'dawarich.apiKeyPlaceholder': 'Plak je Dawarich-API-sleutel',
'dawarich.apiKeyHint':
'Te vinden in Dawarich onder Account → API key. Wordt versleuteld opgeslagen en nooit meer getoond.',
'dawarich.allowInsecureTls': 'Zelfondertekend certificaat toestaan',
'dawarich.allowInsecureTlsHint':
'Alleen nodig als je instantie een certificaat gebruikt dat je server niet vertrouwt.',
'dawarich.syncEnabled': 'Automatisch op nieuwe bezoeken controleren',
'dawarich.syncEnabledHint': 'Uit betekent dat TREK Dawarich alleen uitleest als jij erom vraagt.',
'dawarich.test.button': 'Verbinding testen',
'dawarich.test.success': 'Verbonden. {count} bezoeken gevonden in de laatste 30 dagen.',
'dawarich.test.failed': 'Kon Dawarich niet bereiken.',
'dawarich.syncNow': 'Nu controleren',
'dawarich.connected': 'Verbonden',
'dawarich.notConnected': 'Niet verbonden',
'dawarich.disconnect': 'Verbinding verbreken',
'dawarich.lastSync': 'Laatst gecontroleerd {when}',
'dawarich.neverSynced': 'Nog niet gecontroleerd',
'dawarich.syncPartial': 'sommige reizen konden niet worden gelezen',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich-verbinding opgeslagen',
'dawarich.toast.saveError': 'Kon de verbinding niet opslaan',
'dawarich.toast.disconnected': 'Dawarich losgekoppeld',
'dawarich.toast.synced': '{count} nieuwe bezoeken gevonden',
'dawarich.toast.syncError': 'Kon Dawarich niet uitlezen',
'dawarich.toast.syncRunning': 'Er loopt al een controle',
'dawarich.toast.acceptError': 'Kon dit niet toevoegen',
'dawarich.toast.updateError': 'Kon deze suggestie niet bijwerken',
'dawarich.toast.accepted.place': 'Toegevoegd aan de reis',
'dawarich.toast.accepted.journal': 'Toegevoegd aan het reisverslag',
'dawarich.toast.accepted.bucket_list': 'Afgevinkt op je wensenlijst',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'bezoeken',
'dawarich.capability.track': 'opgenomen route',
'dawarich.capability.locations': 'wensenlijst vergelijken',
'dawarich.capability.visitedCities': 'landen en steden',
'dawarich.capability.missing': 'Deze versie van Dawarich biedt niet: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK kon dat adres niet bereiken.',
'dawarich.error.unauthorized': 'Dawarich heeft de API-sleutel geweigerd.',
'dawarich.error.forbidden': 'Die API-sleutel mag dit niet lezen.',
'dawarich.error.not_found': 'Deze versie van Dawarich heeft dat eindpunt niet.',
'dawarich.error.rate_limited': 'Dawarich vroeg TREK om het rustiger aan te doen. Probeer het zo meteen opnieuw.',
'dawarich.error.server_error': 'Dawarich antwoordde met een fout.',
'dawarich.error.invalid_response': 'Dat adres antwoordde met iets dat geen Dawarich is.',
'dawarich.error.too_large': 'Dawarich stuurde meer gegevens dan TREK in één keer leest.',
'dawarich.error.not_connected': 'Er is nog geen Dawarich-instantie verbonden.',
'dawarich.error.addon_disabled': 'De Dawarich-add-on staat uit voor deze instantie.',
'dawarich.error.offline': 'Hiervoor is een verbinding nodig — TREK is nu offline.',
'dawarich.error.invalid_url': 'TREK kan dit adres niet gebruiken.',
'dawarich.warning.private_ip': 'Dit adres wijst naar een privé-IP ({ip}). Controleer of dat de bedoeling is — de server heeft er mogelijk ALLOW_INTERNAL_NETWORK=true voor nodig.',
'dawarich.error.unknown': 'Er ging iets mis in het contact met Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Opgenomen route tonen',
'dawarich.trail.hide': 'Opgenomen route verbergen',
'dawarich.trail.loading': 'De opgenomen route wordt geladen…',
'dawarich.trail.empty': 'Op deze datums is er niets opgenomen',
'dawarich.trail.offline': 'De opgenomen route heeft een verbinding nodig',
'dawarich.trail.unavailable': 'De opgenomen route kon niet worden geladen',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} u',
'dawarich.duration.hoursMinutes': '{hours} u {minutes} min',
'dawarich.checkedAgo': 'gecontroleerd {ago}',
'dawarich.badge.lowConfidence': 'Onzeker',
'dawarich.badge.sourceChanged': 'Gewijzigd in Dawarich',
'dawarich.badge.sourceMissing': 'Weg uit Dawarich',
'dawarich.suggestions.title': 'Uit Dawarich',
'dawarich.suggestions.pending': '{count} wachten op je',
'dawarich.suggestions.loading': 'Dawarich wordt uitgelezen…',
'dawarich.suggestions.notConnected': 'Koppel Dawarich in Instellingen om je bezoeken hier te zien.',
'dawarich.suggestions.unavailable': 'Dawarich kon niet worden uitgelezen.',
'dawarich.suggestions.allHandled': 'Alles wat hier is opgenomen, is afgehandeld.',
'dawarich.suggestions.asJournal': 'Een dagboekvermelding schrijven',
'dawarich.suggestions.asPlace': 'Als plaats toevoegen',
'dawarich.suggestions.dismiss': 'Hier ben ik niet geweest',
'dawarich.suggestions.dismissed': 'Weggelegd',
'dawarich.suggestions.restore': 'Terugzetten',
'dawarich.suggestions.showHandled': '{count} al afgehandelde tonen',
'dawarich.suggestions.hideHandled': 'De al afgehandelde verbergen',
'dawarich.suggestions.matchesWish': 'Op je wensenlijst: {name}',
'dawarich.suggestions.acceptedAs.place': 'Toegevoegd als plaats',
'dawarich.suggestions.acceptedAs.journal': 'In het reisverslag',
'dawarich.suggestions.acceptedAs.bucket_list': 'Wens afgevinkt',
'dawarich.suggestions.sourceChanged':
'Dit bezoek is in Dawarich gewijzigd sinds je het hebt gebruikt. Wat je in TREK hebt geschreven, blijft onaangeroerd.',
'dawarich.suggestions.sourceMissing':
'Dit bezoek bestaat niet meer in Dawarich. Wat je in TREK hebt geschreven, blijft onaangeroerd.',
'dawarich.sourceStatus.suggested': 'Herkend, niet bevestigd',
'dawarich.confidence.high': 'Zekere herkenning',
'dawarich.confidence.medium': 'Redelijk zekere herkenning',
'dawarich.confidence.low': 'Onzekere herkenning',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Dit bezoek als plaats toevoegen',
'dawarich.accept.title.journal': 'Een dagboekvermelding schrijven',
'dawarich.accept.title.bucket_list': 'Een wens afvinken',
'dawarich.accept.confirm.place': 'Plaats toevoegen',
'dawarich.accept.confirm.journal': 'Vermelding toevoegen',
'dawarich.accept.confirm.bucket_list': 'Afvinken',
'dawarich.accept.recorded': 'Opgenomen van {from} tot {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Naam',
'dawarich.accept.date': 'Datum',
'dawarich.accept.from': 'Aangekomen',
'dawarich.accept.to': 'Vertrokken',
'dawarich.accept.trip': 'Reis',
'dawarich.accept.thisTrip': 'Deze reis',
'dawarich.accept.pickTrip': 'Kies een reis',
'dawarich.accept.day': 'Dag',
'dawarich.accept.noDay': 'Nog niet op een dag',
'dawarich.accept.journal': 'Reisverslag',
'dawarich.accept.pickJournal': 'Kies een reisverslag',
'dawarich.accept.notes': 'Notities',
'dawarich.accept.story': 'Jouw verhaal',
'dawarich.accept.storyPlaceholder': 'Wat is hier gebeurd?',
'dawarich.accept.photosHint': "Voeg foto's toe aan de vermelding nadat die is aangemaakt.",
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Toegevoegd uit je Dawarich-opnames',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Je wensenlijst naast Dawarich leggen',
'dawarich.bucket.description':
'Doorzoekt je opnames op de plaatsen die je wilde bereiken. Voor een bezoek tellen zowel nabijheid als verblijfsduur — voorbijrijden telt niet.',
'dawarich.bucket.scan': 'Wensenlijst controleren',
'dawarich.bucket.scanning': 'Bezig met controleren…',
'dawarich.bucket.noMatches': 'Niets van je wensenlijst kwam in je opnames voor.',
'dawarich.bucket.alreadyVisited': 'Al afgevinkt',
'dawarich.bucket.confirm': '{count} afvinken',
'dawarich.bucket.confirmed': '{count} wensen afgevinkt',
'dawarich.bucket.skipped': '{count} vermeldingen hebben geen coördinaten en konden niet worden gecontroleerd.',
'dawarich.bucket.truncated': 'Alleen de eerste vermeldingen zijn gecontroleerd. Voer het opnieuw uit voor de rest.',
'dawarich.bucket.visitedFrom': 'Afgevinkt op basis van je Dawarich-opnames',
'dawarich.bucket.clearVisit': 'Ongedaan maken',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Landen uit Dawarich',
'dawarich.atlas.description':
'Landen waar je volgens je opnames bent geweest. Bevestig degene die je in je Atlas wilt — er wordt niets uit zichzelf toegevoegd, en wat je met de hand hebt aangevinkt, blijft van jou.',
'dawarich.atlas.load': 'Naar landen zoeken',
'dawarich.atlas.loading': 'Je opnames worden uitgelezen…',
'dawarich.atlas.empty': 'Je opnames tonen geen landen die TREK nog niet heeft.',
'dawarich.atlas.cities': '{count} steden',
'dawarich.atlas.citiesOne': '1 stad',
'dawarich.atlas.accept': '{count} landen toevoegen',
'dawarich.atlas.accepted': '{count} landen toegevoegd',
'dawarich.atlas.unresolved': 'TREK kon deze niet aan een land koppelen: {names}.',
'dawarich.atlas.source': 'Uit Dawarich',
'dawarich.atlas.range': 'Gekeken van {from} tot {to}',
'dawarich.atlas.trigger': 'Wensen en landen uit je opnames',
'dawarich.atlas.dialogSubtitle': 'Wat je opnames over je Atlas zeggen',
'dawarich.atlas.tab.wishes': 'Wensenlijst',
'dawarich.atlas.tab.countries': 'Landen',
'dawarich.atlas.window': 'De laatste 12 maanden zijn bekeken.',
'dawarich.selected': '{count} geselecteerd',
'dawarich.again': 'Opnieuw controleren',
'dawarich.bucket.metersAway': '{meters} m verderop',
'dawarich.bucket.kilometersAway': '{km} km verderop',
'dawarich.bucket.rule': 'Een wens telt als bereikt binnen {meters} m en na {minutes} minuten ter plaatse.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Połącz własną instancję Dawarich, aby zobaczyć, gdzie naprawdę byłeś. TREK ją odczytuje i proponuje wpisy w dzienniku, miejsca i kraje — nic nie zostanie dodane, dopóki tego nie potwierdzisz, i nic nie jest zapisywane z powrotem do Dawarich.',
'dawarich.url': 'Adres instancji',
'dawarich.apiKey': 'Klucz API',
'dawarich.apiKeyPlaceholder': 'Wklej swój klucz API Dawarich',
'dawarich.apiKeyHint': 'Znajdziesz go w Dawarich w Account → API key. Przechowywany w postaci zaszyfrowanej i nigdy więcej niepokazywany.',
'dawarich.allowInsecureTls': 'Zezwalaj na certyfikat z własnym podpisem',
'dawarich.allowInsecureTlsHint': 'Potrzebne tylko wtedy, gdy Twoja instancja używa certyfikatu, któremu Twój serwer nie ufa.',
'dawarich.syncEnabled': 'Sprawdzaj nowe pobyty automatycznie',
'dawarich.syncEnabledHint': 'Gdy wyłączone, TREK odczytuje Dawarich tylko na Twoje polecenie.',
'dawarich.test.button': 'Testuj połączenie',
'dawarich.test.success': 'Połączono. Znaleziono {count} pobytów z ostatnich 30 dni.',
'dawarich.test.failed': 'Nie udało się połączyć z Dawarich.',
'dawarich.syncNow': 'Sprawdź teraz',
'dawarich.connected': 'Połączono',
'dawarich.notConnected': 'Nie połączono',
'dawarich.disconnect': 'Rozłącz',
'dawarich.lastSync': 'Ostatnio sprawdzono {when}',
'dawarich.neverSynced': 'Jeszcze nie sprawdzono',
'dawarich.syncPartial': 'niektórych podróży nie udało się odczytać',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Zapisano połączenie z Dawarich',
'dawarich.toast.saveError': 'Nie udało się zapisać połączenia',
'dawarich.toast.disconnected': 'Rozłączono Dawarich',
'dawarich.toast.synced': 'Znaleziono {count} nowych pobytów',
'dawarich.toast.syncError': 'Nie udało się odczytać Dawarich',
'dawarich.toast.syncRunning': 'Sprawdzanie już trwa',
'dawarich.toast.acceptError': 'Nie udało się tego dodać',
'dawarich.toast.updateError': 'Nie udało się zaktualizować tej sugestii',
'dawarich.toast.accepted.place': 'Dodano do podróży',
'dawarich.toast.accepted.journal': 'Dodano do dziennika',
'dawarich.toast.accepted.bucket_list': 'Odhaczono na liście marzeń',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'pobyty',
'dawarich.capability.track': 'zapisana trasa',
'dawarich.capability.locations': 'dopasowanie do listy marzeń',
'dawarich.capability.visitedCities': 'kraje i miasta',
'dawarich.capability.missing': 'Ta wersja Dawarich nie udostępnia: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK nie mógł połączyć się z tym adresem.',
'dawarich.error.unauthorized': 'Dawarich odrzucił ten klucz API.',
'dawarich.error.forbidden': 'Ten klucz API nie ma prawa tego odczytać.',
'dawarich.error.not_found': 'Ta wersja Dawarich nie ma takiego punktu końcowego.',
'dawarich.error.rate_limited': 'Dawarich poprosił TREK o zwolnienie tempa. Spróbuj ponownie za chwilę.',
'dawarich.error.server_error': 'Dawarich odpowiedział błędem.',
'dawarich.error.invalid_response': 'Ten adres odpowiedział czymś, co nie jest Dawarich.',
'dawarich.error.too_large': 'Dawarich przysłał więcej danych, niż TREK odczyta za jednym razem.',
'dawarich.error.not_connected': 'Nie połączono jeszcze żadnej instancji Dawarich.',
'dawarich.error.addon_disabled': 'Dodatek Dawarich jest wyłączony w tej instancji.',
'dawarich.error.offline': 'To wymaga połączenia — TREK jest teraz offline.',
'dawarich.error.invalid_url': 'TREK nie może użyć tego adresu.',
'dawarich.warning.private_ip': 'Ten adres wskazuje na prywatny IP ({ip}). Sprawdź, czy o to chodziło — serwer może potrzebować ALLOW_INTERNAL_NETWORK=true, aby go osiągnąć.',
'dawarich.error.unknown': 'Coś poszło nie tak w komunikacji z Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Pokaż zapisaną trasę',
'dawarich.trail.hide': 'Ukryj zapisaną trasę',
'dawarich.trail.loading': 'Wczytywanie zapisanej trasy…',
'dawarich.trail.empty': 'W tych dniach nic nie zostało zapisane',
'dawarich.trail.offline': 'Zapisana trasa wymaga połączenia',
'dawarich.trail.unavailable': 'Nie udało się wczytać zapisanej trasy',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} godz.',
'dawarich.duration.hoursMinutes': '{hours} godz. {minutes} min',
'dawarich.checkedAgo': 'sprawdzono {ago}',
'dawarich.badge.lowConfidence': 'Niepewne',
'dawarich.badge.sourceChanged': 'Zmienione w Dawarichu',
'dawarich.badge.sourceMissing': 'Zniknęło z Dawaricha',
'dawarich.suggestions.title': 'Z Dawarich',
'dawarich.suggestions.pending': '{count} czeka na Ciebie',
'dawarich.suggestions.loading': 'Odczytywanie Dawarich…',
'dawarich.suggestions.notConnected': 'Połącz Dawarich w Ustawieniach, aby zobaczyć tutaj swoje pobyty.',
'dawarich.suggestions.unavailable': 'Nie udało się odczytać Dawarich.',
'dawarich.suggestions.allHandled': 'Wszystko, co tu zapisano, zostało już obsłużone.',
'dawarich.suggestions.asJournal': 'Napisz wpis w dzienniku',
'dawarich.suggestions.asPlace': 'Dodaj jako miejsce',
'dawarich.suggestions.dismiss': 'To nie jest miejsce, w którym byłem',
'dawarich.suggestions.dismissed': 'Odrzucono',
'dawarich.suggestions.restore': 'Przywróć',
'dawarich.suggestions.showHandled': 'Pokaż {count} już obsłużonych',
'dawarich.suggestions.hideHandled': 'Ukryj już obsłużone',
'dawarich.suggestions.matchesWish': 'Na Twojej liście marzeń: {name}',
'dawarich.suggestions.acceptedAs.place': 'Dodano jako miejsce',
'dawarich.suggestions.acceptedAs.journal': 'W dzienniku',
'dawarich.suggestions.acceptedAs.bucket_list': 'Marzenie odhaczone',
'dawarich.suggestions.sourceChanged':
'Ten pobyt zmienił się w Dawarich, odkąd go użyłeś. To, co napisałeś w TREK, pozostaje nietknięte.',
'dawarich.suggestions.sourceMissing':
'Ten pobyt już nie istnieje w Dawarich. To, co napisałeś w TREK, pozostaje nietknięte.',
'dawarich.sourceStatus.suggested': 'Wykryte, niepotwierdzone',
'dawarich.confidence.high': 'Pewne wykrycie',
'dawarich.confidence.medium': 'Dość pewne wykrycie',
'dawarich.confidence.low': 'Niepewne wykrycie',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Dodaj ten pobyt jako miejsce',
'dawarich.accept.title.journal': 'Napisz wpis w dzienniku',
'dawarich.accept.title.bucket_list': 'Odhacz marzenie',
'dawarich.accept.confirm.place': 'Dodaj miejsce',
'dawarich.accept.confirm.journal': 'Dodaj wpis',
'dawarich.accept.confirm.bucket_list': 'Odhacz',
'dawarich.accept.recorded': 'Zapisano od {from} do {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Nazwa',
'dawarich.accept.date': 'Data',
'dawarich.accept.from': 'Przyjazd',
'dawarich.accept.to': 'Wyjazd',
'dawarich.accept.trip': 'Podróż',
'dawarich.accept.thisTrip': 'Ta podróż',
'dawarich.accept.pickTrip': 'Wybierz podróż',
'dawarich.accept.day': 'Dzień',
'dawarich.accept.noDay': 'Jeszcze bez przypisanego dnia',
'dawarich.accept.journal': 'Dziennik',
'dawarich.accept.pickJournal': 'Wybierz dziennik',
'dawarich.accept.notes': 'Notatki',
'dawarich.accept.story': 'Twoja historia',
'dawarich.accept.storyPlaceholder': 'Co się tu wydarzyło?',
'dawarich.accept.photosHint': 'Zdjęcia dodasz do wpisu po jego utworzeniu.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Dodane z Twoich zapisów Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Porównaj swoją listę marzeń z Dawarich',
'dawarich.bucket.description':
'Przeszukuje Twoje zapisy pod kątem miejsc, do których chciałeś dotrzeć. Wizyta wymaga zarówno bliskości, jak i spędzonego czasu — przejazd obok się nie liczy.',
'dawarich.bucket.scan': 'Sprawdź listę marzeń',
'dawarich.bucket.scanning': 'Sprawdzanie…',
'dawarich.bucket.noMatches': 'Nic z Twojej listy marzeń nie pojawiło się w Twoich zapisach.',
'dawarich.bucket.alreadyVisited': 'Już odhaczone',
'dawarich.bucket.confirm': 'Odhacz {count}',
'dawarich.bucket.confirmed': 'Odhaczono marzenia: {count}',
'dawarich.bucket.skipped': '{count} pozycji nie ma współrzędnych i nie dało się ich sprawdzić.',
'dawarich.bucket.truncated': 'Sprawdzono tylko pierwsze pozycje. Uruchom ponownie, aby sprawdzić resztę.',
'dawarich.bucket.visitedFrom': 'Odhaczone na podstawie Twoich zapisów z Dawarich',
'dawarich.bucket.clearVisit': 'Cofnij',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Kraje z Dawarich',
'dawarich.atlas.description':
'Kraje, w których według Twoich zapisów byłeś. Potwierdź te, które mają trafić do Twojego Atlasu — nic nie jest dodawane samo, a to, co zaznaczyłeś ręcznie, pozostaje Twoje.',
'dawarich.atlas.load': 'Szukaj krajów',
'dawarich.atlas.loading': 'Odczytywanie Twoich zapisów…',
'dawarich.atlas.empty': 'Twoje zapisy nie pokazują krajów, których TREK jeszcze nie ma.',
'dawarich.atlas.cities': 'miast: {count}',
'dawarich.atlas.citiesOne': '1 miasto',
'dawarich.atlas.accept': 'Dodaj kraje: {count}',
'dawarich.atlas.accepted': 'Dodano kraje: {count}',
'dawarich.atlas.unresolved': 'TREK nie mógł dopasować tych nazw do kraju: {names}.',
'dawarich.atlas.source': 'Z Dawarich',
'dawarich.atlas.range': 'Sprawdzono od {from} do {to}',
'dawarich.atlas.trigger': 'Marzenia i kraje z Twoich zapisów',
'dawarich.atlas.dialogSubtitle': 'Co Twoje zapisy mówią o Twoim Atlasie',
'dawarich.atlas.tab.wishes': 'Lista marzeń',
'dawarich.atlas.tab.countries': 'Kraje',
'dawarich.atlas.window': 'Sprawdzono ostatnie 12 miesięcy.',
'dawarich.selected': 'Wybrano: {count}',
'dawarich.again': 'Sprawdź ponownie',
'dawarich.bucket.metersAway': '{meters} m stąd',
'dawarich.bucket.kilometersAway': '{km} km stąd',
'dawarich.bucket.rule': 'Marzenie uznaje się za spełnione w promieniu {meters} m i po {minutes} minutach na miejscu.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Подключите свой экземпляр Dawarich, чтобы видеть, где вы действительно побывали. TREK читает его и предлагает записи дневника, места и страны — ничего не добавляется без вашего подтверждения, и в Dawarich ничего не записывается.',
'dawarich.url': 'Адрес экземпляра',
'dawarich.apiKey': 'Ключ API',
'dawarich.apiKeyPlaceholder': 'Вставьте свой ключ API Dawarich',
'dawarich.apiKeyHint': 'Находится в Dawarich в разделе «Аккаунт → Ключ API». Хранится в зашифрованном виде и больше не показывается.',
'dawarich.allowInsecureTls': 'Разрешить самоподписанный сертификат',
'dawarich.allowInsecureTlsHint': 'Нужно только в том случае, если ваш экземпляр использует сертификат, которому ваш сервер не доверяет.',
'dawarich.syncEnabled': 'Автоматически проверять новые остановки',
'dawarich.syncEnabledHint': 'Если выключено, TREK читает Dawarich только по вашему запросу.',
'dawarich.test.button': 'Проверить подключение',
'dawarich.test.success': 'Подключено. За последние 30 дней найдено остановок: {count}.',
'dawarich.test.failed': 'Не удалось связаться с Dawarich.',
'dawarich.syncNow': 'Проверить сейчас',
'dawarich.connected': 'Подключено',
'dawarich.notConnected': 'Не подключено',
'dawarich.disconnect': 'Отключить',
'dawarich.lastSync': 'Последняя проверка: {when}',
'dawarich.neverSynced': 'Ещё не проверялось',
'dawarich.syncPartial': 'некоторые поездки прочитать не удалось',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Подключение к Dawarich сохранено',
'dawarich.toast.saveError': 'Не удалось сохранить подключение',
'dawarich.toast.disconnected': 'Dawarich отключён',
'dawarich.toast.synced': 'Найдено новых остановок: {count}',
'dawarich.toast.syncError': 'Не удалось прочитать Dawarich',
'dawarich.toast.syncRunning': 'Проверка уже выполняется',
'dawarich.toast.acceptError': 'Не удалось это добавить',
'dawarich.toast.updateError': 'Не удалось обновить это предложение',
'dawarich.toast.accepted.place': 'Добавлено в поездку',
'dawarich.toast.accepted.journal': 'Добавлено в дневник',
'dawarich.toast.accepted.bucket_list': 'Отмечено в списке желаний',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'остановки',
'dawarich.capability.track': 'записанный маршрут',
'dawarich.capability.locations': 'сопоставление со списком желаний',
'dawarich.capability.visitedCities': 'страны и города',
'dawarich.capability.missing': 'Эта версия Dawarich не поддерживает: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK не смог связаться с этим адресом.',
'dawarich.error.unauthorized': 'Dawarich отклонил ключ API.',
'dawarich.error.forbidden': 'Этому ключу API не разрешено это читать.',
'dawarich.error.not_found': 'В этой версии Dawarich нет такой конечной точки.',
'dawarich.error.rate_limited': 'Dawarich попросил TREK снизить темп. Повторите попытку чуть позже.',
'dawarich.error.server_error': 'Dawarich ответил ошибкой.',
'dawarich.error.invalid_response': 'По этому адресу ответило что-то, что не является Dawarich.',
'dawarich.error.too_large': 'Dawarich прислал больше данных, чем TREK читает за один раз.',
'dawarich.error.not_connected': 'Ни один экземпляр Dawarich пока не подключён.',
'dawarich.error.addon_disabled': 'Дополнение Dawarich отключено для этого экземпляра.',
'dawarich.error.offline': 'Для этого нужно подключение — TREK сейчас офлайн.',
'dawarich.error.invalid_url': 'TREK не может использовать этот адрес.',
'dawarich.warning.private_ip': 'Этот адрес указывает на частный IP ({ip}). Проверьте, что так и задумано — серверу может понадобиться ALLOW_INTERNAL_NETWORK=true.',
'dawarich.error.unknown': 'При обращении к Dawarich что-то пошло не так.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Показать записанный маршрут',
'dawarich.trail.hide': 'Скрыть записанный маршрут',
'dawarich.trail.loading': 'Загрузка записанного маршрута…',
'dawarich.trail.empty': 'За эти даты ничего не записано',
'dawarich.trail.offline': 'Для записанного маршрута нужно подключение',
'dawarich.trail.unavailable': 'Не удалось загрузить записанный маршрут',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} мин',
'dawarich.duration.hours': '{hours} ч',
'dawarich.duration.hoursMinutes': '{hours} ч {minutes} мин',
'dawarich.checkedAgo': 'проверено {ago}',
'dawarich.badge.lowConfidence': 'Неточно',
'dawarich.badge.sourceChanged': 'Изменено в Dawarich',
'dawarich.badge.sourceMissing': 'Исчезло из Dawarich',
'dawarich.suggestions.title': 'Из Dawarich',
'dawarich.suggestions.pending': 'Ожидает вас: {count}',
'dawarich.suggestions.loading': 'Чтение Dawarich…',
'dawarich.suggestions.notConnected': 'Подключите Dawarich в настройках, чтобы видеть здесь свои остановки.',
'dawarich.suggestions.unavailable': 'Не удалось прочитать Dawarich.',
'dawarich.suggestions.allHandled': 'Всё, что здесь записано, уже обработано.',
'dawarich.suggestions.asJournal': 'Написать запись в дневник',
'dawarich.suggestions.asPlace': 'Добавить как место',
'dawarich.suggestions.dismiss': 'Я здесь не был',
'dawarich.suggestions.dismissed': 'Отклонено',
'dawarich.suggestions.restore': 'Вернуть',
'dawarich.suggestions.showHandled': 'Показать уже обработанные: {count}',
'dawarich.suggestions.hideHandled': 'Скрыть уже обработанные',
'dawarich.suggestions.matchesWish': 'В вашем списке желаний: {name}',
'dawarich.suggestions.acceptedAs.place': 'Добавлено как место',
'dawarich.suggestions.acceptedAs.journal': 'В дневнике',
'dawarich.suggestions.acceptedAs.bucket_list': 'Желание отмечено',
'dawarich.suggestions.sourceChanged':
'Эта остановка изменилась в Dawarich с тех пор, как вы её использовали. То, что вы написали в TREK, осталось нетронутым.',
'dawarich.suggestions.sourceMissing':
'Этой остановки больше нет в Dawarich. То, что вы написали в TREK, осталось нетронутым.',
'dawarich.sourceStatus.suggested': 'Обнаружено, не подтверждено',
'dawarich.confidence.high': 'Уверенное определение',
'dawarich.confidence.medium': 'Довольно уверенное определение',
'dawarich.confidence.low': 'Неуверенное определение',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Добавить эту остановку как место',
'dawarich.accept.title.journal': 'Написать запись в дневник',
'dawarich.accept.title.bucket_list': 'Отметить желание',
'dawarich.accept.confirm.place': 'Добавить место',
'dawarich.accept.confirm.journal': 'Добавить запись',
'dawarich.accept.confirm.bucket_list': 'Отметить',
'dawarich.accept.recorded': 'Записано с {from} по {to}',
'dawarich.accept.duration': '{minutes} мин',
'dawarich.accept.name': 'Название',
'dawarich.accept.date': 'Дата',
'dawarich.accept.from': 'Прибытие',
'dawarich.accept.to': 'Отъезд',
'dawarich.accept.trip': 'Поездка',
'dawarich.accept.thisTrip': 'Эта поездка',
'dawarich.accept.pickTrip': 'Выберите поездку',
'dawarich.accept.day': 'День',
'dawarich.accept.noDay': 'Пока не привязано ко дню',
'dawarich.accept.journal': 'Дневник',
'dawarich.accept.pickJournal': 'Выберите дневник',
'dawarich.accept.notes': 'Заметки',
'dawarich.accept.story': 'Ваша история',
'dawarich.accept.storyPlaceholder': 'Что здесь произошло?',
'dawarich.accept.photosHint': 'Добавьте фотографии к записи после её создания.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Добавлено из ваших записей Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Сверить список желаний с Dawarich',
'dawarich.bucket.description':
'Просматривает ваши записи в поисках мест, куда вы хотели попасть. Для засчитанного посещения нужны и близость, и проведённое время — проезд мимо не считается.',
'dawarich.bucket.scan': 'Проверить список желаний',
'dawarich.bucket.scanning': 'Проверка…',
'dawarich.bucket.noMatches': 'Ничего из вашего списка желаний в записях не нашлось.',
'dawarich.bucket.alreadyVisited': 'Уже отмечено',
'dawarich.bucket.confirm': 'Отметить: {count}',
'dawarich.bucket.confirmed': 'Отмечено желаний: {count}',
'dawarich.bucket.skipped': 'У {count} записей нет координат, их не удалось проверить.',
'dawarich.bucket.truncated': 'Проверены только первые записи. Запустите ещё раз для остальных.',
'dawarich.bucket.visitedFrom': 'Отмечено по вашим записям Dawarich',
'dawarich.bucket.clearVisit': 'Отменить',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Страны из Dawarich',
'dawarich.atlas.description':
'Страны, в которых, судя по вашим записям, вы были. Подтвердите те, что хотите видеть в своём Atlas — ничего не добавляется само собой, а отмеченное вручную остаётся вашим.',
'dawarich.atlas.load': 'Искать страны',
'dawarich.atlas.loading': 'Чтение ваших записей…',
'dawarich.atlas.empty': 'В ваших записях нет стран, которых у TREK ещё нет.',
'dawarich.atlas.cities': 'городов: {count}',
'dawarich.atlas.citiesOne': '1 город',
'dawarich.atlas.accept': 'Добавить стран: {count}',
'dawarich.atlas.accepted': 'Добавлено стран: {count}',
'dawarich.atlas.unresolved': 'TREK не смог сопоставить их со страной: {names}.',
'dawarich.atlas.source': 'Из Dawarich',
'dawarich.atlas.range': 'Просмотрен период с {from} по {to}',
'dawarich.atlas.trigger': 'Желания и страны из ваших записей',
'dawarich.atlas.dialogSubtitle': 'Что ваши записи говорят об Атласе',
'dawarich.atlas.tab.wishes': 'Список желаний',
'dawarich.atlas.tab.countries': 'Страны',
'dawarich.atlas.window': 'Просмотрены последние 12 месяцев.',
'dawarich.selected': 'Выбрано: {count}',
'dawarich.again': 'Проверить снова',
'dawarich.bucket.metersAway': 'в {meters} м',
'dawarich.bucket.kilometersAway': 'в {km} км',
'dawarich.bucket.rule': 'Желание считается исполненным в пределах {meters} м и после {minutes} минут на месте.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Anslut din egen Dawarich-instans för att se var du faktiskt har varit. TREK läser den och föreslår dagboksinlägg, platser och länder – ingenting läggs till förrän du bekräftar det, och ingenting skrivs tillbaka till Dawarich.',
'dawarich.url': 'Instansens adress',
'dawarich.apiKey': 'API-nyckel',
'dawarich.apiKeyPlaceholder': 'Klistra in din Dawarich API-nyckel',
'dawarich.apiKeyHint': 'Finns i Dawarich under Konto → API-nyckel. Lagras krypterad och visas aldrig igen.',
'dawarich.allowInsecureTls': 'Tillåt självsignerat certifikat',
'dawarich.allowInsecureTlsHint': 'Behövs bara om din instans använder ett certifikat som din server inte litar på.',
'dawarich.syncEnabled': 'Leta efter nya vistelser automatiskt',
'dawarich.syncEnabledHint': 'Avstängt betyder att TREK bara läser Dawarich när du ber om det.',
'dawarich.test.button': 'Testa anslutningen',
'dawarich.test.success': 'Ansluten. {count} vistelser hittades de senaste 30 dagarna.',
'dawarich.test.failed': 'Kunde inte nå Dawarich.',
'dawarich.syncNow': 'Leta nu',
'dawarich.connected': 'Ansluten',
'dawarich.notConnected': 'Inte ansluten',
'dawarich.disconnect': 'Koppla från',
'dawarich.lastSync': 'Senast kontrollerad {when}',
'dawarich.neverSynced': 'Inte kontrollerad än',
'dawarich.syncPartial': 'vissa resor kunde inte läsas',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich-anslutningen sparad',
'dawarich.toast.saveError': 'Kunde inte spara anslutningen',
'dawarich.toast.disconnected': 'Dawarich frånkopplad',
'dawarich.toast.synced': '{count} nya vistelser hittades',
'dawarich.toast.syncError': 'Kunde inte läsa Dawarich',
'dawarich.toast.syncRunning': 'En kontroll pågår redan',
'dawarich.toast.acceptError': 'Kunde inte lägga till detta',
'dawarich.toast.updateError': 'Kunde inte uppdatera det här förslaget',
'dawarich.toast.accepted.place': 'Tillagd i resan',
'dawarich.toast.accepted.journal': 'Tillagd i dagboken',
'dawarich.toast.accepted.bucket_list': 'Avbockad från din önskelista',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'vistelser',
'dawarich.capability.track': 'inspelad rutt',
'dawarich.capability.locations': 'matchning mot önskelistan',
'dawarich.capability.visitedCities': 'länder och städer',
'dawarich.capability.missing': 'Den här versionen av Dawarich erbjuder inte: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK kunde inte nå den adressen.',
'dawarich.error.unauthorized': 'Dawarich avvisade API-nyckeln.',
'dawarich.error.forbidden': 'Den API-nyckeln får inte läsa det här.',
'dawarich.error.not_found': 'Den här versionen av Dawarich har inte den ändpunkten.',
'dawarich.error.rate_limited': 'Dawarich bad TREK att sakta ner. Försök igen om en stund.',
'dawarich.error.server_error': 'Dawarich svarade med ett fel.',
'dawarich.error.invalid_response': 'Den adressen svarade med något som inte är Dawarich.',
'dawarich.error.too_large': 'Dawarich skickade mer data än TREK läser på en gång.',
'dawarich.error.not_connected': 'Ingen Dawarich-instans är ansluten än.',
'dawarich.error.addon_disabled': 'Dawarich-tillägget är avstängt för den här instansen.',
'dawarich.error.offline': 'Det här kräver en anslutning — TREK är offline just nu.',
'dawarich.error.invalid_url': 'TREK kan inte använda den adressen.',
'dawarich.warning.private_ip': 'Adressen pekar på en privat IP ({ip}). Kontrollera att det är meningen — servern kan behöva ALLOW_INTERNAL_NETWORK=true för att nå den.',
'dawarich.error.unknown': 'Något gick fel i kommunikationen med Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Visa inspelad rutt',
'dawarich.trail.hide': 'Dölj inspelad rutt',
'dawarich.trail.loading': 'Laddar den inspelade rutten…',
'dawarich.trail.empty': 'Ingenting spelades in de här datumen',
'dawarich.trail.offline': 'Den inspelade rutten kräver en anslutning',
'dawarich.trail.unavailable': 'Den inspelade rutten kunde inte laddas',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} min',
'dawarich.duration.hours': '{hours} tim',
'dawarich.duration.hoursMinutes': '{hours} tim {minutes} min',
'dawarich.checkedAgo': 'kontrollerad {ago}',
'dawarich.badge.lowConfidence': 'Osäker',
'dawarich.badge.sourceChanged': 'Ändrad i Dawarich',
'dawarich.badge.sourceMissing': 'Borta från Dawarich',
'dawarich.suggestions.title': 'Från Dawarich',
'dawarich.suggestions.pending': '{count} väntar på dig',
'dawarich.suggestions.loading': 'Läser Dawarich…',
'dawarich.suggestions.notConnected': 'Anslut Dawarich under Inställningar för att se dina vistelser här.',
'dawarich.suggestions.unavailable': 'Dawarich kunde inte läsas.',
'dawarich.suggestions.allHandled': 'Allt som spelats in här är hanterat.',
'dawarich.suggestions.asJournal': 'Skriv ett dagboksinlägg',
'dawarich.suggestions.asPlace': 'Lägg till som plats',
'dawarich.suggestions.dismiss': 'Ingen plats jag besökt',
'dawarich.suggestions.dismissed': 'Avfärdad',
'dawarich.suggestions.restore': 'Lägg tillbaka',
'dawarich.suggestions.showHandled': 'Visa {count} redan hanterade',
'dawarich.suggestions.hideHandled': 'Dölj de som redan är hanterade',
'dawarich.suggestions.matchesWish': 'På din önskelista: {name}',
'dawarich.suggestions.acceptedAs.place': 'Tillagd som plats',
'dawarich.suggestions.acceptedAs.journal': 'I dagboken',
'dawarich.suggestions.acceptedAs.bucket_list': 'Önskningen avbockad',
'dawarich.suggestions.sourceChanged':
'Den här vistelsen har ändrats i Dawarich sedan du använde den. Det du skrev i TREK är orört.',
'dawarich.suggestions.sourceMissing':
'Den här vistelsen finns inte längre i Dawarich. Det du skrev i TREK är orört.',
'dawarich.sourceStatus.suggested': 'Upptäckt, obekräftad',
'dawarich.confidence.high': 'Säker upptäckt',
'dawarich.confidence.medium': 'Ganska säker upptäckt',
'dawarich.confidence.low': 'Osäker upptäckt',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Lägg till den här vistelsen som en plats',
'dawarich.accept.title.journal': 'Skriv ett dagboksinlägg',
'dawarich.accept.title.bucket_list': 'Bocka av en önskning',
'dawarich.accept.confirm.place': 'Lägg till plats',
'dawarich.accept.confirm.journal': 'Lägg till inlägg',
'dawarich.accept.confirm.bucket_list': 'Bocka av den',
'dawarich.accept.recorded': 'Inspelad {from} till {to}',
'dawarich.accept.duration': '{minutes} min',
'dawarich.accept.name': 'Namn',
'dawarich.accept.date': 'Datum',
'dawarich.accept.from': 'Ankom',
'dawarich.accept.to': 'Lämnade',
'dawarich.accept.trip': 'Resa',
'dawarich.accept.thisTrip': 'Den här resan',
'dawarich.accept.pickTrip': 'Välj en resa',
'dawarich.accept.day': 'Dag',
'dawarich.accept.noDay': 'Inte på någon dag än',
'dawarich.accept.journal': 'Dagbok',
'dawarich.accept.pickJournal': 'Välj en dagbok',
'dawarich.accept.notes': 'Anteckningar',
'dawarich.accept.story': 'Din berättelse',
'dawarich.accept.storyPlaceholder': 'Vad hände här?',
'dawarich.accept.photosHint': 'Lägg till foton i inlägget när det har skapats.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Tillagd från dina Dawarich-inspelningar',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Stäm av din önskelista mot Dawarich',
'dawarich.bucket.description':
'Söker igenom dina inspelningar efter de platser du ville nå. Ett besök kräver både närhet och tid på plats – att köra förbi räknas inte.',
'dawarich.bucket.scan': 'Stäm av önskelistan',
'dawarich.bucket.scanning': 'Stämmer av…',
'dawarich.bucket.noMatches': 'Inget på din önskelista dök upp i dina inspelningar.',
'dawarich.bucket.alreadyVisited': 'Redan avbockad',
'dawarich.bucket.confirm': 'Bocka av {count}',
'dawarich.bucket.confirmed': '{count} önskningar avbockade',
'dawarich.bucket.skipped': '{count} poster saknar koordinater och kunde inte kontrolleras.',
'dawarich.bucket.truncated': 'Bara de första posterna kontrollerades. Kör igen för resten.',
'dawarich.bucket.visitedFrom': 'Avbockad utifrån dina Dawarich-inspelningar',
'dawarich.bucket.clearVisit': 'Ångra',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Länder från Dawarich',
'dawarich.atlas.description':
'Länder som dina inspelningar säger att du har varit i. Bekräfta dem du vill ha i din Atlas – ingenting läggs till av sig självt, och det du markerat för hand förblir ditt.',
'dawarich.atlas.load': 'Leta efter länder',
'dawarich.atlas.loading': 'Läser dina inspelningar…',
'dawarich.atlas.empty': 'Dina inspelningar visar inga länder som TREK inte redan har.',
'dawarich.atlas.cities': '{count} städer',
'dawarich.atlas.citiesOne': '1 stad',
'dawarich.atlas.accept': 'Lägg till {count} länder',
'dawarich.atlas.accepted': '{count} länder tillagda',
'dawarich.atlas.unresolved': 'TREK kunde inte matcha dessa mot ett land: {names}.',
'dawarich.atlas.source': 'Från Dawarich',
'dawarich.atlas.range': 'Tittade på {from} till {to}',
'dawarich.atlas.trigger': 'Önskningar och länder från dina inspelningar',
'dawarich.atlas.dialogSubtitle': 'Vad dina inspelningar säger om din Atlas',
'dawarich.atlas.tab.wishes': 'Önskelista',
'dawarich.atlas.tab.countries': 'Länder',
'dawarich.atlas.window': 'De senaste 12 månaderna har genomsökts.',
'dawarich.selected': '{count} valda',
'dawarich.again': 'Kontrollera igen',
'dawarich.bucket.metersAway': '{meters} m bort',
'dawarich.bucket.kilometersAway': '{km} km bort',
'dawarich.bucket.rule': 'En önskning räknas som uppfylld inom {meters} m och efter {minutes} minuter på plats.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+181
View File
@@ -0,0 +1,181 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Gerçekte nerelere gittiğinizi görmek için kendi Dawarich sunucunuzu bağlayın. TREK bu kayıtları okur ve günlük kayıtları, yerler ve ülkeler önerir — siz onaylamadan hiçbir şey eklenmez ve Dawarich’e hiçbir şey geri yazılmaz.',
'dawarich.url': 'Sunucu adresi',
'dawarich.apiKey': 'API anahtarı',
'dawarich.apiKeyPlaceholder': 'Dawarich API anahtarınızı yapıştırın',
'dawarich.apiKeyHint':
'Dawarich’te Hesap → API anahtarı altında bulunur. Şifreli olarak saklanır ve bir daha gösterilmez.',
'dawarich.allowInsecureTls': 'Kendinden imzalı sertifikaya izin ver',
'dawarich.allowInsecureTlsHint':
'Yalnızca sunucunuzun güvenmediği bir sertifika kullanan bir örnek için gerekir.',
'dawarich.syncEnabled': 'Yeni konaklamaları otomatik olarak denetle',
'dawarich.syncEnabledHint': 'Kapalıyken TREK, Dawarich’i yalnızca siz istediğinizde okur.',
'dawarich.test.button': 'Bağlantıyı test et',
'dawarich.test.success': 'Bağlandı. Son 30 günde {count} konaklama bulundu.',
'dawarich.test.failed': 'Dawarich’e ulaşılamadı.',
'dawarich.syncNow': 'Şimdi denetle',
'dawarich.connected': 'Bağlandı',
'dawarich.notConnected': 'Bağlı değil',
'dawarich.disconnect': 'Bağlantıyı kes',
'dawarich.lastSync': 'Son denetim {when}',
'dawarich.neverSynced': 'Henüz denetlenmedi',
'dawarich.syncPartial': 'bazı geziler okunamadı',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich bağlantısı kaydedildi',
'dawarich.toast.saveError': 'Bağlantı kaydedilemedi',
'dawarich.toast.disconnected': 'Dawarich bağlantısı kesildi',
'dawarich.toast.synced': '{count} yeni konaklama bulundu',
'dawarich.toast.syncError': 'Dawarich okunamadı',
'dawarich.toast.syncRunning': 'Zaten bir kontrol çalışıyor',
'dawarich.toast.acceptError': 'Bu eklenemedi',
'dawarich.toast.updateError': 'Bu öneri güncellenemedi',
'dawarich.toast.accepted.place': 'Geziye eklendi',
'dawarich.toast.accepted.journal': 'Günlüğe eklendi',
'dawarich.toast.accepted.bucket_list': 'Dilek listenizden işaretlendi',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'konaklamalar',
'dawarich.capability.track': 'kaydedilen rota',
'dawarich.capability.locations': 'dilek listesi eşleştirme',
'dawarich.capability.visitedCities': 'ülkeler ve şehirler',
'dawarich.capability.missing': 'Bu Dawarich sürümü şunları sunmuyor: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK bu adrese ulaşamadı.',
'dawarich.error.unauthorized': 'Dawarich API anahtarını reddetti.',
'dawarich.error.forbidden': 'Bu API anahtarının bunu okuma izni yok.',
'dawarich.error.not_found': 'Bu Dawarich sürümünde böyle bir uç nokta yok.',
'dawarich.error.rate_limited': 'Dawarich, TREK’ten yavaşlamasını istedi. Birazdan yeniden deneyin.',
'dawarich.error.server_error': 'Dawarich bir hatayla yanıt verdi.',
'dawarich.error.invalid_response': 'Bu adres, Dawarich olmayan bir şeyle yanıt verdi.',
'dawarich.error.too_large': 'Dawarich, TREK’in bir kerede okuyacağından daha fazla veri gönderdi.',
'dawarich.error.not_connected': 'Henüz bağlı bir Dawarich sunucusu yok.',
'dawarich.error.addon_disabled': 'Dawarich eklentisi bu örnek için kapalı.',
'dawarich.error.offline': 'Bunun için bağlantı gerekiyor — TREK şu anda çevrimdışı.',
'dawarich.error.invalid_url': 'TREK bu adresi kullanamıyor.',
'dawarich.warning.private_ip': 'Bu adres özel bir IP’ye çıkıyor ({ip}). Böyle olmasını istediğinden emin ol — sunucunun buna erişmesi için ALLOW_INTERNAL_NETWORK=true gerekebilir.',
'dawarich.error.unknown': 'Dawarich ile iletişimde bir şeyler ters gitti.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Kaydedilen rotayı göster',
'dawarich.trail.hide': 'Kaydedilen rotayı gizle',
'dawarich.trail.loading': 'Kaydedilen rota yükleniyor…',
'dawarich.trail.empty': 'Bu tarihlerde hiçbir şey kaydedilmemiş',
'dawarich.trail.offline': 'Kaydedilen rota için bağlantı gerekir',
'dawarich.trail.unavailable': 'Kaydedilen rota yüklenemedi',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} dk',
'dawarich.duration.hours': '{hours} sa',
'dawarich.duration.hoursMinutes': '{hours} sa {minutes} dk',
'dawarich.checkedAgo': '{ago} kontrol edildi',
'dawarich.badge.lowConfidence': 'Belirsiz',
'dawarich.badge.sourceChanged': 'Dawarich’te değişti',
'dawarich.badge.sourceMissing': 'Dawarich’ten kayboldu',
'dawarich.suggestions.title': 'Dawarich’ten',
'dawarich.suggestions.pending': '{count} tanesi sizi bekliyor',
'dawarich.suggestions.loading': 'Dawarich okunuyor…',
'dawarich.suggestions.notConnected':
'Konaklamalarınızı burada görmek için Ayarlar’dan Dawarich’i bağlayın.',
'dawarich.suggestions.unavailable': 'Dawarich okunamadı.',
'dawarich.suggestions.allHandled': 'Burada kaydedilen her şey ele alındı.',
'dawarich.suggestions.asJournal': 'Günlük kaydı yaz',
'dawarich.suggestions.asPlace': 'Yer olarak ekle',
'dawarich.suggestions.dismiss': 'Ziyaret ettiğim bir yer değil',
'dawarich.suggestions.dismissed': 'Yok sayıldı',
'dawarich.suggestions.restore': 'Geri koy',
'dawarich.suggestions.showHandled': 'Ele alınmış {count} tanesini göster',
'dawarich.suggestions.hideHandled': 'Ele alınmış olanları gizle',
'dawarich.suggestions.matchesWish': 'Dilek listenizde: {name}',
'dawarich.suggestions.acceptedAs.place': 'Yer olarak eklendi',
'dawarich.suggestions.acceptedAs.journal': 'Günlükte',
'dawarich.suggestions.acceptedAs.bucket_list': 'Dilek işaretlendi',
'dawarich.suggestions.sourceChanged':
'Bu konaklama, siz kullandıktan sonra Dawarich’te değişti. TREK’te yazdıklarınıza dokunulmadı.',
'dawarich.suggestions.sourceMissing':
'Bu konaklama artık Dawarich’te yok. TREK’te yazdıklarınıza dokunulmadı.',
'dawarich.sourceStatus.suggested': 'Algılandı, onaylanmadı',
'dawarich.confidence.high': 'Kesine yakın algılama',
'dawarich.confidence.medium': 'Oldukça güvenilir algılama',
'dawarich.confidence.low': 'Belirsiz algılama',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Bu konaklamayı yer olarak ekle',
'dawarich.accept.title.journal': 'Günlük kaydı yaz',
'dawarich.accept.title.bucket_list': 'Bir dileği işaretle',
'dawarich.accept.confirm.place': 'Yer ekle',
'dawarich.accept.confirm.journal': 'Kayıt ekle',
'dawarich.accept.confirm.bucket_list': 'İşaretle',
'dawarich.accept.recorded': '{from} ile {to} arasında kaydedildi',
'dawarich.accept.duration': '{minutes} dk',
'dawarich.accept.name': 'Ad',
'dawarich.accept.date': 'Tarih',
'dawarich.accept.from': 'Varış',
'dawarich.accept.to': 'Ayrılış',
'dawarich.accept.trip': 'Gezi',
'dawarich.accept.thisTrip': 'Bu gezi',
'dawarich.accept.pickTrip': 'Bir gezi seçin',
'dawarich.accept.day': 'Gün',
'dawarich.accept.noDay': 'Henüz bir güne bağlı değil',
'dawarich.accept.journal': 'Günlük',
'dawarich.accept.pickJournal': 'Bir günlük seçin',
'dawarich.accept.notes': 'Notlar',
'dawarich.accept.story': 'Hikâyeniz',
'dawarich.accept.storyPlaceholder': 'Burada neler oldu?',
'dawarich.accept.photosHint': 'Kayıt oluşturulduktan sonra fotoğraf ekleyebilirsiniz.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Dawarich kayıtlarından eklendi',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Dilek listenizi Dawarich ile karşılaştırın',
'dawarich.bucket.description':
'Ulaşmak istediğiniz yerler için kayıtlarınıza bakar. Bir ziyaret hem yakınlık hem de orada geçirilen süre ister — yanından geçmek sayılmaz.',
'dawarich.bucket.scan': 'Dilek listesini denetle',
'dawarich.bucket.scanning': 'Denetleniyor…',
'dawarich.bucket.noMatches': 'Dilek listenizden hiçbir şey kayıtlarınızda çıkmadı.',
'dawarich.bucket.alreadyVisited': 'Zaten işaretlenmiş',
'dawarich.bucket.confirm': '{count} tanesini işaretle',
'dawarich.bucket.confirmed': '{count} dilek işaretlendi',
'dawarich.bucket.skipped': '{count} kaydın koordinatı yok, denetlenemedi.',
'dawarich.bucket.truncated': 'Yalnızca ilk kayıtlar denetlendi. Kalanı için yeniden çalıştırın.',
'dawarich.bucket.visitedFrom': 'Dawarich kayıtlarınızdan işaretlendi',
'dawarich.bucket.clearVisit': 'Geri al',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Dawarich’ten gelen ülkeler',
'dawarich.atlas.description':
'Kayıtlarınıza göre bulunduğunuz ülkeler. Atlas’ınızda görmek istediklerinizi onaylayın — hiçbir şey kendiliğinden eklenmez ve elle işaretlediğiniz her şey size ait kalır.',
'dawarich.atlas.load': 'Ülkeleri ara',
'dawarich.atlas.loading': 'Kayıtlarınız okunuyor…',
'dawarich.atlas.empty': 'Kayıtlarınız, TREK’te halihazırda olmayan bir ülke göstermiyor.',
'dawarich.atlas.cities': '{count} şehir',
'dawarich.atlas.citiesOne': '1 şehir',
'dawarich.atlas.accept': '{count} ülke ekle',
'dawarich.atlas.accepted': '{count} ülke eklendi',
'dawarich.atlas.unresolved': 'TREK bunları bir ülkeyle eşleştiremedi: {names}.',
'dawarich.atlas.source': 'Dawarich’ten',
'dawarich.atlas.range': '{from} ile {to} arası incelendi',
'dawarich.atlas.trigger': 'Kayıtlarından gelen dilekler ve ülkeler',
'dawarich.atlas.dialogSubtitle': 'Kayıtların Atlas’ın hakkında ne söylüyor',
'dawarich.atlas.tab.wishes': 'Dilek listesi',
'dawarich.atlas.tab.countries': 'Ülkeler',
'dawarich.atlas.window': 'Son 12 ay incelendi.',
'dawarich.selected': '{count} seçildi',
'dawarich.again': 'Yeniden kontrol et',
'dawarich.bucket.metersAway': '{meters} m uzakta',
'dawarich.bucket.kilometersAway': '{km} km uzakta',
'dawarich.bucket.rule': 'Bir dilek {meters} m yakınlıkta ve yerinde {minutes} dakika sonra ulaşılmış sayılır.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Підключіть власний сервер Dawarich, щоб бачити, де ви насправді були. TREK читає його та пропонує записи щоденника, місця й країни — нічого не додається, доки ви це не підтвердите, і нічого не записується назад у Dawarich.',
'dawarich.url': 'Адреса сервера',
'dawarich.apiKey': 'Ключ API',
'dawarich.apiKeyPlaceholder': 'Вставте свій ключ API Dawarich',
'dawarich.apiKeyHint': 'Шукайте в Dawarich у розділі «Обліковий запис → Ключ API». Зберігається зашифрованим і більше ніколи не показується.',
'dawarich.allowInsecureTls': 'Дозволити самопідписаний сертифікат',
'dawarich.allowInsecureTlsHint': 'Потрібно лише тоді, коли ваш сервер використовує сертифікат, якому ваш сервер не довіряє.',
'dawarich.syncEnabled': 'Автоматично перевіряти нові перебування',
'dawarich.syncEnabledHint': 'Якщо вимкнено, TREK читає Dawarich лише на ваш запит.',
'dawarich.test.button': 'Перевірити з’єднання',
'dawarich.test.success': 'З’єднано. Знайдено перебувань за останні 30 днів: {count}.',
'dawarich.test.failed': 'Не вдалося зв’язатися з Dawarich.',
'dawarich.syncNow': 'Перевірити зараз',
'dawarich.connected': 'Підключено',
'dawarich.notConnected': 'Не підключено',
'dawarich.disconnect': 'Відключити',
'dawarich.lastSync': 'Остання перевірка: {when}',
'dawarich.neverSynced': 'Ще не перевірялося',
'dawarich.syncPartial': 'деякі подорожі не вдалося прочитати',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'З’єднання з Dawarich збережено',
'dawarich.toast.saveError': 'Не вдалося зберегти з’єднання',
'dawarich.toast.disconnected': 'Dawarich відключено',
'dawarich.toast.synced': 'Знайдено нових перебувань: {count}',
'dawarich.toast.syncError': 'Не вдалося прочитати Dawarich',
'dawarich.toast.syncRunning': 'Перевірка вже виконується',
'dawarich.toast.acceptError': 'Не вдалося це додати',
'dawarich.toast.updateError': 'Не вдалося оновити цю пропозицію',
'dawarich.toast.accepted.place': 'Додано до подорожі',
'dawarich.toast.accepted.journal': 'Додано до щоденника',
'dawarich.toast.accepted.bucket_list': 'Позначено у списку бажань',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'перебування',
'dawarich.capability.track': 'записаний маршрут',
'dawarich.capability.locations': 'звіряння зі списком бажань',
'dawarich.capability.visitedCities': 'країни та міста',
'dawarich.capability.missing': 'Ця версія Dawarich не надає: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK не зміг зв’язатися з цією адресою.',
'dawarich.error.unauthorized': 'Dawarich відхилив ключ API.',
'dawarich.error.forbidden': 'Цьому ключу API не дозволено це читати.',
'dawarich.error.not_found': 'Ця версія Dawarich не має такої кінцевої точки.',
'dawarich.error.rate_limited': 'Dawarich попросив TREK сповільнитися. Спробуйте трохи згодом.',
'dawarich.error.server_error': 'Dawarich відповів помилкою.',
'dawarich.error.invalid_response': 'Ця адреса відповіла чимось, що не є Dawarich.',
'dawarich.error.too_large': 'Dawarich надіслав більше даних, ніж TREK читає за один раз.',
'dawarich.error.not_connected': 'Жодного сервера Dawarich ще не підключено.',
'dawarich.error.addon_disabled': 'Доповнення Dawarich вимкнено на цьому сервері.',
'dawarich.error.offline': 'Для цього потрібне з’єднання — TREK зараз офлайн.',
'dawarich.error.invalid_url': 'TREK не може використати цю адресу.',
'dawarich.warning.private_ip': 'Ця адреса вказує на приватну IP ({ip}). Перевірте, чи саме це мали на увазі — серверу може знадобитися ALLOW_INTERNAL_NETWORK=true.',
'dawarich.error.unknown': 'Щось пішло не так під час обміну даними з Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Показати записаний маршрут',
'dawarich.trail.hide': 'Сховати записаний маршрут',
'dawarich.trail.loading': 'Завантаження записаного маршруту…',
'dawarich.trail.empty': 'За ці дати нічого не записано',
'dawarich.trail.offline': 'Для записаного маршруту потрібне з’єднання',
'dawarich.trail.unavailable': 'Не вдалося завантажити записаний маршрут',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} хв',
'dawarich.duration.hours': '{hours} год',
'dawarich.duration.hoursMinutes': '{hours} год {minutes} хв',
'dawarich.checkedAgo': 'перевірено {ago}',
'dawarich.badge.lowConfidence': 'Неточно',
'dawarich.badge.sourceChanged': 'Змінено в Dawarich',
'dawarich.badge.sourceMissing': 'Зникло з Dawarich',
'dawarich.suggestions.title': 'З Dawarich',
'dawarich.suggestions.pending': 'Очікує на вас: {count}',
'dawarich.suggestions.loading': 'Читання Dawarich…',
'dawarich.suggestions.notConnected': 'Підключіть Dawarich у налаштуваннях, щоб бачити тут свої перебування.',
'dawarich.suggestions.unavailable': 'Не вдалося прочитати Dawarich.',
'dawarich.suggestions.allHandled': 'Усе, що тут записано, уже опрацьовано.',
'dawarich.suggestions.asJournal': 'Написати запис у щоденник',
'dawarich.suggestions.asPlace': 'Додати як місце',
'dawarich.suggestions.dismiss': 'Я тут не був',
'dawarich.suggestions.dismissed': 'Відхилено',
'dawarich.suggestions.restore': 'Повернути',
'dawarich.suggestions.showHandled': 'Показати вже опрацьовані: {count}',
'dawarich.suggestions.hideHandled': 'Сховати вже опрацьовані',
'dawarich.suggestions.matchesWish': 'У вашому списку бажань: {name}',
'dawarich.suggestions.acceptedAs.place': 'Додано як місце',
'dawarich.suggestions.acceptedAs.journal': 'У щоденнику',
'dawarich.suggestions.acceptedAs.bucket_list': 'Бажання позначено виконаним',
'dawarich.suggestions.sourceChanged':
'Це перебування змінилося в Dawarich відтоді, як ви його використали. Написане вами в TREK лишилося недоторканим.',
'dawarich.suggestions.sourceMissing':
'Цього перебування більше немає в Dawarich. Написане вами в TREK лишилося недоторканим.',
'dawarich.sourceStatus.suggested': 'Виявлено, не підтверджено',
'dawarich.confidence.high': 'Упевнене виявлення',
'dawarich.confidence.medium': 'Доволі впевнене виявлення',
'dawarich.confidence.low': 'Непевне виявлення',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Додати це перебування як місце',
'dawarich.accept.title.journal': 'Написати запис у щоденник',
'dawarich.accept.title.bucket_list': 'Позначити бажання виконаним',
'dawarich.accept.confirm.place': 'Додати місце',
'dawarich.accept.confirm.journal': 'Додати запис',
'dawarich.accept.confirm.bucket_list': 'Позначити виконаним',
'dawarich.accept.recorded': 'Записано з {from} до {to}',
'dawarich.accept.duration': '{minutes} хв',
'dawarich.accept.name': 'Назва',
'dawarich.accept.date': 'Дата',
'dawarich.accept.from': 'Прибуття',
'dawarich.accept.to': 'Від’їзд',
'dawarich.accept.trip': 'Подорож',
'dawarich.accept.thisTrip': 'Ця подорож',
'dawarich.accept.pickTrip': 'Виберіть подорож',
'dawarich.accept.day': 'День',
'dawarich.accept.noDay': 'Ще не призначено на день',
'dawarich.accept.journal': 'Щоденник',
'dawarich.accept.pickJournal': 'Виберіть щоденник',
'dawarich.accept.notes': 'Нотатки',
'dawarich.accept.story': 'Ваша історія',
'dawarich.accept.storyPlaceholder': 'Що тут сталося?',
'dawarich.accept.photosHint': 'Додайте фото до запису після його створення.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Додано з ваших записів Dawarich',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Звірити список бажань із Dawarich',
'dawarich.bucket.description':
'Переглядає ваші записи в пошуках місць, до яких ви хотіли дістатися. Для відвідин потрібні і близькість, і проведений час — проїзд повз не рахується.',
'dawarich.bucket.scan': 'Перевірити список бажань',
'dawarich.bucket.scanning': 'Перевірка…',
'dawarich.bucket.noMatches': 'У ваших записах не знайшлося нічого зі списку бажань.',
'dawarich.bucket.alreadyVisited': 'Уже позначено виконаним',
'dawarich.bucket.confirm': 'Позначити виконаними: {count}',
'dawarich.bucket.confirmed': 'Позначено бажань виконаними: {count}',
'dawarich.bucket.skipped': 'Записів без координат, які не вдалося перевірити: {count}.',
'dawarich.bucket.truncated': 'Перевірено лише перші записи. Запустіть ще раз для решти.',
'dawarich.bucket.visitedFrom': 'Позначено виконаним за вашими записами Dawarich',
'dawarich.bucket.clearVisit': 'Скасувати',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Країни з Dawarich',
'dawarich.atlas.description':
'Країни, у яких ви були за вашими записами. Підтвердьте ті, які хочете бачити в Atlas, — нічого не додається саме собою, а позначене вами вручну лишається вашим.',
'dawarich.atlas.load': 'Пошукати країни',
'dawarich.atlas.loading': 'Читання ваших записів…',
'dawarich.atlas.empty': 'У ваших записах немає країн, яких TREK ще не має.',
'dawarich.atlas.cities': 'Міст: {count}',
'dawarich.atlas.citiesOne': '1 місто',
'dawarich.atlas.accept': 'Додати країн: {count}',
'dawarich.atlas.accepted': 'Додано країн: {count}',
'dawarich.atlas.unresolved': 'TREK не зміг зіставити з країною: {names}.',
'dawarich.atlas.source': 'З Dawarich',
'dawarich.atlas.range': 'Переглянуто з {from} до {to}',
'dawarich.atlas.trigger': 'Бажання та країни з ваших записів',
'dawarich.atlas.dialogSubtitle': 'Що ваші записи кажуть про ваш Атлас',
'dawarich.atlas.tab.wishes': 'Список бажань',
'dawarich.atlas.tab.countries': 'Країни',
'dawarich.atlas.window': 'Переглянуто останні 12 місяців.',
'dawarich.selected': 'Вибрано: {count}',
'dawarich.again': 'Перевірити знову',
'dawarich.bucket.metersAway': 'за {meters} м',
'dawarich.bucket.kilometersAway': 'за {km} км',
'dawarich.bucket.rule': 'Бажання вважається здійсненим у межах {meters} м і після {minutes} хвилин на місці.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'Kết nối phiên bản Dawarich của riêng bạn để xem bạn đã thực sự đi những đâu. TREK đọc dữ liệu đó và gợi ý mục nhật ký, địa điểm và quốc gia — không có gì được thêm vào cho đến khi bạn xác nhận, và không có gì được ghi ngược lại Dawarich.',
'dawarich.url': 'Địa chỉ phiên bản',
'dawarich.apiKey': 'Khóa API',
'dawarich.apiKeyPlaceholder': 'Dán khóa API Dawarich của bạn',
'dawarich.apiKeyHint': 'Tìm trong Dawarich ở mục Tài khoản → Khóa API. Được lưu mã hóa và không hiển thị lại.',
'dawarich.allowInsecureTls': 'Cho phép chứng chỉ tự ký',
'dawarich.allowInsecureTlsHint': 'Chỉ cần khi phiên bản của bạn dùng chứng chỉ mà máy chủ không tin cậy.',
'dawarich.syncEnabled': 'Tự động kiểm tra điểm lưu trú mới',
'dawarich.syncEnabledHint': 'Tắt nghĩa là TREK chỉ đọc Dawarich khi bạn yêu cầu.',
'dawarich.test.button': 'Kiểm tra kết nối',
'dawarich.test.success': 'Đã kết nối. Tìm thấy {count} điểm lưu trú trong 30 ngày qua.',
'dawarich.test.failed': 'Không thể kết nối tới Dawarich.',
'dawarich.syncNow': 'Kiểm tra ngay',
'dawarich.connected': 'Đã kết nối',
'dawarich.notConnected': 'Chưa kết nối',
'dawarich.disconnect': 'Ngắt kết nối',
'dawarich.lastSync': 'Kiểm tra lần cuối {when}',
'dawarich.neverSynced': 'Chưa kiểm tra lần nào',
'dawarich.syncPartial': 'một số chuyến đi không đọc được',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Đã lưu kết nối Dawarich',
'dawarich.toast.saveError': 'Không thể lưu kết nối',
'dawarich.toast.disconnected': 'Đã ngắt kết nối Dawarich',
'dawarich.toast.synced': 'Tìm thấy {count} điểm lưu trú mới',
'dawarich.toast.syncError': 'Không thể đọc Dawarich',
'dawarich.toast.syncRunning': 'Đang có một lượt kiểm tra chạy',
'dawarich.toast.acceptError': 'Không thể thêm mục này',
'dawarich.toast.updateError': 'Không thể cập nhật gợi ý này',
'dawarich.toast.accepted.place': 'Đã thêm vào chuyến đi',
'dawarich.toast.accepted.journal': 'Đã thêm vào nhật ký',
'dawarich.toast.accepted.bucket_list': 'Đã đánh dấu hoàn thành trong danh sách mong muốn',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': 'điểm lưu trú',
'dawarich.capability.track': 'lộ trình đã ghi',
'dawarich.capability.locations': 'đối chiếu danh sách mong muốn',
'dawarich.capability.visitedCities': 'quốc gia và thành phố',
'dawarich.capability.missing': 'Phiên bản Dawarich này không hỗ trợ: {features}.',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK không kết nối được tới địa chỉ đó.',
'dawarich.error.unauthorized': 'Dawarich đã từ chối khóa API.',
'dawarich.error.forbidden': 'Khóa API đó không được phép đọc dữ liệu này.',
'dawarich.error.not_found': 'Phiên bản Dawarich này không có điểm cuối đó.',
'dawarich.error.rate_limited': 'Dawarich yêu cầu TREK chậm lại. Hãy thử lại sau giây lát.',
'dawarich.error.server_error': 'Dawarich đã trả về một lỗi.',
'dawarich.error.invalid_response': 'Địa chỉ đó trả về thứ gì đó không phải Dawarich.',
'dawarich.error.too_large': 'Dawarich gửi nhiều dữ liệu hơn mức TREK đọc được trong một lần.',
'dawarich.error.not_connected': 'Chưa có phiên bản Dawarich nào được kết nối.',
'dawarich.error.addon_disabled': 'Tiện ích Dawarich đang bị tắt trên phiên bản này.',
'dawarich.error.offline': 'Việc này cần kết nối — TREK hiện đang ngoại tuyến.',
'dawarich.error.invalid_url': 'TREK không dùng được địa chỉ này.',
'dawarich.warning.private_ip': 'Địa chỉ này trỏ tới một IP riêng ({ip}). Hãy chắc chắn đó là điều bạn muốn — máy chủ có thể cần ALLOW_INTERNAL_NETWORK=true để truy cập.',
'dawarich.error.unknown': 'Đã xảy ra lỗi khi trao đổi với Dawarich.',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': 'Hiện lộ trình đã ghi',
'dawarich.trail.hide': 'Ẩn lộ trình đã ghi',
'dawarich.trail.loading': 'Đang tải lộ trình đã ghi…',
'dawarich.trail.empty': 'Không có gì được ghi lại trong những ngày này',
'dawarich.trail.offline': 'Lộ trình đã ghi cần có kết nối',
'dawarich.trail.unavailable': 'Không tải được lộ trình đã ghi',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} phút',
'dawarich.duration.hours': '{hours} giờ',
'dawarich.duration.hoursMinutes': '{hours} giờ {minutes} phút',
'dawarich.checkedAgo': 'đã kiểm tra {ago}',
'dawarich.badge.lowConfidence': 'Không chắc',
'dawarich.badge.sourceChanged': 'Đã đổi trong Dawarich',
'dawarich.badge.sourceMissing': 'Không còn trong Dawarich',
'dawarich.suggestions.title': 'Từ Dawarich',
'dawarich.suggestions.pending': '{count} đang chờ bạn',
'dawarich.suggestions.loading': 'Đang đọc Dawarich…',
'dawarich.suggestions.notConnected': 'Hãy kết nối Dawarich trong Cài đặt để xem các điểm lưu trú của bạn ở đây.',
'dawarich.suggestions.unavailable': 'Không đọc được Dawarich.',
'dawarich.suggestions.allHandled': 'Mọi thứ được ghi lại ở đây đều đã được xử lý.',
'dawarich.suggestions.asJournal': 'Viết một mục nhật ký',
'dawarich.suggestions.asPlace': 'Thêm làm địa điểm',
'dawarich.suggestions.dismiss': 'Không phải nơi tôi đã ghé',
'dawarich.suggestions.dismissed': 'Đã bỏ qua',
'dawarich.suggestions.restore': 'Khôi phục',
'dawarich.suggestions.showHandled': 'Hiện {count} mục đã xử lý',
'dawarich.suggestions.hideHandled': 'Ẩn những mục đã xử lý',
'dawarich.suggestions.matchesWish': 'Có trong danh sách mong muốn: {name}',
'dawarich.suggestions.acceptedAs.place': 'Đã thêm làm địa điểm',
'dawarich.suggestions.acceptedAs.journal': 'Trong nhật ký',
'dawarich.suggestions.acceptedAs.bucket_list': 'Đã đánh dấu điều mong muốn',
'dawarich.suggestions.sourceChanged':
'Điểm lưu trú này đã thay đổi trong Dawarich kể từ khi bạn dùng nó. Những gì bạn viết trong TREK vẫn nguyên vẹn.',
'dawarich.suggestions.sourceMissing':
'Điểm lưu trú này không còn tồn tại trong Dawarich. Những gì bạn viết trong TREK vẫn nguyên vẹn.',
'dawarich.sourceStatus.suggested': 'Đã phát hiện, chưa xác nhận',
'dawarich.confidence.high': 'Phát hiện chắc chắn',
'dawarich.confidence.medium': 'Phát hiện khá chắc chắn',
'dawarich.confidence.low': 'Phát hiện chưa chắc chắn',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': 'Thêm điểm lưu trú này làm địa điểm',
'dawarich.accept.title.journal': 'Viết một mục nhật ký',
'dawarich.accept.title.bucket_list': 'Đánh dấu một điều mong muốn',
'dawarich.accept.confirm.place': 'Thêm địa điểm',
'dawarich.accept.confirm.journal': 'Thêm mục nhập',
'dawarich.accept.confirm.bucket_list': 'Đánh dấu hoàn thành',
'dawarich.accept.recorded': 'Được ghi từ {from} đến {to}',
'dawarich.accept.duration': '{minutes} phút',
'dawarich.accept.name': 'Tên',
'dawarich.accept.date': 'Ngày',
'dawarich.accept.from': 'Đến nơi',
'dawarich.accept.to': 'Rời đi',
'dawarich.accept.trip': 'Chuyến đi',
'dawarich.accept.thisTrip': 'Chuyến đi này',
'dawarich.accept.pickTrip': 'Chọn một chuyến đi',
'dawarich.accept.day': 'Ngày',
'dawarich.accept.noDay': 'Chưa thuộc ngày nào',
'dawarich.accept.journal': 'Nhật ký',
'dawarich.accept.pickJournal': 'Chọn một nhật ký',
'dawarich.accept.notes': 'Ghi chú',
'dawarich.accept.story': 'Câu chuyện của bạn',
'dawarich.accept.storyPlaceholder': 'Chuyện gì đã xảy ra ở đây?',
'dawarich.accept.photosHint': 'Thêm ảnh vào mục nhập sau khi tạo xong.',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': 'Được thêm từ bản ghi Dawarich của bạn',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': 'Đối chiếu danh sách mong muốn với Dawarich',
'dawarich.bucket.description':
'Rà soát các bản ghi của bạn để tìm những nơi bạn muốn đến. Một lần ghé thăm cần cả khoảng cách đủ gần lẫn thời gian ở lại — lái xe ngang qua thì không tính.',
'dawarich.bucket.scan': 'Kiểm tra danh sách mong muốn',
'dawarich.bucket.scanning': 'Đang kiểm tra…',
'dawarich.bucket.noMatches': 'Không có mục nào trong danh sách mong muốn xuất hiện trong các bản ghi của bạn.',
'dawarich.bucket.alreadyVisited': 'Đã đánh dấu hoàn thành',
'dawarich.bucket.confirm': 'Đánh dấu {count} mục',
'dawarich.bucket.confirmed': 'Đã đánh dấu {count} điều mong muốn',
'dawarich.bucket.skipped': '{count} mục không có tọa độ nên không kiểm tra được.',
'dawarich.bucket.truncated': 'Chỉ những mục đầu tiên được kiểm tra. Hãy chạy lại để xử lý phần còn lại.',
'dawarich.bucket.visitedFrom': 'Được đánh dấu từ các bản ghi Dawarich của bạn',
'dawarich.bucket.clearVisit': 'Hoàn tác',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': 'Quốc gia từ Dawarich',
'dawarich.atlas.description':
'Những quốc gia mà các bản ghi của bạn cho thấy bạn đã đặt chân tới. Hãy xác nhận những nơi bạn muốn đưa vào Atlas — không có gì tự động được thêm, và những gì bạn tự đánh dấu vẫn là của bạn.',
'dawarich.atlas.load': 'Tìm quốc gia',
'dawarich.atlas.loading': 'Đang đọc các bản ghi của bạn…',
'dawarich.atlas.empty': 'Các bản ghi của bạn không có quốc gia nào mà TREK chưa biết.',
'dawarich.atlas.cities': '{count} thành phố',
'dawarich.atlas.citiesOne': '1 thành phố',
'dawarich.atlas.accept': 'Thêm {count} quốc gia',
'dawarich.atlas.accepted': 'Đã thêm {count} quốc gia',
'dawarich.atlas.unresolved': 'TREK không khớp được những mục này với quốc gia nào: {names}.',
'dawarich.atlas.source': 'Từ Dawarich',
'dawarich.atlas.range': 'Đã xem từ {from} đến {to}',
'dawarich.atlas.trigger': 'Điều ước và quốc gia từ bản ghi của bạn',
'dawarich.atlas.dialogSubtitle': 'Bản ghi của bạn nói gì về Atlas của bạn',
'dawarich.atlas.tab.wishes': 'Danh sách điều ước',
'dawarich.atlas.tab.countries': 'Quốc gia',
'dawarich.atlas.window': 'Đã xem 12 tháng gần nhất.',
'dawarich.selected': 'Đã chọn {count}',
'dawarich.again': 'Kiểm tra lại',
'dawarich.bucket.metersAway': 'cách {meters} m',
'dawarich.bucket.kilometersAway': 'cách {km} km',
'dawarich.bucket.rule': 'Một điều ước được tính là đã đến khi trong vòng {meters} m và sau {minutes} phút tại chỗ.',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'連接你自己的 Dawarich 執行個體,看看你實際去過哪些地方。TREK 會讀取它,並建議日誌條目、地點和國家 — 在你確認之前不會新增任何內容,也不會回寫任何資料到 Dawarich。',
'dawarich.url': '執行個體位址',
'dawarich.apiKey': 'API 金鑰',
'dawarich.apiKeyPlaceholder': '貼上你的 Dawarich API 金鑰',
'dawarich.apiKeyHint': '在 Dawarich 的「帳戶 → API 金鑰」中可以找到。加密儲存,且不會再次顯示。',
'dawarich.allowInsecureTls': '允許自簽憑證',
'dawarich.allowInsecureTlsHint': '只有當你的執行個體使用伺服器不信任的憑證時才需要。',
'dawarich.syncEnabled': '自動檢查新的停留點',
'dawarich.syncEnabledHint': '關閉後,TREK 只會在你要求時才讀取 Dawarich。',
'dawarich.test.button': '測試連線',
'dawarich.test.success': '已連線。最近 30 天找到 {count} 個停留點。',
'dawarich.test.failed': '無法連上 Dawarich。',
'dawarich.syncNow': '立即檢查',
'dawarich.connected': '已連線',
'dawarich.notConnected': '未連線',
'dawarich.disconnect': '中斷連線',
'dawarich.lastSync': '上次檢查於 {when}',
'dawarich.neverSynced': '尚未檢查',
'dawarich.syncPartial': '部分旅行無法讀取',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich 連線已儲存',
'dawarich.toast.saveError': '無法儲存連線',
'dawarich.toast.disconnected': 'Dawarich 已中斷連線',
'dawarich.toast.synced': '找到 {count} 個新的停留點',
'dawarich.toast.syncError': '無法讀取 Dawarich',
'dawarich.toast.syncRunning': '已有一次檢查正在進行',
'dawarich.toast.acceptError': '無法新增這一項',
'dawarich.toast.updateError': '無法更新這則建議',
'dawarich.toast.accepted.place': '已新增至旅行',
'dawarich.toast.accepted.journal': '已新增至日誌',
'dawarich.toast.accepted.bucket_list': '已在願望清單上打勾',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': '停留點',
'dawarich.capability.track': '記錄的路線',
'dawarich.capability.locations': '願望清單比對',
'dawarich.capability.visitedCities': '國家與城市',
'dawarich.capability.missing': '這個 Dawarich 版本不提供:{features}。',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK 無法連上該位址。',
'dawarich.error.unauthorized': 'Dawarich 拒絕了這組 API 金鑰。',
'dawarich.error.forbidden': '這組 API 金鑰沒有讀取這項資料的權限。',
'dawarich.error.not_found': '這個 Dawarich 版本沒有該端點。',
'dawarich.error.rate_limited': 'Dawarich 要求 TREK 放慢速度,請稍後再試。',
'dawarich.error.server_error': 'Dawarich 回應了一個錯誤。',
'dawarich.error.invalid_response': '該位址回應的內容不像是 Dawarich。',
'dawarich.error.too_large': 'Dawarich 傳送的資料超過 TREK 單次可讀取的量。',
'dawarich.error.not_connected': '尚未連接任何 Dawarich 執行個體。',
'dawarich.error.addon_disabled': '這個執行個體已關閉 Dawarich 附加元件。',
'dawarich.error.offline': '這需要連線 — TREK 目前處於離線狀態。',
'dawarich.error.invalid_url': 'TREK 無法使用該位址。',
'dawarich.warning.private_ip': '該位址解析到內網 IP({ip})。請確認這是你要的——伺服器可能需要 ALLOW_INTERNAL_NETWORK=true 才能連到。',
'dawarich.error.unknown': '與 Dawarich 溝通時發生問題。',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': '顯示記錄的路線',
'dawarich.trail.hide': '隱藏記錄的路線',
'dawarich.trail.loading': '正在載入記錄的路線…',
'dawarich.trail.empty': '這幾天沒有任何記錄',
'dawarich.trail.offline': '記錄的路線需要網路連線',
'dawarich.trail.unavailable': '無法載入記錄的路線',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} 分鐘',
'dawarich.duration.hours': '{hours} 小時',
'dawarich.duration.hoursMinutes': '{hours} 小時 {minutes} 分鐘',
'dawarich.checkedAgo': '{ago}檢查過',
'dawarich.badge.lowConfidence': '不確定',
'dawarich.badge.sourceChanged': 'Dawarich 中已變更',
'dawarich.badge.sourceMissing': '已從 Dawarich 消失',
'dawarich.suggestions.title': '來自 Dawarich',
'dawarich.suggestions.pending': '{count} 項待你處理',
'dawarich.suggestions.loading': '正在讀取 Dawarich…',
'dawarich.suggestions.notConnected': '在「設定」中連接 Dawarich,即可在這裡看到你的停留點。',
'dawarich.suggestions.unavailable': '無法讀取 Dawarich。',
'dawarich.suggestions.allHandled': '這裡記錄的內容都已處理完畢。',
'dawarich.suggestions.asJournal': '寫一篇日誌條目',
'dawarich.suggestions.asPlace': '新增為地點',
'dawarich.suggestions.dismiss': '我沒去過這個地方',
'dawarich.suggestions.dismissed': '已忽略',
'dawarich.suggestions.restore': '放回去',
'dawarich.suggestions.showHandled': '顯示已處理的 {count} 項',
'dawarich.suggestions.hideHandled': '隱藏已處理的項目',
'dawarich.suggestions.matchesWish': '在你的願望清單上:{name}',
'dawarich.suggestions.acceptedAs.place': '已新增為地點',
'dawarich.suggestions.acceptedAs.journal': '已在日誌中',
'dawarich.suggestions.acceptedAs.bucket_list': '願望已打勾',
'dawarich.suggestions.sourceChanged':
'自你使用之後,這個停留點在 Dawarich 中已有變動。你在 TREK 中寫下的內容不受影響。',
'dawarich.suggestions.sourceMissing':
'這個停留點在 Dawarich 中已不存在。你在 TREK 中寫下的內容不受影響。',
'dawarich.sourceStatus.suggested': '已偵測,尚未確認',
'dawarich.confidence.high': '偵測結果可信',
'dawarich.confidence.medium': '偵測結果尚可信',
'dawarich.confidence.low': '偵測結果不確定',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': '將這個停留點新增為地點',
'dawarich.accept.title.journal': '寫一篇日誌條目',
'dawarich.accept.title.bucket_list': '在願望上打勾',
'dawarich.accept.confirm.place': '新增地點',
'dawarich.accept.confirm.journal': '新增條目',
'dawarich.accept.confirm.bucket_list': '打勾',
'dawarich.accept.recorded': '記錄時間 {from} 至 {to}',
'dawarich.accept.duration': '{minutes} 分鐘',
'dawarich.accept.name': '名稱',
'dawarich.accept.date': '日期',
'dawarich.accept.from': '抵達',
'dawarich.accept.to': '離開',
'dawarich.accept.trip': '旅行',
'dawarich.accept.thisTrip': '這次旅行',
'dawarich.accept.pickTrip': '選擇旅行',
'dawarich.accept.day': '日期',
'dawarich.accept.noDay': '尚未安排在任何一天',
'dawarich.accept.journal': '日誌',
'dawarich.accept.pickJournal': '選擇日誌',
'dawarich.accept.notes': '備註',
'dawarich.accept.story': '你的故事',
'dawarich.accept.storyPlaceholder': '這裡發生了什麼?',
'dawarich.accept.photosHint': '條目建立後即可為它新增照片。',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': '來自你的 Dawarich 紀錄',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': '用 Dawarich 核對你的願望清單',
'dawarich.bucket.description':
'在你的記錄中尋找你想去的地方。一次造訪必須同時具備足夠的接近程度和停留時間 — 開車路過不算。',
'dawarich.bucket.scan': '核對願望清單',
'dawarich.bucket.scanning': '核對中…',
'dawarich.bucket.noMatches': '你的記錄中沒有出現願望清單上的任何地方。',
'dawarich.bucket.alreadyVisited': '已打勾',
'dawarich.bucket.confirm': '為 {count} 項打勾',
'dawarich.bucket.confirmed': '已為 {count} 個願望打勾',
'dawarich.bucket.skipped': '{count} 個項目沒有座標,無法核對。',
'dawarich.bucket.truncated': '只核對了前面的項目,再執行一次以處理其餘部分。',
'dawarich.bucket.visitedFrom': '依據你的 Dawarich 記錄打勾',
'dawarich.bucket.clearVisit': '復原',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': '來自 Dawarich 的國家',
'dawarich.atlas.description':
'你的記錄顯示你曾去過的國家。確認你想放進 Atlas 的項目 — 不會自動新增任何內容,你手動標記的紀錄也維持不變。',
'dawarich.atlas.load': '尋找國家',
'dawarich.atlas.loading': '正在讀取你的記錄…',
'dawarich.atlas.empty': '你的記錄中沒有 TREK 尚未收錄的國家。',
'dawarich.atlas.cities': '{count} 個城市',
'dawarich.atlas.citiesOne': '1 座城市',
'dawarich.atlas.accept': '新增 {count} 個國家',
'dawarich.atlas.accepted': '已新增 {count} 個國家',
'dawarich.atlas.unresolved': 'TREK 無法將這些對應到國家:{names}。',
'dawarich.atlas.source': '來自 Dawarich',
'dawarich.atlas.range': '查看範圍 {from} 至 {to}',
'dawarich.atlas.trigger': '來自紀錄的心願與國家',
'dawarich.atlas.dialogSubtitle': '你的紀錄對 Atlas 說了什麼',
'dawarich.atlas.tab.wishes': '心願清單',
'dawarich.atlas.tab.countries': '國家',
'dawarich.atlas.window': '已查看最近 12 個月。',
'dawarich.selected': '已選擇 {count} 項',
'dawarich.again': '再查一次',
'dawarich.bucket.metersAway': '{meters} 公尺外',
'dawarich.bucket.kilometersAway': '{km} 公里外',
'dawarich.bucket.rule': '在 {meters} 公尺內停留 {minutes} 分鐘以上,才算實現心願。',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;
+178
View File
@@ -0,0 +1,178 @@
import type { TranslationStrings } from '../types';
const dawarich: TranslationStrings = {
// ── Connection ─────────────────────────────────────────────────────────────
'dawarich.title': 'Dawarich',
'dawarich.intro':
'连接你自己的 Dawarich 实例,看看你实际去过哪些地方。TREK 会读取它,并据此推荐日志条目、地点和国家——在你确认之前不会添加任何内容,也不会向 Dawarich 回写任何数据。',
'dawarich.url': '实例地址',
'dawarich.apiKey': 'API 密钥',
'dawarich.apiKeyPlaceholder': '粘贴你的 Dawarich API 密钥',
'dawarich.apiKeyHint': '在 Dawarich 的“账户 → API 密钥”中查看。加密存储,之后不会再次显示。',
'dawarich.allowInsecureTls': '允许自签名证书',
'dawarich.allowInsecureTlsHint': '仅当你的实例使用服务器不信任的证书时才需要。',
'dawarich.syncEnabled': '自动检查新的停留记录',
'dawarich.syncEnabledHint': '关闭后,TREK 只在你主动要求时才读取 Dawarich。',
'dawarich.test.button': '测试连接',
'dawarich.test.success': '已连接。最近 30 天内找到 {count} 条停留记录。',
'dawarich.test.failed': '无法连接到 Dawarich。',
'dawarich.syncNow': '立即检查',
'dawarich.connected': '已连接',
'dawarich.notConnected': '未连接',
'dawarich.disconnect': '断开连接',
'dawarich.lastSync': '上次检查于 {when}',
'dawarich.neverSynced': '尚未检查',
'dawarich.syncPartial': '部分行程无法读取',
'dawarich.serverVersion': 'Dawarich {version}',
'dawarich.toast.saved': 'Dawarich 连接已保存',
'dawarich.toast.saveError': '无法保存连接',
'dawarich.toast.disconnected': 'Dawarich 已断开连接',
'dawarich.toast.synced': '找到 {count} 条新的停留记录',
'dawarich.toast.syncError': '无法读取 Dawarich',
'dawarich.toast.syncRunning': '已有一次检查正在进行',
'dawarich.toast.acceptError': '无法添加',
'dawarich.toast.updateError': '无法更新此建议',
'dawarich.toast.accepted.place': '已添加到行程',
'dawarich.toast.accepted.journal': '已添加到旅程日志',
'dawarich.toast.accepted.bucket_list': '已从愿望清单中勾掉',
// ── What the connected instance can do ─────────────────────────────────────
'dawarich.capability.visits': '停留记录',
'dawarich.capability.track': '记录的路线',
'dawarich.capability.locations': '愿望清单匹配',
'dawarich.capability.visitedCities': '国家和城市',
'dawarich.capability.missing': '此版本的 Dawarich 不提供:{features}。',
// ── Failure reasons, as sentences the reader can act on ────────────────────
'dawarich.error.unreachable': 'TREK 无法连接到该地址。',
'dawarich.error.unauthorized': 'Dawarich 拒绝了该 API 密钥。',
'dawarich.error.forbidden': '该 API 密钥没有读取此内容的权限。',
'dawarich.error.not_found': '此版本的 Dawarich 没有该接口。',
'dawarich.error.rate_limited': 'Dawarich 要求 TREK 放慢速度。请稍后再试。',
'dawarich.error.server_error': 'Dawarich 返回了一个错误。',
'dawarich.error.invalid_response': '该地址返回的内容不是 Dawarich。',
'dawarich.error.too_large': 'Dawarich 返回的数据超出了 TREK 一次可读取的上限。',
'dawarich.error.not_connected': '尚未连接任何 Dawarich 实例。',
'dawarich.error.addon_disabled': '此实例已关闭 Dawarich 插件。',
'dawarich.error.offline': '这需要联网 — TREK 当前处于离线状态。',
'dawarich.error.invalid_url': 'TREK 无法使用该地址。',
'dawarich.warning.private_ip': '该地址解析到内网 IP({ip})。请确认这是你想要的——服务器可能需要 ALLOW_INTERNAL_NETWORK=true 才能访问。',
'dawarich.error.unknown': '与 Dawarich 通信时出了问题。',
// ── The recorded route on the map ──────────────────────────────────────────
'dawarich.trail.show': '显示记录的路线',
'dawarich.trail.hide': '隐藏记录的路线',
'dawarich.trail.loading': '正在加载记录的路线…',
'dawarich.trail.empty': '这些日期没有任何记录',
'dawarich.trail.offline': '查看记录的路线需要网络连接',
'dawarich.trail.unavailable': '无法加载记录的路线',
// ── Suggestions ────────────────────────────────────────────────────────────
'dawarich.duration.minutes': '{minutes} 分钟',
'dawarich.duration.hours': '{hours} 小时',
'dawarich.duration.hoursMinutes': '{hours} 小时 {minutes} 分钟',
'dawarich.checkedAgo': '{ago}检查过',
'dawarich.badge.lowConfidence': '不确定',
'dawarich.badge.sourceChanged': 'Dawarich 中已更改',
'dawarich.badge.sourceMissing': '已从 Dawarich 消失',
'dawarich.suggestions.title': '来自 Dawarich',
'dawarich.suggestions.pending': '{count} 条待处理',
'dawarich.suggestions.loading': '正在读取 Dawarich…',
'dawarich.suggestions.notConnected': '请在“设置”中连接 Dawarich,以便在这里看到你的停留记录。',
'dawarich.suggestions.unavailable': '无法读取 Dawarich。',
'dawarich.suggestions.allHandled': '这里记录的内容都已处理完毕。',
'dawarich.suggestions.asJournal': '写一篇日志',
'dawarich.suggestions.asPlace': '添加为地点',
'dawarich.suggestions.dismiss': '我没有去过这里',
'dawarich.suggestions.dismissed': '已忽略',
'dawarich.suggestions.restore': '放回来',
'dawarich.suggestions.showHandled': '显示已处理的 {count} 条',
'dawarich.suggestions.hideHandled': '隐藏已处理的内容',
'dawarich.suggestions.matchesWish': '在你的愿望清单上:{name}',
'dawarich.suggestions.acceptedAs.place': '已添加为地点',
'dawarich.suggestions.acceptedAs.journal': '已在旅程日志中',
'dawarich.suggestions.acceptedAs.bucket_list': '心愿已勾掉',
'dawarich.suggestions.sourceChanged':
'自你使用之后,这条停留记录在 Dawarich 中已发生变化。你在 TREK 中写下的内容不受影响。',
'dawarich.suggestions.sourceMissing':
'这条停留记录在 Dawarich 中已不存在。你在 TREK 中写下的内容不受影响。',
'dawarich.sourceStatus.suggested': '已识别,未确认',
'dawarich.confidence.high': '识别结果可信',
'dawarich.confidence.medium': '识别结果较为可信',
'dawarich.confidence.low': '识别结果不确定',
// ── The review step ────────────────────────────────────────────────────────
'dawarich.accept.title.place': '将这条停留记录添加为地点',
'dawarich.accept.title.journal': '写一篇日志',
'dawarich.accept.title.bucket_list': '勾掉一个心愿',
'dawarich.accept.confirm.place': '添加地点',
'dawarich.accept.confirm.journal': '添加条目',
'dawarich.accept.confirm.bucket_list': '勾掉它',
'dawarich.accept.recorded': '记录时间:{from} 至 {to}',
'dawarich.accept.duration': '{minutes} 分钟',
'dawarich.accept.name': '名称',
'dawarich.accept.date': '日期',
'dawarich.accept.from': '到达',
'dawarich.accept.to': '离开',
'dawarich.accept.trip': '行程',
'dawarich.accept.thisTrip': '当前行程',
'dawarich.accept.pickTrip': '选择一个行程',
'dawarich.accept.day': '日期安排',
'dawarich.accept.noDay': '尚未安排到某一天',
'dawarich.accept.journal': '旅程日志',
'dawarich.accept.pickJournal': '选择一本日志',
'dawarich.accept.notes': '备注',
'dawarich.accept.story': '你的故事',
'dawarich.accept.storyPlaceholder': '这里发生了什么?',
'dawarich.accept.photosHint': '条目创建后可以再添加照片。',
// ── A place that came out of a recording ──────────────────────────────────
'dawarich.place.fromDawarich': '来自你的 Dawarich 记录',
// ── Wishlist ───────────────────────────────────────────────────────────────
'dawarich.bucket.title': '用 Dawarich 核对你的愿望清单',
'dawarich.bucket.description':
'在你的记录中查找那些你一直想去的地方。算作到访既要够近,也要待够时间——路过不算。',
'dawarich.bucket.scan': '核对愿望清单',
'dawarich.bucket.scanning': '核对中…',
'dawarich.bucket.noMatches': '你的记录中没有出现愿望清单上的任何地方。',
'dawarich.bucket.alreadyVisited': '已勾掉',
'dawarich.bucket.confirm': '勾掉 {count} 项',
'dawarich.bucket.confirmed': '已勾掉 {count} 个心愿',
'dawarich.bucket.skipped': '有 {count} 条记录没有坐标,无法核对。',
'dawarich.bucket.truncated': '只核对了前面的部分条目。请再运行一次以处理其余内容。',
'dawarich.bucket.visitedFrom': '依据你的 Dawarich 记录勾掉',
'dawarich.bucket.clearVisit': '撤销',
// ── Atlas ──────────────────────────────────────────────────────────────────
'dawarich.atlas.title': '来自 Dawarich 的国家',
'dawarich.atlas.description':
'你的记录显示你到过这些国家。确认你想加入足迹地图的那些——不会自动添加任何内容,你手动标记的记录也依然保留。',
'dawarich.atlas.load': '查找国家',
'dawarich.atlas.loading': '正在读取你的记录…',
'dawarich.atlas.empty': '你的记录中没有出现 TREK 尚未收录的国家。',
'dawarich.atlas.cities': '{count} 座城市',
'dawarich.atlas.citiesOne': '1 座城市',
'dawarich.atlas.accept': '添加 {count} 个国家',
'dawarich.atlas.accepted': '已添加 {count} 个国家',
'dawarich.atlas.unresolved': 'TREK 无法把这些匹配到某个国家:{names}。',
'dawarich.atlas.source': '来自 Dawarich',
'dawarich.atlas.range': '查看范围:{from} 至 {to}',
'dawarich.atlas.trigger': '来自记录的心愿与国家',
'dawarich.atlas.dialogSubtitle': '你的记录对足迹地图说了什么',
'dawarich.atlas.tab.wishes': '心愿单',
'dawarich.atlas.tab.countries': '国家',
'dawarich.atlas.window': '已查看最近 12 个月。',
'dawarich.selected': '已选择 {count} 项',
'dawarich.again': '再查一次',
'dawarich.bucket.metersAway': '{meters} 米外',
'dawarich.bucket.kilometersAway': '{km} 公里外',
'dawarich.bucket.rule': '在 {meters} 米以内停留 {minutes} 分钟以上,才算实现心愿。',
};
export default dawarich;
+2
View File
@@ -1,4 +1,5 @@
import admin from './admin';
import dawarich from './dawarich';
import airport from './airport';
import atlas from './atlas';
import backup from './backup';
@@ -106,5 +107,6 @@ const locale = {
...mobileSettings,
...mobileCollections,
...storage,
...dawarich,
};
export default locale;