Procházet zdrojové kódy

Added French language support (#9173)

### What problem does this PR solve?
Implemented French UI translation

### Type of change
- [x] New Feature (non-breaking change which adds functionality)

---------

Co-authored-by: ramin cedric <>
Co-authored-by: Liu An <asiro@qq.com>
tags/v0.20.1
ramincedric před 2 měsíci
rodič
revize
6a0d6d2565
Žádný účet není propojen s e-mailovou adresou tvůrce revize

+ 5
- 1
web/src/constants/common.ts Zobrazit soubor

'Japanese', 'Japanese',
'Portuguese BR', 'Portuguese BR',
'German', 'German',
'French',
]; ];

export const LanguageMap = { export const LanguageMap = {
English: 'English', English: 'English',
Chinese: '简体中文', Chinese: '简体中文',
Japanese: '日本語', Japanese: '日本語',
'Portuguese BR': 'Português BR', 'Portuguese BR': 'Português BR',
German: 'German', German: 'German',
French: 'Français',
}; };


export enum LanguageAbbreviation { export enum LanguageAbbreviation {
Vi = 'vi', Vi = 'vi',
PtBr = 'pt-BR', PtBr = 'pt-BR',
De = 'de', De = 'de',
Fr = 'fr',
} }


export const LanguageAbbreviationMap = { export const LanguageAbbreviationMap = {
[LanguageAbbreviation.Ja]: '日本語', [LanguageAbbreviation.Ja]: '日本語',
[LanguageAbbreviation.PtBr]: 'Português BR', [LanguageAbbreviation.PtBr]: 'Português BR',
[LanguageAbbreviation.De]: 'Deutsch', [LanguageAbbreviation.De]: 'Deutsch',
[LanguageAbbreviation.Fr]: 'Français',
}; };


export const LanguageTranslationMap = { export const LanguageTranslationMap = {
Japanese: 'ja', Japanese: 'ja',
'Portuguese BR': 'pt-br', 'Portuguese BR': 'pt-br',
German: 'de', German: 'de',
French: 'fr',
}; };


export enum FileMimeType { export enum FileMimeType {

+ 5
- 0
web/src/locales/config.ts Zobrazit soubor

import translation_de from './de'; import translation_de from './de';
import translation_en from './en'; import translation_en from './en';
import translation_es from './es'; import translation_es from './es';
import translation_fr from './fr';
import translation_id from './id'; import translation_id from './id';
import translation_ja from './ja'; import translation_ja from './ja';
import translation_pt_br from './pt-br'; import translation_pt_br from './pt-br';
[LanguageAbbreviation.Vi]: translation_vi, [LanguageAbbreviation.Vi]: translation_vi,
[LanguageAbbreviation.PtBr]: translation_pt_br, [LanguageAbbreviation.PtBr]: translation_pt_br,
[LanguageAbbreviation.De]: translation_de, [LanguageAbbreviation.De]: translation_de,
[LanguageAbbreviation.Fr]: translation_fr,
}; };
const enFlattened = flattenObject(translation_en); const enFlattened = flattenObject(translation_en);
const viFlattened = flattenObject(translation_vi); const viFlattened = flattenObject(translation_vi);
const pt_brFlattened = flattenObject(translation_pt_br); 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);
export const translationTable = createTranslationTable( export const translationTable = createTranslationTable(
[ [
enFlattened, enFlattened,
jaFlattened, jaFlattened,
pt_brFlattened, pt_brFlattened,
deFlattened, deFlattened,
frFlattened,
], ],
[ [
'English', 'English',
'ja', 'ja',
'pt-BR', 'pt-BR',
'Deutsch', 'Deutsch',
'French',
], ],
); );
i18n i18n

+ 1261
- 0
web/src/locales/fr.ts
Diff nebyl zobrazen, protože je příliš veliký
Zobrazit soubor


+ 4
- 0
web/src/pages/agent/options.ts Zobrazit soubor

value: 'de', value: 'de',
label: 'Deutsch', label: 'Deutsch',
}, },
{
value: 'fr',
label: 'Français',
},
{ {
value: 'et', value: 'et',
label: 'Eesti', label: 'Eesti',

+ 4
- 0
web/src/pages/flow/constant.tsx Zobrazit soubor

value: 'de', value: 'de',
label: 'Deutsch', label: 'Deutsch',
}, },
{
value: 'fr',
label: 'Français',
},
{ {
value: 'et', value: 'et',
label: 'Eesti', label: 'Eesti',

Načítá se…
Zrušit
Uložit