libre-webui 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -21
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +2 -0
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +2 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +97 -10
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/libreClaw.d.ts.map +1 -1
- package/backend/dist/routes/libreClaw.js +41 -0
- package/backend/dist/routes/libreClaw.js.map +1 -1
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +52 -2
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/routes/search.d.ts +3 -0
- package/backend/dist/routes/search.d.ts.map +1 -0
- package/backend/dist/routes/search.js +143 -0
- package/backend/dist/routes/search.js.map +1 -0
- package/backend/dist/services/agentAccessService.d.ts +6 -0
- package/backend/dist/services/agentAccessService.d.ts.map +1 -0
- package/backend/dist/services/agentAccessService.js +58 -0
- package/backend/dist/services/agentAccessService.js.map +1 -0
- package/backend/dist/services/agentCliService.d.ts.map +1 -1
- package/backend/dist/services/agentCliService.js +2 -1
- package/backend/dist/services/agentCliService.js.map +1 -1
- package/backend/dist/services/authService.d.ts +1 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +2 -0
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/documentService.d.ts +2 -0
- package/backend/dist/services/documentService.d.ts.map +1 -1
- package/backend/dist/services/documentService.js +51 -23
- package/backend/dist/services/documentService.js.map +1 -1
- package/backend/dist/services/modelAccessService.d.ts +12 -0
- package/backend/dist/services/modelAccessService.d.ts.map +1 -0
- package/backend/dist/services/modelAccessService.js +66 -0
- package/backend/dist/services/modelAccessService.js.map +1 -0
- package/backend/dist/services/webSearchService.d.ts +64 -0
- package/backend/dist/services/webSearchService.d.ts.map +1 -0
- package/backend/dist/services/webSearchService.js +230 -0
- package/backend/dist/services/webSearchService.js.map +1 -0
- package/backend/dist/services/workAgentGuidance.d.ts +1 -0
- package/backend/dist/services/workAgentGuidance.d.ts.map +1 -1
- package/backend/dist/services/workAgentGuidance.js +3 -0
- package/backend/dist/services/workAgentGuidance.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts +6 -0
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +199 -11
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workPolicyService.d.ts.map +1 -1
- package/backend/dist/services/workPolicyService.js +61 -11
- package/backend/dist/services/workPolicyService.js.map +1 -1
- package/backend/dist/storage.d.ts.map +1 -1
- package/backend/dist/storage.js +3 -3
- package/backend/dist/storage.js.map +1 -1
- package/backend/dist/storageMappers.d.ts +1 -0
- package/backend/dist/storageMappers.d.ts.map +1 -1
- package/backend/dist/storageMappers.js +1 -0
- package/backend/dist/storageMappers.js.map +1 -1
- package/backend/dist/types/index.d.ts +1 -0
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/utils/chatDocumentContext.d.ts +7 -0
- package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
- package/backend/dist/utils/chatDocumentContext.js +38 -30
- package/backend/dist/utils/chatDocumentContext.js.map +1 -1
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +79 -15
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/package.json +1 -1
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/index-0wfi-EpC.js +40 -0
- package/frontend/dist/assets/index-D7m1zWWg.css +1 -0
- package/frontend/dist/index.html +12 -12
- package/frontend/dist/js/ArtifactContainer-DPRPcuES.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-BOlB1lS-.js → ArtifactDemoPage-DzwPlz9J.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-DqU5GDrI.js → ArtifactSandboxFrame-CKi4mSTH.js} +2 -2
- package/frontend/dist/js/{ArtifactSlideOutPanel-B0I-hCux.js → ArtifactSlideOutPanel-BskRCzP0.js} +1 -1
- package/frontend/dist/js/ChatPage-DRutCyJ5.js +16 -0
- package/frontend/dist/js/FirstTimeSetup-DU50YWrE.js +1 -0
- package/frontend/dist/js/GalleryPage-DxXIUesf.js +1 -0
- package/frontend/dist/js/HomePage-Bew9kMKx.js +1 -0
- package/frontend/dist/js/{LibreClawPage-DUd3tjQE.js → LibreClawPage-Cy9y3YlF.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-D9j9RECi.js → ModelManagerModals-D-NxeVvV.js} +1 -1
- package/frontend/dist/js/ModelSelector-DXDcDmDR.js +1 -0
- package/frontend/dist/js/ModelsPage-Bj2reiF9.js +2 -0
- package/frontend/dist/js/{NotesPage-CTutDN50.js → NotesPage-CJKEbj3J.js} +1 -1
- package/frontend/dist/js/{PersonasPage-C6iTMI3N.js → PersonasPage-bgWF9S7b.js} +2 -2
- package/frontend/dist/js/{PluginUsagePage-BQQ0-_PP.js → PluginUsagePage-CRkD1Tz6.js} +1 -1
- package/frontend/dist/js/{RichMessageContent-DPqeqxkQ.js → RichMessageContent-DeNjCiyN.js} +1 -1
- package/frontend/dist/js/SettingsModal-BUUlkZcv.js +1 -0
- package/frontend/dist/js/SystemPage-DcO51urv.js +1 -0
- package/frontend/dist/js/UserManagementPage-DLiYw6xG.js +1 -0
- package/frontend/dist/js/WorkPage-MMQ0Y0U5.js +5 -0
- package/frontend/dist/js/{api-iCpOEijB.js → api-CZURQtuc.js} +4 -4
- package/frontend/dist/js/{appStore-DTd6dWg2.js → appStore-sGaWMSDr.js} +2 -2
- package/frontend/dist/js/ar-Bm27TCMQ.js +2 -0
- package/frontend/dist/js/{authStore-CuK4HUVh.js → authStore-uaj0hswV.js} +3 -3
- package/frontend/dist/js/bn-C7CHC42H.js +2 -0
- package/frontend/dist/js/chatStore-tRx0Ulq0.js +2 -0
- package/frontend/dist/js/{config--Xp9rZtJ.js → config-D-jxRG52.js} +1 -1
- package/frontend/dist/js/cs-zGEtwQn_.js +2 -0
- package/frontend/dist/js/da-B-0sHNTu.js +2 -0
- package/frontend/dist/js/de-UZNE6t2h.js +2 -0
- package/frontend/dist/js/es-CPLnFYIw.js +2 -0
- package/frontend/dist/js/{estree-BAQkciRX.js → estree-CRuerC6a.js} +1 -1
- package/frontend/dist/js/fr-Br1o0WVz.js +2 -0
- package/frontend/dist/js/hi-BcEvNEpb.js +2 -0
- package/frontend/dist/js/{html-DxA-Bcvi.js → html-BYKlz3Jp.js} +1 -1
- package/frontend/dist/js/i18n-DJTg6xWw.js +2 -0
- package/frontend/dist/js/id-C30L2DoT.js +2 -0
- package/frontend/dist/js/is-BAEhfi5Z.js +2 -0
- package/frontend/dist/js/it-HWnfQXZY.js +2 -0
- package/frontend/dist/js/ja-Dvux1mon.js +2 -0
- package/frontend/dist/js/ko-agDQ__KP.js +2 -0
- package/frontend/dist/js/{markdown-IsZpJ5ke.js → markdown-DFy8bILU.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-CsV3zwyK.js → messageCodeStyles-_gGirbe-.js} +2 -2
- package/frontend/dist/js/ms-aNRa2QX7.js +2 -0
- package/frontend/dist/js/nl-BtkiDUn-.js +2 -0
- package/frontend/dist/js/pl-SEO0lBnX.js +2 -0
- package/frontend/dist/js/pt-BYtjmvq1.js +2 -0
- package/frontend/dist/js/ru-B-ynj2hU.js +2 -0
- package/frontend/dist/js/{standalone-CK3b5Ktq.js → standalone-jOqWoOmp.js} +1 -1
- package/frontend/dist/js/sv-CliKR15U.js +2 -0
- package/frontend/dist/js/th-DJQyDr9J.js +2 -0
- package/frontend/dist/js/tr-BBGKZ1la.js +2 -0
- package/frontend/dist/js/{typescript-BMYmVohw.js → typescript-TwGXpgeF.js} +1 -1
- package/frontend/dist/js/{ui-C2kNYwfG.js → ui-DSFUl2vT.js} +2 -2
- package/frontend/dist/js/{ui-vendor-D_pYT79f.js → ui-vendor-xUzKqAXI.js} +1 -1
- package/frontend/dist/js/uk-C1GcFWxE.js +2 -0
- package/frontend/dist/js/vi-CIxgICOQ.js +2 -0
- package/frontend/dist/js/{workApi-C33ZrPws.js → workApi-kClHFVkJ.js} +2 -2
- package/frontend/dist/js/zh-Cm7vsQ9s.js +2 -0
- package/package.json +2 -2
- package/frontend/dist/assets/index-Z4-oLWDC.js +0 -2
- package/frontend/dist/assets/index-tBUyDbHh.css +0 -1
- package/frontend/dist/js/ArtifactContainer-DQRF4rh-.js +0 -1
- package/frontend/dist/js/ChatPage-DyV0_oCt.js +0 -16
- package/frontend/dist/js/FirstTimeSetup-ButTmjp0.js +0 -1
- package/frontend/dist/js/GalleryPage-CaT63b-s.js +0 -1
- package/frontend/dist/js/HomePage-BWyg3nHu.js +0 -1
- package/frontend/dist/js/ModelSelector-COFcJnMJ.js +0 -1
- package/frontend/dist/js/ModelsPage-BRbTEXNL.js +0 -2
- package/frontend/dist/js/SettingsModal-C_1k75Kv.js +0 -1
- package/frontend/dist/js/SystemPage-CUecyRPh.js +0 -1
- package/frontend/dist/js/UserManagementPage-CZ4KMOY9.js +0 -1
- package/frontend/dist/js/WorkPage-BqDcfXV6.js +0 -5
- package/frontend/dist/js/ar-C8YV99Y-.js +0 -2
- package/frontend/dist/js/bn-C9dcls7_.js +0 -2
- package/frontend/dist/js/chatStore-VNT0eHRB.js +0 -2
- package/frontend/dist/js/cs-DtL8VeeX.js +0 -2
- package/frontend/dist/js/da-U3aNn1aF.js +0 -2
- package/frontend/dist/js/de-DzuyeVpX.js +0 -2
- package/frontend/dist/js/es-OiU8plii.js +0 -2
- package/frontend/dist/js/fr-DDa3R8bs.js +0 -2
- package/frontend/dist/js/hi-D8Y0hl34.js +0 -2
- package/frontend/dist/js/i18n-BqWNFeNo.js +0 -2
- package/frontend/dist/js/id-BwcWtkBv.js +0 -2
- package/frontend/dist/js/is-DzfQHQih.js +0 -2
- package/frontend/dist/js/it-C5VU3_Je.js +0 -2
- package/frontend/dist/js/ja-DLhOhxvf.js +0 -2
- package/frontend/dist/js/ko-CCKiyQD6.js +0 -2
- package/frontend/dist/js/ms-CXXkPvWw.js +0 -2
- package/frontend/dist/js/nl-CA_e0Epl.js +0 -2
- package/frontend/dist/js/pl-BG32wdpx.js +0 -2
- package/frontend/dist/js/pt-BzRGWQXO.js +0 -2
- package/frontend/dist/js/ru-DBjn_Q-Q.js +0 -2
- package/frontend/dist/js/sv-Hz_iRGdF.js +0 -2
- package/frontend/dist/js/th-MsyXlGH9.js +0 -2
- package/frontend/dist/js/tr-Cofmy_ef.js +0 -2
- package/frontend/dist/js/uk-B2o05LCR.js +0 -2
- package/frontend/dist/js/vi-CZh8uJgV.js +0 -2
- package/frontend/dist/js/zh-DhKXi8ZA.js +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={common:{loading:`Carregando...`,save:`Salvar`,saving:`Salvando...`,cancel:`Cancelar`,delete:`Excluir`,edit:`Editar`,close:`Fechar`,back:`Voltar`,next:`Próximo`,confirm:`Confirmar`,error:`Erro`,success:`Sucesso`,warning:`Aviso`,or:`ou`,optional:`opcional`,enabled:`Ativado`,disabled:`Desativado`,on:`Ligado`,off:`Desligado`,yes:`Sim`,no:`Não`,search:`Pesquisar`,noResults:`Nenhum resultado encontrado`,retry:`Tentar novamente`,refresh:`Atualizar`,download:`Baixar`,upload:`Enviar`,export:`Exportar`,import:`Importar`,reset:`Redefinir`,apply:`Aplicar`,clear:`Limpar`,all:`Todos`,none:`Nenhum`,default:`Padrão`,custom:`Personalizado`,remove:`Remover`},brand:{name:`Libre WebUI`,shortName:`Libre`},auth:{login:{title:`Bem-vindo de volta`,subtitle:`Entre na sua conta para continuar`,username:`Usuário`,usernamePlaceholder:`Digite seu nome de usuário`,password:`Senha`,passwordPlaceholder:`Digite sua senha`,signIn:`Entrar`,signingIn:`Entrando...`,noAccount:`Não tem uma conta?`,signUpHere:`Cadastre-se aqui`,loginSuccess:`Login realizado com sucesso!`,loginFailed:`Falha no login`,checkCredentials:`Falha no login. Por favor, verifique suas credenciais.`,enterBoth:`Por favor, digite o usuário e a senha`,githubSuccess:`Login com GitHub realizado com sucesso!`,githubFailed:`Falha na autenticação do GitHub`,githubVerifyFailed:`Falha ao verificar autenticação do GitHub`,approvalPending:`A sua conta está a aguardar aprovação do administrador.`},signup:{title:`Criar conta`,subtitle:`Cadastre-se para criar sua nova conta`,username:`Usuário`,usernamePlaceholder:`Escolha um nome de usuário`,email:`E-mail`,emailPlaceholder:`seu@email.com`,password:`Senha`,passwordPlaceholder:`Escolha uma senha`,confirmPassword:`Confirmar senha`,confirmPasswordPlaceholder:`Confirme sua senha`,createAccount:`Criar conta`,creatingAccount:`Criando conta...`,hasAccount:`Já tem uma conta?`,signInHere:`Entre aqui`,signupSuccess:`Conta criada com sucesso!`,signupFailed:`Falha no cadastro`,tryAgain:`Falha no cadastro. Por favor, tente novamente.`,usernameRequired:`Usuário e senha são obrigatórios`,passwordMismatch:`As senhas não coincidem`,passwordTooShort:`A senha deve ter pelo menos 6 caracteres`,approvalPending:`Registo recebido. Um administrador tem de aprovar a sua conta.`,awaitingApproval:`A aguardar aprovação`,awaitingApprovalDescription:`A sua conta foi criada, mas um administrador tem de a ativar antes de poder iniciar sessão.`,backToSignIn:`Voltar ao início de sessão`},logout:{button:`Sair`,success:`Desconectado com sucesso`},oauth:{continueWith:`Continuar com {{provider}}`,connectingTo:`Conectando ao {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`Verificando autenticação...`,welcome:`Bem-vindo`,noEmail:`Sem e-mail fornecido`,role:`Função`,id:`ID`,userId:`ID do usuário`,signInDescription:`Entre com sua conta GitHub para continuar`,signInWithGitHub:`Entrar com GitHub`,jwtActive:`Autenticação JWT ativa`,jwtDescription:`Autenticação baseada em JWT com GitHub OAuth`,github:`GitHub`,provider:`Provedor`,tagline:`A sua stack de IA deve responder a si.`,selfHosted:`Auto-hospedado · Apache 2.0`,highlights:{local:{title:`Local primeiro`,body:`As suas conversas e ficheiros permanecem na máquina onde executa isto.`},providers:{title:`Qualquer fornecedor`,body:`Modelos locais através do Ollama, além dos fornecedores remotos que escolher adicionar.`},work:{title:`Trabalho Isolado`,body:`Dê a um modelo um espaço de trabalho isolado com ficheiros, um terminal e uma pré-visualização.`}}},setup:{welcome:{title:`Bem-vindo ao Libre WebUI`,subtitle:`Vamos começar`,description:`Configure sua instância do Libre WebUI em poucos passos`,createAdmin:`Criar conta de administrador`,features:{secure:{title:`Seguro e Privado`,description:`Suas conversas ficam no seu dispositivo`},fast:{title:`Rápido e Responsivo`,description:`Otimizado para velocidade e desempenho`},openSource:{title:`Código Aberto`,description:`Software livre e de código aberto`}}},admin:{title:`Criar conta de administrador`,subtitle:`Configuração do Administrador`,description:`Crie a primeira conta de administrador para sua instância do Libre WebUI`,usernamePlaceholder:`Digite o nome de usuário do admin`,passwordPlaceholder:`Digite a senha (mín. 6 caracteres)`,confirmPlaceholder:`Confirme sua senha`,creating:`Criando...`,createAdmin:`Criar Admin`,success:`Conta de administrador criada com sucesso!`,failed:`Falha ao criar conta de administrador`,fillAllFields:`Por favor, preencha todos os campos`,note:`Esta será a conta de administrador principal da sua instância do Libre WebUI`,approvalUnexpected:`O administrador inicial não pôde ser ativado. Por favor, tente novamente.`},encryptionKey:{title:`Salve sua chave de criptografia`,subtitle:`Importante: Salve esta chave`,description:`Esta chave de criptografia protege seus dados sensíveis. Guarde-a com segurança - você precisará dela caso precise restaurar seu banco de dados.`,warning:`Aviso`,warningText:`Se você perder esta chave e precisar restaurar seu banco de dados, seus dados criptografados (chaves de API, preferências) serão irrecuperáveis.`,label:`Sua chave de criptografia`,loading:`Carregando...`,copyToClipboard:`Copiar para a área de transferência`,copied:`Chave de criptografia copiada!`,copyFailed:`Falha ao copiar a chave`,envNote:`Esta chave também está salva no arquivo backend/.env como ENCRYPTION_KEY`,acknowledgment:`Salvei minha chave de criptografia em um local seguro e entendo que perdê-la pode resultar em perda de dados.`,confirmRequired:`Por favor, confirme que você salvou a chave de criptografia`,continue:`Continuar para o Libre WebUI`}},chat:{greeting:{morning:`Bom dia`,afternoon:`Boa tarde`,evening:`Boa tarde`,night:`Boa noite`},followUp:`Seguimento`,welcome:{helpToday:`Como posso ajudar você hoje?`,helpTonight:`Como posso ajudar você esta noite?`,variety:{create:{title:`O que vamos criar?`,subtitle:`Comece com um pensamento, um rascunho ou um problema insistente.`},explore:{title:`Por onde começamos?`,subtitle:`Traga aquela pergunta que não sai da sua cabeça.`},imagine:{title:`O que você está imaginando?`,subtitle:`Podemos dar forma a isso juntos.`},focus:{title:`O que merece sua atenção?`,subtitle:`Vamos deixar claro o próximo passo.`},untangle:{title:`Onde está o nó?`,subtitle:`Comece pela versão bagunçada.`},momentum:{title:`Quando você estiver pronto.`,subtitle:`Retome uma ideia, um plano ou algo que ficou pela metade.`},open:{title:`O que está passando pela sua cabeça?`,subtitle:`Uma pequena ideia ou um projeto ambicioso. Os dois funcionam.`},challenge:{title:`O que vamos resolver?`,subtitle:`Conte o que ainda não está funcionando.`},draft:{title:`Vamos começar por algum lugar.`,subtitle:`Não precisa estar perfeito.`},possibility:{title:`No que isso poderia se transformar?`,subtitle:`Mostre o material bruto.`},unexpected:{title:`Vamos criar algo inesperado.`,subtitle:`Dê uma restrição, um clima ou uma ideia ainda pela metade.`}}},input:{placeholder:`Envie uma mensagem`,messagePlaceholder:`Mensagem...`,attachImages:`Anexar imagens`,attachments:`Anexos e recursos avançados`,sendMessage:`Enviar mensagem`,stopGeneration:`Parar geração`,menu:{uploadImages:`Carregar imagens`,attachDocument:`Anexar documento`,attachWebpage:`Anexar página web`,structuredOutput:`Saída estruturada`,attach:`Anexar`,documentAttached:`Documento anexado`,webpageAttached:`Página web anexada`,attachFailed:`Não foi possível anexar`,attachKnowledge:`Anexar conhecimento`,noCollections:`Ainda não há coleções — crie uma em Definições → Documentos`},voiceInput:`Entrada de voz`,voiceStop:`Parar de ouvir`},session:{new:`Nova conversa`,work:`Trabalho`,chat:`Chat`,private:`Privado`,privateMode:`Modo Privado`,privateDescription:`Esta conversa não será salva`,privateTooltip:`Iniciar uma conversa privada que não será salva`,deleteConfirm:`Tem certeza de que deseja excluir esta conversa?`,generatingTitle:`Gerando título`,noChats:`Nenhuma conversa ainda`,createFirst:`Crie sua primeira conversa acima`,chats:`Conversas`,renameChat:`Renomear conversa`,deleteChat:`Excluir conversa`,incognito:`Chat Incógnito`,archiveChat:`Arquivar conversa`,groups:{today:`Hoje`,yesterday:`Ontem`,previous7Days:`Últimos 7 dias`,previous30Days:`Últimos 30 dias`,older:`Mais antigas`},folder:{new:`Nova pasta`,namePlaceholder:`Nome da pasta`,move:`Mover para a pasta`,remove:`Remover da pasta`,delete:`Eliminar pasta`,deleteConfirm:`Eliminar esta pasta? As conversas mantêm-se.`}},persona:{applied:`Persona aplicada`,label:`Persona`,removeFailed:`Falha ao remover a persona`},model:{updated:`Modelo atualizado`,noModels:`Nenhum modelo disponível`,noModelsDescription:`Nenhum modelo disponível. Certifique-se de que o Ollama está em execução e tem modelos instalados.`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`Nenhum modelo disponível. Verifique se o Ollama está em execução e se os modelos estão instalados.`,selectBeforePrivateChat:`Selecione um modelo disponível antes de iniciar o chat privado`,selectBeforeSending:`Selecione um modelo disponível antes de enviar`},footer:{disclaimer:`IAs podem cometer erros - verifique informações importantes`,images:`{{count}} imagem`,images_plural:`{{count}} imagens`,structuredOutput:`Saída estruturada`},mediaUpload:{dropImagesHere:`Solte as imagens aqui ou`,supportedFormats:`Formatos suportados: JPG, PNG, GIF, WebP (máx. 10MB cada)`,browse:`procure`},structuredOutput:{title:`Formato de Resposta`,none:`Nenhum (Linguagem Natural)`,noneDescription:`Resposta padrão em linguagem natural`,json:`JSON`,jsonDescription:`Formato JSON estruturado`,list:`Lista`,listDescription:`Array de itens`,summary:`Resumo`,summaryDescription:`Resumo do documento com pontos-chave`,analysis:`Análise`,analysisDescription:`Análise estruturada com prós e contras`,custom:`Esquema Personalizado`,customDescription:`Defina seu próprio esquema JSON`,customSchema:`Esquema JSON personalizado`,schemaPreview:`Pré-visualização do Esquema`,applySchema:`Aplicar Esquema`,cancel:`Cancelar`,enabled:`Saída estruturada ativada`},controls:{title:`Controlos do chat`,systemPrompt:`Prompt de sistema`,systemPromptPlaceholder:`Instruções que se aplicam apenas a este chat…`,advancedParams:`Parâmetros avançados`,advancedParamsDescription:`Substituições para este chat. Campos vazios usam os valores globais.`,fromModel:`do modelo`,fromModelHint:`Este valor vem das configurações recomendadas pelo próprio modelo.`,contextCapped:`Contexto limitado a {{context}} dos {{trained}} para os quais o modelo foi treinado, para que ainda carregue.`,saved:`Controlos guardados`,saveFailed:`Não foi possível guardar os controlos`,params:{temperature:`Temperatura`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`Tokens máx.`,repeatPenalty:`Penalização de repetição`,seed:`Semente`,contextLength:`Comprimento do contexto`}}},sidebar:{navigation:{chat:`Chat`,models:`Modelos`,personas:`Personas`,imagine:`Imaginar`,settings:`Configurações`,userManagement:`Gerenciamento de Usuários`,signOut:`Sair`,agents:`Agentes`,work:`Trabalho`,exploreLabel:`Explorar`,usageAnalytics:`Uso de Fornecedores`,system:`Sistema`,notes:`Notas`},toggleSize:`Alternar tamanho da barra lateral`,expandSidebar:`Expandir barra lateral`},user:{menu:{changePicture:`Alterar foto`,settings:`Configurações`,userManagement:`Gerenciamento de Usuários`,logout:`Sair`,usageAnalytics:`Uso de Fornecedores`,system:`Sistema`},avatar:{title:`Alterar foto de perfil`,updated:`Foto de perfil atualizada`,updateFailed:`Falha ao atualizar foto de perfil`,saving:`Salvando...`,label:`Avatar`,uploadAvatarImage:`Carregar imagem de avatar`,dragAndDrop:`Arraste e solte uma imagem ou clique para procurar`,chooseImage:`Escolher imagem`,uploading:`Carregando...`,enterImageUrl:`Ou insira URL da imagem`,supportedFormats:`Suporta: JPG, PNG, GIF, WebP (máx. 2 MB). Imagens quadradas funcionam melhor.`,customAvatar:`Imagem de avatar personalizada`,clickToChange:`Clique para alterar ou remover`,removed:`Avatar removido`,uploaded:`Avatar carregado com sucesso`,invalidFile:`Por favor, selecione um arquivo de imagem válido`,fileTooLarge:`O tamanho da imagem do avatar deve ser menor que 2 MB`,readFailed:`Falha ao ler o arquivo de imagem`,uploadFailed:`Falha ao carregar imagem do avatar`},profile:{noEmail:`E-mail não informado`}},settings:JSON.parse(`{"title":"Configurações","tabs":{"appearance":"Aparência","model":"Modelo","systemMessage":"Mensagem do Sistema","plugins":"Plugins","generation":"Geração","documents":"Documentos","tts":"Voz","imageGen":"Imagens","data":"Dados","shortcuts":"Atalhos","about":"Sobre"},"appearance":{"title":"Aparência","language":{"title":"Idioma","description":"Selecione seu idioma preferido"},"theme":{"title":"Tema","light":"Claro","dark":"Escuro","amoled":"Preto Puro","system":"Sistema"},"accent":{"title":"Cor de destaque","custom":"Cor personalizada","useColor":"Usar {{color}} como destaque","behaviorTitle":"Paleta da interface","behaviorDescription":"Escolha se a cor de destaque fica limitada aos controlos ou adapta toda a interface clara ou escura.","defaultStyle":"Predefinida","defaultStyleDescription":"Manter as superfícies neutras dos temas claro e escuro.","adaptedStyle":"Adaptar ao destaque","adaptedStyleDescription":"Tingir superfícies, contornos e texto com a cor de destaque."},"chatInterface":{"title":"Interface do Chat","showUsername":"Mostrar nome de usuário","showUsernameDescription":"Exibir nome de usuário nas mensagens do chat","followUpSuggestions":"Sugestões de seguimento","followUpSuggestionsDescription":"Sugerir respostas rápidas após cada resposta","hapticFeedback":"Feedback háptico (Android)","hapticFeedbackDescription":"Usar vibrações sutis em ações móveis importantes"},"background":{"title":"Imagem de Fundo","enable":"Ativar imagem de fundo","enableDescription":"Mostrar fundo personalizado com efeito de desfoque","blur":"Desfoque","opacity":"Opacidade","upload":"Enviar imagem de fundo","dragDrop":"Arraste e solte uma imagem ou clique para procurar","chooseImage":"Escolher Imagem"}},"saveSettings":"Salvar Configurações","model":{"title":"Configurações do Modelo","defaultModel":"Modelo Padrão","defaultModelDescription":"Este modelo será usado por padrão para novas conversas","selectModel":"Selecione um modelo","updateAll":"Atualizar Todos os Modelos","updateAllDescription":"Verificar atualizações e baixar as versões mais recentes de todos os modelos instalados","updateAllButton":"Atualizar Todos","updating":"Atualizando modelos...","currentModelInfo":"Informações do Modelo Atual","name":"Nome","size":"Tamanho","family":"Família","format":"Formato","status":"Status","statusStarting":"Iniciando...","statusComplete":"Completo","statusError":"Erro","bulkOperations":"Operações em Lote","autoTitle":{"title":"Geração Automática de Títulos","enable":"Ativar Título Automático","enableDescription":"Gerar automaticamente títulos para novas conversas","taskModel":"Modelo de Tarefas","selectTaskModel":"Selecione o modelo de tarefas","taskModelDescription":"Modelo usado para gerar títulos das conversas"},"persona":"Persona","updatingModel":"Atualizando {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} de {{total}} modelos","specializedModels":"Modelos Especializados","visionModel":"Modelo de Visão","selectVisionModel":"Usar o modelo de chat atual","visionModelDescription":"Usado automaticamente sempre que o contexto de chat enviado contém imagens. Escolha um modelo que suporte entrada de imagens.","visionModelUpdateFailed":"Falha ao atualizar o modelo de visão: {{error}}","visionModelNoProvider":"Este modelo de visão não tem identidade de provedor. Selecione um modelo disponível."},"systemMessage":{"title":"Mensagem do Sistema","description":"Defina uma mensagem de sistema personalizada que será usada para todas as novas conversas.","placeholder":"Digite uma mensagem de sistema...","saved":"Mensagem do sistema salva","saveFailed":"Falha ao salvar mensagem do sistema"},"plugins":{"title":"Plugins","description":"Gerencie seus plugins instalados","addNew":"Adicionar Novo Plugin","upload":"Enviar Plugin","addJson":"Adicionar JSON","uploading":"Enviando...","jsonPlaceholder":"Cole a configuração JSON do plugin...","install":"Instalar Plugin","noPlugins":"Nenhum plugin instalado","noPluginsDescription":"Adicione um plugin para estender a funcionalidade","loading":"Carregando plugins...","installed":"Plugins Instalados","active":"Plugins Ativos","activeLabel":"Ativo","inactive":"Inativo","activate":"Ativar","deactivate":"Desativar","models":"modelos","apiKeySet":"Chave de API Definida","apiKeyConfiguration":"Configuração da Chave de API","apiKeyEnvAlternative":"Alternativamente, defina a","environmentVariable":"variável de ambiente","apiKeyConfigured":"Chave de API configurada","apiKeyPlaceholder":"Digite sua chave de API...","saveApiKey":"Salvar Chave de API","apiKey":{"title":"Chave de API","placeholder":"Digite a chave de API","save":"Salvar Chave","remove":"Remover Chave","configured":"Chave de API Configurada","notConfigured":"Chave de API Necessária","saved":"Chave de API salva com sucesso","removed":"Chave de API removida","saveFailed":"Falha ao salvar chave de API","removeFailed":"Falha ao remover chave de API","enterKey":"Por favor, digite uma chave de API"},"variables":"Variables","providerConnections":"Ligações de fornecedores","providerConnectionsDescription":"Ligue, configure e inspecione fornecedores de modelos através de plugins.","providers":"Fornecedores","searchProviders":"Pesquisar fornecedores","noProvidersFound":"Nenhum fornecedor corresponde à sua pesquisa.","selectProvider":"Selecione um fornecedor","selectProviderDescription":"Escolha um fornecedor para inspecionar a sua ligação e catálogo de modelos.","apiKeyDescription":"Guarde uma chave API pessoal para {{name}}.","showApiKey":"Mostrar chave API","hideApiKey":"Ocultar chave API","configure":"Configurar","providerSettings":"Definições do fornecedor","status":"Estado","defaultEndpoint":"Endpoint predefinido","modelCatalog":"Catálogo de modelos","modelCatalogDescription":"Modelos descobertos e configurados para este fornecedor e as suas capacidades.","refreshModels":"Atualizar modelos","noModelsConfigured":"Nenhum modelo configurado para este provedor.","modelId":"ID do modelo","capabilities":"Capacidades","modelCatalogUpdated":"Catálogo de modelos atualizado: {{count}} modelos.","modelCatalogUnchanged":"O catálogo de modelos já está atualizado.","modelCatalogNeedsApiKey":"Adicione uma chave de API válida para este provedor carregar a lista de modelos em tempo real.","modelCatalogUnavailable":"Não foi possível carregar a lista de modelos do provedor.","modelCatalogRefreshFailed":"Falha ao atualizar o catálogo de modelos","capability":{"chat":"Chat","embedding":"Embedding","image":"Imagem","speech":"Fala","transcription":"Transcrição"},"exportPlugin":"Exportar plugin","deletePlugin":"Excluir plugin"},"generation":{"title":"Opções de Geração","description":"Configure como a IA gera as respostas","scopeLabel":"Aplica-se a","scopeAll":"Todos os modelos","scopeModel":"Apenas {{model}}","scopeAllHint":"Os valores que cada modelo usa, a menos que tenha os seus.","scopeModelHint":"Salvo apenas para este modelo e prevalece sobre os valores gerais.","coreParameters":"Parâmetros Principais","temperature":"Temperatura","temperatureDescription":"Controla a aleatoriedade. Valores baixos são mais focados, valores altos mais criativos.","topP":"Top P","topPDescription":"Controla a diversidade via amostragem de núcleo. Valores baixos focam em tokens prováveis.","topK":"Top K","topKDescription":"Limita a seleção de tokens aos K mais prováveis. Defina 0 para desativar.","minP":"Min P","minPDescription":"Limite mínimo de probabilidade para seleção de tokens.","generationControl":"Controle de Geração","maxTokens":"Máximo de Tokens","maxTokensDescription":"Número máximo de tokens a gerar na resposta.","repeatPenalty":"Penalidade de Repetição","repeatPenaltyDescription":"Penaliza tokens repetidos. Valores mais altos reduzem repetições.","contextLength":"Tamanho do Contexto","contextLengthDescription":"Tamanho máximo da janela de contexto para conversas.","seed":"Semente","optional":"opcional","random":"Aleatório","seedDescription":"Defina uma semente específica para resultados reproduzíveis.","advancedOptions":"Opções Avançadas","presencePenalty":"Penalidade de Presença","presencePenaltyDescription":"Penaliza tokens que aparecem no contexto.","frequencyPenalty":"Penalidade de Frequência","frequencyPenaltyDescription":"Penaliza tokens usados frequentemente.","stopSequences":"Sequências de Parada","commaSeparated":"separadas por vírgula","stopSequencesDescription":"Tokens personalizados que interromperão a geração quando encontrados.","resetDefaults":"Restaurar Padrões","saveOptions":"Salvar Opções","embeddingSettings":"Configurações de Embedding","enableEmbeddings":"Ativar Embeddings de Documentos","advancedSettings":"Configurações avançadas de geração","advancedSettingsDescription":"Amostragem, limites de tokens, contexto, penalidades e sequências de parada"},"documents":{"title":"Configurações de Documentos","embeddings":{"title":"Embeddings","enable":"Ativar embeddings de documentos","model":"Modelo de Embedding","modelDescription":"Selecione o modelo usado para embedding de documentos","chunkSize":"Tamanho do Chunk","chunkSizeInTokens":"(em tokens)","chunkSizeDescription":"Tamanho dos pedaços de texto para embedding","chunkOverlap":"Sobreposição de Chunks","chunkOverlapInTokens":"(em tokens)","chunkOverlapDescription":"Sobreposição entre chunks consecutivos","similarityThreshold":"Limite de Similaridade","similarityDescription":"Pontuação mínima de similaridade para incluir resultados","status":"Status do Embedding","statusLabel":"Status","available":"Disponível","unavailable":"Indisponível","chunksWithEmbeddings":"Chunks com embeddings","coverage":"Cobertura","regenerate":"Regenerar Embeddings","regenerating":"Regenerando..."},"collections":{"title":"Coleções de conhecimento","description":"Agrupe documentos em coleções e anexe-as a qualquer chat.","namePlaceholder":"Nome da coleção","create":"Criar","none":"Sem coleção","deleteConfirm":"Eliminar esta coleção? Os documentos mantêm-se."}},"tts":{"title":"Texto para Fala","description":"Configure as configurações de texto para fala para ler mensagens em voz alta","loadingProviders":"Carregando provedores de TTS...","noProviders":"Nenhum Provedor de TTS","noProvidersDescription":"Configure um plugin com suporte a TTS para ativar texto para fala","enable":"Ativar TTS","enableDescription":"Permitir texto para fala nas mensagens do assistente","autoPlay":"Reprodução Automática de Respostas","autoPlayDescription":"Ler automaticamente novas mensagens do assistente em voz alta","streamSentences":"Transmitir Frases","streamSentencesDescription":"Reproduzir áudio frase por frase em vez de esperar pela mensagem completa. Recomendado para TTS local para evitar timeouts em mensagens longas.","voiceConfiguration":"Configuração de Voz","model":"Modelo TTS","modelDescription":"Selecione o modelo para geração de texto para fala","voice":"Voz","selectVoice":"Selecione uma voz","voiceDescription":"Escolha a voz para texto para fala","speed":"Velocidade","speedSlow":"0.5x","speedNormal":"1.0x","speedFast":"2.0x","availableProviders":"Provedores Disponíveis","models":"modelos","test":"Testar","testing":"Testando...","stop":"Parar"},"imageGen":{"title":"Geração de Imagens","description":"Configure as configurações e provedores de geração de imagens","loadingProviders":"Carregando provedores de geração de imagens...","noProviders":"Nenhum Provedor de Geração de Imagens","noProvidersDescription":"Configure um plugin com suporte a geração de imagens","enable":"Ativar Geração de Imagens","enableDescription":"Permitir geração de imagens por IA nas conversas","configuration":"Configuração","model":"Modelo","modelDescription":"Selecione o modelo para geração de imagens","size":"Tamanho","sizeDescription":"Resolução das imagens geradas","quality":"Qualidade","qualityDescription":"Nível de qualidade das imagens geradas","style":"Estilo","styleDescription":"Predefinição de estilo para imagens geradas","availableProviders":"Provedores Disponíveis","models":"modelos"},"data":{"title":"Gerenciamento de Dados","export":"Exportar Dados","exportDescription":"Baixe todos os seus dados, incluindo preferências, sessões e documentos.","exportAll":"Exportar Todos os Dados","import":"Importar Dados","importDescription":"Importe dados de uma exportação anterior.","importData":"Importar Dados","importing":"Importando...","clearSessions":"Limpar Sessões","clearSessionsDescription":"Exclua todas as sessões de chat. Esta ação não pode ser desfeita.","clearAll":"Limpar Tudo","clearing":"Limpando...","importOptions":"Opções de Importação","importOptionsDescription":"Escolha como lidar com dados existentes","skipDuplicates":"Ignorar duplicados","overwrite":"Sobrescrever existentes","importResults":"Resultados da Importação","preferences":"Preferências","imported":"Importado","failed":"Falhou","sessions":"Sessões","importedLabel":"importado","skipped":"ignorado","documents":"Documentos","errors":"Erros","archivedChats":{"title":"Conversas arquivadas","empty":"Nenhuma conversa arquivada","unarchive":"Desarquivar"}},"about":{"title":"Sobre","versionLabel":"Versão","ollama":{"title":"Status do Ollama","version":"Versão","healthy":"Saudável","unhealthy":"Com problemas"},"stats":{"models":"Modelos","sessions":"Sessões"},"features":{"privacy":{"title":"Privacidade em Primeiro Lugar","description":"Seus dados ficam no seu dispositivo"},"openSource":{"title":"Código Aberto","description":"Software livre e de código aberto"},"localInference":{"title":"Inferência Local","description":"Execute modelos de IA localmente com o Ollama"}},"openSourceBy":"Código aberto por {{company}}","links":{"title":"Links","github":"GitHub","githubDescription":"Veja o código-fonte e contribua","website":"Site","websiteDescription":"Visite nosso site","ollama":"Ollama","ollamaDescription":"Saiba mais sobre o Ollama","documentation":"Documentação","reportIssue":"Relatar Problemas","reportIssueDescription":"Reportar bugs e solicitar recursos","gitlab":"Espelho GitLab","gitlabDescription":"Repositório GitLab auto-hospedado","documentationDescription":"Guias, tutoriais e referência da API"},"version":"Versão {{version}}"},"groups":{"general":"Geral","chat":"Chat","media":"Voz e imagens","connections":"Conexões"}}`),models:{title:`Modelos`,subtitle:`Baixe, gerencie e monitore seus modelos do Ollama`,installed:`Modelos Instalados`,available:`Modelos Disponíveis`,pull:`Baixar Modelo`,pulling:`Baixando...`,delete:`Excluir Modelo`,deleting:`Excluindo...`,size:`Tamanho`,modified:`Modificado`,family:`Família`,parameters:`Parâmetros`,quantization:`Quantização`,noModels:`Nenhum modelo instalado`,pullFirst:`Baixe um modelo para começar`,noModelsFound:`Nenhum modelo encontrado`},personas:{title:`Personas`,create:`Criar Persona`,edit:`Editar Persona`,delete:`Excluir Persona`,name:`Nome`,description:`Descrição`,systemPrompt:`Prompt do Sistema`,model:`Modelo`,avatar:`Avatar`,background:`Plano de Fundo`,noPersonas:`Nenhuma persona criada`,createFirst:`Crie sua primeira persona para personalizar sua experiência de chat`},gallery:{title:`Galeria`,subtitle:`Sua galeria de imagens geradas por IA`,imageCount:`{{count}} imagens`,generate:`Gerar Imagem`,generateDescription:`Crie imagens com IA`,generating:`Gerando...`,prompt:`Prompt`,promptPlaceholder:`Descreva a imagem que você deseja gerar...`,noImages:`Nenhuma imagem gerada ainda`,download:`Baixar`,delete:`Excluir`,regenerate:`Regenerar`,model:`Modelo`,size:`Tamanho`,quality:`Qualidade`,created:`Criado`},errors:{generic:`Ocorreu um erro`,network:`Erro de rede. Por favor, verifique sua conexão.`,unauthorized:`Você não está autorizado a realizar esta ação.`,notFound:`O recurso solicitado não foi encontrado.`,serverError:`Erro do servidor. Por favor, tente novamente mais tarde.`,validation:`Por favor, verifique sua entrada e tente novamente.`},keyboard:{title:`Atalhos de Teclado`,toggleSidebar:`Alternar barra lateral`,openSettings:`Abrir configurações`,toggleDarkMode:`Alternar modo escuro`,showShortcuts:`Mostrar atalhos de teclado`,closeModals:`Fechar modais`,groups:{navigation:`Navegação`,general:`Geral`,chat:`Chat`,workspace:`Espaço de trabalho`},actions:{sendMessage:`Enviar mensagem`,newLine:`Nova linha na mensagem`,saveEdit:`Salvar a mensagem editada`,cancelEdit:`Cancelar a edição`,saveFile:`Salvar arquivo`,formatCode:`Formatar código`},description:`Todos os atalhos de teclado disponíveis no Libre WebUI.`,newChat:`Novo chat`,newWork:`Nova sessão do Work`,openPalette:`Abrir a paleta de comandos`},modelManager:{title:`Modelos`,loading:`Carregando modelos...`,systemStatus:{online:`Ollama Online`,offline:`Ollama Offline`,models:`modelo`,models_plural:`modelos`,running:`em execução`,vram:`VRAM`},sections:{pull:`Baixar Novo Modelo`,library:`Explorar Biblioteca`,running:`Modelos em Execução`,local:`Modelos Locais`,advanced:`Ações Avançadas`,huggingface:`HuggingFace Hub`},pull:{placeholder:`Digite o nome do modelo (ex.: llama3.2:3b, deepseek-r1:14b)`,button:`Baixar`,cancel:`Cancelar`,popular:`Modelos populares:`,browseAll:`Explorar todos os modelos em ollama.com`,success:`Modelo {{name}} baixado com sucesso`,cancelled:`Download do modelo cancelado`,failed:`Falha ao baixar modelo`,enterName:`Por favor, digite o nome do modelo`,restricted:`A instalação de modelos está restrita a administradores nesta instância.`},progress:{starting:`Inicializando...`,pulling:`Baixando modelo...`,pullingLayer:`baixando`,verifying:`Verificando integridade...`,verifyingDigest:`verificando digest sha256`,writing:`Escrevendo manifesto...`,cleaning:`Limpando...`},library:{available:`disponível`,search:`Pesquisar modelos...`,noResults:`Nenhum modelo encontrado com seus critérios`,installed:`Instalado`,more:`+{{count}} mais`,refresh:`Atualizar Biblioteca`},local:{noModels:`Nenhum modelo instalado ainda`,pullToStart:`Baixe um modelo acima para começar`,installed:`instalado`,running:`Em execução`,info:`Info`,copy:`Copiar`,delete:`Excluir`,deleteConfirm:`Tem certeza de que deseja excluir o modelo "{{name}}"?`,deleteSuccess:`Modelo {{name}} excluído com sucesso`,deleteFailed:`Falha ao excluir modelo`},advanced:{createModel:`Criar Modelo`,fromModelfile:`A partir de Modelfile`,copyModel:`Copiar Modelo`,duplicateExisting:`Duplicar existente`,testEmbeddings:`Testar Embeddings`,generateVectors:`Gerar vetores`,healthCheck:`Verificação de Saúde`,testConnection:`Testar conexão`,healthy:`O Ollama está saudável!`},modals:{details:{title:`Detalhes do Modelo`,info:`Informações do Modelo`,family:`Família`,parameters:`Parâmetros`,quantization:`Quantização`,format:`Formato`,systemPrompt:`Prompt do Sistema`,template:`Template`,license:`Licença`,modelfile:`Modelfile`,noDetails:`Nenhum detalhe disponível`},copy:{title:`Copiar Modelo`,source:`Modelo de Origem`,selectModel:`Selecione um modelo...`,newName:`Nome do Novo Modelo`,placeholder:`ex.: meu-modelo-personalizado`,copying:`Copiando...`,button:`Copiar Modelo`,success:`Modelo copiado para {{name}}`,failed:`Falha ao copiar modelo`,enterBoth:`Por favor, digite os nomes de origem e destino`},create:{title:`Criar Modelo Personalizado`,name:`Nome do Modelo`,namePlaceholder:`ex.: meu-assistente`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
|
|
2
|
-
SYSTEM Você é um assistente útil.`,see:`Veja`,docs:`Documentação do Modelfile`,docsLink:`para referência de sintaxe`,creating:`Criando...`,button:`Criar Modelo`,success:`Modelo {{name}} criado com sucesso`,failed:`Falha ao criar modelo`,enterBoth:`Por favor, digite o nome do modelo e o conteúdo do Modelfile`},embeddings:{title:`Testar Embeddings`,model:`Modelo de Embedding`,selectModel:`Selecione um modelo...`,recommended:`Recomendados: nomic-embed-text, mxbai-embed-large`,input:`Texto de Entrada`,placeholder:`Digite o texto para gerar embeddings...`,generating:`Gerando...`,button:`Gerar Embeddings`,result:`Resultado ({{count}} dimensões)`,success:`Vetor de embedding de {{count}} dimensões gerado`,failed:`Falha ao gerar embeddings`,enterBoth:`Por favor, selecione um modelo e digite o texto`}},huggingface:{browseAll:`Ver tudo no HuggingFace`,checkingGguf:`Verificando arquivos GGUF...`,noGgufAvailable:`Nenhum arquivo GGUF disponível para pull direto do Ollama`,ggufFilesCount:`Arquivos GGUF ({{count}}) - Pull direto para Ollama`,noModelsFound:`Nenhum modelo encontrado`,noResults:`Nenhum modelo encontrado. Tente ajustar sua pesquisa ou filtros.`,browseAllLink:`Ver tudo`,search:`Pesquisar modelos HuggingFace...`,by:`por`,gated:`Acesso restrito`,viewOnHF:`Ver no HuggingFace`,sortDownloads:`Downloads`,sortLikes:`Curtidas`,sortRecent:`Recente`,taskTextGeneration:`Geração de texto`,taskTextToSpeech:`Texto para fala`,taskTextToImage:`Texto para imagem`,taskSpeechRecognition:`Reconhecimento de voz`,tasks:{textGen:`Geração de texto`,tts:`Texto para fala`,image:`Texto para imagem`,stt:`Reconhecimento de voz`},sort:{downloads:`Mais baixados`,likes:`Mais curtidos`,recent:`Atualizados recentemente`}}},personaManager:{title:`Personas`,subtitle:`Crie e gerencie personas de IA com personalidades, memórias e comportamentos personalizados`,loading:`Carregando personas...`,createButton:`Criar Persona`,importExport:`Importar/Exportar`,stats:{title:`Suas Personas`,count:`{{count}} persona criada`,count_plural:`{{count}} personas criadas`},empty:{title:`Nenhuma persona ainda`,description:`Crie sua primeira persona para começar com interações de IA personalizadas`,button:`Criar Sua Primeira Persona`},deleteConfirm:`Tem certeza de que deseja excluir "{{name}}"?`,deleteSuccess:`Persona "{{name}}" excluída com sucesso`,downloadSuccess:`Persona "{{name}}" baixada com sucesso`,failed:`Falha ao {{action}} persona`},personaForm:{title:{create:`Criar Nova Persona`,edit:`Editar Persona`},subtitle:{create:`Crie uma nova persona de IA com personalidade, sistemas de memória e capacidades de aprendizado adaptativo personalizados`,edit:`Personalize sua persona de IA com memória avançada, aprendizado adaptativo e parâmetros inteligentes`},loading:`Carregando formulário...`,saved:`Salvo`,tabs:{basic:`Básico`,parameters:`Parâmetros`,memory:`Memória e Aprendizado`,advanced:`Avançado`},basic:{name:`Nome`,namePlaceholder:`Digite o nome da persona`,model:`Modelo`,selectModel:`Selecione um modelo`,description:`Descrição`,descriptionPlaceholder:`Descreva sua persona...`,systemPrompt:`Prompt do Sistema`,systemPromptPlaceholder:`Digite o prompt do sistema que define o comportamento da sua persona...`,systemPromptHint:`O prompt do sistema define como sua persona se comportará e responderá.`},parameters:{temperature:`Temperatura`,temperatureHint:`Controla criatividade vs consistência`,topP:`Top-P`,topPHint:`Controla a diversidade das respostas`,topK:`Top-K`,topKHint:`Limita o vocabulário aos top-k tokens`,contextWindow:`Janela de Contexto`,contextWindowHint:`Comprimento máximo do histórico de conversas`,maxTokens:`Máximo de Tokens`,maxTokensHint:`Comprimento máximo da resposta`,repeatPenalty:`Penalidade de Repetição`,repeatPenaltyHint:`Reduz respostas repetitivas`},memory:{title:`Sistema de Memória`,subtitle:`A persona lembra conversas ao longo do tempo`,enableHint:`Ative o sistema de memória para permitir que sua persona lembre conversas e construa contexto ao longo do tempo.`,loading:`Carregando status da memória...`,noData:`Nenhum dado de memória ainda`,memories:`Memórias`,mbUsed:`MB Usado`,lastBackup:`Último Backup`,never:`Nunca`,maxMemories:`Máximo de Memórias`,maxMemoriesHint:`Quantas memórias esta persona pode armazenar`,retention:`Retenção de Memória`,retentionHint:`Dias para manter memórias antes da limpeza`,autoCleanup:`Limpar memórias antigas automaticamente`,wipeAll:`Apagar Todas as Memórias`,wipeCannot:`Esta ação não pode ser desfeita`,wipeButton:`Apagar`,wiping:`Apagando...`,wipeConfirm:`Tem certeza de que deseja apagar todas as memórias? Esta ação não pode ser desfeita.`,wipeSuccess:`{{count}} memórias apagadas`},learning:{title:`Aprendizado Adaptativo`,subtitle:`A persona evolui com base nas interações`,enableHint:`Ative o aprendizado adaptativo para permitir que sua persona evolua e personalize respostas com base em suas interações.`,speed:`Velocidade de Aprendizado`,slow:`Lento`,slowDesc:`Mudanças graduais`,balanced:`Equilibrado`,balancedDesc:`Ritmo moderado`,fast:`Rápido`,fastDesc:`Adaptação rápida`,autoAdapt:`Adaptar automaticamente às preferências do usuário`,whatLearns:`O que a persona aprende:`,conversationTone:`Tom da conversa`,responseStyle:`Estilo de resposta`,userPreferences:`Preferências do usuário`,topicInterests:`Interesses por tópicos`},advanced:{embeddingModel:`Modelo de Embedding`,embeddingHint:`Selecione o modelo usado para codificação de memória e busca semântica. Modelos de embedding são mostrados primeiro, seguidos por outros modelos disponíveis.`,noModels:`Nenhum modelo encontrado`,embeddingModels:`Modelos de Embedding`,otherModels:`Outros Modelos`,installHint:`Instale um modelo de embedding:`,recommended:`Recomendados: nomic-embed-text, mxbai-embed-large, bge-m3, snowflake-arctic-embed`,aboutTitle:`Sobre Configurações Avançadas`,aboutDescription:`O modelo de embedding é usado pelo sistema de memória para entender o significado semântico e encontrar memórias relevantes durante as conversas. Escolha um modelo que corresponda ao seu caso de uso e recursos disponíveis.`},actions:{cancel:`Cancelar`,save:`Salvar`,saving:`Salvando...`,saveClose:`Salvar e Fechar`,create:`Criar`},success:{created:`Persona criada`,updated:`Persona atualizada`},error:{saveFailed:`Falha ao salvar`}},personaCard:{enhanced:`Aprimorada`,systemPrompt:`Prompt do Sistema`,memories:`memórias`,use:`Usar`,editTooltip:`Editar persona`,downloadTooltip:`Baixar persona`,backup:`Backup`,exportDNA:`Exportar DNA`,wipeMemories:`Apagar Memórias`,wipeConfirm:`Tem certeza de que deseja apagar todas as memórias desta persona? Esta ação não pode ser desfeita.`,wipeSuccess:`{{count}} memórias apagadas`,backupSuccess:`Backup da persona baixado com sucesso`,dnaSuccess:`DNA da persona exportado com sucesso`,failed:`Falha ao {{action}}`},userManager:{title:`Gerenciamento de Usuários`,subtitle:`Gerencie contas de usuários e permissões`,pageDescription:`Gerencie contas de usuário, permissões e controles de acesso para sua instância Libre WebUI.`,loading:`Carregando usuários...`,createUser:`Criar Usuário`,search:`Pesquisar usuários...`,noUsers:`Nenhum usuário encontrado`,noUsersMatching:`Nenhum usuário corresponde à sua pesquisa`,columns:{user:`Usuário`,email:`E-mail`,role:`Função`,created:`Criado`,actions:`Ações`},roles:{admin:`Admin`,user:`Usuário`},noEmail:`Sem e-mail`,deleteConfirm:`Tem certeza de que deseja excluir o usuário "{{name}}"?`,deleteSuccess:`Usuário excluído com sucesso`,deleteFailed:`Falha ao excluir usuário`,cannotDeleteSelf:`Você não pode excluir sua própria conta`,form:{title:{create:`Criar Usuário`,edit:`Editar Usuário`},username:`Usuário`,usernamePlaceholder:`Digite o nome de usuário`,email:`E-mail`,emailPlaceholder:`Digite o e-mail (opcional)`,password:`Senha`,passwordPlaceholder:`Digite a senha`,passwordHint:`Deixe em branco para manter a senha atual`,role:`Função`,creating:`Criando...`,updating:`Atualizando...`,createButton:`Criar Usuário`,updateButton:`Atualizar Usuário`,createSuccess:`Usuário criado com sucesso`,updateSuccess:`Usuário atualizado com sucesso`,createFailed:`Falha ao criar usuário`,updateFailed:`Falha ao atualizar usuário`},approval:{title:`Aprovações pendentes`,description:`Revise novos registros antes de permiti-los nesta instância.`,registered:`Registrado`,activate:`Ativar conta`,reject:`Rejeitar registro`,approved:`{{name}} já pode entrar.`,failed:`A conta não pôde ser aprovada.`,notification:`{{count}} registro(s) aguardando sua aprovação.`,notificationBadge:`{{count}} aprovações de usuário pendentes`},workAccess:{title:`Acesso ao Work`,description:`Permitir que todos os usuários ativos criem e executem tarefas do Work em sandboxes isoladas. Administradores sempre têm acesso; espaços de trabalho em pastas do host continuam restritos a administradores.`,saved:`Acesso ao Work atualizado`,saveFailed:`Não foi possível atualizar o acesso ao Work`},workPolicies:{title:`Políticas do Work`,description:`Predefinições de execução nomeadas (imagem, limites, parada por inatividade) sob as quais criar tarefas. Campos vazios herdam os padrões globais.`,add:`Adicionar política`,name:`Nome`,image:`Imagem`,memory:`Memória`,cpu:`CPUs`,pids:`Limite de PID`,workspaceSize:`Tamanho do espaço de trabalho`,idleMinutes:`Parada por inatividade (minutos)`,networkDefault:`Rede padrão`,networkInherit:`Herdar padrão`,networkOn:`Ativada`,networkOff:`Desativada`,save:`Salvar`,cancel:`Cancelar`,edit:`Editar política`,delete:`Excluir política`,deleteConfirm:`Excluir esta política? As tarefas que a usam voltam aos padrões globais.`,empty:`Nenhuma política ainda. As tarefas usam os padrões de execução globais.`,saved:`Política do Work salva`,deleted:`Política do Work excluída`,failed:`Não foi possível salvar a política do Work`}},chatHistory:{label:`Histórico da conversa`,jumpToTurn:`Ir para a interação {{index}} de {{total}}`},chatMessage:{you:`Você`,assistant:`Assistente`,system:`Sistema`,copy:`Copiar`,copyMessage:`Copiar mensagem`,copied:`Copiado!`,regenerate:`Regenerar`,regenerateResponse:`Regenerar resposta`,edit:`Editar`,editSystemMessage:`Editar mensagem do sistema`,saveChanges:`Salvar alterações`,cancelEditing:`Cancelar edição`,saveAndSubmit:`Guardar e enviar`,goodResponse:`Boa resposta`,badResponse:`Má resposta`,delete:`Excluir`,deleteConfirm:`Excluir esta mensagem?`,branch:`Ramificar`,speaking:`Falando...`,speakMessage:`Falar mensagem`,stopSpeaking:`Parar de falar`,showMore:`Mostrar mais`,showLess:`Mostrar menos`,thinking:`Pensando`,thoughtFor:`Pensou durante {{duration}}`,hiddenLines:`{{count}} linhas ocultas`,systemMessagePlaceholder:`Digite sua mensagem do sistema...`,fullSizeImage:`Imagem em tamanho real`,startConversation:`Inicie uma conversa`,startConversationDescription:`Envie uma mensagem para começar a conversar com seu assistente de IA. Faça perguntas, obtenha ajuda com código ou tenha uma conversa natural.`,scrollToBottom:`Rolar para o final`,newMessages:`Novas mensagens`},imageGallery:{title:`Galeria de Imagens`,noImages:`Nenhuma imagem ainda`,noImagesHint:`Gere sua primeira imagem usando o painel à direita`,delete:`Excluir`,download:`Baixar`,deleteConfirm:`Tem certeza de que deseja excluir esta imagem?`,deleteSuccess:`Imagem excluída`,deleteFailed:`Falha ao excluir imagem`,downloadFailed:`Falha ao baixar imagem`,loadMore:`Carregar Mais ({{current}} de {{total}})`,loadFailed:`Falha ao carregar galeria`},imageGeneration:{title:`Gerar Imagem`,prompt:`Prompt`,promptPlaceholder:`Descreva a imagem que você deseja criar...`,model:`Modelo`,selectModel:`Selecionar modelo`,noModels:`Nenhum modelo de geração de imagens disponível`,configurePlugin:`Configure um plugin com suporte a geração de imagens`,size:`Tamanho`,quality:`Qualidade`,style:`Estilo`,generate:`Gerar`,generating:`Gerando...`,success:`Imagem gerada com sucesso`,failed:`Falha ao gerar imagem`,enterPrompt:`Por favor, digite um prompt`,promptTooLong:`O prompt excede o comprimento máximo de {{max}} caracteres`},errorBoundary:{title:`Algo deu errado`,description:`Encontramos um erro inesperado. Por favor, tente atualizar a página.`,tryAgain:`Atualizar Página`,goHome:`Ir para Início`,errorDetails:`Detalhes do Erro (Desenvolvimento)`},documents:{title:`Documentos`,upload:`Enviar Documento`,uploading:`Enviando...`,noDocuments:`Nenhum documento enviado`,uploadHint:`Envie documentos para usar em suas conversas`,delete:`Excluir`,deleteConfirm:`Tem certeza de que deseja excluir este documento?`,deleteSuccess:`Documento excluído`,deleteFailed:`Falha ao excluir documento`,uploadSuccess:`Documento enviado com sucesso`,uploadFailed:`Falha ao enviar documento`,types:`Suportados: PDF, TXT, MD, DOCX`,unsupportedFileType:`Apenas arquivos PDF e TXT são suportados`,fileSizeTooLarge:`O tamanho do arquivo deve ser menor que 10MB`,uploadSuccessWithName:`Documento "{{name}}" enviado com sucesso`,removeSuccess:`Documento removido com sucesso`,removeFailed:`Falha ao remover documento`,removeError:`Ocorreu um erro ao remover o documento`,clickToUpload:`Clique para enviar`,orDragAndDrop:`ou arraste e solte`,fileTypesAndSize:`Arquivos PDF ou TXT até 10MB`,uploadedDocuments:`Documentos Enviados`,removeDocument:`Remover documento`},ttsButton:{speak:`Falar`,stop:`Parar`,speaking:`Falando...`,generateFailed:`Falha ao gerar fala`,playbackFailed:`Falha na reprodução do áudio`,stopSpeaking:`Parar de falar`,generatingSpeech:`Gerando fala...`,readAloud:`Ler em voz alta`},artifacts:{title:`Artefatos`,code:`Código`,preview:`Pré-visualização`,copy:`Copiar código`,copied:`Copiado!`,download:`Baixar`,expand:`Expandir`,collapse:`Recolher`,openInNewTab:`Abrir em nova aba`,invalidSvg:`Conteúdo SVG inválido`,invalidJson:`Conteúdo JSON inválido`,previewMode:`Modo de pré-visualização`,codeMode:`Modo de código`,copyContent:`Copiar conteúdo`,openInPanel:`Abrir no painel`,openInNewWindow:`Abrir em nova janela`,created:`Criado`,closePanelEsc:`Fechar painel (Esc)`,copyButton:`Copiar`,open:`Abrir`,dragEdgeToResize:`Arraste a borda para redimensionar`,previewUnavailable:`Preview unavailable`,previewUnavailableDescription:`This artifact does not contain renderable preview content. Switch to code view to inspect the source.`,versionOf:`Versão {{current}} de {{total}}`,previousVersion:`Versão anterior`,nextVersion:`Versão seguinte`},personaImportExport:{title:`Importar e Exportar Personas`,description:`Exporte suas personas para compartilhá-las ou importe personas de outros`,exportPersonas:`Exportar Personas`,importPersonas:`Importar Personas`,noPersonasToExport:`Nenhuma persona para exportar`,personasAvailable:`{{count}} persona disponível`,personasAvailable_plural:`{{count}} personas disponíveis`,exportAll:`Exportar Todas`,uploadJsonFile:`Enviar Arquivo JSON`,pasteJsonLabel:`Colar Dados JSON`,pasteJsonPlaceholder:`Cole os dados JSON da persona aqui...`,importing:`Importando...`,importButton:`Importar Persona(s)`,expectedFormat:`Formato JSON Esperado:`,exportSuccess:`Persona "{{name}}" exportada com sucesso`,exportFailed:`Falha ao exportar persona`,exportAllSuccess:`Todas as {{count}} personas exportadas com sucesso`,exportAllFailed:`Falha ao exportar personas`,pasteJsonData:`Por favor, cole os dados JSON da persona`,importMultipleSuccess:`{{count}} personas importadas com sucesso`,importMultipleFailed:`Falha ao importar {{count}} personas`,importNoneFailed:`Falha ao importar qualquer persona`,importSuccess:`Persona importada com sucesso`,importFailed:`Falha ao importar persona`},generationStats:{details:`Detalhes`,promptTokens:`Tokens do prompt:`,generatedTokens:`Tokens gerados:`,totalTokens:`Tokens totais:`,speed:`Velocidade:`,promptEval:`Avaliação do prompt:`,generation:`Geração:`,modelLoad:`Carregamento do modelo:`,totalTime:`Tempo total:`,generatedAt:`Gerado às:`},userMenu:{loggedOut:`Desconectado com sucesso`,pictureUpdated:`Foto de perfil atualizada`,failedUpdateAvatar:`Falha ao atualizar avatar`,failedUpdatePicture:`Falha ao atualizar foto de perfil`,noEmail:`Sem e-mail fornecido`,changePicture:`Alterar foto`,settings:`Configurações`,userManagement:`Gerenciamento de usuários`,signOut:`Sair`,changeProfilePicture:`Alterar foto de perfil`},pluginManager:{title:`Gerenciador de plugins`,upload:`Enviar`,addJson:`Adicionar JSON`,browseHF:`Explorar HF Hub`,confirmDelete:`Tem certeza que deseja excluir este plugin?`,uploading:`Enviando plugin...`,pasteJson:`Cole o JSON do plugin aqui...`,installPlugin:`Instalar plugin`,loading:`Carregando plugins...`,noPlugins:`Nenhum plugin instalado`,noPluginsDescription:`Envie um arquivo de plugin ou adicione um plugin a partir de JSON para começar.`,active:`Ativo`,id:`ID`,endpoint:`Endpoint`,activate:`Ativar`,deactivate:`Desativar`,activePlugin:`Plugin ativo`,activePluginDescription:`Todas as solicitações de chat serão roteadas por este plugin`,variables:{title:`Variáveis`,save:`Salvar`,saving:`Salvando...`,saved:`Variáveis salvas`,saveFailed:`Falha ao salvar variáveis`,resetDefaults:`Restaurar padrões`,reset:`Variáveis restauradas`,sensitiveSet:`Valor definido (insira novo valor para alterar)`,resetFailed:`Falha ao redefinir variáveis`,showValue:`Mostrar valor de {{label}}`,hideValue:`Ocultar valor de {{label}}`,connection:`Conexão`,advanced:`Parâmetros avançados`,inherited:`Usar padrão do provedor`,inheritedValue:`Usar padrão do provedor ({{value}})`,enabled:`Ativado`,disabled:`Desativado`,required:`Um valor é obrigatório`,fullApiEndpoint:`URL completa do endpoint da API`,endpointHelp:`Insira a URL completa da solicitação, incluindo seu caminho de operação (por exemplo, /v1/chat/completions), não apenas a URL base do provedor.`,invalidUrl:`Insira uma URL completa e válida do endpoint da API, por exemplo https://provider.example/v1/chat/completions`,insecureUrl:`Os endpoints da API devem usar HTTP ou HTTPS.`,httpWarning:`O HTTP não criptografa credenciais ou tráfego. Use-o apenas em uma rede confiável.`,invalidBaseUrl:`As URLs base não podem conter uma string de consulta ou fragmento.`,invalidApiPath:`Deve começar com / e não conter URL, consulta, fragmento ou segmento ..`,tooLong:`O valor é muito longo`}},huggingface:{title:`Navegador de modelos HuggingFace`,subtitle:`Navegue e selecione modelos do Hub`,searchPlaceholder:`Pesquisar modelos...`,filters:`Filtros`,task:`Tarefa`,sortBy:`Ordenar por`,noModels:`Nenhum modelo encontrado`,adjustSearch:`Tente ajustar sua pesquisa ou filtros`,gated:`Restrito`,selected:`Selecionado`,select:`Selecionar`,refresh:`Atualizar`,modelsFound:`modelos encontrados`},demoMode:{title:`Modo demo`,github:`GitHub`},personaBackground:{label:`Imagem de fundo`,uploadBackgroundImage:`Enviar imagem de fundo`,dragAndDrop:`Arraste e solte uma imagem ou clique para navegar`,chooseImage:`Escolher imagem`,uploading:`Enviando...`,enterImageUrl:`Ou insira a URL da imagem`,supportedFormats:`Suporta: JPG, PNG, GIF, WebP (máx 5MB). Imagens paisagem largas funcionam melhor.`,customBackground:`Imagem de fundo personalizada`,clickToChange:`Clique para alterar ou remover`,removed:`Fundo removido`,uploaded:`Fundo enviado com sucesso`,invalidFile:`Por favor selecione um arquivo de imagem válido`,fileTooLarge:`O tamanho da imagem de fundo deve ser menor que 5MB`,readFailed:`Falha ao ler o arquivo de imagem`,uploadFailed:`Falha ao enviar a imagem de fundo`},modelSelector:{searchInstalled:`Pesquisar modelos instalados...`,searchOllama:`Pesquisar na biblioteca Ollama...`,searchHuggingFace:`Pesquisar no HuggingFace...`,selectModel:`Selecionar modelo`,personas:`Personas`,ollamaModels:`Modelos Ollama`,pluginModels:`Modelos de plugins`,actions:`Ações`,installed:`Instalado`,use:`Usar`,pull:`Baixar`,pullRestricted:`A instalação de modelos está restrita a administradores nesta instância.`,adminOnlyPull:`Apenas administradores`},libreClaw:{title:`Agentes`,subtitle:`Execuções, aprovações, programações, memória, ferramentas e uso do agente local.`,dashboard:`Painel`,connection:{disconnectedTitle:`O daemon do Libre Claw não está conectado`,disconnectedDescription:`Inicie localmente com <command>libre-claw start</command> ou defina <env>LIBRE_CLAW_BASE_URL</env> no ambiente de back-end.`},status:{connected:`Conectado`,disconnected:`Desconectado`,activeRuns:`{{count}} ativo`,activeRuns_plural:`{{count}} ativo`},states:{queued:`Na fila`,running:`Em execução`,blocked:`Bloqueado`,done:`Concluído`,failed:`Falha`,cancelled:`Cancelado`},startRun:{title:`Iniciar execução do agente`,placeholder:`Peça ao Libre Claw para inspecionar um repositório, corrigir um bug, executar uma revisão, agendar um relatório...`,chatRun:`Execução de bate-papo`,goalMode:`Modo meta`,providerOverride:`Substituição do provedor`,modelOverride:`Substituição de modelo`,run:`Executar`},modelRoute:{title:`Rota modelo`,providerPlaceholder:`provedor`,modelPlaceholder:`modelo`,persistGlobal:`Persistir na configuração global Libre Claw`,saveModel:`Salvar modelo`,theme:`Tema do Libre Claw`,saveTheme:`Salvar tema`},runs:{title:`Execuções`,empty:`Ainda não há execuções do Libre Claw.`},timeline:{title:`Linha do tempo da execução`,empty:`Selecione uma execução para inspecionar seus eventos.`,streaming:`Transmissão...`,assistantResponse:`Resposta do assistente`,resultOk:`ok`,resultError:`erro`,labels:{userMessage:`Mensagem do usuário`,toolCall:`Chamada de ferramenta`,toolResult:`Resultado da ferramenta`,approvalRequest:`Solicitação de aprovação`,approvalResponse:`Resposta de aprovação`,runStarted:`Execução iniciada`,runFinished:`Execução finalizada`,usage:`Uso`,error:`Erro`}},approvals:{needed:`Aprovação necessária`,allowOnce:`Permitir uma vez`,alwaysAllowTool:`Sempre permitir a ferramenta`,deny:`Recusar`,toolApprovalRequested:`Aprovação da ferramenta solicitada`},automations:{title:`Automações`,namePlaceholder:`Nome`,schedulePlaceholder:`daily 09:00`,promptPlaceholder:`Solicitação de automação`,create:`Criar`,empty:`Nenhuma automação Libre Claw programada.`,runNow:`Executar agora`,pause:`Pausa`,resume:`Retomar`,routes:{report:`Relatório`,telegram:`Telegram`},status:{active:`Ativo`,paused:`Pausado`}},usageFallback:{title:`Uso e substituto`,usage:`Uso`,fallbackRoute:`Rota substituta`,noUsage:`Ainda não há registros de uso.`},metrics:{provider:`Provedor`,model:`Modelo`,input:`Entrada`,output:`Saída`,cached:`Em cache`,reasoning:`Raciocínio`,cost:`Custo`,tool:`Ferramenta`,resolution:`Resolução`,state:`Estado`,stopReason:`Motivo da parada`,tokens:`{{formatted}} ficha`,tokens_plural:`{{formatted}} fichas`},fallbacks:{tool:`ferramenta`,unknown:`desconhecido`,resolved:`resolvido`,unknownError:`Erro desconhecido`},toasts:{loadStatusFailed:`Não foi possível carregar o status Libre Claw`,enterTask:`Insira uma tarefa para Libre Claw`,runStarted:`Execução do Libre Claw iniciada`,startRunFailed:`Não foi possível iniciar a execução do Libre Claw`,runCancelled:`Execução cancelada`,cancelRunFailed:`Não foi possível cancelar a execução`,approved:`Aprovado`,denied:`Negado`,resolvePermissionFailed:`Não foi possível resolver a permissão`,providerModelRequired:`Provedor e modelo são obrigatórios`,modelUpdated:`Modelo do Libre Claw atualizado`,updateModelFailed:`Não foi possível atualizar o modelo`,themeUpdated:`Tema do Libre Claw atualizado`,updateThemeFailed:`Não foi possível atualizar o tema`,automationRequired:`O nome da automação, a programação e o prompt são obrigatórios`,automationCreated:`Automação criada`,createAutomationFailed:`Não foi possível criar a automação`,automationUpdated:`Automação atualizada`,updateAutomationFailed:`Não foi possível atualizar a automação`}},work:{title:`Trabalho`,subtitle:`Espaços de trabalho isolados para modelos`,tasks:{title:`Tarefas de trabalho`,subtitle:`Espaços de trabalho locais persistentes`,new:`Nova tarefa`,emptyTitle:`Nenhuma tarefa de trabalho ainda`,empty:`Suas tarefas de trabalho aparecerão aqui depois que você enviar a primeira mensagem.`,untitled:`Tarefa sem título`,actions:`Ações da tarefa`,delete:`Excluir tarefa`,deleteNamed:`Excluir {{title}}`,deleteConfirm:`Excluir “{{title}}” e seu espaço de trabalho permanentemente?`,close:`Fechar tarefas de trabalho`,open:`Abrir tarefas de trabalho`,rename:`Título da tarefa`,loading:`Carregando tarefa…`,notFound:`Esta tarefa de trabalho não está disponível`,back:`Iniciar uma nova tarefa`,status:`Status: {{status}}`},landing:{title:`Iniciar uma nova tarefa de trabalho`,description:`Dê a um modelo local ou de um provedor configurado um espaço de trabalho isolado e persistente. Ele pode inspecionar arquivos, executar ferramentas e continuar de onde parou quando você voltar.`,isolated:`Isolado`,isolatedBody:`Cada tarefa tem seu próprio contêiner e arquivos.`,durable:`Persistente`,durableBody:`Volte mais tarde à conversa e ao espaço de trabalho.`,controlled:`Controlado`,controlledBody:`O ambiente de execução e os arquivos da tarefa permanecem isolados do host.`},composer:{placeholder:`Descreva o que você quer criar ou alterar…`,model:`Modelo de trabalho`,noModels:`Nenhum modelo compatível com o modo Trabalho`,cancel:`Parar`,send:`Executar`,hint:`Cada tarefa mantém seus próprios arquivos e histórico. Revise a saída do modelo antes de usá-la.`,remoteTitle:`Provedor remoto`,remoteHint:`A conversa e a saída das ferramentas são enviadas ao serviço configurado. Uma execução autônoma pode fazer várias chamadas ao provedor e gerar cobranças. Os arquivos do espaço de trabalho permanecem locais, a menos que uma ferramenta retorne seu conteúdo.`,remoteDismiss:`Ocultar`,remoteDismissLabel:`Ocultar aviso do provedor remoto`,remoteDismissFailed:`Não foi possível salvar a preferência do provedor remoto.`,noModelSelected:`Nenhum modelo compatível com o modo Trabalho está selecionado.`},conversation:{ready:`Espaço de trabalho pronto`,empty:`Continue a tarefa abaixo. Esta conversa e seus arquivos permanecem vinculados a este espaço de trabalho.`,loadOlder:`Carregar mensagens anteriores`},status:{preparing:`Preparando o espaço de trabalho isolado…`,running:`Trabalhando no espaço de trabalho local…`},statusLabels:{idle:`Inativo`,thinking:`Pensando`,complete:`Concluído`,needsInput:`Entrada necessária`,error:`Erro`},live:{connecting:`Conectando às atualizações ao vivo…`,reconnecting:`Reconectando às atualizações ao vivo…`,unavailable:`Atualizações ao vivo indisponíveis`,newActivity:`Nova atividade`,skillsLoaded:`Habilidades do espaço de trabalho · {{count}}`},runtime:{unavailable:`Ambiente de execução indisponível`,ready:`Ambiente de execução pronto`,readyOllama:`Docker pronto`,readyPlugin:`Docker + plugin prontos`,readyHybrid:`Docker + modelos prontos`,reason:`São necessários o Docker e um provedor de modelos disponível via Ollama ou um plugin.`},workspace:{label:`Visualizações do espaço de trabalho`,files:`Arquivos`,activity:`Atividade`,preview:`Pré-visualização`,resize:`Redimensionar a conversa e o espaço de trabalho`,resizeHint:`Arraste para redimensionar. Use as teclas de seta para um controle preciso. Clique duas vezes ou pressione Enter para restaurar.`,splitSize:`Conversa {{conversation}}%, espaço de trabalho {{workspace}}%`,terminal:`Terminal`},files:{discard:`Descartar alterações não salvas no arquivo?`,leaveWithDraft:`Sair deste arquivo? Sua edição não salva permanecerá como rascunho no navegador.`,up:`Pasta superior`,back:`Voltar aos arquivos`,empty:`Ainda não há arquivos nesta pasta.`,select:`Selecione um arquivo para inspecioná-lo e editá-lo.`,editorLabel:`Editor de arquivos: {{path}}`,format:`Formatar`,formatted:`Código formatado.`,formatFailed:`Não foi possível formatar este arquivo.`,formatShortcut:`Formatar (Shift+Alt+F)`,formatTooLarge:`A formatação é limitada a arquivos com menos de 100.000 caracteres e 4.000 linhas.`,formatUnsupported:`A formatação não está disponível para este tipo de arquivo.`,saveShortcut:`Salvar (⌘/Ctrl+S)`,highlightPaused:`O realce em tempo real está pausado para arquivos grandes, mantendo a edição responsiva.`,plainTextLarge:`Texto sem formatação · arquivo grande`,changes:`Alterações`,changesSince:`O que mudou desde o último turno`,diffLabel:`Alterações desde o último turno: {{path}}`,diffFolded:`{{count}} linhas inalteradas`},activity:{empty:`Comandos, operações de arquivo e resultados de ferramentas aparecerão aqui.`,toolActivity:`Atividade de ferramentas`,details:`Detalhes`,kinds:{message:`Mensagem`,toolCall:`Chamada de ferramenta`,toolResult:`Resultado da ferramenta`,error:`Erro`}},preview:{command:`Comando de início opcional`,start:`Iniciar pré-visualização`,stop:`Parar pré-visualização`,open:`Abrir`,starting:`Iniciando pré-visualização…`,frameTitle:`Pré-visualização do espaço de trabalho`,failed:`Não foi possível iniciar a pré-visualização. Verifique Atividade e tente outro comando.`,empty:`Inicie o aplicativo neste espaço de trabalho para inspecioná-lo aqui.`},mobile:{surface:`Visualização da tarefa`,conversation:`Conversa`,workspace:`Espaço de trabalho`},toasts:{runFailed:`Não foi possível iniciar a tarefa de trabalho.`,updateFailed:`Não foi possível atualizar esta tarefa.`,renameFailed:`Não foi possível renomear esta tarefa.`,cancelled:`Execução da tarefa de trabalho interrompida.`,cancelFailed:`Não foi possível interromper a execução da tarefa de trabalho.`,deleteFailed:`Não foi possível excluir esta tarefa de trabalho.`,saveFailed:`Não foi possível salvar este arquivo.`,saved:`Arquivo salvo.`,previewFailed:`Não foi possível iniciar a pré-visualização.`,previewStopFailed:`Não foi possível parar a pré-visualização.`},terminal:{connecting:`Abrindo um shell na sandbox…`,closed:`Sessão de terminal encerrada.`,failed:`Não foi possível iniciar a sessão de terminal.`,reconnect:`Reconectar`,unavailable:`O terminal interativo não está disponível nesta implantação.`,blockedByRun:`O modelo está usando este contêiner. O terminal abre ao fim do turno.`,taskRunning:`Turno do modelo em andamento`},policy:{label:`Política de execução`,default:`Padrão (limites globais)`}},usageAnalytics:{eyebrow:`Administração`,title:`Uso do provedor`,description:`Acompanhe as chamadas de API de saída e o consumo de modelos nos plugins habilitados nesta instância.`,days:`{{count}} dias`,refresh:`Atualizar uso`,loadFailed:`O uso do provedor não pôde ser carregado.`,metrics:{calls:`Chamadas`,tokens:`Tokens`},cards:{calls:`Chamadas de API`,callsDetail:`Entre {{count}} usuário(s) ativo(s)`,tokens:`Tokens relatados`,tokensDetail:`Uso relatado em {{count}} chamada(s)`,success:`Taxa de sucesso`,successDetail:`{{count}} chamada(s) com falha`,latency:`Latência média`,latencyDetail:`Tempo total do provedor`},activity:{title:`Consumo ao longo do tempo`,callsDescription:`Solicitações diárias de saída para plugins ativados`,tokensDescription:`Totais diários de tokens reportados pelos provedores`,chartLabel:`Gráfico diário de {{metric}} do provedor`},models:{title:`Consumo por modelo`,description:`Os modelos com maior tráfego neste período.`,model:`Modelo`,success:`Sucesso`,latency:`Latência`},providers:{title:`Tráfego de plugins ativados`},capabilities:{title:`Mix de capacidades`,characters:`{{count}} caracteres`,images:`{{count}} imagens`,jobs:`{{count}} trabalhos de vídeo`,inputs:`{{count}} entradas`,reportedTokens:`{{count}} tokens reportados`},empty:{title:`Nenhuma chamada de provedor ainda`,description:`As chamadas aparecerão aqui após um plugin ativado processar solicitações de chat, trabalho, incorporação, imagem, fala, som ou vídeo.`},privacyNote:`O uso é medido no servidor no limite do plugin de saída. O Libre WebUI armazena provedor, modelo, tempo, status e contadores reportados — nunca prompts, respostas, endpoints, credenciais ou corpos de erro do provedor. Os totais de tokens incluem apenas chamadas em que o provedor retornou metadados de uso.`,heatmap:{title:`Um ano de atividade`,description:`Chamadas diárias a provedores no último ano, coloridas pelo modelo mais usado de cada dia.`,calls:`chamadas`,noCalls:`Sem chamadas`,other:`Outros modelos`,less:`Menos`,more:`Mais`,yearTotal:`{{formatted}} chamadas no último ano`}},systemPage:{eyebrow:`Administração`,title:`Sistema`,description:`Monitore a máquina e o tempo de execução que hospedam esta instância do Libre WebUI.`,updated:`Atualizado em {{date}}`,refresh:`Atualizar informações do sistema`,loadFailed:`Não foi possível carregar as informações do sistema.`,cards:{uptime:`Tempo de atividade do host`,uptimeDetail:`Em execução desde {{date}}`,memory:`Memória usada`,memoryDetail:`{{used}} de {{total}}`,freeSpace:`Espaço livre`,freeSpaceDetail:`{{label}} · {{total}} total`,containers:`Contêineres em execução`,containersDetail:`{{total}} contêiner(es) conhecidos pelo Docker`,dockerUnavailable:`Docker indisponível`,unavailable:`Indisponível`},host:{title:`Host e tempo de execução`,description:`Detalhes do sistema operacional, processador e processo do Libre WebUI.`,container:`Tempo de execução do contêiner`,native:`Runtime nativo`,hostname:`Nome do host`,operatingSystem:`Sistema operacional`,processor:`Processador`,logicalCpus:`CPUs lógicos`,loadAverage:`Carga média · 1 / 5 / 15 min`,libreVersion:`Libre WebUI`,nodeVersion:`Node.js`,process:`Processo`,workingDirectory:`Diretório de trabalho`},memory:{title:`Memória`,description:`Memória do sistema visível ao runtime e uso do processo da aplicação.`,usedOf:`{{used}} usados de {{total}}`,free:`{{value}} livres`,processRss:`RSS do processo`,heapUsed:`Heap V8 usado`,heapTotal:`Heap V8 total`,external:`Memória externa`},storage:{title:`Armazenamento`,description:`Espaço disponível para o sistema de arquivos do runtime e dados persistentes da aplicação.`,used:`{{value}} usados`,free:`{{value}} livres`,empty:`As informações do sistema de arquivos estão indisponíveis neste runtime.`},docker:{title:`Docker`,description:`Status somente leitura do Docker Engine e uma lista reduzida de contêineres.`,connected:`Conectado`,unavailable:`Indisponível`,unavailableDetail:`Os diagnósticos do Docker Engine estão indisponíveis.`,socketStatus:`Socket local: {{status}}`,mounted:`montado`,notMounted:`não montado`,running:`Em execução`,stopped:`Parado`,paused:`Pausado`,total:`Total`,version:`Versão`,host:`Host`,architecture:`Arquitetura`,cpus:`CPUs`,memory:`Memória`,container:`Container`,image:`Imagem`,state:`Estado`,created:`Criado`,empty:`Docker está conectado e nenhum container está listado no momento.`},network:{title:`Rede`,description:`Interfaces, endereços e contadores de tráfego Linux visíveis em tempo de execução.`,internal:`interno`,empty:`Nenhuma interface de rede está visível ao runtime da aplicação.`},securityNote:`Esta página é restrita a administradores. O servidor retorna apenas resumos operacionais: não expõe variáveis de ambiente, credenciais, rótulos do Docker, montagens, comandos de container ou payloads de inspeção. Quando o Libre WebUI é executado em um container, os detalhes de CPU e memória em nível de host vêm do Docker Engine quando seu socket local está disponível; outros valores descrevem o runtime da aplicação.`,work:{title:`Work`,description:`Sandboxes de todos os usuários`,access:`Acesso`,accessAdmins:`Somente administradores`,accessAllUsers:`Todos os usuários`,runtimeAvailable:`Disponível`,runtimeUnavailable:`Indisponível`,activeRuntimes:`Runtimes ativos`,pendingCleanups:`Limpezas pendentes`,orphans:`Contêineres órfãos`,owner:`Proprietário`,task:`Tarefa`,state:`Estado`,preview:`Pré-visualização`,terminals:`Terminais`,updated:`Atualizado`,stateRunning:`Em execução`,stateStopped:`Parado`,stateStarting:`Iniciando`,stateUnknown:`Desconhecido`,noTasks:`Ainda não há tarefas do Work.`}},mediaGeneration:{title:`Gerar mídia`,description:`Crie vídeo, som, música ou fala com um provedor de mídia ativado.`,image:`Imagem`,video:`Vídeo`,audio:`Áudio`,sound:`Som`,speech:`Fala`,model:`Modelo`,voice:`Voz ou ID da voz`,resolution:`Resolução`,aspectRatio:`Proporção`,duration:`Duração`,providerDefault:`Padrão do provedor`,generateAudio:`Gerar áudio com o vídeo quando suportado`,prompt:`Prompt`,text:`Texto para falar`,videoPlaceholder:`Descreva a cena, movimento, câmera e iluminação...`,audioPlaceholder:`Digite o texto que você quer que a voz fale...`,soundPlaceholder:`Descreva o som, música, atmosfera ou resposta falada que você deseja...`,generate:`Gerar`,generating:`Gerando… isso pode levar vários minutos`,success:`Mídia gerada e salva no Imagine`,failed:`Falha ao gerar mídia`,loadFailed:`Falha ao carregar provedores de mídia`,noModels:`Nenhum modelo {{kind}} está disponível. Ative um provedor compatível e salve sua credencial primeiro.`},mediaGallery:{itemCount:`{{count}} itens`,empty:`Nenhuma mídia gerada ainda`,emptyHint:`Gere uma imagem, vídeo ou clipe de voz e ele aparecerá aqui.`,filters:{all:`Todos`,image:`Imagens`,video:`Vídeos`,audio:`Áudio`}},whatsNew:{title:`Novidades`,releaseNotes:`Notas de lançamento`,cta:`Certo, vamos lá`},notes:{title:`Notas`,new:`Nova nota`,untitled:`Sem título`,empty:`Ainda não há notas`,selectOrCreate:`Selecione uma nota ou crie uma nova`,contentPlaceholder:`Escreva em Markdown…`,saved:`Guardado`,saveFailed:`Não foi possível guardar a nota`,createFailed:`Não foi possível criar uma nota`,deleteConfirm:`Eliminar esta nota?`,deleteFailed:`Não foi possível eliminar a nota`}};export{e as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={common:{loading:`Загрузка...`,save:`Сохранить`,saving:`Сохранение...`,cancel:`Отмена`,delete:`Удалить`,edit:`Редактировать`,close:`Закрыть`,back:`Назад`,next:`Далее`,confirm:`Подтвердить`,error:`Ошибка`,success:`Успешно`,warning:`Предупреждение`,or:`или`,optional:`необязательно`,enabled:`Включено`,disabled:`Отключено`,on:`Вкл`,off:`Выкл`,yes:`Да`,no:`Нет`,search:`Поиск`,noResults:`Ничего не найдено`,retry:`Повторить`,refresh:`Обновить`,download:`Скачать`,upload:`Загрузить`,export:`Экспорт`,import:`Импорт`,reset:`Сбросить`,apply:`Применить`,clear:`Очистить`,all:`Все`,none:`Нет`,default:`По умолчанию`,custom:`Пользовательский`,remove:`Удалить`},brand:{name:`Libre WebUI`,shortName:`Libre`},auth:{login:{title:`С возвращением`,subtitle:`Войдите в свой аккаунт, чтобы продолжить`,username:`Имя пользователя`,usernamePlaceholder:`Введите имя пользователя`,password:`Пароль`,passwordPlaceholder:`Введите пароль`,signIn:`Войти`,signingIn:`Вход...`,noAccount:`Нет аккаунта?`,signUpHere:`Зарегистрируйтесь здесь`,loginSuccess:`Вход выполнен успешно!`,loginFailed:`Ошибка входа`,checkCredentials:`Ошибка входа. Проверьте учётные данные.`,enterBoth:`Пожалуйста, введите имя пользователя и пароль`,githubSuccess:`Вход через GitHub выполнен успешно!`,githubFailed:`Ошибка аутентификации GitHub`,githubVerifyFailed:`Не удалось проверить аутентификацию GitHub`,approvalPending:`Ваш аккаунт ожидает одобрения администратором.`},signup:{title:`Создать аккаунт`,subtitle:`Зарегистрируйте новый аккаунт`,username:`Имя пользователя`,usernamePlaceholder:`Выберите имя пользователя`,email:`Эл. почта`,emailPlaceholder:`ваш@email.com`,password:`Пароль`,passwordPlaceholder:`Выберите пароль`,confirmPassword:`Подтвердите пароль`,confirmPasswordPlaceholder:`Подтвердите ваш пароль`,createAccount:`Создать аккаунт`,creatingAccount:`Создание аккаунта...`,hasAccount:`Уже есть аккаунт?`,signInHere:`Войдите здесь`,signupSuccess:`Аккаунт успешно создан!`,signupFailed:`Ошибка регистрации`,tryAgain:`Ошибка регистрации. Попробуйте снова.`,usernameRequired:`Имя пользователя и пароль обязательны`,passwordMismatch:`Пароли не совпадают`,passwordTooShort:`Пароль должен содержать не менее 6 символов`,approvalPending:`Регистрация получена. Администратор должен одобрить ваш аккаунт.`,awaitingApproval:`Ожидает одобрения`,awaitingApprovalDescription:`Ваш аккаунт создан, но администратор должен активировать его, прежде чем вы сможете войти.`,backToSignIn:`Вернуться к входу`},logout:{button:`Выйти`,success:`Выход выполнен успешно`},oauth:{continueWith:`Продолжить через {{provider}}`,connectingTo:`Подключение к {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`},checkingAuth:`Проверка аутентификации...`,welcome:`Добро пожаловать`,noEmail:`Email не указан`,role:`Роль`,id:`ID`,userId:`ID пользователя`,signInDescription:`Войдите с помощью учётной записи GitHub, чтобы продолжить`,signInWithGitHub:`Войти через GitHub`,jwtActive:`JWT-аутентификация активна`,jwtDescription:`JWT-аутентификация с GitHub OAuth`,github:`GitHub`,provider:`Провайдер`,tagline:`Ваш ИИ-стек должен подчиняться вам.`,selfHosted:`Самостоятельный хостинг · Apache 2.0`,highlights:{local:{title:`Локально`,body:`Ваши диалоги и файлы остаются на устройстве, на котором вы это запускаете.`},providers:{title:`Любой провайдер`,body:`Локальные модели через Ollama, а также удаленные провайдеры, которые вы добавляете.`},work:{title:`Изолированная работа`,body:`Предоставьте модели изолированное рабочее пространство с файлами, терминалом и предпросмотром.`}}},setup:{welcome:{title:`Добро пожаловать в Libre WebUI`,subtitle:`Давайте начнём`,description:`Настройте ваш экземпляр Libre WebUI за несколько шагов`,createAdmin:`Создать аккаунт администратора`,features:{secure:{title:`Безопасность и конфиденциальность`,description:`Ваши разговоры остаются на вашем устройстве`},fast:{title:`Быстрый и отзывчивый`,description:`Оптимизирован для скорости и производительности`},openSource:{title:`Открытый исходный код`,description:`Бесплатное программное обеспечение с открытым исходным кодом`}}},admin:{title:`Создать аккаунт администратора`,subtitle:`Настройка администратора`,description:`Создайте первый аккаунт администратора для вашего экземпляра Libre WebUI`,usernamePlaceholder:`Введите имя администратора`,passwordPlaceholder:`Введите пароль (мин. 6 символов)`,confirmPlaceholder:`Подтвердите пароль`,creating:`Создание...`,createAdmin:`Создать администратора`,success:`Аккаунт администратора успешно создан!`,failed:`Не удалось создать аккаунт администратора`,fillAllFields:`Пожалуйста, заполните все поля`,note:`Это будет основной аккаунт администратора для вашего экземпляра Libre WebUI`,approvalUnexpected:`Не удалось активировать первоначального администратора. Пожалуйста, попробуйте снова.`},encryptionKey:{title:`Сохраните ваш ключ шифрования`,subtitle:`Важно: Сохраните этот ключ`,description:`Этот ключ шифрования защищает ваши конфиденциальные данные. Храните его надёжно — он понадобится при восстановлении базы данных.`,warning:`Предупреждение`,warningText:`Если вы потеряете этот ключ и вам потребуется восстановить базу данных, ваши зашифрованные данные (API-ключи, настройки) будут утеряны безвозвратно.`,label:`Ваш ключ шифрования`,loading:`Загрузка...`,copyToClipboard:`Копировать в буфер обмена`,copied:`Ключ шифрования скопирован в буфер обмена!`,copyFailed:`Не удалось скопировать ключ в буфер обмена`,envNote:`Этот ключ также сохранён в файле backend/.env как ENCRYPTION_KEY`,acknowledgment:`Я сохранил ключ шифрования в надёжном месте и понимаю, что его потеря может привести к утрате данных.`,confirmRequired:`Пожалуйста, подтвердите, что вы сохранили ключ шифрования`,continue:`Продолжить к Libre WebUI`}},chat:{greeting:{morning:`Доброе утро`,afternoon:`Добрый день`,evening:`Добрый вечер`,night:`Доброй ночи`},followUp:`Продолжить`,welcome:{helpToday:`Чем могу помочь сегодня?`,helpTonight:`Чем могу помочь сегодня вечером?`,variety:{create:{title:`Что будем создавать?`,subtitle:`Начните с мысли, наброска или задачи, которая никак не поддаётся.`},explore:{title:`С чего начнём?`,subtitle:`Расскажите о вопросе, к которому постоянно возвращаетесь.`},imagine:{title:`Что вы представляете?`,subtitle:`Мы можем вместе придать этому форму.`},focus:{title:`Что заслуживает вашего внимания?`,subtitle:`Давайте проясним следующий шаг.`},untangle:{title:`Что нужно распутать?`,subtitle:`Для начала покажите всё как есть, даже если пока хаотично.`},momentum:{title:`Начнём, когда будете готовы.`,subtitle:`Вернитесь к идее, плану или незаконченной теме.`},open:{title:`О чём вы думаете?`,subtitle:`Небольшая мысль или амбициозный проект. Подойдёт и то и другое.`},challenge:{title:`Что мы решаем?`,subtitle:`Расскажите, что пока не работает.`},draft:{title:`Давайте с чего-нибудь начнём.`,subtitle:`Необязательно сразу доводить до блеска.`},possibility:{title:`Во что это может превратиться?`,subtitle:`Покажите мне исходный материал.`},unexpected:{title:`Создадим что-нибудь неожиданное.`,subtitle:`Дайте мне ограничение, настроение или не до конца оформленную идею.`}}},input:{placeholder:`Отправить сообщение`,messagePlaceholder:`Сообщение...`,attachImages:`Прикрепить изображения`,attachments:`Вложения и дополнительные функции`,sendMessage:`Отправить сообщение`,stopGeneration:`Остановить генерацию`,menu:{uploadImages:`Загрузить изображения`,attachDocument:`Прикрепить документ`,attachWebpage:`Прикрепить веб-страницу`,structuredOutput:`Структурированный вывод`,attach:`Прикрепить`,documentAttached:`Документ прикреплён`,webpageAttached:`Веб-страница прикреплена`,attachFailed:`Не удалось прикрепить`,attachKnowledge:`Прикрепить знания`,noCollections:`Коллекций пока нет — создайте в Настройках → Документы`},voiceInput:`Голосовой ввод`,voiceStop:`Остановить прослушивание`},session:{new:`Новый чат`,work:`Работа`,chat:`Чат`,private:`Приватный`,privateMode:`Приватный режим`,privateDescription:`Этот разговор не будет сохранён`,privateTooltip:`Начать приватный разговор, который не будет сохранён`,deleteConfirm:`Вы уверены, что хотите удалить этот чат?`,generatingTitle:`Генерация заголовка`,noChats:`Чатов пока нет`,createFirst:`Создайте свой первый чат выше`,chats:`Чаты`,renameChat:`Переименовать чат`,deleteChat:`Удалить чат`,incognito:`Чат в режиме инкогнито`,archiveChat:`Архивировать чат`,groups:{today:`Сегодня`,yesterday:`Вчера`,previous7Days:`Последние 7 дней`,previous30Days:`Последние 30 дней`,older:`Старее`},folder:{new:`Новая папка`,namePlaceholder:`Название папки`,move:`Переместить в папку`,remove:`Убрать из папки`,delete:`Удалить папку`,deleteConfirm:`Удалить эту папку? Чаты внутри сохранятся.`}},persona:{applied:`Персона применена`,label:`Персона`,removeFailed:`Не удалось удалить персону`},model:{updated:`Модель обновлена`,noModels:`Модели недоступны`,noModelsDescription:`Модели недоступны. Убедитесь, что Ollama запущен и модели установлены.`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`Модели недоступны. Убедитесь, что Ollama запущен и модели установлены.`,selectBeforePrivateChat:`Выберите доступную модель перед началом приватного чата`,selectBeforeSending:`Выберите доступную модель перед отправкой`},footer:{disclaimer:`ИИ может ошибаться — проверяйте важную информацию`,images:`{{count}} изображение`,images_plural:`{{count}} изображений`,structuredOutput:`Структурированный вывод`},mediaUpload:{dropImagesHere:`Перетащите изображения сюда или`,supportedFormats:`Поддерживаются: JPG, PNG, GIF, WebP (макс. 10 МБ каждый)`,browse:`выберите`},structuredOutput:{title:`Формат ответа`,none:`Нет (естественный язык)`,noneDescription:`Стандартный ответ на естественном языке`,json:`JSON`,jsonDescription:`Структурированный формат JSON`,list:`Список`,listDescription:`Массив элементов`,summary:`Резюме`,summaryDescription:`Краткое изложение документа с ключевыми моментами`,analysis:`Анализ`,analysisDescription:`Структурированный анализ с плюсами/минусами`,custom:`Пользовательская схема`,customDescription:`Определите собственную JSON-схему`,customSchema:`Пользовательская JSON-схема`,schemaPreview:`Предпросмотр схемы`,applySchema:`Применить схему`,cancel:`Отмена`,enabled:`Структурированный вывод включён`},controls:{title:`Настройки чата`,systemPrompt:`Системный промпт`,systemPromptPlaceholder:`Инструкции только для этого чата…`,advancedParams:`Расширенные параметры`,advancedParamsDescription:`Переопределения для этого чата. Пустые поля используют глобальные значения.`,fromModel:`из модели`,fromModelHint:`Это значение взято из рекомендованных настроек самой модели.`,contextCapped:`Контекст ограничен {{context}} из {{trained}}, на которых обучалась модель, чтобы она загружалась.`,saved:`Настройки сохранены`,saveFailed:`Не удалось сохранить настройки`,params:{temperature:`Температура`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`Макс. токенов`,repeatPenalty:`Штраф за повторы`,seed:`Сид`,contextLength:`Длина контекста`}}},sidebar:{navigation:{chat:`Чат`,models:`Модели`,personas:`Персоны`,imagine:`Изображения`,settings:`Настройки`,userManagement:`Управление пользователями`,signOut:`Выйти`,agents:`Агенты`,work:`Работа`,exploreLabel:`Обзор`,usageAnalytics:`Использование провайдеров`,system:`Система`,notes:`Заметки`},toggleSize:`Переключить размер боковой панели`,expandSidebar:`Развернуть боковую панель`},user:{menu:{changePicture:`Изменить фото`,settings:`Настройки`,userManagement:`Управление пользователями`,logout:`Выйти`,usageAnalytics:`Использование провайдеров`,system:`Система`},avatar:{title:`Изменить фото профиля`,updated:`Фото профиля обновлено`,updateFailed:`Не удалось обновить фото профиля`,saving:`Сохранение...`,label:`Аватар`,uploadAvatarImage:`Загрузить изображение аватара`,dragAndDrop:`Перетащите изображение или нажмите для выбора`,chooseImage:`Выбрать изображение`,uploading:`Загрузка...`,enterImageUrl:`Или введите URL изображения`,supportedFormats:`Поддерживаются: JPG, PNG, GIF, WebP (макс. 2 МБ). Квадратные изображения подходят лучше всего.`,customAvatar:`Пользовательское изображение аватара`,clickToChange:`Нажмите, чтобы изменить или удалить`,removed:`Аватар удалён`,uploaded:`Аватар успешно загружен`,invalidFile:`Пожалуйста, выберите корректный файл изображения`,fileTooLarge:`Размер изображения аватара должен быть менее 2 МБ`,readFailed:`Не удалось прочитать файл изображения`,uploadFailed:`Не удалось загрузить изображение аватара`},profile:{noEmail:`Эл. почта не указана`}},settings:JSON.parse(`{"title":"Настройки","tabs":{"appearance":"Внешний вид","model":"Модель","systemMessage":"Системное сообщение","plugins":"Плагины","generation":"Генерация","documents":"Документы","tts":"Синтез речи","imageGen":"Генерация изображений","data":"Данные","shortcuts":"Сочетания клавиш","about":"О программе"},"appearance":{"title":"Внешний вид","language":{"title":"Язык","description":"Выберите предпочтительный язык"},"theme":{"title":"Тема","light":"Светлая","dark":"Тёмная","amoled":"Глубокий Чёрный","system":"Системная"},"accent":{"title":"Акцентный цвет","custom":"Пользовательский цвет","useColor":"Использовать {{color}} как акцент","behaviorTitle":"Палитра интерфейса","behaviorDescription":"Выберите, останется ли акцент только на элементах управления или изменит весь светлый либо тёмный интерфейс.","defaultStyle":"По умолчанию","defaultStyleDescription":"Сохранить нейтральные поверхности светлой и тёмной темы.","adaptedStyle":"Адаптировать к акценту","adaptedStyleDescription":"Окрасить поверхности, границы и текст в акцентный цвет."},"chatInterface":{"title":"Интерфейс чата","showUsername":"Показывать имя пользователя","showUsernameDescription":"Отображать имя пользователя в сообщениях чата","followUpSuggestions":"Подсказки для продолжения","followUpSuggestionsDescription":"Предлагать быстрые ответы после каждого ответа","hapticFeedback":"Тактильная отдача (Android)","hapticFeedbackDescription":"Использовать лёгкую вибрацию для важных действий на мобильном устройстве"},"background":{"title":"Фоновое изображение","enable":"Включить фоновое изображение","enableDescription":"Показывать пользовательский фон с эффектом размытия","blur":"Размытие","opacity":"Прозрачность","upload":"Загрузить фоновое изображение","dragDrop":"Перетащите изображение или нажмите для выбора","chooseImage":"Выбрать изображение"}},"saveSettings":"Сохранить настройки","model":{"title":"Настройки модели","defaultModel":"Модель по умолчанию","defaultModelDescription":"Эта модель будет использоваться по умолчанию для новых разговоров","selectModel":"Выберите модель","updateAll":"Обновить все модели","updateAllDescription":"Проверить обновления и загрузить последние версии всех установленных моделей","updateAllButton":"Обновить все","updating":"Обновление моделей...","currentModelInfo":"Информация о текущей модели","name":"Название","size":"Размер","family":"Семейство","format":"Формат","status":"Статус","statusStarting":"Запуск...","statusComplete":"Завершено","statusError":"Ошибка","bulkOperations":"Массовые операции","autoTitle":{"title":"Автогенерация заголовков","enable":"Включить автогенерацию заголовков","enableDescription":"Автоматически генерировать заголовки для новых разговоров","taskModel":"Модель для задач","selectTaskModel":"Выберите модель для задач","taskModelDescription":"Модель для генерации заголовков разговоров"},"persona":"Персона","updatingModel":"Обновление {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} из {{total}} моделей","specializedModels":"Специализированные модели","visionModel":"Модель зрения","selectVisionModel":"Использовать текущую модель чата","visionModelDescription":"Используется автоматически, когда исходящий контекст чата содержит изображения. Выберите модель, поддерживающую ввод изображений.","visionModelUpdateFailed":"Не удалось обновить модель зрения: {{error}}","visionModelNoProvider":"У этой модели зрения нет идентификатора провайдера. Выберите доступную модель."},"systemMessage":{"title":"Системное сообщение","description":"Установите пользовательское системное сообщение, которое будет использоваться для всех новых разговоров.","placeholder":"Введите системное сообщение...","saved":"Системное сообщение сохранено","saveFailed":"Не удалось сохранить системное сообщение"},"plugins":{"title":"Плагины","description":"Управление установленными плагинами","addNew":"Добавить новый плагин","upload":"Загрузить плагин","addJson":"Добавить JSON","uploading":"Загрузка...","jsonPlaceholder":"Вставьте JSON-конфигурацию плагина...","install":"Установить плагин","noPlugins":"Плагины не установлены","noPluginsDescription":"Добавьте плагин для расширения функциональности","loading":"Загрузка плагинов...","installed":"Установленные плагины","active":"Активные плагины","activeLabel":"Активен","inactive":"Неактивен","activate":"Активировать","deactivate":"Деактивировать","models":"моделей","apiKeySet":"API-ключ установлен","apiKeyConfiguration":"Настройка API-ключа","apiKeyEnvAlternative":"Или установите переменную","environmentVariable":"переменную окружения","apiKeyConfigured":"API-ключ настроен","apiKeyPlaceholder":"Введите ваш API-ключ...","saveApiKey":"Сохранить API-ключ","apiKey":{"title":"API-ключ","placeholder":"Введите API-ключ","save":"Сохранить ключ","remove":"Удалить ключ","configured":"API-ключ настроен","notConfigured":"Требуется API-ключ","saved":"API-ключ успешно сохранён","removed":"API-ключ удалён","saveFailed":"Не удалось сохранить API-ключ","removeFailed":"Не удалось удалить API-ключ","enterKey":"Пожалуйста, введите API-ключ"},"variables":"Variables","providerConnections":"Подключения провайдеров","providerConnectionsDescription":"Подключайте, настраивайте и проверяйте провайдеров моделей через плагины.","providers":"Провайдеры","searchProviders":"Поиск провайдеров","noProvidersFound":"По вашему запросу провайдеры не найдены.","selectProvider":"Выберите провайдера","selectProviderDescription":"Выберите провайдера для просмотра его подключения и каталога моделей.","apiKeyDescription":"Сохранить личный API-ключ для {{name}}.","showApiKey":"Показать API-ключ","hideApiKey":"Скрыть API-ключ","configure":"Настроить","providerSettings":"Настройки провайдера","status":"Статус","defaultEndpoint":"Конечная точка по умолчанию","modelCatalog":"Каталог моделей","modelCatalogDescription":"Обнаруженные и настроенные модели для этого провайдера и его возможности.","refreshModels":"Обновить модели","noModelsConfigured":"Для этого провайдера не настроено ни одной модели.","modelId":"ID модели","capabilities":"Возможности","modelCatalogUpdated":"Каталог моделей обновлен: {{count}} моделей.","modelCatalogUnchanged":"Каталог моделей уже актуален.","modelCatalogNeedsApiKey":"Добавьте действительный API-ключ для этого провайдера, чтобы загрузить его актуальный список моделей.","modelCatalogUnavailable":"Не удалось загрузить список моделей провайдера.","modelCatalogRefreshFailed":"Не удалось обновить каталог моделей","capability":{"chat":"Чат","embedding":"Эмбеддинг","image":"Изображение","speech":"Речь","transcription":"Транскрипция"},"exportPlugin":"Экспортировать плагин","deletePlugin":"Удалить плагин"},"generation":{"title":"Параметры генерации","description":"Настройте, как ИИ генерирует ответы","scopeLabel":"Применяется к","scopeAll":"Всем моделям","scopeModel":"Только {{model}}","scopeAllHint":"Значения, которые использует каждая модель, если у неё нет своих.","scopeModelHint":"Сохраняется только для этой модели и имеет приоритет над общими значениями.","coreParameters":"Основные параметры","temperature":"Температура","temperatureDescription":"Контролирует случайность. Низкие значения — более точные, высокие — более творческие.","topP":"Top P","topPDescription":"Контролирует разнообразие через nucleus sampling. Низкие значения фокусируются на вероятных токенах.","topK":"Top K","topKDescription":"Ограничивает выбор токенов до K наиболее вероятных. Установите 0 для отключения.","minP":"Min P","minPDescription":"Минимальный порог вероятности для выбора токена.","generationControl":"Управление генерацией","maxTokens":"Макс. токенов","maxTokensDescription":"Максимальное количество токенов для генерации в ответе.","repeatPenalty":"Штраф за повторение","repeatPenaltyDescription":"Штрафует повторяющиеся токены. Высокие значения уменьшают повторения.","contextLength":"Длина контекста","contextLengthDescription":"Максимальный размер окна контекста для разговоров.","seed":"Seed","optional":"необязательно","random":"Случайный","seedDescription":"Установите конкретный seed для воспроизводимых результатов.","advancedOptions":"Расширенные параметры","presencePenalty":"Штраф за присутствие","presencePenaltyDescription":"Штрафует токены, появляющиеся в контексте.","frequencyPenalty":"Штраф за частоту","frequencyPenaltyDescription":"Штрафует часто используемые токены.","stopSequences":"Стоп-последовательности","commaSeparated":"через запятую","stopSequencesDescription":"Пользовательские токены, которые остановят генерацию при обнаружении.","resetDefaults":"Сбросить по умолчанию","saveOptions":"Сохранить параметры","embeddingSettings":"Настройки встраивания","enableEmbeddings":"Включить встраивание документов","advancedSettings":"Расширенные настройки генерации","advancedSettingsDescription":"Семплинг, лимиты токенов, контекст, штрафы и стоп-последовательности"},"documents":{"title":"Настройки документов","embeddings":{"title":"Встраивание","enable":"Включить встраивание документов","model":"Модель встраивания","modelDescription":"Выберите модель для встраивания документов","chunkSize":"Размер фрагмента","chunkSizeInTokens":"(в токенах)","chunkSizeDescription":"Размер текстовых фрагментов для встраивания","chunkOverlap":"Перекрытие фрагментов","chunkOverlapInTokens":"(в токенах)","chunkOverlapDescription":"Перекрытие между последовательными фрагментами","similarityThreshold":"Порог сходства","similarityDescription":"Минимальный балл сходства для включения результатов","status":"Статус встраивания","statusLabel":"Статус","available":"Доступно","unavailable":"Недоступно","chunksWithEmbeddings":"Фрагментов со встраиванием","coverage":"Покрытие","regenerate":"Перегенерировать встраивания","regenerating":"Перегенерация..."},"collections":{"title":"Коллекции знаний","description":"Группируйте документы в коллекции и прикрепляйте их к любому чату.","namePlaceholder":"Название коллекции","create":"Создать","none":"Без коллекции","deleteConfirm":"Удалить эту коллекцию? Документы внутри сохранятся."}},"tts":{"title":"Синтез речи","description":"Настройте параметры синтеза речи для озвучивания сообщений","loadingProviders":"Загрузка провайдеров TTS...","noProviders":"Провайдеры TTS отсутствуют","noProvidersDescription":"Настройте плагин с поддержкой TTS для включения синтеза речи","enable":"Включить TTS","enableDescription":"Разрешить синтез речи для сообщений ассистента","autoPlay":"Автовоспроизведение ответов","autoPlayDescription":"Автоматически озвучивать новые сообщения ассистента","streamSentences":"Потоковое воспроизведение предложений","streamSentencesDescription":"Воспроизводить аудио по предложениям вместо ожидания полного сообщения. Рекомендуется для локального TTS, чтобы избежать таймаутов на длинных сообщениях.","voiceConfiguration":"Настройка голоса","model":"Модель TTS","modelDescription":"Выберите модель для синтеза речи","voice":"Голос","selectVoice":"Выберите голос","voiceDescription":"Выберите голос для синтеза речи","speed":"Скорость","speedSlow":"0.5x","speedNormal":"1.0x","speedFast":"2.0x","availableProviders":"Доступные провайдеры","models":"моделей","test":"Тест","testing":"Тестирование...","stop":"Стоп"},"imageGen":{"title":"Генерация изображений","description":"Настройте параметры и провайдеров генерации изображений","loadingProviders":"Загрузка провайдеров генерации изображений...","noProviders":"Провайдеры генерации изображений отсутствуют","noProvidersDescription":"Настройте плагин с поддержкой генерации изображений","enable":"Включить генерацию изображений","enableDescription":"Разрешить генерацию изображений ИИ в разговорах","configuration":"Конфигурация","model":"Модель","modelDescription":"Выберите модель для генерации изображений","size":"Размер","sizeDescription":"Разрешение генерируемых изображений","quality":"Качество","qualityDescription":"Уровень качества генерируемых изображений","style":"Стиль","styleDescription":"Пресет стиля для генерируемых изображений","availableProviders":"Доступные провайдеры","models":"моделей"},"data":{"title":"Управление данными","export":"Экспорт данных","exportDescription":"Скачайте все ваши данные, включая настройки, сессии и документы.","exportAll":"Экспортировать все данные","import":"Импорт данных","importDescription":"Импортируйте данные из предыдущего экспорта.","importData":"Импортировать данные","importing":"Импорт...","clearSessions":"Очистить сессии","clearSessionsDescription":"Удалить все сессии чата. Это действие нельзя отменить.","clearAll":"Очистить всё","clearing":"Очистка...","importOptions":"Параметры импорта","importOptionsDescription":"Выберите, как обрабатывать существующие данные","skipDuplicates":"Пропускать дубликаты","overwrite":"Перезаписывать существующие","importResults":"Результаты импорта","preferences":"Настройки","imported":"Импортировано","failed":"Ошибка","sessions":"Сессии","importedLabel":"импортировано","skipped":"пропущено","documents":"Документы","errors":"Ошибки","archivedChats":{"title":"Архивированные чаты","empty":"Нет архивированных чатов","unarchive":"Восстановить"}},"about":{"title":"О программе","versionLabel":"Версия","ollama":{"title":"Статус Ollama","version":"Версия","healthy":"Работает","unhealthy":"Не работает"},"stats":{"models":"Модели","sessions":"Сессии"},"features":{"privacy":{"title":"Конфиденциальность прежде всего","description":"Ваши данные остаются на вашем устройстве"},"openSource":{"title":"Открытый исходный код","description":"Бесплатное программное обеспечение с открытым исходным кодом"},"localInference":{"title":"Локальный вывод","description":"Запускайте модели ИИ локально с Ollama"}},"openSourceBy":"Открытый исходный код от {{company}}","links":{"title":"Ссылки","github":"GitHub","githubDescription":"Просмотр исходного кода и участие","website":"Веб-сайт","websiteDescription":"Посетите наш веб-сайт","ollama":"Ollama","ollamaDescription":"Узнайте больше об Ollama","documentation":"Документация","reportIssue":"Сообщить о проблеме","reportIssueDescription":"Отчёты об ошибках и запросы функций","gitlab":"Зеркало GitLab","gitlabDescription":"Самостоятельно размещённый репозиторий GitLab","documentationDescription":"Руководства, учебники и справочник API"},"version":"Версия {{version}}"},"groups":{"general":"Основные","chat":"Чат","media":"Речь и изображения","connections":"Подключения"}}`),models:{title:`Модели`,subtitle:`Загружайте, управляйте и отслеживайте ваши модели Ollama`,installed:`Установленные модели`,available:`Доступные модели`,pull:`Загрузить модель`,pulling:`Загрузка...`,delete:`Удалить модель`,deleting:`Удаление...`,size:`Размер`,modified:`Изменено`,family:`Семейство`,parameters:`Параметры`,quantization:`Квантование`,noModels:`Модели не установлены`,pullFirst:`Загрузите модель, чтобы начать`,noModelsFound:`Модели не найдены`},personas:{title:`Персоны`,create:`Создать персону`,edit:`Редактировать персону`,delete:`Удалить персону`,name:`Имя`,description:`Описание`,systemPrompt:`Системный промпт`,model:`Модель`,avatar:`Аватар`,background:`Фон`,noPersonas:`Персоны не созданы`,createFirst:`Создайте вашу первую персону для настройки опыта общения`},gallery:{title:`Галерея`,subtitle:`Ваша галерея изображений, созданных ИИ`,imageCount:`{{count}} изображений`,generate:`Создать изображение`,generateDescription:`Создавайте изображения с помощью ИИ`,generating:`Создание...`,prompt:`Промпт`,promptPlaceholder:`Опишите изображение, которое хотите создать...`,noImages:`Изображения ещё не созданы`,download:`Скачать`,delete:`Удалить`,regenerate:`Пересоздать`,model:`Модель`,size:`Размер`,quality:`Качество`,created:`Создано`},errors:{generic:`Произошла ошибка`,network:`Сетевая ошибка. Проверьте подключение.`,unauthorized:`У вас нет прав для выполнения этого действия.`,notFound:`Запрошенный ресурс не найден.`,serverError:`Ошибка сервера. Попробуйте позже.`,validation:`Проверьте введённые данные и попробуйте снова.`},keyboard:{title:`Горячие клавиши`,toggleSidebar:`Переключить боковую панель`,openSettings:`Открыть настройки`,toggleDarkMode:`Переключить тёмный режим`,showShortcuts:`Показать горячие клавиши`,closeModals:`Закрыть окна`,groups:{navigation:`Навигация`,general:`Общие`,chat:`Чат`,workspace:`Рабочая область`},actions:{sendMessage:`Отправить сообщение`,newLine:`Новая строка в сообщении`,saveEdit:`Сохранить изменённое сообщение`,cancelEdit:`Отменить редактирование`,saveFile:`Сохранить файл`,formatCode:`Форматировать код`},description:`Все сочетания клавиш, доступные в Libre WebUI.`,newChat:`Новый чат`,newWork:`Новая сессия Work`,openPalette:`Открыть палитру команд`},modelManager:{title:`Модели`,loading:`Загрузка моделей...`,systemStatus:{online:`Ollama онлайн`,offline:`Ollama офлайн`,models:`модель`,models_plural:`моделей`,running:`запущено`,vram:`VRAM`},sections:{pull:`Загрузить новую модель`,library:`Обзор библиотеки`,running:`Запущенные модели`,local:`Локальные модели`,advanced:`Расширенные действия`,huggingface:`HuggingFace Hub`},pull:{placeholder:`Введите название модели (напр., llama3.2:3b, deepseek-r1:14b)`,button:`Загрузить`,cancel:`Отмена`,popular:`Популярные модели:`,browseAll:`Просмотреть все модели на ollama.com`,success:`Модель {{name}} успешно загружена`,cancelled:`Загрузка модели отменена`,failed:`Не удалось загрузить модель`,enterName:`Пожалуйста, введите название модели`,restricted:`Установка моделей в этом экземпляре доступна только администраторам.`},progress:{starting:`Инициализация...`,pulling:`Загрузка модели...`,pullingLayer:`загрузка`,verifying:`Проверка целостности...`,verifyingDigest:`проверка sha256 дайджеста`,writing:`Запись манифеста...`,cleaning:`Очистка...`},library:{available:`доступно`,search:`Поиск моделей...`,noResults:`Модели не найдены по вашим критериям`,installed:`Установлено`,more:`+{{count}} ещё`,refresh:`Обновить библиотеку`},local:{noModels:`Модели ещё не установлены`,pullToStart:`Загрузите модель выше, чтобы начать`,installed:`установлено`,running:`Запущено`,info:`Инфо`,copy:`Копировать`,delete:`Удалить`,deleteConfirm:`Вы уверены, что хотите удалить модель "{{name}}"?`,deleteSuccess:`Модель {{name}} успешно удалена`,deleteFailed:`Не удалось удалить модель`},advanced:{createModel:`Создать модель`,fromModelfile:`Из Modelfile`,copyModel:`Копировать модель`,duplicateExisting:`Дублировать существующую`,testEmbeddings:`Тест встраивания`,generateVectors:`Создать векторы`,healthCheck:`Проверка состояния`,testConnection:`Проверить соединение`,healthy:`Ollama работает нормально!`},modals:{details:{title:`Детали модели`,info:`Информация о модели`,family:`Семейство`,parameters:`Параметры`,quantization:`Квантование`,format:`Формат`,systemPrompt:`Системный промпт`,template:`Шаблон`,license:`Лицензия`,modelfile:`Modelfile`,noDetails:`Детали недоступны`},copy:{title:`Копировать модель`,source:`Исходная модель`,selectModel:`Выберите модель...`,newName:`Новое название модели`,placeholder:`напр., my-custom-model`,copying:`Копирование...`,button:`Копировать модель`,success:`Модель скопирована в {{name}}`,failed:`Не удалось скопировать модель`,enterBoth:`Пожалуйста, введите исходное и целевое названия`},create:{title:`Создать пользовательскую модель`,name:`Название модели`,namePlaceholder:`напр., my-assistant`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
|
|
2
|
-
SYSTEM You are a helpful assistant.`,see:`См.`,docs:`Документация Modelfile`,docsLink:`для справки по синтаксису`,creating:`Создание...`,button:`Создать модель`,success:`Модель {{name}} успешно создана`,failed:`Не удалось создать модель`,enterBoth:`Пожалуйста, введите название модели и содержимое Modelfile`},embeddings:{title:`Тест встраивания`,model:`Модель встраивания`,selectModel:`Выберите модель...`,recommended:`Рекомендуется: nomic-embed-text, mxbai-embed-large`,input:`Входной текст`,placeholder:`Введите текст для создания встраивания...`,generating:`Создание...`,button:`Создать встраивание`,result:`Результат ({{count}} измерений)`,success:`Создан {{count}}-мерный вектор встраивания`,failed:`Не удалось создать встраивание`,enterBoth:`Пожалуйста, выберите модель и введите текст`}},huggingface:{browseAll:`Смотреть всё на HuggingFace`,checkingGguf:`Поиск GGUF-файлов...`,noGgufAvailable:`Нет доступных GGUF-файлов для прямой загрузки в Ollama`,ggufFilesCount:`GGUF-файлы ({{count}}) - Загрузить напрямую в Ollama`,noModelsFound:`Модели не найдены`,noResults:`Модели не найдены. Попробуйте изменить поиск или фильтры.`,browseAllLink:`Смотреть всё`,search:`Поиск моделей HuggingFace...`,by:`от`,gated:`Ограниченный доступ`,viewOnHF:`Открыть на HuggingFace`,sortDownloads:`Загрузки`,sortLikes:`Лайки`,sortRecent:`Недавние`,taskTextGeneration:`Генерация текста`,taskTextToSpeech:`Текст в речь`,taskTextToImage:`Текст в изображение`,taskSpeechRecognition:`Распознавание речи`,tasks:{textGen:`Генерация текста`,tts:`Текст в речь`,image:`Текст в изображение`,stt:`Распознавание речи`},sort:{downloads:`Самые загружаемые`,likes:`Самые популярные`,recent:`Недавно обновлённые`}}},personaManager:{title:`Персоны`,subtitle:`Создавайте и управляйте персонами ИИ с пользовательскими личностями, памятью и поведением`,loading:`Загрузка персон...`,createButton:`Создать персону`,importExport:`Импорт/Экспорт`,stats:{title:`Ваши персоны`,count:`Создано {{count}} персона`,count_plural:`Создано {{count}} персон`},empty:{title:`Персон пока нет`,description:`Создайте вашу первую персону для персонализированного взаимодействия с ИИ`,button:`Создать вашу первую персону`},deleteConfirm:`Вы уверены, что хотите удалить "{{name}}"?`,deleteSuccess:`Персона "{{name}}" успешно удалена`,downloadSuccess:`Персона "{{name}}" успешно скачана`,failed:`Не удалось {{action}} персону`},personaForm:{title:{create:`Создать новую персону`,edit:`Редактировать персону`},subtitle:{create:`Создайте новую персону ИИ с пользовательской личностью, системой памяти и адаптивным обучением`,edit:`Настройте вашу персону ИИ с расширенной памятью, адаптивным обучением и интеллектуальными параметрами`},loading:`Загрузка формы...`,saved:`Сохранено`,tabs:{basic:`Основное`,parameters:`Параметры`,memory:`Память и обучение`,advanced:`Расширенное`},basic:{name:`Имя`,namePlaceholder:`Введите имя персоны`,model:`Модель`,selectModel:`Выберите модель`,description:`Описание`,descriptionPlaceholder:`Опишите вашу персону...`,systemPrompt:`Системный промпт`,systemPromptPlaceholder:`Введите системный промпт, определяющий поведение вашей персоны...`,systemPromptHint:`Системный промпт определяет, как ваша персона будет себя вести и отвечать.`},parameters:{temperature:`Температура`,temperatureHint:`Контролирует креативность vs последовательность`,topP:`Top-P`,topPHint:`Контролирует разнообразие ответов`,topK:`Top-K`,topKHint:`Ограничивает словарь до top-k токенов`,contextWindow:`Окно контекста`,contextWindowHint:`Максимальная длина истории разговора`,maxTokens:`Макс. токенов`,maxTokensHint:`Максимальная длина ответа`,repeatPenalty:`Штраф за повторение`,repeatPenaltyHint:`Уменьшает повторяющиеся ответы`},memory:{title:`Система памяти`,subtitle:`Персона запоминает разговоры со временем`,enableHint:`Включите систему памяти, чтобы ваша персона запоминала разговоры и накапливала контекст со временем.`,loading:`Загрузка статуса памяти...`,noData:`Данных памяти пока нет`,memories:`Воспоминания`,mbUsed:`МБ использовано`,lastBackup:`Последний бэкап`,never:`Никогда`,maxMemories:`Максимум воспоминаний`,maxMemoriesHint:`Сколько воспоминаний может хранить эта персона`,retention:`Срок хранения памяти`,retentionHint:`Дней до очистки воспоминаний`,autoCleanup:`Автоочистка старых воспоминаний`,wipeAll:`Очистить всю память`,wipeCannot:`Это нельзя отменить`,wipeButton:`Очистить`,wiping:`Очистка...`,wipeConfirm:`Вы уверены, что хотите очистить всю память? Это нельзя отменить.`,wipeSuccess:`Очищено {{count}} воспоминаний`},learning:{title:`Адаптивное обучение`,subtitle:`Персона развивается на основе взаимодействий`,enableHint:`Включите адаптивное обучение, чтобы ваша персона развивалась и персонализировала ответы на основе ваших взаимодействий.`,speed:`Скорость обучения`,slow:`Медленно`,slowDesc:`Постепенные изменения`,balanced:`Сбалансировано`,balancedDesc:`Умеренный темп`,fast:`Быстро`,fastDesc:`Быстрая адаптация`,autoAdapt:`Автоадаптация к предпочтениям пользователя`,whatLearns:`Что изучает персона:`,conversationTone:`Тон разговора`,responseStyle:`Стиль ответов`,userPreferences:`Предпочтения пользователя`,topicInterests:`Интересующие темы`},advanced:{embeddingModel:`Модель встраивания`,embeddingHint:`Выберите модель для кодирования памяти и семантического поиска. Модели встраивания показаны первыми, затем другие доступные модели.`,noModels:`Модели не найдены`,embeddingModels:`Модели встраивания`,otherModels:`Другие модели`,installHint:`Установите модель встраивания:`,recommended:`Рекомендуется: nomic-embed-text, mxbai-embed-large, bge-m3, snowflake-arctic-embed`,aboutTitle:`О расширенных настройках`,aboutDescription:`Модель встраивания используется системой памяти для понимания семантического значения и поиска релевантных воспоминаний во время разговоров. Выберите модель, соответствующую вашему сценарию использования и доступным ресурсам.`},actions:{cancel:`Отмена`,save:`Сохранить`,saving:`Сохранение...`,saveClose:`Сохранить и закрыть`,create:`Создать`},success:{created:`Персона создана`,updated:`Персона обновлена`},error:{saveFailed:`Не удалось сохранить`}},personaCard:{enhanced:`Улучшенная`,systemPrompt:`Системный промпт`,memories:`воспоминаний`,use:`Использовать`,editTooltip:`Редактировать персону`,downloadTooltip:`Скачать персону`,backup:`Бэкап`,exportDNA:`Экспорт ДНК`,wipeMemories:`Очистить память`,wipeConfirm:`Вы уверены, что хотите очистить всю память этой персоны? Это действие нельзя отменить.`,wipeSuccess:`Очищено {{count}} воспоминаний`,backupSuccess:`Бэкап персоны успешно скачан`,dnaSuccess:`ДНК персоны успешно экспортирована`,failed:`Не удалось {{action}}`},userManager:{title:`Управление пользователями`,subtitle:`Управление аккаунтами и правами пользователей`,pageDescription:`Управляйте учетными записями пользователей, разрешениями и контролем доступа для вашего экземпляра Libre WebUI.`,loading:`Загрузка пользователей...`,createUser:`Создать пользователя`,search:`Поиск пользователей...`,noUsers:`Пользователи не найдены`,noUsersMatching:`Пользователи по вашему запросу не найдены`,columns:{user:`Пользователь`,email:`Эл. почта`,role:`Роль`,created:`Создан`,actions:`Действия`},roles:{admin:`Администратор`,user:`Пользователь`},noEmail:`Нет эл. почты`,deleteConfirm:`Вы уверены, что хотите удалить пользователя "{{name}}"?`,deleteSuccess:`Пользователь успешно удалён`,deleteFailed:`Не удалось удалить пользователя`,cannotDeleteSelf:`Вы не можете удалить свой аккаунт`,form:{title:{create:`Создать пользователя`,edit:`Редактировать пользователя`},username:`Имя пользователя`,usernamePlaceholder:`Введите имя пользователя`,email:`Эл. почта`,emailPlaceholder:`Введите эл. почту (необязательно)`,password:`Пароль`,passwordPlaceholder:`Введите пароль`,passwordHint:`Оставьте пустым, чтобы сохранить текущий пароль`,role:`Роль`,creating:`Создание...`,updating:`Обновление...`,createButton:`Создать пользователя`,updateButton:`Обновить пользователя`,createSuccess:`Пользователь успешно создан`,updateSuccess:`Пользователь успешно обновлён`,createFailed:`Не удалось создать пользователя`,updateFailed:`Не удалось обновить пользователя`},approval:{title:`Ожидающие одобрения`,description:`Проверяйте новые регистрации, прежде чем разрешить им доступ к этому экземпляру.`,registered:`Зарегистрирован`,activate:`Активировать аккаунт`,reject:`Отклонить регистрацию`,approved:`{{name}} теперь может войти.`,failed:`Аккаунт не может быть одобрен.`,notification:`{{count}} регистраций ожидают вашего одобрения.`,notificationBadge:`{{count}} ожидающих одобрений пользователей`},workAccess:{title:`Доступ к Work`,description:`Разрешить всем активным пользователям создавать и запускать задачи Work в изолированных песочницах. Администраторы всегда имеют доступ; рабочие пространства в папках хоста остаются только для администраторов.`,saved:`Доступ к Work обновлён`,saveFailed:`Не удалось обновить доступ к Work`},workPolicies:{title:`Политики Work`,description:`Именованные пресеты среды (образ, лимиты, остановка при простое), под которыми создаются задачи. Пустые поля наследуют глобальные значения.`,add:`Добавить политику`,name:`Название`,image:`Образ`,memory:`Память`,cpu:`CPU`,pids:`Лимит PID`,workspaceSize:`Размер рабочего пространства`,idleMinutes:`Остановка при простое (минуты)`,networkDefault:`Сеть по умолчанию`,networkInherit:`Наследовать умолчание`,networkOn:`Включена`,networkOff:`Отключена`,save:`Сохранить`,cancel:`Отмена`,edit:`Изменить политику`,delete:`Удалить политику`,deleteConfirm:`Удалить эту политику? Задачи, использующие её, вернутся к глобальным значениям.`,empty:`Политик пока нет. Задачи используют глобальные настройки среды.`,saved:`Политика Work сохранена`,deleted:`Политика Work удалена`,failed:`Не удалось сохранить политику Work`}},chatHistory:{label:`История разговора`,jumpToTurn:`Перейти к реплике {{index}} из {{total}}`},chatMessage:{you:`Вы`,assistant:`Ассистент`,system:`Система`,copy:`Копировать`,copyMessage:`Копировать сообщение`,copied:`Скопировано!`,regenerate:`Пересоздать`,regenerateResponse:`Пересоздать ответ`,edit:`Редактировать`,editSystemMessage:`Редактировать системное сообщение`,saveChanges:`Сохранить изменения`,cancelEditing:`Отменить редактирование`,saveAndSubmit:`Сохранить и отправить`,goodResponse:`Хороший ответ`,badResponse:`Плохой ответ`,delete:`Удалить`,deleteConfirm:`Удалить это сообщение?`,branch:`Ветка`,speaking:`Озвучивание...`,speakMessage:`Озвучить сообщение`,stopSpeaking:`Остановить озвучивание`,showMore:`Показать больше`,showLess:`Показать меньше`,thinking:`Думает`,thoughtFor:`Думал {{duration}}`,hiddenLines:`Скрыто строк: {{count}}`,systemMessagePlaceholder:`Введите ваше системное сообщение...`,fullSizeImage:`Изображение в полном размере`,startConversation:`Начать разговор`,startConversationDescription:`Отправьте сообщение, чтобы начать общение с вашим ИИ-ассистентом. Задавайте вопросы, получайте помощь с кодом или ведите обычный разговор.`,scrollToBottom:`Прокрутить вниз`,newMessages:`Новые сообщения`},imageGallery:{title:`Галерея изображений`,noImages:`Изображений пока нет`,noImagesHint:`Создайте первое изображение с помощью панели справа`,delete:`Удалить`,download:`Скачать`,deleteConfirm:`Вы уверены, что хотите удалить это изображение?`,deleteSuccess:`Изображение удалено`,deleteFailed:`Не удалось удалить изображение`,downloadFailed:`Не удалось скачать изображение`,loadMore:`Загрузить ещё ({{current}} из {{total}})`,loadFailed:`Не удалось загрузить галерею`},imageGeneration:{title:`Создать изображение`,prompt:`Промпт`,promptPlaceholder:`Опишите изображение, которое хотите создать...`,model:`Модель`,selectModel:`Выберите модель`,noModels:`Модели генерации изображений недоступны`,configurePlugin:`Настройте плагин с поддержкой генерации изображений`,size:`Размер`,quality:`Качество`,style:`Стиль`,generate:`Создать`,generating:`Создание...`,success:`Изображение успешно создано`,failed:`Не удалось создать изображение`,enterPrompt:`Пожалуйста, введите промпт`,promptTooLong:`Промпт превышает максимальную длину в {{max}} символов`},errorBoundary:{title:`Что-то пошло не так`,description:`Произошла непредвиденная ошибка. Попробуйте обновить страницу.`,tryAgain:`Обновить страницу`,goHome:`На главную`,errorDetails:`Детали ошибки (Разработка)`},documents:{title:`Документы`,upload:`Загрузить документ`,uploading:`Загрузка...`,noDocuments:`Документы не загружены`,uploadHint:`Загрузите документы для использования в разговорах`,delete:`Удалить`,deleteConfirm:`Вы уверены, что хотите удалить этот документ?`,deleteSuccess:`Документ удалён`,deleteFailed:`Не удалось удалить документ`,uploadSuccess:`Документ успешно загружен`,uploadFailed:`Не удалось загрузить документ`,types:`Поддерживаются: PDF, TXT, MD, DOCX`,unsupportedFileType:`Поддерживаются только файлы PDF и TXT`,fileSizeTooLarge:`Размер файла должен быть менее 10 МБ`,uploadSuccessWithName:`Документ "{{name}}" успешно загружен`,removeSuccess:`Документ успешно удалён`,removeFailed:`Не удалось удалить документ`,removeError:`Произошла ошибка при удалении документа`,clickToUpload:`Нажмите для загрузки`,orDragAndDrop:`или перетащите`,fileTypesAndSize:`Файлы PDF или TXT до 10 МБ`,uploadedDocuments:`Загруженные документы`,removeDocument:`Удалить документ`},ttsButton:{speak:`Озвучить`,stop:`Стоп`,speaking:`Озвучивание...`,generateFailed:`Не удалось сгенерировать речь`,playbackFailed:`Ошибка воспроизведения аудио`,stopSpeaking:`Остановить озвучивание`,generatingSpeech:`Генерация речи...`,readAloud:`Читать вслух`},artifacts:{title:`Артефакты`,code:`Код`,preview:`Предпросмотр`,copy:`Копировать код`,copied:`Скопировано!`,download:`Скачать`,expand:`Развернуть`,collapse:`Свернуть`,openInNewTab:`Открыть в новой вкладке`,invalidSvg:`Недопустимое содержимое SVG`,invalidJson:`Недопустимое содержимое JSON`,previewMode:`Режим предпросмотра`,codeMode:`Режим кода`,copyContent:`Копировать содержимое`,openInPanel:`Открыть в панели`,openInNewWindow:`Открыть в новом окне`,created:`Создано`,closePanelEsc:`Закрыть панель (Esc)`,copyButton:`Копировать`,open:`Открыть`,dragEdgeToResize:`Перетащите край для изменения размера`,previewUnavailable:`Preview unavailable`,previewUnavailableDescription:`This artifact does not contain renderable preview content. Switch to code view to inspect the source.`,versionOf:`Версия {{current}} из {{total}}`,previousVersion:`Предыдущая версия`,nextVersion:`Следующая версия`},personaImportExport:{title:`Импорт и экспорт персон`,description:`Экспортируйте персоны для обмена или импортируйте персоны от других`,exportPersonas:`Экспорт персон`,importPersonas:`Импорт персон`,noPersonasToExport:`Нет персон для экспорта`,personasAvailable:`Доступно {{count}} персона`,personasAvailable_plural:`Доступно {{count}} персон`,exportAll:`Экспортировать всё`,uploadJsonFile:`Загрузить JSON-файл`,pasteJsonLabel:`Вставить данные JSON`,pasteJsonPlaceholder:`Вставьте данные персоны в формате JSON...`,importing:`Импорт...`,importButton:`Импортировать персону(ы)`,expectedFormat:`Ожидаемый формат JSON:`,exportSuccess:`Персона "{{name}}" успешно экспортирована`,exportFailed:`Не удалось экспортировать персону`,exportAllSuccess:`Все {{count}} персон успешно экспортированы`,exportAllFailed:`Не удалось экспортировать персоны`,pasteJsonData:`Пожалуйста, вставьте данные персоны в формате JSON`,importMultipleSuccess:`Успешно импортировано {{count}} персон`,importMultipleFailed:`Не удалось импортировать {{count}} персон`,importNoneFailed:`Не удалось импортировать ни одну персону`,importSuccess:`Персона успешно импортирована`,importFailed:`Не удалось импортировать персону`},generationStats:{details:`Подробности`,promptTokens:`Токены промпта:`,generatedTokens:`Сгенерированные токены:`,totalTokens:`Всего токенов:`,speed:`Скорость:`,promptEval:`Оценка промпта:`,generation:`Генерация:`,modelLoad:`Загрузка модели:`,totalTime:`Общее время:`,generatedAt:`Сгенерировано в:`},userMenu:{loggedOut:`Вы вышли из системы`,pictureUpdated:`Фото профиля обновлено`,failedUpdateAvatar:`Не удалось обновить аватар`,failedUpdatePicture:`Не удалось обновить фото профиля`,noEmail:`Email не указан`,changePicture:`Изменить фото`,settings:`Настройки`,userManagement:`Управление пользователями`,signOut:`Выйти`,changeProfilePicture:`Изменить фото профиля`},pluginManager:{title:`Менеджер плагинов`,upload:`Загрузить`,addJson:`Добавить JSON`,browseHF:`Обзор HF Hub`,confirmDelete:`Вы уверены, что хотите удалить этот плагин?`,uploading:`Загрузка плагина...`,pasteJson:`Вставьте JSON плагина сюда...`,installPlugin:`Установить плагин`,loading:`Загрузка плагинов...`,noPlugins:`Нет установленных плагинов`,noPluginsDescription:`Загрузите файл плагина или добавьте плагин из JSON.`,active:`Активен`,id:`ID`,endpoint:`Эндпоинт`,activate:`Активировать`,deactivate:`Деактивировать`,activePlugin:`Активный плагин`,activePluginDescription:`Все запросы чата будут направляться через этот плагин`,variables:{title:`Переменные`,save:`Сохранить`,saving:`Сохранение...`,saved:`Переменные сохранены`,saveFailed:`Не удалось сохранить переменные`,resetDefaults:`Сбросить по умолчанию`,reset:`Переменные сброшены`,sensitiveSet:`Значение задано (введите новое для изменения)`,resetFailed:`Не удалось сбросить переменные`,showValue:`Показать значение {{label}}`,hideValue:`Скрыть значение {{label}}`,connection:`Подключение`,advanced:`Расширенные параметры`,inherited:`Использовать значение по умолчанию`,inheritedValue:`Использовать значение по умолчанию ({{value}})`,enabled:`Включено`,disabled:`Отключено`,required:`Требуется указать значение`,fullApiEndpoint:`Полный URL конечной точки API`,endpointHelp:`Введите полный URL запроса, включая путь операции (например, /v1/chat/completions), а не только базовый URL провайдера.`,invalidUrl:`Введите действительный полный URL конечной точки API, например https://provider.example/v1/chat/completions`,insecureUrl:`Конечные точки API должны использовать HTTP или HTTPS.`,httpWarning:`HTTP не шифрует учетные данные или трафик. Используйте его только в доверенной сети.`,invalidBaseUrl:`Базовые URL не могут содержать строку запроса или фрагмент.`,invalidApiPath:`Должен начинаться с / и не содержать URL, запрос, фрагмент или сегмент ..`,tooLong:`Значение слишком длинное`}},huggingface:{title:`Браузер моделей HuggingFace`,subtitle:`Просматривайте и выбирайте модели из Hub`,searchPlaceholder:`Поиск моделей...`,filters:`Фильтры`,task:`Задача`,sortBy:`Сортировать по`,noModels:`Модели не найдены`,adjustSearch:`Попробуйте изменить поисковый запрос или фильтры`,gated:`Ограниченный`,selected:`Выбрано`,select:`Выбрать`,refresh:`Обновить`,modelsFound:`моделей найдено`},demoMode:{title:`Демо-режим`,github:`GitHub`},personaBackground:{label:`Фоновое изображение`,uploadBackgroundImage:`Загрузить фоновое изображение`,dragAndDrop:`Перетащите изображение или нажмите для выбора`,chooseImage:`Выбрать изображение`,uploading:`Загрузка...`,enterImageUrl:`Или введите URL изображения`,supportedFormats:`Поддерживает: JPG, PNG, GIF, WebP (макс. 5МБ). Широкие альбомные изображения подходят лучше.`,customBackground:`Пользовательское фоновое изображение`,clickToChange:`Нажмите для изменения или удаления`,removed:`Фон удален`,uploaded:`Фон успешно загружен`,invalidFile:`Пожалуйста, выберите действительный файл изображения`,fileTooLarge:`Размер фонового изображения должен быть менее 5МБ`,readFailed:`Не удалось прочитать файл изображения`,uploadFailed:`Не удалось загрузить фоновое изображение`},modelSelector:{searchInstalled:`Поиск установленных моделей...`,searchOllama:`Поиск в библиотеке Ollama...`,searchHuggingFace:`Поиск на HuggingFace...`,selectModel:`Выбрать модель`,personas:`Персоны`,ollamaModels:`Модели Ollama`,pluginModels:`Модели плагинов`,actions:`Действия`,installed:`Установлено`,use:`Использовать`,pull:`Загрузить`,pullRestricted:`Установка моделей в этом экземпляре доступна только администраторам.`,adminOnlyPull:`Только администраторы`},libreClaw:{title:`Агенты`,subtitle:`Запуск локального агента, утверждения, расписания, память, инструменты и использование.`,dashboard:`Панель управления`,connection:{disconnectedTitle:`Демон Libre Claw не подключен`,disconnectedDescription:`Запустите его локально с <command>libre-claw start</command> или установите <env>LIBRE_CLAW_BASE_URL</env> во внутренней среде.`},status:{connected:`Подключено`,disconnected:`Отключено`,activeRuns:`{{count}} активен`,activeRuns_plural:`{{count}} активен`},states:{queued:`В очереди`,running:`Выполняется`,blocked:`Заблокировано`,done:`Готово`,failed:`Не удалось`,cancelled:`Отменено`},startRun:{title:`Запустить выполнение агента`,placeholder:`Попросите Libre Claw проверить репозиторий, исправить ошибку, выполнить проверку, запланировать отчет...`,chatRun:`Бег в чате`,goalMode:`Режим цели`,providerOverride:`Переопределение поставщика`,modelOverride:`Переопределение модели`,run:`Запустить`},modelRoute:{title:`Модельный маршрут`,providerPlaceholder:`поставщик`,modelPlaceholder:`модель`,persistGlobal:`Сохранять глобальную конфигурацию Libre Claw`,saveModel:`Сохранить модель`,theme:`Тема Libre Claw`,saveTheme:`Сохранить тему`},runs:{title:`Запуски`,empty:`Запусков Libre Claw пока нет.`},timeline:{title:`Хронология выполнения`,empty:`Выберите запуск, чтобы просмотреть его события.`,streaming:`Потоковая передача...`,assistantResponse:`Ответ Ассистента`,resultOk:`ок`,resultError:`ошибка`,labels:{userMessage:`Сообщение пользователя`,toolCall:`Вызов инструмента`,toolResult:`Результат инструмента`,approvalRequest:`Запрос на одобрение`,approvalResponse:`Ответ на одобрение`,runStarted:`Запуск начат`,runFinished:`Запуск завершен`,usage:`Использование`,error:`Ошибка`}},approvals:{needed:`Требуется одобрение`,allowOnce:`Разрешить один раз`,alwaysAllowTool:`Всегда разрешать инструмент`,deny:`Отклонить`,toolApprovalRequested:`Требуется одобрение инструмента`},automations:{title:`Автоматизация`,namePlaceholder:`Имя`,schedulePlaceholder:`daily 09:00`,promptPlaceholder:`Подсказка автоматизации`,create:`Создать`,empty:`Никакой запланированной автоматизации Libre Claw.`,runNow:`Запустить сейчас`,pause:`Пауза`,resume:`Возобновить`,routes:{report:`Отчет`,telegram:`Telegram`},status:{active:`Активный`,paused:`Приостановлено`}},usageFallback:{title:`Использование и резервный вариант`,usage:`Использование`,fallbackRoute:`Резервный маршрут`,noUsage:`Записей об использовании пока нет.`},metrics:{provider:`Поставщик`,model:`Модель`,input:`Ввод`,output:`Выход`,cached:`Кэшированный`,reasoning:`Рассуждение`,cost:`Стоимость`,tool:`Инструмент`,resolution:`Разрешение`,state:`Состояние`,stopReason:`Причина остановки`,tokens:`{{formatted}} жетон`,tokens_plural:`{{formatted}} жетоны`},fallbacks:{tool:`инструмент`,unknown:`неизвестно`,resolved:`решено`,unknownError:`Неизвестная ошибка`},toasts:{loadStatusFailed:`Не удалось загрузить статус Libre Claw.`,enterTask:`Введите задачу на Libre Claw`,runStarted:`Запуск Libre Claw начат`,startRunFailed:`Не удалось запустить Libre Claw`,runCancelled:`Запуск отменен`,cancelRunFailed:`Не удалось отменить запуск`,approved:`Утверждено`,denied:`Отказано`,resolvePermissionFailed:`Не удалось разрешить разрешение`,providerModelRequired:`Требуется поставщик и модель.`,modelUpdated:`Модель Libre Claw обновлена`,updateModelFailed:`Не удалось обновить модель`,themeUpdated:`Тема Libre Claw обновлена`,updateThemeFailed:`Не удалось обновить тему`,automationRequired:`Укажите название автоматизации, расписание и подсказку.`,automationCreated:`Автоматизация создана`,createAutomationFailed:`Не удалось создать автоматизацию`,automationUpdated:`Автоматизация обновлена`,updateAutomationFailed:`Не удалось обновить автоматизацию`}},work:JSON.parse(`{"title":"Работа","subtitle":"Изолированные рабочие пространства моделей","tasks":{"title":"Задачи","subtitle":"Постоянные локальные рабочие пространства","new":"Новая задача","emptyTitle":"Пока нет рабочих задач","empty":"После отправки первого сообщения ваши рабочие задачи появятся здесь.","untitled":"Задача без названия","actions":"Действия с задачей","delete":"Удалить задачу","deleteNamed":"Удалить «{{title}}»","deleteConfirm":"Удалить «{{title}}» и её рабочее пространство навсегда?","close":"Закрыть список задач","open":"Открыть список задач","rename":"Название задачи","loading":"Загрузка задачи…","notFound":"Эта рабочая задача недоступна","back":"Начать новую задачу","status":"Статус: {{status}}"},"landing":{"title":"Начать новую рабочую задачу","description":"Предоставьте локальной модели или модели настроенного провайдера постоянное изолированное рабочее пространство. Она сможет просматривать файлы, запускать инструменты и продолжить с места остановки, когда вы вернётесь.","isolated":"Изоляция","isolatedBody":"У каждой задачи собственный контейнер и собственные файлы.","durable":"Сохранность","durableBody":"Вернитесь к разговору и рабочему пространству позже.","controlled":"Контроль","controlledBody":"Среда выполнения и файлы задачи остаются изолированными от хоста."},"composer":{"placeholder":"Опишите, что вы хотите создать или изменить…","model":"Рабочая модель","noModels":"Нет моделей, совместимых с режимом «Работа»","cancel":"Остановить","send":"Запустить","hint":"Каждая задача хранит собственные файлы и историю. Проверяйте результаты модели перед использованием.","remoteTitle":"Удалённый провайдер","remoteHint":"Разговор и результаты инструментов отправляются в настроенный сервис. Один автономный запуск может несколько раз обратиться к провайдеру, что может повлечь расходы. Файлы рабочего пространства остаются локальными, если только инструмент не возвращает их содержимое.","remoteDismiss":"Скрыть","remoteDismissLabel":"Скрыть уведомление об удалённом провайдере","remoteDismissFailed":"Не удалось сохранить настройку удалённого провайдера.","noModelSelected":"Не выбрана модель, совместимая с режимом «Работа»."},"conversation":{"ready":"Рабочее пространство готово","empty":"Продолжите задачу ниже. Этот разговор и его файлы остаются привязанными к данному рабочему пространству.","loadOlder":"Загрузить предыдущие сообщения"},"status":{"preparing":"Подготовка изолированного рабочего пространства…","running":"Работа в локальном рабочем пространстве…"},"statusLabels":{"idle":"Ожидание","thinking":"Думает","complete":"Завершено","needsInput":"Требуется ввод","error":"Ошибка"},"live":{"connecting":"Подключение к обновлениям в реальном времени…","reconnecting":"Повторное подключение к обновлениям в реальном времени…","unavailable":"Обновления в реальном времени недоступны","newActivity":"Новая активность","skillsLoaded":"Навыки рабочего пространства · {{count}}"},"runtime":{"unavailable":"Среда выполнения недоступна","ready":"Среда выполнения готова","readyOllama":"Docker готов","readyPlugin":"Docker и плагин готовы","readyHybrid":"Docker и модели готовы","reason":"Требуется Docker и доступный провайдер модели Ollama или плагина."},"workspace":{"label":"Режимы рабочего пространства","files":"Файлы","activity":"Активность","preview":"Предпросмотр","resize":"Изменить размеры разговора и рабочего пространства","resizeHint":"Перетащите, чтобы изменить размер. Для точной настройки используйте клавиши со стрелками. Дважды щёлкните или нажмите Enter, чтобы сбросить.","splitSize":"Разговор {{conversation}}%, рабочее пространство {{workspace}}%","terminal":"Терминал"},"files":{"discard":"Отменить несохранённые изменения файла?","leaveWithDraft":"Покинуть этот файл? Несохранённое изменение останется в браузере как черновик.","up":"Родительская папка","back":"Назад к файлам","empty":"В этой папке пока нет файлов.","select":"Выберите файл, чтобы просмотреть и изменить его.","editorLabel":"Редактор файла: {{path}}","format":"Форматировать","formatted":"Код отформатирован.","formatFailed":"Не удалось отформатировать этот файл.","formatShortcut":"Форматировать (Shift+Alt+F)","formatTooLarge":"Форматирование доступно только для файлов до 100 000 символов и 4 000 строк.","formatUnsupported":"Форматирование недоступно для этого типа файлов.","saveShortcut":"Сохранить (⌘/Ctrl+S)","highlightPaused":"Для больших файлов подсветка в реальном времени приостановлена, чтобы редактор работал быстро.","plainTextLarge":"Обычный текст · большой файл","changes":"Изменения","changesSince":"Что изменилось с последнего хода","diffLabel":"Изменения с последнего хода: {{path}}","diffFolded":"{{count}} строк без изменений"},"activity":{"empty":"Здесь появятся команды, операции с файлами и результаты инструментов.","toolActivity":"Активность инструментов","details":"Подробности","kinds":{"message":"Сообщение","toolCall":"Вызов инструмента","toolResult":"Результат инструмента","error":"Ошибка"}},"preview":{"command":"Необязательная команда запуска","start":"Запустить предпросмотр","stop":"Остановить предпросмотр","open":"Открыть","starting":"Запуск предпросмотра…","frameTitle":"Предпросмотр рабочего пространства","failed":"Не удалось запустить предпросмотр. Проверьте Активность и попробуйте другую команду.","empty":"Запустите приложение в этом рабочем пространстве, чтобы просмотреть его здесь."},"mobile":{"surface":"Область задачи","conversation":"Разговор","workspace":"Рабочее пространство"},"toasts":{"runFailed":"Не удалось запустить рабочую задачу.","updateFailed":"Не удалось обновить эту задачу.","renameFailed":"Не удалось переименовать эту задачу.","cancelled":"Запуск рабочей задачи остановлен.","cancelFailed":"Не удалось остановить запуск рабочей задачи.","deleteFailed":"Не удалось удалить эту рабочую задачу.","saveFailed":"Не удалось сохранить этот файл.","saved":"Файл сохранён.","previewFailed":"Не удалось запустить предпросмотр.","previewStopFailed":"Не удалось остановить предпросмотр."},"terminal":{"connecting":"Открывается оболочка в песочнице…","closed":"Сеанс терминала завершён.","failed":"Не удалось запустить сеанс терминала.","reconnect":"Переподключиться","unavailable":"Интерактивный терминал недоступен в этой установке.","blockedByRun":"Модель использует этот контейнер. Терминал откроется после завершения хода.","taskRunning":"Выполняется ход модели"},"policy":{"label":"Политика среды","default":"По умолчанию (глобальные лимиты)"}}`),usageAnalytics:{eyebrow:`Администрирование`,title:`Использование провайдера`,description:`Отслеживайте исходящие API-вызовы и потребление моделей во всех включенных плагинах на этом экземпляре.`,days:`{{count}} дней`,refresh:`Обновить статистику использования`,loadFailed:`Не удалось загрузить статистику использования провайдера.`,metrics:{calls:`Вызовы`,tokens:`Токены`},cards:{calls:`API-вызовы`,callsDetail:`Среди {{count}} активных пользователей`,tokens:`Заявленные токены`,tokensDetail:`Использование зафиксировано в {{count}} вызовах`,success:`Успешность`,successDetail:`{{count}} неудачных вызовов`,latency:`Средняя задержка`,latencyDetail:`Общее время провайдера`},activity:{title:`Потребление с течением времени`,callsDescription:`Ежедневные исходящие запросы к включенным плагинам`,tokensDescription:`Ежедневные итоги токенов, сообщенные провайдерами`,chartLabel:`Ежедневный график {{metric}} провайдера`},models:{title:`Потребление по моделям`,description:`Модели с наибольшим трафиком за этот период.`,model:`Модель`,success:`Успех`,latency:`Задержка`},providers:{title:`Трафик включенных плагинов`},capabilities:{title:`Распределение возможностей`,characters:`{{count}} символов`,images:`{{count}} изображений`,jobs:`{{count}} видео-задач`,inputs:`{{count}} входных данных`,reportedTokens:`{{count}} сообщенных токенов`},empty:{title:`Вызовов провайдеров пока нет`,description:`Вызовы появятся здесь после того, как включенный плагин обработает запросы чата, Work, встраивания, изображения, речи, звука или видео.`},privacyNote:`Использование измеряется на сервере на границе исходящего плагина. Libre WebUI хранит провайдера, модель, время, статус и сообщенные счетчики — никогда не подсказки, ответы, конечные точки, учетные данные или тела ошибок провайдера. Итоги токенов включают только вызовы, где провайдер вернул метаданные использования.`,heatmap:{title:`Год активности`,description:`Ежедневные вызовы провайдеров за последний год, окрашенные по самой используемой модели каждого дня.`,calls:`вызовов`,noCalls:`Нет вызовов`,other:`Другие модели`,less:`Меньше`,more:`Больше`,yearTotal:`{{formatted}} вызовов за последний год`}},systemPage:{eyebrow:`Администрирование`,title:`Система`,description:`Мониторинг машины и среды выполнения, на которой размещен этот экземпляр Libre WebUI.`,updated:`Обновлено {{date}}`,refresh:`Обновить системную информацию`,loadFailed:`Не удалось загрузить системную информацию.`,cards:{uptime:`Время работы хоста`,uptimeDetail:`Работает с {{date}}`,memory:`Использовано памяти`,memoryDetail:`{{used}} из {{total}}`,freeSpace:`Свободное место`,freeSpaceDetail:`{{label}} · {{total}} всего`,containers:`Запущенные контейнеры`,containersDetail:`{{total}} контейнер(ов), известных Docker`,dockerUnavailable:`Docker недоступен`,unavailable:`Недоступно`},host:{title:`Хост и среда выполнения`,description:`Операционная система, процессор и сведения о процессе Libre WebUI.`,container:`Среда выполнения контейнеров`,native:`Локальная среда выполнения`,hostname:`Имя хоста`,operatingSystem:`Операционная система`,processor:`Процессор`,logicalCpus:`логических CPU`,loadAverage:`Средняя нагрузка · 1 / 5 / 15 мин`,libreVersion:`Libre WebUI`,nodeVersion:`Node.js`,process:`Процесс`,workingDirectory:`Рабочий каталог`},memory:{title:`Память`,description:`Системная память, видимая средой выполнения, и использование памяти процессом приложения.`,usedOf:`{{used}} использовано из {{total}}`,free:`{{value}} свободной`,processRss:`RSS процесса`,heapUsed:`V8 heap использовано`,heapTotal:`V8 heap всего`,external:`Внешняя память`},storage:{title:`Хранилище`,description:`Доступное пространство для файловой системы среды выполнения и постоянных данных приложения.`,used:`{{value}} использовано`,free:`{{value}} свободной`,empty:`Информация о файловой системе недоступна в этой среде выполнения.`},docker:{title:`Docker`,description:`Статус Docker Engine только для чтения и сокращённый список контейнеров.`,connected:`Подключено`,unavailable:`Недоступно`,unavailableDetail:`Диагностика Docker Engine недоступна.`,socketStatus:`Локальный сокет: {{status}}`,mounted:`смонтирован`,notMounted:`не смонтирован`,running:`Запущенные`,stopped:`Остановленные`,paused:`Приостановленные`,total:`Всего`,version:`Версия`,host:`Хост`,architecture:`Архитектура`,cpus:`CPU`,memory:`Память`,container:`Контейнер`,image:`Образ`,state:`Состояние`,created:`Создан`,empty:`Docker подключен, и в данный момент нет ни одного контейнера в списке.`},network:{title:`Сеть`,description:`Видимые во время выполнения интерфейсы, адреса и счетчики трафика Linux.`,internal:`внутренний`,empty:`Среде выполнения приложения не видно ни одного сетевого интерфейса.`},securityNote:`Эта страница доступна только администраторам. Сервер возвращает только эксплуатационные сводки: он не раскрывает переменные среды, учетные данные, метки Docker, точки монтирования, команды контейнера или данные проверки. Когда Libre WebUI работает в контейнере, сведения о CPU и памяти на уровне хоста берутся из Docker Engine, если доступен его локальный сокет; остальные значения описывают среду выполнения приложения.`,work:{title:`Work`,description:`Песочницы всех пользователей`,access:`Доступ`,accessAdmins:`Только администраторы`,accessAllUsers:`Все пользователи`,runtimeAvailable:`Доступно`,runtimeUnavailable:`Недоступно`,activeRuntimes:`Активные среды`,pendingCleanups:`Ожидающие очистки`,orphans:`Осиротевшие контейнеры`,owner:`Владелец`,task:`Задача`,state:`Состояние`,preview:`Предпросмотр`,terminals:`Терминалы`,updated:`Обновлено`,stateRunning:`Выполняется`,stateStopped:`Остановлено`,stateStarting:`Запускается`,stateUnknown:`Неизвестно`,noTasks:`Задач Work пока нет.`}},mediaGeneration:{title:`Генерация медиа`,description:`Создавайте видео, звук, музыку или речь с помощью активированного провайдера медиа.`,image:`Изображение`,video:`Видео`,audio:`Аудио`,sound:`Звук`,speech:`Речь`,model:`Модель`,voice:`Голос или ID голоса`,resolution:`Разрешение`,aspectRatio:`Соотношение сторон`,duration:`Длительность`,providerDefault:`По умолчанию у провайдера`,generateAudio:`Генерировать аудио вместе с видео, если поддерживается`,prompt:`Запрос`,text:`Текст для озвучивания`,videoPlaceholder:`Опишите сцену, движение, камеру и освещение...`,audioPlaceholder:`Введите текст, который должен озвучить голос...`,soundPlaceholder:`Опишите звук, музыку, атмосферу или желаемый голосовой ответ...`,generate:`Сгенерировать`,generating:`Генерация… это может занять несколько минут`,success:`Медиа сгенерировано и сохранено в Imagine`,failed:`Не удалось сгенерировать медиа`,loadFailed:`Не удалось загрузить провайдеров медиа`,noModels:`Нет доступных моделей {{kind}}. Сначала активируйте совместимый провайдер и сохраните его учетные данные.`},mediaGallery:{itemCount:`{{count}} элементов`,empty:`Сгенерированных медиа пока нет`,emptyHint:`Сгенерируйте изображение, видео или голосовой клип, и они появятся здесь.`,filters:{all:`Все`,image:`Изображения`,video:`Видео`,audio:`Аудио`}},whatsNew:{title:`Что нового`,releaseNotes:`Примечания к выпуску`,cta:`Хорошо, поехали`},notes:{title:`Заметки`,new:`Новая заметка`,untitled:`Без названия`,empty:`Заметок пока нет`,selectOrCreate:`Выберите заметку или создайте новую`,contentPlaceholder:`Пишите в Markdown…`,saved:`Сохранено`,saveFailed:`Не удалось сохранить заметку`,createFailed:`Не удалось создать заметку`,deleteConfirm:`Удалить эту заметку?`,deleteFailed:`Не удалось удалить заметку`}};export{e as default};
|