dataImport.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. {
  2. "title": "Importar {entity}",
  3. "cancel": "Cancelar",
  4. "done": "Concluído",
  5. "entities": {
  6. "customers": "clientes",
  7. "vehicles": "viaturas",
  8. "services": "histórico de serviços"
  9. },
  10. "entityHints": {
  11. "customers": "Nomes, contactos, moradas. Uma linha por cliente.",
  12. "vehicles": "Marca, modelo, ano, matrícula, número de quadro (VIN). Uma coluna de proprietário associa ou cria o cliente.",
  13. "services": "Trabalhos e faturas anteriores. Uma linha por trabalho, com a viatura a que pertence."
  14. },
  15. "groups": {
  16. "customer": "Cliente",
  17. "vehicle": "Viatura",
  18. "service": "Serviço"
  19. },
  20. "steps": {
  21. "upload": "Escolha o que quer importar e carregue o ficheiro do seu sistema atual.",
  22. "mapping": "Confirme que coluna corresponde a que campo. Ainda nada foi guardado.",
  23. "preview": "Simulação: é exatamente isto que a importação vai fazer. Reveja e depois importe.",
  24. "importing": "A guardar linhas. Mantenha esta janela aberta.",
  25. "result": "Importação terminada."
  26. },
  27. "upload": {
  28. "drop": "Arraste e largue um ficheiro aqui",
  29. "formats": "CSV, Excel (.xlsx) ou vCard (.vcf), até 25 MB e 50 000 linhas",
  30. "browse": "Procurar ficheiros",
  31. "reading": "A ler o ficheiro...",
  32. "templateHint": "Ainda não tem uma exportação? Preencha um modelo e carregue-o.",
  33. "templateXlsx": "Modelo Excel",
  34. "templateCsv": "Modelo CSV",
  35. "sourcesHint": "Funciona com exportações de qualquer sistema de gestão de oficinas, programa de contabilidade, Google Contactos, Outlook ou folha de cálculo. Os nomes das colunas são reconhecidos em várias línguas; confirma o mapeamento antes de qualquer gravação."
  36. },
  37. "mapping": {
  38. "rows": "{count, plural, one {# linha} other {# linhas}}",
  39. "colColumn": "Coluna no seu ficheiro",
  40. "colSample": "Valores de exemplo",
  41. "colField": "Corresponde a",
  42. "ignore": "Ignorar esta coluna",
  43. "source": {
  44. "preset": "Formato reconhecido",
  45. "header": "Identificado pelo cabeçalho",
  46. "values": "Deduzido pelos valores"
  47. },
  48. "suggestWithAi": "Sugerir com IA",
  49. "aiApplied": "{count, plural, one {# coluna mapeada} other {# colunas mapeadas}} pela IA. Confirme antes de continuar.",
  50. "chooseAnother": "Escolher outro ficheiro",
  51. "missingRequired": "Ainda falta: {fields}",
  52. "dryRunHint": "A simulação verifica cada linha face aos seus dados existentes sem guardar nada.",
  53. "runDryRun": "Executar simulação"
  54. },
  55. "options": {
  56. "dateFormat": "Formato de data",
  57. "dateAuto": "Detetar automaticamente",
  58. "dateDMY": "Dia / mês / ano",
  59. "dateMDY": "Mês / dia / ano",
  60. "dateYMD": "Ano / mês / dia",
  61. "decimal": "Separador decimal",
  62. "decimalAuto": "Detetar automaticamente",
  63. "decimalDot": "Ponto (1,234.56)",
  64. "decimalComma": "Vírgula (1.234,56)",
  65. "countryCode": "Indicativo do país para números de telefone",
  66. "duplicates": "Quando uma linha corresponde a um registo existente",
  67. "duplicatesUpdate": "Atualizar o registo existente",
  68. "duplicatesSkip": "Ignorar a linha",
  69. "duplicatesCreate": "Criar um novo registo na mesma"
  70. },
  71. "summary": {
  72. "create": "Serão criados",
  73. "update": "Serão atualizados",
  74. "skip": "Serão ignorados",
  75. "error": "Não podem ser importados",
  76. "warnings": "Com avisos",
  77. "customersToCreate": "{count, plural, one {# cliente novo} other {# clientes novos}}",
  78. "customersToUpdate": "{count, plural, one {# cliente atualizado} other {# clientes atualizados}}",
  79. "vehiclesToCreate": "{count, plural, one {# viatura nova} other {# viaturas novas}}",
  80. "vehiclesToUpdate": "{count, plural, one {# viatura atualizada} other {# viaturas atualizadas}}",
  81. "servicesToCreate": "{count, plural, one {# registo de serviço} other {# registos de serviço}}"
  82. },
  83. "actions": {
  84. "create": "Criar",
  85. "update": "Atualizar",
  86. "skip": "Ignorar",
  87. "error": "Erro"
  88. },
  89. "matchOn": {
  90. "number": "número de cliente",
  91. "email": "e-mail",
  92. "phone": "telefone",
  93. "name": "nome",
  94. "vin": "número de quadro (VIN)",
  95. "plate": "matrícula",
  96. "makeModelYear": "marca, modelo e ano"
  97. },
  98. "preview": {
  99. "colAction": "Ação",
  100. "colOwner": "Proprietário",
  101. "colDetails": "Detalhes",
  102. "empty": "Nenhuma linha corresponde a este filtro.",
  103. "matchedOn": "Corresponde a {name} (por {on})",
  104. "linksCustomer": "Associado ao cliente {name}",
  105. "linksVehicle": "Associado a {label}",
  106. "sameCustomerAsRow": "Mesmo cliente da linha {row}",
  107. "sameVehicleAsRow": "Mesma viatura da linha {row}",
  108. "createsCustomer": "Cria o cliente",
  109. "createsVehicle": "Cria a viatura",
  110. "downloadReport": "Transferir relatório da simulação",
  111. "limitExceeded": "O seu plano permite mais {remaining} clientes, mas esta importação criaria {needed}. Remova linhas ou mude para um plano superior.",
  112. "pageInfo": "{from}–{to} de {total}",
  113. "prev": "Anterior",
  114. "next": "Seguinte",
  115. "backToMapping": "Voltar ao mapeamento",
  116. "import": "Importar {count, plural, one {# linha} other {# linhas}}",
  117. "nothingWrittenYet": "Ainda nada foi guardado. A importação pode ser anulada mais tarde em Definições → Dados."
  118. },
  119. "importing": {
  120. "title": "A importar...",
  121. "starting": "A iniciar",
  122. "progress": "{done} de {total} linhas",
  123. "keepOpen": "Ficheiros grandes demoram um ou dois minutos."
  124. },
  125. "result": {
  126. "title": "Importação concluída",
  127. "undoneTitle": "Importação anulada",
  128. "created": "{count, plural, one {# registo criado} other {# registos criados}}",
  129. "updated": "{count, plural, one {# registo atualizado} other {# registos atualizados}}",
  130. "skipped": "{count, plural, one {# linha ignorada} other {# linhas ignoradas}}",
  131. "failed": "{count, plural, one {# linha não importada} other {# linhas não importadas}}",
  132. "writeFailures": "{count, plural, one {# linha falhou ao guardar} other {# linhas falharam ao guardar}}",
  133. "rowFailure": "Linha {row}: {error}",
  134. "undo": "Anular esta importação",
  135. "undone": "Foram removidos {customers} clientes, {vehicles} viaturas e {services} registos de serviço.",
  136. "undoHint": "Anular remove todos os registos que esta importação criou. Os registos que apenas atualizou mantêm os novos valores."
  137. },
  138. "history": {
  139. "title": "Histórico de importações",
  140. "description": "Importações de folhas de cálculo feitas nesta oficina. Anular remove o que uma importação criou.",
  141. "loading": "A carregar...",
  142. "statusUndone": "Anulada",
  143. "counts": "{created} criados, {updated} atualizados, {skipped} ignorados, {failed} com erro",
  144. "undo": "Anular",
  145. "undone": "Foram removidos {customers} clientes, {vehicles} viaturas e {services} registos de serviço.",
  146. "undoFailed": "Não foi possível anular a importação",
  147. "confirmTitle": "Anular esta importação?",
  148. "confirmDescription": "Remove o que {file} criou: {customers} clientes, {vehicles} viaturas e {services} registos de serviço. Os registos que a importação apenas atualizou são mantidos.",
  149. "cancel": "Cancelar",
  150. "confirm": "Anular importação"
  151. },
  152. "fields": {
  153. "customer": {
  154. "name": "Nome do cliente",
  155. "firstName": "Nome próprio",
  156. "lastName": "Apelido",
  157. "customerNumber": "Número de cliente",
  158. "email": "E-mail",
  159. "phone": "Telefone",
  160. "company": "Empresa",
  161. "address": "Morada",
  162. "street": "Rua",
  163. "postalCode": "Código postal",
  164. "city": "Localidade",
  165. "state": "Distrito / região",
  166. "country": "País",
  167. "taxId": "NIF",
  168. "notes": "Notas do cliente"
  169. },
  170. "vehicle": {
  171. "description": "Viatura (ano, marca e modelo numa só coluna)",
  172. "make": "Marca",
  173. "model": "Modelo",
  174. "year": "Ano",
  175. "vin": "Número de quadro (VIN)",
  176. "licensePlate": "Matrícula",
  177. "color": "Cor",
  178. "mileage": "Quilometragem",
  179. "fuelType": "Tipo de combustível",
  180. "transmission": "Caixa de velocidades",
  181. "engineSize": "Cilindrada",
  182. "engineCode": "Código do motor",
  183. "hsn": "HSN (código do fabricante)",
  184. "tsn": "TSN (código do tipo)",
  185. "purchaseDate": "Data de compra",
  186. "purchasePrice": "Preço de compra"
  187. },
  188. "service": {
  189. "date": "Data do serviço",
  190. "title": "Título do serviço",
  191. "description": "Descrição",
  192. "total": "Valor total",
  193. "mileage": "Quilometragem no serviço",
  194. "invoiceNumber": "Número da fatura",
  195. "notes": "Notas do serviço",
  196. "technician": "Técnico"
  197. }
  198. },
  199. "issues": {
  200. "customer_name_required": "Falta o nome do cliente",
  201. "invalid_email": "O e-mail \"{value}\" não é válido e foi deixado de fora",
  202. "invalid_vin": "O número de quadro \"{value}\" não tem 17 caracteres; foi mantido tal como foi escrito",
  203. "invalid_type_key": "{field} \"{value}\" não é um HSN ou TSN válido; foi omitido",
  204. "vehicle_make_model_required": "Faltam a marca e o modelo",
  205. "vehicle_year_required": "Falta o ano",
  206. "vehicle_year_invalid": "\"{value}\" não é um ano válido",
  207. "vehicle_identifier_required": "Sem matrícula, número de quadro ou marca e modelo para identificar a viatura",
  208. "vehicle_not_found": "Nenhuma viatura existente corresponde a \"{value}\" e não há dados suficientes para criar uma",
  209. "service_date_required": "Falta a data do serviço",
  210. "service_date_invalid": "Não foi possível ler a data \"{value}\"",
  211. "service_title_required": "Falta o título ou a descrição do serviço",
  212. "invalid_date": "Não foi possível ler {field} \"{value}\" e o valor foi deixado de fora",
  213. "invalid_number": "{field} \"{value}\" não é um número e foi deixado de fora",
  214. "duplicate_invoice_number": "O número de fatura {value} já existe",
  215. "write_failed": "Não foi possível guardar: {value}"
  216. },
  217. "errors": {
  218. "uploadFailed": "Não foi possível ler o ficheiro",
  219. "aiFailed": "A IA não conseguiu sugerir um mapeamento",
  220. "dryRunFailed": "A simulação falhou",
  221. "importFailed": "A importação falhou",
  222. "undoFailed": "Não foi possível anular a importação"
  223. },
  224. "entry": {
  225. "title": "Importar de uma folha de cálculo",
  226. "description": "Traga clientes, viaturas e histórico de serviços de qualquer sistema que exporte CSV ou Excel. Mapeie as colunas, execute uma simulação e depois importe. Todas as importações podem ser anuladas.",
  227. "customers": "Importar clientes",
  228. "vehicles": "Importar viaturas",
  229. "services": "Importar histórico de serviços"
  230. }
  231. }