service.json 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497
  1. {
  2. "page": {
  3. "notFound": "Registro de servicio no encontrado",
  4. "updated": "Registro de servicio actualizado",
  5. "failedUpdate": "Error al actualizar registro de servicio",
  6. "deleteTitle": "Eliminar Registro de Servicio",
  7. "deleteDescription": "Esto eliminará permanentemente este registro de servicio y todos los datos asociados. Esto no se puede deshacer.",
  8. "deleted": "Registro de servicio eliminado",
  9. "failedDelete": "Error al eliminar",
  10. "datesExpiredTitle": "Fechas de factura expiradas",
  11. "datesExpiredDescription": "La fecha de la factura o la fecha de vencimiento ha pasado. ¿Desea actualizarlas antes de continuar?",
  12. "datesExpiredUpdate": "Actualizar fechas y continuar",
  13. "datesExpiredProceed": "Continuar sin cambios",
  14. "datesExpiredUseToday": "Actualizar a la fecha de hoy",
  15. "datesExpiredCustomize": "Elegir fechas manualmente",
  16. "datesExpiredBack": "Atrás",
  17. "datesExpiredSetToday": "Establecer a hoy",
  18. "customFieldsInvalid": "Por favor complete todos los campos personalizados obligatorios",
  19. "customFieldsSaveFailed": "Error al guardar los campos personalizados",
  20. "problems": {
  21. "title": "El trabajo necesita un título antes de poder guardarse.",
  22. "negative": "Las cantidades, horas, precios y costes no pueden ser negativos.",
  23. "partName": "Toda pieza con precio necesita un nombre.",
  24. "laborDescription": "Toda línea de mano de obra con horas o tarifa necesita una descripción."
  25. }
  26. },
  27. "header": {
  28. "tabs": {
  29. "details": "Detalles",
  30. "images": "Imágenes",
  31. "video": "Vídeo",
  32. "documents": "Documentos",
  33. "statusReports": "Informes de estado"
  34. },
  35. "save": "Guardar",
  36. "pdf": "PDF",
  37. "email": "Correo Electrónico",
  38. "share": "Compartir",
  39. "notify": "Notificar",
  40. "delete": "Eliminar",
  41. "unpaid": "Sin Pagar",
  42. "unsavedChanges": "Cambios sin guardar",
  43. "saved": "Guardado",
  44. "joinCall": "Unirse a la videollamada",
  45. "moreActions": "Más acciones",
  46. "designMenu": "Diseño de la factura",
  47. "designMenuLoading": "Comprobando con qué diseño se imprime esta factura...",
  48. "designMenuExplain": "Se envió al cliente el {date}, así que sigue imprimiéndose con el diseño del envío. Elegir otro solo cambia el aspecto. Lo que dice la factura se mantiene tal como se envió, y el aspecto anterior no se conserva.",
  49. "designSentWith": "El diseño con el que se envió",
  50. "designFollow": "Seguir el diseño predeterminado",
  51. "designFollowNamed": "Seguir el diseño predeterminado ({name})",
  52. "designDefaultName": "el diseño predeterminado",
  53. "designPickConfirmTitle": "¿Cambiar esta factura a {name}?",
  54. "designPickConfirmBody": "Solo cambia el aspecto. Los datos del taller, el cliente, las condiciones de pago y los importes se mantienen tal como se enviaron. El diseño actual no se conserva, así que esto no se puede deshacer.",
  55. "designPickConfirm": "Cambiar el diseño",
  56. "designPickDone": "La factura ya se imprime con {name}",
  57. "designPickFailed": "No se pudo cambiar el diseño"
  58. },
  59. "basicInfo": {
  60. "title": "Información Básica",
  61. "invoiceDetails": "Detalles de factura",
  62. "customerInfo": "Cliente y vehículo",
  63. "paid": "Pagado",
  64. "markPaid": "Marcar como pagado",
  65. "markUnpaid": "Marcar como no pagado",
  66. "vehicle": "Vehículo",
  67. "open": "Abierto",
  68. "customer": "Cliente",
  69. "titleLabel": "Título *",
  70. "titlePlaceholder": "Cambio de Aceite",
  71. "date": "Fecha",
  72. "type": "Tipo",
  73. "mileage": "Millaje",
  74. "mileageMarine": "Horas de Motor",
  75. "status": "Estado",
  76. "technician": "Técnico",
  77. "invoiceNumber": "Número de Factura",
  78. "invoiceDate": "Fecha de factura",
  79. "invoiceDueDate": "Fecha de vencimiento",
  80. "typeOptions": {
  81. "maintenance": "Mantenimiento",
  82. "repair": "Reparación",
  83. "upgrade": "Mejora",
  84. "inspection": "Inspección"
  85. },
  86. "statusOptions": {
  87. "pending": "Pendiente",
  88. "in_progress": "En Progreso",
  89. "waiting_parts": "Esperando Piezas",
  90. "completed": "Completado"
  91. },
  92. "searchVehicles": "Buscar vehículos...",
  93. "noVehicleFound": "Vehículo no encontrado.",
  94. "techPicker": {
  95. "placeholder": "Seleccionar o escribir un nombre...",
  96. "searchPlaceholder": "Buscar o escribir nombre...",
  97. "useCustom": "Usar \"{search}\"",
  98. "typePrompt": "Escriba un nombre...",
  99. "boardTechnicians": "Técnicos del Tablero",
  100. "teamMembers": "Miembros del Equipo"
  101. },
  102. "design": "Diseño de factura",
  103. "designDefault": "Predeterminado del taller",
  104. "designFollowing": "Predeterminado ({name})",
  105. "designPinned": "Esta factura llegó al cliente el {date}, así que mantiene el diseño con el que salió. Una elección aquí se aplica solo después de desbloquearla y volver a enviarla. Un propietario puede cambiar el diseño ahora desde Diseño de la factura en el menú ⋮ de arriba.",
  106. "designSaved": "Diseño de factura actualizado",
  107. "designSavedPinned": "Guardado. Esta factura mantiene el diseño con el que se envió hasta que se desbloquee y se vuelva a enviar.",
  108. "designFollowingRule": "Predeterminado ({name}, {rule})",
  109. "designRule": {
  110. "parts_sale": "Venta solo de piezas"
  111. },
  112. "designSaveFailed": "No se pudo cambiar el diseño de la factura"
  113. },
  114. "parts": {
  115. "title": "Piezas",
  116. "fromInventory": "Del Inventario",
  117. "addPart": "Agregar Pieza",
  118. "partNumber": "N° de Pieza",
  119. "name": "Nombre",
  120. "qty": "Cantidad",
  121. "unitCost": "Costo",
  122. "unitCostHint": "Costo del proveedor (interno — no se muestra al cliente)",
  123. "markupPercent": "Margen %",
  124. "markupPercentHint": "Margen aplicado al costo (interno — no se muestra al cliente)",
  125. "applyMarkup": "Aplicar {percent}%",
  126. "applyMarkupHint": "Volver a aplicar {percent}% de margen al costo en cada fila",
  127. "unitPrice": "Precio Unitario",
  128. "total": "Total",
  129. "namePlaceholder": "Nombre *",
  130. "subtotal": "Subtotal de Piezas: {amount}",
  131. "inventoryTitle": "Seleccionar Pieza del Inventario",
  132. "searchInventory": "Buscar en inventario...",
  133. "inStock": "{quantity} en stock",
  134. "noInventory": "No se encontraron piezas de inventario.",
  135. "scanBarcode": "Escanear",
  136. "scanTitle": "Escanear código de barras",
  137. "partFound": "\"{name}\" añadido del inventario",
  138. "partNotFound": "No se encontró pieza para el código de barras \"{barcode}\"",
  139. "deleteRow": "Eliminar fila",
  140. "outOfStock": "Agotado",
  141. "onBackorder": "En pedido pendiente ({count})",
  142. "nameMissingHint": "Las filas sin nombre de pieza no se guardan."
  143. },
  144. "labor": {
  145. "title": "Mano de Obra",
  146. "addLabor": "Agregar Mano de Obra",
  147. "fromPresets": "Desde plantillas",
  148. "description": "Descripción",
  149. "hours": "Horas",
  150. "rate": "Tarifa ({currency}/hr)",
  151. "total": "Total",
  152. "descriptionPlaceholder": "Descripción *",
  153. "subtotal": "Subtotal de Mano de Obra: {amount}",
  154. "addService": "Agregar Servicio",
  155. "addFinding": "Observación",
  156. "newObservation": "Nueva observación",
  157. "addExisting": "Ver existentes ({count})",
  158. "qty": "Cantidad",
  159. "qtyOrHours": "Unidad / Horas",
  160. "hourlyTag": "HR",
  161. "serviceTag": "SVC",
  162. "switchToHourlyHint": "Por horas: se calcula por las horas trabajadas (horas × tarifa/h). Haz clic para cambiar.",
  163. "switchToServiceHint": "Servicio: se cobra como tarifa fija por unidad. Haz clic para cambiar.",
  164. "deleteRow": "Eliminar fila",
  165. "descriptionMissingHint": "Las filas sin descripción no se guardan."
  166. },
  167. "totals": {
  168. "title": "Totales",
  169. "parts": "Piezas",
  170. "labor": "Mano de Obra",
  171. "subtotal": "Subtotal",
  172. "subtotalInclTax": "Subtotal (con impuesto)",
  173. "discount": "Descuento",
  174. "discountNone": "Ninguno",
  175. "discountPercentage": "Porcentaje",
  176. "discountFixed": "Fijo",
  177. "tax": "Impuesto",
  178. "taxIncluded": "Impuesto (incl.)",
  179. "total": "Total",
  180. "inclusiveModeHint": "Los precios por línea se introducen con impuesto incluido. Los totales muestran el desglose neto + impuesto.",
  181. "partsCost": "Costo de repuestos (interno)"
  182. },
  183. "notes": {
  184. "title": "Notas",
  185. "public": "Público",
  186. "internal": "Interno",
  187. "publicPlaceholder": "Notas visibles en la factura...",
  188. "internalPlaceholder": "Notas internas (no mostradas en la factura)...",
  189. "publicHelper": "Se muestra en la factura y documentos compartidos",
  190. "internalHelper": "Solo visible para su equipo",
  191. "aiWrite": "AI Escribir",
  192. "aiGenerated": "Notas AI generadas exitosamente",
  193. "aiGenerateFailed": "Error al generar notas AI",
  194. "aiDialogTitle": "IA Escribir",
  195. "aiDialogDescription": "La IA analizará las piezas y la mano de obra en este registro de servicio y generará una descripción profesional. El resultado se escribirá en el tipo de nota seleccionado.",
  196. "aiGenerate": "Generar",
  197. "aiOverwriteDescription": "Esta nota ya tiene contenido. Puede reemplazarlo o agregar el texto generado por IA debajo.",
  198. "aiOverwriteReplace": "Reemplazar",
  199. "aiOverwriteAppend": "Agregar",
  200. "aiOverwriteCancel": "Cancelar",
  201. "aiDontShowAgain": "No mostrar de nuevo"
  202. },
  203. "invoice": {
  204. "title": "Resumen de Factura",
  205. "parts": "Piezas",
  206. "labor": "Mano de Obra",
  207. "subtotal": "Subtotal",
  208. "subtotalInclTax": "Subtotal (con impuesto)",
  209. "discount": "Descuento",
  210. "tax": "Impuesto ({rate}%)",
  211. "taxIncluded": "Impuesto (incl., {rate}%)",
  212. "total": "Total",
  213. "paid": "Pagado",
  214. "balanceDue": "Saldo Pendiente",
  215. "paidBadge": "PAGADO",
  216. "entityLabel": "Factura",
  217. "emailSubject": "Confirmación de Pago",
  218. "statusEmailSubject": "Actualización del estado del servicio",
  219. "markCompletedTitle": "¿Marcar esta factura como completada?",
  220. "markCompletedDescription": "Ya se ha enviado al cliente, pero sigue marcada como no terminada, así que continuará apareciendo en el tablero.",
  221. "markCompletedConfirm": "Marcar como completada",
  222. "lockedFieldsetLabel": "Factura bloqueada, edición desactivada"
  223. },
  224. "payments": {
  225. "title": "Pagos",
  226. "markUnpaid": "Marcar como Sin Pagar",
  227. "markPaid": "Marcar como Pagado",
  228. "recordPayment": "Registrar Pago",
  229. "totalPaid": "Total Pagado",
  230. "amount": "Cantidad",
  231. "date": "Fecha",
  232. "method": "Método",
  233. "note": "Nota",
  234. "notePlaceholder": "Nota opcional",
  235. "savePayment": "Guardar Pago",
  236. "methodOptions": {
  237. "cash": "Efectivo",
  238. "card": "Tarjeta",
  239. "transfer": "Transferencia",
  240. "other": "Otro"
  241. },
  242. "recorded": "Pago registrado",
  243. "markedPaid": "Marcado como pagado",
  244. "markedUnpaid": "Marcado como sin pagar",
  245. "deleted": "Pago eliminado",
  246. "failedRecord": "Error al registrar pago",
  247. "failedStatus": "Error al actualizar estado del pago",
  248. "failedDelete": "Error al eliminar pago",
  249. "deleteTitle": "Eliminar Pago",
  250. "deleteDescription": "Esto eliminará este registro de pago.",
  251. "failedPdf": "Error al generar factura en PDF"
  252. },
  253. "attachments": {
  254. "deleteTitle": "Eliminar Archivo",
  255. "deleteDescription": "Esto eliminará permanentemente este archivo. Esto no se puede deshacer.",
  256. "deleted": "Archivo eliminado",
  257. "failedDelete": "Error al eliminar",
  258. "images": "Imágenes ({count})",
  259. "videos": "Vídeos ({count})",
  260. "diagnostics": "Reportes de Diagnóstico ({count})",
  261. "documents": "Documentos ({count})",
  262. "download": "Descargar",
  263. "close": "Cerrar"
  264. },
  265. "share": {
  266. "title": "Compartir Factura",
  267. "description": "Genere un enlace público que permita a cualquiera ver y descargar esta factura sin iniciar sesión.",
  268. "notifyTitle": "Notificar a {name}",
  269. "email": "Correo Electrónico",
  270. "noEmail": "(sin correo electrónico registrado)",
  271. "sms": "SMS",
  272. "noPhone": "(sin teléfono registrado)",
  273. "sendNotification": "Enviar Notificación",
  274. "revokeLink": "Revocar Enlace",
  275. "generateLink": "Generar Enlace Público",
  276. "emailSent": "Correo electrónico enviado",
  277. "failedEmail": "Error al enviar correo electrónico",
  278. "smsSent": "SMS enviado",
  279. "failedSms": "Error al enviar SMS",
  280. "copyLink": "Copiar enlace"
  281. },
  282. "sidebar": {
  283. "vehicle": "Vehículo",
  284. "customer": "Cliente",
  285. "vin": "VIN: {vin}",
  286. "mileageAtService": "Millaje en el servicio: {mileage} {unit}",
  287. "engineHoursAtService": "Horas de motor en servicio: {mileage} {unit}",
  288. "sharedLink": {
  289. "title": "Enlace compartido",
  290. "sharedOn": "Compartido el {date}",
  291. "notViewed": "Aún no visto",
  292. "viewedTimes": "Visto {count, plural, one {# vez} other {# veces}}",
  293. "lastViewed": "Último {date}",
  294. "copyLink": "Copiar enlace",
  295. "linkCopied": "Enlace copiado"
  296. }
  297. },
  298. "images": {
  299. "title": "Imágenes del Servicio",
  300. "dropzone": "Arrastra imágenes aquí o haz clic para explorar",
  301. "uploading": "Subiendo...",
  302. "formats": "JPG, PNG, WebP — máx. 10MB cada una",
  303. "uploadingImages": "Subiendo imágenes...",
  304. "limitReached": "Límite de imágenes alcanzado ({count}/{max})",
  305. "upgradePrompt": "Actualiza tu plan para subir más imágenes.",
  306. "onlyAllowed": "Solo se permiten imágenes JPG, PNG y WebP. {names} omitidas.",
  307. "onlyUploading": "Solo se subirán {count} imagen(es) para no exceder el límite.",
  308. "uploadingCount": "Subiendo {count} imagen(es)...",
  309. "uploadedCount": "{count} imagen(es) subida(s)",
  310. "uploadFailed": "Error al subir",
  311. "deleted": "Imagen eliminada",
  312. "failedDelete": "Error al eliminar imagen",
  313. "failedUpdate": "Error al actualizar",
  314. "description": "Descripción...",
  315. "invoice": "Factura"
  316. },
  317. "videos": {
  318. "title": "Videos del Servicio",
  319. "dropzone": "Arrastra videos aquí o haz clic para explorar",
  320. "uploading": "Subiendo...",
  321. "formats": "MP4, WebM, MOV — máx. 10MB cada uno",
  322. "uploadingVideos": "Subiendo videos...",
  323. "uploadingCount": "Subiendo {count} video(s)...",
  324. "uploadedCount": "{count} video(s) subido(s)",
  325. "uploadFailed": "Error al subir",
  326. "deleted": "Video eliminado",
  327. "failedDelete": "Error al eliminar video",
  328. "failedUpdate": "Error al actualizar",
  329. "invoice": "Factura"
  330. },
  331. "documents": {
  332. "diagnosticTitle": "Reportes de Diagnóstico",
  333. "documentsTitle": "Documentos",
  334. "dropzone": "Arrastra archivos aquí o haz clic para explorar",
  335. "uploading": "Subiendo...",
  336. "diagnosticFormats": "PDF, CSV, TXT — máx. 10MB cada uno",
  337. "documentFormats": "PDF, DOCX, XLSX, CSV, TXT — máx. 10MB cada uno",
  338. "uploadingReports": "Subiendo reportes...",
  339. "uploadingDocuments": "Subiendo documentos...",
  340. "diagnosticLimitReached": "Límite de reportes de diagnóstico alcanzado ({count}/{max})",
  341. "documentLimitReached": "Límite de documentos alcanzado ({count}/{max})",
  342. "upgradePrompt": "Actualiza tu plan para subir más.",
  343. "diagnosticLabel": "Reporte de diagnóstico",
  344. "documentLabel": "Documento",
  345. "limitReachedToast": "Límite de {label} alcanzado ({count}/{max}). Actualiza tu plan para más.",
  346. "onlyUploading": "Solo se subirán {count} archivo(s) para no exceder el límite.",
  347. "uploadingCount": "Subiendo {count} archivo(s)...",
  348. "uploadedCount": "{count} archivo(s) subido(s)",
  349. "uploadFailed": "Error al subir",
  350. "deleted": "Archivo eliminado",
  351. "failedDelete": "Error al eliminar archivo",
  352. "failedUpdate": "Error al actualizar",
  353. "invoice": "Factura"
  354. },
  355. "schedule": {
  356. "title": "Horario",
  357. "date": "Fecha",
  358. "startTime": "Hora de inicio",
  359. "endTime": "Hora de fin",
  360. "technician": "Técnico",
  361. "selectTechnician": "Seleccionar técnico...",
  362. "searchOrCreate": "Buscar o crear técnico...",
  363. "createTechnician": "Crear \"{name}\"",
  364. "creating": "Creando...",
  365. "failedCreate": "Error al crear técnico",
  366. "addNew": "+ Agregar nuevo",
  367. "add": "Agregar",
  368. "newTechPlaceholder": "Nombre del técnico...",
  369. "assign": "Asignar al tablero",
  370. "assigned": "Asignado al tablero de trabajo",
  371. "failedAssign": "Error al asignar",
  372. "endBeforeStart": "La hora de fin debe ser posterior a la hora de inicio",
  373. "failedUpdate": "Error al actualizar el horario",
  374. "splitCreated": "El trabajo abarca varios días — continuación creada para el día siguiente",
  375. "customTechnicians": "Personalizados",
  376. "readMore": "Leer más",
  377. "setDefaults": "Configurar valores",
  378. "workBay": "Puesto de trabajo",
  379. "selectWorkBay": "Seleccionar puesto…",
  380. "noWorkBay": "Sin puesto",
  381. "noTechnician": "Sin técnico",
  382. "technicians": "Técnicos",
  383. "otherTeamMembers": "Otros miembros del equipo",
  384. "makeTechnician": "Lo convierte en técnico",
  385. "addSomeoneNew": "Añadir a alguien nuevo",
  386. "notOnBoard": "Aún no está en el tablero",
  387. "putOnBoard": "Poner en el tablero",
  388. "slotTaken": "{count, plural, one {Esta franja ya está reservada} other {Esta franja tiene # conflictos}}",
  389. "anotherJob": "otro trabajo",
  390. "clashTechnician": "el técnico está ocupado",
  391. "clashBay": "la bahía está ocupada",
  392. "clashBoth": "ambos están ocupados",
  393. "bookedAnyway": "Guardado igualmente. Cambia la hora o elige la siguiente franja libre.",
  394. "pickNextAvailable": "Elegir la siguiente franja libre",
  395. "findingSlot": "Buscando una franja…",
  396. "slotPicked": "Reservado en la siguiente franja libre",
  397. "noSlotFound": "No se encontró ninguna franja libre en las próximas semanas"
  398. },
  399. "notifications": {
  400. "title": "Notificaciones al cliente",
  401. "viaSms": "por SMS",
  402. "viaEmail": "por correo",
  403. "justNow": "Ahora mismo",
  404. "minutesAgo": "hace {count}m",
  405. "hoursAgo": "hace {count}h",
  406. "daysAgo": "hace {count}d"
  407. },
  408. "table": {
  409. "warranty": "Garantía"
  410. },
  411. "warranty": {
  412. "title": "Garantía",
  413. "months": "Duración (meses)",
  414. "notes": "Términos de garantía",
  415. "notesPlaceholder": "ej. Garantía de 12 meses en todas las piezas y mano de obra...",
  416. "expiresAt": "Vence",
  417. "presets": {
  418. "3months": "3 m",
  419. "6months": "6 m",
  420. "12months": "12 m",
  421. "24months": "24 m"
  422. },
  423. "status": {
  424. "active": "Activa",
  425. "expiring": "Por vencer",
  426. "expired": "Vencida",
  427. "none": "N/A"
  428. },
  429. "statementLabel": "Lo que se le dice al cliente sobre la garantía",
  430. "statement": {
  431. "none": "Sin indicar",
  432. "included": "Incluida",
  433. "not_included": "No incluida"
  434. },
  435. "noneHint": "En este documento no se imprime nada sobre la garantía.",
  436. "mileageWithUnit": "Límite de distancia ({unit})",
  437. "notIncludedNotes": "Declaración al cliente",
  438. "notIncludedPlaceholder": "p. ej. El taller no ofrece garantía sobre piezas aportadas por el cliente.",
  439. "printedHint": "Se imprime bajo la garantía en el documento.",
  440. "notIncludedHint": "Si lo deja vacío, el documento dice que los derechos legales no se ven afectados.",
  441. "summaryMonths": "{count} m."
  442. },
  443. "concerns": {
  444. "title": "Motivos del cliente",
  445. "hint": "Por qué vino el cliente, con sus propias palabras. Una fila por cada cosa que mencionó.",
  446. "add": "Añadir otro",
  447. "placeholder": "Hace un ruido detrás cuando freno",
  448. "remove": "Quitar este punto",
  449. "notAnswered": "Todavía no se ha encontrado nada",
  450. "answered": "{count} hallazgo(s) sobre esto"
  451. },
  452. "videoCall": {
  453. "title": "Videollamada",
  454. "none": "Esta orden de trabajo no tiene videollamada.",
  455. "needsSchedule": "Defina primero una hora de inicio. La reunión sigue la programación.",
  456. "add": "Añadir reunión de {provider}",
  457. "addedHere": "añadida desde esta orden de trabajo",
  458. "fromCalendar": "del evento del calendario",
  459. "join": "Unirse",
  460. "copy": "Copiar enlace",
  461. "copied": "Enlace copiado",
  462. "remove": "Eliminar",
  463. "removeTitle": "¿Eliminar la videollamada?",
  464. "removeDescription": "La reunión se elimina en el proveedor. Quien ya tenga el enlace no podrá unirse.",
  465. "created": "Reunión creada. El enlace está en la orden de trabajo.",
  466. "removed": "Reunión eliminada",
  467. "failed": "Algo salió mal",
  468. "shareHint": "El cliente solo recibe este enlace cuando lo envías.",
  469. "shareHintNoChannel": "El cliente solo recibe este enlace cuando lo envías. No hay ningún canal de mensajes configurado, así que cópialo tú en un mensaje.",
  470. "send": {
  471. "button": "Enviar al cliente",
  472. "title": "Enviar el enlace de la videollamada",
  473. "description": "Enviar el enlace para unirse a {name}.",
  474. "messageLabel": "Nota (opcional)",
  475. "messagePlaceholder": "Lo que el cliente deba saber antes de la llamada...",
  476. "linkAlwaysIncluded": "El enlace para unirse se añade siempre debajo de tu nota.",
  477. "sms": "SMS",
  478. "email": "Correo",
  479. "telegram": "Telegram",
  480. "noPhone": "(sin teléfono)",
  481. "noEmail": "(sin correo)",
  482. "noTelegram": "(sin chat vinculado)",
  483. "notAvailable": "(no configurado)",
  484. "cancel": "Cancelar",
  485. "send": "Enviar",
  486. "sent": "Enlace de la videollamada enviado",
  487. "partlySent": "Enviado por {sent}; no por {failed}",
  488. "failed": "No se pudo enviar el enlace"
  489. },
  490. "notify": {
  491. "invitation": "Hola {name}, tu videollamada sobre el {vehicle} es el {when}. Únete aquí: {url}",
  492. "invitationNoTime": "Hola {name}, aquí tienes el enlace de la videollamada sobre el {vehicle}: {url}",
  493. "joinLine": "Únete a la videollamada aquí: {url}",
  494. "emailSubject": "Videollamada sobre tu {vehicle}"
  495. }
  496. }
  497. }