locale.js 1.0 KB

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