dataset-creation.ts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. const translation = {
  2. steps: {
  3. header: {
  4. creation: 'Criar Conhecimento',
  5. update: 'Adicionar dados',
  6. fallbackRoute: 'Conhecimento',
  7. },
  8. one: 'Escolher fonte de dados',
  9. two: 'Pré-processamento e Limpeza de Texto',
  10. three: 'Executar e finalizar',
  11. },
  12. error: {
  13. unavailable: 'Este Conhecimento não está disponível',
  14. },
  15. stepOne: {
  16. filePreview: 'Visualização do arquivo',
  17. pagePreview: 'Visualização da página',
  18. dataSourceType: {
  19. file: 'Importar de arquivo de texto',
  20. notion: 'Sincronizar do Notion',
  21. web: 'Sincronizar de site',
  22. },
  23. uploader: {
  24. title: 'Enviar arquivo de texto',
  25. button: 'Arraste e solte o arquivo, ou',
  26. browse: 'Navegar',
  27. tip: 'Suporta {{supportTypes}}. Máximo de {{size}}MB cada.',
  28. validation: {
  29. typeError: 'Tipo de arquivo não suportado',
  30. size: 'Arquivo muito grande. Máximo é {{size}}MB',
  31. count: 'Vários arquivos não suportados',
  32. filesNumber: 'Limite de upload em massa {{filesNumber}}.',
  33. },
  34. cancel: 'Cancelar',
  35. change: 'Alterar',
  36. failed: 'Falha no envio',
  37. },
  38. notionSyncTitle: 'Notion não está conectado',
  39. notionSyncTip: 'Para sincronizar com o Notion, a conexão com o Notion deve ser estabelecida primeiro.',
  40. connect: 'Ir para conexão',
  41. button: 'Próximo',
  42. emptyDatasetCreation: 'Quero criar um Conhecimento vazio',
  43. modal: {
  44. title: 'Criar um Conhecimento vazio',
  45. tip: 'Um Conhecimento vazio não conterá documentos e você poderá fazer upload de documentos a qualquer momento.',
  46. input: 'Nome do Conhecimento',
  47. placeholder: 'Por favor, insira',
  48. nameNotEmpty: 'O nome não pode estar vazio',
  49. nameLengthInvalid: 'O nome deve ter entre 1 e 40 caracteres',
  50. cancelButton: 'Cancelar',
  51. confirmButton: 'Criar',
  52. failed: 'Falha na criação',
  53. },
  54. website: {
  55. fireCrawlNotConfiguredDescription: 'Configure o Firecrawl com a chave de API para usá-lo.',
  56. run: 'Correr',
  57. unknownError: 'Erro desconhecido',
  58. crawlSubPage: 'Rastrear subpáginas',
  59. selectAll: 'Selecionar tudo',
  60. resetAll: 'Redefinir tudo',
  61. firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
  62. includeOnlyPaths: 'Incluir apenas caminhos',
  63. configure: 'Configurar',
  64. limit: 'Limite',
  65. firecrawlDoc: 'Documentos do Firecrawl',
  66. preview: 'Visualizar',
  67. options: 'Opções',
  68. scrapTimeInfo: 'Páginas {{total}} raspadas no total dentro de {{time}}s',
  69. exceptionErrorTitle: 'Ocorreu uma exceção durante a execução do trabalho Firecrawl:',
  70. fireCrawlNotConfigured: 'O Firecrawl não está configurado',
  71. maxDepthTooltip: 'Profundidade máxima para rastrear em relação ao URL inserido. A profundidade 0 apenas raspa a página do url inserido, a profundidade 1 raspa o url e tudo depois de inseridoURL + um / e assim por diante.',
  72. firecrawlTitle: 'Extraia conteúdo da web com 🔥Firecrawl',
  73. maxDepth: 'Profundidade máxima',
  74. totalPageScraped: 'Total de páginas raspadas:',
  75. excludePaths: 'Excluir caminhos',
  76. extractOnlyMainContent: 'Extraia apenas o conteúdo principal (sem cabeçalhos, navs, rodapés, etc.)',
  77. jinaReaderNotConfiguredDescription: 'Configure o Jina Reader inserindo sua chave de API gratuita para acesso.',
  78. jinaReaderDoc: 'Saiba mais sobre o Jina Reader',
  79. chooseProvider: 'Selecione um provedor',
  80. jinaReaderNotConfigured: 'Jina Reader não está configurado',
  81. jinaReaderDocLink: 'https://jina.ai/reader',
  82. useSitemap: 'Usar o mapa do site',
  83. useSitemapTooltip: 'Siga o mapa do site para rastrear o site. Caso contrário, o Jina Reader rastreará iterativamente com base na relevância da página, produzindo menos páginas, mas de maior qualidade.',
  84. jinaReaderTitle: 'Converter todo o site em Markdown',
  85. },
  86. cancel: 'Cancelar',
  87. },
  88. stepTwo: {
  89. segmentation: 'Configurações de fragmentação',
  90. auto: 'Automático',
  91. autoDescription: 'Configura automaticamente as regras de fragmentação e pré-processamento. Usuários não familiarizados são recomendados a selecionar esta opção.',
  92. custom: 'Personalizado',
  93. customDescription: 'Personalize as regras de fragmentação, comprimento dos fragmentos e regras de pré-processamento, etc.',
  94. separator: 'Identificador de segmento',
  95. separatorPlaceholder: 'Por exemplo, nova linha (\\\\n) ou separador especial (como "***")',
  96. maxLength: 'Comprimento máximo do fragmento',
  97. overlap: 'Sobreposição de blocos',
  98. overlapTip: 'Configurar a sobreposição de blocos pode manter a relevância semântica entre eles, melhorando o efeito de recuperação. É recomendado definir de 10% a 25% do tamanho máximo do bloco.',
  99. overlapCheck: 'a sobreposição de blocos não deve ser maior que o comprimento máximo do bloco',
  100. rules: 'Regras de pré-processamento de texto',
  101. removeExtraSpaces: 'Substituir espaços consecutivos, quebras de linha e tabulações',
  102. removeUrlEmails: 'Excluir todos os URLs e endereços de e-mail',
  103. removeStopwords: 'Remover palavras irrelevantes como "um", "uma", "o"',
  104. preview: 'Confirmar e visualizar',
  105. reset: 'Redefinir',
  106. indexMode: 'Modo de índice',
  107. qualified: 'Alta qualidade',
  108. recommend: 'Recomendado',
  109. qualifiedTip: 'Chama a interface de incorporação do sistema padrão para processamento, fornecendo maior precisão ao consultar.',
  110. warning: 'Por favor, configure primeiro a chave da API do provedor do modelo.',
  111. click: 'Ir para configurações',
  112. economical: 'Econômico',
  113. economicalTip: 'Use motores de vetor offline, índices de palavras-chave, etc. para reduzir a precisão sem gastar tokens',
  114. QATitle: 'Fragmentação no formato de Perguntas e Respostas',
  115. QATip: 'Habilitar esta opção consumirá mais tokens',
  116. QALanguage: 'Fragmentar usando',
  117. estimateCost: 'Estimativa',
  118. estimateSegment: 'Fragmentos estimados',
  119. segmentCount: 'fragmentos',
  120. calculating: 'Calculando...',
  121. fileSource: 'Pré-processar documentos',
  122. notionSource: 'Pré-processar páginas',
  123. other: 'e outros ',
  124. fileUnit: ' arquivos',
  125. notionUnit: ' páginas',
  126. previousStep: 'Passo anterior',
  127. nextStep: 'Salvar e Processar',
  128. save: 'Salvar e Processar',
  129. cancel: 'Cancelar',
  130. sideTipTitle: 'Por que fragmentar e pré-processar?',
  131. sideTipP1: 'Ao processar dados de texto, fragmentar e limpar são duas etapas importantes de pré-processamento.',
  132. sideTipP2: 'A fragmentação divide um texto longo em parágrafos para que os modelos possam entender melhor. Isso melhora a qualidade e relevância dos resultados do modelo.',
  133. sideTipP3: 'A limpeza remove caracteres e formatos desnecessários, tornando o Conhecimento mais limpo e fácil de analisar.',
  134. sideTipP4: 'Fragmentação e limpeza adequadas melhoram o desempenho do modelo, fornecendo resultados mais precisos e valiosos.',
  135. previewTitle: 'Visualização',
  136. previewTitleButton: 'Visualização',
  137. previewButton: 'Alternar para visualização no formato de Perguntas e Respostas',
  138. previewSwitchTipStart: 'A visualização atual do fragmento está no formato de texto, alternar para uma visualização no formato de Perguntas e Respostas irá',
  139. previewSwitchTipEnd: ' consumir tokens adicionais',
  140. characters: 'caracteres',
  141. indexSettingTip: 'Para alterar o método de índice, por favor vá para as ',
  142. retrievalSettingTip: 'Para alterar o método de índice, por favor vá para as ',
  143. datasetSettingLink: 'configurações do Conhecimento.',
  144. websiteSource: 'Site de pré-processamento',
  145. webpageUnit: 'Páginas',
  146. separatorTip: 'Um delimitador é o caractere usado para separar o texto. \\n\\n e \\n são delimitadores comumente usados para separar parágrafos e linhas. Combinado com vírgulas (\\n\\n,\\n), os parágrafos serão segmentados por linhas ao exceder o comprimento máximo do bloco. Você também pode usar delimitadores especiais definidos por você (por exemplo, ***).',
  147. maxLengthCheck: 'O comprimento máximo do chunk deve ser inferior a {{limit}}',
  148. parentChildDelimiterTip: 'Um delimitador é o caractere usado para separar o texto. \\n\\n é recomendado para dividir o documento original em grandes partes pai. Você também pode usar delimitadores especiais definidos por você.',
  149. parentChildChunkDelimiterTip: 'Um delimitador é o caractere usado para separar o texto. \\n é recomendado para dividir partes pai em pequenas partes filhas. Você também pode usar delimitadores especiais definidos por você.',
  150. notAvailableForQA: 'Não disponível para o Índice de P e R',
  151. parentChild: 'Pai-filho',
  152. general: 'Geral',
  153. qaSwitchHighQualityTipTitle: 'O formato de perguntas e respostas requer um método de indexação de alta qualidade',
  154. parentChunkForContext: 'Parte-pai para contexto',
  155. switch: 'Interruptor',
  156. fullDoc: 'Doc completo',
  157. qaSwitchHighQualityTipContent: 'Atualmente, apenas o método de índice de alta qualidade dá suporte ao agrupamento no formato Q&A. Gostaria de mudar para o modo de alta qualidade?',
  158. childChunkForRetrieval: 'Filho-pedaço para recuperação',
  159. useQALanguage: 'Chunk usando o formato de perguntas e respostas em',
  160. previewChunk: 'Visualizar parte',
  161. notAvailableForParentChild: 'Não disponível para Índice pai-filho',
  162. paragraph: 'Parágrafo',
  163. parentChildTip: 'Ao usar o modo pai-filho, o filho-chunk é usado para recuperação e o pai-chunk é usado para recall como contexto.',
  164. generalTip: 'Modo de agrupamento de texto geral, os pedaços recuperados e recuperados são os mesmos.',
  165. highQualityTip: 'Depois de concluir a incorporação no modo de alta qualidade, a reversão para o modo econômico não estará disponível.',
  166. previewChunkTip: 'Clique no botão \'Preview Chunk\' à esquerda para carregar a visualização',
  167. fullDocTip: 'O documento inteiro é usado como parte pai e recuperado diretamente. Observe que, por motivos de desempenho, o texto que exceder 10000 tokens será truncado automaticamente.',
  168. paragraphTip: 'Esse modo divide o texto em parágrafos com base em delimitadores e no comprimento máximo da parte, usando o texto dividido como a parte pai para recuperação.',
  169. previewChunkCount: '{{contagem}} Partes estimadas',
  170. },
  171. stepThree: {
  172. creationTitle: '🎉 Conhecimento criado',
  173. creationContent: 'Nomeamos automaticamente o Conhecimento, você pode modificá-lo a qualquer momento',
  174. label: 'Nome do Conhecimento',
  175. additionTitle: '🎉 Documento enviado',
  176. additionP1: 'O documento foi enviado para o Conhecimento',
  177. additionP2: ', você pode encontrá-lo na lista de documentos do Conhecimento.',
  178. stop: 'Parar processamento',
  179. resume: 'Continuar processamento',
  180. navTo: 'Ir para documento',
  181. sideTipTitle: 'O que fazer em seguida',
  182. sideTipContent: 'Após a conclusão da indexação do documento, o Conhecimento pode ser integrado à aplicação como contexto. Você pode encontrar a configuração de contexto na página de orquestração de prompts. Você também pode criá-lo como um plugin de indexação ChatGPT independente para lançamento.',
  183. modelTitle: 'Tem certeza de que deseja parar a incorporação?',
  184. modelContent: 'Se você precisar continuar o processamento posteriormente, você continuará de onde parou.',
  185. modelButtonConfirm: 'Confirmar',
  186. modelButtonCancel: 'Cancelar',
  187. },
  188. firecrawl: {
  189. apiKeyPlaceholder: 'Chave de API do firecrawl.dev',
  190. configFirecrawl: 'Configurar 🔥o Firecrawl',
  191. getApiKeyLinkText: 'Obtenha sua chave de API do firecrawl.dev',
  192. },
  193. jinaReader: {
  194. getApiKeyLinkText: 'Obtenha sua chave de API gratuita em jina.ai',
  195. configJinaReader: 'Configurar o Jina Reader',
  196. apiKeyPlaceholder: 'Chave de API do jina.ai',
  197. },
  198. otherDataSource: {
  199. learnMore: 'Saiba Mais',
  200. description: 'Atualmente, a base de conhecimento da Dify possui apenas fontes de dados limitadas. Contribuir com uma fonte de dados para a base de conhecimento Dify é uma maneira fantástica de ajudar a aumentar a flexibilidade e o poder da plataforma para todos os usuários. Nosso guia de contribuição facilita o início. Clique no link abaixo para saber mais.',
  201. title: 'Conectar-se a outras fontes de dados?',
  202. },
  203. }
  204. export default translation