index.js 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. //使用自执行函数,避免污染同名变量
  2. (function () {
  3. const languageList = ['zh-CN']
  4. const LOCAL_LANGUAGE = navigator.language.toLowerCase();
  5. const getLanguage = (language = localStorage.handPyLanguage || LOCAL_LANGUAGE) => {
  6. if (!languageList.includes(language) || !languageList.includes(language.split("-")[0]))
  7. language = 'zh-CN';
  8. const val = location.search.match(new RegExp('[?&]lang=([^&]+)'));
  9. if (val) {
  10. language = val ? decodeURIComponent(val[1].replace(/\+/g, '%20')) : '';
  11. }else{
  12. language = localStorage.handPyLanguage;
  13. }
  14. if (['en', 'zh-hant', 'zh-hans'].indexOf(language) < 0) {
  15. if (LOCAL_LANGUAGE === 'zh-cn' || LOCAL_LANGUAGE === 'zh') {
  16. language = 'zh-hans';
  17. } else if (LOCAL_LANGUAGE === 'zh-tw' || LOCAL_LANGUAGE === 'zh-hk') {
  18. language = 'zh-hant';
  19. } else {
  20. language = 'en';
  21. }
  22. }
  23. localStorage.handPyLanguage = language;
  24. document.write('<script src="blockly/msg/' + language + '/blockly_messages.js"><\/script>');
  25. document.write('<script src="blockly/msg/' + language + '/blocks_messages.js"><\/script>');
  26. document.write('<script src="blockly/msg/' + language + '/microbit_messages.js"><\/script>');
  27. document.write('<script src="blockly/msg/' + language + '/other_messages.js"><\/script>');
  28. document.write('<script src="blockly/msg/js/' + language + '.js"><\/script>');
  29. }
  30. getLanguage()
  31. })()