mirror of
https://github.com/mudler/LocalAI.git
synced 2026-09-13 06:45:26 -04:00
feat(i18n): add pt-BR translation (#11427)
Adds a complete Brazilian Portuguese (pt-BR) translation for the LocalAI WebUI across 14 namespaces with full key parity against the English locale, including modelEditor.json. Registers pt-BR in SUPPORTED_LANGUAGES with the code 'pt-BR', name 'Português (Brasil)' and flag 'BR'. Brand/model/product names and technical identifiers are kept untranslated, matching the existing locale conventions. Assisted-by: opencode:deepseek-v4-flash-free python3 Signed-off-by: Matheus C. França <matheus-catarino@hotmail.com>
This commit is contained in:
1 parent
1f30ecc398
commit
f31c3bbf1b
15 files changed
+1782
No files matched your search
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"activity": {
|
||||
"title": "Atividade",
|
||||
"supporting": "Instalações, downloads e remoções nesta instância.",
|
||||
"hide": "Ocultar",
|
||||
"moveToHistory": "Mover para o histórico",
|
||||
"moreCount": "mais {{count}}",
|
||||
"waitingForInstaller": "aguardando o instalador",
|
||||
"progressLabel": "Progresso de {{name}}",
|
||||
"toNode": "para {{node}}",
|
||||
"nodesDone": "{{done}} de {{total}} nós concluídos",
|
||||
"timeLeft": "restam {{value}}",
|
||||
"cancel": "Cancelar",
|
||||
"cancelLabel": "Cancelar {{name}}",
|
||||
"pause": "Pausar",
|
||||
"pauseLabel": "Pausar {{name}} e manter os dados baixados",
|
||||
"retry": "Tentar novamente",
|
||||
"retryLabel": "Tentar novamente {{name}}",
|
||||
"nodeCount": "{{count}} nós",
|
||||
"showNodes": "Mostrar {{count}} nós",
|
||||
"hideNodes": "Ocultar detalhes por nó",
|
||||
"node": {
|
||||
"done": "Concluído",
|
||||
"failed": "Falhou",
|
||||
"queued": "Na fila",
|
||||
"workerBusy": "Worker ocupado",
|
||||
"downloading": "Baixando"
|
||||
},
|
||||
"kind": {
|
||||
"model": "modelo",
|
||||
"backend": "backend"
|
||||
},
|
||||
"verb": {
|
||||
"installing": "Instalando {{kind}}",
|
||||
"installed": "{{kind}} instalado",
|
||||
"removed": "{{kind}} removido",
|
||||
"staged": "Modelo preparado",
|
||||
"failed": "Não foi possível instalar {{kind}}",
|
||||
"queued": "Na fila",
|
||||
"staging": "Preparando modelo",
|
||||
"removing": "Removendo {{kind}}",
|
||||
"failedRemoval": "Não foi possível remover {{kind}}",
|
||||
"failedStaging": "Não foi possível preparar o modelo"
|
||||
},
|
||||
"phase": {
|
||||
"resolving": "Resolvendo arquivos",
|
||||
"downloading": "Baixando",
|
||||
"verifying": "Verificando",
|
||||
"committing": "Finalizando",
|
||||
"persisting": "Salvando configuração"
|
||||
},
|
||||
"clearHistory": "Limpar histórico",
|
||||
"inProgress": "Em andamento",
|
||||
"needsAttention": "Requer atenção",
|
||||
"record": "Registro",
|
||||
"historyNote": "Mantém as últimas 50 operações. O histórico fica na memória e é reiniciado quando o LocalAI reinicia.",
|
||||
"emptyTitle": "Nenhuma operação desde a inicialização",
|
||||
"emptyBody": "Instalações de modelos e backends aparecem aqui enquanto são executadas e permanecem como registro após a conclusão. O histórico fica na memória, portanto é reiniciado quando o LocalAI reinicia.",
|
||||
"browseModels": "Procurar modelos",
|
||||
"viewInModels": "Ver em Modelos",
|
||||
"viewInBackends": "Ver em Backends",
|
||||
"rowInstalled": "instalado em {{duration}}",
|
||||
"rowFailed": "falhou: {{error}}",
|
||||
"rowCancelled": "cancelado",
|
||||
"rowRemoved": "removido",
|
||||
"retryFailed": "Falha ao tentar novamente: {{message}}",
|
||||
"filter": {
|
||||
"all": "Todas",
|
||||
"models": "Modelos",
|
||||
"backends": "Backends",
|
||||
"cluster": "Cluster"
|
||||
},
|
||||
"summaryRunning_one": "{{count}} operação em andamento.",
|
||||
"summaryRunning_other": "{{count}} operações em andamento.",
|
||||
"summaryFailed_one": "{{count}} operação requer atenção.",
|
||||
"summaryFailed_other": "{{count}} operações requerem atenção.",
|
||||
"summaryQuiet_one": "Nada em execução. {{count}} operação desde a inicialização.",
|
||||
"summaryQuiet_other": "Nada em execução. {{count}} operações desde a inicialização.",
|
||||
"summaryIdle": "Nada em execução.",
|
||||
"emptyFiltered": "Nenhuma operação corresponde a este filtro.",
|
||||
"showAll": "Mostrar tudo",
|
||||
"rowInstalledPlain": "instalado"
|
||||
},
|
||||
"manage": {
|
||||
"title": "Sistema",
|
||||
"subtitle": "Gerenciar modelos e backends instalados"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Configurações",
|
||||
"subtitle": "Configurar as configurações de runtime do LocalAI",
|
||||
"saved": "Configurações salvas com sucesso",
|
||||
"saveFailed": "Falha ao salvar: {{message}}",
|
||||
"loadFailed": "Falha ao carregar as configurações: {{message}}",
|
||||
"sections": {
|
||||
"branding": "Identidade visual",
|
||||
"watchdog": "Watchdog",
|
||||
"memory": "Memória",
|
||||
"backends": "Backends",
|
||||
"performance": "Desempenho",
|
||||
"tracing": "Rastreamento",
|
||||
"api": "API e CORS",
|
||||
"p2p": "P2P",
|
||||
"galleries": "Galerias",
|
||||
"apikeys": "Chaves de API",
|
||||
"agents": "Trabalhos de Agentes",
|
||||
"agentpool": "Pool de Agentes",
|
||||
"assistant": "Assistente LocalAI",
|
||||
"distributed": "Distribuído",
|
||||
"responses": "Respostas"
|
||||
}
|
||||
},
|
||||
"backends": {
|
||||
"title": "Gerenciamento de Backends",
|
||||
"subtitle": "Descubra e instale backends de IA para potencializar seus modelos"
|
||||
},
|
||||
"backendLogs": {
|
||||
"title": "Logs de Backends",
|
||||
"subtitle": "Ver logs dos backends em execução",
|
||||
"empty": "Nenhum log disponível"
|
||||
},
|
||||
"traces": {
|
||||
"title": "Rastreamentos",
|
||||
"subtitle": "Ver requisições, respostas e operações de backend registradas"
|
||||
},
|
||||
"nodes": {
|
||||
"title": "Nós Distribuídos",
|
||||
"subtitle": "Gerenciar nós workers de backend e de agentes"
|
||||
},
|
||||
"scheduling": {
|
||||
"title": "Agendamento",
|
||||
"subtitle": "Regras de posicionamento de modelos e réplicas no cluster"
|
||||
},
|
||||
"p2p": {
|
||||
"title": "Computação de IA Distribuída",
|
||||
"subtitle": "Escale suas cargas de trabalho de IA por vários dispositivos com distribuição ponto a ponto"
|
||||
},
|
||||
"users": {
|
||||
"title": "Usuários",
|
||||
"subtitle": "Gerenciar usuários registrados, funções e convites"
|
||||
},
|
||||
"usage": {
|
||||
"title": "Uso",
|
||||
"subtitle": "Estatísticas de uso de tokens da API",
|
||||
"sources": {
|
||||
"tab": "Origens",
|
||||
"mixTitle": "Mix de origens",
|
||||
"ribbonAria": "{{apikey}}% chaves de API, {{web}}% Web UI, {{legacy}}% Legado",
|
||||
"topSources": "Principais origens ao longo do tempo",
|
||||
"searchPlaceholder": "Buscar por nome ou prefixo",
|
||||
"sortBy": "Ordenar",
|
||||
"sortTokens": "Tokens",
|
||||
"sortRequests": "Requisições",
|
||||
"sortLastUsed": "Último uso",
|
||||
"sortName": "Nome",
|
||||
"sortUser": "Usuário",
|
||||
"webUI": "Web UI",
|
||||
"legacy": "Legado",
|
||||
"revoked": "revogada",
|
||||
"filteredTo": "Filtrado por: {{name}}",
|
||||
"clearFilter": "Limpar filtro",
|
||||
"other": "Outros ({{count}})",
|
||||
"noTrafficShort": "Nenhuma requisição neste período.",
|
||||
"noKeysYet": "Assim que houver requisições, você as verá detalhadas aqui.",
|
||||
"createKey": "Criar sua primeira chave de API",
|
||||
"truncatedWarning": "Mostrando as 200 principais chaves. Aplique um filtro para reduzir ainda mais."
|
||||
}
|
||||
},
|
||||
"explorer": {
|
||||
"title": "Explorador",
|
||||
"subtitle": "Navegar por arquivos e configurações"
|
||||
},
|
||||
"operate": {
|
||||
"overview": {
|
||||
"title": "Visão geral",
|
||||
"subtitle": "Tudo o que está em execução nesta instalação e tudo o que precisa de uma decisão.",
|
||||
"attention": {
|
||||
"heading": "Requer atenção",
|
||||
"clear": "Nada requer atenção. Os backends estão atualizados, nenhuma operação falhou e todos os nós estão saudáveis.",
|
||||
"backendUpdate": "Atualização disponível: {{from}} → {{to}}"
|
||||
},
|
||||
"sections": {
|
||||
"heading": "Seções",
|
||||
"runtime": "Runtime",
|
||||
"runtimeSummary": "{{backends}} backends · {{models}} modelos · {{updates}} atualizações · {{running}} em execução",
|
||||
"cluster": "Cluster",
|
||||
"clusterSummary": "{{nodes}} nós",
|
||||
"observability": "Observabilidade",
|
||||
"observabilitySummary": "Uso e rastreamentos",
|
||||
"administration": "Administração",
|
||||
"administrationSummary": "Usuários, middleware e configurações · {{memory}} de memória em uso",
|
||||
"clusterSingle": "Nó único",
|
||||
"observabilityCounted": "{{requests}} requisições · {{errors}} falhas · p95 {{p95}} ms"
|
||||
},
|
||||
"headline": {
|
||||
"requests": "Requisições · {{hours}}h",
|
||||
"errors": "Requisições com falha",
|
||||
"p95": "latência p95",
|
||||
"quiet": "Nenhuma requisição atendida nesta janela ainda.",
|
||||
"host": "Memória do host"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"title": "Agentes",
|
||||
"subtitle": "Gerenciar agentes de IA autônomos",
|
||||
"actions": {
|
||||
"agentHub": "Central de Agentes",
|
||||
"import": "Importar",
|
||||
"createAgent": "Criar Agente",
|
||||
"edit": "Editar",
|
||||
"chat": "Conversar",
|
||||
"export": "Exportar",
|
||||
"delete": "Excluir",
|
||||
"pause": "Pausar",
|
||||
"resume": "Retomar"
|
||||
},
|
||||
"table": {
|
||||
"name": "Nome",
|
||||
"status": "Status",
|
||||
"events": "Eventos",
|
||||
"actions": "Ações",
|
||||
"eventsTooltip": "{{count}} eventos - Clique para ver"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Buscar agentes...",
|
||||
"summary_one": "{{shown}} de {{total}} agente",
|
||||
"summary_other": "{{shown}} de {{total}} agentes"
|
||||
},
|
||||
"empty": {
|
||||
"noConfigured": "Nenhum agente configurado",
|
||||
"noConfiguredText": "Crie um agente para começar com fluxos de trabalho autônomos de IA.",
|
||||
"browseHub": "Não sabe por onde começar? Explore a <1>Central de Agentes</1> para encontrar configurações de agentes prontas que você pode importar.",
|
||||
"noMatching": "Nenhum agente correspondente",
|
||||
"noMatchingText": "Nenhum agente corresponde a \"{{query}}\""
|
||||
},
|
||||
"sections": {
|
||||
"yourAgents": "Seus Agentes",
|
||||
"otherUsersAgents": "Agentes de Outros Usuários"
|
||||
},
|
||||
"deleteDialog": {
|
||||
"title": "Excluir Agente",
|
||||
"message": "Excluir o agente \"{{name}}\"? Esta ação não pode ser desfeita.",
|
||||
"confirm": "Excluir"
|
||||
},
|
||||
"toasts": {
|
||||
"loadFailed": "Falha ao carregar agentes: {{message}}",
|
||||
"deleted": "Agente \"{{name}}\" excluído",
|
||||
"deleteFailed": "Falha ao excluir agente: {{message}}",
|
||||
"paused": "Agente \"{{name}}\" pausado",
|
||||
"resumed": "Agente \"{{name}}\" retomado",
|
||||
"pauseFailed": "Falha ao pausar agente: {{message}}",
|
||||
"resumeFailed": "Falha ao retomar agente: {{message}}",
|
||||
"exported": "Agente \"{{name}}\" exportado",
|
||||
"exportFailed": "Falha ao exportar agente: {{message}}",
|
||||
"parseFailed": "Falha ao analisar o arquivo do agente: {{message}}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"login": {
|
||||
"subtitle": "Entre para continuar",
|
||||
"registerSubtitle": "Crie uma conta",
|
||||
"createAdminSubtitle": "Crie sua conta de administrador",
|
||||
"tokenSubtitle": "Digite sua chave de API para continuar",
|
||||
"email": "E-mail",
|
||||
"emailPlaceholder": "voce@exemplo.com",
|
||||
"name": "Nome",
|
||||
"namePlaceholder": "Seu nome (opcional)",
|
||||
"password": "Senha",
|
||||
"passwordPlaceholder": "Digite a senha...",
|
||||
"newPasswordPlaceholder": "Pelo menos 12 caracteres",
|
||||
"confirmPassword": "Confirmar Senha",
|
||||
"confirmPasswordPlaceholder": "Repita a senha",
|
||||
"inviteCodeLabel": "Código de Convite",
|
||||
"inviteCodeOptional": " (opcional — pule a espera de aprovação)",
|
||||
"inviteCodePlaceholder": "Cole seu código de convite...",
|
||||
"tokenPlaceholder": "Digite a chave de API...",
|
||||
"tokenAltPlaceholder": "Digite o token de API...",
|
||||
"signIn": "Entrar",
|
||||
"signingIn": "Entrando...",
|
||||
"register": "Registrar",
|
||||
"creatingAccount": "Criando conta...",
|
||||
"createAdminAccount": "Criar Conta de Administrador",
|
||||
"signInWithGitHub": "Entrar com GitHub",
|
||||
"signInWithSSO": "Entrar com SSO",
|
||||
"loginWithToken": "Entrar com Token",
|
||||
"showTokenLogin": "Entrar com Token de API",
|
||||
"hideTokenLogin": "Ocultar login com token",
|
||||
"noAccount": "Não tem uma conta?",
|
||||
"hasAccount": "Já tem uma conta?",
|
||||
"or": "ou",
|
||||
"errors": {
|
||||
"loginFailed": "Falha no login",
|
||||
"registrationFailed": "Falha no registro",
|
||||
"invalidToken": "Token inválido",
|
||||
"passwordsDoNotMatch": "As senhas não coincidem",
|
||||
"enterToken": "Digite um token",
|
||||
"networkError": "Erro de rede",
|
||||
"inviteRequired": "Um código de convite válido é obrigatório para registrar"
|
||||
},
|
||||
"messages": {
|
||||
"registrationPending": "Registro bem-sucedido, aguardando aprovação."
|
||||
}
|
||||
},
|
||||
"account": {
|
||||
"title": "Conta",
|
||||
"subtitle": "Perfil, credenciais e chaves de API",
|
||||
"unavailable": "Conta indisponível",
|
||||
"unavailableText": "A autenticação deve estar habilitada para gerenciar sua conta.",
|
||||
"tabs": {
|
||||
"profile": "Perfil",
|
||||
"security": "Segurança",
|
||||
"apiKeys": "Chaves de API"
|
||||
},
|
||||
"profile": {
|
||||
"displayName": "Nome de exibição",
|
||||
"displayNameDescription": "Seu nome público de exibição",
|
||||
"avatarUrl": "URL do avatar",
|
||||
"avatarUrlDescription": "URL da sua foto de perfil",
|
||||
"avatarUrlPlaceholder": "https://exemplo.com/avatar.png",
|
||||
"save": "Salvar",
|
||||
"saving": "Salvando...",
|
||||
"updated": "Perfil atualizado",
|
||||
"updateFailed": "Falha ao atualizar o perfil: {{message}}"
|
||||
},
|
||||
"security": {
|
||||
"currentPassword": "Senha atual",
|
||||
"currentPasswordDescription": "Digite sua senha existente para verificar sua identidade",
|
||||
"currentPasswordPlaceholder": "Senha atual",
|
||||
"newPassword": "Nova senha",
|
||||
"newPasswordDescription": "Deve ter pelo menos 12 caracteres",
|
||||
"newPasswordPlaceholder": "Nova senha",
|
||||
"confirmPassword": "Confirmar senha",
|
||||
"confirmPasswordDescription": "Digite novamente sua nova senha",
|
||||
"confirmPasswordPlaceholder": "Confirme a nova senha",
|
||||
"changePassword": "Alterar senha",
|
||||
"changing": "Alterando...",
|
||||
"changed": "Senha alterada",
|
||||
"passwordsDoNotMatch": "As senhas não coincidem",
|
||||
"tooShort": "A nova senha deve ter pelo menos 12 caracteres",
|
||||
"oauthOnly": "O gerenciamento de senha não está disponível para contas {{provider}}."
|
||||
},
|
||||
"apiKeys": {
|
||||
"create": "Criar chave de API",
|
||||
"createDescription": "Gere uma chave para acesso programático",
|
||||
"namePlaceholder": "Nome da chave (ex.: meu-app)",
|
||||
"createButton": "Criar",
|
||||
"creating": "Criando...",
|
||||
"createdToast": "Chave de API criada",
|
||||
"createFailed": "Falha ao criar a chave de API: {{message}}",
|
||||
"loadFailed": "Falha ao carregar as chaves de API: {{message}}",
|
||||
"revoke": "Revogar",
|
||||
"revokeKey": "Revogar chave",
|
||||
"revokeTitle": "Revogar Chave de API",
|
||||
"revokeMessage": "Revogar a chave de API \"{{name}}\"? Esta ação não pode ser desfeita.",
|
||||
"revoked": "Chave de API revogada",
|
||||
"revokeFailed": "Falha ao revogar a chave de API: {{message}}",
|
||||
"copyNow": "Copie agora — esta chave não será mostrada novamente",
|
||||
"copiedToast": "Copiado para a área de transferência",
|
||||
"copyFailed": "Falha ao copiar",
|
||||
"empty": "Nenhuma chave de API ainda. Crie uma acima para obter acesso programático.",
|
||||
"lastUsed": "último uso em {{date}}"
|
||||
}
|
||||
},
|
||||
"notFound": {
|
||||
"title": "Página Não Encontrada",
|
||||
"text": "Parece que esta página se perdeu. Vamos colocá-lo de volta no caminho certo.",
|
||||
"goHome": "Ir para a Página Inicial"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"activity": {
|
||||
"thought": "Pensamento",
|
||||
"tool": "Ferramenta",
|
||||
"result": "Resultado",
|
||||
"toolResult": "Resultado de {{name}}",
|
||||
"thinking": "Pensando..."
|
||||
},
|
||||
"header": {
|
||||
"manageModeTooltip": "Este chat pode instalar modelos, editar configurações e gerenciar backends conversando com o LocalAI.",
|
||||
"modelInfo": "Informações do modelo",
|
||||
"chatSettings": "Configurações do chat",
|
||||
"modelInfoTitle": "Informações do Modelo: {{model}}",
|
||||
"editConfig": "Editar configuração",
|
||||
"close": "Fechar"
|
||||
},
|
||||
"modelInfo": {
|
||||
"backend": "Backend",
|
||||
"modelFile": "Arquivo do modelo",
|
||||
"contextSize": "Tamanho do contexto",
|
||||
"threads": "Threads",
|
||||
"mcp": "MCP",
|
||||
"configured": "Configurado",
|
||||
"chatTemplate": "Modelo de conversa",
|
||||
"yes": "Sim",
|
||||
"gpuLayers": "Camadas GPU"
|
||||
},
|
||||
"context": {
|
||||
"label": "Contexto: {{percent}}%",
|
||||
"labelWithTokens": "Contexto: {{percent}}% ({{tokens}} tokens)"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Configurações do Chat",
|
||||
"manageMode": "Modo de gerenciamento",
|
||||
"manageModeDesc": "Permita que este chat instale modelos, alterne backends e edite configurações conversando com o LocalAI.",
|
||||
"systemPrompt": "Instrução do sistema",
|
||||
"systemPromptPlaceholder": "Você é um assistente útil...",
|
||||
"temperature": "Temperatura",
|
||||
"topP": "Top P",
|
||||
"topK": "Top K",
|
||||
"contextSize": "Tamanho do contexto",
|
||||
"contextSizePlaceholder": "2048",
|
||||
"clearHistory": "Limpar histórico do chat"
|
||||
},
|
||||
"empty": {
|
||||
"manageTitle": "Gerencie o LocalAI conversando",
|
||||
"manageText": "Peça para instalar modelos, alternar backends, editar configurações ou verificar o status. O assistente resumirá as ações e aguardará sua confirmação antes de alterar qualquer coisa.",
|
||||
"startTitle": "Inicie uma conversa",
|
||||
"readyText": "Pronto para conversar com {{model}}",
|
||||
"selectModelText": "Selecione um modelo acima para começar",
|
||||
"suggestionsManage": [
|
||||
"O que está instalado?",
|
||||
"Instalar um modelo de chat",
|
||||
"Mostrar o status do sistema",
|
||||
"Atualizar um backend"
|
||||
],
|
||||
"suggestionsChat": [
|
||||
"Explique como isto funciona",
|
||||
"Ajude-me a escrever código",
|
||||
"Resumir um documento",
|
||||
"Gerar ideias"
|
||||
],
|
||||
"recent": "Recente",
|
||||
"noMessages": "Nenhuma mensagem ainda",
|
||||
"hintEnter": "Enter para enviar",
|
||||
"hintShiftEnter": "Shift+Enter para nova linha",
|
||||
"hintAttach": "Anexar arquivos"
|
||||
},
|
||||
"errors": {
|
||||
"viewTraces": "Ver rastreamentos para detalhes"
|
||||
},
|
||||
"actions": {
|
||||
"copy": "Copiar",
|
||||
"edit": "Editar",
|
||||
"editMessage": "Editar mensagem",
|
||||
"save": "Salvar",
|
||||
"cancel": "Cancelar",
|
||||
"regenerate": "Regenerar",
|
||||
"branch": "Ramificar daqui",
|
||||
"jumpToLatest": "Ir para a mais recente"
|
||||
},
|
||||
"streaming": {
|
||||
"transferring": "Transferindo modelo...",
|
||||
"transferringTo": "Transferindo o modelo para {{node}}..."
|
||||
},
|
||||
"tokens": {
|
||||
"perSec": "{{count}} tok/s",
|
||||
"peak": "Pico: {{count}} tok/s",
|
||||
"usage": "{{prompt}}p + {{completion}}c = {{total}}"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Mensagem...",
|
||||
"attachFile": "Anexar arquivo",
|
||||
"send": "Enviar mensagem",
|
||||
"stopGenerating": "Parar a geração",
|
||||
"canvasTitle": "Canvas — extrai blocos de código e mídia para um painel lateral para visualização, cópia e download",
|
||||
"canvasLabel": "Canvas",
|
||||
"openCanvas": "Abrir painel do canvas"
|
||||
},
|
||||
"deleteAllDialog": {
|
||||
"title": "Excluir Todos os Chats",
|
||||
"message": "Excluir todos os chats? Esta ação não pode ser desfeita.",
|
||||
"confirm": "Excluir todos"
|
||||
},
|
||||
"toasts": {
|
||||
"selectModel": "Selecione um modelo",
|
||||
"copied": "Copiado para a área de transferência",
|
||||
"copyFailed": "Não foi possível copiar para a área de transferência",
|
||||
"chatCopied": "Chat copiado para a área de transferência",
|
||||
"forked": "Novo chat criado"
|
||||
},
|
||||
"menu": {
|
||||
"trigger": "Chats",
|
||||
"triggerTitle": "Conversas (Ctrl/Cmd+K)",
|
||||
"search": "Buscar conversas...",
|
||||
"clearSearch": "Limpar busca",
|
||||
"noMatch": "Nenhuma conversa corresponde à sua busca",
|
||||
"noConversations": "Nenhuma conversa ainda",
|
||||
"rename": "Renomear",
|
||||
"duplicate": "Duplicar chat",
|
||||
"copyChat": "Copiar chat",
|
||||
"exportMarkdown": "Exportar como Markdown",
|
||||
"deleteChat": "Excluir chat",
|
||||
"newChat": "Novo chat",
|
||||
"clearAll": "Limpar tudo",
|
||||
"deleteAllTitle": "Excluir todas as conversas"
|
||||
},
|
||||
"message": {
|
||||
"you": "Você"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"title": "Base de Conhecimento",
|
||||
"subtitle": "Gerencie coleções de documentos para RAG de agentes",
|
||||
"newPlaceholder": "Nome da nova coleção...",
|
||||
"actions": {
|
||||
"create": "Criar",
|
||||
"creating": "Criando...",
|
||||
"details": "Detalhes",
|
||||
"reset": "Redefinir",
|
||||
"delete": "Excluir",
|
||||
"viewDetails": "Ver detalhes",
|
||||
"resetCollection": "Redefinir coleção",
|
||||
"deleteCollection": "Excluir coleção"
|
||||
},
|
||||
"sections": {
|
||||
"yourCollections": "Suas Coleções",
|
||||
"otherUsersCollections": "Coleções de Outros Usuários"
|
||||
},
|
||||
"empty": {
|
||||
"title": "Nenhuma coleção ainda",
|
||||
"text": "As coleções permitem organizar documentos em bases de conhecimento que os agentes podem pesquisar usando RAG (Retrieval-Augmented Generation). Crie uma coleção acima para começar.",
|
||||
"noPersonal": "Você ainda não tem coleções."
|
||||
},
|
||||
"deleteDialog": {
|
||||
"title": "Excluir Coleção",
|
||||
"message": "Excluir a coleção \"{{name}}\"? Isso removerá todas as entradas e não pode ser desfeito.",
|
||||
"confirm": "Excluir"
|
||||
},
|
||||
"resetDialog": {
|
||||
"title": "Redefinir Coleção",
|
||||
"message": "Redefinir a coleção \"{{name}}\"? Isso removerá todas as entradas, mas manterá a coleção.",
|
||||
"confirm": "Redefinir"
|
||||
},
|
||||
"toasts": {
|
||||
"loadFailed": "Falha ao carregar coleções: {{message}}",
|
||||
"created": "Coleção \"{{name}}\" criada",
|
||||
"createFailed": "Falha ao criar a coleção: {{message}}",
|
||||
"deleted": "Coleção \"{{name}}\" excluída",
|
||||
"deleteFailed": "Falha ao excluir a coleção: {{message}}",
|
||||
"reset": "Coleção \"{{name}}\" redefinida",
|
||||
"resetFailed": "Falha ao redefinir a coleção: {{message}}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"unsaved": {
|
||||
"title": "Descartar alterações não salvas?",
|
||||
"message": "Você tem alterações não salvas que serão perdidas se você sair desta página.",
|
||||
"leave": "Sair"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Salvar",
|
||||
"saving": "Salvando...",
|
||||
"cancel": "Cancelar",
|
||||
"close": "Fechar",
|
||||
"confirm": "Confirmar",
|
||||
"delete": "Excluir",
|
||||
"edit": "Editar",
|
||||
"add": "Adicionar",
|
||||
"remove": "Remover",
|
||||
"create": "Criar",
|
||||
"update": "Atualizar",
|
||||
"refresh": "Atualizar",
|
||||
"reload": "Recarregar",
|
||||
"retry": "Tentar novamente",
|
||||
"search": "Buscar",
|
||||
"filter": "Filtrar",
|
||||
"clear": "Limpar",
|
||||
"reset": "Redefinir",
|
||||
"apply": "Aplicar",
|
||||
"back": "Voltar",
|
||||
"next": "Próximo",
|
||||
"previous": "Anterior",
|
||||
"open": "Abrir",
|
||||
"submit": "Enviar",
|
||||
"select": "Selecionar",
|
||||
"selectAll": "Selecionar tudo",
|
||||
"copy": "Copiar",
|
||||
"copied": "Copiado",
|
||||
"download": "Baixar",
|
||||
"upload": "Enviar",
|
||||
"import": "Importar",
|
||||
"export": "Exportar",
|
||||
"view": "Ver",
|
||||
"details": "Detalhes",
|
||||
"settings": "Configurações",
|
||||
"help": "Ajuda",
|
||||
"yes": "Sim",
|
||||
"no": "Não",
|
||||
"loading": "Carregando..."
|
||||
},
|
||||
"status": {
|
||||
"loading": "Carregando...",
|
||||
"saving": "Salvando...",
|
||||
"saved": "Salvo",
|
||||
"ready": "Pronto",
|
||||
"running": "Em execução",
|
||||
"stopped": "Parado",
|
||||
"starting": "Iniciando...",
|
||||
"stopping": "Parando...",
|
||||
"pending": "Pendente",
|
||||
"active": "Ativo",
|
||||
"inactive": "Inativo",
|
||||
"enabled": "Habilitado",
|
||||
"disabled": "Desabilitado",
|
||||
"online": "Online",
|
||||
"offline": "Offline",
|
||||
"error": "Erro",
|
||||
"success": "Sucesso",
|
||||
"warning": "Aviso",
|
||||
"info": "Informação",
|
||||
"empty": "Nenhum item",
|
||||
"none": "Nenhum",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"dialogs": {
|
||||
"confirmDelete": {
|
||||
"title": "Confirmar exclusão",
|
||||
"message": "Tem certeza de que deseja excluir isto? Esta ação não pode ser desfeita.",
|
||||
"confirm": "Excluir",
|
||||
"cancel": "Cancelar"
|
||||
},
|
||||
"unsavedChanges": {
|
||||
"title": "Alterações não salvas",
|
||||
"message": "Você tem alterações não salvas. Deseja descartá-las?",
|
||||
"discard": "Descartar",
|
||||
"keepEditing": "Continuar editando"
|
||||
}
|
||||
},
|
||||
"forms": {
|
||||
"required": "Obrigatório",
|
||||
"optional": "Opcional",
|
||||
"name": "Nome",
|
||||
"description": "Descrição",
|
||||
"type": "Tipo",
|
||||
"value": "Valor",
|
||||
"search": "Buscar...",
|
||||
"selectPlaceholder": "Selecione uma opção...",
|
||||
"noMatch": "Nenhuma correspondência"
|
||||
},
|
||||
"time": {
|
||||
"now": "agora",
|
||||
"secondsAgo_one": "há {{count}} segundo",
|
||||
"secondsAgo_other": "há {{count}} segundos",
|
||||
"minutesAgo_one": "há {{count}} minuto",
|
||||
"minutesAgo_other": "há {{count}} minutos",
|
||||
"hoursAgo_one": "há {{count}} hora",
|
||||
"hoursAgo_other": "há {{count}} horas",
|
||||
"daysAgo_one": "há {{count}} dia",
|
||||
"daysAgo_other": "há {{count}} dias"
|
||||
},
|
||||
"units": {
|
||||
"bytes": "B",
|
||||
"kilobytes": "KB",
|
||||
"megabytes": "MB",
|
||||
"gigabytes": "GB",
|
||||
"terabytes": "TB"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"generic": "Algo deu errado",
|
||||
"network": "Erro de rede. Verifique sua conexão e tente novamente.",
|
||||
"unauthorized": "Você não está autorizado a executar esta ação.",
|
||||
"forbidden": "Acesso negado.",
|
||||
"notFound": "O recurso solicitado não foi encontrado.",
|
||||
"serverError": "Erro no servidor. Tente novamente mais tarde.",
|
||||
"loadFailed": "Falha ao carregar: {{message}}",
|
||||
"saveFailed": "Falha ao salvar: {{message}}",
|
||||
"deleteFailed": "Falha ao excluir: {{message}}",
|
||||
"updateFailed": "Falha ao atualizar: {{message}}",
|
||||
"createFailed": "Falha ao criar: {{message}}",
|
||||
"operationFailed": "Falha na operação: {{message}}",
|
||||
"invalidInput": "Entrada inválida. Verifique o formulário e tente novamente.",
|
||||
"tryAgain": "Tente novamente.",
|
||||
"contactAdmin": "Se o problema persistir, entre em contato com o administrador."
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"cluster": {
|
||||
"vram": "VRAM do cluster",
|
||||
"ram": "RAM do cluster",
|
||||
"nodesOnline": "{{healthy}}/{{total}} nós online"
|
||||
},
|
||||
"resourceGpu": "GPU",
|
||||
"resourceRam": "RAM",
|
||||
"greeting": {
|
||||
"morning": "Bom dia",
|
||||
"afternoon": "Boa tarde",
|
||||
"evening": "Boa noite",
|
||||
"night": "Trabalhando até tarde"
|
||||
},
|
||||
"statusLine": {
|
||||
"modelsLoaded_one": "{{count}} modelo carregado",
|
||||
"modelsLoaded_other": "{{count}} modelos carregados",
|
||||
"noModelsLoaded": "Nenhum modelo carregado",
|
||||
"nodes_one": "{{count}} nó",
|
||||
"nodes_other": "{{count}} nós",
|
||||
"loadedLabel": "Carregados",
|
||||
"nodesLabel": "Nós"
|
||||
},
|
||||
"assistant": {
|
||||
"title": "Gerencie o LocalAI conversando",
|
||||
"description": "Instale modelos, alterne backends, edite configurações e verifique o status conversando com o LocalAI.",
|
||||
"open": "Abrir assistente",
|
||||
"tooltip": "Gerencie o LocalAI conversando"
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Mensagem...",
|
||||
"attachImage": "Anexar imagem",
|
||||
"attachAudio": "Anexar áudio",
|
||||
"attachFile": "Anexar arquivo",
|
||||
"enterToSend": "Enter para enviar",
|
||||
"selectModelFirst": "Selecione um modelo primeiro",
|
||||
"sendMessage": "Enviar mensagem",
|
||||
"selectModelToast": "Selecione um modelo primeiro"
|
||||
},
|
||||
"quickLinks": {
|
||||
"manageByChat": "Gerenciar por chat",
|
||||
"installedModels": "Modelos Instalados",
|
||||
"browseGallery": "Explorar Galeria",
|
||||
"importModel": "Importar Modelo",
|
||||
"documentation": "Documentação"
|
||||
},
|
||||
"loadedModels": {
|
||||
"heading": "Modelos ativos",
|
||||
"count_one": "{{count}} modelo carregado",
|
||||
"count_other": "{{count}} modelos carregados",
|
||||
"stop": "Parar modelo",
|
||||
"stopAll": "Parar todos",
|
||||
"serving": "Servindo"
|
||||
},
|
||||
"stopDialog": {
|
||||
"title": "Parar Modelo",
|
||||
"message": "Parar o modelo {{model}}?",
|
||||
"confirm": "Parar {{model}}",
|
||||
"stopAllTitle": "Parar Todos os Modelos",
|
||||
"stopAllMessage": "Parar todos os {{count}} modelos carregados?",
|
||||
"stopAllConfirm": "Parar todos",
|
||||
"stoppedToast": "Modelo {{model}} parado",
|
||||
"allStoppedToast": "Todos os modelos parados",
|
||||
"stopFailed": "Falha ao parar: {{message}}"
|
||||
},
|
||||
"wizard": {
|
||||
"getStarted": "Comece com {{name}}",
|
||||
"intro": "Instale seu primeiro modelo para começar. Explore a galeria ou importe o seu próprio.",
|
||||
"steps": {
|
||||
"step1Title": "Explore a Galeria de Modelos",
|
||||
"step1Body": "Encontre o modelo certo para suas necessidades em nossa coleção selecionada.",
|
||||
"step2Title": "Instale um Modelo",
|
||||
"step2Body": "Clique em instalar para baixar e configurá-lo automaticamente.",
|
||||
"step3Title": "Comece a Conversar",
|
||||
"step3Body": "Converse com seu modelo direto do navegador ou use a API."
|
||||
},
|
||||
"browseGallery": "Explorar Galeria de Modelos",
|
||||
"importModel": "Importar Modelo",
|
||||
"docs": "Documentação",
|
||||
"noModelsTitle": "Nenhum Modelo Disponível",
|
||||
"noModelsBody": "Ainda não há modelos instalados. Peça ao administrador para configurar modelos para você poder começar a conversar."
|
||||
},
|
||||
"starters": {
|
||||
"title": "Recomendados para o seu hardware",
|
||||
"tier": {
|
||||
"cpu": "Somente CPU",
|
||||
"gpu-small": "GPU",
|
||||
"gpu-mid": "GPU",
|
||||
"gpu-large": "GPU"
|
||||
},
|
||||
"cpuNote": "Nenhuma GPU detectada — estes modelos pequenos permanecem responsivos na CPU.",
|
||||
"gpuNote": "Selecionados para caber na sua VRAM disponível com espaço para o contexto.",
|
||||
"install": "Instalar",
|
||||
"installing": "Instalando",
|
||||
"installStarted": "Instalando {{model}}…",
|
||||
"installFailed": "Falha na instalação: {{message}}"
|
||||
},
|
||||
"connect": {
|
||||
"title": "Um endpoint, toda API",
|
||||
"subtitle": "O LocalAI oferece sua própria API completa — geração de imagem e vídeo, profundidade, detecção de objetos, reranking, áudio, reconhecimento facial e de voz, e voz em tempo real via WebRTC e WebSocket. Além disso, uma camada de compatibilidade permite que qualquer aplicativo criado para OpenAI, Anthropic, Ollama ou OpenAI Responses se comunique sem alterações.",
|
||||
"nativeTitle": "API nativa",
|
||||
"compatTitle": "Compatibilidade total",
|
||||
"apiReference": "Referência completa da API",
|
||||
"copy": "Copiar",
|
||||
"copied": "Copiado",
|
||||
"browse": "Explorar a API",
|
||||
"hide": "Ocultar endpoints",
|
||||
"dismiss": "Dispensar"
|
||||
},
|
||||
"jump": {
|
||||
"heading": "Continue de onde parou",
|
||||
"discover": "Descobrir",
|
||||
"discoverSummary": "Explore a galeria e instale modelos",
|
||||
"create": "Criar",
|
||||
"createSummary": "Abra uma sessão de chat, imagem ou voz",
|
||||
"operate": "Operar",
|
||||
"operateSummary": "{{models}} modelos configurados · nós, atividade e rastreamentos"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"title": "Importar Novo Modelo",
|
||||
"subtitle": {
|
||||
"simple": "Importe um modelo de uma URI — a detecção automática escolhe o backend.",
|
||||
"powerYaml": "Escreva a configuração YAML completa do modelo.",
|
||||
"powerPrefs": "Preferências de importação refinadas."
|
||||
},
|
||||
"actions": {
|
||||
"import": "Importar Modelo",
|
||||
"importing": "Importando...",
|
||||
"create": "Criar",
|
||||
"saving": "Salvando...",
|
||||
"browseHF": "Explorar modelos no HF",
|
||||
"addCustom": "Adicionar Personalizado",
|
||||
"copy": "Copiar"
|
||||
},
|
||||
"form": {
|
||||
"modelUri": "URI do modelo",
|
||||
"uriPlaceholder": "huggingface://TheBloke/Llama-2-7B-Chat-GGUF ou https://exemplo.com/modelo.gguf",
|
||||
"uriHint": "Digite a URI ou o caminho do arquivo do modelo que deseja importar",
|
||||
"supportedFormats": "Formatos de URI Suportados",
|
||||
"options": "Opções",
|
||||
"preferences": "Preferências (Opcional)",
|
||||
"commonPreferences": "Preferências Comuns",
|
||||
"customPreferences": "Preferências Personalizadas",
|
||||
"customKeyValueHint": "Adicione pares de chave-valor personalizados para configuração avançada.",
|
||||
"preferenceKey": "Chave da preferência da linha {{index}}",
|
||||
"preferenceValue": "Valor da preferência da linha {{index}}",
|
||||
"removePref": "Remover esta preferência",
|
||||
"key": "Chave",
|
||||
"value": "Valor",
|
||||
"backend": "Backend",
|
||||
"backendAuto": "Detecção automática (com base na URI)",
|
||||
"backendLoading": "Carregando backends…",
|
||||
"backendSearch": "Buscar backends...",
|
||||
"backendHint": "Force um backend específico. Deixe vazio para detectar automaticamente pela URI. Itens marcados como \"seleção manual\" não são detectáveis automaticamente — escolha-os você mesmo se souber o que o modelo precisa.",
|
||||
"backendErrorHint": "Não foi possível carregar a lista de backends — apenas detecção automática.",
|
||||
"backendNotInstalled": "Este backend ainda não está instalado. Enviar a importação fará o download dele primeiro.",
|
||||
"modelName": "Nome do Modelo",
|
||||
"modelNamePlaceholder": "Deixe vazio para usar o nome do arquivo",
|
||||
"modelNameHint": "Nome personalizado para o modelo. Se vazio, o nome do arquivo será usado.",
|
||||
"description": "Descrição",
|
||||
"descriptionPlaceholder": "Deixe vazio para usar a descrição padrão",
|
||||
"descriptionHint": "Descrição personalizada para o modelo.",
|
||||
"quantizations": "Quantizações",
|
||||
"quantizationsPlaceholder": "q4_k_m,q4_k_s,q3_k_m (separados por vírgula)",
|
||||
"quantizationsHint": "Quantizações preferidas (separadas por vírgula). Deixe vazio para o padrão (q4_k_m).",
|
||||
"mmprojQuantizations": "Quantizações MMProj",
|
||||
"mmprojQuantizationsPlaceholder": "fp16,fp32 (separados por vírgula)",
|
||||
"mmprojQuantizationsHint": "Quantizações MMProj preferidas. Deixe vazio para o padrão (fp16).",
|
||||
"embeddings": "Embeddings",
|
||||
"embeddingsHint": "Habilite o suporte a embeddings para este modelo.",
|
||||
"modelType": "Tipo do Modelo",
|
||||
"modelTypePlaceholder": "AutoModelForCausalLM (para o backend transformers)",
|
||||
"modelTypeHint": "Tipo de modelo para o backend transformers. Exemplos: AutoModelForCausalLM, SentenceTransformer, Mamba.",
|
||||
"pipelineType": "Tipo de Pipeline",
|
||||
"pipelineTypeHint": "Tipo de pipeline para o backend diffusers.",
|
||||
"schedulerType": "Tipo de Scheduler",
|
||||
"schedulerTypePlaceholder": "k_dpmpp_2m (opcional)",
|
||||
"schedulerTypeHint": "Tipo de scheduler para o backend diffusers. Exemplos: k_dpmpp_2m, euler_a, ddim.",
|
||||
"enableParameters": "Parâmetros Habilitados",
|
||||
"enableParametersPlaceholder": "negative_prompt,num_inference_steps (separados por vírgula)",
|
||||
"enableParametersHint": "Parâmetros habilitados para o backend diffusers (separados por vírgula).",
|
||||
"cuda": "CUDA",
|
||||
"cudaHint": "Habilite o suporte a CUDA para aceleração por GPU.",
|
||||
"yamlEditor": "Editor de Configuração YAML",
|
||||
"manualPick": "seleção manual",
|
||||
"manualPickTooltip": "A detecção automática não roteará para este backend. Escolha-o aqui se você souber que é o que deseja."
|
||||
},
|
||||
"modality": {
|
||||
"text": "LLM de texto",
|
||||
"asr": "Reconhecimento de fala",
|
||||
"tts": "Texto para fala",
|
||||
"image": "Imagem / Vídeo",
|
||||
"video": "Geração de vídeo",
|
||||
"embeddings": "Embeddings",
|
||||
"reranker": "Rerankers",
|
||||
"detection": "Detecção de objetos",
|
||||
"vad": "Detecção de atividade de voz",
|
||||
"other": "Outro"
|
||||
},
|
||||
"powerTabs": {
|
||||
"ariaLabel": "Aba do modo avançado",
|
||||
"preferences": "Preferências",
|
||||
"yaml": "YAML"
|
||||
},
|
||||
"switchDialog": {
|
||||
"title": "Manter suas preferências personalizadas?",
|
||||
"body": "Alternar para o modo Simples oculta as preferências além de backend, nome e descrição. Elas ainda serão enviadas quando você importar.",
|
||||
"cancel": "Cancelar",
|
||||
"discard": "Descartar e alternar",
|
||||
"keep": "Manter e alternar"
|
||||
},
|
||||
"estimate": {
|
||||
"title": "Requisitos estimados",
|
||||
"download": "Download: {{size}}",
|
||||
"vram": "VRAM: {{vram}}"
|
||||
},
|
||||
"toasts": {
|
||||
"noUri": "Digite uma URI de modelo",
|
||||
"noYaml": "Digite a configuração YAML",
|
||||
"started": "Importação iniciada! Acompanhando o progresso...",
|
||||
"startedWithMeta": "Importação iniciada! Acompanhando o progresso... ({{meta}})",
|
||||
"imported": "Modelo importado com sucesso!",
|
||||
"importedYaml": "Configuração do modelo importada com sucesso!",
|
||||
"importFailed": "Falha na importação: {{message}}",
|
||||
"startImportFailed": "Falha ao iniciar a importação: {{message}}",
|
||||
"backendsLoadFailed": "Não foi possível carregar a lista de backends — usando apenas detecção automática",
|
||||
"modalityClearedBackend": "Seleção de backend limpa — ela não estava no grupo {{label}}.",
|
||||
"copied": "Copiado para a área de transferência"
|
||||
},
|
||||
"uriFormats": {
|
||||
"huggingface": {
|
||||
"title": "HuggingFace",
|
||||
"standard": "Formato HuggingFace padrão",
|
||||
"short": "Formato HuggingFace curto",
|
||||
"fullUrl": "URL HuggingFace completa"
|
||||
},
|
||||
"http": {
|
||||
"title": "URLs HTTP/HTTPS",
|
||||
"direct": "Download direto de qualquer URL HTTPS"
|
||||
},
|
||||
"local": {
|
||||
"title": "Arquivos Locais",
|
||||
"filePath": "Caminho de arquivo local (absoluto)",
|
||||
"directYaml": "Arquivo YAML de configuração local direto"
|
||||
},
|
||||
"oci": {
|
||||
"title": "Registro OCI",
|
||||
"registry": "Registro de contêineres OCI",
|
||||
"tarball": "Arquivo tarball OCI local"
|
||||
},
|
||||
"ollama": {
|
||||
"title": "Ollama",
|
||||
"model": "Formato de modelo do Ollama"
|
||||
},
|
||||
"yaml": {
|
||||
"title": "Arquivos de Configuração YAML",
|
||||
"remote": "Arquivo de configuração YAML remoto",
|
||||
"local": "Arquivo de configuração YAML local"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,461 @@
|
||||
{
|
||||
"studio": {
|
||||
"tabs": {
|
||||
"images": "Imagens",
|
||||
"video": "Vídeo",
|
||||
"tts": "TTS",
|
||||
"sound": "Som",
|
||||
"transform": "Transformar",
|
||||
"threed": "3D",
|
||||
"overview": "Visão geral"
|
||||
},
|
||||
"overview": {
|
||||
"eyebrow": "{{ready}} de {{total}} modalidades prontas",
|
||||
"title": "Studio",
|
||||
"subtitle": "Gere imagens, vídeos, 3D, fala e som com os modelos desta máquina.",
|
||||
"canMake": "O que você pode criar",
|
||||
"running": "Em execução agora",
|
||||
"recent": "Saídas recentes",
|
||||
"noModel": "Nenhum modelo instalado",
|
||||
"install": "Instalar um modelo",
|
||||
"ready": "Pronto",
|
||||
"seconds": "{{seconds}}s",
|
||||
"describe": {
|
||||
"images": "Texto para imagem, imagem para imagem, imagens de referência",
|
||||
"video": "Texto para vídeo e imagem para vídeo",
|
||||
"threed": "Reconstrução de malha a partir de imagem",
|
||||
"tts": "Texto para fala usando sua biblioteca de vozes",
|
||||
"sound": "Música e efeitos sonoros a partir de um prompt",
|
||||
"transform": "Separação, aprimoramento e conversão de voz"
|
||||
}
|
||||
},
|
||||
"groups": {
|
||||
"create": "Criar",
|
||||
"voice": "Voz",
|
||||
"transform": "Transformar"
|
||||
}
|
||||
},
|
||||
"image": {
|
||||
"title": "Geração de Imagens",
|
||||
"labels": {
|
||||
"model": "Modelo",
|
||||
"prompt": "Prompt",
|
||||
"promptPlaceholder": "Descreva a imagem que deseja gerar...",
|
||||
"negativePrompt": "Prompt Negativo",
|
||||
"negativePromptPlaceholder": "O que evitar...",
|
||||
"size": "Tamanho",
|
||||
"count": "Quantidade (1-4)",
|
||||
"advanced": "Configurações Avançadas",
|
||||
"imageInputs": "Entradas de Imagem",
|
||||
"steps": "Etapas",
|
||||
"stepsPlaceholder": "20",
|
||||
"seed": "Semente",
|
||||
"seedPlaceholder": "Aleatória",
|
||||
"sourceImage": "Imagem de Origem (img2img)",
|
||||
"refImages": "Imagens de Referência",
|
||||
"refImagesAdded_one": "{{count}} imagem adicionada",
|
||||
"refImagesAdded_other": "{{count}} imagens adicionadas"
|
||||
},
|
||||
"actions": {
|
||||
"view": "Ver",
|
||||
"generate": "Gerar",
|
||||
"generating": "Gerando..."
|
||||
},
|
||||
"empty": "As imagens geradas aparecerão aqui",
|
||||
"toasts": {
|
||||
"noPrompt": "Digite um prompt",
|
||||
"noModel": "Selecione um modelo",
|
||||
"noResults": "Nenhuma imagem gerada"
|
||||
}
|
||||
},
|
||||
"video": {
|
||||
"title": "Geração de Vídeo",
|
||||
"labels": {
|
||||
"model": "Modelo",
|
||||
"prompt": "Prompt",
|
||||
"promptPlaceholder": "Descreva o vídeo que deseja gerar...",
|
||||
"duration": "Duração (segundos)",
|
||||
"fps": "FPS",
|
||||
"size": "Tamanho",
|
||||
"advanced": "Configurações Avançadas",
|
||||
"seed": "Semente",
|
||||
"seedPlaceholder": "Aleatória",
|
||||
"frames": "Quadros",
|
||||
"referenceMedia": "Mídia de referência",
|
||||
"startImage": "Imagem inicial",
|
||||
"endImage": "Imagem final",
|
||||
"avatarAudio": "Áudio do avatar"
|
||||
},
|
||||
"actions": {
|
||||
"generate": "Gerar",
|
||||
"generating": "Gerando..."
|
||||
},
|
||||
"empty": "O vídeo gerado aparecerá aqui",
|
||||
"toasts": {
|
||||
"noPrompt": "Digite um prompt",
|
||||
"noModel": "Selecione um modelo",
|
||||
"noResults": "Nenhum vídeo gerado"
|
||||
}
|
||||
},
|
||||
"threed": {
|
||||
"title": "Geração 3D",
|
||||
"labels": {
|
||||
"model": "Modelo",
|
||||
"image": "Imagem de entrada",
|
||||
"quality": "Qualidade",
|
||||
"quality_auto": "Automática (melhor disponível)",
|
||||
"quality_coarse": "Pré-visualização grosseira (rápida)",
|
||||
"quality_512": "512³ fino",
|
||||
"quality_1024": "Cascata 1024³ (lenta)",
|
||||
"background": "Fundo",
|
||||
"background_auto": "Remover automaticamente o fundo sólido",
|
||||
"background_keep": "Manter original",
|
||||
"background_black": "Remover preto",
|
||||
"background_white": "Remover branco",
|
||||
"advanced": "Configurações Avançadas",
|
||||
"steps": "Etapas de forma",
|
||||
"textureSteps": "Etapas de material",
|
||||
"guidance": "Orientação",
|
||||
"seed": "Semente",
|
||||
"seedPlaceholder": "Aleatória"
|
||||
},
|
||||
"actions": {
|
||||
"generate": "Gerar",
|
||||
"generating": "Gerando...",
|
||||
"remesh": "Aplicar remalhamento",
|
||||
"remeshing": "Aplicando remalhamento...",
|
||||
"showOriginal": "Mostrar original",
|
||||
"download": "Baixar GLB"
|
||||
},
|
||||
"remesh": {
|
||||
"title": "Remalhamento hermético para impressão",
|
||||
"detail": "Detalhe do remalhamento",
|
||||
"coarser": "Mais grosseiro · mais rápido",
|
||||
"finer": "Mais fino · mais lento",
|
||||
"hint": "O detalhe controla as menores características preservadas. O deslocamento de envolvimento segue automaticamente.",
|
||||
"ready": "Pré-visualizando o modelo remalhado hermético. Esta é a versão que será baixada."
|
||||
},
|
||||
"viewer": {
|
||||
"wireframe": "Wireframe",
|
||||
"autoRotate": "Rotação automática",
|
||||
"noWebgl": "WebGL2 não está disponível neste navegador — baixe o GLB para vê-lo em outro lugar.",
|
||||
"contextLost": "A visualização 3D perdeu o contexto da GPU — recarregue a página para restaurá-la.",
|
||||
"stats": "{{verts}} vértices · {{tris}} triângulos",
|
||||
"hint": "arrastar: girar · pinça/roda: zoom · dois dedos/clique direito: mover · duplo clique: redefinir"
|
||||
},
|
||||
"empty": "O modelo 3D gerado aparecerá aqui",
|
||||
"toasts": {
|
||||
"noImage": "Forneça uma imagem de entrada",
|
||||
"noModel": "Selecione um modelo",
|
||||
"noResults": "Nenhum modelo gerado"
|
||||
}
|
||||
},
|
||||
"tts": {
|
||||
"title": "Texto para Fala",
|
||||
"labels": {
|
||||
"model": "Modelo",
|
||||
"voice": "Voz",
|
||||
"voicePlaceholder": "Falante opcional ou ID de voz",
|
||||
"input": "Texto",
|
||||
"inputPlaceholder": "Digite o texto para sintetizar..."
|
||||
},
|
||||
"actions": {
|
||||
"generate": "Gerar",
|
||||
"generating": "Gerando..."
|
||||
},
|
||||
"empty": "O áudio gerado aparecerá aqui",
|
||||
"toasts": {
|
||||
"noText": "Digite o texto",
|
||||
"noModel": "Selecione um modelo",
|
||||
"generated": "Fala gerada",
|
||||
"generateFailed": "Falha na geração"
|
||||
},
|
||||
"voiceLibrary": {
|
||||
"cloningReady": "Clonagem de voz",
|
||||
"loading": "Carregando vozes salvas…",
|
||||
"modelDefault": "Usar padrão do modelo",
|
||||
"empty": "Nenhuma voz salva ainda.",
|
||||
"create": "Criar uma",
|
||||
"manage": "Gerenciar Biblioteca de Vozes",
|
||||
"namedVoiceHint": "Este modelo não aceita perfis de áudio de referência. Você ainda pode digitar um falante nomeado suportado pelo seu backend."
|
||||
}
|
||||
},
|
||||
"voiceLibrary": {
|
||||
"title": "Biblioteca de Vozes",
|
||||
"subtitle": "Crie e gerencie vozes de referência reutilizáveis para cada modelo instalado que suporta clonagem de voz.",
|
||||
"loading": "Carregando vozes salvas…",
|
||||
"listLabel": "Perfis de voz salvos",
|
||||
"status": {
|
||||
"ready": "Pronto"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Status da biblioteca de vozes",
|
||||
"profiles": "vozes salvas",
|
||||
"modelsReady_one": "{{count}} modelo compatível pronto",
|
||||
"modelsReady_other": "{{count}} modelos compatíveis prontos",
|
||||
"noModels": "Nenhum modelo compatível instalado"
|
||||
},
|
||||
"search": {
|
||||
"label": "Buscar perfis de voz",
|
||||
"placeholder": "Buscar vozes, idiomas ou transcrições"
|
||||
},
|
||||
"filters": {
|
||||
"language": "Filtrar por idioma",
|
||||
"allLanguages": "Todos os idiomas"
|
||||
},
|
||||
"empty": {
|
||||
"title": "Sua biblioteca de vozes está vazia",
|
||||
"body": "Grave ou envie um clipe de referência autorizado, adicione a transcrição exata e reuse-o nos modelos de TTS compatíveis."
|
||||
},
|
||||
"noResults": {
|
||||
"title": "Nenhuma voz corresponde a estes filtros",
|
||||
"body": "Tente uma busca diferente ou mostre todos os idiomas."
|
||||
},
|
||||
"detail": {
|
||||
"eyebrow": "Voz selecionada",
|
||||
"emptyTitle": "Selecione uma voz para inspecioná-la",
|
||||
"emptyBody": "Áudio de referência, transcrição, compatibilidade e detalhes de consentimento aparecerão aqui.",
|
||||
"referenceAudio": "Áudio de referência",
|
||||
"transcript": "Transcrição de referência"
|
||||
},
|
||||
"metadata": {
|
||||
"language": "Idioma",
|
||||
"languageUnknown": "Não especificado",
|
||||
"duration": "Duração",
|
||||
"sampleRate": "Taxa de amostragem",
|
||||
"created": "Criado em"
|
||||
},
|
||||
"consent": {
|
||||
"confirmed": "Consentimento confirmado",
|
||||
"confirmedAt": "Confirmado em {{date}}"
|
||||
},
|
||||
"modelSetup": {
|
||||
"title": "Instalar um modelo de clonagem de voz",
|
||||
"body": "Esta voz está pronta, mas precisa de um modelo que aceite áudio de referência. Escolha um verificado por este servidor.",
|
||||
"loading": "Encontrando modelos compatíveis em suas galerias…",
|
||||
"backendUnknown": "Backend selecionado durante a instalação",
|
||||
"install": "Instalar",
|
||||
"installing": "Instalando…",
|
||||
"loadFailed": "Recomendações compatíveis não puderam ser carregadas.",
|
||||
"noneAvailable": "Nenhum modelo compatível não instalado está disponível nas galerias configuradas.",
|
||||
"capabilityNote": "As recomendações vêm dos metadados de capacidade do modelo, não de uma lista de modelos do lado do navegador."
|
||||
},
|
||||
"api": {
|
||||
"title": "Uso da API e modelos compatíveis",
|
||||
"summary": "Use esta voz fora do navegador ou verifique o suporte do modelo",
|
||||
"body": "Envie a URI de voz estável do perfil com cada requisição de fala. O LocalAI resolve o áudio de referência privado e a transcrição no momento da geração; o YAML do modelo não é modificado.",
|
||||
"compatibleModels": "Modelos compatíveis instalados",
|
||||
"noInstalledModels": "Nenhum ainda. Instale um dos modelos verificados pelo servidor acima antes de enviar esta requisição.",
|
||||
"curlExample": "Exemplo com cURL",
|
||||
"copy": "Copiar requisição",
|
||||
"endpointNote": "Os mesmos campos de modelo, entrada e voz também funcionam com POST /tts."
|
||||
},
|
||||
"actions": {
|
||||
"create": "Criar voz",
|
||||
"createFirst": "Crie sua primeira voz",
|
||||
"retry": "Tentar novamente",
|
||||
"clearFilters": "Limpar filtros",
|
||||
"useInTTS": "Usar em Texto para Fala",
|
||||
"delete": "Excluir voz",
|
||||
"installModel": "Instalar um modelo compatível",
|
||||
"browseModels": "Explorar todos os modelos"
|
||||
},
|
||||
"deleteDialog": {
|
||||
"title": "Excluir esta voz?",
|
||||
"message": "“{{name}}” e seu áudio de referência serão removidos permanentemente. O YAML dos modelos existentes não é alterado.",
|
||||
"deleting": "Excluindo…"
|
||||
},
|
||||
"toasts": {
|
||||
"deleted": "Voz {{name}} excluída",
|
||||
"installStarted": "Instalando {{name}}. O progresso está disponível em Operações.",
|
||||
"installFailed": "Não foi possível iniciar a instalação: {{message}}",
|
||||
"apiCopied": "Requisição de API copiada",
|
||||
"copyFailed": "Não foi possível copiar a requisição de API"
|
||||
}
|
||||
},
|
||||
"voiceCreate": {
|
||||
"eyebrow": "Biblioteca de Vozes",
|
||||
"title": "Criar uma voz reutilizável",
|
||||
"subtitle": "Adicione um clipe de referência limpo e sua transcrição exata. O LocalAI cuida dos parâmetros de clonagem específicos do backend no momento da geração.",
|
||||
"sections": {
|
||||
"reference": {
|
||||
"title": "Áudio de referência",
|
||||
"body": "Grave no navegador ou envie um clipe existente. A fala deve ser limpa, natural e de um único falante."
|
||||
},
|
||||
"details": {
|
||||
"title": "Identidade e transcrição",
|
||||
"body": "Dê aos administradores um nome reconhecível e transcreva o clipe exatamente, incluindo hesitações e pontuação."
|
||||
},
|
||||
"consent": {
|
||||
"title": "Autorização",
|
||||
"body": "A clonagem de voz pode ser sensível. Confirme a permissão antes que esta referência seja salva."
|
||||
}
|
||||
},
|
||||
"audio": {
|
||||
"label": "Referência de voz",
|
||||
"normalizing": "Preparando um PCM WAV seguro…",
|
||||
"preview": "Referência normalizada",
|
||||
"durationError": "O áudio de referência deve ter entre 1 segundo e 2 minutos.",
|
||||
"decodeError": "Este navegador não conseguiu decodificar o arquivo de áudio selecionado.",
|
||||
"qualityReady": "Duração recomendada",
|
||||
"qualityHint": "6–30 segundos geralmente produzem um clone mais forte"
|
||||
},
|
||||
"fields": {
|
||||
"name": "Nome da voz",
|
||||
"namePlaceholder": "ex.: Narrador de documentário",
|
||||
"language": "Idioma (opcional)",
|
||||
"languagePlaceholder": "ex.: pt-BR",
|
||||
"description": "Descrição (opcional)",
|
||||
"descriptionPlaceholder": "Tom, origem ou uso pretendido",
|
||||
"transcript": "Transcrição exata",
|
||||
"transcriptPlaceholder": "Digite cada palavra falada no clipe de referência…",
|
||||
"transcriptHint": "Corresponda à gravação exatamente. Não reescreva a gramática nem remova pausas e hesitações."
|
||||
},
|
||||
"consent": {
|
||||
"title": "Confirmo que esta voz pode ser clonada",
|
||||
"body": "Tenho a permissão do falante ou outra base legal para armazenar e usar esta gravação para fala sintetizada."
|
||||
},
|
||||
"readiness": {
|
||||
"title": "Prontidão do perfil",
|
||||
"body": "Uma voz fica disponível em Texto para Fala quando todos os itens obrigatórios estão completos.",
|
||||
"audio": "Referência PCM-WAV válida",
|
||||
"quality": "Janela de qualidade de 6–30 segundos",
|
||||
"name": "Nome de voz reconhecível",
|
||||
"transcript": "Transcrição de referência exata",
|
||||
"consent": "Autorização confirmada"
|
||||
},
|
||||
"privacy": {
|
||||
"title": "Privada por padrão. ",
|
||||
"body": "O áudio de referência é armazenado no diretório de dados do LocalAI com permissões de arquivo restritas e nunca é exposto como um caminho de pasta de modelo."
|
||||
},
|
||||
"actions": {
|
||||
"back": "Voltar para a biblioteca",
|
||||
"cancel": "Cancelar",
|
||||
"save": "Salvar voz",
|
||||
"saving": "Salvando…"
|
||||
},
|
||||
"toasts": {
|
||||
"created": "{{name}} está pronta para uso"
|
||||
}
|
||||
},
|
||||
"sound": {
|
||||
"title": "Geração de Som",
|
||||
"labels": {
|
||||
"model": "Modelo",
|
||||
"prompt": "Prompt",
|
||||
"promptPlaceholder": "Descreva o som que deseja gerar...",
|
||||
"instrumental": "Instrumental",
|
||||
"bpm": "BPM",
|
||||
"duration": "Duração (segundos)",
|
||||
"language": "Idioma",
|
||||
"timesignature": "Fórmula de Compasso",
|
||||
"keyscale": "Tom/Escala",
|
||||
"vocalLanguage": "Idioma vocal",
|
||||
"vocalLanguagePlaceholder": "ex.: Português",
|
||||
"caption": "Legenda",
|
||||
"lyrics": "Letra",
|
||||
"lyricsPlaceholder": "Letra para geração vocal",
|
||||
"simple": "Simples",
|
||||
"advanced": "Avançado",
|
||||
"seed": "Semente",
|
||||
"seedPlaceholder": "Aleatória",
|
||||
"thinkMode": "Modo de pensamento"
|
||||
},
|
||||
"actions": {
|
||||
"generate": "Gerar",
|
||||
"generating": "Gerando..."
|
||||
},
|
||||
"empty": "O áudio gerado aparecerá aqui",
|
||||
"toasts": {
|
||||
"noPrompt": "Digite um prompt",
|
||||
"noModel": "Selecione um modelo",
|
||||
"generateFailed": "Falha na geração"
|
||||
}
|
||||
},
|
||||
"audioTransform": {
|
||||
"title": "Transformação de Áudio",
|
||||
"labels": {
|
||||
"model": "Modelo",
|
||||
"audio": "Áudio (obrigatório)",
|
||||
"reference": "Referência (opcional)",
|
||||
"referenceHelp": "Sinal de loopback / extremidade distante para cancelamento de eco, falante alvo para conversão de voz. Deixe vazio para transformação incondicional.",
|
||||
"advancedParameters": "Parâmetros avançados",
|
||||
"advancedParametersHelp": "específicos do backend (uma chave=valor por linha, ex.: noise_gate=true)",
|
||||
"advancedParametersPlaceholder": "# Opcional. Para LocalVQE:\n# noise_gate=true\n# noise_gate_threshold_dbfs=-50"
|
||||
},
|
||||
"input": {
|
||||
"upload": "Enviar",
|
||||
"uploadDescription": "Solte um arquivo aqui ou",
|
||||
"uploadBrowse": "navegue",
|
||||
"record": "Gravar",
|
||||
"startRecording": "Iniciar gravação",
|
||||
"stop": "Parar",
|
||||
"encoding": "Codificando...",
|
||||
"clear": "Limpar",
|
||||
"microphoneUnavailable": "A captura de microfone não está disponível neste navegador.",
|
||||
"echoNotice": "Os navegadores costumam aplicar seu próprio cancelamento de eco WebRTC e supressão de ruído por padrão. Isso geralmente resulta em desempenho pior do que executar o LocalVQE no áudio bruto.",
|
||||
"echoTest": "Teste de eco (grave o microfone enquanto reproduz a referência)",
|
||||
"stopEchoTest": "Parar teste de eco"
|
||||
},
|
||||
"result": {
|
||||
"audio": "Áudio",
|
||||
"reference": "Referência",
|
||||
"inputSpectrum": "Espectro de entrada",
|
||||
"outputSpectrum": "Espectro de saída",
|
||||
"outputSpectrumHint": "Transforme para comparar a atenuação",
|
||||
"output": "Saída"
|
||||
},
|
||||
"actions": {
|
||||
"transform": "Transformar",
|
||||
"processing": "Processando..."
|
||||
},
|
||||
"empty": "Escolha um arquivo de áudio (e referência opcional) para transformar"
|
||||
},
|
||||
"talk": {
|
||||
"title": "Falar",
|
||||
"subtitle": "Conversa de voz em tempo real",
|
||||
"actions": {
|
||||
"start": "Iniciar sessão",
|
||||
"stop": "Encerrar sessão",
|
||||
"connecting": "Conectando...",
|
||||
"muted": "Mudo",
|
||||
"mute": "Silenciar",
|
||||
"unmute": "Reativar som"
|
||||
},
|
||||
"labels": {
|
||||
"model": "Modelo",
|
||||
"voice": "Voz",
|
||||
"voicePlaceholder": "alloy",
|
||||
"language": "Idioma",
|
||||
"languagePlaceholder": "pt",
|
||||
"instructions": "Instruções",
|
||||
"instructionsPlaceholder": "Defina a persona do assistente..."
|
||||
},
|
||||
"status": {
|
||||
"idle": "Ocioso",
|
||||
"connecting": "Conectando...",
|
||||
"listening": "Ouvindo...",
|
||||
"speaking": "Falando...",
|
||||
"ended": "Sessão encerrada"
|
||||
},
|
||||
"toasts": {
|
||||
"noModel": "Selecione um modelo primeiro",
|
||||
"connectFailed": "Falha ao conectar: {{message}}"
|
||||
}
|
||||
},
|
||||
"history": {
|
||||
"title": "Histórico",
|
||||
"empty": "Nenhum histórico ainda",
|
||||
"deleteEntry": "Excluir entrada",
|
||||
"clear": "Limpar histórico",
|
||||
"clearTitle": "Limpar todo o histórico",
|
||||
"clearMessage": "Remover todas as entradas do histórico? Esta ação não pode ser desfeita.",
|
||||
"clearConfirm": "Limpar",
|
||||
"cleared": "Histórico limpo"
|
||||
},
|
||||
"request": {
|
||||
"heading": "Requisição",
|
||||
"copyCurl": "Copiar como curl",
|
||||
"copied": "Copiado"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"title": {
|
||||
"add": "Adicionar Modelo",
|
||||
"edit": "Editor de Modelo"
|
||||
},
|
||||
"subtitle": {
|
||||
"chooseModelType": "Escolha um tipo de modelo para começar",
|
||||
"newModel": "Novo modelo"
|
||||
},
|
||||
"actions": {
|
||||
"backTo": "Voltar para {{page}}",
|
||||
"system": "Sistema",
|
||||
"templates": "Modelos",
|
||||
"createModel": "Criar Modelo",
|
||||
"saveChanges": "Salvar Alterações",
|
||||
"saving": "Salvando...",
|
||||
"saved": "Salvo",
|
||||
"switchWarning": "Salve ou descarte as alterações antes de alternar as abas.",
|
||||
"discardAndSwitch": "Descartar e Alternar"
|
||||
},
|
||||
"tabs": {
|
||||
"interactive": "Interativo",
|
||||
"yaml": "YAML",
|
||||
"yamlDescription": "Edite o YAML diretamente. O nome do modelo deve ser definido no YAML para que a criação funcione."
|
||||
},
|
||||
"forms": {
|
||||
"modelName": {
|
||||
"label": "Nome do Modelo",
|
||||
"placeholder": "meu-nome-de-modelo",
|
||||
"hint": "Use apenas letras, números, hifens, sublinhados e pontos."
|
||||
},
|
||||
"empty": {
|
||||
"nav": "Use a barra de busca acima para adicionar campos",
|
||||
"title": "Nenhum campo configurado",
|
||||
"text": "Use a barra de busca acima para encontrar e adicionar campos de configuração."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"title": "Descobrir",
|
||||
"subtitle": "Explore e instale modelos de IA da galeria",
|
||||
"models": "Modelos",
|
||||
"recommended": {
|
||||
"title": "Recomendados para o seu hardware",
|
||||
"cpuNote": "Nenhuma GPU detectada - modelos pequenos que permanecem responsivos na CPU.",
|
||||
"gpuNote": "Dimensionados para caber na sua VRAM disponível com espaço para o contexto.",
|
||||
"install": "Instalar",
|
||||
"installing": "Instalando",
|
||||
"installStarted": "Instalando {{model}}…",
|
||||
"installFailed": "Falha na instalação: {{message}}",
|
||||
"dismiss": "Dispensar recomendações",
|
||||
"summary": "{{n}} modelos sugeridos",
|
||||
"bestFit": "Melhor ajuste",
|
||||
"alternative": "Também serve"
|
||||
},
|
||||
"stats": {
|
||||
"available": "Disponíveis",
|
||||
"installed": "Instalados"
|
||||
},
|
||||
"actions": {
|
||||
"addModel": "Adicionar Modelo",
|
||||
"importModel": "Importar Modelo",
|
||||
"install": "Instalar",
|
||||
"reinstall": "Reinstalar",
|
||||
"delete": "Excluir"
|
||||
},
|
||||
"filters": {
|
||||
"all": "Todos",
|
||||
"llm": "Chat",
|
||||
"image": "Imagem",
|
||||
"video": "Vídeo",
|
||||
"threed": "3D",
|
||||
"multimodal": "Multimodal",
|
||||
"vision": "Visão",
|
||||
"tts": "TTS",
|
||||
"stt": "STT",
|
||||
"diarization": "Diarização",
|
||||
"soundClassification": "Classificação de Som",
|
||||
"soundGen": "Som",
|
||||
"audioTransform": "FX de Áudio",
|
||||
"realtimeAudio": "Áudio em Tempo Real",
|
||||
"embedding": "Embeddings",
|
||||
"rerank": "Rerank",
|
||||
"detection": "Detecção",
|
||||
"vad": "VAD",
|
||||
"ner": "NER",
|
||||
"fitsGpu": "Cabe na GPU",
|
||||
"collapseVariants": "Uma linha por modelo",
|
||||
"allBackends": "Todos os Backends",
|
||||
"searchBackends": "Buscar backends...",
|
||||
"contextSize": "Contexto:",
|
||||
"useCaseLabel": "Filtrar por caso de uso",
|
||||
"unavailableForBackend": "Não disponível para o backend selecionado",
|
||||
"someSelected": "{{count}} selecionados",
|
||||
"refineLabel": "Refinar"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Buscar modelos...",
|
||||
"clearFilters": "Limpar filtros"
|
||||
},
|
||||
"table": {
|
||||
"modelName": "Nome do Modelo",
|
||||
"description": "Descrição",
|
||||
"backend": "Backend",
|
||||
"sizeVram": "Tamanho / VRAM",
|
||||
"status": "Status",
|
||||
"actions": "Ações",
|
||||
"size": "Tamanho: {{size}}",
|
||||
"vram": "VRAM: {{vram}}",
|
||||
"fits": "Cabe",
|
||||
"mayNotFit": "Pode não caber",
|
||||
"trustRemoteCode": "Confiar em Código Remoto",
|
||||
"installing": "Instalando",
|
||||
"installingPct": "Instalando · {{percent}}%",
|
||||
"installed": "Instalado",
|
||||
"notInstalled": "Não Instalado"
|
||||
},
|
||||
"detail": {
|
||||
"description": "Descrição",
|
||||
"gallery": "Galeria",
|
||||
"backend": "Backend",
|
||||
"size": "Tamanho",
|
||||
"vram": "VRAM",
|
||||
"license": "Licença",
|
||||
"tags": "Tags",
|
||||
"links": "Links",
|
||||
"warning": "Aviso",
|
||||
"files": "Arquivos",
|
||||
"fitsGpu": "Cabe na GPU",
|
||||
"mayNotFitGpu": "Pode não caber na GPU",
|
||||
"requiresTrustRemoteCode": "Requer Confiança em Código Remoto",
|
||||
"fileCount_one": "{{count}} arquivo",
|
||||
"fileCount_other": "{{count}} arquivos",
|
||||
"filename": "Nome do arquivo",
|
||||
"uri": "URI",
|
||||
"sha256": "SHA256",
|
||||
"backToAll": "Todos os modelos",
|
||||
"vramAt": "VRAM em {{context}}",
|
||||
"headroom": "Margem de sobra"
|
||||
},
|
||||
"empty": {
|
||||
"title": "Nenhum modelo encontrado",
|
||||
"withFilters": "Nenhum modelo corresponde à sua busca ou filtros atuais.",
|
||||
"collapsedVariantsHint": "Construções alternativas que outra entrada já oferece estão ocultas. Desative \"Uma linha por modelo\" para incluí-las.",
|
||||
"noFilters": "A galeria de modelos está vazia."
|
||||
},
|
||||
"deleteDialog": {
|
||||
"title": "Excluir Modelo",
|
||||
"message": "Excluir o modelo {{model}}?",
|
||||
"confirm": "Excluir {{model}}",
|
||||
"deletingToast": "Excluindo {{model}}..."
|
||||
},
|
||||
"errors": {
|
||||
"loadFailed": "Falha ao carregar modelos: {{message}}",
|
||||
"installFailed": "Falha na instalação: {{message}}",
|
||||
"deleteFailed": "Falha ao excluir: {{message}}"
|
||||
},
|
||||
"selector": {
|
||||
"loading": "Carregando modelos...",
|
||||
"selectModel": "Selecionar modelo...",
|
||||
"searchPlaceholder": "Buscar modelos...",
|
||||
"noModels": "Nenhum modelo disponível"
|
||||
},
|
||||
"variants": {
|
||||
"title": "Variantes",
|
||||
"chooseVariant": "Escolha uma variante",
|
||||
"auto": "Automática",
|
||||
"autoSelected": "Selecionada automaticamente",
|
||||
"base": "Construção base",
|
||||
"doesNotFit": "Não cabe",
|
||||
"unknownSize": "Tamanho desconhecido",
|
||||
"unknownBackend": "Backend desconhecido",
|
||||
"loading": "Carregando variantes...",
|
||||
"installVariant": "Instalar {{variant}}",
|
||||
"quantizationTitle": "Formato dos pesos",
|
||||
"unknownQuantization": "Formato desconhecido",
|
||||
"showDetails": "Mostrar detalhes completos de {{variant}}",
|
||||
"hideDetails": "Ocultar detalhes completos de {{variant}}",
|
||||
"detailsLoading": "Carregando detalhes...",
|
||||
"detailsUnavailable": "Os detalhes de {{variant}} não puderam ser carregados.",
|
||||
"features": {
|
||||
"dflash": "Mais rápido: DFlash",
|
||||
"mtp": "Mais rápido: MTP"
|
||||
}
|
||||
},
|
||||
"rail": {
|
||||
"sortLabel": "Ordenar modelos",
|
||||
"downloadingPct": "baixando {{percent}}%",
|
||||
"tooLarge": "{{size}} · muito grande",
|
||||
"fitsSize": "{{size}} · cabe",
|
||||
"previousPage": "Página anterior",
|
||||
"nextPage": "Próxima página",
|
||||
"showingCount": "{{shown}} de {{total}}",
|
||||
"sizing": "medindo…"
|
||||
},
|
||||
"groups": {
|
||||
"text": "Texto e raciocínio",
|
||||
"vision": "Visão",
|
||||
"audio": "Fala e áudio",
|
||||
"visual": "Imagem e vídeo",
|
||||
"other": "Todo o resto"
|
||||
},
|
||||
"chart": {
|
||||
"title": "VRAM por tamanho de contexto",
|
||||
"available": "{{vram}} disponíveis",
|
||||
"barTitle": "o contexto {{context}} precisa de {{vram}}",
|
||||
"fitsEverywhere": "Executa em qualquer tamanho de contexto neste host.",
|
||||
"fitsNowhere": "Não caberá neste host em nenhum tamanho de contexto.",
|
||||
"fitsUpTo": "Cabe em contextos de até {{context}}."
|
||||
},
|
||||
"shelves": {
|
||||
"hostLabel": "Seu host",
|
||||
"heroWithGpu": "{{vram}} de memória GPU, {{count}} modelos na galeria.",
|
||||
"heroNoGpu": "{{count}} modelos na galeria.",
|
||||
"heroHint": "Escolha qualquer item à esquerda para ver seu tamanho, variantes e se ele executará aqui.",
|
||||
"browsing": "Explorando",
|
||||
"pickHint": "Selecione um modelo para ver seus detalhes.",
|
||||
"heroWithRam": "{{ram}} de memória do sistema, {{count}} modelos na galeria.",
|
||||
"byUseCase": "Ou comece por um caso de uso",
|
||||
"pickText": "Chat, raciocínio, embeddings",
|
||||
"pickVision": "Leia imagens e documentos",
|
||||
"pickAudio": "Fala de entrada e saída",
|
||||
"pickVisual": "Gere imagens e vídeos"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"appName": "LocalAI",
|
||||
"openMenu": "Abrir menu",
|
||||
"closeMenu": "Fechar menu",
|
||||
"primaryNavigation": "Navegação principal",
|
||||
"switchToLightMode": "Alternar para o modo claro",
|
||||
"switchToDarkMode": "Alternar para o modo escuro",
|
||||
"expandSidebar": "Expandir barra lateral",
|
||||
"collapseSidebar": "Recolher barra lateral",
|
||||
"changeLanguage": "Alterar idioma",
|
||||
"logout": "Sair",
|
||||
"accountSettings": "Configurações da conta",
|
||||
"account": "Conta",
|
||||
"accountFor": "Conta: {{name}}",
|
||||
"sections": {
|
||||
"create": "Criar",
|
||||
"recognition": "Reconhecimento",
|
||||
"build": "Construir",
|
||||
"operate": "Operar"
|
||||
},
|
||||
"operate": {
|
||||
"inference": "Inferência",
|
||||
"cluster": "Cluster",
|
||||
"observability": "Observabilidade",
|
||||
"access": "Acesso",
|
||||
"system": "Sistema",
|
||||
"activity": "Atividade",
|
||||
"runtime": "Runtime",
|
||||
"administration": "Administração"
|
||||
},
|
||||
"items": {
|
||||
"home": "Início",
|
||||
"discover": "Descobrir",
|
||||
"chat": "Chat",
|
||||
"studio": "Studio",
|
||||
"talk": "Falar",
|
||||
"fineTune": "Ajuste Fino",
|
||||
"quantize": "Quantizar",
|
||||
"faces": "Rostos",
|
||||
"voices": "Vozes",
|
||||
"jobs": "Trabalhos",
|
||||
"operate": "Admin",
|
||||
"host": "Host",
|
||||
"audioTransform": "Transformação de Áudio",
|
||||
"faceRecognition": "Reconhecimento Facial",
|
||||
"voiceRecognition": "Reconhecimento de Voz",
|
||||
"agents": "Agentes",
|
||||
"skills": "Habilidades",
|
||||
"memory": "Memória",
|
||||
"mcpJobs": "Trabalhos de CI MCP",
|
||||
"usage": "Uso",
|
||||
"users": "Usuários",
|
||||
"middleware": "Middleware",
|
||||
"backends": "Backends",
|
||||
"voiceLibrary": "Biblioteca de Vozes",
|
||||
"traces": "Rastreamentos",
|
||||
"nodes": "Nós",
|
||||
"scheduling": "Agendamento",
|
||||
"swarm": "Swarm",
|
||||
"system": "Sistema",
|
||||
"settings": "Configurações",
|
||||
"api": "API",
|
||||
"activity": "Atividade",
|
||||
"overview": "Visão geral"
|
||||
},
|
||||
"footer": {
|
||||
"github": "GitHub",
|
||||
"documentation": "Documentação",
|
||||
"author": "Autor",
|
||||
"copyright": "© 2023-{{year}} {{author}}"
|
||||
},
|
||||
"console": {
|
||||
"automation": "Automação",
|
||||
"training": "Treinamento",
|
||||
"expandNavigation": "Expandir navegação de {{section}}",
|
||||
"collapseNavigation": "Recolher navegação de {{section}}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"title": "Habilidades",
|
||||
"subtitle": "Gerenciar habilidades de agentes (instruções e recursos reutilizáveis)",
|
||||
"unavailable": {
|
||||
"subtitle": "O serviço de habilidades não está disponível ou o índice está sendo reconstruído. Tente novamente em um momento.",
|
||||
"retry": "Tentar novamente"
|
||||
},
|
||||
"actions": {
|
||||
"newSkill": "Nova habilidade",
|
||||
"createSkill": "Criar habilidade",
|
||||
"import": "Importar",
|
||||
"importing": "Importando...",
|
||||
"gitRepos": "Repositórios Git",
|
||||
"edit": "Editar",
|
||||
"delete": "Excluir",
|
||||
"export": "Exportar",
|
||||
"sync": "Sincronizar",
|
||||
"addRepo": "Adicionar repositório",
|
||||
"adding": "Adicionando...",
|
||||
"remove": "Remover",
|
||||
"enable": "Habilitar",
|
||||
"disable": "Desabilitar"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Buscar habilidades..."
|
||||
},
|
||||
"git": {
|
||||
"title": "Repositórios Git",
|
||||
"description": "Adicione repositórios Git para obter habilidades. As habilidades aparecerão na lista após a sincronização.",
|
||||
"urlPlaceholder": "https://github.com/usuário/repo ou git@github.com:usuário/repo.git",
|
||||
"noRepos": "Nenhum repositório Git configurado. Adicione um acima.",
|
||||
"disabled": "Desabilitado",
|
||||
"removeRepo": "Remover repositório"
|
||||
},
|
||||
"card": {
|
||||
"noDescription": "Sem descrição",
|
||||
"readOnly": "Somente leitura",
|
||||
"editTitle": "Editar habilidade",
|
||||
"deleteTitle": "Excluir habilidade",
|
||||
"exportTitle": "Exportar como .tar.gz"
|
||||
},
|
||||
"empty": {
|
||||
"title": "Nenhuma habilidade encontrada",
|
||||
"text": "Crie uma habilidade ou importe uma para começar.",
|
||||
"noPersonal": "Você ainda não tem habilidades."
|
||||
},
|
||||
"sections": {
|
||||
"yourSkills": "Suas Habilidades",
|
||||
"otherUsersSkills": "Habilidades de Outros Usuários"
|
||||
},
|
||||
"deleteDialog": {
|
||||
"title": "Excluir Habilidade",
|
||||
"message": "Excluir a habilidade \"{{name}}\"? Esta ação não pode ser desfeita.",
|
||||
"confirm": "Excluir"
|
||||
},
|
||||
"removeRepoDialog": {
|
||||
"title": "Remover Repositório Git",
|
||||
"message": "Remover este repositório Git? As habilidades dele não estarão mais disponíveis.",
|
||||
"confirm": "Remover"
|
||||
},
|
||||
"toasts": {
|
||||
"loadFailed": "Falha ao carregar habilidades",
|
||||
"deleted": "Habilidade \"{{name}}\" excluída",
|
||||
"deleteFailed": "Falha ao excluir a habilidade",
|
||||
"exported": "Habilidade \"{{name}}\" exportada",
|
||||
"exportFailed": "Falha na exportação",
|
||||
"imported": "Habilidade importada de \"{{file}}\"",
|
||||
"importFailed": "Falha na importação",
|
||||
"loadReposFailed": "Falha ao carregar repositórios Git",
|
||||
"repoAdded": "Repositório Git adicionado e sincronizando",
|
||||
"addRepoFailed": "Falha ao adicionar o repositório",
|
||||
"synced": "Repositório sincronizado",
|
||||
"syncFailed": "Falha na sincronização",
|
||||
"toggled": "Repositório alternado",
|
||||
"toggleFailed": "Falha ao alternar",
|
||||
"removed": "Repositório removido",
|
||||
"removeFailed": "Falha na remoção"
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -12,6 +12,7 @@ export const SUPPORTED_LANGUAGES = [
|
||||
{ code: 'zh-CN', name: '简体中文', flag: 'ZH' },
|
||||
{ code: 'id', name: 'Bahasa Indonesia', flag: 'ID' },
|
||||
{ code: 'ko', name: '한국어', flag: 'KO' },
|
||||
{ code: 'pt-BR', name: 'Português (Brasil)', flag: 'BR' },
|
||||
]
|
||||
|
||||
export const NAMESPACES = [
|
||||
|
||||
Reference in new issue
Block a user