feat: add Italian language translation support

- 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
This commit is contained in:
PentaFrame 2025-12-09 09:51:09 +01:00
parent bb6022477e
commit 3968671d6f
3 changed files with 1239 additions and 0 deletions

View file

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

View file

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

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

File diff suppressed because it is too large Load diff