Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. var translator = {
  2.  
  3. // Hash of preloaded templates for the app
  4. translations: {},
  5. language: 'en-US',
  6.  
  7. loadTranslations: function(callback){
  8. this.translations = JSON.parse($.ajax({type: 'GET', url: 'translations/all.json', dataType: 'json', async: false}).responseText);
  9. callback();
  10. },
  11.  
  12. setLanguage: function(language) {
  13. console.log('setting new language: ' + language);
  14. this.language = language;
  15. moment.locale(this.getShortLanguage());
  16. },
  17.  
  18. getLanguage: function(language) {
  19. return language;
  20. },
  21.  
  22. getShortLanguage: function() {
  23. var supported = ["de", "fr", "es"];
  24. var shortened = this.language.substring(0,2);
  25. var result = 'en';
  26. $(supported).each(function(i, obj){
  27. if (shortened == obj){
  28. result = obj;
  29. }
  30. });
  31. return result;
  32. },
  33.  
  34. get: function(identifier, replace){
  35. var language = this.getShortLanguage();
  36. return this.getWithLanguage(language, identifier, replace);
  37. },
  38.  
  39. getWithLanguage: function(language, identifier, replace){
  40. var str = '';
  41. str = this.translations[language][identifier];
  42. if(typeof replace == 'undefined') {
  43. return str;
  44. } else {
  45. return this.strtr(str, replace);
  46. }
  47. },
  48.  
  49. strtr: function(str, replacePairs, to) {
  50. "use strict";
  51. var key, re;
  52. for (key in replacePairs) {
  53. if (replacePairs.hasOwnProperty(key)) {
  54. re = new RegExp(key, "g");
  55. str = str.replace(re, replacePairs[key]);
  56. }
  57. }
  58. return str;
  59. }
  60. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement