File size: 50,303 Bytes
0f2f80a ab43d7b 0f2f80a ab43d7b c4ab07f 6dd9bad d80fec4 0f2f80a ab43d7b 785cec2 8280d7d ab43d7b d80fec4 ab43d7b d80fec4 ab43d7b d80fec4 ab43d7b 66ff7a1 d80fec4 ab43d7b 4f90920 d80fec4 4f90920 ab43d7b 66ff7a1 d80fec4 ab43d7b 6dd9bad ab43d7b 66ff7a1 4f90920 d80fec4 ab43d7b c4ab07f d74c1b3 d80fec4 ab43d7b d80fec4 ab43d7b c4ab07f 6dd9bad 66ff7a1 1c602ea d80fec4 c4ab07f d80fec4 c4ab07f 66ff7a1 4f90920 a3df350 4f90920 295c327 4f90920 295c327 4f90920 295c327 4f90920 66ff7a1 d80fec4 b92ea37 0f2f80a 66ff7a1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 | {
"common": {
"welcome": "Bem-vindo",
"dashboard": "Painel",
"clients": "Clientes",
"analytics": "Análises",
"settings": "Configurações",
"logout": "Sair",
"save": "Guardar",
"cancel": "Cancelar",
"loading": "Carregando...",
"error": "Ocorreu um erro",
"success": "Sucesso",
"create": "Criar",
"delete": "Excluir",
"edit": "Editar",
"search": "Pesquisar...",
"actions": "Ações",
"export": "Exportar",
"sync": "Sincronizar",
"send": "Enviar",
"close": "Fechar",
"confirm": "Confirmar",
"back": "Voltar",
"next": "Próximo",
"yes": "Sim",
"no": "Não",
"status": "Estado",
"date": "Data",
"name": "Nome",
"email": "Email",
"phone": "Telefone",
"day": "Dia",
"none": "Nenhum",
"select_org": "Por favor selecione uma organização",
"clear_filter": "Remover filtro",
"no_data": "Sem dados disponíveis",
"retry": "Tentar novamente",
"of": "de"
},
"nav": {
"home": "Início",
"inbox": "Caixa de entrada",
"campaigns": "Campanhas",
"templates": "Modelos",
"organizations": "Organizações",
"users": "Utilizadores",
"training": "Training Lab",
"moderation": "Moderação",
"b2b": "Clientes B2B",
"kb": "Base de Conhecimento",
"content": "Cursos",
"conversations": "Conversas",
"ai_setup": "Agente IA",
"billing": "Faturação"
},
"dashboard": {
"title": "Painel",
"subtitle": "Estado da sua plataforma em tempo real",
"select_org": "Bem-vindo ao EdTech Admin",
"select_org_hint": "Para começar, selecione uma organização no menu à esquerda.",
"isolation_note": "O isolamento de dados garante que você veja apenas as estatísticas da organização ativa.",
"loading": "Analisando dados...",
"no_enrollments": "Sem inscrições",
"recent_enrollments": "Inscrições recentes",
"export_csv": "Exportar CSV",
"stats": {
"users": "Utilizadores",
"active": "Ativos",
"completed": "Concluídos",
"tracks": "Cursos",
"revenue": "Receita",
"total_messages": "Mensagens Totais",
"active_users": "Utilizadores Ativos",
"completion_rate": "Taxa de Conclusão",
"ai_cost": "Custo IA estimado"
},
"table": {
"phone": "Telefone",
"track": "Curso",
"status": "Estado",
"day": "Dia",
"date": "Data"
}
},
"analytics": {
"title": "Análises e Desempenho",
"export": "Exportar relatório",
"explain": "Explicar",
"messages": {
"title": "Volume de Mensagens",
"inbound": "Recebidas",
"outbound": "Enviadas"
},
"completion": {
"title": "Taxa de Sucesso",
"completed": "Concluídos",
"in_progress": "Em progresso"
},
"performance": {
"title": "Desempenho",
"avg_score": "Pontuação média dos exercícios"
},
"engagement": {
"title": "Envolvimento",
"avg_days": "Dias de formação em média"
},
"sql_error": "Erro ao executar a consulta",
"sql_example_1": "Quantos usuários ativos esta semana?",
"sql_example_2": "Quais são os 5 usuários com mais mensagens?",
"sql_example_3": "Qual é a taxa média de conclusão?",
"sql_example_4": "Quantos créditos de IA foram consumidos este mês?",
"ai_cost_title": "Custo de IA por funcionalidade",
"ai_cost_subtitle": "Dados reais — fonte: UsageEvent",
"col_feature": "Funcionalidade",
"col_calls": "Chamadas",
"col_tokens_in": "Tokens in",
"col_tokens_out": "Tokens out",
"col_cost": "Custo (USD)",
"total": "Total",
"nl_search_title": "Pesquisa em linguagem natural",
"nl_search_subtitle": "Faça uma pergunta sobre seus dados — a IA gera a consulta SQL",
"nl_search_placeholder": "Ex.: Quais usuários ficaram inativos por 7 dias?",
"search_btn": "Pesquisar",
"view_sql": "Ver SQL",
"no_results": "Nenhum resultado"
},
"users": {
"title": "Gestão de Utilizadores",
"subtitle": "Todos os alunos inscritos",
"no_users": "Nenhum utilizador encontrado",
"invite": "Convidar",
"columns": {
"name": "Nome",
"phone": "Telefone",
"track": "Curso ativo",
"day": "Dia",
"status": "Estado",
"joined": "Inscrição"
},
"confirm_delete": "Excluir este usuário? Esta ação é reversível no banco de dados.",
"delete_success": "Usuário excluído",
"delete_error": "Falha ao excluir",
"handoff_released": "Handoff liberado — IA retoma a conversa",
"handoff_none": "Nenhum handoff ativo para este usuário",
"handoff_error": "Falha",
"load_error": "Erro ao carregar usuários",
"language_column": "Idioma",
"sector_column": "Setor",
"conversation_btn": "Conversa",
"delete_title": "Excluir usuário",
"handoff_active": "Handoff ativo",
"release_ai": "Liberar IA",
"prev": "Anterior"
},
"contacts": {
"title": "Contactos",
"subtitle": "Gestão da sua base de contactos CRM",
"add": "Adicionar contacto",
"import": "Importar",
"no_contacts": "Sem contactos",
"search_placeholder": "Procurar um contacto...",
"tags_update_error": "Falha ao atualizar as tags",
"import_success": "Importação bem-sucedida: {{created}} adicionados, {{updated}} atualizados, {{errors}} erros.",
"upload_critical_error": "Ocorreu um erro crítico durante o upload.",
"ai_generation_error": "Falha na geração IA.",
"generation_error_fallback": "Erro de geração",
"confirm_delete_one": "Tem a certeza que deseja eliminar este contacto?",
"delete_error": "Erro ao eliminar.",
"confirm_delete_many": "Tem a certeza que deseja eliminar {{count}} contactos?",
"bulk_delete_success": "Contactos eliminados com sucesso.",
"bulk_delete_error": "Erro ao eliminar em massa.",
"csv_name": "Nome",
"csv_phone": "Telefone",
"csv_created": "Criado em",
"message_copied": "Mensagem copiada!",
"copied": "Copiado!",
"generation_completed": "Geração concluída com sucesso"
},
"settings": {
"title": "Configurações",
"profile": "Perfil da organização",
"branding": "Marca e Cores",
"ai_config": "Configuração IA",
"whatsapp_config": "Configuração WhatsApp",
"billing": "Faturação",
"org_name": "Nome da organização",
"primary_color": "Cor principal",
"logo_url": "URL do logótipo",
"save_success": "Configurações guardadas com sucesso.",
"save_error": "Não foi possível guardar as configurações.",
"no_org_selected": "Por favor selecione uma organização.",
"advanced_config": "Configuração avançada",
"developers_badge": "Desenvolvedores",
"flow_config_desc": "Este campo contém a configuração JSON do fluxo pedagógico. Modifique-o apenas se souber o que está fazendo.",
"wa_account": "Conta WhatsApp",
"wa_token": "Token do sistema",
"not_configured": "Não configurado",
"token_absent": "Ausente",
"token_expired": "Expirado",
"token_valid": "Válido",
"token_present": "Presente",
"token_expired_alert": "O seu token do WhatsApp é inválido ou expirou. As mensagens já não podem ser enviadas. Vá a Meta Business Manager → Utilizadores do sistema para gerar um novo token e atualize a sua organização.",
"api_keys_title": "Chaves API de IA",
"api_keys_locked": "Disponível a partir do plano SCALE. Ao adicionar as suas próprias chaves OpenAI ou Google, usa a sua própria quota de IA — sem limite associado ao seu plano Xamlé.",
"api_keys_unlocked": "As suas chaves estão encriptadas e armazenadas de forma segura. Elas substituem as chaves partilhadas da plataforma — o seu consumo de IA já não é descontado do seu saldo de créditos.",
"wa_connect_success": "WhatsApp conectado com sucesso ✅",
"wa_connect_error": "Falha na conexão com WhatsApp. Verifique o token e o WABA ID.",
"mode_edtech": "EdTech",
"mode_webhook": "Webhook",
"mode_ai_agent": "Agente IA",
"mode_pedagogy": "Pedagogia",
"mode_customer_service": "Suporte ao Cliente",
"mode_crm_marketing": "CRM & Campanhas",
"wa_cancel": "Cancelar",
"wa_reconfigure": "🔄 Reconfigurar",
"wa_connect_btn": "🔗 Conectar",
"wa_connecting": "Conectando...",
"wa_connect_submit": "Conectar WhatsApp"
},
"auth": {
"org_id": "ID da Organização",
"email": "Email",
"password": "Senha",
"login_subtitle_edtech": "Acesse seu espaço EdTech",
"login_subtitle_admin": "Área administrativa — acesso restrito",
"login_button": "Entrar",
"login_loading": "Entrando...",
"org_id_required": "O ID da organização é obrigatório.",
"powered_by": "Desenvolvido por Xamlé Studio",
"forgot_password": "Esqueceu a senha?",
"reset_title": "Esqueceu a senha",
"reset_sent_title": "Email enviado",
"reset_sent_subtitle": "Verifique sua caixa de entrada e clique no link de redefinição.",
"reset_new_title": "Nova senha",
"reset_success_title": "Senha atualizada",
"reset_success_subtitle": "Você pode fazer login com sua nova senha.",
"reset_email_label": "Endereço de email",
"reset_email_placeholder": "seu@email.com",
"reset_send_button": "Enviar link",
"reset_sending": "Enviando...",
"reset_new_password": "Nova senha",
"reset_confirm_password": "Confirmar",
"reset_set_button": "Definir senha",
"reset_setting": "Atualizando...",
"reset_login_link": "Entrar",
"reset_back": "Voltar ao login",
"reset_network_error": "Erro de rede. Por favor, tente novamente.",
"reset_password_mismatch": "As senhas não coincidem.",
"reset_password_min_length": "A senha deve ter pelo menos 6 caracteres.",
"reset_token_expired": "Token inválido ou expirado."
},
"onboarding": {
"title": "Bem-vindo ao Xamlé.Studio",
"subtitle": "Vamos configurar a sua escola em segundos.",
"step_welcome": "Boas-vindas",
"step_legal": "Contrato",
"step_whatsapp": "WhatsApp",
"step_ai": "IA",
"connect_fb": "Ligar ao Facebook",
"fb_connected": "Conta Facebook ligada!",
"setup_waba": "A configurar a sua conta WhatsApp Business...",
"cta_launch": "Lançar a minha plataforma",
"legal_text": "Ao aceitar, concorda com os nossos termos de parceiro e as políticas comerciais da Meta.",
"whatsapp_help_title": "Onde encontrar estas informações?",
"help_waba_id": "Inicie sessão no WhatsApp Manager → coluna \"Conta WhatsApp Business\" → número de 15 dígitos.",
"help_business_id": "Definições Meta → Informações da empresa → \"ID Meta Business\".",
"help_token": "Em Meta Business Manager → Utilizadores do sistema → o seu utilizador → Gerar token. Escolha \"Nunca expirar\" para evitar interrupções.",
"help_new_to_meta": "Novo no Meta? Use o botão \"Ligar ao Facebook\" abaixo — mais simples, tudo é automático.",
"already_configured": "Conta já configurada no Meta",
"fb_account_connected": "Conta Facebook ligada",
"new_account_via_fb": "Nova conta — Ligação via Facebook",
"new_account_desc": "O cliente configura o seu número diretamente na janela Facebook.",
"token_valid_msg": "Token válido — reconhecido pela Meta",
"token_invalid_msg": "Token inválido ou expirado. Verifique em Meta Business Manager → Utilizadores do sistema.",
"token_idle_hint": "Gere um token \"Nunca expirar\" em Meta Business Manager → Utilizadores do sistema.",
"skip_whatsapp": "Configurar WhatsApp mais tarde",
"create_org": "Criar organização",
"creating": "A criar…",
"step_org": "Organização",
"step_admin": "Administrador",
"org_title": "A organização",
"org_subtitle": "Nome, identificador URL e tipo de uso.",
"org_name_label": "Nome da organização",
"slug_label": "Identificador URL (slug)",
"slug_hint": "Gerado automaticamente a partir do nome. Editável — letras minúsculas, números e hífens apenas.",
"mode_label": "Tipo de uso",
"mode_edtech_label": "Formação & EdTech",
"mode_edtech_desc": "Cursos educacionais, exercícios, acompanhamento de alunos via WhatsApp",
"mode_crm_label": "CRM & Campanhas",
"mode_crm_desc": "Gestão de contatos, campanhas broadcast, follow-ups de marketing",
"mode_ai_label": "Agente IA",
"mode_ai_desc": "Bot de IA conversacional para responder autonomamente 24h/dia",
"mode_customer_service_label": "Suporte ao Cliente",
"mode_customer_service_desc": "Gerenciar conversas recebidas e escalar para um agente humano",
"admin_title": "O administrador",
"admin_subtitle": "A primeira conta admin desta organização.",
"admin_name_label": "Nome completo",
"admin_email_label": "E-mail",
"admin_pass_label": "Senha inicial",
"admin_pass_optional": "opcional — gerada automaticamente se vazia",
"admin_pass_placeholder": "Deixe vazio para gerar automaticamente",
"admin_pass_hint": "Um e-mail com a senha temporária é enviado ao admin após a criação.",
"wa_title": "Conexão WhatsApp",
"wa_subtitle": "Opcional — pode ser configurado depois no perfil da organização.",
"create_error": "Criação impossível",
"fb_error": "Login no Facebook foi cancelado ou falhou."
},
"crm": {
"stats": {
"total_contacts": "Total de Contactos",
"messages_sent": "Mensagens Enviadas",
"open_rate": "Taxa de abertura",
"conversion": "Conversão"
},
"inbox": {
"title": "Conversas",
"no_messages": "Nenhuma conversa encontrada.",
"reply_placeholder": "A sua mensagem...",
"send": "Enviar"
},
"campaigns": {
"title": "Histórico de Campanhas",
"subtitle": "Acompanhe todas as suas transmissões e o seu desempenho.",
"new_campaign": "Nova Campanha",
"select_template": "Modelo WhatsApp (Opcional)",
"choose_approved": "Selecione um modelo aprovado...",
"no_approved_templates": "Sem modelos aprovados. Sincronize primeiro.",
"use_ai_text": "Usar texto gerado por IA",
"status_sent": "Enviado",
"status_delivered": "Entregue",
"status_read": "Lido",
"status_failed": "Falhou",
"fetch_failed": "Erro ao carregar modelos"
},
"assistant": {
"placeholder": "Digite o seu comando aqui...",
"thinking": "A IA está a preparar uma resposta...",
"contact_preview": "Pré-visualização de contactos",
"campaign_summary": "Resumo da campanha",
"messages_ready": "mensagens personalizadas prontas para enviar",
"recipient": "DESTINATÁRIO",
"more_contacts": "+ {{count}} contactos adicionais",
"more_messages": "+ {{count}} mensagens adicionais",
"send_all": "🚀 Enviar tudo via WhatsApp API",
"powered_by": "Powered by Xamlé AI • CRM PaaS integrado",
"btn_history": "📊 Histórico",
"btn_import": "📤 Importar",
"btn_campaign": "✨ Campanha",
"error_mic": "Erro de acesso ao microfone.",
"error_bulk": "Erro ao enviar em massa.",
"import_first": "Por favor importe uma lista de contactos primeiro.",
"campaign_queued": "🚀 A sua campanha foi colocada em fila para entrega progressiva!",
"error_occurred": "Ocorreu um erro técnico.",
"drop_file_note": "Por favor use o botão de importar por agora."
}
},
"whatsapp": {
"templates": {
"title": "Modelos de Mensagens WhatsApp",
"subtitle": "Gerencie e sincronize os seus modelos aprovados pela Meta.",
"sync_button": "Sincronizar com Meta",
"create_button": "Criar modelo",
"no_templates": "Sem modelos. Sincronize ou crie um.",
"table": {
"name": "Nome do modelo",
"category": "Categoria",
"language": "Idioma",
"status": "Estado"
},
"create_modal": {
"title": "Criar novo modelo",
"name_label": "Nome (minúsculas, sem espaços)",
"category_label": "Categoria",
"language_label": "Idioma",
"body_label": "Texto do corpo",
"submit": "Submeter para aprovação",
"success": "Modelo submetido com sucesso!",
"error": "Falha ao submeter o modelo.",
"meta_approval": "Os modelos devem ser aprovados pela Meta antes de serem utilizados.",
"ai_generate_label": "Gerar com IA",
"ai_placeholder": "Ex: \"mensagem de boas-vindas para um novo aluno\"",
"ai_generating": "A gerar…",
"ai_generate": "Gerar",
"ai_hint": "A IA preenche os campos abaixo — pode modificá-los antes de submeter.",
"name_hint": "Apenas letras minúsculas, números e underscores. Ex: lembrete_pagamento",
"policy_marketing": "Promocional — aprovação Meta 24–48h. Evite palavras demasiado comerciais.",
"policy_utility": "Transacional — aprovação mais rápida (normalmente poucas horas). Confirmações, lembretes, alertas.",
"preview_label": "Pré-visualização WhatsApp",
"view_preview": "Ver pré-visualização completa"
},
"status_approved": "Aprovado",
"status_pending": "Pendente",
"status_rejected": "Rejeitado",
"status_paused": "Em pausa",
"status_disabled": "Desativado",
"waba_not_configured": "WhatsApp Business não configurado",
"waba_not_configured_desc": "Esta organização ainda não tem uma conta WhatsApp Business (WABA) associada. Aceda a Configurações → Integração WhatsApp para configurar o seu número e WABA ID."
}
},
"knowledge": {
"title": "Base de Conhecimento",
"subtitle": "Gerencie os documentos da sua IA",
"chunks": "fragmentos indexados",
"reindex": "Re-indexar",
"reindexing": "Indexando...",
"search_placeholder": "Pesquisar fragmentos...",
"no_documents": "Nenhum fragmento encontrado.",
"import_hint": "Importe um documento no separador Agente IA para começar.",
"confirm_delete": "Eliminar este fragmento da base de conhecimento?",
"delete_error": "Falha ao eliminar",
"reindex_success": "Re-indexação iniciada com sucesso",
"no_kb_url": "Nenhuma URL de base de conhecimento configurada. Adicione uma URL nas Configurações.",
"reindex_error": "Falha na re-indexação",
"generate_error": "Falha na geração",
"generate_from_desc": "Gerar a partir de descrição",
"generate_placeholder": "Descreva sua atividade, produtos ou serviços… A IA gerará automaticamente uma FAQ e a indexará na base de conhecimento.",
"generating_btn": "Gerando…",
"generate_btn": "Gerar",
"generate_success_count": "{{count}} Q&A geradas e indexadas",
"generate_result_summary": "{{count}} Q&A geradas · {{chunks}} chunks indexados"
},
"training": {
"title": "Training Lab",
"subtitle": "Teste e melhore a sua IA pedagógica",
"rules_injected": "Sucesso! {{count}} regras foram injetadas no dicionário.",
"inject_rules": "Injetar ({{count}}) Regras",
"ground_truth_label": "Verdade de Campo (Ground Truth)",
"training_saved": "Treino guardado!"
},
"ai_setup": {
"title": "Configuração do Agente IA",
"subtitle": "Transforme os seus documentos em inteligência conversacional no WhatsApp.",
"kb_title": "Base de Conhecimento",
"kb_desc": "Carregue os seus catálogos, manuais ou FAQs. A IA usará estes documentos para responder com precisão.",
"upload_idle": "Clique para carregar um documento",
"upload_loading": "A carregar e indexar...",
"upload_success": "Documento indexado com sucesso!",
"upload_error": "Erro ao carregar",
"personality_title": "Personalidade do Agente",
"role_label": "Papel principal",
"role_placeholder": "Ex: Consultor técnico para Agritech",
"tone_label": "Tom e Estilo",
"save": "Guardar personalidade",
"saving": "A guardar...",
"saved": "Guardado",
"preview_title": "Pré-visualização WhatsApp",
"stats_title": "Estatísticas do Agente",
"stats_status": "Estado",
"stats_active": "Ativo",
"stats_chunks": "Fragmentos indexados",
"stats_words": "Palavras estimadas",
"no_kb": "Sem base de conhecimento indexada.",
"notifications_title": "Notificações Automáticas",
"notifications_desc": "Selecione o modelo Meta para os lembretes automáticos enviados pelo agente IA.",
"kb_empty_title": "O seu agente ainda não está operacional",
"kb_empty_desc": "Carregue pelo menos um documento (FAQ, catálogo, preços…) para que possa responder aos seus clientes. Sem base de conhecimento, o agente não saberá o que dizer.",
"upload_success_detail": "Documento analisado — o seu agente foi atualizado!",
"current_file": "Atual:",
"indexing_title": "O que acontece agora?",
"indexing_desc": "O seu documento está a ser analisado. Em 30 a 60 segundos, o seu agente poderá responder às perguntas que cobre. Teste-o no painel da direita.",
"role_hint": "Descreva em uma ou duas frases o que o seu agente faz e para quem. Quanto mais preciso, melhores serão as respostas.",
"tone_recommended": "— recomendado para o seu setor",
"tone_desc_professional": "Formal e preciso — ideal para serviços B2B",
"tone_desc_friendly": "Caloroso e acessível — ideal para o público em geral",
"tone_desc_direct": "Curto e objetivo — ideal para o suporte",
"tone_desc_pedagogical": "Paciente e explicativo — ideal para a formação",
"test_live": "Teste ao vivo",
"test_hint": "Faça uma pergunta real ao seu agente",
"test_empty_with_kb": "Faça uma pergunta abaixo para testar o seu agente.",
"test_empty_no_kb": "Carregue um documento primeiro, depois teste aqui.",
"test_placeholder": "Ex: Quais são as suas tarifas?",
"test_error": "Desculpe, o teste não está disponível de momento.",
"kb_save_blocked": "Adicione primeiro um documento à base de conhecimento acima antes de ativar o seu agente.",
"coverage_excellent": "Excelente",
"coverage_good": "Boa",
"coverage_poor": "Insuficiente",
"coverage_label": "passagens analisadas — cobertura",
"coverage_low_hint": "Adicione mais documentos para melhorar a precisão das respostas.",
"no_kb_hint": "Adicione as suas FAQs, preços ou fichas de produto para ativar o agente.",
"stats_status_label": "Estado",
"stats_active_label": "Ativo",
"words_covered": "Palavras cobertas",
"bot_name_label": "Nome do agente",
"bot_name_placeholder": "Ex: Kora, Awa, SupportBot...",
"bot_name_hint": "O nome que seu agente usará para se apresentar no WhatsApp.",
"tone_professional": "Profissional",
"tone_friendly": "Amigável",
"tone_direct": "Direto",
"tone_pedagogical": "Pedagógico"
},
"tracks": {
"title": "Cursos",
"new": "Novo curso",
"no_tracks": "Sem cursos. Crie um!",
"confirm_delete": "Eliminar este curso?",
"days": "dias",
"enrolled": "inscritos",
"days_label": "Dias",
"no_days": "Sem dias criados.",
"edit_day": "Editar Dia",
"new_day": "Novo dia",
"day_number": "Número do dia",
"day_title": "Título",
"lesson_text": "Texto da lição",
"lesson_placeholder": "Conteúdo pedagógico...",
"audio_url": "URL de Áudio (opcional)",
"exercise_type": "Tipo de exercício",
"exercise_type_text": "Texto livre",
"exercise_type_audio": "Áudio",
"exercise_type_button": "Botões",
"validation_keyword": "Palavra-chave de validação",
"exercise_prompt": "Prompt do exercício",
"exercise_prompt_placeholder": "Pergunta feita ao estudante...",
"no_lesson_text": "Sem texto",
"form_title_label": "Título",
"form_description": "Descrição",
"form_duration": "Duração (dias)",
"form_language": "Idioma",
"form_lang_fr": "Francês",
"form_lang_wolof": "Wolof",
"form_premium": "Formação Premium (paga)",
"form_price": "Preço (XOF)",
"ai_generate_btn": "Gerar com IA",
"ai_generate_first": "Gere seu primeiro programa com IA",
"ai_modal_badge": "Agente Criador de Conteúdo",
"ai_modal_title": "Gerar um programa",
"ai_modal_subtitle": "A IA cria todo o currículo em segundos",
"ai_description_label": "Descrição do programa",
"ai_description_placeholder": "Ex.: Formação de 5 dias sobre marketing digital para PMEs no Senegal...",
"ai_num_days": "Número de dias",
"ai_language": "Idioma",
"ai_lang_fr": "Francês",
"ai_lang_en": "Inglês",
"ai_lang_wol": "Wolof",
"ai_audience": "Público-alvo",
"ai_audience_optional": "opcional",
"ai_audience_placeholder": "Ex.: Empreendedores iniciantes, mulheres rurais, estudantes...",
"ai_generating": "Gerando... (15-30s)",
"ai_generate_submit": "Gerar programa",
"ai_error": "Falha na geração por IA"
},
"campaigns": {
"title": "Histórico de Campanhas",
"no_records": "Nenhuma campanha encontrada",
"first_hint": "Envie a sua primeira campanha na secção Contactos.",
"total": "mensagens enviadas no total",
"clear_filter": "Remover filtro",
"columns": {
"contact": "Contacto",
"message": "Mensagem",
"status": "Estado",
"sent": "Enviado"
}
},
"livefeed": {
"title": "Live Feed",
"subtitle": "Monitorização de conversas em tempo real",
"no_messages": "Sem mensagens por agora.",
"refresh": "Atualizar"
},
"b2b": {
"title": "Gestão Clientes B2B",
"subtitle": "Gerencie as suas organizações parceiras"
},
"billing": {
"select_org": "Selecione uma organização para ver a faturação.",
"error_prefix": "Erro:",
"page_title": "Os meus créditos & consumo",
"period_label": "Período:",
"recharge_btn": "Recarregar",
"alert_exhausted_title": "Serviço suspenso — os seus créditos estão esgotados",
"alert_exhausted_desc": "Recarregue para restaurar as mensagens IA imediatamente.",
"alert_low_title": "Créditos quase esgotados — {{count}} créditos restantes",
"alert_low_desc": "Recarregue antes que o serviço seja interrompido.",
"alert_recharge_btn": "Recarregar →",
"wallet_label": "Créditos disponíveis",
"wallet_unit": "créditos",
"wallet_fcfa": "≈ {{amount}} FCFA",
"wallet_recharge_btn": "Recarregar créditos",
"wallet_rate": "1 crédito = 1 mensagem IA = 10 FCFA",
"days_remaining": "A este ritmo: ainda ~{{days}} dia",
"days_remaining_plural": "A este ritmo: ainda ~{{days}} dias",
"ai_messages_title": "Mensagens IA este mês",
"ai_cost_label": "≈ {{cost}} FCFA em custo IA",
"ai_quota_warning": "Quota mensal quase atingida ({{pct}}%)",
"wa_messages_title": "Mensagens WhatsApp este mês",
"wa_free_note": "✅ Gratuito para si — a Meta fatura diretamente a sua conta WhatsApp Business",
"activity_title": "Atividade nos últimos 30 dias",
"activity_subtitle": "Cada barra = total de mensagens IA + WhatsApp nesse dia",
"activity_empty": "Sem atividade neste período",
"breakdown_title": "Para onde vão os seus créditos IA?",
"breakdown_subtitle": "Distribuição do consumo por tipo de mensagem este mês",
"transactions_title": "Últimos movimentos de créditos",
"transactions_subtitle": "As 20 últimas operações no seu saldo",
"balance_label": "Saldo:",
"csv_btn": "CSV",
"csv_col_date": "Data",
"csv_col_type": "Tipo",
"csv_col_desc": "Descrição",
"csv_col_amount": "Montante (créditos)",
"csv_col_balance": "Saldo após",
"chat_title": "Faça uma pergunta sobre o seu consumo",
"chat_subtitle": "Respostas baseadas nos seus dados reais",
"chat_placeholder": "Ex: Quantos créditos usei esta semana?",
"chat_empty": "Clique numa pergunta acima ou escreva a sua",
"chat_error": "Desculpe, não consigo responder agora.",
"quick_q1": "Quantos créditos me restam?",
"quick_q2": "Daqui a quantos dias ficarei sem créditos?",
"quick_q3": "Qual funcionalidade consome mais?",
"quick_q4": "Quanto gastei esta semana?",
"feature_LESSON": "📚 Lições enviadas",
"feature_FEEDBACK": "✅ Feedback de exercícios",
"feature_DEEPDIVE": "🔍 Aprofundamentos",
"feature_TRANSCRIPTION": "🎤 Transcrições de áudio",
"feature_IMAGE_ANALYSIS": "🖼️ Análises de imagem",
"feature_CAMPAIGN": "📣 Campanhas",
"feature_ONBOARDING": "👋 Onboarding de novos alunos",
"feature_OTHER": "⚙️ Outros",
"tx_TOP_UP_MANUAL": "➕ Recarga",
"tx_TOP_UP_PAYMENT": "➕ Recarga",
"tx_ADJUSTMENT": "🔧 Ajuste",
"tx_DEBIT_AI": "🤖 Mensagem IA",
"tx_DEBIT_WHATSAPP": "💬 Mensagem WhatsApp",
"tx_DEBIT_BROADCAST": "📣 Campanha",
"modal_title": "Recarregar créditos",
"modal_rate": "1 crédito = 10 FCFA · usado por cada mensagem IA",
"modal_popular": "O mais popular",
"modal_ai_messages": "≈ {{count}} mensagens IA",
"modal_footer": "Clique num pack → WhatsApp abre → a nossa equipa finaliza a recarga em menos de 2 horas.",
"pack_500_label": "500 créditos",
"pack_2000_label": "2 000 créditos",
"pack_5000_label": "5 000 créditos",
"pack_500_price": "5 000 FCFA",
"pack_2000_price": "18 000 FCFA",
"pack_5000_price": "40 000 FCFA"
},
"clients": {
"page_title": "Gestão de Clientes B2B",
"page_subtitle": "Gira as organizações parceiras e os seus ativos WhatsApp.",
"new_org_button": "Nova Organização",
"loading": "A carregar clientes...",
"no_clients_title": "Sem clientes",
"no_clients_desc": "Comece por adicionar a sua primeira organização parceira.",
"status": {
"operational": "Operacional",
"config_required": "Configuração necessária",
"online": "Online",
"suspended": "SUSPENSO"
},
"actions": {
"reconfigure_wa": "Reconfigurar WhatsApp",
"connect_wa": "Ligar WhatsApp (Meta)",
"direct_setup": "Configuração direta",
"personality_studio": "Personality Studio",
"ai_credits": "Créditos IA",
"billing_details": "Detalhes & Faturação"
},
"waba": {
"checking": "A verificar…",
"not_connected": "Não ligado",
"approved": "Aprovado",
"pending": "Em revisão",
"rejected": "Rejeitado",
"banned": "Suspenso",
"unknown": "Desconhecido",
"refresh_tooltip": "Atualizar",
"what_to_do": "O que fazer? →",
"verified": "Verificado",
"not_verified": "Não verificado",
"verify_link": "Verificar →"
},
"tier": {
"tier_50": "50 conv./dia",
"tier_250": "250 conv./dia",
"tier_1k": "1 000 conv./dia",
"tier_10k": "10 000 conv./dia",
"tier_100k": "100 000 conv./dia",
"unlimited": "Ilimitado",
"label": "Limite Diário",
"meta_compliance": "Conformidade Meta Tech Provider"
},
"quality": {
"good_label": "Bom",
"good_desc": "Taxa de denúncia baixa. Continue assim.",
"medium_label": "Médio",
"medium_desc": "Utilizadores denunciaram as suas mensagens. Evite envios não solicitados.",
"risky_label": "Arriscado",
"risky_desc": "Risco de bloqueio Meta. Reduza o volume e melhore o conteúdo.",
"dot_title": "Qualidade: "
},
"tier_modal": {
"title": "Limite de Mensagens WhatsApp",
"levels_heading": "Níveis de Capacidade Meta",
"current_badge": "Atual",
"tier_50_desc": "Conta restrita ou em processo de ativação.",
"tier_250_desc": "Nível de partida para qualquer conta nova aprovada.",
"tier_1k_desc": "Atingido automaticamente após 1 000 utilizadores únicos/mês.",
"tier_10k_desc": "Atingido após 10 000 utilizadores únicos/mês.",
"tier_100k_desc": "Volume elevado — desbloqueado pela Meta a pedido.",
"unlimited_desc": "Sem limites aplicados pela Meta.",
"quality_heading": "Pontuação de Qualidade do Número",
"meta_auto_update": "A Meta atualiza estes dados automaticamente.",
"levels_auto": "Os níveis progridem sem qualquer ação da sua parte."
},
"cells": {
"waba_header": "WABA",
"business_header": "Empresa Meta",
"daily_limit_header": "Limite Diário",
"daily_limit_info_tooltip": "Saber mais sobre os limites Meta"
},
"create_modal": {
"title": "Nova Organização",
"company_name_label": "Nome da empresa",
"company_name_placeholder": "Ex: AgroBusiness Senegal",
"slug_label": "Slug (URL)",
"slug_placeholder": "agro-sn",
"use_case_label": "Caso de uso",
"use_case_education": "🎓 Plataforma Educativa (Módulos)",
"use_case_crm": "💬 CRM & Mensagens WhatsApp (Excel)",
"workstream_label": "Área de trabalho (Workstream)",
"mode_crm": "CRM & Marketing",
"mode_pedagogy": "Pedagogia & Formação",
"mode_service": "Serviço de Cliente IA",
"admin_section": "Administrador Principal",
"admin_name_label": "Nome completo",
"admin_name_placeholder": "João Silva",
"admin_email_label": "Email",
"admin_email_placeholder": "admin@empresa.com",
"password_label": "Senha provisória",
"password_placeholder": "Mín. 8 caracteres",
"submit": "Criar organização & Admin",
"submitting": "A criar...",
"error_create": "Erro ao criar organização. Verifique se o slug é único."
},
"validation": {
"name_required": "Nome obrigatório",
"slug_required": "Slug obrigatório",
"slug_format": "Apenas letras minúsculas, números e hífenes",
"admin_name_required": "Nome obrigatório",
"email_required": "Email obrigatório",
"email_invalid": "Email inválido",
"password_min": "Mínimo 8 caracteres"
},
"billing_modal": {
"title": "Detalhes & Faturação",
"mode_label": "Modo",
"waba_status_label": "Estado WABA",
"daily_limit_label": "Limite diário",
"meta_business_label": "Empresa Meta",
"waba_id_label": "WABA ID",
"plan_label": "Plano de subscrição",
"plan_starter": "Starter — 20 000 FCFA/mês",
"plan_growth": "Crescimento — 60 000 FCFA/mês",
"plan_scale": "Scale — 150 000 FCFA/mês",
"plan_enterprise": "Enterprise — 500 000+ FCFA/mês",
"apply_plan": "Aplicar plano",
"plan_updated": "Plano atualizado!",
"close": "Fechar"
},
"credits_modal": {
"title": "Créditos IA",
"current_balance": "Saldo atual da carteira",
"credits_unit": "créditos",
"add_credits_label": "Créditos a adicionar",
"add_credits_placeholder": "Ex: 500",
"rate_hint": "1 crédito = 10 FCFA · Mínimo 1 crédito",
"submit": "Creditar a carteira",
"error": "Erro ao alocar créditos"
},
"personality_modal": {
"title": "Personality Studio",
"subtitle": "Configurar Identidade IA para {{orgName}}",
"bot_name_label": "Nome do Bot",
"bot_name_placeholder": "ex. XAMLÉ, Coach Sara...",
"mission_label": "Missão Principal",
"mission_placeholder": "Qual é o objetivo principal desta IA? ex. Ajudar empreendedores a dominar finanças...",
"tone_label": "Tom & Descrição da Personalidade",
"tone_placeholder": "ex. Profissional mas encorajador, usa metáforas locais, rigoroso nos conceitos mas amigável...",
"cancel": "Cancelar",
"submit": "Implementar Personalidade",
"success": "Personalidade atualizada!"
},
"wa_setup_modal": {
"title": "Configurar WhatsApp",
"already_on_meta": "Conta já configurada na Meta",
"waba_id_label": "WABA ID",
"waba_id_placeholder": "ex: 102938475610293",
"waba_id_hint_link": "Abrir WhatsApp Accounts",
"business_id_label": "Business ID Meta",
"business_id_optional": "(opcional — para mostrar a verificação)",
"business_id_placeholder": "ex: 25855038707486178",
"business_id_hint_link": "Abrir Business Info",
"token_label": "Token do sistema",
"token_optional": "(opcional — usa o token env por defeito)",
"token_placeholder": "EAAxxxxxxx... — deixe em branco se já estiver em env var",
"token_hint_link": "Gerar desde System Users",
"phone_number_detected": "Phone Number ID detetado:",
"save_config": "Guardar configuração",
"success": "Configuração WhatsApp atualizada!",
"new_account_heading": "Nova conta — Ligação via Facebook",
"new_account_desc": "Para um cliente que ainda não configurou a sua conta WhatsApp Business na sua plataforma.",
"connect_facebook": "Ligar com Facebook"
},
"toast": {
"wa_connected": "WhatsApp ligado com sucesso!",
"error_prefix": "Erro: "
}
},
"admin_chat": {
"aria_label": "Assistente IA",
"choose_or_write": "Escolha uma pergunta ou escreva a sua",
"input_placeholder": "A sua pergunta...",
"error": "Desculpe, não consigo responder agora. Tente novamente num momento.",
"billing_title": "Assistente de faturação",
"billing_subtitle": "Respostas baseadas nos seus dados reais",
"billing_q1": "Quantos créditos me restam?",
"billing_q2": "Daqui a quantos dias ficarei sem créditos?",
"billing_q3": "Qual funcionalidade consome mais?",
"billing_q4": "Quanto gastei esta semana?",
"settings_title": "Ajuda — Configuração",
"settings_subtitle": "Explico cada parâmetro",
"settings_q1": "Como conecto o meu WhatsApp?",
"settings_q2": "Para que serve o modo Agente IA?",
"settings_q3": "As minhas chaves API estão seguras?",
"settings_q4": "Como mudo o modo da minha organização?",
"templates_title": "Ajuda — Modelos",
"templates_subtitle": "Ajudo-o a criar as suas mensagens",
"templates_q1": "Como crio um bom modelo?",
"templates_q2": "Para que servem as variáveis num modelo?",
"templates_q3": "Por que pode um modelo ser rejeitado?",
"templates_q4": "Qual é a diferença entre utilitário e marketing?",
"agent_title": "Ajuda — Agente IA",
"agent_subtitle": "Guio-o para configurar o seu agente",
"agent_q1": "Que tipo de documento devo carregar?",
"agent_q2": "Como escolho o tom certo para o meu agente?",
"agent_q3": "Quantos documentos são suficientes?",
"agent_q4": "Como melhoro as respostas do meu agente?",
"onboarding_title": "Ajuda — Ligação WhatsApp",
"onboarding_subtitle": "Guio-o passo a passo",
"onboarding_q1": "Onde encontro o meu WABA ID?",
"onboarding_q2": "Qual é a diferença entre as duas opções?",
"onboarding_q3": "O meu token expirou, o que devo fazer?",
"onboarding_q4": "Não tenho conta Meta, por onde começo?",
"general_title": "Assistente Xamlé",
"general_subtitle": "Faça-me as suas perguntas",
"general_q1": "Como começo com o Xamlé?",
"general_q2": "Qual é a diferença entre os modos?",
"general_q3": "Como funciona a faturação?",
"general_q4": "Onde posso ver as minhas estatísticas?"
},
"super_admin": {
"nav_dashboard": "Dashboard",
"nav_organizations": "Organizações",
"nav_users": "Utilizadores",
"nav_whatsapp": "Números WA",
"nav_templates": "Templates WA",
"nav_profiles": "Perfis WA",
"nav_monitoring": "Monitorização",
"nav_billing": "Faturação",
"nav_ai": "AI Insights",
"nav_audit_logs": "Audit Logs",
"exit_admin": "Sair do admin",
"logout": "Terminar sessão",
"system_active": "Sistema ativo",
"platform_admin": "Platform Admin",
"super_admin_label": "Super-admin",
"dashboard_title": "Platform Dashboard",
"dashboard_subtitle": "Vista global de todas as organizações",
"kpi_organizations": "Organizações",
"kpi_orgs_active": "{{count}} ativas",
"kpi_users": "Utilizadores",
"kpi_messages_24h": "Mensagens / 24h",
"kpi_queue_depth": "Fila de espera",
"kpi_queue_failed": "{{count}} falhados",
"kpi_revenue": "Receita / mês",
"kpi_alerts": "Alertas",
"system_health": "Saúde do sistema",
"health_db": "Base de dados",
"health_redis": "Redis",
"health_queue": "Fila",
"active_alerts": "Alertas ativos ({{count}})",
"alert_token": "Token a expirar — {{orgName}} ({{daysOld}}d)",
"alert_balance": "Saldo baixo — {{orgName}}: {{balance}} créditos",
"alert_queue_failed": "{{count}} jobs falhados na fila",
"orgs_title": "Organizações",
"orgs_total": "{{count}} organizações no total",
"org_new": "Nova organização",
"org_search_placeholder": "Pesquisar uma organização...",
"org_search_btn": "Pesquisar",
"org_loading": "A carregar...",
"org_empty": "Nenhuma organização encontrada",
"col_name": "Nome",
"col_plan": "Plano",
"col_status": "Estado",
"col_users": "Utilizadores",
"col_credits": "Créditos",
"status_suspended": "Suspenso",
"status_trial": "Trial",
"status_active": "Ativo",
"org_reactivated": "Organização reativada",
"org_suspended": "Organização suspensa",
"org_delete_confirm": "Eliminar definitivamente \"{{name}}\"? Esta ação não pode ser desfeita.",
"org_deleted": "\"{{name}}\" eliminada",
"org_updated": "Organização atualizada",
"org_created": "Organização criada",
"label_plan": "Plano",
"label_ai_credits": "Limite de créditos AI",
"label_crm_active": "CRM ativo",
"label_edtech_active": "EdTech ativo",
"saving": "A guardar...",
"save": "Guardar",
"modal_new_org": "Nova organização",
"org_name_placeholder": "Nome da organização",
"cancel": "Cancelar",
"creating": "A criar...",
"create": "Criar",
"err_load_orgs": "Erro ao carregar organizações",
"err_suspend": "Erro ao alterar estado",
"err_delete": "Erro ao eliminar",
"err_update": "Erro ao atualizar",
"err_create": "Erro ao criar",
"btn_edit": "Editar",
"btn_reactivate": "Reativar",
"btn_suspend": "Suspender",
"btn_delete_forever": "Eliminar definitivamente",
"pagination_info": "{{from}}–{{to}} de {{total}}",
"prev": "Anterior",
"next": "Seguinte",
"users_title": "Utilizadores",
"users_total": "{{count}} utilizadores no total",
"user_search_placeholder": "Pesquisar por nome ou email...",
"col_user": "Utilizador",
"col_organization": "Organização",
"col_role": "Função",
"col_created_at": "Criado em",
"user_empty": "Nenhum utilizador encontrado",
"role_updated": "Função atualizada",
"btn_reset_password": "Redefinir palavra-passe",
"reset_no_email": "Este utilizador não tem endereço de email",
"reset_confirm": "Enviar link de redefinição para {{email}}?",
"reset_sent": "Link enviado para {{email}}",
"err_load_users": "Erro ao carregar utilizadores",
"err_role_change": "Erro ao alterar função",
"err_reset_password": "Erro ao enviar email",
"wa_numbers_title": "Números WhatsApp",
"wa_numbers_total": "{{count}} números registados",
"wa_refresh": "Atualizar",
"wa_register_number": "Registar um número",
"wa_no_numbers": "Nenhum número WhatsApp registado",
"col_number": "Número",
"col_id": "ID",
"col_added_at": "Adicionado em",
"wa_register_title": "Registar um número WhatsApp",
"wa_step": "Passo {{step}}/2",
"label_org": "Organização",
"org_select_placeholder": "Selecionar uma organização...",
"label_phone_number_id": "Phone Number ID",
"phone_id_hint": "Encontre este ID no Meta Business Manager > WhatsApp Accounts",
"label_pin": "PIN de segurança",
"pin_hint": "PIN de 6 dígitos para proteger o número (deixe em branco = 000000)",
"wa_select_org_error": "Por favor selecione uma organização.",
"wa_phone_id_error": "O Phone Number ID deve ter entre 12 e 18 dígitos.",
"wa_pin_error": "O PIN deve ter exatamente 6 dígitos.",
"wa_sending": "A enviar...",
"wa_send_otp": "Enviar código OTP",
"wa_reg_error": "Erro durante o registo.",
"wa_net_error": "Erro de rede.",
"wa_otp_hint": "A Meta enviou-lhe um código OTP por SMS ou chamada de voz. Introduza-o abaixo.",
"label_otp": "Código OTP",
"wa_otp_error": "O código OTP deve ter entre 4 e 8 dígitos.",
"wa_verifying": "A verificar...",
"wa_verify": "Verificar",
"wa_otp_invalid": "Código OTP inválido ou expirado.",
"wa_number_registered": "Número registado com sucesso!",
"wa_back": "Voltar",
"err_load_numbers": "Erro ao carregar números",
"tpl_title": "WhatsApp Templates",
"tpl_orgs_count_one": "{{count}} organização com WhatsApp configurado",
"tpl_orgs_count_other": "{{count}} organizações com WhatsApp configurado",
"tpl_select_hint": "Selecione uma organização para gerir os seus modelos de mensagem WhatsApp.",
"tpl_search_placeholder": "Pesquisar uma organização ou WABA ID...",
"tpl_empty": "Nenhuma organização com WhatsApp configurado",
"col_waba_id": "WABA ID",
"col_actions": "Ações",
"tpl_view": "Ver templates",
"tpl_no_templates": "Nenhum modelo encontrado para esta organização.",
"col_category": "Categoria",
"col_language": "Língua",
"tpl_create_btn": "Criar template",
"tpl_create_title": "Novo template WhatsApp",
"label_template_name": "Nome do template",
"template_name_hint": "Minúsculas, dígitos, underscores apenas",
"template_name_error": "Minúsculas, dígitos, underscores apenas",
"label_category": "Categoria",
"label_language": "Língua",
"label_header_optional": "Cabeçalho (opcional)",
"label_body": "Corpo da mensagem",
"label_footer_optional": "Rodapé (opcional)",
"label_preview": "Pré-visualização",
"body_placeholder": "Corpo da mensagem...",
"tpl_select_org_placeholder": "Selecionar uma organização…",
"tpl_submitted": "Template submetido à Meta para aprovação",
"tpl_create_required": "Organização, nome e corpo da mensagem são obrigatórios.",
"tpl_name_invalid": "O nome do template é inválido.",
"tpl_creating": "A criar…",
"tpl_create_submit": "Criar template",
"tpl_create_error": "Erro ao criar o template.",
"profiles_title": "Perfis WhatsApp",
"profiles_count_one": "{{count}} perfil",
"profiles_count_other": "{{count}} perfis",
"profile_empty": "Nenhum perfil WhatsApp encontrado",
"label_org_name": "Nome da organização",
"label_logo_url": "URL do logótipo",
"label_primary_color": "Cor principal",
"profile_updated": "Perfil atualizado",
"err_load_profiles": "Erro ao carregar perfis",
"err_save_profile": "Erro ao guardar",
"btn_cancel_edit": "Cancelar",
"btn_save": "Guardar",
"saving_profile": "A guardar…",
"btn_edit_profile": "Editar",
"monitoring_title": "Monitorização & Alertas",
"monitoring_subtitle": "Estado do sistema em tempo real",
"system_health_title": "Saúde do sistema",
"health_redis_cache": "Redis / Cache",
"health_queue_jobs": "Fila de jobs",
"queue_failed_detail": "{{count}} falhados",
"queue_waiting_detail": "{{count}} em espera",
"token_expiry_title": "Tokens WhatsApp a expirar",
"token_no_risk": "Nenhum token em risco de expiração",
"col_org": "Organização",
"col_issued_ago": "Emitido",
"col_days": "{{count}} dias",
"low_balance_title": "Saldos baixos (< 100 créditos)",
"low_balance_none": "Nenhuma organização com saldo baixo",
"credits_label": "{{count}} créditos",
"err_load_monitoring": "Erro ao carregar monitorização",
"billing_title": "Faturação",
"billing_transactions": "{{count}} transações",
"billing_add_credits": "Adicionar créditos",
"billing_no_transactions": "Nenhuma transação",
"col_date": "Data",
"col_type": "Tipo",
"col_description": "Descrição",
"col_amount": "Montante",
"col_balance_after": "Saldo após",
"credits_added": "{{amount}} créditos adicionados. Novo saldo: {{balance}}",
"modal_add_credits": "Adicionar créditos",
"label_org_id": "ID da organização",
"org_id_placeholder": "org-uuid...",
"label_credits_amount": "Montante (créditos)",
"label_description_optional": "Descrição (opcional)",
"credits_desc_placeholder": "Carregamento manual...",
"adding": "A adicionar...",
"add": "Adicionar",
"err_load_transactions": "Erro ao carregar transações",
"err_add_credits": "Erro ao adicionar créditos",
"audit_title": "Audit Logs",
"audit_total": "{{count}} entradas no total",
"col_datetime": "Data / Hora",
"col_action": "Ação",
"col_actor": "Ator",
"col_resource": "Recurso",
"col_details": "Detalhes",
"col_from": "De",
"col_to": "Até",
"audit_search": "Pesquisar",
"audit_empty": "Nenhum log para estes critérios",
"audit_show": "Ver",
"audit_hide": "Ocultar",
"ai_title": "AI Insights",
"ai_subtitle": "Comandos em linguagem natural para gerir a plataforma",
"ai_suggestion_1": "Mostra-me organizações com saldo baixo",
"ai_suggestion_2": "Quais são as estatísticas da plataforma?",
"ai_suggestion_3": "Lista os alertas ativos",
"ai_suggestion_4": "Mostra as 10 últimas organizações",
"ai_greeting": "Olá! Sou o seu assistente IA para a gestão da plataforma XAMLÉ. Faça-me uma pergunta ou dê-me uma instrução.",
"ai_input_placeholder": "Digite um comando... ex: 'Adiciona 500 créditos à org XAMLÉ'",
"ai_confirm": "Confirmar",
"ai_cancelled": "Ação cancelada.",
"ai_err": "Erro AI",
"ai_err_exec": "Erro de execução",
"ai_err_message": "Desculpe, ocorreu um erro.",
"ai_err_exec_message": "Erro durante a execução.",
"ai_done": "Ação concluída.",
"ai_no_result": "Nenhum resultado encontrado.",
"rel_today": "hoje",
"rel_yesterday": "há 1 dia",
"rel_days_ago": "há {{count}} dias",
"tpl_cat_marketing_desc": "Promoções, ofertas, newsletters",
"tpl_cat_utility_desc": "Confirmações, atualizações transacionais",
"tpl_cat_authentication_desc": "Códigos OTP, verificação"
}
}
|