Création d'un fichier de message global & amélioration du système de localization

This commit is contained in:
Anthony Dumas 2022-06-15 00:29:06 +02:00
parent b7e3edab98
commit 31922417b6
5 changed files with 9071 additions and 7180 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,19 +1,15 @@
import './index.css';
import React from 'react'; import React from 'react';
import ReactDOM from 'react-dom'; import ReactDOM from 'react-dom';
import { IntlProvider } from 'react-intl'; import { IntlProvider } from 'react-intl';
import './index.css';
import App from './App'; import App from './App';
import messages from './messages';
import reportWebVitals from './reportWebVitals'; import reportWebVitals from './reportWebVitals';
import messages_fr from './messages/fr.json';
import messages_en from './messages/en.json';
const messages = {
'fr': messages_fr,
'en': messages_en,
};
const GLOBAL_MESSAGE_KEY = "global";
const i18nConfig = { const i18nConfig = {
defaultLocale: 'fr', defaultLocale: 'fr',
messages, messages,
@ -29,12 +25,24 @@ const language = function() {
return lang; return lang;
} }
const langJson = function () {
const messageLocalized = i18nConfig.messages[language()];
const messageGlobal = i18nConfig.messages[GLOBAL_MESSAGE_KEY];
const messageMerged = {
...messageLocalized,
...messageGlobal
};
console.log(JSON.stringify(messageMerged))
return messageMerged;
}
ReactDOM.render( ReactDOM.render(
<React.StrictMode> <React.StrictMode>
<IntlProvider <IntlProvider
locale={language} locale={language}
defaultLocale={i18nConfig.defaultLocale} defaultLocale={i18nConfig.defaultLocale}
messages={i18nConfig.messages[language()]} messages={langJson()}
> >
<App /> <App />
</IntlProvider> </IntlProvider>

10
src/messages/global.json Normal file
View File

@ -0,0 +1,10 @@
{
"global": {
"buttons": {
"languages": {
"fr": "En Français 🇫🇷",
"en": "In English 🇮🇪"
}
}
}
}

12
src/messages/index.js Normal file
View File

@ -0,0 +1,12 @@
import messages_en from './en.json';
import messages_fr from './fr.json';
import messages_global from './global.json';
const messages = {
"fr": messages_fr,
"en": messages_en,
"global": messages_global
}
export default messages;

16189
yarn.lock

File diff suppressed because it is too large Load Diff