i18n-jsautotranslate 3.18.43 → 3.18.44

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.
@@ -0,0 +1,100 @@
1
+ <template>
2
+ <div class="TranslateJsSelectLanguage ignore">
3
+ <!-- Arco Design 选择器组件 -->
4
+ <a-select
5
+ v-model="language"
6
+ value-key="id"
7
+ @change="TranslateJsSelectLanguageOnChange"
8
+ popup-class="ignore"
9
+ placeholder="请选择语言"
10
+ style="width: 200px"
11
+ >
12
+ <!-- 语言选项列表(使用Select的子组件Option) -->
13
+ <a-select-option
14
+ class="ignore"
15
+ v-for="item in languageList"
16
+ :key="item.id"
17
+ :label="item.name"
18
+ :value="item.id"
19
+ />
20
+ </a-select>
21
+ </div>
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import { ref, onMounted } from 'vue';
26
+ // 需要同时导入Select和Option组件
27
+ import { Select as ASelect, Option as ASelectOption } from '@arco-design/web-vue';
28
+ import translate from 'i18n-jsautotranslate'
29
+
30
+ // 定义语言选项类型
31
+ interface LanguageOption {
32
+ id: string;
33
+ name: string;
34
+ }
35
+
36
+ // 选中的语言ID(双向绑定值)
37
+ const language = ref<string | null>(null);
38
+ /*
39
+ 语言选项列表
40
+ 其中的值为:
41
+ { id: 'zh-CN', name: '简体中文' },
42
+ { id: 'en-US', name: 'English' },
43
+ */
44
+ const languageList = ref<LanguageOption[]>([]);
45
+
46
+ // 处理语言选择变化
47
+ const TranslateJsSelectLanguageOnChange = (value: string) => {
48
+ window.translate.selectLanguageTag.selectOnChange({
49
+ target: {
50
+ value: value
51
+ }
52
+ });
53
+ };
54
+
55
+ // 组件挂载时初始化(可选)
56
+ onMounted(() => {
57
+ var translate = window.translate;
58
+
59
+ //languageList 便是当前支持的能切换的语种,你可以 console.log(languageList); 打印出来看看
60
+ translate.selectLanguageTag.customUI = function(externalLanguageList){
61
+ //整理允许显示的语种
62
+ var allowLanguageList: LanguageOption[] = [];
63
+
64
+ //判断 selectLanguageTag.languages 中允许使用哪些
65
+ if(translate.selectLanguageTag.languages.length > 0){
66
+ //设置了自定义显示的语言
67
+ //都转小写判断
68
+ var langs_indexof = (','+translate.selectLanguageTag.languages+',').toLowerCase();
69
+
70
+ for(var i = 0; i<externalLanguageList.length; i++){
71
+ if(langs_indexof.indexOf(','+externalLanguageList[i].id.toLowerCase()+',') < 0){
72
+ //没发现,那不显示这个语种,调出
73
+ continue
74
+ }
75
+ allowLanguageList.push(externalLanguageList[i]);
76
+ }
77
+
78
+ }else{
79
+ //显示所有
80
+ allowLanguageList = externalLanguageList;
81
+ }
82
+
83
+ //赋予带渲染到界面的语言列表数据
84
+ languageList.value = allowLanguageList;
85
+ }
86
+
87
+ //渲染语言下拉列表出现
88
+ window.translate.selectLanguageTag.refreshRender();
89
+ //显示上一次切换后的语种
90
+ language.value = translate.language.getCurrent();
91
+ });
92
+ </script>
93
+
94
+ <style scoped>
95
+ /* 避免被遮挡无法操作,设置z-index较高 */
96
+ .TranslateJsSelectLanguage {
97
+ z-index: 2147483583;
98
+ }
99
+ </style>
100
+
@@ -0,0 +1 @@
1
+ translate.js 在各种系统及框架中的扩展应用。
package/index.js CHANGED
@@ -14,7 +14,7 @@ var translate = {
14
14
  * 格式:major.minor.patch.date
15
15
  */
16
16
  // AUTO_VERSION_START
17
- version: '3.18.43.20250926',
17
+ version: '3.18.44.20250926',
18
18
  // AUTO_VERSION_END
19
19
  /*
20
20
  当前使用的版本,默认使用v2. 可使用 setUseVersion2();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "i18n-jsautotranslate",
3
- "version": "3.18.43",
3
+ "version": "3.18.44",
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": {
@@ -13,7 +13,8 @@
13
13
  "i18n-translatejs"
14
14
  ],
15
15
  "files": [
16
- "index.js"
16
+ "index.js",
17
+ "extend/ArcoDesign/Vue3/TranslateJsSelectLanguage.vue"
17
18
  ],
18
19
  "homepage": "https://github.com/xnx3/translate#readme",
19
20
  "bugs": {