Amélioration du traitement des messages en créant un service
This commit is contained in:
parent
31922417b6
commit
accaf328c2
File diff suppressed because one or more lines are too long
30
src/index.js
30
src/index.js
@ -5,38 +5,10 @@ import ReactDOM from 'react-dom';
|
|||||||
import { IntlProvider } from 'react-intl';
|
import { IntlProvider } from 'react-intl';
|
||||||
|
|
||||||
import App from './App';
|
import App from './App';
|
||||||
import messages from './messages';
|
|
||||||
import reportWebVitals from './reportWebVitals';
|
import reportWebVitals from './reportWebVitals';
|
||||||
|
import { i18nConfig, langJson, language } from './services/message.service';
|
||||||
|
|
||||||
|
|
||||||
const GLOBAL_MESSAGE_KEY = "global";
|
|
||||||
const i18nConfig = {
|
|
||||||
defaultLocale: 'fr',
|
|
||||||
messages,
|
|
||||||
};
|
|
||||||
|
|
||||||
const language = function () {
|
|
||||||
const queryString = window.location.search;
|
|
||||||
const urlParams = new URLSearchParams(queryString);
|
|
||||||
let lang = urlParams.get("lang");
|
|
||||||
if (messages[lang] === undefined) {
|
|
||||||
lang = navigator.language.split(/[-_]/)[0];
|
|
||||||
}
|
|
||||||
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
|
||||||
|
34
src/services/message.service.js
Normal file
34
src/services/message.service.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/**
|
||||||
|
* messageHandler
|
||||||
|
* author : adm
|
||||||
|
*/
|
||||||
|
|
||||||
|
import messages from '../messages';
|
||||||
|
|
||||||
|
|
||||||
|
const GLOBAL_MESSAGE_KEY = "global";
|
||||||
|
export const i18nConfig = {
|
||||||
|
defaultLocale: "fr",
|
||||||
|
messages,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const language = function () {
|
||||||
|
const queryString = window.location.search;
|
||||||
|
const urlParams = new URLSearchParams(queryString);
|
||||||
|
let lang = urlParams.get("lang");
|
||||||
|
if (messages[lang] === undefined) {
|
||||||
|
lang = navigator.language.split(/[-_]/)[0];
|
||||||
|
}
|
||||||
|
return lang;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const langJson = function () {
|
||||||
|
const messageLocalized = i18nConfig.messages[language()];
|
||||||
|
const messageGlobal = i18nConfig.messages[GLOBAL_MESSAGE_KEY];
|
||||||
|
const messageMerged = {
|
||||||
|
...messageLocalized,
|
||||||
|
...messageGlobal,
|
||||||
|
};
|
||||||
|
|
||||||
|
return messageMerged;
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user