Skip to content

Commit efbf397

Browse files
Added support for italian language (#2356)
1 parent 98833b9 commit efbf397

File tree

4 files changed

+166
-2
lines changed

4 files changed

+166
-2
lines changed

CONTRIBUTING.md

+1
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,4 @@ Here are community contributors that can review translations:
145145
| Portugese| @glaucia86 |
146146
| Spanish | @miguelmsft |
147147
| Turkish | @mertcakdogan |
148+
| Italian | @ivanvaccarics |

app/frontend/src/i18n/config.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import jaTranslation from "../locales/ja/translation.json";
1111
import nlTranslation from "../locales/nl/translation.json";
1212
import ptBRTranslation from "../locales/ptBR/translation.json";
1313
import trTranslation from "../locales/tr/translation.json";
14+
import itTranslation from "../locales/it/translation.json";
1415

1516
export const supportedLngs: { [key: string]: { name: string; locale: string } } = {
1617
da: {
@@ -44,6 +45,10 @@ export const supportedLngs: { [key: string]: { name: string; locale: string } }
4445
tr: {
4546
name: "Türkçe",
4647
locale: "tr-TR"
48+
},
49+
it: {
50+
name: "Italiano",
51+
locale: "it-IT"
4752
}
4853
};
4954

@@ -62,7 +67,8 @@ i18next
6267
ja: { translation: jaTranslation },
6368
nl: { translation: nlTranslation },
6469
ptBR: { translation: ptBRTranslation },
65-
tr: { translation: trTranslation }
70+
tr: { translation: trTranslation },
71+
it: { translation: itTranslation }
6672
},
6773
fallbackLng: "en",
6874
supportedLngs: Object.keys(supportedLngs),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
{
2+
"pageTitle": "Azure OpenAI + AI Search",
3+
"headerTitle": "Azure OpenAI + AI Search",
4+
"chat": "Chat",
5+
"qa": "Fai una domanda",
6+
"login": "Accedi",
7+
"logout": "Disconnetti",
8+
"clearChat": "Cancella chat",
9+
"history": {
10+
"chatHistory": "Cronologia chat",
11+
"openChatHistory": "Apri cronologia chat",
12+
"noHistory": "Nessuna cronologia in questa chat",
13+
"deleteModalTitle": "Elimina cronologia chat",
14+
"deleteModalDescription": "Questa azione è irreversibile. Eliminare la cronologia di questa chat?",
15+
"deleteLabel": "Elimina",
16+
"cancelLabel": "Annulla",
17+
"today": "Oggi",
18+
"yesterday": "Ieri",
19+
"last7days": "Ultimi 7 giorni",
20+
"last30days": "Ultimi 30 giorni"
21+
},
22+
"upload": {
23+
"fileLabel": "Carica file:",
24+
"uploadedFilesLabel": "File caricati precedentemente:",
25+
"noFilesUploaded": "Nessun file caricato al momento",
26+
"loading": "Caricamento...",
27+
"manageFileUploads": "Gestisci caricamenti file",
28+
"uploadingFiles": "Caricamento file...",
29+
"uploadedFileError": "Errore durante il caricamento del file - riprova o contatta l'amministratore.",
30+
"deleteFile": "Elimina file",
31+
"deletingFile": "Eliminazione file...",
32+
"errorDeleting": "Errore durante l'eliminazione.",
33+
"fileDeleted": "File eliminato"
34+
},
35+
"developerSettings": "Impostazioni sviluppatore",
36+
37+
"chatEmptyStateTitle": "Chatta con i tuoi dati",
38+
"chatEmptyStateSubtitle": "Chiedi qualsiasi cosa o prova un esempio",
39+
"defaultExamples": {
40+
"1": "Cosa è incluso nel mio piano Northwind Health Plus che non è nello standard?",
41+
"2": "Cosa succede durante una valutazione delle prestazioni?",
42+
"3": "Cosa fa un Product Manager?",
43+
"placeholder": "Digita una nuova domanda (es. il mio piano copre gli esami oculistici annuali?)"
44+
},
45+
"askTitle": "Chiedi ai tuoi dati",
46+
"gpt4vExamples": {
47+
"1": "Confronta l'impatto dei tassi di interesse e del PIL sui mercati finanziari.",
48+
"2": "Qual è la tendenza prevista per l'indice S&P 500 nei prossimi cinque anni? Confrontalo con le performance passate dell'S&P 500",
49+
"3": "Puoi identificare una correlazione tra i prezzi del petrolio e le tendenze del mercato azionario?",
50+
"placeholder": "Esempio: Il mio piano copre gli esami oculistici annuali?"
51+
},
52+
"generatingAnswer": "Generazione della risposta",
53+
"citationWithColon": "Citazione:",
54+
"followupQuestions": "Domande di follow-up:",
55+
56+
"tooltips": {
57+
"submitQuestion": "Invia una domanda",
58+
"askWithVoice": "Fai una domanda usando la voce",
59+
"stopRecording": "Interrompi la registrazione della domanda",
60+
"showThoughtProcess": "Mostra il processo di pensiero",
61+
"showSupportingContent": "Mostra contenuto di supporto",
62+
"speakAnswer": "Parla risposta",
63+
"info": "Info",
64+
"save": "Salva",
65+
"copy": "Copia",
66+
"copied": "Copiato!"
67+
},
68+
69+
"headerTexts":{
70+
"thoughtProcess": "Processo di Pensiero",
71+
"supportingContent": "Contenuto di Supporto",
72+
"citation": "Citazione"
73+
},
74+
75+
"labels": {
76+
"toggleMenu": "Attiva/disattiva menu",
77+
"languagePicker": "Seleziona la tua lingua",
78+
"headerText": "Configura la generazione delle risposte",
79+
"closeButton": "Chiudi",
80+
"promptTemplate": "Modello di prompt",
81+
"temperature": "Temperatura",
82+
"seed": "Seed",
83+
"minimumSearchScore": "Punteggio minimo di ricerca",
84+
"minimumRerankerScore": "Punteggio minimo del reranker semantico",
85+
"retrieveCount": "Recupera questo numero di risultati di ricerca:",
86+
"includeCategory": "Includi categoria",
87+
"includeCategoryOptions": {
88+
"all": "Tutte"
89+
},
90+
"excludeCategory": "Escludi categoria",
91+
"useSemanticRanker": "Usa il reranker semantico",
92+
"useSemanticCaptions": "Usa didascalie semantiche",
93+
"useSuggestFollowupQuestions": "Suggerisci domande di follow-up",
94+
"useGPT4V": "Usa il modello GPT Vision",
95+
"gpt4VInput": {
96+
"label": "Input del modello GPT Vision",
97+
"options": {
98+
"textAndImages": "Immagini e testo",
99+
"images": "Immagini",
100+
"texts": "Testo"
101+
}
102+
},
103+
"retrievalMode": {
104+
"label": "Modalità di recupero",
105+
"options": {
106+
"hybrid": "Vettori + Testo (Ibrido)",
107+
"vectors": "Vettori",
108+
"texts": "Testo"
109+
}
110+
},
111+
"vector": {
112+
"label": "Campi vettoriali (ricerca vettoriale multi-query)",
113+
"options": {
114+
"embedding": "Incorporazioni di testo",
115+
"imageEmbedding": "Incorporazioni di immagini",
116+
"both": "Incorporazioni di testo e immagini"
117+
}
118+
},
119+
"useOidSecurityFilter": "Usa filtro di sicurezza oid",
120+
"useGroupsSecurityFilter": "Usa filtro di sicurezza di gruppo",
121+
"shouldStream": "Trasmetti in streaming le risposte"
122+
},
123+
124+
"helpTexts": {
125+
"promptTemplate":
126+
"Sostituisce il prompt utilizzato per generare la risposta in base alla domanda e ai risultati della ricerca. Per aggiungere al prompt esistente invece di sostituire l'intero prompt, inizia il tuo prompt con '>>>'.",
127+
"temperature":
128+
"Imposta la temperatura della query al Grande Modello di Linguaggio (LLM) che genera la risposta. Temperature più alte producono risposte più creative, ma possono essere meno ancorate.",
129+
"seed":
130+
"Determina un numero primo che servirà a migliorare la ripetibilità delle risposte del modello. Il numero primo deve essere un intero qualsiasi.",
131+
"searchScore":
132+
"Imposta un punteggio minimo per i risultati di ricerca provenienti da Azure AI Search. L'intervallo di punteggi dipende se si utilizza l'ibrido (predefinito), solo vettori, o solo testo.",
133+
"rerankerScore":
134+
"Imposta un punteggio minimo per i risultati di ricerca provenienti dal reranker semantico. Il punteggio varia sempre tra 0 e 4. Più alto è il punteggio, più il risultato è semanticamente rilevante rispetto alla domanda.",
135+
"retrieveNumber":
136+
"Imposta il numero di risultati di ricerca da recuperare da Azure AI Search. Più risultati possono aumentare la probabilità di trovare la risposta giusta, ma possono portare il modello a 'perdersi nel mezzo'.",
137+
"includeCategory":
138+
"Specifica una categoria da includere nei risultati di ricerca. Non ci sono categorie utilizzate nel set di dati predefinito.",
139+
"excludeCategory":
140+
"Specifica una categoria da escludere dai risultati di ricerca. Non ci sono categorie utilizzate nel set di dati predefinito.",
141+
"useSemanticReranker":
142+
"Abilita il ranking semantico di Azure AI Search, un modello che riordina i risultati di ricerca in base alla somiglianza semantica con la query dell'utente.",
143+
"useSemanticCaptions":
144+
"Invia didascalie semantiche all'LLM invece del risultato di ricerca completo. Una didascalia semantica è estratta da un risultato di ricerca durante il processo di ranking semantico.",
145+
"suggestFollowupQuestions": "Chiede all'LLM di suggerire domande di follow-up in base alla query dell'utente.",
146+
"useGPT4Vision": "Utilizza GPT-4-Turbo con Vision per generare risposte basate su immagini e testo dell'indice.",
147+
"vectorFields":
148+
"Specifica quali campi di incorporazione nell'indice di ricerca Azure AI saranno ricercati, sia le incorporazioni 'Immagini e testo', 'Solo immagini', o 'Solo testo'.",
149+
"gpt4VisionInputs":
150+
"Imposta cosa sarà inviato al modello di visione. 'Immagini e testo' invia sia immagini che testo al modello, 'Immagini' invia solo immagini, e 'Testo' invia solo testo.",
151+
"retrievalMode":
152+
"Imposta la modalità di recupero per la query Azure AI Search. Vettori + Testo (Ibrido) utilizza una combinazione di ricerca vettoriale e ricerca full-text, Vettori utilizza solo la ricerca vettoriale, e Testo utilizza solo la ricerca full-text. Ibrido è generalmente ottimale.",
153+
"streamChat": "Trasmette in streaming la risposta all'interfaccia utente della chat man mano che viene generata.",
154+
"useOidSecurityFilter":"Filtra i risultati di ricerca in base all'OID dell'utente autenticato.",
155+
"useGroupsSecurityFilter": "Filtra i risultati di ricerca in base ai gruppi dell'utente autenticato."
156+
}
157+
}

docs/customization.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The Chat App is designed to work with any PDF documents. The sample data is prov
2424

2525
## Customizing the UI
2626

27-
The frontend is built using [React](https://reactjs.org/) and [Fluent UI components](https://react.fluentui.dev/). The frontend components are stored in the `app/frontend/src` folder. To modify the page title, header text, example questions, and other UI elements, you can customize the `app/frontend/src/locales/{en/es/fr/jp}/translation.json` file for different languages(English is the default). The primary strings and labels used throughout the application are defined within these files.
27+
The frontend is built using [React](https://reactjs.org/) and [Fluent UI components](https://react.fluentui.dev/). The frontend components are stored in the `app/frontend/src` folder. To modify the page title, header text, example questions, and other UI elements, you can customize the `app/frontend/src/locales/{en/es/fr/jp/it}/translation.json` file for different languages(English is the default). The primary strings and labels used throughout the application are defined within these files.
2828

2929
## Customizing the backend
3030

0 commit comments

Comments
 (0)