enum LOCALE { EN, FR } SetLocale(LOCALE.EN); function SetLocale(locale) { global.locale = locale; InitTranslations(); } function InitTranslations() { global.locData = load_csv("locale.csv"); var hh = ds_grid_height(global.locData); var translations = ds_map_create(); for (var i = 0; i < hh; i++) { ds_map_add(translations, global.locData[# 0, i], i); } global.translations = translations; } function Text(key) { var text = ""; if (global.translations[? key] != undefined) { var text = global.locData[# 1 + global.locale, global.translations[? key]]; var a = argument_count > 1 ? argument[1] : ""; text = string_replace_all(text,"{a}", a); } else { var text = key; } return text; }