aboutsummaryrefslogtreecommitdiff
path: root/js/lib/languages.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib/languages.js')
-rw-r--r--js/lib/languages.js29
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