diff options
Diffstat (limited to 'js/lib/languages.js')
| -rw-r--r-- | js/lib/languages.js | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/js/lib/languages.js b/js/lib/languages.js index e464fc0ff..d218cbc4f 100644 --- a/js/lib/languages.js +++ b/js/lib/languages.js @@ -4,6 +4,7 @@ */ elgg.provide('elgg.config.translations'); +// default language - required by unit tests elgg.config.language = 'en'; /** @@ -25,15 +26,21 @@ elgg.add_translation = function(lang, translations) { */ elgg.reload_all_translations = function(language) { var lang = language || elgg.get_language(); - elgg.getJSON('pg/js/languages%252f' + lang + '.js', { - data: { - 'viewtype': 'default', - 'lastcache': elgg.config.lastcache - }, - success: function(json) { - elgg.add_translation(lang, json); - } - }); + + var url, options; + url = 'ajax/view/js/languages'; + options = {data: {language: lang}}; + if (elgg.config.simplecache_enabled) { + options.data.lc = elgg.config.lastcache; + } + + options['success'] = function(json) { + elgg.add_translation(lang, json); + elgg.config.languageReady = true; + elgg.initWhenReady(); + }; + + elgg.getJSON(url, options); }; /** @@ -79,11 +86,11 @@ elgg.echo = function(key, argv, language) { return vsprintf(map[key], argv); } - return undefined; + return key; }; elgg.config.translations.init = function() { elgg.reload_all_translations(); }; -elgg.register_event_handler('boot', 'system', elgg.config.translations.init);
\ No newline at end of file +elgg.register_hook_handler('boot', 'system', elgg.config.translations.init);
\ No newline at end of file |
