locale.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. define([
  2. './locales/ca.js',
  3. './locales/de.js',
  4. './locales/es.js',
  5. './locales/fr.js',
  6. './locales/it.js',
  7. './locales/nl.js',
  8. './locales/pl.js',
  9. './locales/pt_br.js',
  10. './locales/ro.js',
  11. './locales/ru.js',
  12. './locales/zh.js',
  13. './locales/zh_cn.js'
  14. ], function() {
  15. var langId = (navigator.language || navigator.userLanguage).toLowerCase().replace('-', '_');
  16. var language = langId.substr(0, 2);
  17. var locales = {};
  18. for (index in arguments) {
  19. for (property in arguments[index])
  20. locales[property] = arguments[index][property];
  21. }
  22. if ( ! locales['en'])
  23. locales['en'] = {};
  24. if ( ! locales[langId] && ! locales[language])
  25. language = 'en';
  26. var locale = (locales[langId] ? locales[langId] : locales[language]);
  27. function __(text) {
  28. var index = locale[text];
  29. if (index === undefined)
  30. return text;
  31. return index;
  32. };
  33. function setLanguage(language) {
  34. locale = locales[language];
  35. }
  36. return {
  37. __ : __,
  38. locales : locales,
  39. locale : locale,
  40. setLanguage: setLanguage
  41. };
  42. });