Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var translator = {
- // Hash of preloaded templates for the app
- translations: {},
- language: 'en-US',
- loadTranslations: function(callback){
- this.translations = JSON.parse($.ajax({type: 'GET', url: 'translations/all.json', dataType: 'json', async: false}).responseText);
- callback();
- },
- setLanguage: function(language) {
- console.log('setting new language: ' + language);
- this.language = language;
- moment.locale(this.getShortLanguage());
- },
- getLanguage: function(language) {
- return language;
- },
- getShortLanguage: function() {
- var supported = ["de", "fr", "es"];
- var shortened = this.language.substring(0,2);
- var result = 'en';
- $(supported).each(function(i, obj){
- if (shortened == obj){
- result = obj;
- }
- });
- return result;
- },
- get: function(identifier, replace){
- var language = this.getShortLanguage();
- return this.getWithLanguage(language, identifier, replace);
- },
- getWithLanguage: function(language, identifier, replace){
- var str = '';
- str = this.translations[language][identifier];
- if(typeof replace == 'undefined') {
- return str;
- } else {
- return this.strtr(str, replace);
- }
- },
- strtr: function(str, replacePairs, to) {
- "use strict";
- var key, re;
- for (key in replacePairs) {
- if (replacePairs.hasOwnProperty(key)) {
- re = new RegExp(key, "g");
- str = str.replace(re, replacePairs[key]);
- }
- }
- return str;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement