You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
638 B
31 lines
638 B
import createAjaxRequest from 'Utilities/createAjaxRequest';
|
|
|
|
function getTranslations() {
|
|
let localization = null;
|
|
const ajaxOptions = {
|
|
async: false,
|
|
dataType: 'json',
|
|
url: '/localization',
|
|
success: function(data) {
|
|
localization = data.Strings;
|
|
}
|
|
};
|
|
|
|
createAjaxRequest(ajaxOptions);
|
|
|
|
return localization;
|
|
}
|
|
|
|
const translations = getTranslations();
|
|
|
|
export default function translate(key, args = '') {
|
|
if (args) {
|
|
const translatedKey = translate(key);
|
|
return translatedKey.replace(/\{(\d+)\}/g, (match, index) => {
|
|
return args[index];
|
|
});
|
|
}
|
|
|
|
return translations[key] || key;
|
|
}
|