Browse Source

完成了多国语言

tags/v1.0
枫谷剑仙 7 years ago
parent
commit
1d96604a38
5 changed files with 37 additions and 3 deletions
  1. +3
    -0
      index.html
  2. +3
    -0
      languages/zh-TW.css
  3. +3
    -0
      languages/zh.css
  4. +24
    -2
      script.js
  5. +4
    -1
      style.css

+ 3
- 0
index.html View File

@@ -13,6 +13,9 @@
</head>
<body>
<div class="control-box">
<label class="languages-label"><select class="languages"></select></label>
</div>
<div class="formation-box">
<div class="title-box"><input type="text" class="title" placeholder="输入阵型标题" /></div>
<div class="formation-A-bigbox">


+ 3
- 0
languages/zh-TW.css View File

@@ -119,3 +119,6 @@
.type-name-15::after{
content: "販賣用";
}
.control-box .languages-label::before{
content: "語言:";
}

+ 3
- 0
languages/zh.css View File

@@ -118,4 +118,7 @@
}
.type-name-15::after{
content: "販賣用";
}
.control-box .languages-label::before{
content: "语言:";
}

+ 24
- 2
script.js View File

@@ -34,6 +34,14 @@ var formation = {
};
window.onload = function()
{
//添加语言列表
var controlBox = document.body.querySelector(".control-box");
var langList = controlBox.querySelector(".languages");
languageList.forEach(function(l){
var langOpt = new Option(l.name,l.i18n);
langList.options.add(langOpt);
})

var language_i18n = getQueryString("lang"); //获取参数指定的语言
var browser_i18n = (navigator.language||navigator.userLanguage); //获取浏览器语言
var hasLanguage = languageList.filter(function(l){
@@ -44,6 +52,13 @@ window.onload = function()
});
language = hasLanguage.length?hasLanguage[hasLanguage.length-1]:languageList[0];
document.head.querySelector("#language-css").href = "languages/"+language.i18n+".css";
Array.prototype.slice.call(langList.options).some(function(lOpt){
if (lOpt.value == language.i18n)
{
lOpt.selected = true;
return true;
}
});

GM_xmlhttpRequest({
method: "GET",
@@ -87,10 +102,10 @@ window.onpopstate = function()
}
}
//创建新的分享地址
function creatNewUrl(){
function creatNewUrl(lang){
if (!!(window.history && history.pushState)) {
// 支持History API
var language_i18n = getQueryString("lang"); //获取参数指定的语言
var language_i18n = lang || getQueryString("lang"); //获取参数指定的语言
history.pushState(null, null, '?' + (language_i18n?'lang=' + language_i18n + '&':'') + 'data=' + encodeURIComponent(JSON.stringify(formation)));
}
}
@@ -292,6 +307,13 @@ function initialize()
editBox.hide();
}
var controlBox = document.body.querySelector(".control-box");
var langList = controlBox.querySelector(".languages");
langList.onchange = function(){
creatNewUrl(this.value);
history.go();
}

/*添对应语言执行的JS*/
var languageJS = document.head.appendChild(document.createElement("script"));
languageJS.id = "language-js";


+ 4
- 1
style.css View File

@@ -553,4 +553,7 @@ ul{
}
.edit-box .button-box .button-done.cant-assist::after{
content: "不能辅助";
}*/
}*/
.control-box .languages-label::before{
content: "Lanuage:";
}

Loading…
Cancel
Save