JSFiddle - React, Tailwind, and code Playground

by Thomas Upton

JavaScript

function getTranslation(path, lang) {
    lang = lang || "en";
    var strings = {
        home: {
            intro: {
                en: 'Welcome',
                fr: 'Bienvenue'
            }
        },
        content: {
            explanation: {
                en: 'This is an interesting exercise',
                fr: 'C\'est un exercice intéressant',
                de: 'Es ist eine interesante Übung'
            },
            contact: 'Contact',
            goodbye: {
                en: 'Goodbye',
                fr: 'Au revoir',
                es: 'Adios'
            }
        }
    };

    var parts = path.split('.'),
        result = strings;
    for (var i = 0, ii = parts.length; i < ii; i++) {
        result = result[parts[i]];
        if (!result) {
            return '';
        }
    }
    return result[lang] || '';
}

console.log('home.intro, en', getTranslation('home.intro', 'en'));
console.log('content.contact, en', getTranslation('content.contact', 'en'));
console.log('home.intro, fr', getTranslation('home.intro', 'fr'));