当前位置: 首页 > news >正文

CocosCreator3.8.x——多语言功能(简单版)

1. 创建语言文件

1)在 assets 下新建 resources/l10n 文件夹
(必须用 resources 才能动态加载)

2)创建中文英文翻译文件:
en.json、zh.json

//en.json
{"menu_start": "Start Game","menu_exit": "Exit"
}
//zh.json
{"menu_start": "开始游戏","menu_exit": "退出"
}
2.手动实现语言管理器

1)新建 LanguageManager.ts

import { _decorator, resources, JsonAsset } from 'cc';
const { ccclass } = _decorator;@ccclass('LanguageManager')
export class LanguageManager {private static _instance: LanguageManager;private _data: Record<string, string> = {};static get instance() {if (!this._instance) this._instance = new LanguageManager();return this._instance;}async load(lang: string) {return new Promise((resolve) => {resources.load(`l10n/${lang}`, JsonAsset, (err, res) => {this._data = res?.json || {};resolve();});});}t(key: string): string {return this._data[key] || key;}
}
​​​​​​​3.初始化语言系统

在游戏启动脚本(如 main.ts)中:

import { LanguageManager } from './LanguageManager';// 设置英文为默认语言
await LanguageManager.instance.load('en');
4. 使用翻译文本
// 代码中动态获取
this.label.string = LanguageManager.instance.t('menu_start');// UI组件绑定(需自定义组件)// 切换语言
LanguageManager.instance.loadLanguage('zh').then(() => {this.$Label.string = LanguageManager.instance.t('menu_start'); // 显示中文});
5.优缺点

优点:简单单一,便捷

缺点:使用麻烦,需要拿组件信息赋值,翻译条目需自己定义(优化后续再出)

http://www.dtcms.com/a/282207.html

相关文章:

  • STM32CubeIDE生成 .hex 文件
  • Android 15 源码修改:为第三方应用提供截屏接口
  • 设计模式三:观察者模式 (Observer Pattern)
  • ble连接参数分析
  • 【基于PaddlePaddle训练的车牌识别系统】
  • 代码随想录算法训练营完结篇
  • 【BUG】ValueError: Unable to find out axis 2.0 in start_ornt
  • TCP重传
  • TCP 拥塞控制算法 —— 慢启动(Slow Start)笔记
  • Python练习(4)Python参数传递的20道核心实战练习题(含答案与深度解析)(上)
  • Hadoop(二)
  • neovim的文件结构
  • 数据结构:栈(区间问题)
  • 2025秋招突围战:AI智能监考如何重构远程笔试公平防线?
  • API Gateway HTTP API 控制客户端访问 IP 源
  • 【用图片内容改名】水印相机拍的照片,将照片的名字批量改为水印内容,根据水印内容批量命名图片的操作步骤和注意事项
  • Java大厂面试实录:从Spring Boot到AI大模型的深度技术拷问
  • SM3算法工程中添加bouncycastle.bcprov.jdk15on库
  • 【数据结构】双链表--从原理到(用C语言)实现全解析
  • 【Linux 学习指南】网络编程基础:从 IP、端口到 Socket 与 TCP/UDP 协议详解
  • 第二十一 篇 PDF文档自动化:Python一键合并、分割、水印、提取与加密解密!你的PDF全能管家!
  • [AI-video] 字幕服务 | 视频素材服务 | 视频生成服务
  • MySQL索引及其底层原理(上)(10)
  • C++ 计数排序、归并排序、快速排序
  • SpringCloud之Config
  • Android动态获取当前应用占用的内存PSS,Java
  • 【25】MFC入门到精通——MFC静态文本框 中字符串 连续输出 不覆盖先前的文本 换行输出
  • RK3568项目(十)--linux驱动开发之基础外设与LVDS屏幕
  • spring-ai之工具调用(Tool Calling)
  • 【18】MFC入门到精通——MFC(VS2019)+ OpenCV 显示图片的3种方法