locale.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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/ru.js',
  11. './locales/zh.js',
  12. './locales/zh_cn.js'
  13. ], function() {
  14. var langId = (navigator.language || navigator.userLanguage).toLowerCase().replace('-', '_');
  15. var language = langId.substr(0, 2);
  16. var locales = {};
  17. for (index in arguments) {
  18. for (property in arguments[index])
  19. locales[property] = arguments[index][property];
  20. }
  21. if ( ! locales['en'])
  22. locales['en'] = {};
  23. if ( ! locales[langId] && ! locales[language])
  24. language = 'en';
  25. var locale = (locales[langId] ? locales[langId] : locales[language]);
  26. function __(text) {
  27. var index = locale[text];
  28. if (index === undefined)
  29. return text;
  30. return index;
  31. };
  32. function setLanguage(language) {
  33. locale = locales[language];
  34. }
  35. return {
  36. __ : __,
  37. locales : locales,
  38. locale : locale,
  39. setLanguage: setLanguage
  40. };
  41. });