balibabu commited on
Commit
6fb2244
·
1 Parent(s): 838e578

Feat: Support for Portuguese language #4557 (#4558)

Browse files

### What problem does this PR solve?

Feat: Support for Portuguese language #4557

### Type of change


- [x] New Feature (non-breaking change which adds functionality)

web/src/locales/config.ts CHANGED
@@ -20,7 +20,7 @@ const resources = {
20
  ja: translation_ja,
21
  es: translation_es,
22
  vi: translation_vi,
23
- 'pt-br': translation_pt_br,
24
  };
25
  const enFlattened = flattenObject(translation_en);
26
  const viFlattened = flattenObject(translation_vi);
@@ -39,7 +39,7 @@ export const translationTable = createTranslationTable(
39
  jaFlattened,
40
  pt_brFlattened,
41
  ],
42
- ['English', 'Vietnamese', 'Spanish', 'zh', 'zh-TRADITIONAL', 'ja', 'pt-br'],
43
  );
44
  i18n
45
  .use(initReactI18next)
@@ -48,7 +48,16 @@ i18n
48
  detection: {
49
  lookupLocalStorage: 'lng',
50
  },
51
- supportedLngs: ['en', 'zh', 'zh-TRADITIONAL', 'id', 'es', 'vi', 'ja', 'pt-br'],
 
 
 
 
 
 
 
 
 
52
  resources,
53
  fallbackLng: 'en',
54
  interpolation: {
 
20
  ja: translation_ja,
21
  es: translation_es,
22
  vi: translation_vi,
23
+ 'pt-BR': translation_pt_br,
24
  };
25
  const enFlattened = flattenObject(translation_en);
26
  const viFlattened = flattenObject(translation_vi);
 
39
  jaFlattened,
40
  pt_brFlattened,
41
  ],
42
+ ['English', 'Vietnamese', 'Spanish', 'zh', 'zh-TRADITIONAL', 'ja', 'pt-BR'],
43
  );
44
  i18n
45
  .use(initReactI18next)
 
48
  detection: {
49
  lookupLocalStorage: 'lng',
50
  },
51
+ supportedLngs: [
52
+ 'en',
53
+ 'zh',
54
+ 'zh-TRADITIONAL',
55
+ 'id',
56
+ 'es',
57
+ 'vi',
58
+ 'ja',
59
+ 'pt-BR',
60
+ ],
61
  resources,
62
  fallbackLng: 'en',
63
  interpolation: {
web/src/locales/en.ts CHANGED
@@ -15,7 +15,7 @@ export default {
15
  edit: 'Edit',
16
  upload: 'Upload',
17
  english: 'English',
18
- portugeseBr: 'Portuguese (Brazil)',
19
  chinese: 'Simplified Chinese',
20
  traditionalChinese: 'Traditional Chinese',
21
  language: 'Language',
 
15
  edit: 'Edit',
16
  upload: 'Upload',
17
  english: 'English',
18
+ portugueseBr: 'Portuguese (Brazil)',
19
  chinese: 'Simplified Chinese',
20
  traditionalChinese: 'Traditional Chinese',
21
  language: 'Language',
web/src/locales/es.ts CHANGED
@@ -16,7 +16,7 @@ export default {
16
  upload: 'Subir',
17
  english: 'Ingles',
18
  spanish: 'Español',
19
- portugeseBr: 'Portugués (Brasil)',
20
  chinese: 'Chino simplificado',
21
  traditionalChinese: 'Chino tradicional',
22
  language: 'Idioma',
 
16
  upload: 'Subir',
17
  english: 'Ingles',
18
  spanish: 'Español',
19
+ portugueseBr: 'Portugués (Brasil)',
20
  chinese: 'Chino simplificado',
21
  traditionalChinese: 'Chino tradicional',
22
  language: 'Idioma',
web/src/locales/id.ts CHANGED
@@ -16,7 +16,7 @@ export default {
16
  edit: 'Ubah',
17
  upload: 'Unggah',
18
  english: 'Inggris',
19
- portugeseBr: 'Portugis (Brasil)',
20
  chinese: 'Cina',
21
  traditionalChinese: 'Cina Tradisional',
22
  language: 'Bahasa',
 
16
  edit: 'Ubah',
17
  upload: 'Unggah',
18
  english: 'Inggris',
19
+ portugueseBr: 'Portugis (Brasil)',
20
  chinese: 'Cina',
21
  traditionalChinese: 'Cina Tradisional',
22
  language: 'Bahasa',
web/src/locales/ja.ts CHANGED
@@ -15,7 +15,7 @@ export default {
15
  edit: '編集',
16
  upload: 'アップロード',
17
  english: '英語',
18
- portugeseBr: 'ポルトガル語 (ブラジル)',
19
  chinese: '中国語(簡体字)',
20
  traditionalChinese: '中国語(繁体字)',
21
  language: '言語',
 
15
  edit: '編集',
16
  upload: 'アップロード',
17
  english: '英語',
18
+ portugueseBr: 'ポルトガル語 (ブラジル)',
19
  chinese: '中国語(簡体字)',
20
  traditionalChinese: '中国語(繁体字)',
21
  language: '言語',
web/src/locales/pt-br.ts CHANGED
@@ -15,7 +15,7 @@ export default {
15
  edit: 'Editar',
16
  upload: 'Carregar',
17
  english: 'Inglês',
18
- portugeseBr: 'Português (Brasil)',
19
  chinese: 'Chinês Simplificado',
20
  traditionalChinese: 'Chinês Tradicional',
21
  language: 'Idioma',
@@ -36,7 +36,7 @@ export default {
36
  submit: 'Enviar',
37
  embedIntoSite: 'Incorporar no site',
38
  previousPage: 'Anterior',
39
- nextPage: 'Próxima'
40
  },
41
  login: {
42
  login: 'Entrar',
@@ -55,8 +55,9 @@ export default {
55
  register: 'Criar uma conta',
56
  continue: 'Continuar',
57
  title: 'Comece a construir seus assistentes inteligentes.',
58
- description: 'Inscreva-se gratuitamente para explorar a tecnologia RAG de ponta. Crie bases de conhecimento e IAs para capacitar seu negócio.',
59
- review: 'de 500+ avaliações'
 
60
  },
61
  header: {
62
  knowledgeBase: 'Base de Conhecimento',
@@ -68,7 +69,7 @@ export default {
68
  logout: 'Sair',
69
  fileManager: 'Gerenciamento de Arquivos',
70
  flow: 'Agente',
71
- search: 'Buscar'
72
  },
73
  knowledgeList: {
74
  welcome: 'Bem-vindo de volta',
@@ -78,7 +79,7 @@ export default {
78
  namePlaceholder: 'Por favor, insira o nome!',
79
  doc: 'Documentos',
80
  searchKnowledgePlaceholder: 'Buscar',
81
- noMoreData: 'Isso é tudo. Nada mais.'
82
  },
83
  knowledgeDetail: {
84
  dataset: 'Conjunto de dados',
@@ -88,7 +89,8 @@ export default {
88
  name: 'Nome',
89
  namePlaceholder: 'Por favor, insira o nome!',
90
  doc: 'Documentos',
91
- datasetDescription: '😉 Por favor, aguarde o término da análise do seu arquivo antes de iniciar um chat com IA.',
 
92
  addFile: 'Adicionar arquivo',
93
  searchFiles: 'Buscar seus arquivos',
94
  localFiles: 'Arquivos locais',
@@ -104,11 +106,14 @@ export default {
104
  processBeginAt: 'Início em',
105
  processDuration: 'Duração',
106
  progressMsg: 'Progresso',
107
- testingDescription: 'Realize um teste de recuperação para verificar se o RAGFlow pode recuperar o conteúdo pretendido para o LLM.',
 
108
  similarityThreshold: 'Limite de similaridade',
109
- similarityThresholdTip: 'O RAGFlow emprega uma combinação de similaridade de palavras-chave ponderada e similaridade de cosseno vetorial ponderada, ou uma combinação de similaridade de palavras-chave ponderada e pontuação de reranking ponderada durante a recuperação. Este parâmetro define o limite para similaridades entre a consulta do usuário e os fragmentos. Qualquer fragmento com uma pontuação de similaridade abaixo deste limite será excluído dos resultados.',
 
110
  vectorSimilarityWeight: 'Peso da similaridade de palavras-chave',
111
- vectorSimilarityWeightTip: 'Define o peso da similaridade de palavras-chave na pontuação de similaridade combinada, usada com a similaridade de cosseno vetorial ou com a pontuação de reranking. O total dos dois pesos deve ser igual a 1.0.',
 
112
  testText: 'Texto de teste',
113
  testTextPlaceholder: 'Insira sua pergunta aqui!',
114
  testingLabel: 'Testando',
@@ -126,37 +131,46 @@ export default {
126
  runningStatus3: 'Sucesso',
127
  runningStatus4: 'Falha',
128
  pageRanges: 'Intervalos de páginas',
129
- pageRangesTip: 'Intervalo de páginas a serem analisadas; páginas fora deste intervalo não serão processadas.',
 
130
  fromPlaceholder: 'de',
131
  fromMessage: 'Página inicial ausente',
132
  toPlaceholder: 'até',
133
  toMessage: 'Página final ausente (excluída)',
134
  layoutRecognize: 'Reconhecimento de layout',
135
- layoutRecognizeTip: 'Use modelos visuais para análise de layout para entender melhor a estrutura do documento e localizar efetivamente títulos, blocos de texto, imagens e tabelas. Se desativado, apenas o texto simples no PDF será recuperado.',
 
136
  taskPageSize: 'Tamanho da página da tarefa',
137
  taskPageSizeMessage: 'Por favor, insira o tamanho da página da tarefa!',
138
- taskPageSizeTip: 'Durante o reconhecimento de layout, um arquivo PDF é dividido em fragmentos e processado em paralelo para aumentar a velocidade de processamento. Este parâmetro define o tamanho de cada fragmento. Um tamanho de fragmento maior reduz a probabilidade de dividir texto contínuo entre páginas.',
 
139
  addPage: 'Adicionar página',
140
  greaterThan: 'O valor atual deve ser maior que!',
141
  greaterThanPrevious: 'O valor atual deve ser maior que o anterior!',
142
  selectFiles: 'Selecionar arquivos',
143
  changeSpecificCategory: 'Alterar categoria específica',
144
- uploadTitle: 'Clique ou arraste o arquivo para esta área para fazer o upload',
145
- uploadDescription: 'Suporte para upload único ou em massa. Estritamente proibido fazer upload de dados da empresa ou outros arquivos proibidos.',
 
 
146
  chunk: 'Fragmento',
147
  bulk: 'Em massa',
148
  cancel: 'Cancelar',
149
  rerankModel: 'Modelo de reranking',
150
  rerankPlaceholder: 'Por favor, selecione',
151
- rerankTip: 'Se deixado vazio, o RAGFlow usará uma combinação de similaridade de palavras-chave ponderada e similaridade de cosseno vetorial ponderada; se um modelo de reranking for selecionado, uma pontuação de reranking ponderada substituirá a similaridade de cosseno vetorial ponderada. Esteja ciente de que usar um modelo de reranking aumentará significativamente o tempo de resposta do sistema.',
 
152
  topK: 'Top-K',
153
  topKTip: 'K fragmentos serão alimentados em modelos de reranking.',
154
  delimiter: 'Delimitador',
155
- delimiterTip: 'Um delimitador ou separador pode consistir em um ou vários caracteres especiais. Se for múltiplos caracteres, certifique-se de que estejam entre crases (``). Por exemplo, se você configurar seus delimitadores assim: \n`##`;, seus textos serão separados em quebras de linha, símbolos de hash duplo (##) ou ponto e vírgula.',
 
156
  html4excel: 'Excel para HTML',
157
- html4excelTip: 'Quando ativado, a planilha será analisada em tabelas HTML, com no máximo 256 linhas por tabela. Caso contrário, será analisada em pares chave-valor por linha.',
 
158
  autoKeywords: 'Palavras-chave automáticas',
159
- autoKeywordsTip: 'Extraia automaticamente N palavras-chave para cada fragmento para aumentar sua classificação para consultas que contenham essas palavras-chave. Você pode verificar ou atualizar as palavras-chave adicionadas para um fragmento na lista de fragmentos. Esteja ciente de que tokens extras serão consumidos pelo LLM especificado nas "Configurações do modelo do sistema".',
 
160
  autoQuestions: 'Perguntas automáticas',
161
  autoQuestionsTip: `Extraia automaticamente N perguntas para cada fragmento para aumentar sua relevância em consultas que contenham essas perguntas. Você pode verificar ou atualizar as perguntas adicionadas a um fragmento na lista de fragmentos. Essa funcionalidade não interromperá o processo de fragmentação em caso de erro, exceto pelo fato de que pode adicionar um resultado vazio ao fragmento original. Esteja ciente de que tokens extras serão consumidos pelo LLM especificado nas 'Configurações do modelo do sistema'.`,
162
  redo: 'Deseja limpar os {{chunkNum}} fragmentos existentes?',
@@ -207,7 +221,8 @@ export default {
207
  upload: 'Enviar',
208
  english: 'Inglês',
209
  chinese: 'Chinês',
210
- embeddingModelPlaceholder: 'Por favor, selecione um modelo de incorporação',
 
211
  chunkMethodPlaceholder: 'Por favor, selecione um método de fragmentação',
212
  save: 'Salvar',
213
  me: 'Somente eu',
@@ -376,7 +391,8 @@ export default {
376
  maxTokens: 'Máximo de tokens',
377
  maxTokensMessage: 'O máximo de tokens é obrigatório',
378
  maxTokensTip: `Define o comprimento máximo da saída do modelo, medido pelo número de tokens (palavras ou partes de palavras). O padrão é 512. Se desativado, você remove o limite máximo de tokens, permitindo que o modelo determine o número de tokens em suas respostas.`,
379
- maxTokensInvalidMessage: 'Por favor, insira um número válido para o máximo de tokens.',
 
380
  maxTokensMinMessage: 'O máximo de tokens não pode ser menor que 0.',
381
  quote: 'Mostrar citação',
382
  quoteTip: 'Exibir ou não o texto original como referência.',
@@ -432,7 +448,8 @@ export default {
432
  maxTokens: 'Máximo de Tokens',
433
  maxTokensMessage: 'Máximo de Tokens é obrigatório',
434
  maxTokensTip: `Isso define o comprimento máximo da saída do modelo, medido em número de tokens (palavras ou partes de palavras). O padrão é 512. Se desativado, você remove o limite máximo de tokens, permitindo que o modelo determine o número de tokens em suas respostas.`,
435
- maxTokensInvalidMessage: 'Por favor, insira um número válido para Máximo de Tokens.',
 
436
  maxTokensMinMessage: 'O Máximo de Tokens não pode ser menor que 0.',
437
  password: 'Senha',
438
  passwordDescription: 'Digite sua senha atual para alterá-la.',
@@ -463,31 +480,41 @@ export default {
463
  newPasswordDescription: 'Sua nova senha deve ter mais de 8 caracteres.',
464
  confirmPassword: 'Confirmar nova senha',
465
  confirmPasswordMessage: 'Por favor, confirme sua senha!',
466
- confirmPasswordNonMatchMessage: 'A nova senha que você inseriu não corresponde!',
 
467
  cancel: 'Cancelar',
468
  addedModels: 'Modelos adicionados',
469
  modelsToBeAdded: 'Modelos a serem adicionados',
470
  addTheModel: 'Adicionar o modelo',
471
  apiKey: 'Chave da API',
472
- apiKeyMessage: 'Por favor, insira a chave da API (para modelos implantados localmente, ignore isso).',
473
- apiKeyTip: 'A chave da API pode ser obtida registrando-se no fornecedor correspondente do LLM.',
 
 
474
  showMoreModels: 'Mostrar mais modelos',
475
  baseUrl: 'URL Base',
476
- baseUrlTip: 'Se sua chave da API for do OpenAI, ignore isso. Outros provedores intermediários fornecerão essa URL base com a chave da API.',
 
477
  modify: 'Modificar',
478
  systemModelSettings: 'Configurações do Modelo do Sistema',
479
  chatModel: 'Modelo de chat',
480
- chatModelTip: 'O modelo LLM padrão que todos os novos bancos de conhecimento usarão.',
 
481
  embeddingModel: 'Modelo de incorporação',
482
- embeddingModelTip: 'O modelo de incorporação padrão que todos os novos bancos de conhecimento usarão.',
 
483
  img2txtModel: 'Modelo Img2Txt',
484
- img2txtModelTip: 'O modelo multimodal padrão que todos os novos bancos de conhecimento usarão. Ele pode descrever uma imagem ou vídeo.',
 
485
  sequence2txtModel: 'Modelo Sequence2Txt',
486
- sequence2txtModelTip: 'O modelo ASR padrão que todos os novos bancos de conhecimento usarão. Use este modelo para converter vozes em texto correspondente.',
 
487
  rerankModel: 'Modelo de Reordenação',
488
- rerankModelTip: 'O modelo de reordenação padrão usado para reordenar os fragmentos recuperados pelas perguntas dos usuários.',
 
489
  ttsModel: 'Modelo TTS',
490
- ttsModelTip: 'O modelo TTS padrão será usado para gerar fala durante as conversas sob demanda.',
 
491
  workspace: 'Área de trabalho',
492
  upgrade: 'Atualizar',
493
  addLlmTitle: 'Adicionar LLM',
@@ -544,11 +571,13 @@ export default {
544
  yiyanAKMessage: 'Por favor, insira sua chave da API',
545
  addyiyanSK: 'Chave secreta yiyan',
546
  yiyanSKMessage: 'Por favor, insira sua chave secreta',
547
- FishAudioModelNameMessage: 'Por favor, dê um nome ao seu modelo de síntese de voz',
 
548
  addFishAudioAK: 'Chave da API Fish Audio',
549
  addFishAudioAKMessage: 'Por favor, insira sua chave da API',
550
  addFishAudioRefID: 'ID de referência do FishAudio',
551
- addFishAudioRefIDMessage: 'Por favor, insira o ID de referência (deixe em branco para usar o modelo padrão).',
 
552
  modelProvidersWarn: `Por favor, adicione tanto o modelo de incorporação quanto o LLM em <b>Configurações > Provedores de Modelo</b> primeiro. Depois, defina-os nas 'Configurações do modelo do sistema'.`,
553
  apiVersion: 'Versão da API',
554
  apiVersionMessage: 'Por favor, insira a versão da API',
@@ -610,7 +639,8 @@ export default {
610
  file: 'Arquivo',
611
  uploadFile: 'Carregar Arquivo',
612
  directory: 'Diretório',
613
- uploadTitle: 'Clique ou arraste o arquivo para esta área para fazer o upload',
 
614
  uploadDescription:
615
  'Suporta upload de um único arquivo ou múltiplos arquivos. É estritamente proibido o upload de dados da empresa ou outros arquivos proibidos.',
616
  local: 'Uploads locais',
@@ -785,17 +815,17 @@ export default {
785
  cht: 'Chinês tradicional',
786
  vie: 'Vietnamita',
787
  },
788
-
789
  qWeather: 'QWeather',
790
  qWeatherDescription:
791
  'Um componente que recupera informações meteorológicas, como temperatura e qualidade do ar, de https://www.qweather.com.',
792
-
793
  lang: 'Idioma',
794
  type: 'Tipo',
795
  webApiKey: 'Chave de API da Web',
796
  userType: 'Tipo de usuário',
797
  timePeriod: 'Período de tempo',
798
-
799
  qWeatherLangOptions: {
800
  zh: 'Chinês simplificado',
801
  'zh-hant': 'Chinês tradicional',
@@ -829,7 +859,7 @@ export default {
829
  is: 'Islandês',
830
  nb: 'Norueguês',
831
  },
832
-
833
  qWeatherTypeOptions: {
834
  weather: 'Previsão do tempo',
835
  indices: 'Índice de qualidade de vida relacionado ao clima',
@@ -839,7 +869,7 @@ export default {
839
  free: 'Assinante gratuito',
840
  paid: 'Assinante pago',
841
  },
842
-
843
  qWeatherTimePeriodOptions: {
844
  now: 'Agora',
845
  '3d': '3 dias',
@@ -848,12 +878,12 @@ export default {
848
  '15d': '12 dias',
849
  '30d': '30 dias',
850
  },
851
-
852
  publish: 'API',
853
  exeSQL: 'ExeSQL',
854
  exeSQLDescription:
855
  'Um componente que executa consultas SQL em um banco de dados relacional, suportando consultas de MySQL, PostgreSQL ou MariaDB.',
856
-
857
  dbType: 'Tipo de banco de dados',
858
  database: 'Banco de dados',
859
  username: 'Nome de usuário',
@@ -876,12 +906,12 @@ export default {
876
  empty: 'Vazio',
877
  notEmpty: 'Não vazio',
878
  },
879
-
880
  switchLogicOperatorOptions: {
881
  and: 'E',
882
  or: 'Ou',
883
  },
884
-
885
  operator: 'Operador',
886
  value: 'Valor',
887
  useTemplate: 'Usar este modelo',
@@ -889,7 +919,7 @@ export default {
889
  queryType: 'Tipo de consulta',
890
  wenCaiDescription:
891
  'Um componente que obtém informações financeiras, incluindo preços de ações e notícias de financiamento, de uma ampla variedade de sites financeiros.',
892
-
893
  wenCaiQueryTypeOptions: {
894
  stock: 'Ação',
895
  zhishu: 'Índice',
@@ -903,26 +933,26 @@ export default {
903
  lccp: 'Financiamento',
904
  foreign_exchange: 'Câmbio',
905
  },
906
-
907
  akShare: 'AkShare',
908
  akShareDescription:
909
  'Um componente que obtém notícias sobre ações de https://www.eastmoney.com/.',
910
-
911
  yahooFinance: 'YahooFinance',
912
  yahooFinanceDescription:
913
  'Um componente que consulta informações sobre uma empresa de capital aberto usando seu símbolo de ticker.',
914
-
915
  crawler: 'Rastreador Web',
916
  crawlerDescription:
917
  'Um componente que rastreia o código-fonte HTML de um URL especificado.',
918
-
919
  proxy: 'Proxy',
920
  crawlerResultOptions: {
921
  html: 'Html',
922
  markdown: 'Markdown',
923
  content: 'Conteúdo',
924
  },
925
-
926
  extractType: 'Tipo de extração',
927
  info: 'Informações',
928
  history: 'Histórico',
@@ -932,7 +962,7 @@ export default {
932
  jin10: 'Jin10',
933
  jin10Description:
934
  'Um componente que obtém informações financeiras da Plataforma Aberta Jin10, incluindo notícias, calendários, cotações e referências.',
935
-
936
  flashType: 'Tipo de Flash',
937
  filter: 'Filtro',
938
  contain: 'Contém',
@@ -946,7 +976,7 @@ export default {
946
  symbols: 'Cotações',
947
  news: 'Referência',
948
  },
949
-
950
  jin10FlashTypeOptions: {
951
  '1': 'Notícias do Mercado',
952
  '2': 'Notícias de Futuros',
@@ -954,27 +984,27 @@ export default {
954
  '4': 'Notícias A-Share',
955
  '5': 'Notícias de Commodities & Forex',
956
  },
957
-
958
  jin10CalendarTypeOptions: {
959
  cj: 'Calendário de dados macroeconômicos',
960
  qh: 'Calendário de Futuros',
961
  hk: 'Calendário do mercado de ações de Hong Kong',
962
  us: 'Calendário do mercado de ações dos EUA',
963
  },
964
-
965
  jin10CalendarDatashapeOptions: {
966
  data: 'Dados',
967
  event: 'Evento',
968
  holiday: 'Feriado',
969
  },
970
-
971
  jin10SymbolsTypeOptions: {
972
  GOODS: 'Cotações de commodities',
973
  FOREX: 'Cotações de Forex',
974
  FUTURE: 'Cotações do mercado internacional',
975
  CRYPTO: 'Cotações de criptomoedas',
976
  },
977
-
978
  jin10SymbolsDatatypeOptions: {
979
  symbols: 'Lista de commodities',
980
  quotes: 'Últimas cotações do mercado',
@@ -1096,4 +1126,3 @@ export default {
1096
  },
1097
  },
1098
  };
1099
-
 
15
  edit: 'Editar',
16
  upload: 'Carregar',
17
  english: 'Inglês',
18
+ portugueseBr: 'Português (Brasil)',
19
  chinese: 'Chinês Simplificado',
20
  traditionalChinese: 'Chinês Tradicional',
21
  language: 'Idioma',
 
36
  submit: 'Enviar',
37
  embedIntoSite: 'Incorporar no site',
38
  previousPage: 'Anterior',
39
+ nextPage: 'Próxima',
40
  },
41
  login: {
42
  login: 'Entrar',
 
55
  register: 'Criar uma conta',
56
  continue: 'Continuar',
57
  title: 'Comece a construir seus assistentes inteligentes.',
58
+ description:
59
+ 'Inscreva-se gratuitamente para explorar a tecnologia RAG de ponta. Crie bases de conhecimento e IAs para capacitar seu negócio.',
60
+ review: 'de 500+ avaliações',
61
  },
62
  header: {
63
  knowledgeBase: 'Base de Conhecimento',
 
69
  logout: 'Sair',
70
  fileManager: 'Gerenciamento de Arquivos',
71
  flow: 'Agente',
72
+ search: 'Buscar',
73
  },
74
  knowledgeList: {
75
  welcome: 'Bem-vindo de volta',
 
79
  namePlaceholder: 'Por favor, insira o nome!',
80
  doc: 'Documentos',
81
  searchKnowledgePlaceholder: 'Buscar',
82
+ noMoreData: 'Isso é tudo. Nada mais.',
83
  },
84
  knowledgeDetail: {
85
  dataset: 'Conjunto de dados',
 
89
  name: 'Nome',
90
  namePlaceholder: 'Por favor, insira o nome!',
91
  doc: 'Documentos',
92
+ datasetDescription:
93
+ '😉 Por favor, aguarde o término da análise do seu arquivo antes de iniciar um chat com IA.',
94
  addFile: 'Adicionar arquivo',
95
  searchFiles: 'Buscar seus arquivos',
96
  localFiles: 'Arquivos locais',
 
106
  processBeginAt: 'Início em',
107
  processDuration: 'Duração',
108
  progressMsg: 'Progresso',
109
+ testingDescription:
110
+ 'Realize um teste de recuperação para verificar se o RAGFlow pode recuperar o conteúdo pretendido para o LLM.',
111
  similarityThreshold: 'Limite de similaridade',
112
+ similarityThresholdTip:
113
+ 'O RAGFlow emprega uma combinação de similaridade de palavras-chave ponderada e similaridade de cosseno vetorial ponderada, ou uma combinação de similaridade de palavras-chave ponderada e pontuação de reranking ponderada durante a recuperação. Este parâmetro define o limite para similaridades entre a consulta do usuário e os fragmentos. Qualquer fragmento com uma pontuação de similaridade abaixo deste limite será excluído dos resultados.',
114
  vectorSimilarityWeight: 'Peso da similaridade de palavras-chave',
115
+ vectorSimilarityWeightTip:
116
+ 'Define o peso da similaridade de palavras-chave na pontuação de similaridade combinada, usada com a similaridade de cosseno vetorial ou com a pontuação de reranking. O total dos dois pesos deve ser igual a 1.0.',
117
  testText: 'Texto de teste',
118
  testTextPlaceholder: 'Insira sua pergunta aqui!',
119
  testingLabel: 'Testando',
 
131
  runningStatus3: 'Sucesso',
132
  runningStatus4: 'Falha',
133
  pageRanges: 'Intervalos de páginas',
134
+ pageRangesTip:
135
+ 'Intervalo de páginas a serem analisadas; páginas fora deste intervalo não serão processadas.',
136
  fromPlaceholder: 'de',
137
  fromMessage: 'Página inicial ausente',
138
  toPlaceholder: 'até',
139
  toMessage: 'Página final ausente (excluída)',
140
  layoutRecognize: 'Reconhecimento de layout',
141
+ layoutRecognizeTip:
142
+ 'Use modelos visuais para análise de layout para entender melhor a estrutura do documento e localizar efetivamente títulos, blocos de texto, imagens e tabelas. Se desativado, apenas o texto simples no PDF será recuperado.',
143
  taskPageSize: 'Tamanho da página da tarefa',
144
  taskPageSizeMessage: 'Por favor, insira o tamanho da página da tarefa!',
145
+ taskPageSizeTip:
146
+ 'Durante o reconhecimento de layout, um arquivo PDF é dividido em fragmentos e processado em paralelo para aumentar a velocidade de processamento. Este parâmetro define o tamanho de cada fragmento. Um tamanho de fragmento maior reduz a probabilidade de dividir texto contínuo entre páginas.',
147
  addPage: 'Adicionar página',
148
  greaterThan: 'O valor atual deve ser maior que!',
149
  greaterThanPrevious: 'O valor atual deve ser maior que o anterior!',
150
  selectFiles: 'Selecionar arquivos',
151
  changeSpecificCategory: 'Alterar categoria específica',
152
+ uploadTitle:
153
+ 'Clique ou arraste o arquivo para esta área para fazer o upload',
154
+ uploadDescription:
155
+ 'Suporte para upload único ou em massa. Estritamente proibido fazer upload de dados da empresa ou outros arquivos proibidos.',
156
  chunk: 'Fragmento',
157
  bulk: 'Em massa',
158
  cancel: 'Cancelar',
159
  rerankModel: 'Modelo de reranking',
160
  rerankPlaceholder: 'Por favor, selecione',
161
+ rerankTip:
162
+ 'Se deixado vazio, o RAGFlow usará uma combinação de similaridade de palavras-chave ponderada e similaridade de cosseno vetorial ponderada; se um modelo de reranking for selecionado, uma pontuação de reranking ponderada substituirá a similaridade de cosseno vetorial ponderada. Esteja ciente de que usar um modelo de reranking aumentará significativamente o tempo de resposta do sistema.',
163
  topK: 'Top-K',
164
  topKTip: 'K fragmentos serão alimentados em modelos de reranking.',
165
  delimiter: 'Delimitador',
166
+ delimiterTip:
167
+ 'Um delimitador ou separador pode consistir em um ou vários caracteres especiais. Se for múltiplos caracteres, certifique-se de que estejam entre crases (``). Por exemplo, se você configurar seus delimitadores assim: \n`##`;, seus textos serão separados em quebras de linha, símbolos de hash duplo (##) ou ponto e vírgula.',
168
  html4excel: 'Excel para HTML',
169
+ html4excelTip:
170
+ 'Quando ativado, a planilha será analisada em tabelas HTML, com no máximo 256 linhas por tabela. Caso contrário, será analisada em pares chave-valor por linha.',
171
  autoKeywords: 'Palavras-chave automáticas',
172
+ autoKeywordsTip:
173
+ 'Extraia automaticamente N palavras-chave para cada fragmento para aumentar sua classificação para consultas que contenham essas palavras-chave. Você pode verificar ou atualizar as palavras-chave adicionadas para um fragmento na lista de fragmentos. Esteja ciente de que tokens extras serão consumidos pelo LLM especificado nas "Configurações do modelo do sistema".',
174
  autoQuestions: 'Perguntas automáticas',
175
  autoQuestionsTip: `Extraia automaticamente N perguntas para cada fragmento para aumentar sua relevância em consultas que contenham essas perguntas. Você pode verificar ou atualizar as perguntas adicionadas a um fragmento na lista de fragmentos. Essa funcionalidade não interromperá o processo de fragmentação em caso de erro, exceto pelo fato de que pode adicionar um resultado vazio ao fragmento original. Esteja ciente de que tokens extras serão consumidos pelo LLM especificado nas 'Configurações do modelo do sistema'.`,
176
  redo: 'Deseja limpar os {{chunkNum}} fragmentos existentes?',
 
221
  upload: 'Enviar',
222
  english: 'Inglês',
223
  chinese: 'Chinês',
224
+ embeddingModelPlaceholder:
225
+ 'Por favor, selecione um modelo de incorporação',
226
  chunkMethodPlaceholder: 'Por favor, selecione um método de fragmentação',
227
  save: 'Salvar',
228
  me: 'Somente eu',
 
391
  maxTokens: 'Máximo de tokens',
392
  maxTokensMessage: 'O máximo de tokens é obrigatório',
393
  maxTokensTip: `Define o comprimento máximo da saída do modelo, medido pelo número de tokens (palavras ou partes de palavras). O padrão é 512. Se desativado, você remove o limite máximo de tokens, permitindo que o modelo determine o número de tokens em suas respostas.`,
394
+ maxTokensInvalidMessage:
395
+ 'Por favor, insira um número válido para o máximo de tokens.',
396
  maxTokensMinMessage: 'O máximo de tokens não pode ser menor que 0.',
397
  quote: 'Mostrar citação',
398
  quoteTip: 'Exibir ou não o texto original como referência.',
 
448
  maxTokens: 'Máximo de Tokens',
449
  maxTokensMessage: 'Máximo de Tokens é obrigatório',
450
  maxTokensTip: `Isso define o comprimento máximo da saída do modelo, medido em número de tokens (palavras ou partes de palavras). O padrão é 512. Se desativado, você remove o limite máximo de tokens, permitindo que o modelo determine o número de tokens em suas respostas.`,
451
+ maxTokensInvalidMessage:
452
+ 'Por favor, insira um número válido para Máximo de Tokens.',
453
  maxTokensMinMessage: 'O Máximo de Tokens não pode ser menor que 0.',
454
  password: 'Senha',
455
  passwordDescription: 'Digite sua senha atual para alterá-la.',
 
480
  newPasswordDescription: 'Sua nova senha deve ter mais de 8 caracteres.',
481
  confirmPassword: 'Confirmar nova senha',
482
  confirmPasswordMessage: 'Por favor, confirme sua senha!',
483
+ confirmPasswordNonMatchMessage:
484
+ 'A nova senha que você inseriu não corresponde!',
485
  cancel: 'Cancelar',
486
  addedModels: 'Modelos adicionados',
487
  modelsToBeAdded: 'Modelos a serem adicionados',
488
  addTheModel: 'Adicionar o modelo',
489
  apiKey: 'Chave da API',
490
+ apiKeyMessage:
491
+ 'Por favor, insira a chave da API (para modelos implantados localmente, ignore isso).',
492
+ apiKeyTip:
493
+ 'A chave da API pode ser obtida registrando-se no fornecedor correspondente do LLM.',
494
  showMoreModels: 'Mostrar mais modelos',
495
  baseUrl: 'URL Base',
496
+ baseUrlTip:
497
+ 'Se sua chave da API for do OpenAI, ignore isso. Outros provedores intermediários fornecerão essa URL base com a chave da API.',
498
  modify: 'Modificar',
499
  systemModelSettings: 'Configurações do Modelo do Sistema',
500
  chatModel: 'Modelo de chat',
501
+ chatModelTip:
502
+ 'O modelo LLM padrão que todos os novos bancos de conhecimento usarão.',
503
  embeddingModel: 'Modelo de incorporação',
504
+ embeddingModelTip:
505
+ 'O modelo de incorporação padrão que todos os novos bancos de conhecimento usarão.',
506
  img2txtModel: 'Modelo Img2Txt',
507
+ img2txtModelTip:
508
+ 'O modelo multimodal padrão que todos os novos bancos de conhecimento usarão. Ele pode descrever uma imagem ou vídeo.',
509
  sequence2txtModel: 'Modelo Sequence2Txt',
510
+ sequence2txtModelTip:
511
+ 'O modelo ASR padrão que todos os novos bancos de conhecimento usarão. Use este modelo para converter vozes em texto correspondente.',
512
  rerankModel: 'Modelo de Reordenação',
513
+ rerankModelTip:
514
+ 'O modelo de reordenação padrão usado para reordenar os fragmentos recuperados pelas perguntas dos usuários.',
515
  ttsModel: 'Modelo TTS',
516
+ ttsModelTip:
517
+ 'O modelo TTS padrão será usado para gerar fala durante as conversas sob demanda.',
518
  workspace: 'Área de trabalho',
519
  upgrade: 'Atualizar',
520
  addLlmTitle: 'Adicionar LLM',
 
571
  yiyanAKMessage: 'Por favor, insira sua chave da API',
572
  addyiyanSK: 'Chave secreta yiyan',
573
  yiyanSKMessage: 'Por favor, insira sua chave secreta',
574
+ FishAudioModelNameMessage:
575
+ 'Por favor, dê um nome ao seu modelo de síntese de voz',
576
  addFishAudioAK: 'Chave da API Fish Audio',
577
  addFishAudioAKMessage: 'Por favor, insira sua chave da API',
578
  addFishAudioRefID: 'ID de referência do FishAudio',
579
+ addFishAudioRefIDMessage:
580
+ 'Por favor, insira o ID de referência (deixe em branco para usar o modelo padrão).',
581
  modelProvidersWarn: `Por favor, adicione tanto o modelo de incorporação quanto o LLM em <b>Configurações > Provedores de Modelo</b> primeiro. Depois, defina-os nas 'Configurações do modelo do sistema'.`,
582
  apiVersion: 'Versão da API',
583
  apiVersionMessage: 'Por favor, insira a versão da API',
 
639
  file: 'Arquivo',
640
  uploadFile: 'Carregar Arquivo',
641
  directory: 'Diretório',
642
+ uploadTitle:
643
+ 'Clique ou arraste o arquivo para esta área para fazer o upload',
644
  uploadDescription:
645
  'Suporta upload de um único arquivo ou múltiplos arquivos. É estritamente proibido o upload de dados da empresa ou outros arquivos proibidos.',
646
  local: 'Uploads locais',
 
815
  cht: 'Chinês tradicional',
816
  vie: 'Vietnamita',
817
  },
818
+
819
  qWeather: 'QWeather',
820
  qWeatherDescription:
821
  'Um componente que recupera informações meteorológicas, como temperatura e qualidade do ar, de https://www.qweather.com.',
822
+
823
  lang: 'Idioma',
824
  type: 'Tipo',
825
  webApiKey: 'Chave de API da Web',
826
  userType: 'Tipo de usuário',
827
  timePeriod: 'Período de tempo',
828
+
829
  qWeatherLangOptions: {
830
  zh: 'Chinês simplificado',
831
  'zh-hant': 'Chinês tradicional',
 
859
  is: 'Islandês',
860
  nb: 'Norueguês',
861
  },
862
+
863
  qWeatherTypeOptions: {
864
  weather: 'Previsão do tempo',
865
  indices: 'Índice de qualidade de vida relacionado ao clima',
 
869
  free: 'Assinante gratuito',
870
  paid: 'Assinante pago',
871
  },
872
+
873
  qWeatherTimePeriodOptions: {
874
  now: 'Agora',
875
  '3d': '3 dias',
 
878
  '15d': '12 dias',
879
  '30d': '30 dias',
880
  },
881
+
882
  publish: 'API',
883
  exeSQL: 'ExeSQL',
884
  exeSQLDescription:
885
  'Um componente que executa consultas SQL em um banco de dados relacional, suportando consultas de MySQL, PostgreSQL ou MariaDB.',
886
+
887
  dbType: 'Tipo de banco de dados',
888
  database: 'Banco de dados',
889
  username: 'Nome de usuário',
 
906
  empty: 'Vazio',
907
  notEmpty: 'Não vazio',
908
  },
909
+
910
  switchLogicOperatorOptions: {
911
  and: 'E',
912
  or: 'Ou',
913
  },
914
+
915
  operator: 'Operador',
916
  value: 'Valor',
917
  useTemplate: 'Usar este modelo',
 
919
  queryType: 'Tipo de consulta',
920
  wenCaiDescription:
921
  'Um componente que obtém informações financeiras, incluindo preços de ações e notícias de financiamento, de uma ampla variedade de sites financeiros.',
922
+
923
  wenCaiQueryTypeOptions: {
924
  stock: 'Ação',
925
  zhishu: 'Índice',
 
933
  lccp: 'Financiamento',
934
  foreign_exchange: 'Câmbio',
935
  },
936
+
937
  akShare: 'AkShare',
938
  akShareDescription:
939
  'Um componente que obtém notícias sobre ações de https://www.eastmoney.com/.',
940
+
941
  yahooFinance: 'YahooFinance',
942
  yahooFinanceDescription:
943
  'Um componente que consulta informações sobre uma empresa de capital aberto usando seu símbolo de ticker.',
944
+
945
  crawler: 'Rastreador Web',
946
  crawlerDescription:
947
  'Um componente que rastreia o código-fonte HTML de um URL especificado.',
948
+
949
  proxy: 'Proxy',
950
  crawlerResultOptions: {
951
  html: 'Html',
952
  markdown: 'Markdown',
953
  content: 'Conteúdo',
954
  },
955
+
956
  extractType: 'Tipo de extração',
957
  info: 'Informações',
958
  history: 'Histórico',
 
962
  jin10: 'Jin10',
963
  jin10Description:
964
  'Um componente que obtém informações financeiras da Plataforma Aberta Jin10, incluindo notícias, calendários, cotações e referências.',
965
+
966
  flashType: 'Tipo de Flash',
967
  filter: 'Filtro',
968
  contain: 'Contém',
 
976
  symbols: 'Cotações',
977
  news: 'Referência',
978
  },
979
+
980
  jin10FlashTypeOptions: {
981
  '1': 'Notícias do Mercado',
982
  '2': 'Notícias de Futuros',
 
984
  '4': 'Notícias A-Share',
985
  '5': 'Notícias de Commodities & Forex',
986
  },
987
+
988
  jin10CalendarTypeOptions: {
989
  cj: 'Calendário de dados macroeconômicos',
990
  qh: 'Calendário de Futuros',
991
  hk: 'Calendário do mercado de ações de Hong Kong',
992
  us: 'Calendário do mercado de ações dos EUA',
993
  },
994
+
995
  jin10CalendarDatashapeOptions: {
996
  data: 'Dados',
997
  event: 'Evento',
998
  holiday: 'Feriado',
999
  },
1000
+
1001
  jin10SymbolsTypeOptions: {
1002
  GOODS: 'Cotações de commodities',
1003
  FOREX: 'Cotações de Forex',
1004
  FUTURE: 'Cotações do mercado internacional',
1005
  CRYPTO: 'Cotações de criptomoedas',
1006
  },
1007
+
1008
  jin10SymbolsDatatypeOptions: {
1009
  symbols: 'Lista de commodities',
1010
  quotes: 'Últimas cotações do mercado',
 
1126
  },
1127
  },
1128
  };
 
web/src/locales/zh-traditional.ts CHANGED
@@ -15,7 +15,7 @@ export default {
15
  edit: '編輯',
16
  upload: '上傳',
17
  english: '英語',
18
- portugeseBr: '葡萄牙語 (巴西)',
19
  chinese: '簡體中文',
20
  traditionalChinese: '繁體中文',
21
  language: '語言',
 
15
  edit: '編輯',
16
  upload: '上傳',
17
  english: '英語',
18
+ portugueseBr: '葡萄牙語 (巴西)',
19
  chinese: '簡體中文',
20
  traditionalChinese: '繁體中文',
21
  language: '語言',
web/src/locales/zh.ts CHANGED
@@ -15,7 +15,7 @@ export default {
15
  edit: '编辑',
16
  upload: '上传',
17
  english: '英文',
18
- portugeseBr: '葡萄牙语 (巴西)',
19
  chinese: '简体中文',
20
  traditionalChinese: '繁体中文',
21
  language: '语言',
 
15
  edit: '编辑',
16
  upload: '上传',
17
  english: '英文',
18
+ portugueseBr: '葡萄牙语 (巴西)',
19
  chinese: '简体中文',
20
  traditionalChinese: '繁体中文',
21
  language: '语言',