i18n-jsautotranslate 3.18.63 → 3.18.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ArcoDesign/Vue3/LanguageSelect.vue +17 -28
- package/index.js +568 -275
- package/package.json +1 -1
- package/vue/vue3/translateVue3TS.ts +19 -19
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "i18n-jsautotranslate",
|
|
3
|
-
"version": "3.18.
|
|
3
|
+
"version": "3.18.71",
|
|
4
4
|
"description": "Two lines of js realize automatic html translation. No need to change the page, no language configuration file, no API key, SEO friendly!",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { nextTick } from 'vue';
|
|
2
2
|
import translate from 'i18n-jsautotranslate'
|
|
3
3
|
|
|
4
|
-
/*
|
|
5
|
-
|
|
6
|
-
因为这个文件没什么需要用户单独设置的,只是整体对vue的适配,所以这个文件后续调好了会放到 npm 上,当前因为下面DOM渲染完毕触发的问题没有精准触发,所以暂时先放到这里进行方便优化调试
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
4
|
//vue3框架的一些单独设置
|
|
12
5
|
translate.vue3 = {
|
|
13
6
|
/*
|
|
@@ -16,8 +9,18 @@ translate.vue3 = {
|
|
|
16
9
|
false则不会再dom渲染完后自动进行翻译,自然也不会显示 select 选择语言
|
|
17
10
|
*/
|
|
18
11
|
isExecute: false,
|
|
12
|
+
/*
|
|
13
|
+
是否在vue入口文件中 调用了 translateJsVueUseModel 插件 app.use(translateJsVueUseModel)
|
|
14
|
+
有则是true,没有则是false
|
|
15
|
+
*/
|
|
16
|
+
isUse: false,
|
|
17
|
+
/*
|
|
18
|
+
用户自定义配置,将在 app.use(translateJsVueUseModel) 时触发这个方法的执行
|
|
19
|
+
*/
|
|
20
|
+
config: function(app){}
|
|
19
21
|
}
|
|
20
|
-
|
|
22
|
+
|
|
23
|
+
//如果 translate.vue3.config 中有 translate.execute() 代码的触发,那么就设置 isExecute 为 true ,同时阻止此次的 translate.execute() 执行,因为此次执行是在vue3的初始化阶段,而不是在dom渲染完毕后触发的,所以这里只是进行一个标记,待 真实 DOM渲染完毕后再来触发。
|
|
21
24
|
translate.lifecycle.execute.trigger.push(function(data){
|
|
22
25
|
if(data.executeTriggerNumber === 1){
|
|
23
26
|
translate.vue3.isExecute = true;
|
|
@@ -25,16 +28,22 @@ translate.lifecycle.execute.trigger.push(function(data){
|
|
|
25
28
|
return false;
|
|
26
29
|
}
|
|
27
30
|
});
|
|
28
|
-
translate.time.log('设置vue3初始化配置 - translate.vue3');
|
|
29
31
|
|
|
30
32
|
//将 translate 参数挂载到 window 上,方便在全局调用
|
|
31
33
|
if(typeof(window.translate) === 'undefined'){
|
|
32
34
|
window.translate = translate;
|
|
33
35
|
}
|
|
34
|
-
translate.time.log('将 translate 参数挂载到 window
|
|
36
|
+
translate.time.log('将 translate 参数挂载到 window 上,方便在全局调用及调试');
|
|
37
|
+
|
|
35
38
|
|
|
36
39
|
const translateJsVueUseModel = {
|
|
37
40
|
install(app) {
|
|
41
|
+
translate.time.log(' app.use(translateJsVueUseModel) ');
|
|
42
|
+
translate.vue3.isUse = true;
|
|
43
|
+
|
|
44
|
+
//触发自定义配置
|
|
45
|
+
translate.vue3.config(app);
|
|
46
|
+
|
|
38
47
|
// 直接监听应用挂载完成
|
|
39
48
|
const originalMount = app.mount;
|
|
40
49
|
app.mount = function(...args) {
|
|
@@ -53,22 +62,13 @@ const translateJsVueUseModel = {
|
|
|
53
62
|
|
|
54
63
|
*/
|
|
55
64
|
|
|
56
|
-
|
|
57
65
|
if(translate.vue3.isExecute){
|
|
58
66
|
translate.time.log('组件渲染完成,触发 translate.execute();');
|
|
59
67
|
|
|
60
68
|
//对vue3的某些第三方组件进行容错处理
|
|
61
69
|
translate.faultTolerance.documentCreateTextNode.use(); //对VUE的某些组件频繁渲染dom进行容错
|
|
62
70
|
translate.time.log('对vue3的某些第三方组件进行容错处理 - translate.faultTolerance.documentCreateTextNode.use();');
|
|
63
|
-
|
|
64
|
-
console.log(translate.getDocuments());
|
|
65
71
|
translate.execute();
|
|
66
|
-
setTimeout(() => {
|
|
67
|
-
translate.execute();
|
|
68
|
-
}, 100);
|
|
69
|
-
setTimeout(() => {
|
|
70
|
-
translate.execute();
|
|
71
|
-
}, 2000);
|
|
72
72
|
}else{
|
|
73
73
|
translate.time.log('组件渲染完成,但未发现translate.execute();存在,不进行翻译');
|
|
74
74
|
}
|