reminders.json 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. {
  2. "error": "Falha ao carregar lembretes",
  3. "showing": "Mostrando {count} de {total}",
  4. "deleted": "Lembrete excluído",
  5. "deleteError": "Falha ao excluir lembrete",
  6. "vehicle": "Veículo",
  7. "selectVehicle": "Selecionar veículo...",
  8. "searchVehicle": "Buscar veículos...",
  9. "noVehicle": "Nenhum veículo encontrado.",
  10. "pickDate": "Escolher uma data",
  11. "openMenu": "Abrir menu",
  12. "relatesTo": "Refere-se a (opcional)",
  13. "selectCustomer": "Cliente (opcional)",
  14. "noneOption": "Nenhum",
  15. "workshopHint": "Nenhum cliente ou veículo selecionado: este é um lembrete geral da oficina.",
  16. "workshopReminder": "Oficina",
  17. "import": {
  18. "button": "Importar",
  19. "title": "Importar lembretes",
  20. "description": "Envie um arquivo CSV ou Excel com um lembrete por linha. Você verá cada linha antes que qualquer coisa seja salva.",
  21. "drop": "Solte aqui um arquivo CSV ou Excel",
  22. "formats": "CSV ou Excel (.xlsx), até {rows} linhas",
  23. "browse": "Escolher arquivo",
  24. "reading": "Lendo o arquivo...",
  25. "templateHint": "Comece pelo modelo para acertar as colunas.",
  26. "templateXlsx": "Modelo Excel",
  27. "templateCsv": "Modelo CSV",
  28. "columnsTitle": "Colunas no arquivo",
  29. "required": {
  30. "yes": "Obrigatória",
  31. "dateOrMileage": "Data ou quilometragem",
  32. "no": "Opcional"
  33. },
  34. "columns": {
  35. "title": "O que precisa ser feito, por exemplo \"Troca de óleo\".",
  36. "dueDate": "O dia do vencimento. 2026-10-15 sempre funciona, e formatos como 15.10.2026 ou 10/15/2026 são detectados.",
  37. "dueTime": "Horário do dia, por exemplo 14:30, no fuso horário da oficina. Deixe em branco para qualquer horário daquele dia.",
  38. "dueMileage": "A leitura do hodômetro em que vence, em {unit}.",
  39. "description": "Qualquer detalhe extra.",
  40. "licensePlate": "Vincula o lembrete a um veículo. Espaços e hífens são ignorados.",
  41. "vin": "Vincula o lembrete a um veículo, útil quando não há placa.",
  42. "customer": "E-mail, número do cliente ou nome exato. Usado apenas quando a linha não tem veículo.",
  43. "emailNotification": "Sim ou não. Envia um e-mail quando o lembrete vence. As notificações no app estão sempre ativas."
  44. },
  45. "targetRule": "Uma linha sem veículo e sem cliente vira um lembrete da oficina. Linhas que correspondem a um lembrete em aberto são puladas, então enviar o mesmo arquivo duas vezes não adiciona nada.",
  46. "summary": {
  47. "ready": "Prontos: {count}",
  48. "duplicates": "Já existem: {count}",
  49. "errors": "Para corrigir: {count}"
  50. },
  51. "ignoredColumns": "Colunas não lidas: {columns}",
  52. "rowLabel": "Linha {line}",
  53. "untitled": "(sem título)",
  54. "issues": {
  55. "missingTitle": "O título está vazio.",
  56. "missingDue": "Precisa de uma data de vencimento ou de uma quilometragem de vencimento.",
  57. "badDate": "Não foi possível ler a data \"{value}\".",
  58. "badTime": "Não foi possível ler o horário \"{value}\".",
  59. "timeWithoutDate": "Um horário precisa de uma data de vencimento.",
  60. "badMileage": "Não foi possível ler a quilometragem \"{value}\".",
  61. "badEmailNotification": "A notificação por e-mail deve ser sim ou não, e não \"{value}\".",
  62. "vehicleNotFound": "Nenhum veículo corresponde a \"{value}\".",
  63. "vehicleAmbiguous": "Mais de um veículo corresponde a \"{value}\".",
  64. "vehicleMismatch": "A placa e o chassi (VIN) pertencem a veículos diferentes ({value}).",
  65. "customerNotFound": "Nenhum cliente corresponde a \"{value}\".",
  66. "customerAmbiguous": "Mais de um cliente corresponde a \"{value}\". Use o e-mail ou o número do cliente.",
  67. "duplicateExisting": "Pulada: este lembrete já existe.",
  68. "duplicateInFile": "Pulada: repete uma linha anterior do arquivo."
  69. },
  70. "fileErrors": {
  71. "demo": "A importação está desativada na demonstração.",
  72. "noFile": "Escolha um arquivo para enviar.",
  73. "tooLarge": "O arquivo é maior que 900 KB. Divida-o e importe em partes.",
  74. "unsupported": "Envie um arquivo .csv ou .xlsx.",
  75. "legacyXls": "Arquivos antigos do Excel (.xls) não podem ser lidos. Salve o arquivo como .xlsx ou .csv e tente novamente.",
  76. "empty": "O arquivo não tem linhas.",
  77. "unreadable": "Não foi possível ler o arquivo.",
  78. "tooManyRows": "O arquivo tem mais de {limit} linhas. Divida-o e importe em partes.",
  79. "noTitleColumn": "O arquivo não tem a coluna \"Title\". Baixe o modelo para ver os cabeçalhos esperados."
  80. },
  81. "chooseAnother": "Escolher outro arquivo",
  82. "downloadSkipped": "Baixar linhas puladas",
  83. "problemColumn": "Problema",
  84. "submit": "Importar {count, plural, one {# lembrete} other {# lembretes}}",
  85. "nothingToImport": "Nada para importar",
  86. "done": "{count, plural, one {# lembrete importado} other {# lembretes importados}}",
  87. "doneSkipped": "{count, plural, one {# linha pulada} other {# linhas puladas}}",
  88. "close": "Fechar"
  89. }
  90. }