Skip to content

Instantly share code, notes, and snippets.

View ivanmiletic's full-sized avatar
💭
Building something amazing!

Ivan Miletic ivanmiletic

💭
Building something amazing!
View GitHub Profile
@ivanmiletic
ivanmiletic / fr.json
Created March 12, 2020 19:03
react-i18next-translations fr.json
{
"main.header.welcome": "Bienvenue",
"main.page.title": "{{title}} est en cours d'exécution!",
"main.page.section.languages.title": "Langages",
"main.page.section.languages.subtitle": "Essayons de changer de langue!"
}
@ivanmiletic
ivanmiletic / App.js
Created March 12, 2020 18:59
react-i18next-translations App.js final
import React from 'react';
import logo from './logo.svg';
import './App.css';
import { useTranslation } from 'react-i18next';
function App() {
const title = 'react-i18next-translations';
const { t } = useTranslation();
@ivanmiletic
ivanmiletic / i18n.js
Created March 12, 2020 18:53
react-i18next-translations i18n.js 2
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import XHR from 'i18next-xhr-backend';
const allowedLanguages = ['en', 'fr'];
const defaultLng = 'en';
let lng = defaultLng;
const storageLanguage = localStorage.getItem('language');
@ivanmiletic
ivanmiletic / App.js
Created March 12, 2020 18:43
react-i18next-translations App.js 2
import React from 'react';
import logo from './logo.svg';
import './App.css';
import { useTranslation } from 'react-i18next';
function App() {
const title = 'react-i18next-translations';
const { t } = useTranslation();
@ivanmiletic
ivanmiletic / dev.json
Created March 12, 2020 17:58
react-i18next-translations dev.json
{
"main.header.welcome": "Welcome",
"main.page.title": "{{title}} is running!",
"main.page.section.languages.title": "Languages",
"main.page.section.languages.subtitle": "Lets try to change language!",
"main.page.section.languages.english": "English",
"main.page.section.languages.french": "Français"
}
@ivanmiletic
ivanmiletic / index.js
Last active March 12, 2020 18:21
react-i18next-translations index.js
import React, { Suspense } from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import './i18n';
ReactDOM.render(
<Suspense fallback={(<div>Loading</div>)}>
@ivanmiletic
ivanmiletic / i18n.js
Last active March 12, 2020 18:22
react-i18next-translations i18n.js 1
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import XHR from 'i18next-xhr-backend';
i18n
.use(XHR)
.use(initReactI18next)
.init({
debug: true,
keySeparator: false,
@ivanmiletic
ivanmiletic / App.js
Created March 12, 2020 17:02
react-i18next-translations App.js 1
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
const title = 'react-i18next-translations';
return (
<div className="app">
<div className="toolbar" role="banner">
@ivanmiletic
ivanmiletic / App.css
Created March 12, 2020 17:01
react-i18next-translations App.css 1
.app {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 14px;
color: #333;
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
margin: 8px;
}
<div class="card-container">
<div class="card card-small" (click)="changeLanguage('en')">
<span>{{'main.page.section.languages.english' | translate}}</span>
</div>
<div class="card card-small" (click)="changeLanguage('fr')">
<span>{{'main.page.section.languages.french' | translate}}</span>
</div>
</div>