feat: translations (#3176)
This commit is contained in:
parent
d8db728c33
commit
1382f10433
40 changed files with 2595 additions and 696 deletions
|
|
@ -266,19 +266,32 @@ const translation = {
|
|||
queryNoBeEmpty: 'A consulta deve ser definida na solicitação',
|
||||
},
|
||||
variableConig: {
|
||||
'addModalTitle': 'Configurações do Campo',
|
||||
'addModalTitle': 'Adicionar Campo de Entrada',
|
||||
'editModalTitle': 'Editar Campo de Entrada',
|
||||
'description': 'Configuração para a variável {{varName}}',
|
||||
'fieldType': 'Tipo de Campo',
|
||||
'string': 'Texto Curto',
|
||||
'text-input': 'Texto Curto',
|
||||
'paragraph': 'Parágrafo',
|
||||
'select': 'Selecionar',
|
||||
'notSet': 'Não definido, tente digitar {{input}} na solicitação',
|
||||
'stringTitle': 'Opções da Caixa de Texto do Formulário',
|
||||
'number': 'Número',
|
||||
'notSet': 'Não definido, tente digitar {{input}} no prompt de prefixo',
|
||||
'stringTitle': 'Opções da caixa de texto do formulário',
|
||||
'maxLength': 'Comprimento Máximo',
|
||||
'options': 'Opções',
|
||||
'addOption': 'Adicionar opção',
|
||||
'apiBasedVar': 'Variável Baseada em API',
|
||||
'varName': 'Nome da Variável',
|
||||
'labelName': 'Nome do Rótulo',
|
||||
'inputPlaceholder': 'Por favor, insira',
|
||||
'required': 'Obrigatório',
|
||||
'errorMsg': {
|
||||
varNameRequired: 'O nome da variável é obrigatório',
|
||||
labelNameRequired: 'O nome do rótulo é obrigatório',
|
||||
varNameCanBeRepeat: 'O nome da variável não pode ser repetido',
|
||||
atLeastOneOption: 'Pelo menos uma opção é obrigatória',
|
||||
optionRepeat: 'Tem opções repetidas',
|
||||
},
|
||||
},
|
||||
vision: {
|
||||
name: 'Visão',
|
||||
|
|
@ -349,6 +362,7 @@ const translation = {
|
|||
result: 'Texto de Saída',
|
||||
datasetConfig: {
|
||||
settingTitle: 'Configurações de Recuperação',
|
||||
knowledgeTip: 'Clique no botão “+” para adicionar conhecimento',
|
||||
retrieveOneWay: {
|
||||
title: 'Recuperação N-para-1',
|
||||
description: 'Com base na intenção do usuário e nas descrições do Conhecimento, o Agente seleciona autonomamente o melhor Conhecimento para consulta. Melhor para aplicativos com Conhecimento distinto e limitado.',
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
const translation = {
|
||||
title: 'Registros',
|
||||
description: 'Os registros registram o status de execução do aplicativo, incluindo as entradas do usuário e as respostas da IA.',
|
||||
description: 'Os registros registram o status de execução do aplicativo, incluindo entradas do usuário e respostas do AI.',
|
||||
dateTimeFormat: 'MM/DD/YYYY hh:mm A',
|
||||
table: {
|
||||
header: {
|
||||
time: 'Tempo',
|
||||
time: 'Hora',
|
||||
endUser: 'Usuário Final',
|
||||
input: 'Entrada',
|
||||
output: 'Saída',
|
||||
|
|
@ -12,58 +12,72 @@ const translation = {
|
|||
messageCount: 'Contagem de Mensagens',
|
||||
userRate: 'Taxa de Usuário',
|
||||
adminRate: 'Taxa de Op.',
|
||||
startTime: 'HORA DE INÍCIO',
|
||||
status: 'STATUS',
|
||||
runtime: 'TEMPO DE EXECUÇÃO',
|
||||
tokens: 'TOKENS',
|
||||
user: 'USUÁRIO FINAL',
|
||||
version: 'VERSÃO',
|
||||
},
|
||||
pagination: {
|
||||
previous: 'Anterior',
|
||||
next: 'Próximo',
|
||||
},
|
||||
empty: {
|
||||
noChat: 'Nenhuma conversa ainda',
|
||||
noOutput: 'Nenhuma saída',
|
||||
noChat: 'Ainda não há conversas',
|
||||
noOutput: 'Sem saída',
|
||||
element: {
|
||||
title: 'Tem alguém aí?',
|
||||
content: 'Observe e anote as interações entre usuários finais e aplicativos de IA aqui para melhorar continuamente a precisão da IA. Você pode tentar <shareLink>compartilhar</shareLink> ou <testLink>testar</testLink> o aplicativo da Web você mesmo e depois voltar para esta página.',
|
||||
content: 'Observe e anote as interações entre os usuários finais e os aplicativos de IA aqui para melhorar continuamente a precisão da IA. Você pode tentar <shareLink>compartilhar</shareLink> ou <testLink>testar</testLink> o aplicativo da Web você mesmo, e depois voltar para esta página.',
|
||||
},
|
||||
},
|
||||
},
|
||||
detail: {
|
||||
time: 'Tempo',
|
||||
time: 'Hora',
|
||||
conversationId: 'ID da Conversa',
|
||||
promptTemplate: 'Modelo de Prompt',
|
||||
promptTemplateBeforeChat: 'Modelo de Prompt Antes da Conversa · Como Mensagem do Sistema',
|
||||
promptTemplateBeforeChat: 'Modelo de Prompt Antes do Chat · Como Mensagem do Sistema',
|
||||
annotationTip: 'Melhorias Marcadas por {{user}}',
|
||||
timeConsuming: '',
|
||||
second: 's',
|
||||
tokenCost: 'Tokens gastos',
|
||||
tokenCost: 'Token gasto',
|
||||
loading: 'carregando',
|
||||
operation: {
|
||||
like: 'curtir',
|
||||
dislike: 'não curtir',
|
||||
addAnnotation: 'Adicionar Melhoria',
|
||||
editAnnotation: 'Editar Melhoria',
|
||||
annotationPlaceholder: 'Digite a resposta esperada que você deseja que a IA responda, que pode ser usada para ajustar o modelo e melhorar continuamente a qualidade da geração de texto no futuro.',
|
||||
annotationPlaceholder: 'Digite a resposta esperada que você deseja que o AI responda, o que pode ser usado para ajustar o modelo e melhorar continuamente a qualidade da geração de texto no futuro.',
|
||||
},
|
||||
variables: 'Variáveis',
|
||||
uploadImages: 'Imagens Enviadas',
|
||||
uploadImages: 'Imagens Carregadas',
|
||||
},
|
||||
filter: {
|
||||
period: {
|
||||
today: 'Hoje',
|
||||
last7days: 'Últimos 7 Dias',
|
||||
last7days: 'Últimos 7 dias',
|
||||
last4weeks: 'Últimas 4 semanas',
|
||||
last3months: 'Últimos 3 meses',
|
||||
last12months: 'Últimos 12 meses',
|
||||
monthToDate: 'Mês até a data',
|
||||
quarterToDate: 'Trimestre até a data',
|
||||
yearToDate: 'Ano até a data',
|
||||
monthToDate: 'Mês até hoje',
|
||||
quarterToDate: 'Trimestre até hoje',
|
||||
yearToDate: 'Ano até hoje',
|
||||
allTime: 'Todo o tempo',
|
||||
},
|
||||
annotation: {
|
||||
all: 'Todos',
|
||||
all: 'Tudo',
|
||||
annotated: 'Melhorias Anotadas ({{count}} itens)',
|
||||
not_annotated: 'Não Anotadas',
|
||||
not_annotated: 'Não Anotado',
|
||||
},
|
||||
},
|
||||
workflowTitle: 'Registros de Fluxo de Trabalho',
|
||||
workflowSubtitle: 'O registro registrou a operação do Automate.',
|
||||
runDetail: {
|
||||
title: 'Registro de Conversa',
|
||||
workflowTitle: 'Detalhes do Registro',
|
||||
},
|
||||
promptLog: 'Registro de Prompt',
|
||||
viewLog: 'Ver Registro',
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
|
|
|||
|
|
@ -1,47 +1,47 @@
|
|||
const translation = {
|
||||
welcome: {
|
||||
firstStepTip: 'Para começar,',
|
||||
enterKeyTip: 'insira sua chave de API do OpenAI abaixo',
|
||||
getKeyTip: 'Obtenha sua chave de API no painel do OpenAI',
|
||||
placeholder: 'Sua chave de API do OpenAI (por exemplo, sk-xxxx)',
|
||||
enterKeyTip: 'insira sua chave de API OpenAI abaixo',
|
||||
getKeyTip: 'Obtenha sua chave de API no painel da OpenAI',
|
||||
placeholder: 'Sua chave de API OpenAI (ex. sk-xxxx)',
|
||||
},
|
||||
apiKeyInfo: {
|
||||
cloud: {
|
||||
trial: {
|
||||
title: 'Você está usando a cota de teste do {{providerName}}.',
|
||||
description: 'A cota de teste é fornecida para uso de teste. Antes que as chamadas da cota de teste se esgotem, configure seu próprio provedor de modelo ou compre uma cota adicional.',
|
||||
title: 'Você está usando a cota de teste da {{providerName}}.',
|
||||
description: 'A cota de teste é fornecida para seu uso de teste. Antes que as chamadas de cota de teste se esgotem, configure seu próprio provedor de modelo ou compre cota adicional.',
|
||||
},
|
||||
exhausted: {
|
||||
title: 'Sua cota de teste foi esgotada, configure sua chave de API.',
|
||||
description: 'Sua cota de teste foi esgotada. Configure seu próprio provedor de modelo ou compre uma cota adicional.',
|
||||
title: 'Sua cota de teste foi usada, configure sua chave de API.',
|
||||
description: 'Sua cota de teste foi esgotada. Configure seu próprio provedor de modelo ou compre cota adicional.',
|
||||
},
|
||||
},
|
||||
selfHost: {
|
||||
title: {
|
||||
row1: 'Para começar,',
|
||||
row2: 'configure seu próprio provedor de modelo primeiro.',
|
||||
row2: 'configure primeiro seu provedor de modelo.',
|
||||
},
|
||||
},
|
||||
callTimes: 'Número de chamadas',
|
||||
usedToken: 'Tokens usados',
|
||||
setAPIBtn: 'Ir para configurar provedor de modelo',
|
||||
setAPIBtn: 'Ir para configurar o provedor de modelo',
|
||||
tryCloud: 'Ou experimente a versão em nuvem do Dify com cota gratuita',
|
||||
},
|
||||
overview: {
|
||||
title: 'Visão geral',
|
||||
title: 'Visão Geral',
|
||||
appInfo: {
|
||||
explanation: 'Aplicativo Web de IA pronto para uso',
|
||||
accessibleAddress: 'URL pública',
|
||||
explanation: 'WebApp de IA Pronta para Uso',
|
||||
accessibleAddress: 'URL Pública',
|
||||
preview: 'Visualização',
|
||||
regenerate: 'Regenerar',
|
||||
preUseReminder: 'Ative o aplicativo da Web antes de continuar.',
|
||||
preUseReminder: 'Por favor, ative o WebApp antes de continuar.',
|
||||
settings: {
|
||||
entry: 'Configurações',
|
||||
title: 'Configurações do aplicativo da Web',
|
||||
webName: 'Nome do aplicativo da Web',
|
||||
webDesc: 'Descrição do aplicativo da Web',
|
||||
title: 'Configurações do WebApp',
|
||||
webName: 'Nome do WebApp',
|
||||
webDesc: 'Descrição do WebApp',
|
||||
webDescTip: 'Este texto será exibido no lado do cliente, fornecendo orientações básicas sobre como usar o aplicativo',
|
||||
webDescPlaceholder: 'Insira a descrição do aplicativo da Web',
|
||||
webDescPlaceholder: 'Insira a descrição do WebApp',
|
||||
language: 'Idioma',
|
||||
more: {
|
||||
entry: 'Mostrar mais configurações',
|
||||
|
|
@ -49,55 +49,55 @@ const translation = {
|
|||
copyRightPlaceholder: 'Insira o nome do autor ou organização',
|
||||
privacyPolicy: 'Política de Privacidade',
|
||||
privacyPolicyPlaceholder: 'Insira o link da política de privacidade',
|
||||
privacyPolicyTip: 'Ajuda os visitantes a entender os dados que o aplicativo coleta, consulte a <privacyPolicyLink>Política de Privacidade</privacyPolicyLink> do Dify.',
|
||||
privacyPolicyTip: 'Ajuda os visitantes a entender os dados coletados pelo aplicativo, consulte a <privacyPolicyLink>Política de Privacidade</privacyPolicyLink> do Dify.',
|
||||
},
|
||||
},
|
||||
embedded: {
|
||||
entry: 'Embutido',
|
||||
title: 'Incorporar no site',
|
||||
explanation: 'Escolha a maneira de incorporar o aplicativo de bate-papo ao seu site',
|
||||
iframe: 'Para adicionar o aplicativo de bate-papo em qualquer lugar do seu site, adicione este iframe ao seu código HTML.',
|
||||
scripts: 'Para adicionar um aplicativo de bate-papo na parte inferior direita do seu site, adicione este código ao seu HTML.',
|
||||
chromePlugin: 'Instalar Extensão do Chatbot Dify para o Chrome',
|
||||
explanation: 'Escolha a maneira de incorporar o aplicativo de chat ao seu site',
|
||||
iframe: 'Para adicionar o aplicativo de chat em qualquer lugar do seu site, adicione este iframe ao seu código HTML.',
|
||||
scripts: 'Para adicionar um aplicativo de chat no canto inferior direito do seu site, adicione este código ao seu HTML.',
|
||||
chromePlugin: 'Instalar a Extensão do Chrome Dify Chatbot',
|
||||
copied: 'Copiado',
|
||||
copy: 'Copiar',
|
||||
},
|
||||
qrcode: {
|
||||
title: 'Código QR para compartilhar',
|
||||
scan: 'Digitalizar para compartilhar o aplicativo',
|
||||
scan: 'Digitalizar e compartilhar o aplicativo',
|
||||
download: 'Baixar código QR',
|
||||
},
|
||||
customize: {
|
||||
way: 'maneira',
|
||||
way: 'modo',
|
||||
entry: 'Personalizar',
|
||||
title: 'Personalizar aplicativo Web de IA',
|
||||
explanation: 'Você pode personalizar a interface do usuário do aplicativo Web para se adequar ao seu cenário e necessidades de estilo.',
|
||||
title: 'Personalizar WebApp de IA',
|
||||
explanation: 'Você pode personalizar a interface do usuário do Web App para atender às suas necessidades de cenário e estilo.',
|
||||
way1: {
|
||||
name: 'Fork do código do cliente, modifique-o e implante no Vercel (recomendado)',
|
||||
step1: 'Fork do código do cliente e modifique-o',
|
||||
step1Tip: 'Clique aqui para fazer um fork do código-fonte em sua conta do GitHub e modificar o código',
|
||||
step1Operation: 'Dify-WebClient',
|
||||
name: 'Faça um fork do código do cliente, modifique-o e implante-o no Vercel (recomendado)',
|
||||
step1: 'Faça um fork do código do cliente e modifique-o',
|
||||
step1Tip: 'Clique aqui para fazer um fork do código-fonte na sua conta GitHub e modificar o código',
|
||||
step1Operation: 'Cliente-Web-Dify',
|
||||
step2: 'Implantar no Vercel',
|
||||
step2Tip: 'Clique aqui para importar o repositório no Vercel e implantar',
|
||||
step2Operation: 'Importar repositório',
|
||||
step3: 'Configurar variáveis de ambiente',
|
||||
step3: 'Configurar as variáveis de ambiente',
|
||||
step3Tip: 'Adicione as seguintes variáveis de ambiente no Vercel',
|
||||
},
|
||||
way2: {
|
||||
name: 'Escrever código do lado do cliente para chamar a API e implantá-lo em um servidor',
|
||||
name: 'Escreva código do lado do cliente para chamar a API e implante-o em um servidor',
|
||||
operation: 'Documentação',
|
||||
},
|
||||
},
|
||||
},
|
||||
apiInfo: {
|
||||
title: 'API do serviço de backend',
|
||||
explanation: 'Integração fácil em seu aplicativo',
|
||||
accessibleAddress: 'Endpoint da API de serviço',
|
||||
title: 'API de Serviço de Back-end',
|
||||
explanation: 'Facilmente integrado em sua aplicação',
|
||||
accessibleAddress: 'Endpoint do Serviço API',
|
||||
doc: 'Referência da API',
|
||||
},
|
||||
status: {
|
||||
running: 'Em serviço',
|
||||
disable: 'Desativar',
|
||||
disable: 'Desabilitar',
|
||||
},
|
||||
},
|
||||
analysis: {
|
||||
|
|
@ -105,32 +105,36 @@ const translation = {
|
|||
ms: 'ms',
|
||||
tokenPS: 'Token/s',
|
||||
totalMessages: {
|
||||
title: 'Total de mensagens',
|
||||
explanation: 'Contagem diária de interações de IA; engenharia de prompt/depuração excluída.',
|
||||
title: 'Total de Mensagens',
|
||||
explanation: 'Contagem diária de interações AI; engenharia/de depuração excluída.',
|
||||
},
|
||||
activeUsers: {
|
||||
title: 'Usuários ativos',
|
||||
explanation: 'Usuários únicos envolvidos em perguntas e respostas com IA; engenharia de prompt/depuração excluída.',
|
||||
title: 'Usuários Ativos',
|
||||
explanation: 'Usuários únicos engajando em Q&A com AI; engenharia/de depuração excluída.',
|
||||
},
|
||||
tokenUsage: {
|
||||
title: 'Uso de tokens',
|
||||
explanation: 'Reflete o uso diário de tokens do modelo de linguagem para o aplicativo, útil para fins de controle de custos.',
|
||||
consumed: 'Consumidos',
|
||||
title: 'Uso de Token',
|
||||
explanation: 'Reflete o uso diário do token do modelo de linguagem para o aplicativo, útil para fins de controle de custos.',
|
||||
consumed: 'Consumido',
|
||||
},
|
||||
avgSessionInteractions: {
|
||||
title: 'Média de interações por sessão',
|
||||
explanation: 'Contagem contínua de comunicação usuário-IA; para aplicativos baseados em conversas.',
|
||||
title: 'Média de Interações por Sessão',
|
||||
explanation: 'Contagem de comunicação contínua entre usuário e AI; para aplicativos baseados em conversação.',
|
||||
},
|
||||
avgUserInteractions: {
|
||||
title: 'Média de Interações por Usuário',
|
||||
explanation: 'Reflete a frequência de uso diário dos usuários. Essa métrica reflete a fidelidade do usuário.',
|
||||
},
|
||||
userSatisfactionRate: {
|
||||
title: 'Taxa de satisfação do usuário',
|
||||
title: 'Taxa de Satisfação do Usuário',
|
||||
explanation: 'O número de curtidas por 1.000 mensagens. Isso indica a proporção de respostas com as quais os usuários estão altamente satisfeitos.',
|
||||
},
|
||||
avgResponseTime: {
|
||||
title: 'Tempo médio de resposta',
|
||||
explanation: 'Tempo (ms) para o processamento/resposta da IA; para aplicativos baseados em texto.',
|
||||
title: 'Tempo Médio de Resposta',
|
||||
explanation: 'Tempo (ms) para o AI processar/responder; para aplicativos baseados em texto.',
|
||||
},
|
||||
tps: {
|
||||
title: 'Velocidade de saída de tokens',
|
||||
title: 'Velocidade de Saída do Token',
|
||||
explanation: 'Mede o desempenho do LLM. Conta a velocidade de saída de tokens do LLM desde o início da solicitação até a conclusão da saída.',
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,62 +1,90 @@
|
|||
const translation = {
|
||||
createApp: 'Criar aplicativo',
|
||||
createApp: 'CRIAR APLICATIVO',
|
||||
types: {
|
||||
all: 'Tudo',
|
||||
all: 'Todos',
|
||||
chatbot: 'Chatbot',
|
||||
agent: 'Agente',
|
||||
workflow: 'Fluxo de trabalho',
|
||||
completion: 'Gerador de Texto',
|
||||
completion: 'Conclusão',
|
||||
},
|
||||
duplicate: 'Duplicar',
|
||||
duplicateTitle: 'Duplicate aplicativo',
|
||||
duplicateTitle: 'Duplicar Aplicativo',
|
||||
export: 'Exportar DSL',
|
||||
createFromConfigFile: 'Criar através do arquivo DSL',
|
||||
exportFailed: 'Falha ao exportar DSL.',
|
||||
importDSL: 'Importar arquivo DSL',
|
||||
createFromConfigFile: 'Criar a partir do arquivo DSL',
|
||||
deleteAppConfirmTitle: 'Excluir este aplicativo?',
|
||||
deleteAppConfirmContent:
|
||||
'A exclusão do aplicativo é irreversível. Os usuários não poderão mais acessar seu aplicativo e todas as configurações de prompt e logs serão excluídas permanentemente.',
|
||||
'A exclusão do aplicativo é irreversível. Os usuários não poderão mais acessar seu aplicativo e todas as configurações de prompt e logs serão permanentemente excluídas.',
|
||||
appDeleted: 'Aplicativo excluído',
|
||||
appDeleteFailed: 'Falha ao excluir o aplicativo',
|
||||
appDeleteFailed: 'Falha ao excluir aplicativo',
|
||||
join: 'Participe da comunidade',
|
||||
communityIntro:
|
||||
'Discuta com membros da equipe, colaboradores e desenvolvedores em diferentes canais.',
|
||||
roadmap: 'Veja nosso roteiro',
|
||||
newApp: {
|
||||
startFromBlank: 'Começar de um aplicativo em branco',
|
||||
startFromTemplate: 'Começar a partir de um modelo',
|
||||
captionAppType: 'Que tipo de aplicativo você deseja?',
|
||||
chatbotDescription: 'Construir um assistente baseado em chat usando um Modelo de Linguagem de Grande Escala',
|
||||
agentDescription: 'Construir um Agente inteligente que pode escolher autonomamente ferramentas para completar as tarefas',
|
||||
workflowDescription: 'Description text here',
|
||||
captionName: 'Dê um nome ao seu aplicativo',
|
||||
appNamePlaceholder: 'Dê um nome ao seu aplicativo',
|
||||
startFromBlank: 'Criar do zero',
|
||||
startFromTemplate: 'Criar do modelo',
|
||||
captionAppType: 'Que tipo de aplicativo você deseja criar?',
|
||||
chatbotDescription: 'Construa um aplicativo baseado em chat. Este aplicativo usa um formato de pergunta e resposta, permitindo várias rodadas de conversa contínua.',
|
||||
completionDescription: 'Construa um aplicativo que gera texto de alta qualidade com base em prompts, como geração de artigos, resumos, traduções e muito mais.',
|
||||
completionWarning: 'Este tipo de aplicativo não será mais suportado.',
|
||||
agentDescription: 'Construa um Agente inteligente que pode escolher ferramentas para completar as tarefas autonomamente',
|
||||
workflowDescription: 'Construa um aplicativo que gera texto de alta qualidade com base em fluxo de trabalho com alto grau de personalização. É adequado para usuários experientes.',
|
||||
workflowWarning: 'Atualmente em beta',
|
||||
chatbotType: 'Método de orquestração do Chatbot',
|
||||
basic: 'Básico',
|
||||
basicTip: 'Para iniciantes, pode mudar para o Chatflow mais tarde',
|
||||
basicFor: 'PARA INICIANTES',
|
||||
basicDescription: 'A Orquestração Básica permite orquestrar um aplicativo Chatbot usando configurações simples, sem a capacidade de modificar prompts integrados. É adequado para iniciantes.',
|
||||
advanced: 'Chatflow',
|
||||
advancedFor: 'Para usuários avançados',
|
||||
advancedDescription: 'A Orquestração de Fluxo de Trabalho orquestra Chatbots na forma de fluxos de trabalho, oferecendo um alto grau de personalização, incluindo a capacidade de editar prompts integrados. É adequado para usuários experientes.',
|
||||
captionName: 'Ícone e nome do aplicativo',
|
||||
appNamePlaceholder: 'Dê um nome para o seu aplicativo',
|
||||
captionDescription: 'Descrição',
|
||||
appDescriptionPlaceholder: 'Enter the description of the app',
|
||||
useTemplate: 'Insira a descrição do aplicativo',
|
||||
appDescriptionPlaceholder: 'Digite a descrição do aplicativo',
|
||||
useTemplate: 'Usar este modelo',
|
||||
previewDemo: 'Visualizar demonstração',
|
||||
chatApp: 'Usar este modelo',
|
||||
chatApp: 'Assistente',
|
||||
chatAppIntro:
|
||||
'Quero construir um aplicativo baseado em chat. Este aplicativo usa um formato de pergunta e resposta, permitindo várias rodadas de conversa contínua.',
|
||||
agentAssistant: 'Assistente de novo agente',
|
||||
'Eu quero construir um aplicativo baseado em chat. Este aplicativo usa um formato de pergunta e resposta, permitindo várias rodadas de conversa contínua.',
|
||||
agentAssistant: 'Novo Assistente de Agente',
|
||||
completeApp: 'Gerador de Texto',
|
||||
completeAppIntro:
|
||||
'Quero criar um aplicativo que gera texto de alta qualidade com base em prompts, como geração de artigos, resumos, traduções e muito mais.',
|
||||
showTemplates: 'Quero escolher um modelo',
|
||||
hideTemplates: 'Voltar para seleção de modo',
|
||||
'Eu quero criar um aplicativo que gera texto de alta qualidade com base em prompts, como geração de artigos, resumos, traduções e muito mais.',
|
||||
showTemplates: 'Quero escolher a partir de um modelo',
|
||||
hideTemplates: 'Voltar para a seleção de modo',
|
||||
Create: 'Criar',
|
||||
Cancel: 'Cancelar',
|
||||
nameNotEmpty: 'O nome não pode estar vazio',
|
||||
appTemplateNotSelected: 'Por favor, selecione um modelo',
|
||||
appTypeRequired: 'Por favor, selecione um tipo de aplicativo',
|
||||
appCreated: 'Aplicativo criado',
|
||||
appCreateFailed: 'Falha ao criar o aplicativo',
|
||||
},
|
||||
editApp: {
|
||||
startToEdit: 'Editar Aplicativo',
|
||||
appCreateFailed: 'Falha ao criar aplicativo',
|
||||
},
|
||||
editApp: 'Editar Informações',
|
||||
editAppTitle: 'Editar Informações do Aplicativo',
|
||||
editDone: 'Informações do aplicativo atualizadas',
|
||||
editFailed: 'Falha ao atualizar informações do aplicativo',
|
||||
emoji: {
|
||||
ok: 'OK',
|
||||
cancel: 'Cancelar',
|
||||
},
|
||||
switch: 'Mudar para Orquestração de Fluxo de Trabalho',
|
||||
switchTipStart: 'Será criada uma nova cópia do aplicativo para você e a nova cópia mudará para Orquestração de Fluxo de Trabalho. A nova cópia não permitirá a ',
|
||||
switchTip: 'volta',
|
||||
switchTipEnd: ' para Orquestração Básica.',
|
||||
switchLabel: 'A cópia do aplicativo a ser criada',
|
||||
removeOriginal: 'Excluir o aplicativo original',
|
||||
switchStart: 'Iniciar mudança',
|
||||
typeSelector: {
|
||||
all: 'Todos os Tipos',
|
||||
chatbot: 'Chatbot',
|
||||
agent: 'Agente',
|
||||
workflow: 'Fluxo de trabalho',
|
||||
completion: 'Conclusão',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
|
|
|||
|
|
@ -478,6 +478,10 @@ const translation = {
|
|||
title: 'Variáveis e Ferramentas Externas',
|
||||
desc: 'Inserir Variáveis e Ferramentas Externas',
|
||||
},
|
||||
outputToolDisabledItem: {
|
||||
title: 'Variáveis',
|
||||
desc: 'Inserir variáveis',
|
||||
},
|
||||
modal: {
|
||||
add: 'Nova variável',
|
||||
addTool: 'Nova ferramenta',
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ const translation = {
|
|||
apps: {
|
||||
title: 'Explorar Aplicações por Dify',
|
||||
description: 'Use esses aplicativos modelo instantaneamente ou personalize seus próprios aplicativos com base nos modelos.',
|
||||
allCategories: 'Todas as Categorias',
|
||||
allCategories: 'Recomendado',
|
||||
},
|
||||
appCard: {
|
||||
addToWorkspace: 'Adicionar ao Espaço de Trabalho',
|
||||
|
|
|
|||
|
|
@ -1,10 +1,22 @@
|
|||
const translation = {
|
||||
result: 'RESULT',
|
||||
tracing: 'TRACING',
|
||||
input: 'ENTRADA',
|
||||
result: 'RESULTADO',
|
||||
detail: 'DETALHE',
|
||||
tracing: 'RASTREIO',
|
||||
resultPanel: {
|
||||
status: 'STATUS',
|
||||
time: 'ELAPSED TIME',
|
||||
tokens: 'TOTAL TOKENS',
|
||||
time: 'TEMPO DECORRIDO',
|
||||
tokens: 'TOTAL DE TOKENS',
|
||||
},
|
||||
meta: {
|
||||
title: 'METADADOS',
|
||||
status: 'Status',
|
||||
version: 'Versão',
|
||||
executor: 'Executor',
|
||||
startTime: 'Hora de Início',
|
||||
time: 'Tempo Decorrido',
|
||||
tokens: 'Total de Tokens',
|
||||
steps: 'Passos de Execução',
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,90 +1,332 @@
|
|||
const translation = {
|
||||
common: {
|
||||
editing: 'Editando',
|
||||
autoSaved: 'Auto-salvo',
|
||||
unpublished: 'Não publicado',
|
||||
published: 'Publicado',
|
||||
publish: 'Publicar',
|
||||
update: 'Atualizar',
|
||||
run: 'Executar',
|
||||
running: 'Executando',
|
||||
inRunMode: 'No modo de execução',
|
||||
inPreview: 'Na prévia',
|
||||
inPreviewMode: 'No modo de prévia',
|
||||
preview: 'Prévia',
|
||||
viewRunHistory: 'Ver histórico de execução',
|
||||
runHistory: 'Histórico de execução',
|
||||
goBackToEdit: 'Voltar para a edição',
|
||||
conversationLog: 'Registro de conversa',
|
||||
features: 'Recursos',
|
||||
debugAndPreview: 'Depurar e pré-visualizar',
|
||||
restart: 'Reiniciar',
|
||||
currentDraft: 'Rascunho atual',
|
||||
currentDraftUnpublished: 'Rascunho atual não publicado',
|
||||
latestPublished: 'Último publicado',
|
||||
publishedAt: 'Publicado em',
|
||||
restore: 'Restaurar',
|
||||
runApp: 'Executar aplicativo',
|
||||
batchRunApp: 'Executar aplicativo em lote',
|
||||
accessAPIReference: 'Acessar referência da API',
|
||||
embedIntoSite: 'Incorporar no site',
|
||||
addTitle: 'Adicionar título...',
|
||||
addDescription: 'Adicionar descrição...',
|
||||
noVar: 'Sem variável',
|
||||
searchVar: 'Buscar variável',
|
||||
variableNamePlaceholder: 'Nome da variável',
|
||||
setVarValuePlaceholder: 'Definir variável',
|
||||
needConnecttip: 'Esta etapa não está conectada a nada',
|
||||
maxTreeDepth: 'Limite máximo de {{depth}} nós por ramificação',
|
||||
needEndNode: 'O bloco de fim deve ser adicionado',
|
||||
needAnswerNode: 'O bloco de resposta deve ser adicionado',
|
||||
workflowProcess: 'Processo de fluxo de trabalho',
|
||||
notRunning: 'Ainda não em execução',
|
||||
previewPlaceholder: 'Digite o conteúdo na caixa abaixo para iniciar a depuração do Chatbot',
|
||||
effectVarConfirm: {
|
||||
title: 'Remover variável',
|
||||
content: 'A variável está sendo usada em outros nós. Deseja removê-la mesmo assim?',
|
||||
},
|
||||
insertVarTip: 'Pressione a tecla \'/\' para inserir rapidamente',
|
||||
},
|
||||
errorMsg: {
|
||||
fieldRequired: '{{field}} é obrigatório',
|
||||
authRequired: 'Autorização é necessária',
|
||||
invalidJson: '{{field}} é JSON inválido',
|
||||
fields: {
|
||||
variable: 'Nome da Variável',
|
||||
variableValue: 'Valor da Variável',
|
||||
code: 'Código',
|
||||
model: 'Modelo',
|
||||
rerankModel: 'Modelo de Re-ordenação',
|
||||
},
|
||||
invalidVariable: 'Variável inválida',
|
||||
},
|
||||
singleRun: {
|
||||
testRun: 'Execução de teste ',
|
||||
startRun: 'Iniciar execução',
|
||||
running: 'Executando',
|
||||
},
|
||||
tabs: {
|
||||
'searchBlock': 'Buscar bloco',
|
||||
'blocks': 'Blocos',
|
||||
'builtInTool': 'Ferramenta incorporada',
|
||||
'customTool': 'Ferramenta personalizada',
|
||||
'question-understand': 'Entendimento da pergunta',
|
||||
'logic': 'Lógica',
|
||||
'transform': 'Transformar',
|
||||
'utilities': 'Utilitários',
|
||||
'noResult': 'Nenhum resultado encontrado',
|
||||
},
|
||||
blocks: {
|
||||
'start': 'Início',
|
||||
'end': 'Fim',
|
||||
'answer': 'Resposta',
|
||||
'llm': 'LLM',
|
||||
'knowledge-retrieval': 'Recuperação de conhecimento',
|
||||
'question-classifier': 'Classificador de perguntas',
|
||||
'if-else': 'Se/Senão',
|
||||
'code': 'Código',
|
||||
'template-transform': 'Modelo',
|
||||
'http-request': 'Requisição HTTP',
|
||||
'variable-assigner': 'Atribuidor de variáveis',
|
||||
},
|
||||
blocksAbout: {
|
||||
'start': 'Defina os parâmetros iniciais para iniciar um fluxo de trabalho',
|
||||
'end': 'Defina o final e o tipo de resultado de um fluxo de trabalho',
|
||||
'answer': 'Defina o conteúdo da resposta de uma conversa no chat',
|
||||
'llm': 'Invocar grandes modelos de linguagem para responder perguntas ou processar linguagem natural',
|
||||
'knowledge-retrieval': 'Permite consultar conteúdo de texto relacionado a perguntas de usuário do conhecimento',
|
||||
'question-classifier': 'Define as condições de classificação de perguntas do usuário, LLM pode definir como a conversa progride com base na descrição da classificação',
|
||||
'if-else': 'Permite dividir o fluxo de trabalho em dois ramos com base em condições if/else',
|
||||
'code': 'Execute um trecho de código Python ou NodeJS para implementar lógica personalizada',
|
||||
'template-transform': 'Converta dados em string usando a sintaxe do modelo Jinja',
|
||||
'http-request': 'Permite enviar solicitações de servidor sobre o protocolo HTTP',
|
||||
'variable-assigner': 'Atribua variáveis em diferentes ramos à mesma variável para alcançar uma configuração unificada de pós-nós',
|
||||
},
|
||||
operator: {
|
||||
zoomIn: 'Aumentar zoom',
|
||||
zoomOut: 'Diminuir zoom',
|
||||
zoomTo50: 'Zoom para 50%',
|
||||
zoomTo100: 'Zoom para 100%',
|
||||
zoomToFit: 'Zoom para ajustar',
|
||||
},
|
||||
panel: {
|
||||
userInputField: 'Campo de entrada do usuário',
|
||||
changeBlock: 'Mudar bloco',
|
||||
helpLink: 'Link de ajuda',
|
||||
about: 'Sobre',
|
||||
createdBy: 'Criado por ',
|
||||
nextStep: 'Próximo passo',
|
||||
addNextStep: 'Adicionar o próximo bloco neste fluxo de trabalho',
|
||||
selectNextStep: 'Selecionar próximo bloco',
|
||||
runThisStep: 'Executar este passo',
|
||||
checklist: 'Lista de verificação',
|
||||
checklistTip: 'Certifique-se de resolver todos os problemas antes de publicar',
|
||||
checklistResolved: 'Todos os problemas estão resolvidos',
|
||||
organizeBlocks: 'Organizar blocos',
|
||||
change: 'Mudar',
|
||||
},
|
||||
nodes: {
|
||||
common: {
|
||||
outputVars: 'Output Variables',
|
||||
insertVarTip: 'Insert Variable',
|
||||
},
|
||||
start: {
|
||||
required: 'required',
|
||||
inputField: 'Input Field',
|
||||
builtInVar: 'Built-in Variables',
|
||||
outputVars: {
|
||||
query: 'User input',
|
||||
memories: {
|
||||
des: 'Conversation history',
|
||||
type: 'message type',
|
||||
content: 'message content',
|
||||
},
|
||||
files: 'File list',
|
||||
outputVars: 'Variáveis de saída',
|
||||
insertVarTip: 'Pressione a tecla \'/\' para inserir',
|
||||
memory: {
|
||||
memory: 'Memória',
|
||||
memoryTip: 'Configurações de memória do chat',
|
||||
windowSize: 'Tamanho da janela',
|
||||
conversationRoleName: 'Nome do papel na conversa',
|
||||
user: 'Prefixo do usuário',
|
||||
assistant: 'Prefixo do assistente',
|
||||
},
|
||||
memories: {
|
||||
title: 'Memórias',
|
||||
tip: 'Memória do chat',
|
||||
builtIn: 'Incorporada',
|
||||
},
|
||||
},
|
||||
start: {
|
||||
required: 'obrigatório',
|
||||
inputField: 'Campo de entrada',
|
||||
builtInVar: 'Variáveis incorporadas',
|
||||
outputVars: {
|
||||
query: 'Entrada do usuário',
|
||||
memories: {
|
||||
des: 'Histórico da conversa',
|
||||
type: 'Tipo de mensagem',
|
||||
content: 'Conteúdo da mensagem',
|
||||
},
|
||||
files: 'Lista de arquivos',
|
||||
},
|
||||
noVarTip: 'Defina as entradas que podem ser usadas no fluxo de trabalho',
|
||||
},
|
||||
end: {
|
||||
outputs: 'Outputs',
|
||||
outputs: 'Saídas',
|
||||
output: {
|
||||
type: 'Tipo de saída',
|
||||
variable: 'Variável de saída',
|
||||
},
|
||||
type: {
|
||||
'none': 'None',
|
||||
'plain-text': 'Plain Text',
|
||||
'structured': 'Structured',
|
||||
'none': 'Nenhum',
|
||||
'plain-text': 'Texto simples',
|
||||
'structured': 'Estruturado',
|
||||
},
|
||||
},
|
||||
answer: {
|
||||
answer: 'Answer',
|
||||
inputVars: 'Input Variables',
|
||||
answer: 'Resposta',
|
||||
outputVars: 'Variáveis de saída',
|
||||
},
|
||||
llm: {
|
||||
model: 'model',
|
||||
variables: 'variables',
|
||||
context: 'context',
|
||||
model: 'modelo',
|
||||
variables: 'variáveis',
|
||||
context: 'contexto',
|
||||
contextTooltip: 'Você pode importar conhecimento como contexto',
|
||||
notSetContextInPromptTip: 'Para habilitar o recurso de contexto, preencha a variável de contexto em PROMPT.',
|
||||
prompt: 'prompt',
|
||||
vision: 'vision',
|
||||
roleDescription: {
|
||||
system: 'Dar instruções de alto nível para a conversa',
|
||||
user: 'Fornecer instruções, consultas ou qualquer entrada baseada em texto para o modelo',
|
||||
assistant: 'Respostas do modelo com base nas mensagens do usuário',
|
||||
},
|
||||
addMessage: 'Adicionar mensagem',
|
||||
vision: 'visão',
|
||||
files: 'Arquivos',
|
||||
resolution: {
|
||||
name: 'Resolução',
|
||||
high: 'Alta',
|
||||
low: 'Baixa',
|
||||
},
|
||||
outputVars: {
|
||||
output: 'Generate content',
|
||||
usage: 'Model Usage Information',
|
||||
output: 'Gerar conteúdo',
|
||||
usage: 'Informações de uso do modelo',
|
||||
},
|
||||
singleRun: {
|
||||
variable: 'Variável',
|
||||
},
|
||||
},
|
||||
knowledgeRetrieval: {
|
||||
queryVariable: 'Variável de consulta',
|
||||
knowledge: 'Conhecimento',
|
||||
outputVars: {
|
||||
output: 'Dados segmentados de recuperação',
|
||||
content: 'Conteúdo segmentado',
|
||||
title: 'Título segmentado',
|
||||
icon: 'Ícone segmentado',
|
||||
url: 'URL segmentada',
|
||||
metadata: 'Outros metadados',
|
||||
},
|
||||
},
|
||||
http: {
|
||||
inputVars: 'Input Variables',
|
||||
inputVars: 'Variáveis de entrada',
|
||||
api: 'API',
|
||||
headers: 'Headers',
|
||||
params: 'Params',
|
||||
body: 'Body',
|
||||
apiPlaceholder: 'Insira o URL, digite \'/\' para inserir a variável',
|
||||
notStartWithHttp: 'A API deve começar com http:// ou https://',
|
||||
key: 'Chave',
|
||||
value: 'Valor',
|
||||
bulkEdit: 'Editar em massa',
|
||||
keyValueEdit: 'Edição de chave-valor',
|
||||
headers: 'Cabeçalhos',
|
||||
params: 'Parâmetros',
|
||||
body: 'Corpo',
|
||||
outputVars: {
|
||||
body: 'Response Content',
|
||||
statusCode: 'Response Status Code',
|
||||
headers: 'Response Header List JSON',
|
||||
body: 'Conteúdo da resposta',
|
||||
statusCode: 'Código de status da resposta',
|
||||
headers: 'Lista de cabeçalhos de resposta JSON',
|
||||
files: 'Lista de arquivos',
|
||||
},
|
||||
authorization: {
|
||||
'authorization': 'Autorização',
|
||||
'authorizationType': 'Tipo de autorização',
|
||||
'no-auth': 'Nenhum',
|
||||
'api-key': 'Chave da API',
|
||||
'auth-type': 'Tipo de autenticação',
|
||||
'basic': 'Básica',
|
||||
'bearer': 'Bearer',
|
||||
'custom': 'Personalizada',
|
||||
'api-key-title': 'Chave da API',
|
||||
'header': 'Cabeçalho',
|
||||
},
|
||||
insertVarPlaceholder: 'digite \'/\' para inserir variável',
|
||||
},
|
||||
code: {
|
||||
inputVars: 'Input Variables',
|
||||
outputVars: 'Output Variables',
|
||||
inputVars: 'Variáveis de entrada',
|
||||
outputVars: 'Variáveis de saída',
|
||||
},
|
||||
templateTransform: {
|
||||
inputVars: 'Input Variables',
|
||||
code: 'Code',
|
||||
codeSupportTip: 'Only supports Jinja2',
|
||||
inputVars: 'Variáveis de entrada',
|
||||
code: 'Código',
|
||||
codeSupportTip: 'Suporta apenas Jinja2',
|
||||
outputVars: {
|
||||
output: 'Transformed content',
|
||||
output: 'Conteúdo transformado',
|
||||
},
|
||||
},
|
||||
ifElse: {
|
||||
conditions: 'Conditions',
|
||||
and: 'and',
|
||||
or: 'or',
|
||||
if: 'Se',
|
||||
else: 'Senão',
|
||||
elseDescription: 'Usado para definir a lógica que deve ser executada quando a condição if não é atendida.',
|
||||
and: 'e',
|
||||
or: 'ou',
|
||||
operator: 'Operador',
|
||||
notSetVariable: 'Por favor, defina a variável primeiro',
|
||||
comparisonOperator: {
|
||||
'contains': 'contains',
|
||||
'not contains': 'not contains',
|
||||
'start with': 'start with',
|
||||
'end with': 'end with',
|
||||
'is': 'is',
|
||||
'is not': 'is not',
|
||||
'empty': 'empty',
|
||||
'not empty': 'not empty',
|
||||
'null': 'is null',
|
||||
'not null': 'is not null',
|
||||
'contains': 'contém',
|
||||
'not contains': 'não contém',
|
||||
'start with': 'começa com',
|
||||
'end with': 'termina com',
|
||||
'is': 'é',
|
||||
'is not': 'não é',
|
||||
'empty': 'vazio',
|
||||
'not empty': 'não está vazio',
|
||||
'null': 'nulo',
|
||||
'not null': 'não é nulo',
|
||||
},
|
||||
enterValue: 'Digite o valor',
|
||||
addCondition: 'Adicionar condição',
|
||||
conditionNotSetup: 'Condição NÃO configurada',
|
||||
},
|
||||
variableAssigner: {
|
||||
title: 'Assign variables',
|
||||
title: 'Atribuir variáveis',
|
||||
outputType: 'Tipo de saída',
|
||||
outputVarType: 'Tipo de variável de saída',
|
||||
varNotSet: 'Variável não definida',
|
||||
noVarTip: 'Adicione as variáveis a serem atribuídas',
|
||||
type: {
|
||||
string: 'String',
|
||||
number: 'Número',
|
||||
object: 'Objeto',
|
||||
array: 'Array',
|
||||
},
|
||||
outputVars: {
|
||||
output: 'Valor da variável atribuída',
|
||||
},
|
||||
},
|
||||
tool: {
|
||||
toAuthorize: 'Para autorizar',
|
||||
inputVars: 'Variáveis de entrada',
|
||||
outputVars: {
|
||||
text: 'conteúdo gerado pela ferramenta',
|
||||
files: {
|
||||
title: 'arquivos gerados pela ferramenta',
|
||||
type: 'Tipo de suporte. Agora apenas suporte a imagem',
|
||||
transfer_method: 'Método de transferência. O valor é remote_url ou local_file',
|
||||
url: 'URL da imagem',
|
||||
upload_file_id: 'ID de upload do arquivo',
|
||||
},
|
||||
},
|
||||
},
|
||||
questionClassifiers: {
|
||||
model: 'modelo',
|
||||
inputVars: 'Variáveis de entrada',
|
||||
class: 'Classe',
|
||||
classNamePlaceholder: 'Escreva o nome da classe',
|
||||
advancedSetting: 'Configuração avançada',
|
||||
topicName: 'Nome do tópico',
|
||||
topicPlaceholder: 'Escreva o nome do tópico',
|
||||
addClass: 'Adicionar classe',
|
||||
instruction: 'Instrução',
|
||||
instructionPlaceholder: 'Escreva sua instrução',
|
||||
},
|
||||
},
|
||||
tracing: {
|
||||
stopBy: 'Parado por {{user}}',
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue