mirror of
https://github.com/open-webui/open-webui.git
synced 2026-01-03 07:05:22 +00:00
0.6.43 (#20093)
Some checks failed
Release to PyPI / release (push) Has been cancelled
Release / release (push) Has been cancelled
Deploy to HuggingFace Spaces / check-secret (push) Has been cancelled
Create and publish Docker images with specific build args / build-main-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-main-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda126-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda126-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-slim-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-slim-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Python CI / Format Backend (push) Has been cancelled
Frontend Build / Format & Build Frontend (push) Has been cancelled
Frontend Build / Frontend Unit Tests (push) Has been cancelled
Deploy to HuggingFace Spaces / deploy (push) Has been cancelled
Create and publish Docker images with specific build args / merge-main-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-cuda-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-cuda126-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-ollama-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-slim-images (push) Has been cancelled
Some checks failed
Release to PyPI / release (push) Has been cancelled
Release / release (push) Has been cancelled
Deploy to HuggingFace Spaces / check-secret (push) Has been cancelled
Create and publish Docker images with specific build args / build-main-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-main-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda126-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-cuda126-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Create and publish Docker images with specific build args / build-slim-image (linux/amd64, ubuntu-latest) (push) Has been cancelled
Create and publish Docker images with specific build args / build-slim-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Python CI / Format Backend (push) Has been cancelled
Frontend Build / Format & Build Frontend (push) Has been cancelled
Frontend Build / Frontend Unit Tests (push) Has been cancelled
Deploy to HuggingFace Spaces / deploy (push) Has been cancelled
Create and publish Docker images with specific build args / merge-main-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-cuda-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-cuda126-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-ollama-images (push) Has been cancelled
Create and publish Docker images with specific build args / merge-slim-images (push) Has been cancelled
* refac * fix: python pip install dep issue * Merge pull request #20085 from joaoback/patch-19 Update translation.json (pt-BR) * fix/refac: stt default content type * fix/refac: temp chat image handling * fix/refac: image action button * chore: bump --------- Co-authored-by: joaoback <156559121+joaoback@users.noreply.github.com>
This commit is contained in:
commit
a7271532f8
11 changed files with 67 additions and 36 deletions
|
|
@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [0.6.43] - 2025-12-22
|
||||
|
||||
### Fixed
|
||||
|
||||
- 🐍 **Python dependency installation issues** were resolved by correcting pip dependency handling, preventing installation failures in certain environments and improving setup reliability. [Commit](https://github.com/open-webui/open-webui/commit/5c5f87a)
|
||||
- 🎙️ **Speech-to-Text default content type handling** was fixed and refactored to ensure correct MIME type usage, improving compatibility across STT providers and preventing transcription errors caused by incorrect defaults. [Commit](https://github.com/open-webui/open-webui/commit/4ab917c)
|
||||
- 🖼️ **Temporary chat image handling** was fixed and refactored, ensuring images generated or edited in temporary chats are correctly processed, stored, and displayed without inconsistencies or missing references. [Commit](https://github.com/open-webui/open-webui/commit/423983f)
|
||||
- 🎨 **Image action button fixed**, restoring the ability to trigger image generation, editing, and related image actions from the chat UI. [Commit](https://github.com/open-webui/open-webui/commit/def8a00)
|
||||
|
||||
## [0.6.42] - 2025-12-21
|
||||
|
||||
### Added
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ if "cuda_error" in locals():
|
|||
log.exception(cuda_error)
|
||||
del cuda_error
|
||||
|
||||
SRC_LOG_LEVELS = {} # Legacy variable, do not remove
|
||||
|
||||
WEBUI_NAME = os.environ.get("WEBUI_NAME", "Open WebUI")
|
||||
if WEBUI_NAME != "Open WebUI":
|
||||
|
|
|
|||
|
|
@ -1151,10 +1151,9 @@ def transcription(
|
|||
user=Depends(get_verified_user),
|
||||
):
|
||||
log.info(f"file.content_type: {file.content_type}")
|
||||
|
||||
stt_supported_content_types = getattr(
|
||||
request.app.state.config, "STT_SUPPORTED_CONTENT_TYPES", []
|
||||
) or ["audio/*", "video/webm"]
|
||||
)
|
||||
|
||||
if not strict_match_mime_type(stt_supported_content_types, file.content_type):
|
||||
raise HTTPException(
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ def process_uploaded_file(request, file, file_path, file_item, file_metadata, us
|
|||
if file.content_type:
|
||||
stt_supported_content_types = getattr(
|
||||
request.app.state.config, "STT_SUPPORTED_CONTENT_TYPES", []
|
||||
) or ["audio/*", "video/webm"]
|
||||
)
|
||||
|
||||
if strict_match_mime_type(stt_supported_content_types, file.content_type):
|
||||
file_path = Storage.get_file(file_path)
|
||||
|
|
|
|||
|
|
@ -531,11 +531,17 @@ def upload_image(request, image_data, content_type, metadata, user):
|
|||
|
||||
|
||||
@router.post("/generations")
|
||||
async def generate_images(
|
||||
request: Request, form_data: CreateImageForm, user=Depends(get_verified_user)
|
||||
):
|
||||
return await image_generations(request, form_data, user=user)
|
||||
|
||||
|
||||
async def image_generations(
|
||||
request: Request,
|
||||
form_data: CreateImageForm,
|
||||
metadata: Optional[dict] = None,
|
||||
user=Depends(get_verified_user),
|
||||
user=None,
|
||||
):
|
||||
# if IMAGE_SIZE = 'auto', default WidthxHeight to the 512x512 default
|
||||
# This is only relevant when the user has set IMAGE_SIZE to 'auto' with an
|
||||
|
|
|
|||
|
|
@ -622,6 +622,10 @@ def strict_match_mime_type(supported: list[str] | str, header: str) -> Optional[
|
|||
|
||||
supported = [s for s in supported if s.strip() and "/" in s]
|
||||
|
||||
if len(supported) == 0:
|
||||
# Default to common types if none are specified
|
||||
supported = ["audio/*", "video/webm"]
|
||||
|
||||
match = mimeparse.best_match(supported, header)
|
||||
if not match:
|
||||
return None
|
||||
|
|
|
|||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "open-webui",
|
||||
"version": "0.6.42",
|
||||
"version": "0.6.43",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "open-webui",
|
||||
"version": "0.6.42",
|
||||
"version": "0.6.43",
|
||||
"dependencies": {
|
||||
"@azure/msal-browser": "^4.5.0",
|
||||
"@codemirror/lang-javascript": "^6.2.2",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "open-webui",
|
||||
"version": "0.6.42",
|
||||
"version": "0.6.43",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "npm run pyodide:fetch && vite dev --host",
|
||||
|
|
|
|||
|
|
@ -52,8 +52,10 @@ dependencies = [
|
|||
"google-genai==1.56.0",
|
||||
"google-generativeai==0.8.6",
|
||||
|
||||
"langchain==0.3.27",
|
||||
"langchain-community==0.3.29",
|
||||
"langchain==1.2.0",
|
||||
"langchain-community==0.4.1",
|
||||
"langchain-classic==1.0.0",
|
||||
"langchain-text-splitters==1.1.0",
|
||||
|
||||
"fake-useragent==2.2.0",
|
||||
"chromadb==1.3.7",
|
||||
|
|
|
|||
|
|
@ -731,10 +731,20 @@
|
|||
imageUrl = await compressImageHandler(imageUrl, $settings, $config);
|
||||
}
|
||||
|
||||
const blob = await (await fetch(imageUrl)).blob();
|
||||
const compressedFile = new File([blob], file.name, { type: file.type });
|
||||
if ($temporaryChatEnabled) {
|
||||
files = [
|
||||
...files,
|
||||
{
|
||||
type: 'image',
|
||||
url: imageUrl
|
||||
}
|
||||
];
|
||||
} else {
|
||||
const blob = await (await fetch(imageUrl)).blob();
|
||||
const compressedFile = new File([blob], file.name, { type: file.type });
|
||||
|
||||
uploadFileHandler(compressedFile, false);
|
||||
uploadFileHandler(compressedFile, false);
|
||||
}
|
||||
};
|
||||
|
||||
reader.readAsDataURL(file['type'] === 'image/heic' ? await convertHeicToJpeg(file) : file);
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
"{{COUNT}} Available Tools": "{{COUNT}} Ferramentas disponíveis",
|
||||
"{{COUNT}} characters": "{{COUNT}} caracteres",
|
||||
"{{COUNT}} extracted lines": "{{COUNT}} linhas extraídas",
|
||||
"{{COUNT}} files": "",
|
||||
"{{COUNT}} files": "{COUNT}} arquivos",
|
||||
"{{COUNT}} hidden lines": "{{COUNT}} linhas ocultas",
|
||||
"{{COUNT}} Replies": "{{COUNT}} Respostas",
|
||||
"{{COUNT}} Rows": "",
|
||||
"{{COUNT}} Rows": "{{COUNT}} Linhas",
|
||||
"{{COUNT}} Sources": "{{COUNT}} Origens",
|
||||
"{{COUNT}} words": "{{COUNT}} palavras",
|
||||
"{{LOCALIZED_DATE}} at {{LOCALIZED_TIME}}": "{{LOCALIZED_DATE}} às {{LOCALIZED_TIME}}",
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
"Add text content": "Adicionar conteúdo de texto",
|
||||
"Add User": "Adicionar Usuário",
|
||||
"Add User Group": "Adicionar grupo de usuários",
|
||||
"Add webpage": "",
|
||||
"Add webpage": "Adicionar página web",
|
||||
"Additional Config": "Configuração adicional",
|
||||
"Additional configuration options for marker. This should be a JSON string with key-value pairs. For example, '{\"key\": \"value\"}'. Supported keys include: disable_links, keep_pageheader_in_output, keep_pagefooter_in_output, filter_blank_pages, drop_repeated_text, layout_coverage_threshold, merge_threshold, height_tolerance, gap_threshold, image_threshold, min_line_length, level_count, default_level": "Opções de configuração adicionais para o marcador. Deve ser uma string JSON com pares chave-valor. Por exemplo, '{\"key\": \"value\"}'. As chaves suportadas incluem: disable_links, keep_pageheader_in_output, keep_pagefooter_in_output, filter_blank_pages, drop_repeated_text, layout_coverage_threshold, merge_threshold, height_tolerance, gap_threshold, image_threshold, min_line_length, level_count, default_level",
|
||||
"Additional Parameters": "Parâmetros adicionais",
|
||||
|
|
@ -138,7 +138,7 @@
|
|||
"API keys": "Chaves API",
|
||||
"API Keys": "Chaves API",
|
||||
"API Mode": "Modo API",
|
||||
"API Timeout": "",
|
||||
"API Timeout": "Tempo limite da API",
|
||||
"API Version": "Versão da API",
|
||||
"API Version is required": "Versão da API é obrigatória",
|
||||
"Application DN": "DN da Aplicação",
|
||||
|
|
@ -223,7 +223,7 @@
|
|||
"Call feature is not supported when using Web STT engine": "O recurso de chamada não é suportado ao usar o mecanismo Web STT",
|
||||
"Camera": "Câmera",
|
||||
"Cancel": "Cancelar",
|
||||
"Cannot create an empty note.": "",
|
||||
"Cannot create an empty note.": "Não é possível criar uma nota vazia.",
|
||||
"Capabilities": "Capacidades",
|
||||
"Capture": "Capturar",
|
||||
"Capture Audio": "Capturar Audio",
|
||||
|
|
@ -233,7 +233,7 @@
|
|||
"Channel deleted successfully": "Canal apagado com sucesso",
|
||||
"Channel Name": "Nome do canal",
|
||||
"Channel name cannot be empty.": "O nome do canal não pode estar vazio.",
|
||||
"Channel name must be less than 128 characters": "",
|
||||
"Channel name must be less than 128 characters": "O nome do canal deve ter menos de 128 caracteres.",
|
||||
"Channel Type": "Tipo de canal",
|
||||
"Channel updated successfully": "Canal atualizado com sucesso",
|
||||
"Channels": "Canais",
|
||||
|
|
@ -303,7 +303,7 @@
|
|||
"Collaboration channel where people join as members": "Canal de colaboração onde as pessoas se juntam como membros.",
|
||||
"Collapse": "Recolher",
|
||||
"Collection": "Coleção",
|
||||
"Collections": "",
|
||||
"Collections": "Coleções",
|
||||
"Color": "Cor",
|
||||
"ComfyUI": "ComfyUI",
|
||||
"ComfyUI API Key": "Chave de API do ComfyUI",
|
||||
|
|
@ -372,7 +372,7 @@
|
|||
"Create Model": "Criar modelo",
|
||||
"Create new key": "Criar nova chave",
|
||||
"Create new secret key": "Criar nova chave secreta",
|
||||
"Create note": "",
|
||||
"Create note": "Criar nota",
|
||||
"Create Note": "Criar Nota",
|
||||
"Create your first note by clicking on the plus button below.": "Crie sua primeira nota clicando no botão de adição abaixo.",
|
||||
"Created at": "Criado em",
|
||||
|
|
@ -630,7 +630,7 @@
|
|||
"Enter SearchApi API Key": "Digite a Chave API do SearchApi",
|
||||
"Enter SearchApi Engine": "Digite o Motor do SearchApi",
|
||||
"Enter Searxng Query URL": "Digite a URL de Consulta do Searxng",
|
||||
"Enter Searxng search language": "",
|
||||
"Enter Searxng search language": "Digite o idioma de pesquisa do Searxng",
|
||||
"Enter Seed": "Digite a Seed",
|
||||
"Enter SerpApi API Key": "Insira a chave da API SerpApi",
|
||||
"Enter SerpApi Engine": "Digite o mecanismo/engine SerpApi",
|
||||
|
|
@ -738,7 +738,7 @@
|
|||
"Failed to load chat preview": "Falha ao carregar a pré-visualização do chat",
|
||||
"Failed to load file content.": "Falha ao carregar o conteúdo do arquivo.",
|
||||
"Failed to move chat": "Falha ao mover o chat",
|
||||
"Failed to process URL: {{url}}": "",
|
||||
"Failed to process URL: {{url}}": "Falha ao processar URL: {{url}}",
|
||||
"Failed to read clipboard contents": "Falha ao ler o conteúdo da área de transferência",
|
||||
"Failed to remove member": "Falha ao remover membro",
|
||||
"Failed to render diagram": "Falha ao renderizar o diagrama",
|
||||
|
|
@ -840,7 +840,7 @@
|
|||
"Google PSE API Key": "Chave API do Google PSE",
|
||||
"Google PSE Engine Id": "ID do Motor do Google PSE",
|
||||
"Gravatar": "",
|
||||
"Grid": "",
|
||||
"Grid": "Grade",
|
||||
"Group": "Grupo",
|
||||
"Group Channel": "Canal do grupo",
|
||||
"Group created successfully": "Grupo criado com sucesso",
|
||||
|
|
@ -998,8 +998,8 @@
|
|||
"License": "Licença",
|
||||
"Lift List": "",
|
||||
"Light": "Claro",
|
||||
"Limit concurrent search queries. 0 = unlimited (default). Set to 1 for sequential execution (recommended for APIs with strict rate limits like Brave free tier).": "",
|
||||
"List": "",
|
||||
"Limit concurrent search queries. 0 = unlimited (default). Set to 1 for sequential execution (recommended for APIs with strict rate limits like Brave free tier).": "Limitar consultas de pesquisa simultâneas. 0 = ilimitado (padrão). Defina como 1 para execução sequencial (recomendado para APIs com limites de taxa rígidos, como o nível gratuito do Brave).",
|
||||
"List": "Lista",
|
||||
"Listening...": "Escutando...",
|
||||
"Llama.cpp": "",
|
||||
"LLMs can make mistakes. Verify important information.": "LLMs podem cometer erros. Verifique informações importantes.",
|
||||
|
|
@ -1105,14 +1105,14 @@
|
|||
"Name and ID are required, please fill them out": "Nome e documento de identidade são obrigatórios, por favor preencha-os",
|
||||
"Name your knowledge base": "Nome da sua base de conhecimento",
|
||||
"Native": "Nativo",
|
||||
"New": "",
|
||||
"New": "Novo",
|
||||
"New Button": "Novo Botão",
|
||||
"New Chat": "Novo Chat",
|
||||
"New Folder": "Nova Pasta",
|
||||
"New Function": "Nova Função",
|
||||
"New Knowledge": "Novo Conhecimento",
|
||||
"New Model": "Novo Modelo",
|
||||
"New Note": "",
|
||||
"New Note": "Nova nota",
|
||||
"New Password": "Nova Senha",
|
||||
"New Prompt": "Novo Prompt",
|
||||
"New Temporary Chat": "Novo chat temporário",
|
||||
|
|
@ -1131,12 +1131,12 @@
|
|||
"No expiration can pose security risks.": "Nenhuma expiração pode representar riscos de segurança.",
|
||||
"No feedbacks found": "Comentários não encontrados",
|
||||
"No file selected": "Nenhum arquivo selecionado",
|
||||
"No files in this knowledge base.": "",
|
||||
"No files in this knowledge base.": "Não existem arquivos nesta base de conhecimento.",
|
||||
"No functions found": "Nenhuma função encontrada",
|
||||
"No groups with access, add a group to grant access": "Nenhum grupo com acesso, adicione um grupo para dar acesso",
|
||||
"No HTML, CSS, or JavaScript content found.": "Nenhum conteúdo HTML, CSS ou JavaScript encontrado.",
|
||||
"No inference engine with management support found": "Nenhum mecanismo de inferência com suporte de gerenciamento encontrado",
|
||||
"No knowledge bases found.": "",
|
||||
"No knowledge bases found.": "Nenhuma base de conhecimento encontrada.",
|
||||
"No knowledge found": "Nenhum conhecimento encontrado",
|
||||
"No memories to clear": "Nenhuma memória para limpar",
|
||||
"No model IDs": "Nenhum ID de modelo",
|
||||
|
|
@ -1323,8 +1323,8 @@
|
|||
"Read": "Ler",
|
||||
"Read Aloud": "Ler em Voz Alta",
|
||||
"Read more →": "Leia mais →",
|
||||
"Read Only": "",
|
||||
"Read-Only Access": "",
|
||||
"Read Only": "Somente leitura",
|
||||
"Read-Only Access": "Acesso somente leitura",
|
||||
"Reason": "Razão",
|
||||
"Reasoning Effort": "Esforço de raciocínio",
|
||||
"Reasoning Tags": "Tags de raciocínio",
|
||||
|
|
@ -1434,7 +1434,7 @@
|
|||
"Searching Knowledge for \"{{searchQuery}}\"": "Buscando conhecimento para \"{{searchQuery}}\"",
|
||||
"Searching the web": "Pesquisando na Internet...",
|
||||
"Searxng Query URL": "URL da Consulta Searxng",
|
||||
"Searxng search language (all, en, es, de, fr, etc.)": "",
|
||||
"Searxng search language (all, en, es, de, fr, etc.)": "Idioma de pesquisa de pesquisa (all, en, es, de, fr, etc.)",
|
||||
"See readme.md for instructions": "Veja readme.md para instruções",
|
||||
"See what's new": "Veja o que há de novo",
|
||||
"Seed": "Seed",
|
||||
|
|
@ -1509,7 +1509,7 @@
|
|||
"Show": "Mostrar",
|
||||
"Show \"What's New\" modal on login": "Mostrar \"O que há de Novo\" no login",
|
||||
"Show Admin Details in Account Pending Overlay": "Mostrar Detalhes do Administrador na Sobreposição de Conta Pendentes",
|
||||
"Show Files": "",
|
||||
"Show Files": "Mostrar arquivos",
|
||||
"Show Formatting Toolbar": "Mostrar barra de ferramentas de formatação",
|
||||
"Show image preview": "Mostrar pré-visualização da imagem",
|
||||
"Show Model": "Mostrar modelo",
|
||||
|
|
@ -1534,7 +1534,7 @@
|
|||
"Sonar Pro": "",
|
||||
"Sonar Reasoning": "",
|
||||
"Sonar Reasoning Pro": "",
|
||||
"Sort": "",
|
||||
"Sort": "Organizar",
|
||||
"Sougou Search API sID": "",
|
||||
"Sougou Search API SK": "",
|
||||
"Source": "Fonte",
|
||||
|
|
@ -1789,7 +1789,7 @@
|
|||
"Web Search in Chat": "Pesquisa na Web no Chat",
|
||||
"Web Search Query Generation": "Geração de consulta de pesquisa na Web",
|
||||
"Webhook URL": "URL do Webhook",
|
||||
"Webpage URLs": "",
|
||||
"Webpage URLs": "URLs de páginas da web",
|
||||
"WebUI Settings": "Configurações da WebUI",
|
||||
"WebUI URL": "",
|
||||
"WebUI will make requests to \"{{url}}\"": "A WebUI fará requisições para \"{{url}}\"",
|
||||
|
|
@ -1826,7 +1826,7 @@
|
|||
"You cannot upload an empty file.": "Você não pode carregar um arquivo vazio.",
|
||||
"You do not have permission to send messages in this channel.": "Você não tem permissão para enviar mensagens neste canal.",
|
||||
"You do not have permission to send messages in this thread.": "Você não tem permissão para enviar mensagens neste tópico.",
|
||||
"You do not have permission to upload files to this knowledge base.": "",
|
||||
"You do not have permission to upload files to this knowledge base.": "Você não tem permissão para enviar arquivos para esta base de conhecimento.",
|
||||
"You do not have permission to upload files.": "Você não tem permissão para fazer upload de arquivos.",
|
||||
"You have no archived conversations.": "Você não tem conversas arquivadas.",
|
||||
"You have shared this chat": "Você compartilhou este chat",
|
||||
|
|
|
|||
Loading…
Reference in a new issue