mirror of
https://gitee.com/dgflash/oops-plugin-framework.git
synced 2026-05-09 11:55:52 +08:00
64 lines
1.9 KiB
TypeScript
64 lines
1.9 KiB
TypeScript
import { TTFFont } from "cc";
|
||
|
||
/*
|
||
* @Author: dgflash
|
||
* @Date: 2022-02-11 09:31:52
|
||
* @LastEditors: dgflash
|
||
* @LastEditTime: 2023-08-22 16:37:40
|
||
*/
|
||
|
||
/** 框架支持的语言数据类型 */
|
||
export enum LanguageDataType {
|
||
/** Json格式配置 */
|
||
Json = "Json",
|
||
/** Excel生成的Json配置 */
|
||
Excel = "Excel",
|
||
}
|
||
|
||
export class LanguageData {
|
||
/** JSON资源目录 */
|
||
static path_json: string = "language/json";
|
||
/** 纹理资源目录 */
|
||
static path_texture: string = "language/texture";
|
||
/** SPINE资源目录 */
|
||
static path_spine: string = "language/spine";
|
||
|
||
/** 当前语言 */
|
||
static current: string = "";
|
||
/** 语言数据 */
|
||
static language: Map<string, any> = new Map();
|
||
/** TTF字体 */
|
||
static font: TTFFont = null!;
|
||
|
||
/**
|
||
* 通过多语言关键字获取语言文本
|
||
*
|
||
* 注:
|
||
*
|
||
* 1、先获取language/json中的配置数据,如果没有者获取config/game/Language配置表中的多语言数据
|
||
*
|
||
* 2、config/game/Language配置表可选使用,不用时不创建同名配置表即可
|
||
*
|
||
* 3、config/game/Language配置表使用oops-plugin-excel-to-json插件生成,点击项目根目录下载update-oops-plugin-framework.bat或update-oops-plugin-framework.sh脚本下载插件
|
||
*/
|
||
static getLangByID(labId: string): string {
|
||
let content: string = null!;
|
||
for (const [key, value] of this.language) {
|
||
if (key == LanguageDataType.Excel) {
|
||
let lang = value[labId];
|
||
if (lang) content = lang[this.current];
|
||
}
|
||
else {
|
||
content = value[labId];
|
||
}
|
||
if (content) return content;
|
||
}
|
||
return labId;
|
||
}
|
||
}
|
||
|
||
export const LanguageType = [
|
||
'LanguageLabel',
|
||
'LanguageSprite',
|
||
'LanguageSpine'
|
||
] |