Quellcode durchsuchen

[WIP] vue-i18n

pull/48/head
YFdyh000 vor 55 Jahren
Ursprung
Commit
2c808c7750
4 geänderte Dateien mit 88 neuen und 66 gelöschten Zeilen
  1. +3
    -66
      ElectronJS/src/index.html
  2. +75
    -0
      ElectronJS/src/index.js
  3. +5
    -0
      ElectronJS/src/locale/en/strings.js
  4. +5
    -0
      ElectronJS/src/locale/zh/strings.js

+ 3
- 66
ElectronJS/src/index.html Datei anzeigen

@ -8,6 +8,7 @@
name="viewport"> name="viewport">
<meta content="ie=edge" http-equiv="X-UA-Compatible"> <meta content="ie=edge" http-equiv="X-UA-Compatible">
<script src="js/vue.global.js"></script> <script src="js/vue.global.js"></script>
<script src="https://unpkg.com/vue-i18n@9"></script>
<link href="bootstrap/css/bootstrap.css" rel="stylesheet"> <link href="bootstrap/css/bootstrap.css" rel="stylesheet">
</link> </link>
<title>EasySpider: NoCode Visual Web Crawler</title> <title>EasySpider: NoCode Visual Web Crawler</title>
@ -129,7 +130,7 @@
class="btn btn-primary btn-lg" class="btn btn-primary btn-lg"
style="margin-top: 15px; width: 300px;height:60px;padding-top:12px;color:white">开始设计</a></p> style="margin-top: 15px; width: 300px;height:60px;padding-top:12px;color:white">开始设计</a></p>
<p> <p>
<a @click="step = 0" class="btn btn-outline-primary btn-lg"style="margin-top: 10px; width: 300px;height:45px;padding-top:5px">返回首页</a>
<a @click="step = 0" class="btn btn-outline-primary btn-lg"style="margin-top: 10px; width: 300px;height:45px;padding-top:5px">{{ $t('message.test2') }}</a>
</p> </p>
</div> </div>
@ -138,71 +139,7 @@
</div> </div>
<script>
const {createApp} = Vue;
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]);
return "";
}
var global = createApp({
data() {
return {
init: true,
lang: 'zh',
user_data_folder: getUrlParam("user_data_folder"),
step: 0,
newest_version: '-', // 最新版本号
}
},
mounted() {
// 发送GET请求获取GitHub的Release API响应
const request = new XMLHttpRequest();
request.open('GET', `https://api.github.com/repos/NaiboWang/EasySpider/releases/latest`);
request.setRequestHeader('User-Agent', 'JavaScript');
request.onload = function() {
// 解析响应JSON并输出最新版本号
const release = JSON.parse(request.responseText);
const latestVersion = release.tag_name;
global.$data.newest_version = latestVersion;
// alert(`Latest version is ${latestVersion}`);
};
request.onerror = function() {
console.error('Error: failed to get latest version.');
};
request.send();
},
methods: {
changeLang(lang = 'zh') {
this.init = false;
this.lang = lang;
},
startDesign(lang, with_data = false) {
if (with_data) {
console.log(this.user_data_folder)
if (this.user_data_folder == null || this.user_data_folder == "") {
if (lang == 'zh') {
alert("请指定用户信息目录");
} else {
alert("Please specify the user information directory");
}
return;
}
window.electronAPI.startDesign(lang, this.user_data_folder);
} else {
window.electronAPI.startDesign(lang);
}
},
startInvoke(lang) {
window.electronAPI.startInvoke(lang);
}
}
}).mount('#app');
</script>
<script type="module" src="index.js"></script>
</body> </body>
</html> </html>

+ 75
- 0
ElectronJS/src/index.js Datei anzeigen

@ -0,0 +1,75 @@
import enLocale from './locale/en/strings.js';
import zhLocale from './locale/zh/strings.js';
const messages = {
zh: zhLocale,
en: enLocale,
}
const i18n = VueI18n.createI18n({
locale: 'zh',
fallbackLocale: 'en',
messages
})
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]);
return "";
}
var app = Vue.createApp({
data() {
return {
init: true,
lang: 'zh',
user_data_folder: getUrlParam("user_data_folder"),
step: 0,
newest_version: '-', // 最新版本号
}
},
mounted() {
// 发送GET请求获取GitHub的Release API响应
const request = new XMLHttpRequest();
request.open('GET', `https://api.github.com/repos/NaiboWang/EasySpider/releases/latest`);
request.setRequestHeader('User-Agent', 'JavaScript');
request.onload = function() {
// 解析响应JSON并输出最新版本号
const release = JSON.parse(request.responseText);
const latestVersion = release.tag_name;
app.$data.newest_version = latestVersion;
// alert(`Latest version is ${latestVersion}`);
};
request.onerror = function() {
console.error('Error: failed to get latest version.');
};
request.send();
},
methods: {
changeLang(lang = 'zh') {
this.init = false;
this.lang = lang;
},
startDesign(lang, with_data = false) {
if (with_data) {
console.log(this.user_data_folder)
if (this.user_data_folder == null || this.user_data_folder == "") {
if (lang == 'zh') {
alert("请指定用户信息目录");
} else {
alert("Please specify the user information directory");
}
return;
}
window.electronAPI.startDesign(lang, this.user_data_folder);
} else {
window.electronAPI.startDesign(lang);
}
},
startInvoke(lang) {
window.electronAPI.startInvoke(lang);
}
}
}).use(i18n).mount('#app')
console.log(i18n.global.t('test'))
document.title = i18n.global.t('test');

+ 5
- 0
ElectronJS/src/locale/en/strings.js Datei anzeigen

@ -0,0 +1,5 @@
export default {
test: 'hello world',
test2: '返回首页',
hint: 'Hint: Click Button below to start.'
}

+ 5
- 0
ElectronJS/src/locale/zh/strings.js Datei anzeigen

@ -0,0 +1,5 @@
export default {
test: 'hello world',
test2: '返回首页',
hint: '提示:点击下方按钮开始使用。'
}

Laden…
Abbrechen
Speichern