From e491cdb48129752324c4e3764f99bd9203c56dec Mon Sep 17 00:00:00 2001
From: lgq <1015864684@qq.com>
Date: 星期二, 31 三月 2026 09:48:44 +0800
Subject: [PATCH] 1.新增VF205门禁机代码
---
vf205_access/src/view/i18n.js | 82 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 82 insertions(+), 0 deletions(-)
diff --git a/vf205_access/src/view/i18n.js b/vf205_access/src/view/i18n.js
new file mode 100644
index 0000000..b9c8936
--- /dev/null
+++ b/vf205_access/src/view/i18n.js
@@ -0,0 +1,82 @@
+import dxMap from '../../dxmodules/dxMap.js'
+import dxui from '../../dxmodules/dxUi.js'
+// 璇█鍖�
+import messages from '../../resource/langPack.js'
+
+class I18n {
+ constructor() {
+ const i18nMap = dxMap.get("i18n")
+ this.locale = i18nMap.get("language") || 'EN'
+ this.fallbackLocale = 'CN'
+ }
+
+ // 鑾峰彇缈昏瘧鏂囨湰
+ t(key) {
+ const keys = key.split('.')
+ let result = messages[this.locale]
+
+ for (const k of keys) {
+ if (result && result[k]) {
+ result = result[k]
+ } else {
+ // 濡傛灉褰撳墠璇█娌℃湁鎵惧埌缈昏瘧锛屼娇鐢ㄥ鐢ㄨ瑷�
+ result = this._getFallbackText(key)
+ break
+ }
+ }
+
+ return result || key
+ }
+
+ // 鑾峰彇澶囩敤璇█鐨勭炕璇�
+ _getFallbackText(key) {
+ const keys = key.split('.')
+ let result = messages[this.fallbackLocale]
+
+ for (const k of keys) {
+ if (result && result[k]) {
+ result = result[k]
+ } else {
+ return key
+ }
+ }
+
+ return result
+ }
+
+ // 鍒锋柊
+ refresh() {
+ for (const key in dxui.all) {
+ const obj = dxui.all[key]
+ if (obj.dataI18n) {
+ obj.text(this.t(obj.dataI18n))
+ }
+ }
+ }
+
+ // 鍒锋柊鎸囧畾瀵硅薄
+ refreshObj(obj) {
+ if (obj.dataI18n) {
+ obj.text(this.t(obj.dataI18n))
+ }
+ }
+
+ // 鍒囨崲璇█
+ setLanguage(lang) {
+ if (messages[lang]) {
+ this.locale = lang
+ dxMap.get("i18n").put("language", lang)
+ // 瑙﹀彂鑷畾涔変簨浠讹紝閫氱煡璇█鍙樺寲
+ for (const key in dxui.all) {
+ const obj = dxui.all[key]
+ if (obj.dataI18n) {
+ obj.text(this.t(obj.dataI18n))
+ }
+ }
+ }
+ }
+}
+
+// 鍒涘缓鍗曚緥
+const i18n = new I18n()
+export default i18n
--
Gitblit v1.9.3