i18n: add missing translation keys for all features across ES, FR, RU, ZH, NL, AR

This commit is contained in:
Maurice
2026-03-29 17:09:33 +02:00
parent 7dcd89fb71
commit 80c2486570
6 changed files with 354 additions and 4 deletions

View File

@@ -107,6 +107,8 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
'dashboard.noDateHint': 'لا يوجد تاريخ محدد. سيتم إنشاء 7 أيام افتراضية ويمكنك تغيير ذلك لاحقًا.',
'dashboard.coverImage': 'صورة الغلاف',
'dashboard.addCoverImage': 'إضافة صورة غلاف',
'dashboard.addMembers': 'رفاق السفر',
'dashboard.addMember': 'إضافة عضو',
'dashboard.coverSaved': 'تم حفظ صورة الغلاف',
'dashboard.coverUploadError': 'فشل الرفع',
'dashboard.coverRemoveError': 'فشل الإزالة',
@@ -272,6 +274,8 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
'admin.tabs.categories': 'الفئات',
'admin.tabs.backup': 'النسخ الاحتياطي',
'admin.tabs.settings': 'الإعدادات',
'admin.tabs.config': 'الإعدادات',
'admin.tabs.templates': 'قوالب التعبئة',
'admin.tabs.addons': 'الإضافات',
'admin.tabs.github': 'GitHub',
'admin.stats.users': 'المستخدمون',
@@ -322,6 +326,25 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
'admin.keyValid': 'متصل',
'admin.keyInvalid': 'غير صالح',
'admin.keySaved': 'تم حفظ مفاتيح API',
'admin.bagTracking.title': 'تتبع الأمتعة',
'admin.bagTracking.subtitle': 'تفعيل الوزن وتعيين الأمتعة للعناصر',
'admin.packingTemplates.title': 'قوالب التعبئة',
'admin.packingTemplates.subtitle': 'إنشاء قوائم تعبئة قابلة لإعادة الاستخدام',
'admin.packingTemplates.create': 'قالب جديد',
'admin.packingTemplates.namePlaceholder': 'اسم القالب (مثال: عطلة شاطئية)',
'admin.packingTemplates.empty': 'لم يتم إنشاء قوالب بعد',
'admin.packingTemplates.items': 'عناصر',
'admin.packingTemplates.categories': 'فئات',
'admin.packingTemplates.itemName': 'اسم العنصر',
'admin.packingTemplates.itemCategory': 'الفئة',
'admin.packingTemplates.categoryName': 'اسم الفئة (مثال: ملابس)',
'admin.packingTemplates.addCategory': 'إضافة فئة',
'admin.packingTemplates.created': 'تم إنشاء القالب',
'admin.packingTemplates.deleted': 'تم حذف القالب',
'admin.packingTemplates.loadError': 'فشل تحميل القوالب',
'admin.packingTemplates.createError': 'فشل إنشاء القالب',
'admin.packingTemplates.deleteError': 'فشل حذف القالب',
'admin.packingTemplates.saveError': 'فشل الحفظ',
'admin.addons.title': 'الإضافات',
'admin.addons.subtitle': 'فعّل أو عطّل الميزات لتخصيص تجربة TREK.',
'admin.addons.enabled': 'مفعّل',
@@ -344,7 +367,7 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
'admin.github.loading': 'جارٍ التحميل...',
'admin.github.error': 'فشل تحميل الإصدارات',
'admin.github.by': 'بواسطة',
'admin.github.support': 'يساعدني على مواصلة تطوير TREK',
'admin.github.support': 'يساعدني في تطوير TREK',
'admin.update.available': 'يتوفر تحديث',
'admin.update.button': 'عرض على GitHub',
'admin.update.install': 'تثبيت التحديث',
@@ -615,9 +638,9 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
'vacay.selectCountry': 'اختر الدولة',
'vacay.selectRegion': 'اختر المنطقة (اختياري)',
'vacay.addCalendar': 'إضافة تقويم',
'vacay.calendarLabel': 'الاسم (اختياري)',
'vacay.calendarColor': 'لون التقويم',
'vacay.noCalendars': م تتم إضافة تقاويم عطلات بعد',
'vacay.calendarLabel': 'التسمية',
'vacay.calendarColor': 'اللون',
'vacay.noCalendars': ا توجد تقويمات',
'vacay.companyHolidays': 'عطل الشركة',
'vacay.companyHolidaysHint': 'السماح بوضع علامة على أيام عطلات الشركة',
'vacay.companyHolidaysNoDeduct': 'لا تُخصم عطل الشركة من أيام الإجازة.',
@@ -673,6 +696,38 @@ const ar: Record<string, string | { name: string; category: string }[]> = {
'atlas.placesVisited': 'أماكن تمت زيارتها',
'atlas.firstVisit': 'أول رحلة',
'atlas.lastVisitLabel': 'آخر رحلة',
'atlas.unmark': 'إزالة',
'atlas.confirmMark': 'تعيين هذا البلد كمُزار؟',
'atlas.confirmUnmark': 'إزالة هذا البلد من قائمة المُزارة؟',
'atlas.markVisited': 'تعيين كمُزار',
'atlas.markVisitedHint': 'إضافة هذا البلد إلى قائمة المُزارة',
'atlas.addToBucket': 'إضافة إلى قائمة الأمنيات',
'atlas.addToBucketHint': 'حفظ كمكان تريد زيارته',
'atlas.bucketWhen': 'متى تخطط للزيارة؟',
'atlas.statsTab': 'الإحصائيات',
'atlas.bucketTab': 'قائمة الأمنيات',
'atlas.addBucket': 'إضافة إلى قائمة الأمنيات',
'atlas.bucketNamePlaceholder': 'مكان أو وجهة...',
'atlas.bucketNotesPlaceholder': 'ملاحظات (اختياري)',
'atlas.bucketEmpty': 'قائمة أمنياتك فارغة',
'atlas.bucketEmptyHint': 'أضف أماكن تحلم بزيارتها',
// Packing
'packing.addItem': 'إضافة عنصر',
'packing.addItemPlaceholder': 'اسم العنصر...',
'packing.addCategory': 'إضافة فئة',
'packing.newCategoryPlaceholder': 'اسم الفئة (مثال: ملابس)',
'packing.applyTemplate': 'تطبيق قالب',
'packing.template': 'قالب',
'packing.templateApplied': 'تمت إضافة {count} عنصر من القالب',
'packing.templateError': 'فشل تطبيق القالب',
'packing.assignUser': 'تعيين مستخدم',
'packing.noMembers': 'لا أعضاء',
'packing.bags': 'أمتعة',
'packing.noBag': 'غير معيّن',
'packing.totalWeight': 'الوزن الإجمالي',
'packing.bagName': 'الاسم...',
'packing.addBag': 'إضافة أمتعة',
// Collab
'collab.tabs.chat': 'الدردشة',

View File

@@ -103,6 +103,8 @@ const es: Record<string, string> = {
'dashboard.noDateHint': 'Sin fecha definida: se crearán 7 días por defecto. Puedes cambiarlo cuando quieras.',
'dashboard.coverImage': 'Imagen de portada',
'dashboard.addCoverImage': 'Añadir imagen de portada',
'dashboard.addMembers': 'Compañeros de viaje',
'dashboard.addMember': 'Añadir miembro',
'dashboard.coverSaved': 'Imagen de portada guardada',
'dashboard.coverUploadError': 'Error al subir la imagen',
'dashboard.coverRemoveError': 'Error al eliminar la imagen',
@@ -341,6 +343,28 @@ const es: Record<string, string> = {
'admin.fileTypesFormat': 'Extensiones separadas por comas (p. ej. jpg,png,pdf,doc). Usa * para permitir todos los tipos.',
'admin.fileTypesSaved': 'Ajustes de tipos de archivo guardados',
'admin.bagTracking.title': 'Seguimiento de equipaje',
'admin.bagTracking.subtitle': 'Activar peso y asignación de equipaje para artículos de la lista',
'admin.tabs.config': 'Configuración',
'admin.tabs.templates': 'Plantillas de equipaje',
'admin.packingTemplates.title': 'Plantillas de equipaje',
'admin.packingTemplates.subtitle': 'Crear listas de equipaje reutilizables para tus viajes',
'admin.packingTemplates.create': 'Nueva plantilla',
'admin.packingTemplates.namePlaceholder': 'Nombre de la plantilla (ej. Vacaciones en la playa)',
'admin.packingTemplates.empty': 'No se han creado plantillas aún',
'admin.packingTemplates.items': 'artículos',
'admin.packingTemplates.categories': 'categorías',
'admin.packingTemplates.itemName': 'Nombre del artículo',
'admin.packingTemplates.itemCategory': 'Categoría',
'admin.packingTemplates.categoryName': 'Nombre de categoría (ej. Ropa)',
'admin.packingTemplates.addCategory': 'Añadir categoría',
'admin.packingTemplates.created': 'Plantilla creada',
'admin.packingTemplates.deleted': 'Plantilla eliminada',
'admin.packingTemplates.loadError': 'Error al cargar plantillas',
'admin.packingTemplates.createError': 'Error al crear plantilla',
'admin.packingTemplates.deleteError': 'Error al eliminar plantilla',
'admin.packingTemplates.saveError': 'Error al guardar',
// Addons
'admin.tabs.addons': 'Complementos',
'admin.addons.title': 'Complementos',
@@ -377,6 +401,7 @@ const es: Record<string, string> = {
'admin.github.hideDetails': 'Ocultar detalles',
'admin.github.loadMore': 'Cargar más',
'admin.github.loading': 'Cargando...',
'admin.github.support': 'Ayuda a seguir desarrollando TREK',
'admin.github.error': 'No se pudieron cargar las versiones',
'admin.github.by': 'por',
'admin.update.available': 'Actualización disponible',
@@ -471,6 +496,10 @@ const es: Record<string, string> = {
'vacay.fuseInfo3': 'Ambas partes pueden borrar entradas y cambiar el número de días de vacaciones disponibles.',
'vacay.fuseInfo4': 'Ajustes como festivos y festivos de empresa se comparten.',
'vacay.fuseInfo5': 'La fusión puede disolverse en cualquier momento por cualquiera de las partes. Tus entradas se conservarán.',
'vacay.addCalendar': 'Añadir calendario',
'vacay.calendarColor': 'Color',
'vacay.calendarLabel': 'Etiqueta',
'vacay.noCalendars': 'Sin calendarios',
// Atlas addon
'atlas.subtitle': 'Tu huella viajera por el mundo',
@@ -506,6 +535,21 @@ const es: Record<string, string> = {
'atlas.tripPlural': 'Viajes',
'atlas.placeVisited': 'Lugar visitado',
'atlas.placesVisited': 'Lugares visitados',
'atlas.statsTab': 'Estadísticas',
'atlas.bucketTab': 'Lista de deseos',
'atlas.addBucket': 'Añadir a lista de deseos',
'atlas.bucketNamePlaceholder': 'Lugar o destino...',
'atlas.bucketNotesPlaceholder': 'Notas (opcional)',
'atlas.bucketEmpty': 'Tu lista de deseos está vacía',
'atlas.bucketEmptyHint': 'Añade lugares que sueñas con visitar',
'atlas.unmark': 'Eliminar',
'atlas.confirmMark': '¿Marcar este país como visitado?',
'atlas.confirmUnmark': '¿Eliminar este país de tu lista de visitados?',
'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.addToBucketHint': 'Guardar como lugar que quieres visitar',
'atlas.bucketWhen': '¿Cuándo planeas visitarlo?',
// Trip Planner
'trip.tabs.plan': 'Plan',
@@ -750,6 +794,21 @@ const es: Record<string, string> = {
'packing.menuCheckAll': 'Marcar todo',
'packing.menuUncheckAll': 'Desmarcar todo',
'packing.menuDeleteCat': 'Eliminar categoría',
'packing.addItem': 'Añadir artículo',
'packing.addItemPlaceholder': 'Nombre del artículo...',
'packing.addCategory': 'Añadir categoría',
'packing.newCategoryPlaceholder': 'Nombre de categoría (ej. Ropa)',
'packing.applyTemplate': 'Aplicar plantilla',
'packing.template': 'Plantilla',
'packing.templateApplied': '{count} artículos añadidos desde plantilla',
'packing.templateError': 'Error al aplicar plantilla',
'packing.assignUser': 'Asignar usuario',
'packing.noMembers': 'Sin miembros',
'packing.bags': 'Equipaje',
'packing.noBag': 'Sin asignar',
'packing.totalWeight': 'Peso total',
'packing.bagName': 'Nombre...',
'packing.addBag': 'Añadir equipaje',
'packing.changeCategory': 'Cambiar categoría',
'packing.confirm.clearChecked': '¿Seguro que quieres eliminar {count} elementos marcados?',
'packing.confirm.deleteCat': '¿Seguro que quieres eliminar la categoría "{name}" con {count} elementos?',

View File

@@ -102,6 +102,8 @@ const fr: Record<string, string> = {
'dashboard.noDateHint': 'Aucune date définie — 7 jours par défaut seront créés. Vous pouvez modifier cela à tout moment.',
'dashboard.coverImage': 'Image de couverture',
'dashboard.addCoverImage': 'Ajouter une image de couverture',
'dashboard.addMembers': 'Compagnons de voyage',
'dashboard.addMember': 'Ajouter un membre',
'dashboard.coverSaved': 'Image de couverture enregistrée',
'dashboard.coverUploadError': 'Échec du téléversement',
'dashboard.coverRemoveError': 'Échec de la suppression',
@@ -345,6 +347,28 @@ const fr: Record<string, string> = {
'admin.fileTypesFormat': 'Extensions séparées par des virgules (ex. jpg,png,pdf,doc). Utilisez * pour autoriser tous les types.',
'admin.fileTypesSaved': 'Paramètres des types de fichiers enregistrés',
'admin.bagTracking.title': 'Suivi des bagages',
'admin.bagTracking.subtitle': 'Activer le poids et l\'attribution de bagages pour les articles',
'admin.tabs.config': 'Configuration',
'admin.tabs.templates': 'Modèles de bagages',
'admin.packingTemplates.title': 'Modèles de bagages',
'admin.packingTemplates.subtitle': 'Créer des listes de bagages réutilisables pour vos voyages',
'admin.packingTemplates.create': 'Nouveau modèle',
'admin.packingTemplates.namePlaceholder': 'Nom du modèle (ex. Vacances à la plage)',
'admin.packingTemplates.empty': 'Aucun modèle créé',
'admin.packingTemplates.items': 'articles',
'admin.packingTemplates.categories': 'catégories',
'admin.packingTemplates.itemName': 'Nom de l\'article',
'admin.packingTemplates.itemCategory': 'Catégorie',
'admin.packingTemplates.categoryName': 'Nom de catégorie (ex. Vêtements)',
'admin.packingTemplates.addCategory': 'Ajouter une catégorie',
'admin.packingTemplates.created': 'Modèle créé',
'admin.packingTemplates.deleted': 'Modèle supprimé',
'admin.packingTemplates.loadError': 'Erreur de chargement des modèles',
'admin.packingTemplates.createError': 'Erreur de création du modèle',
'admin.packingTemplates.deleteError': 'Erreur de suppression du modèle',
'admin.packingTemplates.saveError': 'Erreur de sauvegarde',
// Addons
'admin.tabs.addons': 'Extensions',
'admin.addons.title': 'Extensions',
@@ -396,6 +420,7 @@ const fr: Record<string, string> = {
'admin.github.hideDetails': 'Masquer les détails',
'admin.github.loadMore': 'Charger plus',
'admin.github.loading': 'Chargement...',
'admin.github.support': 'Aide à continuer le développement de TREK',
'admin.github.error': 'Impossible de charger les versions',
'admin.github.by': 'par',
@@ -491,6 +516,10 @@ const fr: Record<string, string> = {
'vacay.fuseInfo3': 'Les deux parties peuvent supprimer des entrées et modifier les droits aux vacances.',
'vacay.fuseInfo4': 'Les paramètres comme les jours fériés et les jours d\'entreprise sont partagés.',
'vacay.fuseInfo5': 'La fusion peut être dissoute à tout moment par l\'une ou l\'autre partie. Vos entrées seront préservées.',
'vacay.addCalendar': 'Ajouter un calendrier',
'vacay.calendarColor': 'Couleur',
'vacay.calendarLabel': 'Libellé',
'vacay.noCalendars': 'Aucun calendrier',
'nav.myTrips': 'Mes voyages',
// Atlas addon
@@ -527,6 +556,21 @@ const fr: Record<string, string> = {
'atlas.tripPlural': 'Voyages',
'atlas.placeVisited': 'Lieu visité',
'atlas.placesVisited': 'Lieux visités',
'atlas.statsTab': 'Statistiques',
'atlas.bucketTab': 'Bucket List',
'atlas.addBucket': 'Ajouter à la bucket list',
'atlas.bucketNamePlaceholder': 'Lieu ou destination...',
'atlas.bucketNotesPlaceholder': 'Notes (optionnel)',
'atlas.bucketEmpty': 'Votre bucket list est vide',
'atlas.bucketEmptyHint': 'Ajoutez des lieux que vous rêvez de visiter',
'atlas.unmark': 'Retirer',
'atlas.confirmMark': 'Marquer ce pays comme visité ?',
'atlas.confirmUnmark': 'Retirer ce pays de votre liste ?',
'atlas.markVisited': 'Marquer comme visité',
'atlas.markVisitedHint': 'Ajouter ce pays à votre liste de visités',
'atlas.addToBucket': 'Ajouter à la bucket list',
'atlas.addToBucketHint': 'Sauvegarder comme lieu à visiter',
'atlas.bucketWhen': 'Quand prévoyez-vous d\'y aller ?',
// Trip Planner
'trip.tabs.plan': 'Plan',
@@ -808,6 +852,21 @@ const fr: Record<string, string> = {
'packing.menuCheckAll': 'Tout cocher',
'packing.menuUncheckAll': 'Tout décocher',
'packing.menuDeleteCat': 'Supprimer la catégorie',
'packing.addItem': 'Ajouter un article',
'packing.addItemPlaceholder': 'Nom de l\'article...',
'packing.addCategory': 'Ajouter une catégorie',
'packing.newCategoryPlaceholder': 'Nom de catégorie (ex. Vêtements)',
'packing.applyTemplate': 'Appliquer un modèle',
'packing.template': 'Modèle',
'packing.templateApplied': '{count} articles ajoutés depuis le modèle',
'packing.templateError': 'Erreur lors de l\'application du modèle',
'packing.assignUser': 'Assigner un utilisateur',
'packing.noMembers': 'Aucun membre',
'packing.bags': 'Bagages',
'packing.noBag': 'Non assigné',
'packing.totalWeight': 'Poids total',
'packing.bagName': 'Nom...',
'packing.addBag': 'Ajouter un bagage',
'packing.changeCategory': 'Changer de catégorie',
'packing.confirm.clearChecked': 'Voulez-vous vraiment supprimer {count} articles cochés ?',
'packing.confirm.deleteCat': 'Voulez-vous vraiment supprimer la catégorie « {name} » avec {count} articles ?',

View File

@@ -102,6 +102,8 @@ const nl: Record<string, string> = {
'dashboard.noDateHint': 'Geen datum ingesteld — er worden standaard 7 dagen aangemaakt. Je kunt dit altijd wijzigen.',
'dashboard.coverImage': 'Omslagafbeelding',
'dashboard.addCoverImage': 'Omslagafbeelding toevoegen',
'dashboard.addMembers': 'Reisgenoten',
'dashboard.addMember': 'Lid toevoegen',
'dashboard.coverSaved': 'Omslagafbeelding opgeslagen',
'dashboard.coverUploadError': 'Uploaden mislukt',
'dashboard.coverRemoveError': 'Verwijderen mislukt',
@@ -345,6 +347,28 @@ const nl: Record<string, string> = {
'admin.fileTypesFormat': 'Kommagescheiden extensies (bijv. jpg,png,pdf,doc). Gebruik * om alle typen toe te staan.',
'admin.fileTypesSaved': 'Bestandstype-instellingen opgeslagen',
'admin.bagTracking.title': 'Bagagetracking',
'admin.bagTracking.subtitle': 'Gewicht en bagagetoewijzing inschakelen voor paklijstitems',
'admin.tabs.config': 'Configuratie',
'admin.tabs.templates': 'Paksjablonen',
'admin.packingTemplates.title': 'Paksjablonen',
'admin.packingTemplates.subtitle': 'Herbruikbare paklijsten maken voor je reizen',
'admin.packingTemplates.create': 'Nieuw sjabloon',
'admin.packingTemplates.namePlaceholder': 'Sjabloonnaam (bijv. Strandvakantie)',
'admin.packingTemplates.empty': 'Nog geen sjablonen aangemaakt',
'admin.packingTemplates.items': 'items',
'admin.packingTemplates.categories': 'categorieën',
'admin.packingTemplates.itemName': 'Itemnaam',
'admin.packingTemplates.itemCategory': 'Categorie',
'admin.packingTemplates.categoryName': 'Categorienaam (bijv. Kleding)',
'admin.packingTemplates.addCategory': 'Categorie toevoegen',
'admin.packingTemplates.created': 'Sjabloon aangemaakt',
'admin.packingTemplates.deleted': 'Sjabloon verwijderd',
'admin.packingTemplates.loadError': 'Fout bij laden van sjablonen',
'admin.packingTemplates.createError': 'Fout bij aanmaken van sjabloon',
'admin.packingTemplates.deleteError': 'Fout bij verwijderen van sjabloon',
'admin.packingTemplates.saveError': 'Fout bij opslaan',
// Addons
'admin.tabs.addons': 'Add-ons',
'admin.addons.title': 'Add-ons',
@@ -396,6 +420,7 @@ const nl: Record<string, string> = {
'admin.github.hideDetails': 'Details verbergen',
'admin.github.loadMore': 'Meer laden',
'admin.github.loading': 'Laden...',
'admin.github.support': 'Helpt mij TREK verder te ontwikkelen',
'admin.github.error': 'Releases laden mislukt',
'admin.github.by': 'door',
@@ -491,6 +516,10 @@ const nl: Record<string, string> = {
'vacay.fuseInfo3': 'Beide partijen kunnen invoeren verwijderen en vakantierechten wijzigen.',
'vacay.fuseInfo4': 'Instellingen zoals feestdagen en bedrijfsvakanties worden gedeeld.',
'vacay.fuseInfo5': 'De fusie kan op elk moment door beide partijen worden opgeheven. Je invoeren blijven behouden.',
'vacay.addCalendar': 'Kalender toevoegen',
'vacay.calendarColor': 'Kleur',
'vacay.calendarLabel': 'Label',
'vacay.noCalendars': 'Geen kalenders',
'nav.myTrips': 'Mijn reizen',
// Atlas addon
@@ -527,6 +556,21 @@ const nl: Record<string, string> = {
'atlas.tripPlural': 'Reizen',
'atlas.placeVisited': 'Bezochte plaats',
'atlas.placesVisited': 'Bezochte plaatsen',
'atlas.statsTab': 'Statistieken',
'atlas.bucketTab': 'Bucket List',
'atlas.addBucket': 'Toevoegen aan bucket list',
'atlas.bucketNamePlaceholder': 'Plaats of bestemming...',
'atlas.bucketNotesPlaceholder': 'Notities (optioneel)',
'atlas.bucketEmpty': 'Je bucket list is leeg',
'atlas.bucketEmptyHint': 'Voeg plekken toe die je wilt bezoeken',
'atlas.unmark': 'Verwijderen',
'atlas.confirmMark': 'Dit land als bezocht markeren?',
'atlas.confirmUnmark': 'Dit land van je bezochte lijst verwijderen?',
'atlas.markVisited': 'Markeren als bezocht',
'atlas.markVisitedHint': 'Dit land toevoegen aan je bezochte lijst',
'atlas.addToBucket': 'Aan bucket list toevoegen',
'atlas.addToBucketHint': 'Opslaan als plek die je wilt bezoeken',
'atlas.bucketWhen': 'Wanneer ben je van plan te gaan?',
// Trip Planner
'trip.tabs.plan': 'Plan',
@@ -808,6 +852,21 @@ const nl: Record<string, string> = {
'packing.menuCheckAll': 'Alles aanvinken',
'packing.menuUncheckAll': 'Alles uitvinken',
'packing.menuDeleteCat': 'Categorie verwijderen',
'packing.addItem': 'Item toevoegen',
'packing.addItemPlaceholder': 'Itemnaam...',
'packing.addCategory': 'Categorie toevoegen',
'packing.newCategoryPlaceholder': 'Categorienaam (bijv. Kleding)',
'packing.applyTemplate': 'Sjabloon toepassen',
'packing.template': 'Sjabloon',
'packing.templateApplied': '{count} items toegevoegd vanuit sjabloon',
'packing.templateError': 'Fout bij toepassen van sjabloon',
'packing.assignUser': 'Gebruiker toewijzen',
'packing.noMembers': 'Geen leden',
'packing.bags': 'Bagage',
'packing.noBag': 'Niet toegewezen',
'packing.totalWeight': 'Totaalgewicht',
'packing.bagName': 'Naam...',
'packing.addBag': 'Bagage toevoegen',
'packing.changeCategory': 'Categorie wijzigen',
'packing.confirm.clearChecked': 'Weet je zeker dat je {count} aangevinkte items wilt verwijderen?',
'packing.confirm.deleteCat': 'Weet je zeker dat je de categorie "{name}" met {count} items wilt verwijderen?',

View File

@@ -102,6 +102,8 @@ const ru: Record<string, string> = {
'dashboard.noDateHint': 'Дата не указана — будет создано 7 дней по умолчанию. Вы можете изменить это в любое время.',
'dashboard.coverImage': 'Обложка',
'dashboard.addCoverImage': 'Добавить обложку',
'dashboard.addMembers': 'Попутчики',
'dashboard.addMember': 'Добавить участника',
'dashboard.coverSaved': 'Обложка сохранена',
'dashboard.coverUploadError': 'Ошибка загрузки',
'dashboard.coverRemoveError': 'Ошибка удаления',
@@ -345,6 +347,28 @@ const ru: Record<string, string> = {
'admin.fileTypesFormat': 'Расширения через запятую (напр. jpg,png,pdf,doc). Используйте * для разрешения всех типов.',
'admin.fileTypesSaved': 'Настройки типов файлов сохранены',
'admin.bagTracking.title': 'Отслеживание багажа',
'admin.bagTracking.subtitle': 'Включить вес и привязку к багажу для вещей',
'admin.tabs.config': 'Конфигурация',
'admin.tabs.templates': 'Шаблоны упаковки',
'admin.packingTemplates.title': 'Шаблоны упаковки',
'admin.packingTemplates.subtitle': 'Создавайте многоразовые списки вещей для поездок',
'admin.packingTemplates.create': 'Новый шаблон',
'admin.packingTemplates.namePlaceholder': 'Название шаблона (напр. Пляжный отдых)',
'admin.packingTemplates.empty': 'Шаблоны ещё не созданы',
'admin.packingTemplates.items': 'вещей',
'admin.packingTemplates.categories': 'категорий',
'admin.packingTemplates.itemName': 'Название вещи',
'admin.packingTemplates.itemCategory': 'Категория',
'admin.packingTemplates.categoryName': 'Название категории (напр. Одежда)',
'admin.packingTemplates.addCategory': 'Добавить категорию',
'admin.packingTemplates.created': 'Шаблон создан',
'admin.packingTemplates.deleted': 'Шаблон удалён',
'admin.packingTemplates.loadError': 'Ошибка загрузки шаблонов',
'admin.packingTemplates.createError': 'Ошибка создания шаблона',
'admin.packingTemplates.deleteError': 'Ошибка удаления шаблона',
'admin.packingTemplates.saveError': 'Ошибка сохранения',
// Addons
'admin.tabs.addons': 'Дополнения',
'admin.addons.title': 'Дополнения',
@@ -396,6 +420,7 @@ const ru: Record<string, string> = {
'admin.github.hideDetails': 'Скрыть подробности',
'admin.github.loadMore': 'Загрузить ещё',
'admin.github.loading': 'Загрузка...',
'admin.github.support': 'Помогает продолжать разработку TREK',
'admin.github.error': 'Не удалось загрузить релизы',
'admin.github.by': 'от',
@@ -491,6 +516,10 @@ const ru: Record<string, string> = {
'vacay.fuseInfo3': 'Обе стороны могут удалять записи и изменять право на отпуск.',
'vacay.fuseInfo4': 'Настройки, такие как праздники и корпоративные выходные, становятся общими.',
'vacay.fuseInfo5': 'Объединение можно отменить в любое время любой из сторон. Ваши записи будут сохранены.',
'vacay.addCalendar': 'Добавить календарь',
'vacay.calendarColor': 'Цвет',
'vacay.calendarLabel': 'Название',
'vacay.noCalendars': 'Нет календарей',
'nav.myTrips': 'Мои поездки',
// Atlas addon
@@ -527,6 +556,21 @@ const ru: Record<string, string> = {
'atlas.tripPlural': 'Поездки',
'atlas.placeVisited': 'Посещённое место',
'atlas.placesVisited': 'Посещённые места',
'atlas.statsTab': 'Статистика',
'atlas.bucketTab': 'Список желаний',
'atlas.addBucket': 'Добавить в список желаний',
'atlas.bucketNamePlaceholder': 'Место или направление...',
'atlas.bucketNotesPlaceholder': 'Заметки (необязательно)',
'atlas.bucketEmpty': 'Ваш список желаний пуст',
'atlas.bucketEmptyHint': 'Добавьте места, которые мечтаете посетить',
'atlas.unmark': 'Удалить',
'atlas.confirmMark': 'Отметить эту страну как посещённую?',
'atlas.confirmUnmark': 'Удалить эту страну из списка посещённых?',
'atlas.markVisited': 'Отметить как посещённую',
'atlas.markVisitedHint': 'Добавить эту страну в список посещённых',
'atlas.addToBucket': 'В список желаний',
'atlas.addToBucketHint': 'Сохранить как место для посещения',
'atlas.bucketWhen': 'Когда вы планируете поехать?',
// Trip Planner
'trip.tabs.plan': 'План',
@@ -808,6 +852,21 @@ const ru: Record<string, string> = {
'packing.menuCheckAll': 'Отметить все',
'packing.menuUncheckAll': 'Снять отметки',
'packing.menuDeleteCat': 'Удалить категорию',
'packing.addItem': 'Добавить вещь',
'packing.addItemPlaceholder': 'Название...',
'packing.addCategory': 'Добавить категорию',
'packing.newCategoryPlaceholder': 'Название категории (напр. Одежда)',
'packing.applyTemplate': 'Применить шаблон',
'packing.template': 'Шаблон',
'packing.templateApplied': '{count} вещей добавлено из шаблона',
'packing.templateError': 'Ошибка применения шаблона',
'packing.assignUser': 'Назначить пользователя',
'packing.noMembers': 'Нет участников',
'packing.bags': 'Багаж',
'packing.noBag': 'Не назначено',
'packing.totalWeight': 'Общий вес',
'packing.bagName': 'Название...',
'packing.addBag': 'Добавить багаж',
'packing.changeCategory': 'Изменить категорию',
'packing.confirm.clearChecked': 'Вы уверены, что хотите удалить {count} отмеченных вещей?',
'packing.confirm.deleteCat': 'Вы уверены, что хотите удалить категорию «{name}» с {count} вещами?',

View File

@@ -102,6 +102,8 @@ const zh: Record<string, string> = {
'dashboard.noDateHint': '未设置日期——将默认创建 7 天。你可以随时修改。',
'dashboard.coverImage': '封面图片',
'dashboard.addCoverImage': '添加封面图片',
'dashboard.addMembers': '旅伴',
'dashboard.addMember': '添加成员',
'dashboard.coverSaved': '封面图片已保存',
'dashboard.coverUploadError': '上传失败',
'dashboard.coverRemoveError': '移除失败',
@@ -345,6 +347,28 @@ const zh: Record<string, string> = {
'admin.fileTypesFormat': '以逗号分隔的扩展名(如 jpg,png,pdf,doc。使用 * 允许所有类型。',
'admin.fileTypesSaved': '文件类型设置已保存',
'admin.bagTracking.title': '行李追踪',
'admin.bagTracking.subtitle': '为打包物品启用重量和行李分配',
'admin.tabs.config': '配置',
'admin.tabs.templates': '打包模板',
'admin.packingTemplates.title': '打包模板',
'admin.packingTemplates.subtitle': '创建可复用的旅行打包清单',
'admin.packingTemplates.create': '新建模板',
'admin.packingTemplates.namePlaceholder': '模板名称(如:海滩度假)',
'admin.packingTemplates.empty': '尚未创建模板',
'admin.packingTemplates.items': '物品',
'admin.packingTemplates.categories': '分类',
'admin.packingTemplates.itemName': '物品名称',
'admin.packingTemplates.itemCategory': '分类',
'admin.packingTemplates.categoryName': '分类名称(如:衣物)',
'admin.packingTemplates.addCategory': '添加分类',
'admin.packingTemplates.created': '模板已创建',
'admin.packingTemplates.deleted': '模板已删除',
'admin.packingTemplates.loadError': '加载模板失败',
'admin.packingTemplates.createError': '创建模板失败',
'admin.packingTemplates.deleteError': '删除模板失败',
'admin.packingTemplates.saveError': '保存失败',
// Addons
'admin.tabs.addons': '扩展',
'admin.addons.title': '扩展',
@@ -396,6 +420,7 @@ const zh: Record<string, string> = {
'admin.github.hideDetails': '隐藏详情',
'admin.github.loadMore': '加载更多',
'admin.github.loading': '加载中...',
'admin.github.support': '帮助我继续开发 TREK',
'admin.github.error': '加载版本失败',
'admin.github.by': '作者',
@@ -491,6 +516,10 @@ const zh: Record<string, string> = {
'vacay.fuseInfo3': '双方都可以删除记录和修改年假额度。',
'vacay.fuseInfo4': '公共假日和公司假日等设置将共享。',
'vacay.fuseInfo5': '任何一方都可以随时解除合并。你的记录将被保留。',
'vacay.addCalendar': '添加日历',
'vacay.calendarColor': '颜色',
'vacay.calendarLabel': '标签',
'vacay.noCalendars': '无日历',
'nav.myTrips': '我的旅行',
// Atlas addon
@@ -527,6 +556,21 @@ const zh: Record<string, string> = {
'atlas.tripPlural': '次旅行',
'atlas.placeVisited': '个地点已访问',
'atlas.placesVisited': '个地点已访问',
'atlas.statsTab': '统计',
'atlas.bucketTab': '心愿单',
'atlas.addBucket': '添加到心愿单',
'atlas.bucketNamePlaceholder': '地点或目的地...',
'atlas.bucketNotesPlaceholder': '备注(可选)',
'atlas.bucketEmpty': '你的心愿单是空的',
'atlas.bucketEmptyHint': '添加你梦想去的地方',
'atlas.unmark': '移除',
'atlas.confirmMark': '将此国家标记为已访问?',
'atlas.confirmUnmark': '从已访问列表中移除此国家?',
'atlas.markVisited': '标记为已访问',
'atlas.markVisitedHint': '将此国家添加到已访问列表',
'atlas.addToBucket': '添加到心愿单',
'atlas.addToBucketHint': '保存为想去的地方',
'atlas.bucketWhen': '你计划什么时候去?',
// Trip Planner
'trip.tabs.plan': '计划',
@@ -808,6 +852,21 @@ const zh: Record<string, string> = {
'packing.menuCheckAll': '全部勾选',
'packing.menuUncheckAll': '取消全部勾选',
'packing.menuDeleteCat': '删除分类',
'packing.addItem': '添加物品',
'packing.addItemPlaceholder': '物品名称...',
'packing.addCategory': '添加分类',
'packing.newCategoryPlaceholder': '分类名称(如:衣物)',
'packing.applyTemplate': '应用模板',
'packing.template': '模板',
'packing.templateApplied': '已从模板添加 {count} 个物品',
'packing.templateError': '应用模板失败',
'packing.assignUser': '分配用户',
'packing.noMembers': '无成员',
'packing.bags': '行李',
'packing.noBag': '未分配',
'packing.totalWeight': '总重量',
'packing.bagName': '名称...',
'packing.addBag': '添加行李',
'packing.changeCategory': '更改分类',
'packing.confirm.clearChecked': '确定移除 {count} 个已勾选的物品?',
'packing.confirm.deleteCat': '确定删除分类「{name}」及其 {count} 个物品?',