mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 02:55:58 +01:00 
			
		
		
		
	refactored translator system to be a require.js module, and not a global
This commit is contained in:
		| @@ -1,7 +1,7 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /* global define, app, ajaxify, socket, templates, bootbox, translator */ | /* global define, app, ajaxify, socket, templates, bootbox */ | ||||||
|  |  | ||||||
| define('admin/general/navigation', function() { | define('admin/general/navigation', ['translator'], function(translator) { | ||||||
| 	var navigation = {}, | 	var navigation = {}, | ||||||
| 		available; | 		available; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,10 +1,11 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /*global define, templates, socket, ajaxify, app, admin, bootbox, utils, config, translator */ | /*global define, templates, socket, ajaxify, app, admin, bootbox, utils, config */ | ||||||
|  |  | ||||||
| define('admin/manage/groups', [ | define('admin/manage/groups', [ | ||||||
| 	'iconSelect', | 	'iconSelect', | ||||||
| 	'admin/modules/colorpicker' | 	'admin/modules/colorpicker', | ||||||
| ], function(iconSelect, colorpicker) { | 	'translator' | ||||||
|  | ], function(iconSelect, colorpicker, translator) { | ||||||
| 	var	Groups = {}; | 	var	Groups = {}; | ||||||
|  |  | ||||||
| 	Groups.init = function() { | 	Groups.init = function() { | ||||||
|   | |||||||
| @@ -4,11 +4,19 @@ var ajaxify = ajaxify || {}; | |||||||
|  |  | ||||||
| $(document).ready(function() { | $(document).ready(function() { | ||||||
|  |  | ||||||
| 	/*global app, templates, utils, socket, translator, config, RELATIVE_PATH*/ | 	/*global app, templates, utils, socket, config, RELATIVE_PATH*/ | ||||||
|  |  | ||||||
| 	var location = document.location || window.location, | 	var location = document.location || window.location, | ||||||
| 		rootUrl = location.protocol + '//' + (location.hostname || location.host) + (location.port ? ':' + location.port : ''), | 		rootUrl = location.protocol + '//' + (location.hostname || location.host) + (location.port ? ':' + location.port : ''), | ||||||
| 		apiXHR = null; | 		apiXHR = null, | ||||||
|  |  | ||||||
|  | 		translator; | ||||||
|  |  | ||||||
|  | 	// Dumb hack to fool ajaxify into thinking translator is still a global | ||||||
|  | 	// When ajaxify is migrated to a require.js module, then this can be merged into the "define" call | ||||||
|  | 	require(['translator'], function(_translator) { | ||||||
|  | 		translator = _translator; | ||||||
|  | 	}); | ||||||
|  |  | ||||||
| 	$(window).on('popstate', function (ev) { | 	$(window).on('popstate', function (ev) { | ||||||
| 		ev = ev.originalEvent; | 		ev = ev.originalEvent; | ||||||
| @@ -49,11 +57,9 @@ $(document).ready(function() { | |||||||
|  |  | ||||||
| 			app.template = data.template.name; | 			app.template = data.template.name; | ||||||
|  |  | ||||||
| 			translator.load(config.defaultLang, data.template.name); | 			require(['translator', 'search'], function(translator, search) { | ||||||
|  | 				translator.load(config.defaultLang, data.template.name); | ||||||
| 			renderTemplate(url, data.template.name, data, callback); | 				renderTemplate(url, data.template.name, data, callback); | ||||||
|  |  | ||||||
| 			require(['search'], function(search) { |  | ||||||
| 				search.topicDOM.end(); | 				search.topicDOM.end(); | ||||||
| 			}); | 			}); | ||||||
| 		}); | 		}); | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /*global io, templates, translator, ajaxify, utils, bootbox, RELATIVE_PATH, config, Visibility*/ | /*global io, templates, ajaxify, utils, bootbox, RELATIVE_PATH, config, Visibility*/ | ||||||
|  |  | ||||||
| var	socket, | var	socket, | ||||||
| 	app = app || {}; | 	app = app || {}; | ||||||
| @@ -310,18 +310,20 @@ app.cacheBuster = null; | |||||||
| 				titleObj.titles[0] = window.document.title; | 				titleObj.titles[0] = window.document.title; | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			translator.translate(title, function(translated) { | 			require(['translator'], function(translator) { | ||||||
| 				titleObj.titles[1] = translated; | 				translator.translate(title, function(translated) { | ||||||
| 				if (titleObj.interval) { | 					titleObj.titles[1] = translated; | ||||||
| 					clearInterval(titleObj.interval); | 					if (titleObj.interval) { | ||||||
| 				} | 						clearInterval(titleObj.interval); | ||||||
|  |  | ||||||
| 				titleObj.interval = setInterval(function() { |  | ||||||
| 					var title = titleObj.titles[titleObj.titles.indexOf(window.document.title) ^ 1]; |  | ||||||
| 					if (title) { |  | ||||||
| 						window.document.title = $('<div/>').html(title).text(); |  | ||||||
| 					} | 					} | ||||||
| 				}, 2000); |  | ||||||
|  | 					titleObj.interval = setInterval(function() { | ||||||
|  | 						var title = titleObj.titles[titleObj.titles.indexOf(window.document.title) ^ 1]; | ||||||
|  | 						if (title) { | ||||||
|  | 							window.document.title = $('<div/>').html(title).text(); | ||||||
|  | 						} | ||||||
|  | 					}, 2000); | ||||||
|  | 				}); | ||||||
| 			}); | 			}); | ||||||
| 		} else { | 		} else { | ||||||
| 			if (titleObj.interval) { | 			if (titleObj.interval) { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, ajaxify, socket, app, config, utils, translator, bootbox */ | /* globals define, ajaxify, socket, app, config, utils, bootbox */ | ||||||
|  |  | ||||||
| define('forum/account/edit', ['forum/account/header', 'uploader'], function(header, uploader) { | define('forum/account/edit', ['forum/account/header', 'uploader', 'translator'], function(header, uploader, translator) { | ||||||
| 	var AccountEdit = {}, | 	var AccountEdit = {}, | ||||||
| 		gravatarPicture = '', | 		gravatarPicture = '', | ||||||
| 		uploadedPicture = '', | 		uploadedPicture = '', | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, ajaxify, app, utils, socket, translator*/ | /* globals define, ajaxify, app, utils, socket */ | ||||||
|  |  | ||||||
| define('forum/account/profile', ['forum/account/header', 'forum/infinitescroll'], function(header, infinitescroll) { | define('forum/account/profile', ['forum/account/header', 'forum/infinitescroll', 'translator'], function(header, infinitescroll, translator) { | ||||||
| 	var Account = {}, | 	var Account = {}, | ||||||
| 		yourid, | 		yourid, | ||||||
| 		theirid, | 		theirid, | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, socket, app, templates, translator, ajaxify*/ | /* globals define, socket, app, templates, ajaxify*/ | ||||||
|  |  | ||||||
| define('forum/categories', ['components'], function(components) { | define('forum/categories', ['components', 'translator'], function(components, translator) { | ||||||
| 	var	categories = {}; | 	var	categories = {}; | ||||||
|  |  | ||||||
| 	$(window).on('action:ajaxify.start', function(ev, data) { | 	$(window).on('action:ajaxify.start', function(ev, data) { | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /* global define, config, templates, app, utils, ajaxify, socket, translator */ | /* global define, config, templates, app, utils, ajaxify, socket */ | ||||||
|  |  | ||||||
| define('forum/category', [ | define('forum/category', [ | ||||||
| 	'composer', | 	'composer', | ||||||
| @@ -9,8 +9,9 @@ define('forum/category', [ | |||||||
| 	'navigator', | 	'navigator', | ||||||
| 	'forum/categoryTools', | 	'forum/categoryTools', | ||||||
| 	'sort', | 	'sort', | ||||||
| 	'components' | 	'components', | ||||||
| ], function(composer, pagination, infinitescroll, share, navigator, categoryTools, sort, components) { | 	'translator' | ||||||
|  | ], function(composer, pagination, infinitescroll, share, navigator, categoryTools, sort, components, translator) { | ||||||
| 	var Category = {}; | 	var Category = {}; | ||||||
|  |  | ||||||
| 	$(window).on('action:ajaxify.start', function(ev, data) { | 	$(window).on('action:ajaxify.start', function(ev, data) { | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
|  |  | ||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, app, translator, socket, bootbox, ajaxify */ | /* globals define, app, socket, bootbox, ajaxify */ | ||||||
|  |  | ||||||
|  |  | ||||||
| define('forum/categoryTools', ['forum/topic/move', 'topicSelect', 'components'], function(move, topicSelect, components) { | define('forum/categoryTools', ['forum/topic/move', 'topicSelect', 'components', 'translator'], function(move, topicSelect, components, translator) { | ||||||
|  |  | ||||||
| 	var CategoryTools = {}; | 	var CategoryTools = {}; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, app, ajaxify, utils, socket, templates, translator */ | /* globals define, app, ajaxify, utils, socket, templates */ | ||||||
|  |  | ||||||
| define('forum/chats', ['string', 'sounds', 'forum/infinitescroll'], function(S, sounds, infinitescroll) { | define('forum/chats', ['string', 'sounds', 'forum/infinitescroll', 'translator'], function(S, sounds, infinitescroll, translator) { | ||||||
| 	var Chats = { | 	var Chats = { | ||||||
| 		initialised: false | 		initialised: false | ||||||
| 	}; | 	}; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /*globals define, app, translator, socket*/ | /*globals define, app, socket*/ | ||||||
|  |  | ||||||
| define('forum/footer', ['notifications', 'chat', 'components'], function(Notifications, Chat, components) { | define('forum/footer', ['notifications', 'chat', 'components', 'translator'], function(Notifications, Chat, components, translator) { | ||||||
|  |  | ||||||
| 	Notifications.prepareDOM(); | 	Notifications.prepareDOM(); | ||||||
| 	Chat.prepareDOM(); | 	Chat.prepareDOM(); | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, socket, ajaxify, translator, templates, app */ | /* globals define, socket, ajaxify, templates, app */ | ||||||
|  |  | ||||||
| define('forum/infinitescroll', function() { | define('forum/infinitescroll', ['translator'], function(translator) { | ||||||
|  |  | ||||||
| 	var scroll = {}; | 	var scroll = {}; | ||||||
| 	var callback; | 	var callback; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /* global define, app, translator, config, RELATIVE_PATH */ | /* global define, app, config, RELATIVE_PATH */ | ||||||
|  |  | ||||||
| define('forum/login', ['csrf'], function(csrf) { | define('forum/login', ['csrf', 'translator'], function(csrf, translator) { | ||||||
| 	var	Login = {}; | 	var	Login = {}; | ||||||
|  |  | ||||||
| 	Login.init = function() { | 	Login.init = function() { | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, app, utils, socket, config, translator */ | /* globals define, app, utils, socket, config */ | ||||||
|  |  | ||||||
|  |  | ||||||
| define('forum/register', ['csrf'], function(csrf) { | define('forum/register', ['csrf', 'translator'], function(csrf, translator) { | ||||||
| 	var Register = {}, | 	var Register = {}, | ||||||
| 		validationError = false, | 		validationError = false, | ||||||
| 		successIcon = '<i class="fa fa-check"></i>'; | 		successIcon = '<i class="fa fa-check"></i>'; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
|  |  | ||||||
| /* globals define, app, templates, translator, socket, bootbox, config, ajaxify, RELATIVE_PATH, utils */ | /* globals define, app, templates, socket, bootbox, config, ajaxify, RELATIVE_PATH, utils */ | ||||||
|  |  | ||||||
| define('forum/topic', [ | define('forum/topic', [ | ||||||
| 	'forum/pagination', | 	'forum/pagination', | ||||||
| @@ -13,8 +13,9 @@ define('forum/topic', [ | |||||||
| 	'forum/topic/posts', | 	'forum/topic/posts', | ||||||
| 	'navigator', | 	'navigator', | ||||||
| 	'sort', | 	'sort', | ||||||
| 	'components' | 	'components', | ||||||
| ], function(pagination, infinitescroll, threadTools, postTools, events, browsing, posts, navigator, sort, components) { | 	'translator' | ||||||
|  | ], function(pagination, infinitescroll, threadTools, postTools, events, browsing, posts, navigator, sort, components, translator) { | ||||||
| 	var	Topic = {}, | 	var	Topic = {}, | ||||||
| 		currentUrl = ''; | 		currentUrl = ''; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,9 +2,9 @@ | |||||||
|  |  | ||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, app, translator, config, socket, ajaxify */ | /* globals define, app, config, socket, ajaxify */ | ||||||
|  |  | ||||||
| define('forum/topic/browsing', function() { | define('forum/topic/browsing', ['translator'], function(translator) { | ||||||
|  |  | ||||||
| 	var Browsing = {}; | 	var Browsing = {}; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
|  |  | ||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals app, ajaxify, define, socket, translator, templates */ | /* globals app, ajaxify, define, socket, templates */ | ||||||
|  |  | ||||||
| define('forum/topic/events', [ | define('forum/topic/events', [ | ||||||
| 	'forum/topic/browsing', | 	'forum/topic/browsing', | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, app, ajaxify, translator, socket */ | /* globals define, app, ajaxify, socket */ | ||||||
|  |  | ||||||
| define('forum/topic/fork', ['components'], function(components) { | define('forum/topic/fork', ['components'], function(components) { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, app, ajaxify, bootbox, socket, templates, translator, utils */ | /* globals define, app, ajaxify, bootbox, socket, templates, utils */ | ||||||
|  |  | ||||||
| define('forum/topic/postTools', ['composer', 'share', 'navigator', 'components'], function(composer, share, navigator, components) { | define('forum/topic/postTools', ['composer', 'share', 'navigator', 'components', 'translator'], function(composer, share, navigator, components, translator) { | ||||||
|  |  | ||||||
| 	var PostTools = {}, | 	var PostTools = {}, | ||||||
| 		topicName; | 		topicName; | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, app, translator, ajaxify, socket, bootbox */ | /* globals define, app, ajaxify, socket, bootbox */ | ||||||
|  |  | ||||||
| define('forum/topic/threadTools', ['forum/topic/fork', 'forum/topic/move', 'components'], function(fork, move, components) { | define('forum/topic/threadTools', ['forum/topic/fork', 'forum/topic/move', 'components', 'translator'], function(fork, move, components, translator) { | ||||||
|  |  | ||||||
| 	var ThreadTools = {}; | 	var ThreadTools = {}; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, socket, app, ajaxify, templates, translator*/ | /* globals define, socket, app, ajaxify, templates */ | ||||||
|  |  | ||||||
| define('forum/users', function() { | define('forum/users', ['translator'], function(translator) { | ||||||
| 	var	Users = {}; | 	var	Users = {}; | ||||||
|  |  | ||||||
| 	var loadingMoreUsers = false; | 	var loadingMoreUsers = false; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
| /* globals define, translator, templates */ | /* globals define, templates */ | ||||||
|  |  | ||||||
| define('alerts', function() { | define('alerts', ['translator'], function(translator) { | ||||||
| 	var module = {}; | 	var module = {}; | ||||||
|  |  | ||||||
| 	module.alert = function (params) { | 	module.alert = function (params) { | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /* globals app, config, define, socket, translator, templates, utils, ajaxify */ | /* globals app, config, define, socket, templates, utils, ajaxify */ | ||||||
|  |  | ||||||
| define('chat', ['taskbar', 'string', 'sounds', 'forum/chats'], function(taskbar, S, sounds, Chats) { | define('chat', ['taskbar', 'string', 'sounds', 'forum/chats', 'translator'], function(taskbar, S, sounds, Chats, translator) { | ||||||
|  |  | ||||||
| 	var module = {}; | 	var module = {}; | ||||||
| 	var newMessage = false; | 	var newMessage = false; | ||||||
|   | |||||||
| @@ -1,9 +1,10 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, socket, app, config, ajaxify, utils, translator, templates, bootbox */ | /* globals define, socket, app, config, ajaxify, utils, templates, bootbox */ | ||||||
|  |  | ||||||
| define('composer', [ | define('composer', [ | ||||||
| 	'taskbar', | 	'taskbar', | ||||||
|  | 	'translator', | ||||||
| 	'composer/controls', | 	'composer/controls', | ||||||
| 	'composer/uploads', | 	'composer/uploads', | ||||||
| 	'composer/formatting', | 	'composer/formatting', | ||||||
| @@ -12,7 +13,7 @@ define('composer', [ | |||||||
| 	'composer/categoryList', | 	'composer/categoryList', | ||||||
| 	'composer/preview', | 	'composer/preview', | ||||||
| 	'composer/resize' | 	'composer/resize' | ||||||
| ], function(taskbar, controls, uploads, formatting, drafts, tags, categoryList, preview, resize) { | ], function(taskbar, translator, controls, uploads, formatting, drafts, tags, categoryList, preview, resize) { | ||||||
| 	var composer = { | 	var composer = { | ||||||
| 		active: undefined, | 		active: undefined, | ||||||
| 		posts: {}, | 		posts: {}, | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
|  |  | ||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals app, define, ajaxify, utils, translator, config */ | /* globals app, define, ajaxify, utils, config */ | ||||||
|  |  | ||||||
|  |  | ||||||
| define('navigator', ['forum/pagination', 'components'], function(pagination, components) { | define('navigator', ['forum/pagination', 'components'], function(pagination, components) { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /* globals define, socket, translator, utils, config, app, ajaxify, templates, Tinycon*/ | /* globals define, socket, utils, config, app, ajaxify, templates, Tinycon*/ | ||||||
|  |  | ||||||
| define('notifications', ['sounds'], function(sound) { | define('notifications', ['sounds', 'translator'], function(sound, translator) { | ||||||
| 	var Notifications = {}; | 	var Notifications = {}; | ||||||
|  |  | ||||||
| 	Notifications.prepareDOM = function() { | 	Notifications.prepareDOM = function() { | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| /* globals socket, ajaxify, translator, app, define */ | /* globals socket, ajaxify, app, define */ | ||||||
|  |  | ||||||
| define('search', ['navigator'], function(nav) { | define('search', ['navigator', 'translator'], function(nav, translator) { | ||||||
|  |  | ||||||
| 	var Search = { | 	var Search = { | ||||||
| 			current: {} | 			current: {} | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
| /* globals define, config, socket, app, ajaxify, translator, templates */ | /* globals define, config, socket, app, ajaxify, templates */ | ||||||
|  |  | ||||||
| define('sort', function() { | define('sort', function() { | ||||||
| 	var module = {}; | 	var module = {}; | ||||||
|   | |||||||
| @@ -1,18 +1,18 @@ | |||||||
| (function (module) { | ;(function(translator) { | ||||||
| 	"use strict"; | 	"use strict"; | ||||||
| 	/*global RELATIVE_PATH, config*/ | 	/* globals RELATIVE_PATH, config, define */ | ||||||
| 
 | 
 | ||||||
|  | 	// export the class if we are in a Node-like system.
 | ||||||
|  | 	if (typeof module === 'object' && module.exports === translator) { | ||||||
|  | 		exports = module.exports = translator; | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 	var translator = {}, | 	var	languages = {}, | ||||||
| 		languages = {}; | 		regexes = { | ||||||
| 
 | 			match: /\[\[.*?\]\]/g, | ||||||
| 	var regexes = { | 			split: /[,][\s]*/, | ||||||
| 		match: /\[\[.*?\]\]/g, | 			replace: /\]+$/ | ||||||
| 		split: /[,][\s]*/, | 		}; | ||||||
| 		replace: /\]+$/ |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	module.exports = translator; |  | ||||||
| 
 | 
 | ||||||
| 	translator.addTranslation = function(language, filename, translations) { | 	translator.addTranslation = function(language, filename, translations) { | ||||||
| 		languages[language] = languages[language] || {}; | 		languages[language] = languages[language] || {}; | ||||||
| @@ -127,7 +127,7 @@ | |||||||
| 			if ('undefined' !== typeof window && config) { | 			if ('undefined' !== typeof window && config) { | ||||||
| 				language = config.userLang || 'en_GB'; | 				language = config.userLang || 'en_GB'; | ||||||
| 			} else { | 			} else { | ||||||
| 				var meta = require('../../src/meta'); | 				var meta = require('../../../src/meta'); | ||||||
| 				language = meta.config.defaultLang || 'en_GB'; | 				language = meta.config.defaultLang || 'en_GB'; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -267,16 +267,16 @@ | |||||||
| 		var fs = require('fs'), | 		var fs = require('fs'), | ||||||
| 			path = require('path'), | 			path = require('path'), | ||||||
| 			winston = require('winston'), | 			winston = require('winston'), | ||||||
| 			meta = require('../../src/meta'); | 			meta = require('../../../src/meta'); | ||||||
| 
 | 
 | ||||||
| 		language = language || meta.config.defaultLang || 'en_GB'; | 		language = language || meta.config.defaultLang || 'en_GB'; | ||||||
| 
 | 
 | ||||||
| 		if (!fs.existsSync(path.join(__dirname, '../language', language))) { | 		if (!fs.existsSync(path.join(__dirname, '../../language', language))) { | ||||||
| 			winston.warn('[translator] Language \'' + meta.config.defaultLang + '\' not found. Defaulting to \'en_GB\''); | 			winston.warn('[translator] Language \'' + meta.config.defaultLang + '\' not found. Defaulting to \'en_GB\''); | ||||||
| 			language = 'en_GB'; | 			language = 'en_GB'; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		fs.readFile(path.join(__dirname, '../language', language, filename + '.json'), function(err, data) { | 		fs.readFile(path.join(__dirname, '../../language', language, filename + '.json'), function(err, data) { | ||||||
| 			if (err) { | 			if (err) { | ||||||
| 				winston.error('Could not load `' + filename + '`: ' + err.message + '. Skipping...'); | 				winston.error('Could not load `' + filename + '`: ' + err.message + '. Skipping...'); | ||||||
| 				return callback({}); | 				return callback({}); | ||||||
| @@ -291,12 +291,20 @@ | |||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if ('undefined' !== typeof window) { | 	// Use the define() function if we're in AMD land
 | ||||||
| 		window.translator = module.exports; | 	if (typeof define === 'function' && define.amd) { | ||||||
| 	} | 		define('translator', translator); | ||||||
| 
 | 
 | ||||||
| })('undefined' === typeof module ? { | 		// Expose a global `translator` object for backwards compatibility
 | ||||||
| 	module: { | 		window.translator = { | ||||||
| 		exports: {} | 			translate: function() { | ||||||
|  | 				console.warn('[translator] Global invocation of the translator is now deprecated, please `require` the module instead.'); | ||||||
|  | 				translator.translate.apply(translator, arguments); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| } : module); | })( | ||||||
|  | 	typeof exports === 'object' ? exports : | ||||||
|  | 	typeof define === 'function' && define.amd ? {} : | ||||||
|  | 	translator = {} | ||||||
|  | ); | ||||||
| @@ -1,11 +1,13 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| /*globals translator*/ |  | ||||||
|  |  | ||||||
|  |  | ||||||
| if ('undefined' !== typeof window) { | if ('undefined' !== typeof window) { | ||||||
|  |  | ||||||
| 	(function ($, undefined) { | 	(function ($, undefined) { | ||||||
|  | 		var translator; | ||||||
|  | 		require(['translator'], function(_translator) { | ||||||
|  | 			translator = _translator; | ||||||
|  | 		}); | ||||||
|  |  | ||||||
| 		$.fn.getCursorPosition = function() { | 		$.fn.getCursorPosition = function() { | ||||||
| 			var el = $(this).get(0); | 			var el = $(this).get(0); | ||||||
| 			var pos = 0; | 			var pos = 0; | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ var nconf = require('nconf'), | |||||||
| 	async = require('async'), | 	async = require('async'), | ||||||
| 	validator = require('validator'), | 	validator = require('validator'), | ||||||
|  |  | ||||||
| 	translator = require('../../public/src/translator'), | 	translator = require('../../public/src/modules/translator'), | ||||||
| 	categories = require('../categories'), | 	categories = require('../categories'), | ||||||
| 	plugins = require('../plugins'), | 	plugins = require('../plugins'), | ||||||
| 	meta = require('../meta'); | 	meta = require('../meta'); | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ var	fs = require('fs'), | |||||||
| 	User = require('./user'), | 	User = require('./user'), | ||||||
| 	Plugins = require('./plugins'), | 	Plugins = require('./plugins'), | ||||||
| 	meta = require('./meta'), | 	meta = require('./meta'), | ||||||
| 	translator = require('../public/src/translator'), | 	translator = require('../public/src/modules/translator'), | ||||||
|  |  | ||||||
| 	app; | 	app; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -44,9 +44,7 @@ module.exports = function(Meta) { | |||||||
| 				'public/src/utils.js', | 				'public/src/utils.js', | ||||||
| 				'public/src/app.js', | 				'public/src/app.js', | ||||||
| 				'public/src/ajaxify.js', | 				'public/src/ajaxify.js', | ||||||
| 				'public/src/components.js', |  | ||||||
| 				'public/src/overrides.js', | 				'public/src/overrides.js', | ||||||
| 				'public/src/translator.js', |  | ||||||
| 				'public/src/variables.js', | 				'public/src/variables.js', | ||||||
| 				'public/src/widgets.js' | 				'public/src/widgets.js' | ||||||
| 			], | 			], | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| var winston = require('winston'), | var winston = require('winston'), | ||||||
| 	validator = require('validator'), | 	validator = require('validator'), | ||||||
| 	user = require('../user'), | 	user = require('../user'), | ||||||
| 	translator = require('../../public/src/translator'); | 	translator = require('../../public/src/modules/translator'); | ||||||
|  |  | ||||||
| module.exports = function(Meta) { | module.exports = function(Meta) { | ||||||
| 	Meta.title = {}; | 	Meta.title = {}; | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ var app, | |||||||
| 	plugins = require('./../plugins'), | 	plugins = require('./../plugins'), | ||||||
| 	navigation = require('./../navigation'), | 	navigation = require('./../navigation'), | ||||||
| 	meta = require('./../meta'), | 	meta = require('./../meta'), | ||||||
| 	translator = require('./../../public/src/translator'), | 	translator = require('./../../public/src/modules/translator'), | ||||||
| 	user = require('./../user'), | 	user = require('./../user'), | ||||||
| 	groups = require('./../groups'), | 	groups = require('./../groups'), | ||||||
| 	db = require('./../database'), | 	db = require('./../database'), | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ var admin = {}, | |||||||
| 	async = require('async'), | 	async = require('async'), | ||||||
| 	plugins = require('../plugins'), | 	plugins = require('../plugins'), | ||||||
| 	db = require('../database'), | 	db = require('../database'), | ||||||
| 	translator = require('../../public/src/translator'); | 	translator = require('../../public/src/modules/translator'); | ||||||
|  |  | ||||||
|  |  | ||||||
| admin.save = function(data, callback) { | admin.save = function(data, callback) { | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ var navigation = {}, | |||||||
| 	plugins = require('../plugins'), | 	plugins = require('../plugins'), | ||||||
| 	db = require('../database'), | 	db = require('../database'), | ||||||
| 	admin = require('./admin'), | 	admin = require('./admin'), | ||||||
| 	translator = require('../../public/src/translator'); | 	translator = require('../../public/src/modules/translator'); | ||||||
|  |  | ||||||
|  |  | ||||||
| navigation.get = function(callback) { | navigation.get = function(callback) { | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ var fs = require('fs'), | |||||||
| 	db = require('./database'), | 	db = require('./database'), | ||||||
| 	emitter = require('./emitter'), | 	emitter = require('./emitter'), | ||||||
| 	meta = require('./meta'), | 	meta = require('./meta'), | ||||||
| 	translator = require('../public/src/translator'), | 	translator = require('../public/src/modules/translator'), | ||||||
| 	utils = require('../public/src/utils'), | 	utils = require('../public/src/utils'), | ||||||
| 	hotswap = require('./hotswap'), | 	hotswap = require('./hotswap'), | ||||||
|  |  | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ var async = require('async'), | |||||||
| 	groups = require('../groups'), | 	groups = require('../groups'), | ||||||
| 	meta = require('../meta'), | 	meta = require('../meta'), | ||||||
| 	notifications = require('../notifications'), | 	notifications = require('../notifications'), | ||||||
| 	translator = require('../../public/src/translator'); | 	translator = require('../../public/src/modules/translator'); | ||||||
|  |  | ||||||
| module.exports = function(User) { | module.exports = function(User) { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ var async = require('async'), | |||||||
|  |  | ||||||
| 	user = require('../user'), | 	user = require('../user'), | ||||||
| 	utils = require('../../public/src/utils'), | 	utils = require('../../public/src/utils'), | ||||||
| 	translator = require('../../public/src/translator'), | 	translator = require('../../public/src/modules/translator'), | ||||||
| 	plugins = require('../plugins'), | 	plugins = require('../plugins'), | ||||||
| 	db = require('../database'), | 	db = require('../database'), | ||||||
| 	meta = require('../meta'), | 	meta = require('../meta'), | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ var async = require('async'), | |||||||
|  |  | ||||||
| 	user = require('../user'), | 	user = require('../user'), | ||||||
| 	utils = require('../../public/src/utils'), | 	utils = require('../../public/src/utils'), | ||||||
| 	translator = require('../../public/src/translator'), | 	translator = require('../../public/src/modules/translator'), | ||||||
|  |  | ||||||
| 	db = require('../database'), | 	db = require('../database'), | ||||||
| 	meta = require('../meta'), | 	meta = require('../meta'), | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user