Skip to content

Commit

Permalink
Added support for italian language (#2356)
Browse files Browse the repository at this point in the history
  • Loading branch information
ivanvaccarics authored Feb 14, 2025
1 parent 98833b9 commit efbf397
Show file tree
Hide file tree
Showing 4 changed files with 166 additions and 2 deletions.
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,4 @@ Here are community contributors that can review translations:
| Portugese| @glaucia86 |
| Spanish | @miguelmsft |
| Turkish | @mertcakdogan |
| Italian | @ivanvaccarics |
8 changes: 7 additions & 1 deletion app/frontend/src/i18n/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import jaTranslation from "../locales/ja/translation.json";
import nlTranslation from "../locales/nl/translation.json";
import ptBRTranslation from "../locales/ptBR/translation.json";
import trTranslation from "../locales/tr/translation.json";
import itTranslation from "../locales/it/translation.json";

export const supportedLngs: { [key: string]: { name: string; locale: string } } = {
da: {
Expand Down Expand Up @@ -44,6 +45,10 @@ export const supportedLngs: { [key: string]: { name: string; locale: string } }
tr: {
name: "Türkçe",
locale: "tr-TR"
},
it: {
name: "Italiano",
locale: "it-IT"
}
};

Expand All @@ -62,7 +67,8 @@ i18next
ja: { translation: jaTranslation },
nl: { translation: nlTranslation },
ptBR: { translation: ptBRTranslation },
tr: { translation: trTranslation }
tr: { translation: trTranslation },
it: { translation: itTranslation }
},
fallbackLng: "en",
supportedLngs: Object.keys(supportedLngs),
Expand Down
157 changes: 157 additions & 0 deletions app/frontend/src/locales/it/translation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
{
"pageTitle": "Azure OpenAI + AI Search",
"headerTitle": "Azure OpenAI + AI Search",
"chat": "Chat",
"qa": "Fai una domanda",
"login": "Accedi",
"logout": "Disconnetti",
"clearChat": "Cancella chat",
"history": {
"chatHistory": "Cronologia chat",
"openChatHistory": "Apri cronologia chat",
"noHistory": "Nessuna cronologia in questa chat",
"deleteModalTitle": "Elimina cronologia chat",
"deleteModalDescription": "Questa azione è irreversibile. Eliminare la cronologia di questa chat?",
"deleteLabel": "Elimina",
"cancelLabel": "Annulla",
"today": "Oggi",
"yesterday": "Ieri",
"last7days": "Ultimi 7 giorni",
"last30days": "Ultimi 30 giorni"
},
"upload": {
"fileLabel": "Carica file:",
"uploadedFilesLabel": "File caricati precedentemente:",
"noFilesUploaded": "Nessun file caricato al momento",
"loading": "Caricamento...",
"manageFileUploads": "Gestisci caricamenti file",
"uploadingFiles": "Caricamento file...",
"uploadedFileError": "Errore durante il caricamento del file - riprova o contatta l'amministratore.",
"deleteFile": "Elimina file",
"deletingFile": "Eliminazione file...",
"errorDeleting": "Errore durante l'eliminazione.",
"fileDeleted": "File eliminato"
},
"developerSettings": "Impostazioni sviluppatore",

"chatEmptyStateTitle": "Chatta con i tuoi dati",
"chatEmptyStateSubtitle": "Chiedi qualsiasi cosa o prova un esempio",
"defaultExamples": {
"1": "Cosa è incluso nel mio piano Northwind Health Plus che non è nello standard?",
"2": "Cosa succede durante una valutazione delle prestazioni?",
"3": "Cosa fa un Product Manager?",
"placeholder": "Digita una nuova domanda (es. il mio piano copre gli esami oculistici annuali?)"
},
"askTitle": "Chiedi ai tuoi dati",
"gpt4vExamples": {
"1": "Confronta l'impatto dei tassi di interesse e del PIL sui mercati finanziari.",
"2": "Qual è la tendenza prevista per l'indice S&P 500 nei prossimi cinque anni? Confrontalo con le performance passate dell'S&P 500",
"3": "Puoi identificare una correlazione tra i prezzi del petrolio e le tendenze del mercato azionario?",
"placeholder": "Esempio: Il mio piano copre gli esami oculistici annuali?"
},
"generatingAnswer": "Generazione della risposta",
"citationWithColon": "Citazione:",
"followupQuestions": "Domande di follow-up:",

"tooltips": {
"submitQuestion": "Invia una domanda",
"askWithVoice": "Fai una domanda usando la voce",
"stopRecording": "Interrompi la registrazione della domanda",
"showThoughtProcess": "Mostra il processo di pensiero",
"showSupportingContent": "Mostra contenuto di supporto",
"speakAnswer": "Parla risposta",
"info": "Info",
"save": "Salva",
"copy": "Copia",
"copied": "Copiato!"
},

"headerTexts":{
"thoughtProcess": "Processo di Pensiero",
"supportingContent": "Contenuto di Supporto",
"citation": "Citazione"
},

"labels": {
"toggleMenu": "Attiva/disattiva menu",
"languagePicker": "Seleziona la tua lingua",
"headerText": "Configura la generazione delle risposte",
"closeButton": "Chiudi",
"promptTemplate": "Modello di prompt",
"temperature": "Temperatura",
"seed": "Seed",
"minimumSearchScore": "Punteggio minimo di ricerca",
"minimumRerankerScore": "Punteggio minimo del reranker semantico",
"retrieveCount": "Recupera questo numero di risultati di ricerca:",
"includeCategory": "Includi categoria",
"includeCategoryOptions": {
"all": "Tutte"
},
"excludeCategory": "Escludi categoria",
"useSemanticRanker": "Usa il reranker semantico",
"useSemanticCaptions": "Usa didascalie semantiche",
"useSuggestFollowupQuestions": "Suggerisci domande di follow-up",
"useGPT4V": "Usa il modello GPT Vision",
"gpt4VInput": {
"label": "Input del modello GPT Vision",
"options": {
"textAndImages": "Immagini e testo",
"images": "Immagini",
"texts": "Testo"
}
},
"retrievalMode": {
"label": "Modalità di recupero",
"options": {
"hybrid": "Vettori + Testo (Ibrido)",
"vectors": "Vettori",
"texts": "Testo"
}
},
"vector": {
"label": "Campi vettoriali (ricerca vettoriale multi-query)",
"options": {
"embedding": "Incorporazioni di testo",
"imageEmbedding": "Incorporazioni di immagini",
"both": "Incorporazioni di testo e immagini"
}
},
"useOidSecurityFilter": "Usa filtro di sicurezza oid",
"useGroupsSecurityFilter": "Usa filtro di sicurezza di gruppo",
"shouldStream": "Trasmetti in streaming le risposte"
},

"helpTexts": {
"promptTemplate":
"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 '>>>'.",
"temperature":
"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.",
"seed":
"Determina un numero primo che servirà a migliorare la ripetibilità delle risposte del modello. Il numero primo deve essere un intero qualsiasi.",
"searchScore":
"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.",
"rerankerScore":
"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.",
"retrieveNumber":
"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'.",
"includeCategory":
"Specifica una categoria da includere nei risultati di ricerca. Non ci sono categorie utilizzate nel set di dati predefinito.",
"excludeCategory":
"Specifica una categoria da escludere dai risultati di ricerca. Non ci sono categorie utilizzate nel set di dati predefinito.",
"useSemanticReranker":
"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.",
"useSemanticCaptions":
"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.",
"suggestFollowupQuestions": "Chiede all'LLM di suggerire domande di follow-up in base alla query dell'utente.",
"useGPT4Vision": "Utilizza GPT-4-Turbo con Vision per generare risposte basate su immagini e testo dell'indice.",
"vectorFields":
"Specifica quali campi di incorporazione nell'indice di ricerca Azure AI saranno ricercati, sia le incorporazioni 'Immagini e testo', 'Solo immagini', o 'Solo testo'.",
"gpt4VisionInputs":
"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.",
"retrievalMode":
"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.",
"streamChat": "Trasmette in streaming la risposta all'interfaccia utente della chat man mano che viene generata.",
"useOidSecurityFilter":"Filtra i risultati di ricerca in base all'OID dell'utente autenticato.",
"useGroupsSecurityFilter": "Filtra i risultati di ricerca in base ai gruppi dell'utente autenticato."
}
}
2 changes: 1 addition & 1 deletion docs/customization.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The Chat App is designed to work with any PDF documents. The sample data is prov

## Customizing the UI

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.
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.

## Customizing the backend

Expand Down

0 comments on commit efbf397

Please sign in to comment.