feat: add Italian language translation support (#11844)

### What problem does this PR solve?

- Add complete Italian translation file with all UI sections
- Register Italian in LanguageAbbreviation enum and language maps
- Configure Italian translation in i18n config
- Add Italiano to language selector dropdown


### Type of change

- [x] Other (please describe):

## What
Added complete Italian language translation support to RAGFlow

## Changes
- Added comprehensive Italian translation file
([it.ts](ragflow/web/src/locales/it.ts:0:0-0:0)) with all UI sections
(1239 lines)
- Registered Italian in `LanguageAbbreviation` enum and all language
maps
- Configured Italian translation in i18n configuration
- Added "Italiano" to language selector dropdown

## Impact
- Italian users can now use RAGFlow in their native language
- All major UI components are translated including:
  - Login/registration screens
  - Knowledge base management
  - Chat interface
  - Settings and configuration
  - Admin console
  - Error messages and notifications

## Testing
- Verified all translation keys are present
- Confirmed language selector shows "Italiano" correctly
- Tested that no translation keys are missing
- All UI sections properly translated

Co-authored-by: PentaFrame <info@pentaframe.it>
This commit is contained in:
PentaFDevs
2025-12-09 10:59:21 +01:00
committed by GitHub
parent 036b29f084
commit 07dca37ef0
3 changed files with 1239 additions and 0 deletions

View File

@ -51,6 +51,7 @@ export const LanguageList = [
'Portuguese BR',
'German',
'French',
'Italian',
];
export const LanguageMap = {
English: 'English',
@ -64,6 +65,7 @@ export const LanguageMap = {
'Portuguese BR': 'Português BR',
German: 'German',
French: 'Français',
Italian: 'Italiano',
};
export enum LanguageAbbreviation {
@ -78,6 +80,7 @@ export enum LanguageAbbreviation {
PtBr = 'pt-BR',
De = 'de',
Fr = 'fr',
It = 'it',
}
export const LanguageAbbreviationMap = {
@ -92,6 +95,7 @@ export const LanguageAbbreviationMap = {
[LanguageAbbreviation.PtBr]: 'Português BR',
[LanguageAbbreviation.De]: 'Deutsch',
[LanguageAbbreviation.Fr]: 'Français',
[LanguageAbbreviation.It]: 'Italiano',
};
export const LanguageTranslationMap = {
@ -106,6 +110,7 @@ export const LanguageTranslationMap = {
'Portuguese BR': 'pt-br',
German: 'de',
French: 'fr',
Italian: 'it',
};
export enum FileMimeType {

View File

@ -8,6 +8,7 @@ import translation_en from './en';
import translation_es from './es';
import translation_fr from './fr';
import translation_id from './id';
import translation_it from './it';
import translation_ja from './ja';
import translation_pt_br from './pt-br';
import translation_ru from './ru';
@ -28,6 +29,7 @@ const resources = {
[LanguageAbbreviation.PtBr]: translation_pt_br,
[LanguageAbbreviation.De]: translation_de,
[LanguageAbbreviation.Fr]: translation_fr,
[LanguageAbbreviation.It]: translation_it,
};
const enFlattened = flattenObject(translation_en);
const viFlattened = flattenObject(translation_vi);
@ -39,6 +41,7 @@ const pt_brFlattened = flattenObject(translation_pt_br);
const zh_traditionalFlattened = flattenObject(translation_zh_traditional);
const deFlattened = flattenObject(translation_de);
const frFlattened = flattenObject(translation_fr);
const itFlattened = flattenObject(translation_it);
export const translationTable = createTranslationTable(
[
enFlattened,
@ -51,6 +54,7 @@ export const translationTable = createTranslationTable(
pt_brFlattened,
deFlattened,
frFlattened,
itFlattened,
],
[
'English',
@ -63,6 +67,7 @@ export const translationTable = createTranslationTable(
'pt-BR',
'Deutsch',
'French',
'Italian',
],
);
i18n

1229
web/src/locales/it.ts Normal file

File diff suppressed because it is too large Load Diff