Skip to content

Commit 7911e32

Browse files
authored
feat: add Portuguese (pt-BR) translations and update i18n configuration to include the new language (#2052)
* feat: add Portuguese (pt-BR) translations and update i18n configuration to include the new language * fix: update Portuguese language name to "Português Brasileiro" in i18n configuration
1 parent 31f501a commit 7911e32

File tree

2 files changed

+155
-1
lines changed

2 files changed

+155
-1
lines changed

app/frontend/src/i18n/config.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import enTranslation from "../locales/en/translation.json";
77
import esTranslation from "../locales/es/translation.json";
88
import jaTranslation from "../locales/ja/translation.json";
99
import frTranslation from "../locales/fr/translation.json";
10+
import ptBRTranslation from "../locales/ptBR/translation.json";
1011

1112
export const supportedLngs: { [key: string]: { name: string; locale: string } } = {
1213
en: {
@@ -24,6 +25,10 @@ export const supportedLngs: { [key: string]: { name: string; locale: string } }
2425
ja: {
2526
name: "日本語",
2627
locale: "ja-JP"
28+
},
29+
ptBR: {
30+
name: "Português Brasileiro",
31+
locale: "pt-BR"
2732
}
2833
};
2934

@@ -38,7 +43,8 @@ i18next
3843
en: { translation: enTranslation },
3944
es: { translation: esTranslation },
4045
fr: { translation: frTranslation },
41-
ja: { translation: jaTranslation }
46+
ja: { translation: jaTranslation },
47+
ptBR: { translation: ptBRTranslation }
4248
},
4349
fallbackLng: "en",
4450
supportedLngs: Object.keys(supportedLngs),
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
{
2+
"pageTitle": "Azure OpenAI + AI Search",
3+
"headerTitle": "Azure OpenAI + AI Search",
4+
"chat": "Chat",
5+
"qa": "Faça uma pergunta",
6+
"login": "Entrar",
7+
"logout": "Sair",
8+
"clearChat": "Limpar chat",
9+
"history": {
10+
"chatHistory": "Histórico do chat",
11+
"openChatHistory": "Abrir o histórico do chat",
12+
"noHistory": "Nenhum histórico de chat",
13+
"deleteModalTitle": "Excluir histórico do chat",
14+
"deleteModalDescription": "Esta ação não pode ser desfeita. Deseja excluir o histórico do chat?",
15+
"deleteLabel": "Excluir",
16+
"cancelLabel": "Cancelar",
17+
"today": "Hoje",
18+
"yesterday": "Ontem",
19+
"last7days": "Últimos 7 dias",
20+
"last30days": "Últimos 30 dias"
21+
},
22+
"upload": {
23+
"fileLabel": "Carregar arquivo:",
24+
"uploadedFilesLabel": "Arquivos previamente carregados:",
25+
"noFilesUploaded": "Nenhum arquivo carregado ainda",
26+
"loading": "Carregando...",
27+
"manageFileUploads": "Gerenciar uploads de arquivos",
28+
"uploadingFiles": "Carregando arquivos...",
29+
"uploadedFileError": "Erro ao carregar arquivo - tente novamente ou entre em contato com o administrador.",
30+
"deleteFile": "Excluir arquivo",
31+
"deletingFile": "Excluindo arquivo...",
32+
"errorDeleting": "Erro ao excluir.",
33+
"fileDeleted": "Arquivo excluído"
34+
},
35+
"developerSettings": "Configurações do desenvolvedor",
36+
37+
"chatEmptyStateTitle": "Converse com seus dados",
38+
"chatEmptyStateSubtitle": "Pergunte qualquer coisa ou tente um exemplo",
39+
"defaultExamples": {
40+
"1": "O que está incluído no meu plano Northwind Health Plus que não está no padrão?",
41+
"2": "O que acontece em uma avaliação de desempenho?",
42+
"3": "O que faz um Gerente de Produto?",
43+
"placeholder": "Digite uma nova pergunta (por exemplo: Meu plano cobre exames oftalmológicos anuais?)"
44+
},
45+
"askTitle": "Pergunte aos seus dados",
46+
"gpt4vExamples": {
47+
"1": "Compare o impacto das taxas de juros e do PIB nos mercados financeiros.",
48+
"2": "Qual é a tendência esperada para o índice S&P 500 nos próximos cinco anos? Compare com o desempenho passado do S&P 500",
49+
"3": "Você pode identificar alguma correlação entre os preços do petróleo e as tendências do mercado de ações?",
50+
"placeholder": "Exemplo: Meu plano cobre exames oftalmológicos anuais?"
51+
},
52+
"generatingAnswer": "Gerando resposta",
53+
"citationWithColon": "Citação:",
54+
"followupQuestions": "Acompanhar as respostas:",
55+
56+
"tooltips": {
57+
"submitQuestion": "Enviar pergunta",
58+
"askWithVoice": "Faça uma pergunta com voz",
59+
"stopRecording": "Parar de gravar a pergunta",
60+
"showThoughtProcess": "Mostrar o processo de pensamento",
61+
"showSupportingContent": "Mostrar conteúdo de suporte",
62+
"speakAnswer": "Falar a resposta",
63+
"info": "Info",
64+
"save": "Save"
65+
},
66+
67+
"headerTexts":{
68+
"thoughtProcess": "Processo de pensamento",
69+
"supportingContent": "Conteúdo de suporte",
70+
"citation": "Citação"
71+
},
72+
73+
"labels": {
74+
"toggleMenu": "Alternar menu",
75+
"languagePicker": "Selecione seu idioma",
76+
"headerText": "Configurar a geração de respostas",
77+
"closeButton": "Fechar",
78+
"promptTemplate": "Substituir o modelo de prompt",
79+
"temperature": "Temperatura",
80+
"seed": "Seed",
81+
"minimumSearchScore": "Pontuação mínima de pesquisa",
82+
"minimumRerankerScore": "Pontuação mínima de reclassificação",
83+
"retrieveCount": "Recuperar esta quantidade de resultados de pesquisa:",
84+
"excludeCategory": "Excluir categoria",
85+
"useSemanticRanker": "Usar rankeador semântico para recuperação",
86+
"useSemanticCaptions": "Usar legendas semânticas",
87+
"useSuggestFollowupQuestions": "Sugerir perguntas complementares",
88+
"useGPT4V": "Usar modelo de visão GPT",
89+
"gpt4VInput": {
90+
"label": "Entradas do modelo de visão GPT",
91+
"options": {
92+
"textAndImages": "Imagens e texto",
93+
"images": "",
94+
"texts": "Texto"
95+
}
96+
},
97+
"retrievalMode": {
98+
"label": "Modo de recuperação",
99+
"options": {
100+
"hybrid": "Vetores + Texto (Híbrido)",
101+
"vectors": "Vetores",
102+
"texts": "Texto"
103+
}
104+
},
105+
"vector": {
106+
"label": "Campos vetoriais (pesquisa vetorial de múltiplas consultas)",
107+
"options": {
108+
"embedding": "Incorporações de texto (Embeddings)",
109+
"imageEmbedding": "Incorporações de imagem",
110+
"both": "Incorporações de texto e imagem"
111+
}
112+
},
113+
"useOidSecurityFilter": "Usar filtro de segurança oid",
114+
"useGroupsSecurityFilter": "Usar filtro de segurança de grupos",
115+
"shouldStream": "Stream chat completion responses"
116+
},
117+
118+
"helpTexts": {
119+
"promptTemplate":
120+
"Substitui o prompt usado para gerar a resposta com base na pergunta e nos resultados da pesquisa. Para adicionar ao prompt existente em vez de substituí-lo por completo, comece seu prompt com '>>>'.",
121+
"temperature":
122+
"Define a temperatura da solicitação para o LLM que gera a resposta. Temperaturas mais altas resultam em respostas mais criativas, mas podem ser menos fundamentadas.",
123+
"seed": "Define um seed para melhorar a reprodutibilidade das respostas do modelo. O seed pode ser qualquer número inteiro.",
124+
"searchScore":
125+
"Define uma pontuação mínima para os resultados da pesquisa retornados pela pesquisa do Azure AI. O intervalo de pontuação depende de você usar o modo híbrido (padrão), vetores ou texto.",
126+
"rerankerScore":
127+
"Define uma pontuação mínima para os resultados da pesquisa retornados pelo ranker semântico. A pontuação varia de 0 a 4. Quanto maior a pontuação, mais relevante é o resultado em relação à pergunta.",
128+
"retrieveNumber":
129+
"Define o número de resultados de pesquisa a serem recuperados na pesquisa do Azure AI. Mais resultados podem aumentar a chance de encontrar a resposta correta, mas podem fazer com que o modelo se 'perca'.",
130+
"excludeCategory":
131+
"Especifica uma categoria para excluir dos resultados da pesquisa. Não há categorias usadas no conjunto de dados padrão.",
132+
"useSemanticReranker":
133+
"Ativa o rankeador semântico da pesquisa do Azure AI, um modelo que reordena os resultados da pesquisa com base na similaridade semântica à consulta do usuário.",
134+
"useSemanticCaptions":
135+
"Envia legendas semânticas para o LLM em vez do resultado completo da pesquisa. Uma legenda semântica é extraída durante o processo de ranqueamento semântico.",
136+
"suggestFollowupQuestions": "Solicita ao LLM que sugira perguntas de acompanhamento com base na consulta do usuário.",
137+
"useGPT4Vision": "Usa GPT-4-Turbo com Visão para gerar respostas com base em imagens e texto do índice.",
138+
"vectorFields":
139+
"Especifica quais campos de incorporação (embeddings) no Índice de Pesquisa do Azure AI serão pesquisados: 'Imagens e texto', 'Imagens' ou 'Texto'.",
140+
"gpt4VisionInputs":
141+
"Define o que será enviado ao modelo de visão. 'Imagens e texto' envia ambos, 'Imagens' envia apenas imagens e 'Texto' envia apenas texto.",
142+
"retrievalMode":
143+
"Define o modo de recuperação para a consulta do Azure AI Search. 'Vetores + Texto (Híbrido)' usa uma combinação de busca vetorial e de texto completo, 'Vetores' usa apenas a busca vetorial, e 'Texto' usa apenas a busca de texto completo. O híbrido geralmente é o ideal.",
144+
"streamChat": "Transmite continuamente a resposta para a interface do chat conforme é gerada.",
145+
"useOidSecurityFilter": "Filtra os resultados da pesquisa com base no OID do usuário autenticado.",
146+
"useGroupsSecurityFilter": "Filtra os resultados da pesquisa com base nos grupos do usuário autenticado."
147+
}
148+
}

0 commit comments

Comments
 (0)