locale.js 1.2 KB

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