import {get_strings} from 'core/str'; /** * Load the translation of strings from a strings object * @param {Object} strings The map of strings * @returns {Object} The map with strings loaded in */ export function load_strings(strings){ for(let idx in strings){ let stringkeys = []; for(const handle in strings[idx]){ const key = strings[idx][handle]; let parts = key.split("$"); let identifier = parts[0]; let component = (parts.length > 1)?parts[1]:'local_treestudyplan'; stringkeys.push({ key: identifier, component: component}); } get_strings(stringkeys).then(function(str){ let i = 0; for(const key in strings[idx]){ strings[idx][key] = str[i]; i++; } }); } return strings; } /** * Load the translation of strings from a strings object based on keys * Used for loading values for a drop down menu or the like * @param {Object} string_keys The map of stringkeys * @returns {Object} The map with strings loaded in */ export function load_stringkeys(string_keys){ for(let idx in string_keys){ // Get text strings for condition settings let stringkeys = []; for(const i in string_keys[idx]){ const key = string_keys[idx][i].textkey; let parts = key.split("$"); let identifier = parts[0]; let component = (parts.length > 1)?parts[1]:'local_treestudyplan'; stringkeys.push({ key: identifier, component: component}); } get_strings(stringkeys).then(function(strings){ for(const i in strings) { const s = strings[i]; const l = string_keys[idx][i]; l.text = s; } }); } return string_keys; }