feat(i18n): 扩展翻译函数支持参数替换并更新中文文本
- 修改 I18nString 类以支持参数替换,将阈值等动态值插入翻译文本 - 更新多个配置文件中的翻译调用,传入相应的参数值 - 修正中文语言文件中的导航栏标签文本
This commit is contained in:
@@ -3,13 +3,22 @@ import { Attrs } from "./HeroAttrs";
|
||||
import { oops } from "db://oops-framework/core/Oops";
|
||||
|
||||
class I18nString {
|
||||
constructor(private key: string) {}
|
||||
toString() { return oops.language.getLangByID(this.key) || this.key; }
|
||||
valueOf() { return oops.language.getLangByID(this.key) || this.key; }
|
||||
toJSON() { return oops.language.getLangByID(this.key) || this.key; }
|
||||
constructor(private key: string, private params?: any[]) {}
|
||||
private getTranslated(): string {
|
||||
let str = oops.language.getLangByID(this.key) || this.key;
|
||||
if (this.params && this.params.length > 0) {
|
||||
for (let i = 0; i < this.params.length; i++) {
|
||||
str = str.replace(`{${i}}`, String(this.params[i]));
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
toString() { return this.getTranslated(); }
|
||||
valueOf() { return this.getTranslated(); }
|
||||
toJSON() { return this.getTranslated(); }
|
||||
get length() { return this.toString().length; }
|
||||
}
|
||||
export const t = (key: string) => new I18nString(key) as unknown as string;
|
||||
export const t = (key: string, ...params: any[]) => new I18nString(key, params) as unknown as string;
|
||||
|
||||
export enum HSSet {
|
||||
atk = 0, // 普通攻击
|
||||
@@ -184,7 +193,7 @@ export const SkillSet: Record<number, SkillConfig> = {
|
||||
6001: {
|
||||
uuid:6001,name:t("skill_name_6001"),sp_name:"atk",icon:"1026",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.Melee,
|
||||
RType:RType.linear,EType:EType.collision,buffs:[],info:t("skill_info_6001"),
|
||||
RType:RType.linear,EType:EType.collision,buffs:[],info:t("skill_info_6001",['1','100']),
|
||||
},
|
||||
6002: {
|
||||
uuid:6002,name:t("skill_name_6002"),sp_name:"ball_fire",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
|
||||
Reference in New Issue
Block a user