@zwa73/utils 1.0.142 → 1.0.143

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.
@@ -74,7 +74,7 @@ export declare class SI18n {
74
74
  * @param i18nDataDir - 国际化数据的路径。
75
75
  * @param lang - 要设置的语言。
76
76
  */
77
- static init(i18nDataDir: string, lang?: LangFlag): Promise<void>;
77
+ static init(i18nDataDir: string, lang?: LangFlag | '*'): Promise<void>;
78
78
  /**根据提供的字符串,返回对应的国际化字符串
79
79
  * @param text - 字符串数组
80
80
  * @param markStr - 特殊标记文本
@@ -97,7 +97,7 @@ export declare class SI18n {
97
97
  * @param lang - 要查找的语言。
98
98
  * @returns 对应的国际化字符串。
99
99
  */
100
- static getI18n(key: string, lang: LangFlag): string;
100
+ static getI18n(key: string, lang?: LangFlag): string;
101
101
  /**尝试获取指定语言的翻译,如果没有找到,将回滚到其他可用的语言。
102
102
  * @param lang - 要查找的语言。
103
103
  * @param dat - 包含翻译的数据对象。
package/dist/UtilI18n.js CHANGED
@@ -87,9 +87,9 @@ class SI18n {
87
87
  ltable[t.target_lang] ??= v;
88
88
  });
89
89
  });
90
- if (lang != undefined && !SI18n._vaildLang.includes(lang))
90
+ if (lang != undefined && lang != '*' && !SI18n._vaildLang.includes(lang))
91
91
  SI18n._vaildLang.push(lang);
92
- SI18n._lang = lang;
92
+ SI18n._lang = lang == "*" ? undefined : lang;
93
93
  SI18n._dataDir = i18nDataDir;
94
94
  }
95
95
  static t(strings, ...values) {
@@ -134,6 +134,8 @@ class SI18n {
134
134
  source: 'Runtime'
135
135
  });
136
136
  }
137
+ if (lang == undefined)
138
+ return obj.original;
137
139
  if (obj.invalid === true)
138
140
  return obj.original;
139
141
  return SI18n.tryAndRollback(lang, obj);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zwa73/utils",
3
- "version": "1.0.142",
3
+ "version": "1.0.143",
4
4
  "description": "my utils",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/src/UtilI18n.ts CHANGED
@@ -102,7 +102,7 @@ export class SI18n {
102
102
  * @param i18nDataDir - 国际化数据的路径。
103
103
  * @param lang - 要设置的语言。
104
104
  */
105
- static async init(i18nDataDir:string,lang?:LangFlag){
105
+ static async init(i18nDataDir:string,lang?:LangFlag|'*'){
106
106
  const date = new Date().toISOString();
107
107
  const mergePath = path.join(i18nDataDir,BaseFile);
108
108
  const table = await UtilFT.loadJSONFile<I18nOrigTable>(mergePath,{default:{
@@ -138,10 +138,10 @@ export class SI18n {
138
138
  })
139
139
  });
140
140
 
141
- if(lang!=undefined && !SI18n._vaildLang.includes(lang))
141
+ if(lang!=undefined && lang!='*' && !SI18n._vaildLang.includes(lang))
142
142
  SI18n._vaildLang.push(lang);
143
143
 
144
- SI18n._lang = lang;
144
+ SI18n._lang = lang=="*" ? undefined : lang;
145
145
  SI18n._dataDir = i18nDataDir;
146
146
  }
147
147
  /**根据提供的字符串,返回对应的国际化字符串
@@ -190,7 +190,7 @@ export class SI18n {
190
190
  * @param lang - 要查找的语言。
191
191
  * @returns 对应的国际化字符串。
192
192
  */
193
- static getI18n(key:string,lang:LangFlag){
193
+ static getI18n(key:string,lang?:LangFlag){
194
194
  if(SI18n._table==undefined) UtilFunc.throwError('SI18n 未初始化');
195
195
  let obj = SI18n._table.text_table[key];
196
196
  if(obj==undefined){
@@ -204,6 +204,7 @@ export class SI18n {
204
204
  source:'Runtime'
205
205
  });
206
206
  }
207
+ if(lang==undefined) return obj.original;
207
208
  if(obj.invalid===true) return obj.original;
208
209
  return SI18n.tryAndRollback(lang,obj);
209
210
  }