| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752 |
- {
- "page": {
- "notFound": "Registro de serviço não encontrado",
- "updated": "Registro de serviço atualizado",
- "failedUpdate": "Falha ao atualizar registro de serviço",
- "deleteTitle": "Deletar Registro de Serviço",
- "deleteDescription": "Isto vai deletar permanentemente este registro de serviço e todos os dados associados. Isto não pode ser desfeito.",
- "deleted": "Registro de serviço deletado",
- "failedDelete": "Falha ao deletar",
- "datesExpiredTitle": "Datas da fatura expiradas",
- "datesExpiredDescription": "A data da fatura ou a data de vencimento já passou. Deseja atualizar as datas antes de prosseguir?",
- "datesExpiredUpdate": "Atualizar datas e prosseguir",
- "datesExpiredProceed": "Prosseguir sem alterações",
- "datesExpiredUseToday": "Atualizar para a data de hoje",
- "datesExpiredCustomize": "Escolher datas manualmente",
- "datesExpiredBack": "Voltar",
- "datesExpiredSetToday": "Definir para hoje",
- "customFieldsInvalid": "Preencha todos os campos personalizados obrigatórios",
- "customFieldsSaveFailed": "Falha ao salvar campos personalizados",
- "problems": {
- "title": "A ordem precisa de um título antes de ser salva.",
- "negative": "Quantidades, horas, preços e custos não podem ser negativos.",
- "partName": "Toda peça com preço precisa de um nome.",
- "laborDescription": "Toda linha de mão de obra com horas ou taxa precisa de uma descrição.",
- "concernCondition": "Um relato com causa, correção ou confirmação precisa ter a condição preenchida."
- }
- },
- "header": {
- "tabs": {
- "details": "Detalhes",
- "images": "Imagens",
- "video": "Vídeo",
- "documents": "Documentos",
- "statusReports": "Relatórios de status"
- },
- "save": "Salvar",
- "pdf": "PDF",
- "email": "Email",
- "share": "Compartilhar",
- "notify": "Notificar",
- "delete": "Deletar",
- "unpaid": "Não Pago",
- "unsavedChanges": "Alterações não salvas",
- "saved": "Salvo",
- "joinCall": "Entrar na videochamada",
- "moreActions": "Mais ações",
- "designMenu": "Design da fatura",
- "designMenuLoading": "Verificando com qual design esta fatura é impressa...",
- "designMenuExplain": "Foi para o cliente em {date}, então ainda é impressa com o design do envio. Escolher outro muda apenas a aparência. O que a fatura diz continua como foi enviado, e a aparência anterior não é guardada.",
- "designSentWith": "O design com que foi enviada",
- "designFollow": "Seguir o design padrão",
- "designFollowNamed": "Seguir o design padrão ({name})",
- "designDefaultName": "o design padrão",
- "designPickConfirmTitle": "Mudar esta fatura para {name}?",
- "designPickConfirmBody": "Só a aparência muda. Os dados da oficina, o cliente, as condições de pagamento e os valores continuam exatamente como foram enviados. O design atual não é guardado, então isso não pode ser desfeito.",
- "designPickConfirm": "Mudar o design",
- "designPickDone": "A fatura agora é impressa com {name}",
- "designPickFailed": "Não foi possível alterar o design",
- "designRefresh": "Atualizar para os dados atuais",
- "designRefreshConfirmTitle": "Atualizar esta fatura para os dados atuais?",
- "designRefreshConfirmBody": "Os dados da oficina, o cliente, o veículo, as condições de pagamento e o design são lidos novamente como estão hoje, e a fatura fica bloqueada neles. As linhas e os totais pertencem à própria fatura e não mudam. As cópias já baixadas ou enviadas por e-mail permanecem como estavam; o link de compartilhamento e o portal mostram a fatura atualizada. Isso não pode ser desfeito.",
- "designRefreshConfirm": "Atualizar a fatura",
- "designRefreshDone": "Esta fatura agora é impressa com os dados atuais",
- "designRefreshFailed": "Não foi possível atualizar a fatura",
- "printWorkOrder": "Imprimir ordem de serviço"
- },
- "basicInfo": {
- "title": "Informações Básicas",
- "invoiceDetails": "Detalhes da fatura",
- "customerInfo": "Cliente e veículo",
- "paid": "Pago",
- "markPaid": "Marcar como pago",
- "markUnpaid": "Marcar como não pago",
- "vehicle": "Veículo",
- "open": "Abrir",
- "customer": "Cliente",
- "titleLabel": "Título *",
- "titlePlaceholder": "Troca de Óleo",
- "date": "Data",
- "type": "Tipo",
- "mileage": "Quilometragem",
- "mileageMarine": "Horas de Motor",
- "status": "Status",
- "technician": "Técnico",
- "invoiceNumber": "Número da Fatura",
- "invoiceDate": "Data da fatura",
- "invoiceDueDate": "Data de vencimento",
- "typeOptions": {
- "maintenance": "Manutenção",
- "repair": "Reparo",
- "upgrade": "Atualização",
- "inspection": "Inspeção"
- },
- "statusOptions": {
- "pending": "Pendente",
- "in_progress": "Em Progresso",
- "waiting_parts": "Aguardando Peças",
- "completed": "Concluído"
- },
- "searchVehicles": "Pesquisar veículos...",
- "noVehicleFound": "Nenhum veículo encontrado.",
- "techPicker": {
- "placeholder": "Selecionar ou digitar um nome...",
- "searchPlaceholder": "Pesquisar ou digitar nome...",
- "useCustom": "Usar \"{search}\"",
- "typePrompt": "Digite um nome...",
- "boardTechnicians": "Técnicos do Quadro",
- "teamMembers": "Membros do Time"
- },
- "design": "Design da fatura",
- "designDefault": "Padrão da oficina",
- "designFollowing": "Padrão ({name})",
- "designSaved": "Design da fatura atualizado",
- "designFollowingRule": "Padrão ({name}, {rule})",
- "designRule": {
- "parts_sale": "Venda apenas de peças"
- },
- "designSaveFailed": "Não foi possível alterar o design da fatura"
- },
- "parts": {
- "title": "Peças",
- "fromInventory": "Do Inventário",
- "addPart": "Adicionar Peça",
- "partNumber": "Nº da Peça",
- "name": "Nome",
- "qty": "Qtd",
- "unitCost": "Custo",
- "unitCostHint": "Custo do fornecedor (interno, não exibido ao cliente)",
- "markupPercent": "Margem %",
- "markupPercentHint": "Margem aplicada ao custo (interno, não exibido ao cliente)",
- "applyMarkup": "Aplicar {percent}%",
- "applyMarkupHint": "Reaplicar margem de {percent}% ao custo em cada linha",
- "unitPrice": "Preço Unitário",
- "total": "Total",
- "namePlaceholder": "Nome *",
- "subtotal": "Subtotal de Peças: {amount}",
- "inventoryTitle": "Selecionar Peça do Inventário",
- "searchInventory": "Pesquisar inventário...",
- "inStock": "{quantity} em estoque",
- "noInventory": "Nenhuma peça de inventário encontrada.",
- "scanBarcode": "Escanear",
- "scanTitle": "Escanear código de barras",
- "partFound": "\"{name}\" adicionado do estoque",
- "partNotFound": "Nenhuma peça encontrada para o código de barras \"{barcode}\"",
- "deleteRow": "Excluir linha",
- "outOfStock": "Fora de estoque",
- "onBackorder": "Sob encomenda ({count})",
- "nameMissingHint": "Linhas sem nome da peça não são salvas."
- },
- "labor": {
- "title": "Mão de Obra e Serviços",
- "addLabor": "Adicionar Mão de Obra",
- "fromPresets": "De modelos",
- "description": "Descrição",
- "hours": "Horas",
- "rate": "Taxa ({currency}/h)",
- "total": "Total",
- "descriptionPlaceholder": "Descrição *",
- "subtotal": "Subtotal de Mão de Obra: {amount}",
- "addService": "Adicionar Serviço",
- "addFinding": "Observação",
- "newObservation": "Nova observação",
- "addExisting": "Ver existentes ({count})",
- "qty": "Qtd",
- "qtyOrHours": "Unidade / Horas",
- "hourlyTag": "HR",
- "serviceTag": "SVC",
- "hourlyHint": "Por hora: calculado pelas horas trabalhadas (horas × taxa/h). Clique para alterar.",
- "serviceHint": "Serviço: cobrado como valor fixo por unidade. Clique para alterar.",
- "deleteRow": "Excluir linha",
- "descriptionMissingHint": "Linhas sem descrição não são salvas.",
- "shopFeeTag": "Taxa",
- "shopFeeHintFlat": "A taxa de oficina das Configurações, como valor fixo. Altere o preço para este serviço ou exclua a linha para removê-la.",
- "shopFeeHintPercentLabor": "A taxa de oficina das Configurações: {percent} % da mão de obra deste serviço. Exclua a linha para removê-la.",
- "shopFeeHintPercentAll": "A taxa de oficina das Configurações: {percent} % da mão de obra e das peças deste serviço. Exclua a linha para removê-la."
- },
- "liveLabor": {
- "title": "{count, plural, one {Um técnico adicionou mão de obra a esta ordem} other {Um técnico adicionou # linhas de mão de obra a esta ordem}}",
- "body": "Ela fica fora da lista enquanto você edita. O próximo salvamento a inclui de qualquer forma.",
- "show": "Mostrar"
- },
- "totals": {
- "title": "Totais",
- "parts": "Peças",
- "labor": "Mão de Obra",
- "subtotal": "Subtotal",
- "subtotalInclTax": "Subtotal (com imposto)",
- "discount": "Desconto",
- "discountNone": "Nenhum",
- "discountPercentage": "Percentual",
- "discountFixed": "Fixo",
- "tax": "Imposto",
- "taxIncluded": "Imposto (incl.)",
- "total": "Total",
- "inclusiveModeHint": "Os preços das linhas são inseridos com imposto incluído. Os totais mostram a divisão líquido + imposto.",
- "partsCost": "Custo das peças (interno)"
- },
- "notes": {
- "title": "Notas",
- "public": "Público",
- "internal": "Interno",
- "publicPlaceholder": "Notas visíveis na fatura...",
- "internalPlaceholder": "Notas internas (não mostradas na fatura)...",
- "publicHelper": "Mostrado na fatura e documentos compartilhados",
- "internalHelper": "Visível apenas para seu time",
- "aiWrite": "AI Escrever",
- "aiGenerated": "Notas AI geradas com sucesso",
- "aiGenerateFailed": "Falha ao gerar notas AI",
- "aiDialogTitle": "IA Escrever",
- "aiDialogDescription": "A IA analisará as peças e a mão de obra neste registro de serviço e gerará uma descrição profissional. O resultado será escrito no tipo de nota selecionado.",
- "aiGenerate": "Gerar",
- "aiOverwriteDescription": "Esta nota já possui conteúdo. Você pode substituí-lo ou adicionar o texto gerado pela IA abaixo.",
- "aiOverwriteReplace": "Substituir",
- "aiOverwriteAppend": "Adicionar",
- "aiOverwriteCancel": "Cancelar",
- "aiDontShowAgain": "Não mostrar novamente",
- "internalTitle": "Notas internas",
- "publicTitle": "Notas para o cliente"
- },
- "invoice": {
- "title": "Resumo da Fatura",
- "parts": "Peças",
- "labor": "Mão de Obra",
- "subtotal": "Subtotal",
- "subtotalInclTax": "Subtotal (com imposto)",
- "discount": "Desconto",
- "tax": "Imposto ({rate}%)",
- "taxIncluded": "Imposto (incl., {rate}%)",
- "total": "Total",
- "paid": "Pago",
- "balanceDue": "Saldo Devedor",
- "paidBadge": "PAGO",
- "entityLabel": "Fatura",
- "emailSubject": "Confirmação de Pagamento",
- "statusEmailSubject": "Atualização do status do serviço",
- "markCompletedTitle": "Marcar esta fatura como concluída?",
- "markCompletedDescription": "Ela já foi enviada ao cliente, mas continua marcada como não finalizada, então seguirá aparecendo no quadro.",
- "markCompletedConfirm": "Marcar como concluída",
- "lockedFieldsetLabel": "Fatura bloqueada, edição desativada"
- },
- "payments": {
- "title": "Pagamentos",
- "markUnpaid": "Marcar como Não Pago",
- "markPaid": "Marcar como Pago",
- "recordPayment": "Registrar Pagamento",
- "totalPaid": "Total Pago",
- "amount": "Valor",
- "date": "Data",
- "method": "Método",
- "note": "Nota",
- "notePlaceholder": "Nota opcional",
- "savePayment": "Salvar Pagamento",
- "methodOptions": {
- "cash": "Dinheiro",
- "card": "Cartão",
- "transfer": "Transferência",
- "other": "Outro"
- },
- "recorded": "Pagamento registrado",
- "markedPaid": "Marcado como pago",
- "markedUnpaid": "Marcado como não pago",
- "deleted": "Pagamento deletado",
- "failedRecord": "Falha ao registrar pagamento",
- "failedStatus": "Falha ao atualizar status do pagamento",
- "failedDelete": "Falha ao deletar pagamento",
- "deleteTitle": "Deletar Pagamento",
- "deleteDescription": "Isto vai remover este registro de pagamento.",
- "failedPdf": "Falha ao gerar PDF da fatura",
- "received": "Pagamentos recebidos",
- "noneYet": "Nada pago ainda.",
- "balanceDue": "Saldo devedor"
- },
- "attachments": {
- "deleteTitle": "Deletar Anexo",
- "deleteDescription": "Isto vai deletar permanentemente este anexo. Isto não pode ser desfeito.",
- "deleted": "Anexo deletado",
- "failedDelete": "Falha ao deletar",
- "images": "Imagens ({count})",
- "videos": "Vídeos ({count})",
- "diagnostics": "Relatórios de Diagnóstico ({count})",
- "documents": "Documentos ({count})",
- "download": "Baixar",
- "close": "Fechar"
- },
- "share": {
- "title": "Compartilhar Fatura",
- "description": "Gere um link público que permita qualquer pessoa visualizar e baixar esta fatura sem fazer login.",
- "notifyTitle": "Notificar {name}",
- "email": "Email",
- "noEmail": "(sem email registrado)",
- "sms": "SMS",
- "noPhone": "(sem telefone registrado)",
- "sendNotification": "Enviar Notificação",
- "revokeLink": "Revogar Link",
- "generateLink": "Gerar Link Público",
- "emailSent": "Email enviado",
- "failedEmail": "Falha ao enviar email",
- "smsSent": "SMS enviado",
- "failedSms": "Falha ao enviar SMS",
- "copyLink": "Copiar link"
- },
- "sidebar": {
- "vehicle": "Veículo",
- "customer": "Cliente",
- "vin": "VIN: {vin}",
- "mileageAtService": "Quilometragem no serviço: {mileage} {unit}",
- "engineHoursAtService": "Horas de motor no serviço: {mileage} {unit}",
- "sharedLink": {
- "title": "Link compartilhado",
- "sharedOn": "Compartilhado em {date}",
- "notViewed": "Ainda não visualizado",
- "viewedTimes": "Visualizado {count, plural, one {# vez} other {# vezes}}",
- "lastViewed": "Último {date}",
- "copyLink": "Copiar link",
- "linkCopied": "Link copiado"
- }
- },
- "images": {
- "title": "Imagens do Serviço",
- "dropzone": "Arraste imagens aqui ou clique para navegar",
- "uploading": "Enviando...",
- "formats": "JPG, PNG, WebP (máx. 10MB cada)",
- "uploadingImages": "Enviando imagens...",
- "limitReached": "Limite de imagens atingido ({count}/{max})",
- "upgradePrompt": "Atualize seu plano para enviar mais imagens.",
- "onlyAllowed": "Apenas imagens JPG, PNG e WebP são permitidas. {names} ignorado(s).",
- "onlyUploading": "Enviando apenas {count} imagem(ns) para não exceder o limite.",
- "uploadingCount": "Enviando {count} imagem(ns)...",
- "uploadedCount": "{count} imagem(ns) enviada(s)",
- "uploadFailed": "Falha no envio",
- "deleted": "Imagem deletada",
- "failedDelete": "Falha ao deletar imagem",
- "failedUpdate": "Falha ao atualizar",
- "description": "Descrição...",
- "invoice": "Fatura"
- },
- "videos": {
- "title": "Vídeos do Serviço",
- "dropzone": "Arraste vídeos aqui ou clique para navegar",
- "uploading": "Enviando...",
- "formats": "MP4, WebM, MOV (máx. 10MB cada)",
- "uploadingVideos": "Enviando vídeos...",
- "uploadingCount": "Enviando {count} vídeo(s)...",
- "uploadedCount": "{count} vídeo(s) enviado(s)",
- "uploadFailed": "Falha no envio",
- "deleted": "Vídeo deletado",
- "failedDelete": "Falha ao deletar vídeo",
- "failedUpdate": "Falha ao atualizar",
- "invoice": "Fatura"
- },
- "documents": {
- "diagnosticTitle": "Relatórios de Diagnóstico",
- "documentsTitle": "Documentos",
- "dropzone": "Arraste arquivos aqui ou clique para navegar",
- "uploading": "Enviando...",
- "diagnosticFormats": "PDF, CSV, TXT (máx. 10MB cada)",
- "documentFormats": "PDF, DOCX, XLSX, CSV, TXT (máx. 10MB cada)",
- "uploadingReports": "Enviando relatórios...",
- "uploadingDocuments": "Enviando documentos...",
- "diagnosticLimitReached": "Limite de relatórios de diagnóstico atingido ({count}/{max})",
- "documentLimitReached": "Limite de documentos atingido ({count}/{max})",
- "upgradePrompt": "Atualize seu plano para enviar mais.",
- "diagnosticLabel": "Relatório de diagnóstico",
- "documentLabel": "Documento",
- "limitReachedToast": "Limite de {label} atingido ({count}/{max}). Atualize seu plano para mais.",
- "onlyUploading": "Enviando apenas {count} arquivo(s) para não exceder o limite.",
- "uploadingCount": "Enviando {count} arquivo(s)...",
- "uploadedCount": "{count} arquivo(s) enviado(s)",
- "uploadFailed": "Falha no envio",
- "deleted": "Arquivo deletado",
- "failedDelete": "Falha ao deletar arquivo",
- "failedUpdate": "Falha ao atualizar",
- "invoice": "Fatura"
- },
- "schedule": {
- "title": "Agendamento",
- "date": "Data",
- "startTime": "Hora de início",
- "endTime": "Hora de término",
- "durationPresets": "Duração",
- "technician": "Técnico",
- "selectTechnician": "Selecionar técnico...",
- "searchOrCreate": "Buscar ou criar técnico...",
- "createTechnician": "Criar \"{name}\"",
- "creating": "Criando...",
- "failedCreate": "Falha ao criar técnico",
- "addNew": "+ Adicionar novo",
- "add": "Adicionar",
- "newTechPlaceholder": "Nome do técnico...",
- "assign": "Atribuir ao quadro",
- "assigned": "Atribuído ao quadro de trabalho",
- "failedAssign": "Falha ao atribuir",
- "assignNotAllowed": "Você não tem permissão para atribuir técnicos. Peça a um proprietário ou administrador que permita à sua função alterar o quadro de trabalho.",
- "endBeforeStart": "A hora de término deve ser após a hora de início",
- "failedUpdate": "Falha ao atualizar o agendamento",
- "splitCreated": "O trabalho abrange vários dias. Continuação criada para o dia seguinte",
- "customTechnicians": "Personalizados",
- "readMore": "Saiba mais",
- "setDefaults": "Valores padrão",
- "workBay": "Baia",
- "selectWorkBay": "Selecionar baia…",
- "noWorkBay": "Sem baia",
- "noTechnician": "Sem técnico",
- "technicians": "Técnicos",
- "otherTeamMembers": "Outros membros da equipe",
- "makeTechnician": "Torna essa pessoa técnica",
- "addSomeoneNew": "Adicionar alguém novo",
- "notOnBoard": "Ainda não está no quadro",
- "putOnBoard": "Colocar no quadro",
- "slotTaken": "{count, plural, one {Este horário já está reservado} other {Este horário tem # conflitos}}",
- "anotherJob": "outro serviço",
- "clashTechnician": "o técnico está ocupado",
- "clashBay": "o box está ocupado",
- "clashBoth": "ambos estão ocupados",
- "bookedAnyway": "Salvo mesmo assim. Altere o horário ou escolha o próximo horário livre.",
- "pickNextAvailable": "Escolher o próximo horário livre",
- "findingSlot": "Procurando um horário…",
- "slotPicked": "Agendado no próximo horário livre",
- "noSlotFound": "Nenhum horário livre encontrado nas próximas semanas",
- "assignedTitle": "Técnico responsável",
- "boardLink": "Quadro de Trabalho",
- "someoneElse": "Outra pessoa",
- "loadOf": "{booked} / {capacity} h",
- "loadFree": "{hours} h livres",
- "loadFull": "Agenda cheia",
- "loadOn": "Horas agendadas em {date}",
- "promisedAt": "Prometido ao cliente",
- "promisedPlaceholder": "Ainda não prometido",
- "promisedClear": "Limpar"
- },
- "notifications": {
- "title": "Notificações ao cliente",
- "viaSms": "via SMS",
- "viaEmail": "via e-mail",
- "justNow": "Agora mesmo",
- "minutesAgo": "{count}m atrás",
- "hoursAgo": "{count}h atrás",
- "daysAgo": "{count}d atrás"
- },
- "table": {
- "warranty": "Garantia"
- },
- "warranty": {
- "title": "Garantia",
- "months": "Duração (meses)",
- "notes": "Termos de garantia",
- "notesPlaceholder": "ex. Garantia de 12 meses em todas as peças e mão de obra...",
- "expiresAt": "Expira",
- "presets": {
- "3months": "3 m",
- "6months": "6 m",
- "12months": "12 m",
- "24months": "24 m"
- },
- "status": {
- "active": "Ativa",
- "expiring": "Expirando",
- "expired": "Expirada",
- "none": "N/A"
- },
- "statementLabel": "O que o cliente é informado sobre a garantia",
- "statement": {
- "none": "Não informado",
- "included": "Incluída",
- "not_included": "Não incluída"
- },
- "noneHint": "Nada sobre garantia é impresso neste documento.",
- "mileageWithUnit": "Limite de distância ({unit})",
- "notIncludedNotes": "Declaração ao cliente",
- "notIncludedPlaceholder": "ex.: A oficina não oferece garantia sobre peças fornecidas pelo cliente.",
- "printedHint": "Impresso abaixo da garantia no documento.",
- "notIncludedHint": "Deixe em branco e o documento dirá que os direitos legais não são afetados.",
- "summaryMonths": "{count} m"
- },
- "concerns": {
- "title": "Relatos do cliente",
- "hint": "Por que o cliente veio, nas palavras do próprio cliente. Uma linha para cada coisa mencionada.",
- "add": "Adicionar outro",
- "placeholder": "Faz um barulho atrás quando eu freio",
- "remove": "Remover este item",
- "notAnswered": "Nada encontrado sobre isso ainda",
- "answered": "{count} constatação(ões) sobre isso",
- "storyTitle": "Descrição do serviço",
- "storyHint": "Condição, causa, correção, confirmação. Clique em uma etapa para abri-la; uma linha para cada coisa que o cliente relatou ou que você observou.",
- "steps": {
- "condition": "Condição",
- "cause": "Causa",
- "correction": "Correção",
- "confirm": "Confirmação"
- },
- "conditionPlaceholder": "O que o cliente relatou, ou o que você observou",
- "causePlaceholder": "O que os testes mostraram ser a causa raiz",
- "correctionPlaceholder": "O que foi feito para resolver",
- "confirmPlaceholder": "Como o reparo foi verificado: test drive, nova leitura com o scanner, sintoma resolvido",
- "markConfirmed": "Confirmado",
- "confirmedBy": "Confirmado por {name}, {date}",
- "confirmedAt": "Confirmado em {date}",
- "confirmedOnSave": "Marcado com o seu nome ao salvar",
- "confirmedCount": "{confirmed} de {total} confirmados",
- "findingsCount": "{count, plural, one {# observação} other {# observações}}",
- "addFinding": "Adicionar observação",
- "unconfirmedTitle": "Concluir com relatos não confirmados?",
- "unconfirmedBody": "{count, plural, one {Um relato ainda não foi confirmado como resolvido:} other {# relatos ainda não foram confirmados como resolvidos:}}",
- "unconfirmedProceed": "Concluir mesmo assim",
- "addMedia": "Adicionar mídia",
- "mediaUploading": "Enviando…",
- "mediaAdded": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}}",
- "mediaFailed": "Não foi possível enviar {name}",
- "mediaTypes": "Escolha uma foto (JPG, PNG, WebP) ou um vídeo.",
- "dictate": {
- "start": "Ditar",
- "listening": "Ouvindo",
- "startHint": "Fale e o texto aparece aqui. Nada é gravado.",
- "stopHint": "Parar de ouvir",
- "notAllowed": "O navegador não teve permissão para usar o microfone. Permita o acesso para este site e tente novamente.",
- "noMicrophone": "Nenhum microfone encontrado.",
- "failed": "O ditado parou. Tente novamente.",
- "startHintServer": "Fale e o texto aparece enquanto você fala. O áudio vai para o seu modelo de voz para ser transcrito e não é guardado.",
- "transcribing": "Finalizando…",
- "language": "Idioma falado",
- "auto": "Automático",
- "nothingHeard": "Nada foi ouvido.",
- "fellBack": "Usando o ditado do próprio navegador por enquanto.",
- "autoLong": "Automático (detectar o idioma)",
- "engine": "Transcrito por",
- "engineAi": "Modelo de voz (mais preciso)",
- "engineBrowser": "Navegador (escreve enquanto você fala)",
- "liveFellBack": "Escrevendo em blocos de alguns segundos em vez de palavra por palavra."
- },
- "stepEmpty": "Ainda não preenchido",
- "removeTitle": "Remover este relato?",
- "removeBody": "A condição, a causa, a correção e a confirmação dele são removidas junto quando você salvar a ordem de serviço.",
- "removeAttached": "As observações e mídias dele continuam no serviço, mas deixam de ficar vinculadas a um relato.",
- "removeConfirm": "Remover relato",
- "saveFirst": "Salve a ordem de serviço primeiro"
- },
- "videoCall": {
- "title": "Videochamada",
- "none": "Nenhuma videochamada nesta ordem de serviço.",
- "needsSchedule": "Defina um horário de início primeiro. A reunião segue o agendamento.",
- "add": "Adicionar reunião do {provider}",
- "addedHere": "adicionada por esta ordem de serviço",
- "fromCalendar": "do evento do calendário",
- "join": "Entrar",
- "copy": "Copiar link",
- "copied": "Link copiado",
- "remove": "Remover",
- "removeTitle": "Remover a videochamada?",
- "removeDescription": "A reunião é excluída no provedor. Quem já tem o link não poderá mais entrar.",
- "created": "Reunião criada. O link está na ordem de serviço.",
- "removed": "Reunião removida",
- "failed": "Algo deu errado",
- "shareHint": "O cliente só recebe este link quando você envia.",
- "shareHintNoChannel": "O cliente só recebe este link quando você envia. Nenhum canal de mensagens está configurado, então copie-o você mesmo em uma mensagem.",
- "send": {
- "button": "Enviar ao cliente",
- "title": "Enviar o link da videochamada",
- "description": "Enviar o link de entrada para {name}.",
- "messageLabel": "Observação (opcional)",
- "messagePlaceholder": "O que o cliente deve saber antes da chamada...",
- "linkAlwaysIncluded": "O link de entrada é sempre adicionado abaixo da sua observação.",
- "sms": "SMS",
- "email": "E-mail",
- "telegram": "Telegram",
- "noPhone": "(sem telefone)",
- "noEmail": "(sem e-mail)",
- "noTelegram": "(sem chat vinculado)",
- "notAvailable": "(não configurado)",
- "cancel": "Cancelar",
- "send": "Enviar",
- "sent": "Link da videochamada enviado",
- "partlySent": "Enviado por {sent}; não por {failed}",
- "failed": "Não foi possível enviar o link"
- },
- "notify": {
- "invitation": "Olá {name}, sua videochamada sobre o {vehicle} é em {when}. Entre aqui: {url}",
- "invitationNoTime": "Olá {name}, aqui está o link da videochamada sobre o {vehicle}: {url}",
- "joinLine": "Entre na videochamada aqui: {url}",
- "emailSubject": "Videochamada sobre o seu {vehicle}"
- }
- },
- "modern": {
- "statusLabel": "Status da ordem de serviço",
- "back": "Voltar",
- "backToClassic": "Voltar ao layout clássico",
- "openCustomer": "Abrir cliente",
- "serviceHistory": "Histórico de serviços",
- "changeVehicle": "Trocar veículo",
- "vehicleChangesOnSave": "A ordem de serviço passa para este veículo quando você salvar.",
- "phone": "Telefone",
- "email": "E-mail",
- "notSet": "Não definido",
- "noCustomer": "Nenhum cliente nesta ordem de serviço.",
- "invoiceTitle": "Fatura e pagamento",
- "filesTitle": "Arquivos e mídia",
- "activity": {
- "title": "Atividade",
- "messageSent": "Mensagem enviada ao cliente",
- "linkShared": "Link da fatura compartilhado",
- "linkViewed": "{count, plural, one {O cliente abriu o link} other {O cliente abriu o link # vezes}}",
- "paymentTaken": "Pagamento de {amount} registrado",
- "statusSet": "Status alterado para {status}"
- },
- "invite": {
- "title": "A página da ordem de serviço foi reformulada.",
- "body": "Um layout mais claro com os mesmos campos. Você pode voltar ao anterior a qualquer momento.",
- "try": "Experimentar agora",
- "dismiss": "Agora não",
- "menu": "Experimentar o novo layout"
- },
- "promised": "Prometida para {date}",
- "promisedOverdue": "Prometida para {date}, atrasada",
- "opened": "Aberta em {date}",
- "openedBy": "Aberta em {date} por {name}",
- "editTitle": "Editar título",
- "titleField": "Título",
- "media": {
- "tabs": {
- "photos": "Fotos",
- "diagnostics": "Diagnóstico",
- "dropoff": "Entrada"
- },
- "summary": "{count, plural, one {# arquivo} other {# arquivos}} · o cliente só vê o que estiver marcado",
- "customerCanSee": "Visível para o cliente",
- "showToCustomer": "Mostrar ao cliente",
- "hideFromCustomer": "Ocultar do cliente",
- "add": {
- "image": "Adicionar fotos",
- "document": "Adicionar documentos",
- "diagnostic": "Adicionar relatório de diagnóstico",
- "video": "Adicionar vídeo",
- "dropoff": "Adicionar fotos de entrada"
- },
- "dropHint": "Arraste arquivos aqui ou clique para procurar",
- "added": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}}",
- "failed": "Não foi possível enviar {name}",
- "wrongType": "Tipo de arquivo errado para esta aba: {names}",
- "limit": "Limite atingido ({count}/{max})",
- "dropoffHint": "O carro como chegou, com a hora de cada foto. Fica com a oficina e não é mostrado ao cliente, a menos que você escolha.",
- "onInvoice": "Incluir o estado do veículo nesta fatura",
- "onInvoiceHint": "Desligado a menos que você marque aqui. Para imprimir em todas as faturas, ative Estado do veículo no designer de faturas.",
- "onInvoiceByDesign": "Ativado no designer de faturas para todas as faturas. Desmarque para omitir nesta.",
- "onInvoiceFailed": "Não foi possível salvar a escolha"
- },
- "moneyBar": {
- "total": "Total",
- "paid": "Pago",
- "balance": "Saldo devedor",
- "settled": "Pago integralmente",
- "takePayment": "Receber pagamento",
- "preview": "Pré-visualizar fatura",
- "previewShort": "Pré-visualizar",
- "send": "Enviar ao cliente",
- "sendShort": "Enviar"
- },
- "vehicleInfo": {
- "more": "Mais informações",
- "less": "Menos informações",
- "copy": "Copiar {label}",
- "copied": "Copiado",
- "lastInspection": "Última inspeção periódica",
- "purchaseDate": "Data de compra",
- "purchasePrice": "Preço de compra",
- "overdue": "vencida",
- "customerSince": "Cliente desde"
- },
- "moreStatuses": "Mais status",
- "fromInspection": "Da inspeção {name}, {date}",
- "startInspection": "Iniciar inspeção"
- },
- "photoHandoff": {
- "button": "Adicionar pelo celular",
- "dialogTitle": "Adicionar fotos e documentos pelo celular",
- "dialogBody": "Tire ou escolha fotos, ou compartilhe um PDF, em qualquer celular. Tudo vai direto para esta ordem de serviço.",
- "expires": "O código vale até as {time}.",
- "waiting": "Aguardando fotos e documentos…",
- "received": "{count, plural, one {# arquivo recebido} other {# arquivos recebidos}}",
- "copyLink": "Copiar link",
- "linkCopied": "Link copiado",
- "failed": "Não foi possível gerar o código. Tente novamente.",
- "done": "Concluído",
- "pageTitle": "Adicionar fotos e documentos",
- "forJob": "Ordem de serviço {number}",
- "takePhoto": "Tirar foto",
- "choosePhotos": "Escolher fotos",
- "hint": "Tudo vai direto para a ordem de serviço. Tire quantas fotos precisar.",
- "uploading": "Enviando…",
- "added": "Adicionada",
- "notAdded": "Não adicionada",
- "retry": "Tentar novamente",
- "addedCount": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}}",
- "expiredTitle": "Este código expirou",
- "invalidTitle": "Este link não funciona",
- "errors": {
- "expired": "Peça um novo código no balcão. Cada código vale por 30 minutos.",
- "invalid": "Escaneie de novo o código na ordem de serviço.",
- "limit": "Esta ordem de serviço já tem todas as fotos que comporta.",
- "type": "Aqui só é possível adicionar fotos e documentos PDF.",
- "tooLarge": "Esse arquivo é grande demais.",
- "failed": "A foto não foi adicionada. Verifique a conexão e tente novamente.",
- "codeLimit": "Este código já adicionou todas as fotos que um código permite. Escaneie um novo código no balcão."
- },
- "concernHeading": "As fotos vão para este relato",
- "howTitle": "Como funciona",
- "step1": "Aponte a câmera do celular para o código e abra o link.",
- "step2": "Tire fotos, ou escolha fotos ou documentos PDF que já estão no celular.",
- "step3": "Elas aparecem nesta ordem de serviço assim que chegam.",
- "noSignIn": "Não é preciso entrar na conta no celular.",
- "customerToo": "A equipe pode usar, e o cliente também: deixe-o escanear o código ou envie o link para ele.",
- "scope": "O link só adiciona fotos e documentos a esta ordem de serviço e para de funcionar após 30 minutos.",
- "scanHint": "Escaneie com a câmera do celular",
- "chooseDocument": "Enviar um documento",
- "privacy": "Só a oficina vê o que você adiciona aqui.",
- "dropoff": {
- "button": "Fotos de entrada",
- "dialogTitle": "Fotografe o carro na chegada",
- "dialogBody": "Uma volta no carro antes de começar: os quatro lados, o hodômetro e os danos que já existem. É a sua prova se um risco for questionado.",
- "step2": "Siga a lista no celular: uma foto de cada lado, o hodômetro e os danos.",
- "scope": "O link só adiciona fotos de entrada a esta ordem de serviço e para de funcionar após 30 minutos.",
- "pageTitle": "O carro na chegada",
- "pageBody": "Tire cada foto em ordem. Adicione um close dos danos que já existem.",
- "retake": "Refazer",
- "slots": {
- "front": "Frente",
- "right": "Lado direito",
- "rear": "Traseira",
- "left": "Lado esquerdo",
- "odometer": "Hodômetro",
- "other": "Dano ou outro"
- }
- }
- },
- "payCode": {
- "button": "Código de pagamento",
- "title": "Pagar escaneando",
- "body": "O cliente escaneia com a câmera do celular, a fatura abre e ele paga ali.",
- "sharesInvoice": "Mostrar o código compartilha a fatura com o cliente, do mesmo modo que enviá-la. A partir daí a fatura mantém os dados que tem agora.",
- "show": "Mostrar o código",
- "failed": "Não foi possível criar o código. Tente novamente.",
- "toPay": "A pagar",
- "scanHint": "Escaneie com a câmera do celular",
- "copyLink": "Copiar link",
- "linkCopied": "Link copiado",
- "waiting": "Aguardando o pagamento. Atualiza sozinho.",
- "paid": "Pagamento recebido",
- "paidBody": "O pagamento está na ordem de serviço.",
- "done": "Concluir"
- },
- "customStatus": {
- "defaultMessage": "Olá {customer_name}, uma atualização sobre o seu {vehicle}: {status}. {company_name}"
- }
- }
|