- JavaScript (ES6)
- HTML5
- Bootstrap (CSS framework)
- React Hooks
- GitHub
- react-i18next: https://react.i18next.com/ I used i18next with react implementation. It is the framework that allow me to initialize my configuration and setup the different languages text allowing to change between them if user change the language. (yarn add react-i18next i18next)
- i18next-browser-languageDetector: https://github.com/i18next/i18next-browser-languageDetector I used this utility to get the languages for 8 different sources: (cookie, sessionStorage, localStorage, navigator, querystring, htmlTag, path and subdomain) (yarn add i18next-browser-languagedetector)
- i18next-http-backend: https://github.com/i18next/i18next-http-backend I used this utility to load the different language file for any source that we want it to load it from (yarn add i18next-http-backend)
- flag-icon-css: https://yarnpkg.com/package/react-flag-icon-css (yarn add react-flag-icon-css)
- js-cookie: https://yarnpkg.com/package/js-cookie (yarn add js-cookie). This package allow us to manipulate cookies
- Clone or download the repo.
- Execute the following commands:
- yarn install
- yarn start
The application allows user to switch languages.
- React Helmet: Manage changes to the document head.