commit
331fe04df7
|
@ -9,4 +9,8 @@ OPENAI_API_KEY=''
|
||||||
|
|
||||||
# DO NOT TRACK
|
# DO NOT TRACK
|
||||||
SCARF_NO_ANALYTICS=true
|
SCARF_NO_ANALYTICS=true
|
||||||
DO_NOT_TRACK=true
|
DO_NOT_TRACK=true
|
||||||
|
|
||||||
|
# Use locally bundled version of the LiteLLM cost map json
|
||||||
|
# to avoid repetitive startup connections
|
||||||
|
LITELLM_LOCAL_MODEL_COST_MAP="True"
|
||||||
|
|
|
@ -31,6 +31,10 @@ ENV WEBUI_AUTH_TRUSTED_EMAIL_HEADER ""
|
||||||
ENV SCARF_NO_ANALYTICS true
|
ENV SCARF_NO_ANALYTICS true
|
||||||
ENV DO_NOT_TRACK true
|
ENV DO_NOT_TRACK true
|
||||||
|
|
||||||
|
# Use locally bundled version of the LiteLLM cost map json
|
||||||
|
# to avoid repetitive startup connections
|
||||||
|
ENV LITELLM_LOCAL_MODEL_COST_MAP="True"
|
||||||
|
|
||||||
######## Preloaded models ########
|
######## Preloaded models ########
|
||||||
# whisper TTS Settings
|
# whisper TTS Settings
|
||||||
ENV WHISPER_MODEL="base"
|
ENV WHISPER_MODEL="base"
|
||||||
|
|
|
@ -1,16 +1,11 @@
|
||||||
from fastapi import APIRouter, UploadFile, File, BackgroundTasks
|
from fastapi import APIRouter, UploadFile, File, Response
|
||||||
from fastapi import Depends, HTTPException, status
|
from fastapi import Depends, HTTPException, status
|
||||||
from starlette.responses import StreamingResponse, FileResponse
|
from starlette.responses import StreamingResponse, FileResponse
|
||||||
|
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
from fpdf import FPDF
|
||||||
import markdown
|
import markdown
|
||||||
import requests
|
|
||||||
import os
|
|
||||||
import aiohttp
|
|
||||||
import json
|
|
||||||
|
|
||||||
|
|
||||||
from utils.utils import get_admin_user
|
from utils.utils import get_admin_user
|
||||||
|
@ -18,7 +13,7 @@ from utils.misc import calculate_sha256, get_gravatar_url
|
||||||
|
|
||||||
from config import OLLAMA_BASE_URLS, DATA_DIR, UPLOAD_DIR
|
from config import OLLAMA_BASE_URLS, DATA_DIR, UPLOAD_DIR
|
||||||
from constants import ERROR_MESSAGES
|
from constants import ERROR_MESSAGES
|
||||||
|
from typing import List
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
@ -41,6 +36,59 @@ async def get_html_from_markdown(
|
||||||
return {"html": markdown.markdown(form_data.md)}
|
return {"html": markdown.markdown(form_data.md)}
|
||||||
|
|
||||||
|
|
||||||
|
class ChatForm(BaseModel):
|
||||||
|
title: str
|
||||||
|
messages: List[dict]
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/pdf")
|
||||||
|
async def download_chat_as_pdf(
|
||||||
|
form_data: ChatForm,
|
||||||
|
):
|
||||||
|
pdf = FPDF()
|
||||||
|
pdf.add_page()
|
||||||
|
|
||||||
|
STATIC_DIR = "./static"
|
||||||
|
FONTS_DIR = f"{STATIC_DIR}/fonts"
|
||||||
|
|
||||||
|
pdf.add_font("NotoSans", "", f"{FONTS_DIR}/NotoSans-Regular.ttf")
|
||||||
|
pdf.add_font("NotoSans", "b", f"{FONTS_DIR}/NotoSans-Bold.ttf")
|
||||||
|
pdf.add_font("NotoSans", "i", f"{FONTS_DIR}/NotoSans-Italic.ttf")
|
||||||
|
pdf.add_font("NotoSansKR", "", f"{FONTS_DIR}/NotoSansKR-Regular.ttf")
|
||||||
|
pdf.add_font("NotoSansJP", "", f"{FONTS_DIR}/NotoSansJP-Regular.ttf")
|
||||||
|
|
||||||
|
pdf.set_font("NotoSans", size=12)
|
||||||
|
pdf.set_fallback_fonts(["NotoSansKR", "NotoSansJP"])
|
||||||
|
|
||||||
|
pdf.set_auto_page_break(auto=True, margin=15)
|
||||||
|
|
||||||
|
# Adjust the effective page width for multi_cell
|
||||||
|
effective_page_width = (
|
||||||
|
pdf.w - 2 * pdf.l_margin - 10
|
||||||
|
) # Subtracted an additional 10 for extra padding
|
||||||
|
|
||||||
|
# Add chat messages
|
||||||
|
for message in form_data.messages:
|
||||||
|
role = message["role"]
|
||||||
|
content = message["content"]
|
||||||
|
pdf.set_font("NotoSans", "B", size=14) # Bold for the role
|
||||||
|
pdf.multi_cell(effective_page_width, 10, f"{role.upper()}", 0, "L")
|
||||||
|
pdf.ln(1) # Extra space between messages
|
||||||
|
|
||||||
|
pdf.set_font("NotoSans", size=10) # Regular for content
|
||||||
|
pdf.multi_cell(effective_page_width, 6, content, 0, "L")
|
||||||
|
pdf.ln(1.5) # Extra space between messages
|
||||||
|
|
||||||
|
# Save the pdf with name .pdf
|
||||||
|
pdf_bytes = pdf.output()
|
||||||
|
|
||||||
|
return Response(
|
||||||
|
content=bytes(pdf_bytes),
|
||||||
|
media_type="application/pdf",
|
||||||
|
headers={"Content-Disposition": f"attachment;filename=chat.pdf"},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/db/download")
|
@router.get("/db/download")
|
||||||
async def download_db(user=Depends(get_admin_user)):
|
async def download_db(user=Depends(get_admin_user)):
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,8 @@ xlrd
|
||||||
opencv-python-headless
|
opencv-python-headless
|
||||||
rapidocr-onnxruntime
|
rapidocr-onnxruntime
|
||||||
|
|
||||||
|
fpdf2
|
||||||
|
|
||||||
faster-whisper
|
faster-whisper
|
||||||
|
|
||||||
PyJWT
|
PyJWT
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -22,6 +22,32 @@ export const getGravatarUrl = async (email: string) => {
|
||||||
return res;
|
return res;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const downloadChatAsPDF = async (chat: object) => {
|
||||||
|
let error = null;
|
||||||
|
|
||||||
|
const blob = await fetch(`${WEBUI_API_BASE_URL}/utils/pdf`, {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
title: chat.title,
|
||||||
|
messages: chat.messages
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.then(async (res) => {
|
||||||
|
if (!res.ok) throw await res.json();
|
||||||
|
return res.blob();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
error = err;
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
|
||||||
|
return blob;
|
||||||
|
};
|
||||||
|
|
||||||
export const getHTMLFromMarkdown = async (md: string) => {
|
export const getHTMLFromMarkdown = async (md: string) => {
|
||||||
let error = null;
|
let error = null;
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@
|
||||||
|
|
||||||
import Dropdown from '$lib/components/common/Dropdown.svelte';
|
import Dropdown from '$lib/components/common/Dropdown.svelte';
|
||||||
import Tags from '$lib/components/common/Tags.svelte';
|
import Tags from '$lib/components/common/Tags.svelte';
|
||||||
|
import { WEBUI_BASE_URL } from '$lib/constants';
|
||||||
|
import { downloadChatAsPDF } from '$lib/apis/utils';
|
||||||
|
|
||||||
export let shareEnabled: boolean = false;
|
export let shareEnabled: boolean = false;
|
||||||
export let shareHandler: Function;
|
export let shareHandler: Function;
|
||||||
|
@ -25,7 +27,7 @@
|
||||||
|
|
||||||
export let onClose: Function = () => {};
|
export let onClose: Function = () => {};
|
||||||
|
|
||||||
const downloadChatAsTxt = async () => {
|
const downloadTxt = async () => {
|
||||||
const _chat = chat.chat;
|
const _chat = chat.chat;
|
||||||
console.log('download', chat);
|
console.log('download', chat);
|
||||||
|
|
||||||
|
@ -40,54 +42,29 @@
|
||||||
saveAs(blob, `chat-${_chat.title}.txt`);
|
saveAs(blob, `chat-${_chat.title}.txt`);
|
||||||
};
|
};
|
||||||
|
|
||||||
const downloadChatAsPdf = async () => {
|
const downloadPdf = async () => {
|
||||||
const _chat = chat.chat;
|
const _chat = chat.chat;
|
||||||
console.log('download', chat);
|
console.log('download', chat);
|
||||||
|
|
||||||
const doc = new jsPDF();
|
const blob = await downloadChatAsPDF(_chat);
|
||||||
|
|
||||||
// Initialize y-coordinate for text placement
|
// Create a URL for the blob
|
||||||
let yPos = 10;
|
const url = window.URL.createObjectURL(blob);
|
||||||
const pageHeight = doc.internal.pageSize.height;
|
|
||||||
|
|
||||||
// Function to check if new text exceeds the current page height
|
// Create a link element to trigger the download
|
||||||
function checkAndAddNewPage() {
|
const a = document.createElement('a');
|
||||||
if (yPos > pageHeight - 10) {
|
a.href = url;
|
||||||
doc.addPage();
|
a.download = `chat-${_chat.title}.pdf`;
|
||||||
yPos = 10; // Reset yPos for the new page
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Function to add text with specific style
|
// Append the link to the body and click it programmatically
|
||||||
function addStyledText(text, isTitle = false) {
|
document.body.appendChild(a);
|
||||||
// Set font style and size based on the parameters
|
a.click();
|
||||||
doc.setFont('helvetica', isTitle ? 'bold' : 'normal');
|
|
||||||
doc.setFontSize(isTitle ? 12 : 10);
|
|
||||||
|
|
||||||
const textMargin = 7;
|
// Remove the link from the body
|
||||||
|
document.body.removeChild(a);
|
||||||
|
|
||||||
// Split text into lines to ensure it fits within the page width
|
// Revoke the URL to release memory
|
||||||
const lines = doc.splitTextToSize(text, 180); // Adjust the width as needed
|
window.URL.revokeObjectURL(url);
|
||||||
|
|
||||||
lines.forEach((line) => {
|
|
||||||
checkAndAddNewPage(); // Check if we need a new page before adding more text
|
|
||||||
doc.text(line, 10, yPos);
|
|
||||||
yPos += textMargin; // Increment yPos for the next line
|
|
||||||
});
|
|
||||||
|
|
||||||
// Add extra space after a block of text
|
|
||||||
yPos += 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
_chat.messages.forEach((message, i) => {
|
|
||||||
// Add user text in bold
|
|
||||||
doc.setFont('helvetica', 'normal', 'bold');
|
|
||||||
|
|
||||||
addStyledText(message.role.toUpperCase(), { isTitle: true });
|
|
||||||
addStyledText(message.content);
|
|
||||||
});
|
|
||||||
|
|
||||||
doc.save(`chat-${_chat.title}.pdf`);
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -193,7 +170,7 @@
|
||||||
<DropdownMenu.Item
|
<DropdownMenu.Item
|
||||||
class="flex gap-2 items-center px-3 py-2 text-sm cursor-pointer dark:hover:bg-gray-850 rounded-md"
|
class="flex gap-2 items-center px-3 py-2 text-sm cursor-pointer dark:hover:bg-gray-850 rounded-md"
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
downloadChatAsTxt();
|
downloadTxt();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div class="flex items-center line-clamp-1">Plain text (.txt)</div>
|
<div class="flex items-center line-clamp-1">Plain text (.txt)</div>
|
||||||
|
@ -202,7 +179,7 @@
|
||||||
<DropdownMenu.Item
|
<DropdownMenu.Item
|
||||||
class="flex gap-2 items-center px-3 py-2 text-sm cursor-pointer dark:hover:bg-gray-850 rounded-md"
|
class="flex gap-2 items-center px-3 py-2 text-sm cursor-pointer dark:hover:bg-gray-850 rounded-md"
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
downloadChatAsPdf();
|
downloadPdf();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div class="flex items-center line-clamp-1">PDF document (.pdf)</div>
|
<div class="flex items-center line-clamp-1">PDF document (.pdf)</div>
|
||||||
|
|
|
@ -51,10 +51,18 @@
|
||||||
"code": "pt-PT",
|
"code": "pt-PT",
|
||||||
"title": "Portuguese (Portugal)"
|
"title": "Portuguese (Portugal)"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"code": "pt-BR",
|
||||||
|
"title": "Portuguese (Brazil)"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"code": "ru-RU",
|
"code": "ru-RU",
|
||||||
"title": "Russian (Russia)"
|
"title": "Russian (Russia)"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"code": "tr-TR",
|
||||||
|
"title": "Turkish"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"code": "uk-UA",
|
"code": "uk-UA",
|
||||||
"title": "Ukrainian"
|
"title": "Ukrainian"
|
||||||
|
|
|
@ -0,0 +1,363 @@
|
||||||
|
{
|
||||||
|
"'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 's' ou '-1' para não expirar.",
|
||||||
|
"(Beta)": "(Beta)",
|
||||||
|
"(e.g. `sh webui.sh --api`)": "(por exemplo, `sh webui.sh --api`)",
|
||||||
|
"(latest)": "(mais recente)",
|
||||||
|
"{{modelName}} is thinking...": "{{modelName}} está pensando...",
|
||||||
|
"{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário",
|
||||||
|
"a user": "um usuário",
|
||||||
|
"About": "Sobre",
|
||||||
|
"Account": "Conta",
|
||||||
|
"Action": "Ação",
|
||||||
|
"Add a model": "Adicionar um modelo",
|
||||||
|
"Add a model tag name": "Adicionar um nome de tag de modelo",
|
||||||
|
"Add a short description about what this modelfile does": "Adicione uma breve descrição sobre o que este arquivo de modelo faz",
|
||||||
|
"Add a short title for this prompt": "Adicione um título curto para este prompt",
|
||||||
|
"Add a tag": "Adicionar uma tag",
|
||||||
|
"Add Docs": "Adicionar Documentos",
|
||||||
|
"Add Files": "Adicionar Arquivos",
|
||||||
|
"Add message": "Adicionar mensagem",
|
||||||
|
"add tags": "adicionar tags",
|
||||||
|
"Adjusting these settings will apply changes universally to all users.": "Ajustar essas configurações aplicará alterações universalmente a todos os usuários.",
|
||||||
|
"admin": "administrador",
|
||||||
|
"Admin Panel": "Painel do Administrador",
|
||||||
|
"Admin Settings": "Configurações do Administrador",
|
||||||
|
"Advanced Parameters": "Parâmetros Avançados",
|
||||||
|
"all": "todos",
|
||||||
|
"All Users": "Todos os Usuários",
|
||||||
|
"Allow": "Permitir",
|
||||||
|
"Allow Chat Deletion": "Permitir Exclusão de Bate-papo",
|
||||||
|
"alphanumeric characters and hyphens": "caracteres alfanuméricos e hífens",
|
||||||
|
"Already have an account?": "Já tem uma conta?",
|
||||||
|
"an assistant": "um assistente",
|
||||||
|
"and": "e",
|
||||||
|
"API Base URL": "URL Base da API",
|
||||||
|
"API Key": "Chave da API",
|
||||||
|
"API RPM": "API RPM",
|
||||||
|
"are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando",
|
||||||
|
"Are you sure?": "Tem certeza?",
|
||||||
|
"Audio": "Áudio",
|
||||||
|
"Auto-playback response": "Reprodução automática da resposta",
|
||||||
|
"Auto-send input after 3 sec.": "Enviar entrada automaticamente após 3 segundos.",
|
||||||
|
"AUTOMATIC1111 Base URL": "URL Base do AUTOMATIC1111",
|
||||||
|
"AUTOMATIC1111 Base URL is required.": "A URL Base do AUTOMATIC1111 é obrigatória.",
|
||||||
|
"available!": "disponível!",
|
||||||
|
"Back": "Voltar",
|
||||||
|
"Builder Mode": "Modo de Construtor",
|
||||||
|
"Cancel": "Cancelar",
|
||||||
|
"Categories": "Categorias",
|
||||||
|
"Change Password": "Alterar Senha",
|
||||||
|
"Chat": "Bate-papo",
|
||||||
|
"Chat History": "Histórico de Bate-papo",
|
||||||
|
"Chat History is off for this browser.": "O histórico de bate-papo está desativado para este navegador.",
|
||||||
|
"Chats": "Bate-papos",
|
||||||
|
"Check Again": "Verifique novamente",
|
||||||
|
"Check for updates": "Verificar atualizações",
|
||||||
|
"Checking for updates...": "Verificando atualizações...",
|
||||||
|
"Choose a model before saving...": "Escolha um modelo antes de salvar...",
|
||||||
|
"Chunk Overlap": "Sobreposição de Fragmento",
|
||||||
|
"Chunk Params": "Parâmetros de Fragmento",
|
||||||
|
"Chunk Size": "Tamanho do Fragmento",
|
||||||
|
"Click here for help.": "Clique aqui para obter ajuda.",
|
||||||
|
"Click here to check other modelfiles.": "Clique aqui para verificar outros arquivos de modelo.",
|
||||||
|
"Click here to select": "Clique aqui para selecionar",
|
||||||
|
"Click here to select documents.": "Clique aqui para selecionar documentos.",
|
||||||
|
"click here.": "clique aqui.",
|
||||||
|
"Click on the user role button to change a user's role.": "Clique no botão de função do usuário para alterar a função de um usuário.",
|
||||||
|
"Close": "Fechar",
|
||||||
|
"Collection": "Coleção",
|
||||||
|
"Command": "Comando",
|
||||||
|
"Confirm Password": "Confirmar Senha",
|
||||||
|
"Connections": "Conexões",
|
||||||
|
"Content": "Conteúdo",
|
||||||
|
"Context Length": "Comprimento do Contexto",
|
||||||
|
"Conversation Mode": "Modo de Conversa",
|
||||||
|
"Copy last code block": "Copiar último bloco de código",
|
||||||
|
"Copy last response": "Copiar última resposta",
|
||||||
|
"Copying to clipboard was successful!": "Cópia para a área de transferência bem-sucedida!",
|
||||||
|
"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Crie uma frase concisa de 3 a 5 palavras como cabeçalho para a seguinte consulta, aderindo estritamente ao limite de 3 a 5 palavras e evitando o uso da palavra 'título':",
|
||||||
|
"Create a modelfile": "Criar um arquivo de modelo",
|
||||||
|
"Create Account": "Criar Conta",
|
||||||
|
"Created at": "Criado em",
|
||||||
|
"Created by": "Criado por",
|
||||||
|
"Current Model": "Modelo Atual",
|
||||||
|
"Current Password": "Senha Atual",
|
||||||
|
"Custom": "Personalizado",
|
||||||
|
"Customize Ollama models for a specific purpose": "Personalize os modelos Ollama para um propósito específico",
|
||||||
|
"Dark": "Escuro",
|
||||||
|
"Database": "Banco de dados",
|
||||||
|
"DD/MM/YYYY HH:mm": "DD/MM/AAAA HH:mm",
|
||||||
|
"Default": "Padrão",
|
||||||
|
"Default (Automatic1111)": "Padrão (Automatic1111)",
|
||||||
|
"Default (Web API)": "Padrão (API Web)",
|
||||||
|
"Default model updated": "Modelo padrão atualizado",
|
||||||
|
"Default Prompt Suggestions": "Sugestões de Prompt Padrão",
|
||||||
|
"Default User Role": "Função de Usuário Padrão",
|
||||||
|
"delete": "excluir",
|
||||||
|
"Delete a model": "Excluir um modelo",
|
||||||
|
"Delete chat": "Excluir bate-papo",
|
||||||
|
"Delete Chats": "Excluir Bate-papos",
|
||||||
|
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} excluído",
|
||||||
|
"Deleted {tagName}": "{tagName} excluído",
|
||||||
|
"Description": "Descrição",
|
||||||
|
"Desktop Notifications": "Notificações da Área de Trabalho",
|
||||||
|
"Disabled": "Desativado",
|
||||||
|
"Discover a modelfile": "Descobrir um arquivo de modelo",
|
||||||
|
"Discover a prompt": "Descobrir um prompt",
|
||||||
|
"Discover, download, and explore custom prompts": "Descubra, baixe e explore prompts personalizados",
|
||||||
|
"Discover, download, and explore model presets": "Descubra, baixe e explore predefinições de modelo",
|
||||||
|
"Display the username instead of You in the Chat": "Exibir o nome de usuário em vez de Você no Bate-papo",
|
||||||
|
"Document": "Documento",
|
||||||
|
"Document Settings": "Configurações de Documento",
|
||||||
|
"Documents": "Documentos",
|
||||||
|
"does not make any external connections, and your data stays securely on your locally hosted server.": "não faz conexões externas e seus dados permanecem seguros em seu servidor hospedado localmente.",
|
||||||
|
"Don't Allow": "Não Permitir",
|
||||||
|
"Don't have an account?": "Não tem uma conta?",
|
||||||
|
"Download as a File": "Baixar como Arquivo",
|
||||||
|
"Download Database": "Baixar Banco de Dados",
|
||||||
|
"Drop any files here to add to the conversation": "Solte os arquivos aqui para adicionar à conversa",
|
||||||
|
"e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "por exemplo, '30s', '10m'. Unidades de tempo válidas são 's', 'm', 'h'.",
|
||||||
|
"Edit Doc": "Editar Documento",
|
||||||
|
"Edit User": "Editar Usuário",
|
||||||
|
"Email": "E-mail",
|
||||||
|
"Enable Chat History": "Ativar Histórico de Bate-papo",
|
||||||
|
"Enable New Sign Ups": "Ativar Novas Inscrições",
|
||||||
|
"Enabled": "Ativado",
|
||||||
|
"Enter {{role}} message here": "Digite a mensagem de {{role}} aqui",
|
||||||
|
"Enter API Key": "Digite a Chave da API",
|
||||||
|
"Enter Chunk Overlap": "Digite a Sobreposição de Fragmento",
|
||||||
|
"Enter Chunk Size": "Digite o Tamanho do Fragmento",
|
||||||
|
"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
|
||||||
|
"Enter LiteLLM API Base URL (litellm_params.api_base)": "Digite a URL Base da API LiteLLM (litellm_params.api_base)",
|
||||||
|
"Enter LiteLLM API Key (litellm_params.api_key)": "Digite a Chave da API LiteLLM (litellm_params.api_key)",
|
||||||
|
"Enter LiteLLM API RPM (litellm_params.rpm)": "Digite o RPM da API LiteLLM (litellm_params.rpm)",
|
||||||
|
"Enter LiteLLM Model (litellm_params.model)": "Digite o Modelo LiteLLM (litellm_params.model)",
|
||||||
|
"Enter Max Tokens (litellm_params.max_tokens)": "Digite o Máximo de Tokens (litellm_params.max_tokens)",
|
||||||
|
"Enter model tag (e.g. {{modelTag}})": "Digite a tag do modelo (por exemplo, {{modelTag}})",
|
||||||
|
"Enter Number of Steps (e.g. 50)": "Digite o Número de Etapas (por exemplo, 50)",
|
||||||
|
"Enter stop sequence": "Digite a sequência de parada",
|
||||||
|
"Enter Top K": "Digite o Top K",
|
||||||
|
"Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)",
|
||||||
|
"Enter Your Email": "Digite seu E-mail",
|
||||||
|
"Enter Your Full Name": "Digite seu Nome Completo",
|
||||||
|
"Enter Your Password": "Digite sua Senha",
|
||||||
|
"Experimental": "Experimental",
|
||||||
|
"Export All Chats (All Users)": "Exportar Todos os Bate-papos (Todos os Usuários)",
|
||||||
|
"Export Chats": "Exportar Bate-papos",
|
||||||
|
"Export Documents Mapping": "Exportar Mapeamento de Documentos",
|
||||||
|
"Export Modelfiles": "Exportar Arquivos de Modelo",
|
||||||
|
"Export Prompts": "Exportar Prompts",
|
||||||
|
"Failed to read clipboard contents": "Falha ao ler o conteúdo da área de transferência",
|
||||||
|
"File Mode": "Modo de Arquivo",
|
||||||
|
"File not found.": "Arquivo não encontrado.",
|
||||||
|
"Focus chat input": "Focar entrada de bate-papo",
|
||||||
|
"Format your variables using square brackets like this:": "Formate suas variáveis usando colchetes como este:",
|
||||||
|
"From (Base Model)": "De (Modelo Base)",
|
||||||
|
"Full Screen Mode": "Modo de Tela Cheia",
|
||||||
|
"General": "Geral",
|
||||||
|
"General Settings": "Configurações Gerais",
|
||||||
|
"Hello, {{name}}": "Olá, {{name}}",
|
||||||
|
"Hide": "Ocultar",
|
||||||
|
"Hide Additional Params": "Ocultar Parâmetros Adicionais",
|
||||||
|
"How can I help you today?": "Como posso ajudá-lo hoje?",
|
||||||
|
"Image Generation (Experimental)": "Geração de Imagens (Experimental)",
|
||||||
|
"Image Generation Engine": "Mecanismo de Geração de Imagens",
|
||||||
|
"Image Settings": "Configurações de Imagem",
|
||||||
|
"Images": "Imagens",
|
||||||
|
"Import Chats": "Importar Bate-papos",
|
||||||
|
"Import Documents Mapping": "Importar Mapeamento de Documentos",
|
||||||
|
"Import Modelfiles": "Importar Arquivos de Modelo",
|
||||||
|
"Import Prompts": "Importar Prompts",
|
||||||
|
"Include `--api` flag when running stable-diffusion-webui": "Inclua a flag `--api` ao executar stable-diffusion-webui",
|
||||||
|
"Interface": "Interface",
|
||||||
|
"join our Discord for help.": "junte-se ao nosso Discord para obter ajuda.",
|
||||||
|
"JSON": "JSON",
|
||||||
|
"JWT Expiration": "Expiração JWT",
|
||||||
|
"JWT Token": "Token JWT",
|
||||||
|
"Keep Alive": "Manter Vivo",
|
||||||
|
"Keyboard shortcuts": "Atalhos de teclado",
|
||||||
|
"Language": "Idioma",
|
||||||
|
"Light": "Claro",
|
||||||
|
"Listening...": "Ouvindo...",
|
||||||
|
"LLMs can make mistakes. Verify important information.": "LLMs podem cometer erros. Verifique informações importantes.",
|
||||||
|
"Made by OpenWebUI Community": "Feito pela Comunidade OpenWebUI",
|
||||||
|
"Make sure to enclose them with": "Certifique-se de colocá-los entre",
|
||||||
|
"Manage LiteLLM Models": "Gerenciar Modelos LiteLLM",
|
||||||
|
"Manage Models": "Gerenciar Modelos",
|
||||||
|
"Manage Ollama Models": "Gerenciar Modelos Ollama",
|
||||||
|
"Max Tokens": "Máximo de Tokens",
|
||||||
|
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Tente novamente mais tarde.",
|
||||||
|
"Mirostat": "Mirostat",
|
||||||
|
"Mirostat Eta": "Mirostat Eta",
|
||||||
|
"Mirostat Tau": "Mirostat Tau",
|
||||||
|
"MMMM DD, YYYY": "MMMM DD, AAAA",
|
||||||
|
"Model '{{modelName}}' has been successfully downloaded.": "O modelo '{{modelName}}' foi baixado com sucesso.",
|
||||||
|
"Model '{{modelTag}}' is already in queue for downloading.": "O modelo '{{modelTag}}' já está na fila para download.",
|
||||||
|
"Model {{modelId}} not found": "Modelo {{modelId}} não encontrado",
|
||||||
|
"Model {{modelName}} already exists.": "O modelo {{modelName}} já existe.",
|
||||||
|
"Model Name": "Nome do Modelo",
|
||||||
|
"Model not selected": "Modelo não selecionado",
|
||||||
|
"Model Tag Name": "Nome da Tag do Modelo",
|
||||||
|
"Model Whitelisting": "Lista de Permissões de Modelo",
|
||||||
|
"Model(s) Whitelisted": "Modelo(s) na Lista de Permissões",
|
||||||
|
"Modelfile": "Arquivo de Modelo",
|
||||||
|
"Modelfile Advanced Settings": "Configurações Avançadas do Arquivo de Modelo",
|
||||||
|
"Modelfile Content": "Conteúdo do Arquivo de Modelo",
|
||||||
|
"Modelfiles": "Arquivos de Modelo",
|
||||||
|
"Models": "Modelos",
|
||||||
|
"My Documents": "Meus Documentos",
|
||||||
|
"My Modelfiles": "Meus Arquivos de Modelo",
|
||||||
|
"My Prompts": "Meus Prompts",
|
||||||
|
"Name": "Nome",
|
||||||
|
"Name Tag": "Nome da Tag",
|
||||||
|
"Name your modelfile": "Nomeie seu arquivo de modelo",
|
||||||
|
"New Chat": "Novo Bate-papo",
|
||||||
|
"New Password": "Nova Senha",
|
||||||
|
"Not sure what to add?": "Não tem certeza do que adicionar?",
|
||||||
|
"Not sure what to write? Switch to": "Não tem certeza do que escrever? Mude para",
|
||||||
|
"Off": "Desligado",
|
||||||
|
"Okay, Let's Go!": "Ok, Vamos Lá!",
|
||||||
|
"Ollama Base URL": "URL Base do Ollama",
|
||||||
|
"Ollama Version": "Versão do Ollama",
|
||||||
|
"On": "Ligado",
|
||||||
|
"Only": "Somente",
|
||||||
|
"Only alphanumeric characters and hyphens are allowed in the command string.": "Somente caracteres alfanuméricos e hífens são permitidos na string de comando.",
|
||||||
|
"Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Opa! Aguente firme! Seus arquivos ainda estão no forno de processamento. Estamos cozinhando-os com perfeição. Por favor, seja paciente e avisaremos quando estiverem prontos.",
|
||||||
|
"Oops! Looks like the URL is invalid. Please double-check and try again.": "Opa! Parece que a URL é inválida. Verifique novamente e tente outra vez.",
|
||||||
|
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Opa! Você está usando um método não suportado (somente frontend). Por favor, sirva o WebUI a partir do backend.",
|
||||||
|
"Open": "Abrir",
|
||||||
|
"Open AI": "OpenAI",
|
||||||
|
"Open AI (Dall-E)": "OpenAI (Dall-E)",
|
||||||
|
"Open new chat": "Abrir novo bate-papo",
|
||||||
|
"OpenAI API": "API OpenAI",
|
||||||
|
"OpenAI API Key": "Chave da API OpenAI",
|
||||||
|
"OpenAI API Key is required.": "A Chave da API OpenAI é obrigatória.",
|
||||||
|
"or": "ou",
|
||||||
|
"Parameters": "Parâmetros",
|
||||||
|
"Password": "Senha",
|
||||||
|
"PDF Extract Images (OCR)": "Extrair Imagens de PDF (OCR)",
|
||||||
|
"pending": "pendente",
|
||||||
|
"Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}",
|
||||||
|
"Playground": "Playground",
|
||||||
|
"Profile": "Perfil",
|
||||||
|
"Prompt Content": "Conteúdo do Prompt",
|
||||||
|
"Prompt suggestions": "Sugestões de Prompt",
|
||||||
|
"Prompts": "Prompts",
|
||||||
|
"Pull a model from Ollama.com": "Extrair um modelo do Ollama.com",
|
||||||
|
"Pull Progress": "Progresso da Extração",
|
||||||
|
"Query Params": "Parâmetros de Consulta",
|
||||||
|
"RAG Template": "Modelo RAG",
|
||||||
|
"Raw Format": "Formato Bruto",
|
||||||
|
"Record voice": "Gravar voz",
|
||||||
|
"Redirecting you to OpenWebUI Community": "Redirecionando você para a Comunidade OpenWebUI",
|
||||||
|
"Release Notes": "Notas de Lançamento",
|
||||||
|
"Repeat Last N": "Repetir Últimos N",
|
||||||
|
"Repeat Penalty": "Penalidade de Repetição",
|
||||||
|
"Request Mode": "Modo de Solicitação",
|
||||||
|
"Reset Vector Storage": "Redefinir Armazenamento de Vetor",
|
||||||
|
"Response AutoCopy to Clipboard": "Cópia Automática da Resposta para a Área de Transferência",
|
||||||
|
"Role": "Função",
|
||||||
|
"Rosé Pine": "Rosé Pine",
|
||||||
|
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||||
|
"Save": "Salvar",
|
||||||
|
"Save & Create": "Salvar e Criar",
|
||||||
|
"Save & Submit": "Salvar e Enviar",
|
||||||
|
"Save & Update": "Salvar e Atualizar",
|
||||||
|
"Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Salvar logs de bate-papo diretamente no armazenamento do seu navegador não é mais suportado. Reserve um momento para baixar e excluir seus logs de bate-papo clicando no botão abaixo. Não se preocupe, você pode facilmente reimportar seus logs de bate-papo para o backend através de",
|
||||||
|
"Scan": "Digitalizar",
|
||||||
|
"Scan complete!": "Digitalização concluída!",
|
||||||
|
"Scan for documents from {{path}}": "Digitalizar documentos de {{path}}",
|
||||||
|
"Search": "Pesquisar",
|
||||||
|
"Search Documents": "Pesquisar Documentos",
|
||||||
|
"Search Prompts": "Pesquisar Prompts",
|
||||||
|
"See readme.md for instructions": "Consulte readme.md para obter instruções",
|
||||||
|
"See what's new": "Veja o que há de novo",
|
||||||
|
"Seed": "Semente",
|
||||||
|
"Select a mode": "Selecione um modo",
|
||||||
|
"Select a model": "Selecione um modelo",
|
||||||
|
"Select an Ollama instance": "Selecione uma instância Ollama",
|
||||||
|
"Send a Message": "Enviar uma Mensagem",
|
||||||
|
"Send message": "Enviar mensagem",
|
||||||
|
"Server connection verified": "Conexão com o servidor verificada",
|
||||||
|
"Set as default": "Definir como padrão",
|
||||||
|
"Set Default Model": "Definir Modelo Padrão",
|
||||||
|
"Set Image Size": "Definir Tamanho da Imagem",
|
||||||
|
"Set Steps": "Definir Etapas",
|
||||||
|
"Set Title Auto-Generation Model": "Definir Modelo de Geração Automática de Título",
|
||||||
|
"Set Voice": "Definir Voz",
|
||||||
|
"Settings": "Configurações",
|
||||||
|
"Settings saved successfully!": "Configurações salvas com sucesso!",
|
||||||
|
"Share to OpenWebUI Community": "Compartilhar com a Comunidade OpenWebUI",
|
||||||
|
"short-summary": "resumo-curto",
|
||||||
|
"Show": "Mostrar",
|
||||||
|
"Show Additional Params": "Mostrar Parâmetros Adicionais",
|
||||||
|
"Show shortcuts": "Mostrar",
|
||||||
|
"sidebar": "barra lateral",
|
||||||
|
"Sign in": "Entrar",
|
||||||
|
"Sign Out": "Sair",
|
||||||
|
"Sign up": "Inscrever-se",
|
||||||
|
"Speech recognition error: {{error}}": "Erro de reconhecimento de fala: {{error}}",
|
||||||
|
"Speech-to-Text Engine": "Mecanismo de Fala para Texto",
|
||||||
|
"SpeechRecognition API is not supported in this browser.": "A API SpeechRecognition não é suportada neste navegador.",
|
||||||
|
"Stop Sequence": "Sequência de Parada",
|
||||||
|
"STT Settings": "Configurações STT",
|
||||||
|
"Submit": "Enviar",
|
||||||
|
"Success": "Sucesso",
|
||||||
|
"Successfully updated.": "Atualizado com sucesso.",
|
||||||
|
"Sync All": "Sincronizar Tudo",
|
||||||
|
"System": "Sistema",
|
||||||
|
"System Prompt": "Prompt do Sistema",
|
||||||
|
"Tags": "Tags",
|
||||||
|
"Temperature": "Temperatura",
|
||||||
|
"Template": "Modelo",
|
||||||
|
"Text Completion": "Complemento de Texto",
|
||||||
|
"Text-to-Speech Engine": "Mecanismo de Texto para Fala",
|
||||||
|
"Tfs Z": "Tfs Z",
|
||||||
|
"Theme": "Tema",
|
||||||
|
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isso garante que suas conversas valiosas sejam salvas com segurança em seu banco de dados de backend. Obrigado!",
|
||||||
|
"This setting does not sync across browsers or devices.": "Esta configuração não sincroniza entre navegadores ou dispositivos.",
|
||||||
|
"Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Dica: Atualize vários slots de variáveis consecutivamente pressionando a tecla Tab na entrada de bate-papo após cada substituição.",
|
||||||
|
"Title": "Título",
|
||||||
|
"Title Auto-Generation": "Geração Automática de Título",
|
||||||
|
"Title Generation Prompt": "Prompt de Geração de Título",
|
||||||
|
"to": "para",
|
||||||
|
"To access the available model names for downloading,": "Para acessar os nomes de modelo disponíveis para download,",
|
||||||
|
"To access the GGUF models available for downloading,": "Para acessar os modelos GGUF disponíveis para download,",
|
||||||
|
"to chat input.": "para a entrada de bate-papo.",
|
||||||
|
"Toggle settings": "Alternar configurações",
|
||||||
|
"Toggle sidebar": "Alternar barra lateral",
|
||||||
|
"Top K": "Top K",
|
||||||
|
"Top P": "Top P",
|
||||||
|
"Trouble accessing Ollama?": "Problemas para acessar o Ollama?",
|
||||||
|
"TTS Settings": "Configurações TTS",
|
||||||
|
"Type Hugging Face Resolve (Download) URL": "Digite a URL do Hugging Face Resolve (Download)",
|
||||||
|
"Uh-oh! There was an issue connecting to {{provider}}.": "Opa! Houve um problema ao conectar-se a {{provider}}.",
|
||||||
|
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de arquivo desconhecido '{{file_type}}', mas aceitando e tratando como texto simples",
|
||||||
|
"Update password": "Atualizar senha",
|
||||||
|
"Upload a GGUF model": "Carregar um modelo GGUF",
|
||||||
|
"Upload files": "Carregar arquivos",
|
||||||
|
"Upload Progress": "Progresso do Carregamento",
|
||||||
|
"URL Mode": "Modo de URL",
|
||||||
|
"Use '#' in the prompt input to load and select your documents.": "Use '#' na entrada do prompt para carregar e selecionar seus documentos.",
|
||||||
|
"Use Gravatar": "Usar Gravatar",
|
||||||
|
"user": "usuário",
|
||||||
|
"User Permissions": "Permissões do Usuário",
|
||||||
|
"Users": "Usuários",
|
||||||
|
"Utilize": "Utilizar",
|
||||||
|
"Valid time units:": "Unidades de tempo válidas:",
|
||||||
|
"variable": "variável",
|
||||||
|
"variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.",
|
||||||
|
"Version": "Versão",
|
||||||
|
"Web": "Web",
|
||||||
|
"WebUI Add-ons": "Complementos WebUI",
|
||||||
|
"WebUI Settings": "Configurações WebUI",
|
||||||
|
"WebUI will make requests to": "WebUI fará solicitações para",
|
||||||
|
"What’s New in": "O que há de novo em",
|
||||||
|
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quando o histórico está desativado, novos bate-papos neste navegador não aparecerão em seu histórico em nenhum dos seus dispositivos.",
|
||||||
|
"Whisper (Local)": "Whisper (Local)",
|
||||||
|
"Write a prompt suggestion (e.g. Who are you?)": "Escreva uma sugestão de prompt (por exemplo, Quem é você?)",
|
||||||
|
"Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].",
|
||||||
|
"You": "Você",
|
||||||
|
"You're a helpful assistant.": "Você é um assistente útil.",
|
||||||
|
"You're now logged in.": "Você está conectado agora."
|
||||||
|
}
|
|
@ -0,0 +1,363 @@
|
||||||
|
{
|
||||||
|
"'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' veya süresiz için '-1'.",
|
||||||
|
"(Beta)": "(Beta)",
|
||||||
|
"(e.g. `sh webui.sh --api`)": "(örn. `sh webui.sh --api`)",
|
||||||
|
"(latest)": "(en son)",
|
||||||
|
"{{modelName}} is thinking...": "{{modelName}} düşünüyor...",
|
||||||
|
"{{webUIName}} Backend Required": "{{webUIName}} Arkayüz Gerekli",
|
||||||
|
"a user": "bir kullanıcı",
|
||||||
|
"About": "Hakkında",
|
||||||
|
"Account": "Hesap",
|
||||||
|
"Action": "Eylem",
|
||||||
|
"Add a model": "Bir model ekleyin",
|
||||||
|
"Add a model tag name": "Bir model etiket adı ekleyin",
|
||||||
|
"Add a short description about what this modelfile does": "Bu model dosyasının ne yaptığı hakkında kısa bir açıklama ekleyin",
|
||||||
|
"Add a short title for this prompt": "Bu prompt için kısa bir başlık ekleyin",
|
||||||
|
"Add a tag": "Bir etiket ekleyin",
|
||||||
|
"Add Docs": "Dökümanlar Ekle",
|
||||||
|
"Add Files": "Dosyalar Ekle",
|
||||||
|
"Add message": "Mesaj ekle",
|
||||||
|
"add tags": "etiketler ekle",
|
||||||
|
"Adjusting these settings will apply changes universally to all users.": "Bu ayarları ayarlamak değişiklikleri tüm kullanıcılara evrensel olarak uygular.",
|
||||||
|
"admin": "yönetici",
|
||||||
|
"Admin Panel": "Yönetici Paneli",
|
||||||
|
"Admin Settings": "Yönetici Ayarları",
|
||||||
|
"Advanced Parameters": "Gelişmiş Parametreler",
|
||||||
|
"all": "tümü",
|
||||||
|
"All Users": "Tüm Kullanıcılar",
|
||||||
|
"Allow": "İzin ver",
|
||||||
|
"Allow Chat Deletion": "Sohbet Silmeye İzin Ver",
|
||||||
|
"alphanumeric characters and hyphens": "alfanumerik karakterler ve tireler",
|
||||||
|
"Already have an account?": "Zaten bir hesabınız mı var?",
|
||||||
|
"an assistant": "bir asistan",
|
||||||
|
"and": "ve",
|
||||||
|
"API Base URL": "API Temel URL",
|
||||||
|
"API Key": "API Anahtarı",
|
||||||
|
"API RPM": "API RPM",
|
||||||
|
"are allowed - Activate this command by typing": "izin verilir - Bu komutu yazarak etkinleştirin",
|
||||||
|
"Are you sure?": "Emin misiniz?",
|
||||||
|
"Audio": "Ses",
|
||||||
|
"Auto-playback response": "Yanıtı otomatik oynatma",
|
||||||
|
"Auto-send input after 3 sec.": "3 saniye sonra otomatik olarak gönder",
|
||||||
|
"AUTOMATIC1111 Base URL": "AUTOMATIC1111 Temel URL",
|
||||||
|
"AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 Temel URL gereklidir.",
|
||||||
|
"available!": "mevcut!",
|
||||||
|
"Back": "Geri",
|
||||||
|
"Builder Mode": "Oluşturucu Modu",
|
||||||
|
"Cancel": "İptal",
|
||||||
|
"Categories": "Kategoriler",
|
||||||
|
"Change Password": "Parola Değiştir",
|
||||||
|
"Chat": "Sohbet",
|
||||||
|
"Chat History": "Sohbet Geçmişi",
|
||||||
|
"Chat History is off for this browser.": "Bu tarayıcı için sohbet geçmişi kapalı.",
|
||||||
|
"Chats": "Sohbetler",
|
||||||
|
"Check Again": "Tekrar Kontrol Et",
|
||||||
|
"Check for updates": "Güncellemeleri kontrol et",
|
||||||
|
"Checking for updates...": "Güncellemeler kontrol ediliyor...",
|
||||||
|
"Choose a model before saving...": "Kaydetmeden önce bir model seçin...",
|
||||||
|
"Chunk Overlap": "Chunk Çakışması",
|
||||||
|
"Chunk Params": "Chunk Parametreleri",
|
||||||
|
"Chunk Size": "Chunk Boyutu",
|
||||||
|
"Click here for help.": "Yardım için buraya tıklayın.",
|
||||||
|
"Click here to check other modelfiles.": "Diğer model dosyalarını kontrol etmek için buraya tıklayın.",
|
||||||
|
"Click here to select": "Seçmek için buraya tıklayın",
|
||||||
|
"Click here to select documents.": "Belgeleri seçmek için buraya tıklayın.",
|
||||||
|
"click here.": "buraya tıklayın.",
|
||||||
|
"Click on the user role button to change a user's role.": "Bir kullanıcının rolünü değiştirmek için kullanıcı rolü düğmesine tıklayın.",
|
||||||
|
"Close": "Kapat",
|
||||||
|
"Collection": "Koleksiyon",
|
||||||
|
"Command": "Komut",
|
||||||
|
"Confirm Password": "Parolayı Onayla",
|
||||||
|
"Connections": "Bağlantılar",
|
||||||
|
"Content": "İçerik",
|
||||||
|
"Context Length": "Bağlam Uzunluğu",
|
||||||
|
"Conversation Mode": "Sohbet Modu",
|
||||||
|
"Copy last code block": "Son kod bloğunu kopyala",
|
||||||
|
"Copy last response": "Son yanıtı kopyala",
|
||||||
|
"Copying to clipboard was successful!": "Panoya kopyalama başarılı!",
|
||||||
|
"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Aşağıdaki sorgu için başlık olarak 3-5 kelimelik kısa ve öz bir ifade oluşturun, 3-5 kelime sınırına kesinlikle uyun ve 'başlık' kelimesini kullanmaktan kaçının:",
|
||||||
|
"Create a modelfile": "Bir model dosyası oluştur",
|
||||||
|
"Create Account": "Hesap Oluştur",
|
||||||
|
"Created at": "Oluşturulma tarihi",
|
||||||
|
"Created by": "Oluşturan",
|
||||||
|
"Current Model": "Mevcut Model",
|
||||||
|
"Current Password": "Mevcut Parola",
|
||||||
|
"Custom": "Özel",
|
||||||
|
"Customize Ollama models for a specific purpose": "Ollama modellerini belirli bir amaç için özelleştirin",
|
||||||
|
"Dark": "Koyu",
|
||||||
|
"Database": "Veritabanı",
|
||||||
|
"DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm",
|
||||||
|
"Default": "Varsayılan",
|
||||||
|
"Default (Automatic1111)": "Varsayılan (Automatic1111)",
|
||||||
|
"Default (Web API)": "Varsayılan (Web API)",
|
||||||
|
"Default model updated": "Varsayılan model güncellendi",
|
||||||
|
"Default Prompt Suggestions": "Varsayılan Prompt Önerileri",
|
||||||
|
"Default User Role": "Varsayılan Kullanıcı Rolü",
|
||||||
|
"delete": "sil",
|
||||||
|
"Delete a model": "Bir modeli sil",
|
||||||
|
"Delete chat": "Sohbeti sil",
|
||||||
|
"Delete Chats": "Sohbetleri Sil",
|
||||||
|
"Deleted {{deleteModelTag}}": "{{deleteModelTag}} silindi",
|
||||||
|
"Deleted {tagName}": "{tagName} silindi",
|
||||||
|
"Description": "Açıklama",
|
||||||
|
"Desktop Notifications": "Masaüstü Bildirimleri",
|
||||||
|
"Disabled": "Devre Dışı",
|
||||||
|
"Discover a modelfile": "Bir model dosyası keşfedin",
|
||||||
|
"Discover a prompt": "Bir prompt keşfedin",
|
||||||
|
"Discover, download, and explore custom prompts": "Özel promptları keşfedin, indirin ve inceleyin",
|
||||||
|
"Discover, download, and explore model presets": "Model ön ayarlarını keşfedin, indirin ve inceleyin",
|
||||||
|
"Display the username instead of You in the Chat": "Sohbet'te Siz yerine kullanıcı adını göster",
|
||||||
|
"Document": "Belge",
|
||||||
|
"Document Settings": "Belge Ayarları",
|
||||||
|
"Documents": "Belgeler",
|
||||||
|
"does not make any external connections, and your data stays securely on your locally hosted server.": "herhangi bir harici bağlantı yapmaz ve verileriniz güvenli bir şekilde yerel olarak barındırılan sunucunuzda kalır.",
|
||||||
|
"Don't Allow": "İzin Verme",
|
||||||
|
"Don't have an account?": "Hesabınız yok mu?",
|
||||||
|
"Download as a File": "Dosya olarak indir",
|
||||||
|
"Download Database": "Veritabanını İndir",
|
||||||
|
"Drop any files here to add to the conversation": "Sohbete eklemek istediğiniz dosyaları buraya bırakın",
|
||||||
|
"e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "örn. '30s', '10m'. Geçerli zaman birimleri 's', 'm', 'h'.",
|
||||||
|
"Edit Doc": "Belgeyi Düzenle",
|
||||||
|
"Edit User": "Kullanıcıyı Düzenle",
|
||||||
|
"Email": "E-posta",
|
||||||
|
"Enable Chat History": "Sohbet Geçmişini Etkinleştir",
|
||||||
|
"Enable New Sign Ups": "Yeni Kayıtları Etkinleştir",
|
||||||
|
"Enabled": "Etkin",
|
||||||
|
"Enter {{role}} message here": "Buraya {{role}} mesajını girin",
|
||||||
|
"Enter API Key": "API Anahtarını Girin",
|
||||||
|
"Enter Chunk Overlap": "Chunk Örtüşmesini Girin",
|
||||||
|
"Enter Chunk Size": "Chunk Boyutunu Girin",
|
||||||
|
"Enter Image Size (e.g. 512x512)": "Görüntü Boyutunu Girin (örn. 512x512)",
|
||||||
|
"Enter LiteLLM API Base URL (litellm_params.api_base)": "LiteLLM API Ana URL'sini Girin (litellm_params.api_base)",
|
||||||
|
"Enter LiteLLM API Key (litellm_params.api_key)": "LiteLLM API Anahtarını Girin (litellm_params.api_key)",
|
||||||
|
"Enter LiteLLM API RPM (litellm_params.rpm)": "LiteLLM API RPM'ini Girin (litellm_params.rpm)",
|
||||||
|
"Enter LiteLLM Model (litellm_params.model)": "LiteLLM Modelini Girin (litellm_params.model)",
|
||||||
|
"Enter Max Tokens (litellm_params.max_tokens)": "Maksimum Token Sayısını Girin (litellm_params.max_tokens)",
|
||||||
|
"Enter model tag (e.g. {{modelTag}})": "Model etiketini girin (örn. {{modelTag}})",
|
||||||
|
"Enter Number of Steps (e.g. 50)": "Adım Sayısını Girin (örn. 50)",
|
||||||
|
"Enter stop sequence": "Durdurma dizisini girin",
|
||||||
|
"Enter Top K": "Top K'yı girin",
|
||||||
|
"Enter URL (e.g. http://127.0.0.1:7860/)": "URL'yi Girin (örn. http://127.0.0.1:7860/)",
|
||||||
|
"Enter Your Email": "E-postanızı Girin",
|
||||||
|
"Enter Your Full Name": "Tam Adınızı Girin",
|
||||||
|
"Enter Your Password": "Parolanızı Girin",
|
||||||
|
"Experimental": "Deneysel",
|
||||||
|
"Export All Chats (All Users)": "Tüm Sohbetleri Dışa Aktar (Tüm Kullanıcılar)",
|
||||||
|
"Export Chats": "Sohbetleri Dışa Aktar",
|
||||||
|
"Export Documents Mapping": "Belge Eşlemesini Dışa Aktar",
|
||||||
|
"Export Modelfiles": "Model Dosyalarını Dışa Aktar",
|
||||||
|
"Export Prompts": "Promptları Dışa Aktar",
|
||||||
|
"Failed to read clipboard contents": "Pano içeriği okunamadı",
|
||||||
|
"File Mode": "Dosya Modu",
|
||||||
|
"File not found.": "Dosya bulunamadı.",
|
||||||
|
"Focus chat input": "Sohbet girişine odaklan",
|
||||||
|
"Format your variables using square brackets like this:": "Değişkenlerinizi şu şekilde kare parantezlerle biçimlendirin:",
|
||||||
|
"From (Base Model)": "(Temel Model)'den",
|
||||||
|
"Full Screen Mode": "Tam Ekran Modu",
|
||||||
|
"General": "Genel",
|
||||||
|
"General Settings": "Genel Ayarlar",
|
||||||
|
"Hello, {{name}}": "Merhaba, {{name}}",
|
||||||
|
"Hide": "Gizle",
|
||||||
|
"Hide Additional Params": "Ek Parametreleri Gizle",
|
||||||
|
"How can I help you today?": "Bugün size nasıl yardımcı olabilirim?",
|
||||||
|
"Image Generation (Experimental)": "Görüntü Oluşturma (Deneysel)",
|
||||||
|
"Image Generation Engine": "Görüntü Oluşturma Motoru",
|
||||||
|
"Image Settings": "Görüntü Ayarları",
|
||||||
|
"Images": "Görüntüler",
|
||||||
|
"Import Chats": "Sohbetleri İçe Aktar",
|
||||||
|
"Import Documents Mapping": "Belge Eşlemesini İçe Aktar",
|
||||||
|
"Import Modelfiles": "Model Dosyalarını İçe Aktar",
|
||||||
|
"Import Prompts": "Promptları İçe Aktar",
|
||||||
|
"Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui çalıştırılırken `--api` bayrağını dahil edin",
|
||||||
|
"Interface": "Arayüz",
|
||||||
|
"join our Discord for help.": "yardım için Discord'umuza katılın.",
|
||||||
|
"JSON": "JSON",
|
||||||
|
"JWT Expiration": "JWT Bitişi",
|
||||||
|
"JWT Token": "JWT Token",
|
||||||
|
"Keep Alive": "Canlı Tut",
|
||||||
|
"Keyboard shortcuts": "Klavye kısayolları",
|
||||||
|
"Language": "Dil",
|
||||||
|
"Light": "Açık",
|
||||||
|
"Listening...": "Dinleniyor...",
|
||||||
|
"LLMs can make mistakes. Verify important information.": "LLM'ler hata yapabilir. Önemli bilgileri doğrulayın.",
|
||||||
|
"Made by OpenWebUI Community": "OpenWebUI Topluluğu tarafından yapılmıştır",
|
||||||
|
"Make sure to enclose them with": "Değişkenlerinizi şu şekilde biçimlendirin:",
|
||||||
|
"Manage LiteLLM Models": "LiteLLM Modellerini Yönet",
|
||||||
|
"Manage Models": "Modelleri Yönet",
|
||||||
|
"Manage Ollama Models": "Ollama Modellerini Yönet",
|
||||||
|
"Max Tokens": "Maksimum Token",
|
||||||
|
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Aynı anda en fazla 3 model indirilebilir. Lütfen daha sonra tekrar deneyin.",
|
||||||
|
"Mirostat": "Mirostat",
|
||||||
|
"Mirostat Eta": "Mirostat Eta",
|
||||||
|
"Mirostat Tau": "Mirostat Tau",
|
||||||
|
"MMMM DD, YYYY": "DD MMMM YYYY",
|
||||||
|
"Model '{{modelName}}' has been successfully downloaded.": "'{{modelName}}' başarıyla indirildi.",
|
||||||
|
"Model '{{modelTag}}' is already in queue for downloading.": "'{{modelTag}}' zaten indirme sırasında.",
|
||||||
|
"Model {{modelId}} not found": "{{modelId}} bulunamadı",
|
||||||
|
"Model {{modelName}} already exists.": "{{modelName}} zaten mevcut.",
|
||||||
|
"Model Name": "Model Adı",
|
||||||
|
"Model not selected": "Model seçilmedi",
|
||||||
|
"Model Tag Name": "Model Etiket Adı",
|
||||||
|
"Model Whitelisting": "Model Beyaz Listeye Alma",
|
||||||
|
"Model(s) Whitelisted": "Model(ler) Beyaz Listeye Alındı",
|
||||||
|
"Modelfile": "Model Dosyası",
|
||||||
|
"Modelfile Advanced Settings": "Model Dosyası Gelişmiş Ayarları",
|
||||||
|
"Modelfile Content": "Model Dosyası İçeriği",
|
||||||
|
"Modelfiles": "Model Dosyaları",
|
||||||
|
"Models": "Modeller",
|
||||||
|
"My Documents": "Belgelerim",
|
||||||
|
"My Modelfiles": "Model Dosyalarım",
|
||||||
|
"My Prompts": "Promptlarım",
|
||||||
|
"Name": "Ad",
|
||||||
|
"Name Tag": "Ad Etiketi",
|
||||||
|
"Name your modelfile": "Model dosyanıza ad verin",
|
||||||
|
"New Chat": "Yeni Sohbet",
|
||||||
|
"New Password": "Yeni Parola",
|
||||||
|
"Not sure what to add?": "Ne ekleyeceğinizden emin değil misiniz?",
|
||||||
|
"Not sure what to write? Switch to": "Ne yazacağınızdan emin değil misiniz? Şuraya geçin",
|
||||||
|
"Off": "Kapalı",
|
||||||
|
"Okay, Let's Go!": "Tamam, Hadi Başlayalım!",
|
||||||
|
"Ollama Base URL": "Ollama Temel URL",
|
||||||
|
"Ollama Version": "Ollama Sürümü",
|
||||||
|
"On": "Açık",
|
||||||
|
"Only": "Yalnızca",
|
||||||
|
"Only alphanumeric characters and hyphens are allowed in the command string.": "Komut dizisinde yalnızca alfasayısal karakterler ve tireler kabul edilir.",
|
||||||
|
"Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Hop! Biraz sabırlı ol! Dosyaların hala hazırlama fırınında. Onları ağzınıza layık olana kadar pişiriyoruz :) Lütfen sabırlı olun; hazır olduklarında size haber vereceğiz.",
|
||||||
|
"Oops! Looks like the URL is invalid. Please double-check and try again.": "Hop! URL geçersiz gibi görünüyor. Lütfen tekrar kontrol edin ve yeniden deneyin.",
|
||||||
|
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hop! Desteklenmeyen bir yöntem kullanıyorsunuz (yalnızca önyüz). Lütfen WebUI'yi arkayüzden sunun.",
|
||||||
|
"Open": "Aç",
|
||||||
|
"Open AI": "Open AI",
|
||||||
|
"Open AI (Dall-E)": "Open AI (Dall-E)",
|
||||||
|
"Open new chat": "Yeni sohbet aç",
|
||||||
|
"OpenAI API": "OpenAI API",
|
||||||
|
"OpenAI API Key": "OpenAI API Anahtarı",
|
||||||
|
"OpenAI API Key is required.": "OpenAI API Anahtarı gereklidir.",
|
||||||
|
"or": "veya",
|
||||||
|
"Parameters": "Parametreler",
|
||||||
|
"Password": "Parola",
|
||||||
|
"PDF Extract Images (OCR)": "PDF Görüntülerini Çıkart (OCR)",
|
||||||
|
"pending": "beklemede",
|
||||||
|
"Permission denied when accessing microphone: {{error}}": "Mikrofona erişim izni reddedildi: {{error}}",
|
||||||
|
"Playground": "Oyun Alanı",
|
||||||
|
"Profile": "Profil",
|
||||||
|
"Prompt Content": "Prompt İçeriği",
|
||||||
|
"Prompt suggestions": "Prompt önerileri",
|
||||||
|
"Prompts": "Promptlar",
|
||||||
|
"Pull a model from Ollama.com": "Ollama.com'dan bir model çekin",
|
||||||
|
"Pull Progress": "Çekme İlerlemesi",
|
||||||
|
"Query Params": "Sorgu Parametreleri",
|
||||||
|
"RAG Template": "RAG Şablonu",
|
||||||
|
"Raw Format": "Ham Format",
|
||||||
|
"Record voice": "Ses kaydı yap",
|
||||||
|
"Redirecting you to OpenWebUI Community": "OpenWebUI Topluluğuna yönlendiriliyorsunuz",
|
||||||
|
"Release Notes": "Sürüm Notları",
|
||||||
|
"Repeat Last N": "Son N'yi Tekrar Et",
|
||||||
|
"Repeat Penalty": "Tekrar Cezası",
|
||||||
|
"Request Mode": "İstek Modu",
|
||||||
|
"Reset Vector Storage": "Vektör Depolamayı Sıfırla",
|
||||||
|
"Response AutoCopy to Clipboard": "Yanıtı Panoya Otomatik Kopyala",
|
||||||
|
"Role": "Rol",
|
||||||
|
"Rosé Pine": "Rosé Pine",
|
||||||
|
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||||
|
"Save": "Kaydet",
|
||||||
|
"Save & Create": "Kaydet ve Oluştur",
|
||||||
|
"Save & Submit": "Kaydet ve Gönder",
|
||||||
|
"Save & Update": "Kaydet ve Güncelle",
|
||||||
|
"Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Sohbet kayıtlarının doğrudan tarayıcınızın depolama alanına kaydedilmesi artık desteklenmemektedir. Lütfen aşağıdaki butona tıklayarak sohbet kayıtlarınızı indirmek ve silmek için bir dakikanızı ayırın. Endişelenmeyin, sohbet günlüklerinizi arkayüze kolayca yeniden aktarabilirsiniz:",
|
||||||
|
"Scan": "Tarama",
|
||||||
|
"Scan complete!": "Tarama tamamlandı!",
|
||||||
|
"Scan for documents from {{path}}": "{{path}} dizininden belgeleri tarayın",
|
||||||
|
"Search": "Ara",
|
||||||
|
"Search Documents": "Belgeleri Ara",
|
||||||
|
"Search Prompts": "Prompt Ara",
|
||||||
|
"See readme.md for instructions": "Yönergeler için readme.md dosyasına bakın",
|
||||||
|
"See what's new": "Yeniliklere göz atın",
|
||||||
|
"Seed": "Seed",
|
||||||
|
"Select a mode": "Bir mod seç",
|
||||||
|
"Select a model": "Bir model seç",
|
||||||
|
"Select an Ollama instance": "Bir Ollama örneği seçin",
|
||||||
|
"Send a Message": "Bir Mesaj Gönder",
|
||||||
|
"Send message": "Mesaj gönder",
|
||||||
|
"Server connection verified": "Sunucu bağlantısı doğrulandı",
|
||||||
|
"Set as default": "Varsayılan olarak ayarla",
|
||||||
|
"Set Default Model": "Varsayılan Modeli Ayarla",
|
||||||
|
"Set Image Size": "Görüntü Boyutunu Ayarla",
|
||||||
|
"Set Steps": "Adımları Ayarla",
|
||||||
|
"Set Title Auto-Generation Model": "Otomatik Başlık Oluşturma Modelini Ayarla",
|
||||||
|
"Set Voice": "Ses Ayarla",
|
||||||
|
"Settings": "Ayarlar",
|
||||||
|
"Settings saved successfully!": "Ayarlar başarıyla kaydedildi!",
|
||||||
|
"Share to OpenWebUI Community": "OpenWebUI Topluluğu ile Paylaş",
|
||||||
|
"short-summary": "kısa-özet",
|
||||||
|
"Show": "Göster",
|
||||||
|
"Show Additional Params": "Ek Parametreleri Göster",
|
||||||
|
"Show shortcuts": "Kısayolları göster",
|
||||||
|
"sidebar": "kenar çubuğu",
|
||||||
|
"Sign in": "Oturum aç",
|
||||||
|
"Sign Out": "Çıkış Yap",
|
||||||
|
"Sign up": "Kaydol",
|
||||||
|
"Speech recognition error: {{error}}": "Konuşma tanıma hatası: {{error}}",
|
||||||
|
"Speech-to-Text Engine": "Konuşmadan Metne Motoru",
|
||||||
|
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API bu tarayıcıda desteklenmiyor.",
|
||||||
|
"Stop Sequence": "Diziyi Durdur",
|
||||||
|
"STT Settings": "STT Ayarları",
|
||||||
|
"Submit": "Gönder",
|
||||||
|
"Success": "Başarılı",
|
||||||
|
"Successfully updated.": "Başarıyla güncellendi.",
|
||||||
|
"Sync All": "Tümünü Senkronize Et",
|
||||||
|
"System": "Sistem",
|
||||||
|
"System Prompt": "Sistem Promptu",
|
||||||
|
"Tags": "Etiketler",
|
||||||
|
"Temperature": "Temperature",
|
||||||
|
"Template": "Şablon",
|
||||||
|
"Text Completion": "Metin Tamamlama",
|
||||||
|
"Text-to-Speech Engine": "Metinden Sese Motoru",
|
||||||
|
"Tfs Z": "Tfs Z",
|
||||||
|
"Theme": "Tema",
|
||||||
|
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Bu, önemli konuşmalarınızın güvenli bir şekilde arkayüz veritabanınıza kaydedildiğini garantiler. Teşekkür ederiz!",
|
||||||
|
"This setting does not sync across browsers or devices.": "Bu ayar tarayıcılar veya cihazlar arasında senkronize edilmez.",
|
||||||
|
"Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "İpucu: Her değiştirmeden sonra sohbet girişinde tab tuşuna basarak birden fazla değişken yuvasını art arda güncelleyin.",
|
||||||
|
"Title": "Başlık",
|
||||||
|
"Title Auto-Generation": "Otomatik Başlık Oluşturma",
|
||||||
|
"Title Generation Prompt": "Başlık Oluşturma Promptu",
|
||||||
|
"to": "için",
|
||||||
|
"To access the available model names for downloading,": "İndirilebilir mevcut model adlarına erişmek için,",
|
||||||
|
"To access the GGUF models available for downloading,": "İndirilebilir mevcut GGUF modellerine erişmek için,",
|
||||||
|
"to chat input.": "sohbet girişine.",
|
||||||
|
"Toggle settings": "Ayarları Aç/Kapat",
|
||||||
|
"Toggle sidebar": "Kenar Çubuğunu Aç/Kapat",
|
||||||
|
"Top K": "Top K",
|
||||||
|
"Top P": "Top P",
|
||||||
|
"Trouble accessing Ollama?": "Ollama'ya erişmede sorun mu yaşıyorsunuz?",
|
||||||
|
"TTS Settings": "TTS Ayarları",
|
||||||
|
"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (Download) URL'sini Yazın",
|
||||||
|
"Uh-oh! There was an issue connecting to {{provider}}.": "Ah! {{provider}}'a bağlanırken bir sorun oluştu.",
|
||||||
|
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Bilinmeyen Dosya Türü '{{file_type}}', ancak düz metin olarak kabul ediliyor ve işleniyor",
|
||||||
|
"Update password": "Parolayı Güncelle",
|
||||||
|
"Upload a GGUF model": "Bir GGUF modeli yükle",
|
||||||
|
"Upload files": "Dosyaları Yükle",
|
||||||
|
"Upload Progress": "Yükleme İlerlemesi",
|
||||||
|
"URL Mode": "URL Modu",
|
||||||
|
"Use '#' in the prompt input to load and select your documents.": "Belgelerinizi yüklemek ve seçmek için promptda '#' kullanın.",
|
||||||
|
"Use Gravatar": "Gravatar Kullan",
|
||||||
|
"user": "kullanıcı",
|
||||||
|
"User Permissions": "Kullanıcı İzinleri",
|
||||||
|
"Users": "Kullanıcılar",
|
||||||
|
"Utilize": "Kullan",
|
||||||
|
"Valid time units:": "Geçerli zaman birimleri:",
|
||||||
|
"variable": "değişken",
|
||||||
|
"variable to have them replaced with clipboard content.": "panodaki içerikle değiştirilmesi için değişken.",
|
||||||
|
"Version": "Sürüm",
|
||||||
|
"Web": "Web",
|
||||||
|
"WebUI Add-ons": "WebUI Eklentileri",
|
||||||
|
"WebUI Settings": "WebUI Ayarları",
|
||||||
|
"WebUI will make requests to": "WebUI, isteklerde bulunacak:",
|
||||||
|
"What’s New in": "Yenilikler:",
|
||||||
|
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Geçmiş kapatıldığında, bu tarayıcıdaki yeni sohbetler hiçbir cihazınızdaki geçmişinizde görünmez.",
|
||||||
|
"Whisper (Local)": "Whisper (Yerel)",
|
||||||
|
"Write a prompt suggestion (e.g. Who are you?)": "Bir prompt önerisi yazın (örn. Sen kimsin?)",
|
||||||
|
"Write a summary in 50 words that summarizes [topic or keyword].": "[Konuyu veya anahtar kelimeyi] özetleyen 50 kelimelik bir özet yazın.",
|
||||||
|
"You": "Siz",
|
||||||
|
"You're a helpful assistant.": "Sen yardımcı bir asistansın.",
|
||||||
|
"You're now logged in.": "Şimdi oturum açtınız."
|
||||||
|
}
|
Loading…
Reference in New Issue