(function() { 'use strict'; /** * I18n * * This module stores and serves translated strings, according to the users language settings. * * Translations are stored in /messages/frontend/*.msg. * * To make additions to any of these files accessible to JavaScrip Utilities * you need to add them to the respective *.msg file and to the list of FrontendMessages * in /src/Utils/Frontend/I18n.hs. * */ window.I18n = (function() { var translations = {}; function addTranslation(id, translation) { translations[id] = translation; } function addManyTranslations(manyTranslations) { Object.keys(manyTranslations).forEach(function(key) { addTranslation(key, manyTranslations[key]); }); } function getTranslation(id) { if (!translations[id]) { throw new Error('I18N Error: Translation missing for »' + id + '«!'); } return translations[id]; } // public API return { add: addTranslation, addMany: addManyTranslations, get: getTranslation, }; })(); })();