i18n: sync all 9 language files to match en.ts (1210+ keys each)
This commit is contained in:
@@ -145,6 +145,33 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
|
||||
'settings.timeFormat': 'تنسيق الوقت',
|
||||
'settings.routeCalculation': 'حساب المسار',
|
||||
'settings.blurBookingCodes': 'إخفاء رموز الحجز',
|
||||
'settings.notifications': 'الإشعارات',
|
||||
'settings.notifyTripInvite': 'دعوات الرحلات',
|
||||
'settings.notifyBookingChange': 'تغييرات الحجز',
|
||||
'settings.notifyTripReminder': 'تذكيرات الرحلات',
|
||||
'settings.notifyVacayInvite': 'دعوات دمج الإجازات',
|
||||
'settings.notifyPhotosShared': 'صور مشتركة (Immich)',
|
||||
'settings.notifyCollabMessage': 'رسائل الدردشة (Collab)',
|
||||
'settings.notifyPackingTagged': 'قائمة الأمتعة: التعيينات',
|
||||
'settings.notifyWebhook': 'إشعارات Webhook',
|
||||
'admin.smtp.title': 'البريد والإشعارات',
|
||||
'admin.smtp.hint': 'تكوين SMTP لإشعارات البريد الإلكتروني. اختياري: عنوان Webhook لـ Discord أو Slack وغيرها.',
|
||||
'admin.smtp.testButton': 'إرسال بريد تجريبي',
|
||||
'admin.smtp.testSuccess': 'تم إرسال البريد التجريبي بنجاح',
|
||||
'admin.smtp.testFailed': 'فشل إرسال البريد التجريبي',
|
||||
'dayplan.icsTooltip': 'تصدير التقويم (ICS)',
|
||||
'share.linkTitle': 'رابط عام',
|
||||
'share.linkHint': 'أنشئ رابطًا يمكن لأي شخص استخدامه لعرض هذه الرحلة بدون تسجيل الدخول. للقراءة فقط — لا يمكن التعديل.',
|
||||
'share.createLink': 'إنشاء رابط',
|
||||
'share.deleteLink': 'حذف الرابط',
|
||||
'share.createError': 'تعذر إنشاء الرابط',
|
||||
'common.copy': 'نسخ',
|
||||
'common.copied': 'تم النسخ',
|
||||
'share.permMap': 'الخريطة والخطة',
|
||||
'share.permBookings': 'الحجوزات',
|
||||
'share.permPacking': 'الأمتعة',
|
||||
'share.permBudget': 'الميزانية',
|
||||
'share.permCollab': 'الدردشة',
|
||||
'settings.on': 'تشغيل',
|
||||
'settings.off': 'إيقاف',
|
||||
'settings.account': 'الحساب',
|
||||
@@ -381,8 +408,8 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
|
||||
// Addons
|
||||
'admin.addons.title': 'الإضافات',
|
||||
'admin.addons.subtitle': 'فعّل أو عطّل الميزات لتخصيص تجربة TREK.',
|
||||
'admin.addons.catalog.memories.name': 'صور (Immich)',
|
||||
'admin.addons.catalog.memories.description': 'شارك صور رحلتك عبر Immich',
|
||||
'admin.addons.catalog.memories.name': 'ذكريات',
|
||||
'admin.addons.catalog.memories.description': 'ألبومات صور مشتركة لكل رحلة',
|
||||
'admin.addons.catalog.packing.name': 'التعبئة',
|
||||
'admin.addons.catalog.packing.description': 'قوائم تحقق لإعداد أمتعتك لكل رحلة',
|
||||
'admin.addons.catalog.budget.name': 'الميزانية',
|
||||
@@ -548,6 +575,10 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
|
||||
'atlas.markVisited': 'تعيين كمُزار',
|
||||
'atlas.markVisitedHint': 'إضافة هذا البلد إلى قائمة المُزارة',
|
||||
'atlas.addToBucket': 'إضافة إلى قائمة الأمنيات',
|
||||
'atlas.addPoi': 'إضافة مكان',
|
||||
'atlas.bucketNamePlaceholder': 'الاسم (بلد، مدينة، مكان…)',
|
||||
'atlas.month': 'الشهر',
|
||||
'atlas.year': 'السنة',
|
||||
'atlas.addToBucketHint': 'حفظ كمكان تريد زيارته',
|
||||
'atlas.bucketWhen': 'متى تخطط للزيارة؟',
|
||||
'atlas.statsTab': 'الإحصائيات',
|
||||
@@ -645,11 +676,14 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
|
||||
'places.importGpx': 'استيراد GPX',
|
||||
'places.gpxImported': 'تم استيراد {count} مكان من GPX',
|
||||
'places.gpxError': 'فشل استيراد GPX',
|
||||
'places.urlResolved': 'تم استيراد المكان من الرابط',
|
||||
'places.assignToDay': 'إلى أي يوم تريد الإضافة؟',
|
||||
'places.all': 'الكل',
|
||||
'places.unplanned': 'غير مخطط',
|
||||
'places.search': 'ابحث عن أماكن...',
|
||||
'places.allCategories': 'كل الفئات',
|
||||
'places.categoriesSelected': 'فئات',
|
||||
'places.clearFilter': 'مسح الفلتر',
|
||||
'places.count': '{count} أماكن',
|
||||
'places.countSingular': 'مكان واحد',
|
||||
'places.allPlanned': 'تم تخطيط جميع الأماكن',
|
||||
@@ -1024,7 +1058,27 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
|
||||
'backup.auto.enable': 'تفعيل النسخ التلقائي',
|
||||
'backup.auto.enableHint': 'سيتم إنشاء نسخ احتياطية تلقائيًا وفق الجدول المختار',
|
||||
'backup.auto.interval': 'الفترة',
|
||||
'backup.auto.hour': 'التنفيذ في الساعة',
|
||||
'backup.auto.hourHint': 'التوقيت المحلي للخادم (تنسيق {format})',
|
||||
'backup.auto.dayOfWeek': 'يوم الأسبوع',
|
||||
'backup.auto.dayOfMonth': 'يوم الشهر',
|
||||
'backup.auto.dayOfMonthHint': 'محدود بين 1–28 للتوافق مع جميع الأشهر',
|
||||
'backup.auto.scheduleSummary': 'الجدول',
|
||||
'backup.auto.summaryDaily': 'كل يوم الساعة {hour}:00',
|
||||
'backup.auto.summaryWeekly': 'كل {day} الساعة {hour}:00',
|
||||
'backup.auto.summaryMonthly': 'اليوم {day} من كل شهر الساعة {hour}:00',
|
||||
'backup.auto.envLocked': 'Docker',
|
||||
'backup.auto.envLockedHint': 'النسخ الاحتياطي التلقائي مُعدّ عبر متغيرات بيئة Docker. لتعديل الإعدادات، حدّث docker-compose.yml وأعد تشغيل الحاوية.',
|
||||
'backup.auto.copyEnv': 'نسخ متغيرات بيئة Docker',
|
||||
'backup.auto.envCopied': 'تم نسخ متغيرات بيئة Docker إلى الحافظة',
|
||||
'backup.auto.keepLabel': 'حذف النسخ القديمة بعد',
|
||||
'backup.dow.sunday': 'أحد',
|
||||
'backup.dow.monday': 'إثن',
|
||||
'backup.dow.tuesday': 'ثلا',
|
||||
'backup.dow.wednesday': 'أرب',
|
||||
'backup.dow.thursday': 'خمي',
|
||||
'backup.dow.friday': 'جمع',
|
||||
'backup.dow.saturday': 'سبت',
|
||||
'backup.interval.hourly': 'كل ساعة',
|
||||
'backup.interval.daily': 'يوميًا',
|
||||
'backup.interval.weekly': 'أسبوعيًا',
|
||||
|
||||
@@ -139,6 +139,34 @@ const br: Record<string, string | { name: string; category: string }[]> = {
|
||||
'settings.temperature': 'Unidade de temperatura',
|
||||
'settings.timeFormat': 'Formato de hora',
|
||||
'settings.routeCalculation': 'Cálculo de rota',
|
||||
'settings.blurBookingCodes': 'Ocultar códigos de reserva',
|
||||
'settings.notifications': 'Notificações',
|
||||
'settings.notifyTripInvite': 'Convites de viagem',
|
||||
'settings.notifyBookingChange': 'Alterações de reserva',
|
||||
'settings.notifyTripReminder': 'Lembretes de viagem',
|
||||
'settings.notifyVacayInvite': 'Convites de fusão Vacay',
|
||||
'settings.notifyPhotosShared': 'Fotos compartilhadas (Immich)',
|
||||
'settings.notifyCollabMessage': 'Mensagens de chat (Colab)',
|
||||
'settings.notifyPackingTagged': 'Lista de mala: atribuições',
|
||||
'settings.notifyWebhook': 'Notificações webhook',
|
||||
'admin.smtp.title': 'E-mail e notificações',
|
||||
'admin.smtp.hint': 'Configuração SMTP para notificações por e-mail. Opcional: URL webhook para Discord, Slack, etc.',
|
||||
'admin.smtp.testButton': 'Enviar e-mail de teste',
|
||||
'admin.smtp.testSuccess': 'E-mail de teste enviado com sucesso',
|
||||
'admin.smtp.testFailed': 'Falha ao enviar e-mail de teste',
|
||||
'dayplan.icsTooltip': 'Exportar calendário (ICS)',
|
||||
'share.linkTitle': 'Link público',
|
||||
'share.linkHint': 'Crie um link que qualquer pessoa pode usar para ver esta viagem sem fazer login. Somente leitura — sem edição possível.',
|
||||
'share.createLink': 'Criar link',
|
||||
'share.deleteLink': 'Excluir link',
|
||||
'share.createError': 'Não foi possível criar o link',
|
||||
'common.copy': 'Copiar',
|
||||
'common.copied': 'Copiado',
|
||||
'share.permMap': 'Mapa e plano',
|
||||
'share.permBookings': 'Reservas',
|
||||
'share.permPacking': 'Mala',
|
||||
'share.permBudget': 'Orçamento',
|
||||
'share.permCollab': 'Chat',
|
||||
'settings.on': 'Ligado',
|
||||
'settings.off': 'Desligado',
|
||||
'settings.account': 'Conta',
|
||||
@@ -542,6 +570,10 @@ const br: Record<string, string | { name: string; category: string }[]> = {
|
||||
'atlas.markVisited': 'Marcar como visitado',
|
||||
'atlas.markVisitedHint': 'Adicionar este país à lista de visitados',
|
||||
'atlas.addToBucket': 'Adicionar à lista de desejos',
|
||||
'atlas.addPoi': 'Adicionar lugar',
|
||||
'atlas.bucketNamePlaceholder': 'Nome (país, cidade, lugar…)',
|
||||
'atlas.month': 'Mês',
|
||||
'atlas.year': 'Ano',
|
||||
'atlas.addToBucketHint': 'Salvar como lugar que você quer visitar',
|
||||
'atlas.bucketWhen': 'Quando pretende visitar?',
|
||||
'atlas.statsTab': 'Estatísticas',
|
||||
@@ -627,14 +659,26 @@ const br: Record<string, string | { name: string; category: string }[]> = {
|
||||
'dayplan.pdf': 'PDF',
|
||||
'dayplan.pdfTooltip': 'Exportar plano do dia em PDF',
|
||||
'dayplan.pdfError': 'Falha ao exportar PDF',
|
||||
'dayplan.cannotReorderTransport': 'Reservas com horário fixo não podem ser reordenadas',
|
||||
'dayplan.confirmRemoveTimeTitle': 'Remover horário?',
|
||||
'dayplan.confirmRemoveTimeBody': 'Este lugar tem um horário fixo ({time}). Movê-lo removerá o horário e permitirá ordenação livre.',
|
||||
'dayplan.confirmRemoveTimeAction': 'Remover horário e mover',
|
||||
'dayplan.cannotDropOnTimed': 'Itens não podem ser colocados entre entradas com horário fixo',
|
||||
'dayplan.cannotBreakChronology': 'Isso quebraria a ordem cronológica dos itens e reservas agendados',
|
||||
|
||||
// Places Sidebar
|
||||
'places.addPlace': 'Adicionar lugar/atividade',
|
||||
'places.importGpx': 'Importar GPX',
|
||||
'places.gpxImported': '{count} lugares importados do GPX',
|
||||
'places.gpxError': 'Falha ao importar GPX',
|
||||
'places.urlResolved': 'Lugar importado da URL',
|
||||
'places.assignToDay': 'Adicionar a qual dia?',
|
||||
'places.all': 'Todos',
|
||||
'places.unplanned': 'Não planejados',
|
||||
'places.search': 'Buscar lugares...',
|
||||
'places.allCategories': 'Todas as categorias',
|
||||
'places.categoriesSelected': 'categorias',
|
||||
'places.clearFilter': 'Limpar filtro',
|
||||
'places.count': '{count} lugares',
|
||||
'places.countSingular': '1 lugar',
|
||||
'places.allPlanned': 'Todos os lugares estão planejados',
|
||||
@@ -733,6 +777,8 @@ const br: Record<string, string | { name: string; category: string }[]> = {
|
||||
'reservations.type.tour': 'Passeio',
|
||||
'reservations.type.other': 'Outro',
|
||||
'reservations.confirm.delete': 'Tem certeza de que deseja excluir a reserva "{name}"?',
|
||||
'reservations.confirm.deleteTitle': 'Excluir reserva?',
|
||||
'reservations.confirm.deleteBody': '"{name}" será excluído permanentemente.',
|
||||
'reservations.toast.updated': 'Reserva atualizada',
|
||||
'reservations.toast.removed': 'Reserva excluída',
|
||||
'reservations.toast.fileUploaded': 'Arquivo enviado',
|
||||
@@ -790,6 +836,9 @@ const br: Record<string, string | { name: string; category: string }[]> = {
|
||||
'budget.paid': 'Pago',
|
||||
'budget.open': 'Em aberto',
|
||||
'budget.noMembers': 'Nenhum membro atribuído',
|
||||
'budget.settlement': 'Acerto',
|
||||
'budget.settlementInfo': 'Clique no avatar de um membro em um item do orçamento para marcá-lo em verde — significa que ele pagou. O acerto mostra quem deve quanto a quem.',
|
||||
'budget.netBalances': 'Saldos líquidos',
|
||||
|
||||
// Files
|
||||
'files.title': 'Arquivos',
|
||||
@@ -843,6 +892,15 @@ const br: Record<string, string | { name: string; category: string }[]> = {
|
||||
// Packing
|
||||
'packing.title': 'Lista de mala',
|
||||
'packing.empty': 'A lista de mala está vazia',
|
||||
'packing.import': 'Importar',
|
||||
'packing.importTitle': 'Importar lista de bagagem',
|
||||
'packing.importHint': 'Um item por linha. Formato: Categoria, Nome, Peso (g), Bolsa, checked/unchecked (opcional)',
|
||||
'packing.importPlaceholder': 'Higiene, Escova de dentes\nRoupas, Camisetas, 200\nDocumentos, Passaporte, , Mala de mão\nEletrônicos, Carregador, 50, Mala, checked',
|
||||
'packing.importCsv': 'Carregar CSV/TXT',
|
||||
'packing.importAction': 'Importar {count}',
|
||||
'packing.importSuccess': '{count} itens importados',
|
||||
'packing.importError': 'Falha na importação',
|
||||
'packing.importEmpty': 'Nenhum item para importar',
|
||||
'packing.progress': '{packed} de {total} na mala ({percent}%)',
|
||||
'packing.clearChecked': 'Remover {count} marcado(s)',
|
||||
'packing.clearCheckedShort': 'Remover {count}',
|
||||
@@ -994,7 +1052,27 @@ const br: Record<string, string | { name: string; category: string }[]> = {
|
||||
'backup.auto.enable': 'Ativar backup automático',
|
||||
'backup.auto.enableHint': 'Backups serão criados automaticamente conforme a agenda escolhida',
|
||||
'backup.auto.interval': 'Intervalo',
|
||||
'backup.auto.hour': 'Executar no horário',
|
||||
'backup.auto.hourHint': 'Horário local do servidor (formato {format})',
|
||||
'backup.auto.dayOfWeek': 'Dia da semana',
|
||||
'backup.auto.dayOfMonth': 'Dia do mês',
|
||||
'backup.auto.dayOfMonthHint': 'Limitado a 1–28 para compatibilidade com todos os meses',
|
||||
'backup.auto.scheduleSummary': 'Agenda',
|
||||
'backup.auto.summaryDaily': 'Todos os dias às {hour}:00',
|
||||
'backup.auto.summaryWeekly': 'Toda {day} às {hour}:00',
|
||||
'backup.auto.summaryMonthly': 'Dia {day} de cada mês às {hour}:00',
|
||||
'backup.auto.envLocked': 'Docker',
|
||||
'backup.auto.envLockedHint': 'O backup automático é configurado via variáveis de ambiente Docker. Para alterar essas configurações, atualize o docker-compose.yml e reinicie o contêiner.',
|
||||
'backup.auto.copyEnv': 'Copiar variáveis de ambiente Docker',
|
||||
'backup.auto.envCopied': 'Variáveis de ambiente Docker copiadas para a área de transferência',
|
||||
'backup.auto.keepLabel': 'Excluir backups antigos após',
|
||||
'backup.dow.sunday': 'Dom',
|
||||
'backup.dow.monday': 'Seg',
|
||||
'backup.dow.tuesday': 'Ter',
|
||||
'backup.dow.wednesday': 'Qua',
|
||||
'backup.dow.thursday': 'Qui',
|
||||
'backup.dow.friday': 'Sex',
|
||||
'backup.dow.saturday': 'Sáb',
|
||||
'backup.interval.hourly': 'A cada hora',
|
||||
'backup.interval.daily': 'Diário',
|
||||
'backup.interval.weekly': 'Semanal',
|
||||
|
||||
@@ -141,6 +141,33 @@ const es: Record<string, string> = {
|
||||
'settings.timeFormat': 'Formato de hora',
|
||||
'settings.routeCalculation': 'Cálculo de ruta',
|
||||
'settings.blurBookingCodes': 'Difuminar códigos de reserva',
|
||||
'settings.notifications': 'Notificaciones',
|
||||
'settings.notifyTripInvite': 'Invitaciones de viaje',
|
||||
'settings.notifyBookingChange': 'Cambios en reservas',
|
||||
'settings.notifyTripReminder': 'Recordatorios de viaje',
|
||||
'settings.notifyVacayInvite': 'Invitaciones de fusión Vacay',
|
||||
'settings.notifyPhotosShared': 'Fotos compartidas (Immich)',
|
||||
'settings.notifyCollabMessage': 'Mensajes de chat (Collab)',
|
||||
'settings.notifyPackingTagged': 'Lista de equipaje: asignaciones',
|
||||
'settings.notifyWebhook': 'Notificaciones webhook',
|
||||
'admin.smtp.title': 'Correo y notificaciones',
|
||||
'admin.smtp.hint': 'Configuración SMTP para notificaciones por correo. Opcional: URL webhook para Discord, Slack, etc.',
|
||||
'admin.smtp.testButton': 'Enviar correo de prueba',
|
||||
'admin.smtp.testSuccess': 'Correo de prueba enviado correctamente',
|
||||
'admin.smtp.testFailed': 'Error al enviar correo de prueba',
|
||||
'dayplan.icsTooltip': 'Exportar calendario (ICS)',
|
||||
'share.linkTitle': 'Enlace público',
|
||||
'share.linkHint': 'Crea un enlace que cualquiera puede usar para ver este viaje sin iniciar sesión. Solo lectura — no se puede editar.',
|
||||
'share.createLink': 'Crear enlace',
|
||||
'share.deleteLink': 'Eliminar enlace',
|
||||
'share.createError': 'No se pudo crear el enlace',
|
||||
'common.copy': 'Copiar',
|
||||
'common.copied': 'Copiado',
|
||||
'share.permMap': 'Mapa y plan',
|
||||
'share.permBookings': 'Reservas',
|
||||
'share.permPacking': 'Equipaje',
|
||||
'share.permBudget': 'Presupuesto',
|
||||
'share.permCollab': 'Chat',
|
||||
'settings.on': 'Activado',
|
||||
'settings.off': 'Desactivado',
|
||||
'settings.account': 'Cuenta',
|
||||
@@ -557,6 +584,10 @@ const es: Record<string, string> = {
|
||||
'atlas.markVisited': 'Marcar como visitado',
|
||||
'atlas.markVisitedHint': 'Añadir este país a tu lista de visitados',
|
||||
'atlas.addToBucket': 'Añadir a lista de deseos',
|
||||
'atlas.addPoi': 'Añadir lugar',
|
||||
'atlas.bucketNamePlaceholder': 'Nombre (país, ciudad, lugar…)',
|
||||
'atlas.month': 'Mes',
|
||||
'atlas.year': 'Año',
|
||||
'atlas.addToBucketHint': 'Guardar como lugar que quieres visitar',
|
||||
'atlas.bucketWhen': '¿Cuándo planeas visitarlo?',
|
||||
|
||||
@@ -618,11 +649,14 @@ const es: Record<string, string> = {
|
||||
'places.importGpx': 'Importar GPX',
|
||||
'places.gpxImported': '{count} lugares importados desde GPX',
|
||||
'places.gpxError': 'Error al importar GPX',
|
||||
'places.urlResolved': 'Lugar importado desde URL',
|
||||
'places.assignToDay': '¿A qué día añadirlo?',
|
||||
'places.all': 'Todo',
|
||||
'places.unplanned': 'Sin planificar',
|
||||
'places.search': 'Buscar lugares...',
|
||||
'places.allCategories': 'Todas las categorías',
|
||||
'places.categoriesSelected': 'categorías',
|
||||
'places.clearFilter': 'Borrar filtro',
|
||||
'places.count': '{count} lugares',
|
||||
'places.countSingular': '1 lugar',
|
||||
'places.allPlanned': 'Todos los lugares están planificados',
|
||||
@@ -958,7 +992,27 @@ const es: Record<string, string> = {
|
||||
'backup.auto.enable': 'Activar copia automática',
|
||||
'backup.auto.enableHint': 'Se crearán copias automáticamente según la frecuencia elegida',
|
||||
'backup.auto.interval': 'Intervalo',
|
||||
'backup.auto.hour': 'Ejecutar a la hora',
|
||||
'backup.auto.hourHint': 'Hora local del servidor (formato {format})',
|
||||
'backup.auto.dayOfWeek': 'Día de la semana',
|
||||
'backup.auto.dayOfMonth': 'Día del mes',
|
||||
'backup.auto.dayOfMonthHint': 'Limitado a 1–28 para compatibilidad con todos los meses',
|
||||
'backup.auto.scheduleSummary': 'Programación',
|
||||
'backup.auto.summaryDaily': 'Todos los días a las {hour}:00',
|
||||
'backup.auto.summaryWeekly': 'Cada {day} a las {hour}:00',
|
||||
'backup.auto.summaryMonthly': 'El día {day} de cada mes a las {hour}:00',
|
||||
'backup.auto.envLocked': 'Docker',
|
||||
'backup.auto.envLockedHint': 'La copia automática está configurada mediante variables de entorno Docker. Para cambiar estos ajustes, actualiza tu docker-compose.yml y reinicia el contenedor.',
|
||||
'backup.auto.copyEnv': 'Copiar variables de entorno Docker',
|
||||
'backup.auto.envCopied': 'Variables de entorno Docker copiadas al portapapeles',
|
||||
'backup.auto.keepLabel': 'Eliminar copias antiguas después de',
|
||||
'backup.dow.sunday': 'Dom',
|
||||
'backup.dow.monday': 'Lun',
|
||||
'backup.dow.tuesday': 'Mar',
|
||||
'backup.dow.wednesday': 'Mié',
|
||||
'backup.dow.thursday': 'Jue',
|
||||
'backup.dow.friday': 'Vie',
|
||||
'backup.dow.saturday': 'Sáb',
|
||||
'backup.interval.hourly': 'Cada hora',
|
||||
'backup.interval.daily': 'Diaria',
|
||||
'backup.interval.weekly': 'Semanal',
|
||||
@@ -978,8 +1032,8 @@ const es: Record<string, string> = {
|
||||
'photos.linkPlace': 'Vincular lugar',
|
||||
'photos.noPlace': 'Sin lugar',
|
||||
'photos.uploadN': 'Subida de {n} foto(s)',
|
||||
'admin.addons.catalog.memories.name': 'Fotos (Immich)',
|
||||
'admin.addons.catalog.memories.description': 'Comparte fotos de viaje a través de tu instancia de Immich',
|
||||
'admin.addons.catalog.memories.name': 'Recuerdos',
|
||||
'admin.addons.catalog.memories.description': 'Álbumes de fotos compartidos para cada viaje',
|
||||
'admin.addons.catalog.packing.name': 'Equipaje',
|
||||
'admin.addons.catalog.packing.description': 'Prepara tu equipaje con listas de comprobación para cada viaje',
|
||||
'admin.addons.catalog.budget.name': 'Presupuesto',
|
||||
|
||||
@@ -140,6 +140,33 @@ const fr: Record<string, string> = {
|
||||
'settings.timeFormat': 'Format de l\'heure',
|
||||
'settings.routeCalculation': 'Calcul d\'itinéraire',
|
||||
'settings.blurBookingCodes': 'Masquer les codes de réservation',
|
||||
'settings.notifications': 'Notifications',
|
||||
'settings.notifyTripInvite': 'Invitations de voyage',
|
||||
'settings.notifyBookingChange': 'Modifications de réservation',
|
||||
'settings.notifyTripReminder': 'Rappels de voyage',
|
||||
'settings.notifyVacayInvite': 'Invitations de fusion Vacay',
|
||||
'settings.notifyPhotosShared': 'Photos partagées (Immich)',
|
||||
'settings.notifyCollabMessage': 'Messages de chat (Collab)',
|
||||
'settings.notifyPackingTagged': 'Liste de bagages : attributions',
|
||||
'settings.notifyWebhook': 'Notifications webhook',
|
||||
'admin.smtp.title': 'E-mail et notifications',
|
||||
'admin.smtp.hint': 'Configuration SMTP pour les notifications par e-mail. Optionnel : URL webhook pour Discord, Slack, etc.',
|
||||
'admin.smtp.testButton': 'Envoyer un e-mail de test',
|
||||
'admin.smtp.testSuccess': 'E-mail de test envoyé avec succès',
|
||||
'admin.smtp.testFailed': 'Échec de l\'e-mail de test',
|
||||
'dayplan.icsTooltip': 'Exporter le calendrier (ICS)',
|
||||
'share.linkTitle': 'Lien public',
|
||||
'share.linkHint': 'Créez un lien que n\'importe qui peut utiliser pour consulter ce voyage sans se connecter. Lecture seule — aucune modification possible.',
|
||||
'share.createLink': 'Créer un lien',
|
||||
'share.deleteLink': 'Supprimer le lien',
|
||||
'share.createError': 'Impossible de créer le lien',
|
||||
'common.copy': 'Copier',
|
||||
'common.copied': 'Copié',
|
||||
'share.permMap': 'Carte et plan',
|
||||
'share.permBookings': 'Réservations',
|
||||
'share.permPacking': 'Bagages',
|
||||
'share.permBudget': 'Budget',
|
||||
'share.permCollab': 'Chat',
|
||||
'settings.on': 'Activé',
|
||||
'settings.off': 'Désactivé',
|
||||
'settings.account': 'Compte',
|
||||
@@ -374,8 +401,8 @@ const fr: Record<string, string> = {
|
||||
'admin.tabs.addons': 'Extensions',
|
||||
'admin.addons.title': 'Extensions',
|
||||
'admin.addons.subtitle': 'Activez ou désactivez des fonctionnalités pour personnaliser votre expérience TREK.',
|
||||
'admin.addons.catalog.memories.name': 'Photos (Immich)',
|
||||
'admin.addons.catalog.memories.description': 'Partagez vos photos de voyage via votre instance Immich',
|
||||
'admin.addons.catalog.memories.name': 'Souvenirs',
|
||||
'admin.addons.catalog.memories.description': 'Albums photo partagés pour chaque voyage',
|
||||
'admin.addons.catalog.packing.name': 'Bagages',
|
||||
'admin.addons.catalog.packing.description': 'Listes de contrôle pour préparer vos bagages pour chaque voyage',
|
||||
'admin.addons.catalog.budget.name': 'Budget',
|
||||
@@ -484,14 +511,6 @@ const fr: Record<string, string> = {
|
||||
'vacay.sun': 'Dim',
|
||||
'vacay.blockWeekends': 'Bloquer les week-ends',
|
||||
'vacay.blockWeekendsHint': 'Empêcher les entrées de vacances les samedis et dimanches',
|
||||
'vacay.weekendDays': 'Jours de week-end',
|
||||
'vacay.mon': 'Lun',
|
||||
'vacay.tue': 'Mar',
|
||||
'vacay.wed': 'Mer',
|
||||
'vacay.thu': 'Jeu',
|
||||
'vacay.fri': 'Ven',
|
||||
'vacay.sat': 'Sam',
|
||||
'vacay.sun': 'Dim',
|
||||
'vacay.publicHolidays': 'Jours fériés',
|
||||
'vacay.publicHolidaysHint': 'Marquer les jours fériés dans le calendrier',
|
||||
'vacay.selectCountry': 'Sélectionner un pays',
|
||||
@@ -586,6 +605,10 @@ const fr: Record<string, string> = {
|
||||
'atlas.markVisited': 'Marquer comme visité',
|
||||
'atlas.markVisitedHint': 'Ajouter ce pays à votre liste de visités',
|
||||
'atlas.addToBucket': 'Ajouter à la bucket list',
|
||||
'atlas.addPoi': 'Ajouter un lieu',
|
||||
'atlas.bucketNamePlaceholder': 'Nom (pays, ville, lieu…)',
|
||||
'atlas.month': 'Mois',
|
||||
'atlas.year': 'Année',
|
||||
'atlas.addToBucketHint': 'Sauvegarder comme lieu à visiter',
|
||||
'atlas.bucketWhen': 'Quand prévoyez-vous d\'y aller ?',
|
||||
|
||||
@@ -647,11 +670,14 @@ const fr: Record<string, string> = {
|
||||
'places.importGpx': 'Importer GPX',
|
||||
'places.gpxImported': '{count} lieux importés depuis GPX',
|
||||
'places.gpxError': 'L\'import GPX a échoué',
|
||||
'places.urlResolved': 'Lieu importé depuis l\'URL',
|
||||
'places.assignToDay': 'Ajouter à quel jour ?',
|
||||
'places.all': 'Tous',
|
||||
'places.unplanned': 'Non planifiés',
|
||||
'places.search': 'Rechercher des lieux…',
|
||||
'places.allCategories': 'Toutes les catégories',
|
||||
'places.categoriesSelected': 'catégories',
|
||||
'places.clearFilter': 'Effacer le filtre',
|
||||
'places.count': '{count} lieux',
|
||||
'places.countSingular': '1 lieu',
|
||||
'places.allPlanned': 'Tous les lieux sont planifiés',
|
||||
@@ -1025,7 +1051,27 @@ const fr: Record<string, string> = {
|
||||
'backup.auto.enable': 'Activer la sauvegarde automatique',
|
||||
'backup.auto.enableHint': 'Les sauvegardes seront créées automatiquement selon le calendrier choisi',
|
||||
'backup.auto.interval': 'Intervalle',
|
||||
'backup.auto.hour': 'Exécuter à l\'heure',
|
||||
'backup.auto.hourHint': 'Heure locale du serveur (format {format})',
|
||||
'backup.auto.dayOfWeek': 'Jour de la semaine',
|
||||
'backup.auto.dayOfMonth': 'Jour du mois',
|
||||
'backup.auto.dayOfMonthHint': 'Limité à 1–28 pour la compatibilité avec tous les mois',
|
||||
'backup.auto.scheduleSummary': 'Planification',
|
||||
'backup.auto.summaryDaily': 'Tous les jours à {hour}h00',
|
||||
'backup.auto.summaryWeekly': 'Chaque {day} à {hour}h00',
|
||||
'backup.auto.summaryMonthly': 'Le {day} de chaque mois à {hour}h00',
|
||||
'backup.auto.envLocked': 'Docker',
|
||||
'backup.auto.envLockedHint': 'La sauvegarde automatique est configurée via les variables d\'environnement Docker. Pour modifier ces paramètres, mettez à jour votre docker-compose.yml et redémarrez le conteneur.',
|
||||
'backup.auto.copyEnv': 'Copier les variables d\'env Docker',
|
||||
'backup.auto.envCopied': 'Variables d\'env Docker copiées dans le presse-papiers',
|
||||
'backup.auto.keepLabel': 'Supprimer les anciennes sauvegardes après',
|
||||
'backup.dow.sunday': 'Dim',
|
||||
'backup.dow.monday': 'Lun',
|
||||
'backup.dow.tuesday': 'Mar',
|
||||
'backup.dow.wednesday': 'Mer',
|
||||
'backup.dow.thursday': 'Jeu',
|
||||
'backup.dow.friday': 'Ven',
|
||||
'backup.dow.saturday': 'Sam',
|
||||
'backup.interval.hourly': 'Toutes les heures',
|
||||
'backup.interval.daily': 'Quotidien',
|
||||
'backup.interval.weekly': 'Hebdomadaire',
|
||||
|
||||
@@ -140,6 +140,33 @@ const nl: Record<string, string> = {
|
||||
'settings.timeFormat': 'Tijdnotatie',
|
||||
'settings.routeCalculation': 'Routeberekening',
|
||||
'settings.blurBookingCodes': 'Boekingscodes vervagen',
|
||||
'settings.notifications': 'Meldingen',
|
||||
'settings.notifyTripInvite': 'Reisuitnodigingen',
|
||||
'settings.notifyBookingChange': 'Boekingswijzigingen',
|
||||
'settings.notifyTripReminder': 'Reisherinneringen',
|
||||
'settings.notifyVacayInvite': 'Vacay-fusieuitnodigingen',
|
||||
'settings.notifyPhotosShared': 'Gedeelde foto\'s (Immich)',
|
||||
'settings.notifyCollabMessage': 'Chatberichten (Collab)',
|
||||
'settings.notifyPackingTagged': 'Paklijst: toewijzingen',
|
||||
'settings.notifyWebhook': 'Webhook-meldingen',
|
||||
'admin.smtp.title': 'E-mail en meldingen',
|
||||
'admin.smtp.hint': 'SMTP-configuratie voor e-mailmeldingen. Optioneel: Webhook-URL voor Discord, Slack, etc.',
|
||||
'admin.smtp.testButton': 'Test-e-mail verzenden',
|
||||
'admin.smtp.testSuccess': 'Test-e-mail succesvol verzonden',
|
||||
'admin.smtp.testFailed': 'Test-e-mail mislukt',
|
||||
'dayplan.icsTooltip': 'Kalender exporteren (ICS)',
|
||||
'share.linkTitle': 'Openbare link',
|
||||
'share.linkHint': 'Maak een link die iedereen kan gebruiken om deze reis te bekijken zonder in te loggen. Alleen-lezen — bewerken niet mogelijk.',
|
||||
'share.createLink': 'Link aanmaken',
|
||||
'share.deleteLink': 'Link verwijderen',
|
||||
'share.createError': 'Kon link niet aanmaken',
|
||||
'common.copy': 'Kopiëren',
|
||||
'common.copied': 'Gekopieerd',
|
||||
'share.permMap': 'Kaart en plan',
|
||||
'share.permBookings': 'Boekingen',
|
||||
'share.permPacking': 'Paklijst',
|
||||
'share.permBudget': 'Budget',
|
||||
'share.permCollab': 'Chat',
|
||||
'settings.on': 'Aan',
|
||||
'settings.off': 'Uit',
|
||||
'settings.account': 'Account',
|
||||
@@ -374,8 +401,8 @@ const nl: Record<string, string> = {
|
||||
'admin.tabs.addons': 'Add-ons',
|
||||
'admin.addons.title': 'Add-ons',
|
||||
'admin.addons.subtitle': 'Schakel functies in of uit om je TREK-ervaring aan te passen.',
|
||||
'admin.addons.catalog.memories.name': 'Foto\'s (Immich)',
|
||||
'admin.addons.catalog.memories.description': 'Deel reisfoto\'s via je Immich-instantie',
|
||||
'admin.addons.catalog.memories.name': 'Herinneringen',
|
||||
'admin.addons.catalog.memories.description': 'Gedeelde fotoalbums voor elke reis',
|
||||
'admin.addons.catalog.packing.name': 'Inpakken',
|
||||
'admin.addons.catalog.packing.description': 'Checklists om je bagage voor elke reis voor te bereiden',
|
||||
'admin.addons.catalog.budget.name': 'Budget',
|
||||
@@ -578,6 +605,10 @@ const nl: Record<string, string> = {
|
||||
'atlas.markVisited': 'Markeren als bezocht',
|
||||
'atlas.markVisitedHint': 'Dit land toevoegen aan je bezochte lijst',
|
||||
'atlas.addToBucket': 'Aan bucket list toevoegen',
|
||||
'atlas.addPoi': 'Plaats toevoegen',
|
||||
'atlas.bucketNamePlaceholder': 'Naam (land, stad, plek…)',
|
||||
'atlas.month': 'Maand',
|
||||
'atlas.year': 'Jaar',
|
||||
'atlas.addToBucketHint': 'Opslaan als plek die je wilt bezoeken',
|
||||
'atlas.bucketWhen': 'Wanneer ben je van plan te gaan?',
|
||||
|
||||
@@ -639,11 +670,14 @@ const nl: Record<string, string> = {
|
||||
'places.importGpx': 'GPX importeren',
|
||||
'places.gpxImported': '{count} plaatsen geïmporteerd uit GPX',
|
||||
'places.gpxError': 'GPX-import mislukt',
|
||||
'places.urlResolved': 'Plaats geïmporteerd van URL',
|
||||
'places.assignToDay': 'Aan welke dag toevoegen?',
|
||||
'places.all': 'Alle',
|
||||
'places.unplanned': 'Ongepland',
|
||||
'places.search': 'Plaatsen zoeken...',
|
||||
'places.allCategories': 'Alle categorieën',
|
||||
'places.categoriesSelected': 'categorieën',
|
||||
'places.clearFilter': 'Filter wissen',
|
||||
'places.count': '{count} plaatsen',
|
||||
'places.countSingular': '1 plaats',
|
||||
'places.allPlanned': 'Alle plaatsen zijn gepland',
|
||||
@@ -1017,7 +1051,27 @@ const nl: Record<string, string> = {
|
||||
'backup.auto.enable': 'Auto-back-up inschakelen',
|
||||
'backup.auto.enableHint': 'Back-ups worden automatisch aangemaakt volgens het gekozen schema',
|
||||
'backup.auto.interval': 'Interval',
|
||||
'backup.auto.hour': 'Uitvoeren om',
|
||||
'backup.auto.hourHint': 'Lokale servertijd ({format}-notatie)',
|
||||
'backup.auto.dayOfWeek': 'Dag van de week',
|
||||
'backup.auto.dayOfMonth': 'Dag van de maand',
|
||||
'backup.auto.dayOfMonthHint': 'Beperkt tot 1–28 voor compatibiliteit met alle maanden',
|
||||
'backup.auto.scheduleSummary': 'Planning',
|
||||
'backup.auto.summaryDaily': 'Elke dag om {hour}:00',
|
||||
'backup.auto.summaryWeekly': 'Elke {day} om {hour}:00',
|
||||
'backup.auto.summaryMonthly': 'Dag {day} van elke maand om {hour}:00',
|
||||
'backup.auto.envLocked': 'Docker',
|
||||
'backup.auto.envLockedHint': 'Auto-back-up is geconfigureerd via Docker-omgevingsvariabelen. Pas je docker-compose.yml aan en herstart de container om deze instellingen te wijzigen.',
|
||||
'backup.auto.copyEnv': 'Docker-omgevingsvariabelen kopiëren',
|
||||
'backup.auto.envCopied': 'Docker-omgevingsvariabelen gekopieerd naar klembord',
|
||||
'backup.auto.keepLabel': 'Oude back-ups verwijderen na',
|
||||
'backup.dow.sunday': 'Zo',
|
||||
'backup.dow.monday': 'Ma',
|
||||
'backup.dow.tuesday': 'Di',
|
||||
'backup.dow.wednesday': 'Wo',
|
||||
'backup.dow.thursday': 'Do',
|
||||
'backup.dow.friday': 'Vr',
|
||||
'backup.dow.saturday': 'Za',
|
||||
'backup.interval.hourly': 'Elk uur',
|
||||
'backup.interval.daily': 'Dagelijks',
|
||||
'backup.interval.weekly': 'Wekelijks',
|
||||
|
||||
@@ -140,6 +140,33 @@ const ru: Record<string, string> = {
|
||||
'settings.timeFormat': 'Формат времени',
|
||||
'settings.routeCalculation': 'Расчёт маршрута',
|
||||
'settings.blurBookingCodes': 'Скрыть коды бронирования',
|
||||
'settings.notifications': 'Уведомления',
|
||||
'settings.notifyTripInvite': 'Приглашения в поездку',
|
||||
'settings.notifyBookingChange': 'Изменения бронирований',
|
||||
'settings.notifyTripReminder': 'Напоминания о поездке',
|
||||
'settings.notifyVacayInvite': 'Приглашения слияния Vacay',
|
||||
'settings.notifyPhotosShared': 'Общие фото (Immich)',
|
||||
'settings.notifyCollabMessage': 'Сообщения чата (Collab)',
|
||||
'settings.notifyPackingTagged': 'Список вещей: назначения',
|
||||
'settings.notifyWebhook': 'Webhook-уведомления',
|
||||
'admin.smtp.title': 'Почта и уведомления',
|
||||
'admin.smtp.hint': 'Настройка SMTP для уведомлений по почте. Необязательно: Webhook URL для Discord, Slack и т.д.',
|
||||
'admin.smtp.testButton': 'Отправить тестовое письмо',
|
||||
'admin.smtp.testSuccess': 'Тестовое письмо успешно отправлено',
|
||||
'admin.smtp.testFailed': 'Ошибка отправки тестового письма',
|
||||
'dayplan.icsTooltip': 'Экспорт календаря (ICS)',
|
||||
'share.linkTitle': 'Публичная ссылка',
|
||||
'share.linkHint': 'Создайте ссылку, по которой любой сможет просмотреть эту поездку без входа в систему. Только чтение — редактирование невозможно.',
|
||||
'share.createLink': 'Создать ссылку',
|
||||
'share.deleteLink': 'Удалить ссылку',
|
||||
'share.createError': 'Не удалось создать ссылку',
|
||||
'common.copy': 'Копировать',
|
||||
'common.copied': 'Скопировано',
|
||||
'share.permMap': 'Карта и план',
|
||||
'share.permBookings': 'Бронирования',
|
||||
'share.permPacking': 'Вещи',
|
||||
'share.permBudget': 'Бюджет',
|
||||
'share.permCollab': 'Чат',
|
||||
'settings.on': 'Вкл.',
|
||||
'settings.off': 'Выкл.',
|
||||
'settings.account': 'Аккаунт',
|
||||
@@ -374,8 +401,8 @@ const ru: Record<string, string> = {
|
||||
'admin.tabs.addons': 'Дополнения',
|
||||
'admin.addons.title': 'Дополнения',
|
||||
'admin.addons.subtitle': 'Включайте или отключайте функции для настройки TREK под себя.',
|
||||
'admin.addons.catalog.memories.name': 'Фото (Immich)',
|
||||
'admin.addons.catalog.memories.description': 'Делитесь фотографиями из поездок через Immich',
|
||||
'admin.addons.catalog.memories.name': 'Воспоминания',
|
||||
'admin.addons.catalog.memories.description': 'Общие фотоальбомы для каждой поездки',
|
||||
'admin.addons.catalog.packing.name': 'Сборы',
|
||||
'admin.addons.catalog.packing.description': 'Чек-листы для подготовки багажа к каждой поездке',
|
||||
'admin.addons.catalog.budget.name': 'Бюджет',
|
||||
@@ -578,6 +605,10 @@ const ru: Record<string, string> = {
|
||||
'atlas.markVisited': 'Отметить как посещённую',
|
||||
'atlas.markVisitedHint': 'Добавить эту страну в список посещённых',
|
||||
'atlas.addToBucket': 'В список желаний',
|
||||
'atlas.addPoi': 'Добавить место',
|
||||
'atlas.bucketNamePlaceholder': 'Название (страна, город, место…)',
|
||||
'atlas.month': 'Месяц',
|
||||
'atlas.year': 'Год',
|
||||
'atlas.addToBucketHint': 'Сохранить как место для посещения',
|
||||
'atlas.bucketWhen': 'Когда вы планируете поехать?',
|
||||
|
||||
@@ -639,11 +670,14 @@ const ru: Record<string, string> = {
|
||||
'places.importGpx': 'Импорт GPX',
|
||||
'places.gpxImported': '{count} мест импортировано из GPX',
|
||||
'places.gpxError': 'Ошибка импорта GPX',
|
||||
'places.urlResolved': 'Место импортировано из URL',
|
||||
'places.assignToDay': 'Добавить в какой день?',
|
||||
'places.all': 'Все',
|
||||
'places.unplanned': 'Незапланированные',
|
||||
'places.search': 'Поиск мест...',
|
||||
'places.allCategories': 'Все категории',
|
||||
'places.categoriesSelected': 'категорий',
|
||||
'places.clearFilter': 'Сбросить фильтр',
|
||||
'places.count': '{count} мест',
|
||||
'places.countSingular': '1 место',
|
||||
'places.allPlanned': 'Все места запланированы',
|
||||
@@ -1017,7 +1051,27 @@ const ru: Record<string, string> = {
|
||||
'backup.auto.enable': 'Включить автокопирование',
|
||||
'backup.auto.enableHint': 'Резервные копии будут создаваться автоматически по выбранному расписанию',
|
||||
'backup.auto.interval': 'Интервал',
|
||||
'backup.auto.hour': 'Запуск в час',
|
||||
'backup.auto.hourHint': 'Местное время сервера (формат {format})',
|
||||
'backup.auto.dayOfWeek': 'День недели',
|
||||
'backup.auto.dayOfMonth': 'День месяца',
|
||||
'backup.auto.dayOfMonthHint': 'Ограничено 1–28 для совместимости со всеми месяцами',
|
||||
'backup.auto.scheduleSummary': 'Расписание',
|
||||
'backup.auto.summaryDaily': 'Каждый день в {hour}:00',
|
||||
'backup.auto.summaryWeekly': 'Каждый {day} в {hour}:00',
|
||||
'backup.auto.summaryMonthly': '{day}-го числа каждого месяца в {hour}:00',
|
||||
'backup.auto.envLocked': 'Docker',
|
||||
'backup.auto.envLockedHint': 'Автокопирование настроено через переменные окружения Docker. Чтобы изменить параметры, обновите docker-compose.yml и перезапустите контейнер.',
|
||||
'backup.auto.copyEnv': 'Скопировать переменные окружения Docker',
|
||||
'backup.auto.envCopied': 'Переменные окружения Docker скопированы в буфер обмена',
|
||||
'backup.auto.keepLabel': 'Удалять старые копии через',
|
||||
'backup.dow.sunday': 'Вс',
|
||||
'backup.dow.monday': 'Пн',
|
||||
'backup.dow.tuesday': 'Вт',
|
||||
'backup.dow.wednesday': 'Ср',
|
||||
'backup.dow.thursday': 'Чт',
|
||||
'backup.dow.friday': 'Пт',
|
||||
'backup.dow.saturday': 'Сб',
|
||||
'backup.interval.hourly': 'Каждый час',
|
||||
'backup.interval.daily': 'Ежедневно',
|
||||
'backup.interval.weekly': 'Еженедельно',
|
||||
|
||||
@@ -140,6 +140,33 @@ const zh: Record<string, string> = {
|
||||
'settings.timeFormat': '时间格式',
|
||||
'settings.routeCalculation': '路线计算',
|
||||
'settings.blurBookingCodes': '模糊预订代码',
|
||||
'settings.notifications': '通知',
|
||||
'settings.notifyTripInvite': '旅行邀请',
|
||||
'settings.notifyBookingChange': '预订变更',
|
||||
'settings.notifyTripReminder': '旅行提醒',
|
||||
'settings.notifyVacayInvite': 'Vacay 融合邀请',
|
||||
'settings.notifyPhotosShared': '共享照片 (Immich)',
|
||||
'settings.notifyCollabMessage': '聊天消息 (Collab)',
|
||||
'settings.notifyPackingTagged': '行李清单:分配',
|
||||
'settings.notifyWebhook': 'Webhook 通知',
|
||||
'admin.smtp.title': '邮件与通知',
|
||||
'admin.smtp.hint': '用于邮件通知的 SMTP 配置。可选:Discord、Slack 等的 Webhook URL。',
|
||||
'admin.smtp.testButton': '发送测试邮件',
|
||||
'admin.smtp.testSuccess': '测试邮件发送成功',
|
||||
'admin.smtp.testFailed': '测试邮件发送失败',
|
||||
'dayplan.icsTooltip': '导出日历 (ICS)',
|
||||
'share.linkTitle': '公开链接',
|
||||
'share.linkHint': '创建一个链接,任何人无需登录即可查看此旅行。仅可查看,无法编辑。',
|
||||
'share.createLink': '创建链接',
|
||||
'share.deleteLink': '删除链接',
|
||||
'share.createError': '无法创建链接',
|
||||
'common.copy': '复制',
|
||||
'common.copied': '已复制',
|
||||
'share.permMap': '地图与计划',
|
||||
'share.permBookings': '预订',
|
||||
'share.permPacking': '行李',
|
||||
'share.permBudget': '预算',
|
||||
'share.permCollab': '聊天',
|
||||
'settings.on': '开',
|
||||
'settings.off': '关',
|
||||
'settings.account': '账户',
|
||||
@@ -374,8 +401,8 @@ const zh: Record<string, string> = {
|
||||
'admin.tabs.addons': '扩展',
|
||||
'admin.addons.title': '扩展',
|
||||
'admin.addons.subtitle': '启用或禁用功能以自定义你的 TREK 体验。',
|
||||
'admin.addons.catalog.memories.name': '照片 (Immich)',
|
||||
'admin.addons.catalog.memories.description': '通过 Immich 实例分享旅行照片',
|
||||
'admin.addons.catalog.memories.name': '回忆',
|
||||
'admin.addons.catalog.memories.description': '每次旅行的共享相册',
|
||||
'admin.addons.catalog.packing.name': '行李',
|
||||
'admin.addons.catalog.packing.description': '每次旅行的行李准备清单',
|
||||
'admin.addons.catalog.budget.name': '预算',
|
||||
@@ -578,6 +605,10 @@ const zh: Record<string, string> = {
|
||||
'atlas.markVisited': '标记为已访问',
|
||||
'atlas.markVisitedHint': '将此国家添加到已访问列表',
|
||||
'atlas.addToBucket': '添加到心愿单',
|
||||
'atlas.addPoi': '添加地点',
|
||||
'atlas.bucketNamePlaceholder': '名称(国家、城市、地点…)',
|
||||
'atlas.month': '月份',
|
||||
'atlas.year': '年份',
|
||||
'atlas.addToBucketHint': '保存为想去的地方',
|
||||
'atlas.bucketWhen': '你计划什么时候去?',
|
||||
|
||||
@@ -639,11 +670,14 @@ const zh: Record<string, string> = {
|
||||
'places.importGpx': '导入 GPX',
|
||||
'places.gpxImported': '已从 GPX 导入 {count} 个地点',
|
||||
'places.gpxError': 'GPX 导入失败',
|
||||
'places.urlResolved': '已从 URL 导入地点',
|
||||
'places.assignToDay': '添加到哪一天?',
|
||||
'places.all': '全部',
|
||||
'places.unplanned': '未规划',
|
||||
'places.search': '搜索地点...',
|
||||
'places.allCategories': '所有分类',
|
||||
'places.categoriesSelected': '个分类',
|
||||
'places.clearFilter': '清除筛选',
|
||||
'places.count': '{count} 个地点',
|
||||
'places.countSingular': '1 个地点',
|
||||
'places.allPlanned': '所有地点已规划',
|
||||
@@ -1017,7 +1051,27 @@ const zh: Record<string, string> = {
|
||||
'backup.auto.enable': '启用自动备份',
|
||||
'backup.auto.enableHint': '将按所选计划自动创建备份',
|
||||
'backup.auto.interval': '间隔',
|
||||
'backup.auto.hour': '执行时间',
|
||||
'backup.auto.hourHint': '服务器本地时间({format} 格式)',
|
||||
'backup.auto.dayOfWeek': '星期几',
|
||||
'backup.auto.dayOfMonth': '每月几号',
|
||||
'backup.auto.dayOfMonthHint': '限 1–28 以兼容所有月份',
|
||||
'backup.auto.scheduleSummary': '计划',
|
||||
'backup.auto.summaryDaily': '每天 {hour}:00',
|
||||
'backup.auto.summaryWeekly': '每{day} {hour}:00',
|
||||
'backup.auto.summaryMonthly': '每月 {day} 号 {hour}:00',
|
||||
'backup.auto.envLocked': 'Docker',
|
||||
'backup.auto.envLockedHint': '自动备份通过 Docker 环境变量配置。要更改设置,请更新 docker-compose.yml 并重启容器。',
|
||||
'backup.auto.copyEnv': '复制 Docker 环境变量',
|
||||
'backup.auto.envCopied': 'Docker 环境变量已复制到剪贴板',
|
||||
'backup.auto.keepLabel': '自动删除旧备份',
|
||||
'backup.dow.sunday': '周日',
|
||||
'backup.dow.monday': '周一',
|
||||
'backup.dow.tuesday': '周二',
|
||||
'backup.dow.wednesday': '周三',
|
||||
'backup.dow.thursday': '周四',
|
||||
'backup.dow.friday': '周五',
|
||||
'backup.dow.saturday': '周六',
|
||||
'backup.interval.hourly': '每小时',
|
||||
'backup.interval.daily': '每天',
|
||||
'backup.interval.weekly': '每周',
|
||||
|
||||
Reference in New Issue
Block a user