51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| define([
 | |
|     './locales/ca.js',
 | |
|     './locales/de.js',
 | |
|     './locales/es.js',
 | |
|     './locales/fr.js',
 | |
|     './locales/it.js',
 | |
|     './locales/nl.js',
 | |
|     './locales/pl.js',
 | |
|     './locales/pt_br.js',
 | |
|     './locales/ro.js',
 | |
|     './locales/ru.js',
 | |
|     './locales/tr.js',
 | |
|     './locales/vi.js',
 | |
|     './locales/zh.js',
 | |
|     './locales/zh_cn.js'
 | |
| ], function() {
 | |
|     var langId = (navigator.language || navigator.userLanguage).toLowerCase().replace('-', '_');
 | |
|     var language = langId.substr(0, 2);
 | |
|     var locales = {};
 | |
| 
 | |
|     for (index in arguments) {
 | |
|         for (property in arguments[index])
 | |
|             locales[property] = arguments[index][property];
 | |
|     }
 | |
|     if ( ! locales['en'])
 | |
|         locales['en'] = {};
 | |
| 
 | |
|     if ( ! locales[langId] && ! locales[language])
 | |
|         language = 'en';
 | |
| 
 | |
|     var locale = (locales[langId] ? locales[langId] : locales[language]);
 | |
| 
 | |
|     function __(text) {
 | |
|         var index = locale[text];
 | |
|         if (index === undefined)
 | |
|             return text;
 | |
|         return index;
 | |
|     };
 | |
| 
 | |
|     function setLanguage(language) {
 | |
|         locale = locales[language];
 | |
|     }
 | |
| 
 | |
|     return {
 | |
|         __         : __,
 | |
|         locales    : locales,
 | |
|         locale     : locale,
 | |
|         setLanguage: setLanguage
 | |
|     };
 | |
| });
 | 
