quotes.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. {
  2. "list": {
  3. "statusAll": "Todos",
  4. "statusAttention": "Requer atenção",
  5. "statusDraft": "Rascunho",
  6. "statusSent": "Enviado",
  7. "statusAccepted": "Aceite",
  8. "statusRejected": "Rejeitado",
  9. "statusConverted": "Convertido",
  10. "searchPlaceholder": "Pesquisar orçamentos...",
  11. "newQuote": "Novo orçamento",
  12. "columnQuoteNumber": "N.º do orçamento",
  13. "columnTitle": "Título",
  14. "columnCustomer": "Cliente",
  15. "columnVehicle": "Viatura",
  16. "columnStatus": "Estado",
  17. "columnDate": "Data",
  18. "columnTotal": "Total",
  19. "noQuotes": "Nenhum orçamento encontrado."
  20. },
  21. "page": {
  22. "quote": "Orçamento",
  23. "save": "Guardar",
  24. "pdf": "PDF",
  25. "email": "E-mail",
  26. "share": "Partilhar",
  27. "delete": "Eliminar",
  28. "deleteTitle": "Eliminar orçamento",
  29. "deleteDescription": "Este orçamento será eliminado permanentemente.",
  30. "saved": "Orçamento guardado",
  31. "unsavedChanges": "Alterações por guardar",
  32. "saveFirst": "Guarde primeiro as suas alterações",
  33. "failedSave": "Não foi possível guardar o orçamento",
  34. "failedDelete": "Não foi possível eliminar",
  35. "failedPdf": "Não foi possível gerar o PDF",
  36. "selectVehicle": "Selecione uma viatura",
  37. "convertTitle": "Converter orçamento em ordem de serviço",
  38. "convertDescription": "Será criado um novo registo de serviço (ordem de serviço) a partir deste orçamento. Selecione uma viatura para a ordem de serviço.",
  39. "convertChoiceDescription": "Selecione uma viatura e crie uma nova ordem de serviço a partir deste orçamento ou adicione-o a uma que já esteja aberta.",
  40. "convertNew": "Criar uma nova ordem de serviço",
  41. "convertExisting": "Adicionar a uma ordem de serviço existente",
  42. "convertExistingHint": "As peças, a mão de obra e os ficheiros do orçamento são adicionados à ordem de serviço. O que já lá está mantém-se como está.",
  43. "convertNoOpenWorkOrders": "Esta viatura não tem ordens de serviço abertas.",
  44. "convertSelectWorkOrder": "Selecione uma ordem de serviço",
  45. "convertAdd": "Adicionar à ordem de serviço",
  46. "convertConflicts": {
  47. "heading": "Antes de adicionar, decida o que a ordem de trabalho mantém",
  48. "checking": "A comparar o orçamento com a ordem de trabalho...",
  49. "unanswered": "Escolha o que a ordem de trabalho mantém antes de adicionar o orçamento.",
  50. "discount": {
  51. "title": "Desconto",
  52. "summary": "A ordem de trabalho tem {percent}% de desconto, {jobAmount} neste momento. O orçamento traz um desconto de {quoteAmount}.",
  53. "keepJob": "Manter o desconto de {percent}% e descartar os {quoteAmount} do orçamento",
  54. "combine": "Transformar os {percent}% em {jobAmount} e somar os {quoteAmount} do orçamento, {total} no total"
  55. },
  56. "tax": {
  57. "title": "Impostos",
  58. "summary": "A ordem de trabalho está valorizada com {job}. O orçamento foi valorizado com {quote}.",
  59. "keepJob": "Manter os impostos da ordem de trabalho. As linhas do orçamento passam pelos valores orçamentados.",
  60. "useQuote": "Mudar a ordem de trabalho para os impostos do orçamento. Tudo nela é recalculado.",
  61. "inclusive": "{rate}% de impostos incluídos nas linhas",
  62. "exclusive": "{rate}% de impostos acrescidos",
  63. "components": "{rate}% de impostos ({names})"
  64. },
  65. "warranty": {
  66. "title": "Garantia",
  67. "summary": "A ordem de trabalho diz {job}. O orçamento que o cliente aceitou diz {quote}.",
  68. "keepJob": "Manter a garantia da ordem de trabalho",
  69. "useQuote": "Usar a garantia do orçamento, tal como o cliente a aceitou",
  70. "none": "nada sobre garantia",
  71. "notIncluded": "sem garantia da oficina",
  72. "included": "garantia incluída",
  73. "includedWithTerms": "garantia incluída, {terms}",
  74. "months": "{count, plural, one {# mês} other {# meses}}",
  75. "mileage": "{count} {unit}"
  76. }
  77. },
  78. "convert": "Converter",
  79. "convertToWorkOrder": "Converter em ordem de serviço",
  80. "cancel": "Cancelar",
  81. "failedConvert": "Não foi possível converter",
  82. "changesRequested": "Alterações pedidas",
  83. "quoteAccepted": "Orçamento aceite",
  84. "markResolved": "Marcar como resolvido",
  85. "responseResolved": "Resposta do cliente resolvida",
  86. "entityLabel": "Orçamento",
  87. "tabs": {
  88. "details": "Detalhes",
  89. "images": "Imagens",
  90. "documents": "Documentos"
  91. },
  92. "customFieldsInvalid": "Preencha todos os campos personalizados obrigatórios",
  93. "customFieldsSaveFailed": "Não foi possível guardar os campos personalizados"
  94. },
  95. "form": {
  96. "newQuote": "Novo orçamento",
  97. "editQuote": "Editar orçamento",
  98. "cancel": "Cancelar",
  99. "createQuote": "Criar orçamento",
  100. "updateQuote": "Atualizar orçamento",
  101. "created": "Orçamento criado",
  102. "updated": "Orçamento atualizado",
  103. "failedCreate": "Não foi possível criar o orçamento",
  104. "failedUpdate": "Não foi possível atualizar o orçamento"
  105. },
  106. "parts": {
  107. "title": "Peças",
  108. "addPart": "Adicionar peça",
  109. "partNumber": "Ref. da peça",
  110. "category": "Categoria",
  111. "name": "Nome",
  112. "namePlaceholder": "Nome *",
  113. "qty": "Qtd.",
  114. "unitPrice": "Preço unitário",
  115. "total": "Total",
  116. "subtotal": "Subtotal de peças: {amount}",
  117. "deleteRow": "Eliminar linha",
  118. "excludeFromTotal": "Não somar ao total",
  119. "addFromInventory": "Do stock",
  120. "unitCost": "Custo",
  121. "markupPercent": "Margem %",
  122. "nameMissingHint": "As linhas sem nome da peça não são guardadas."
  123. },
  124. "labor": {
  125. "title": "Mão de obra e serviços",
  126. "addLabor": "Adicionar mão de obra",
  127. "fromPresets": "Dos modelos",
  128. "description": "Descrição",
  129. "descriptionPlaceholder": "Descrição *",
  130. "hours": "Horas",
  131. "rate": "Preço/hora ({currency}/h)",
  132. "total": "Total",
  133. "subtotal": "Subtotal de mão de obra: {amount}",
  134. "addService": "Adicionar serviço",
  135. "qty": "Qtd.",
  136. "qtyOrHours": "Unidades / Horas",
  137. "hourlyTag": "HORA",
  138. "serviceTag": "SERV",
  139. "hourlyHint": "À hora: calculado pelas horas trabalhadas (horas × preço/hora). Clique para alterar.",
  140. "serviceHint": "Serviço: cobrado como valor fixo por unidade. Clique para alterar.",
  141. "deleteRow": "Eliminar linha",
  142. "excludeFromTotal": "Não somar ao total"
  143. },
  144. "notes": {
  145. "title": "Notas",
  146. "public": "Pública",
  147. "internal": "Interna",
  148. "publicPlaceholder": "Descrição do orçamento apresentada ao cliente...",
  149. "internalPlaceholder": "Notas internas (não visíveis para o cliente)...",
  150. "publicHelper": "Apresentada no documento do orçamento",
  151. "internalHelper": "Visível apenas para a sua equipa"
  152. },
  153. "sidebar": {
  154. "sharedLink": {
  155. "title": "Link partilhado",
  156. "sharedOn": "Partilhado em {date}",
  157. "notViewed": "Ainda não visualizado",
  158. "viewedTimes": "Visualizado {count, plural, one {# vez} other {# vezes}}",
  159. "lastViewed": "Última vez: {date}",
  160. "copyLink": "Copiar link",
  161. "linkCopied": "Link copiado"
  162. }
  163. },
  164. "details": {
  165. "title": "Detalhes do orçamento",
  166. "titleLabel": "Título *",
  167. "titlePlaceholder": "Orçamento de reparação da viatura",
  168. "status": "Estado",
  169. "statusDraft": "Rascunho",
  170. "statusSent": "Enviado",
  171. "statusAccepted": "Aceite",
  172. "statusRejected": "Rejeitado",
  173. "validUntil": "Válido até",
  174. "viewInspection": "Ver inspeção associada",
  175. "vehicle": "Viatura",
  176. "customer": "Cliente",
  177. "selectVehicle": "Selecionar viatura...",
  178. "selectCustomer": "Selecionar cliente...",
  179. "none": "Nenhum",
  180. "clearVehicle": "Remover viatura",
  181. "clearCustomer": "Remover cliente"
  182. },
  183. "totals": {
  184. "title": "Totais",
  185. "parts": "Peças",
  186. "labor": "Mão de obra",
  187. "subtotal": "Subtotal",
  188. "subtotalInclTax": "Subtotal (IVA incluído)",
  189. "discount": "Desconto",
  190. "discountNone": "Nenhum",
  191. "discountPercentage": "Percentagem",
  192. "discountFixed": "Fixo",
  193. "tax": "IVA",
  194. "taxIncluded": "IVA (incluído)",
  195. "taxableAmount": "Valor tributável",
  196. "total": "Total",
  197. "inclusiveModeHint": "Os preços das linhas são introduzidos com IVA incluído. Os totais mostram a divisão entre valor líquido e IVA."
  198. },
  199. "shareDialog": {
  200. "title": "Partilhar orçamento",
  201. "description": "Gere um link público que permite a qualquer pessoa ver e transferir este orçamento sem iniciar sessão.",
  202. "notifyTitle": "Notificar {name}",
  203. "email": "E-mail",
  204. "noEmail": "(sem e-mail registado)",
  205. "sms": "SMS",
  206. "noPhone": "(sem telefone registado)",
  207. "sendNotification": "Enviar notificação",
  208. "revokeLink": "Revogar link",
  209. "generateLink": "Gerar link público",
  210. "emailSent": "E-mail enviado",
  211. "failedEmail": "Não foi possível enviar o e-mail",
  212. "smsSent": "SMS enviado",
  213. "failedSms": "Não foi possível enviar o SMS",
  214. "copyLink": "Copiar link"
  215. },
  216. "images": {
  217. "title": "Imagens do orçamento",
  218. "dropzone": "Largue as imagens aqui ou clique para procurar",
  219. "uploading": "A carregar...",
  220. "formats": "JPG, PNG, WebP (máx. 10 MB cada)",
  221. "uploadingImages": "A carregar imagens...",
  222. "limitReached": "Limite de imagens atingido ({count}/{max})",
  223. "upgradePrompt": "Atualize o seu plano para carregar mais imagens.",
  224. "onlyAllowed": "Só são permitidas imagens JPG, PNG e WebP. {names} ignorada(s).",
  225. "onlyUploading": "A carregar apenas {count} imagem(ns) para não exceder o limite.",
  226. "uploadingCount": "A carregar {count} imagem(ns)...",
  227. "uploadedCount": "{count} imagem(ns) carregada(s)",
  228. "uploadFailed": "Falha no carregamento",
  229. "failedUploadFile": "Não foi possível carregar {name}",
  230. "failedSaveFile": "Não foi possível guardar {name}",
  231. "deleted": "Imagem eliminada",
  232. "failedDelete": "Não foi possível eliminar a imagem",
  233. "failedUpdate": "Não foi possível atualizar",
  234. "description": "Descrição...",
  235. "pdf": "PDF"
  236. },
  237. "documents": {
  238. "title": "Documentos",
  239. "dropzone": "Largue os ficheiros aqui ou clique para procurar",
  240. "uploading": "A carregar...",
  241. "formats": "PDF, CSV, TXT (máx. 10 MB cada)",
  242. "uploadingDocuments": "A carregar documentos...",
  243. "limitReached": "Limite de documentos atingido ({count}/{max})",
  244. "upgradePrompt": "Atualize o seu plano para carregar mais.",
  245. "onlyUploading": "A carregar apenas {count} ficheiro(s) para não exceder o limite.",
  246. "uploadingCount": "A carregar {count} ficheiro(s)...",
  247. "uploadedCount": "{count} ficheiro(s) carregado(s)",
  248. "uploadFailed": "Falha no carregamento",
  249. "failedUploadFile": "Não foi possível carregar {name}",
  250. "failedSaveFile": "Não foi possível guardar {name}",
  251. "deleted": "Ficheiro eliminado",
  252. "failedDelete": "Não foi possível eliminar o ficheiro",
  253. "failedUpdate": "Não foi possível atualizar",
  254. "pdf": "PDF"
  255. },
  256. "statusLabels": {
  257. "draft": "Rascunho",
  258. "sent": "Enviado",
  259. "accepted": "Aceite",
  260. "rejected": "Rejeitado",
  261. "expired": "Expirado",
  262. "converted": "Convertido",
  263. "changes_requested": "Alterações pedidas"
  264. }
  265. }