cocos creator 使用i18n多语言探索

本文介绍了如何在Cocos Creator 2.4.4中使用i18n插件实现多语言支持。尽管官方已停止维护,但通过手动下载并进行配置,仍然可以正常使用。主要步骤包括删除无用文件、配置语言表、修复启动时的默认语言加载,以及创建一个语言管理器来切换和更新语言显示。LocallizedLabel和LocallizedSprite组件分别用于Label和Sprite的本地化。
摘要由CSDN通过智能技术生成

cocos creator官方现在已经不维护i18n了,但是依然可以使用这个插件

官方链接文档

i18n 游戏多语言支持 | Cocos Creator

根据文档提示下载,但是现在扩展商店已经找不到了,所以我是手动下载的

下载完后得到的是这样的结构

我使用的是cocos creator 2.4.4

但是直接放到cocos creator项目下是会有错误的,我是放在assets文件夹下的,经过一番探索,修改一些错误,终于可以用了 

1,首先把除了i18n和runtime-scripts之外的其他文件都删除,其他的都没用

2,i18n下主要是语言配置表,js写的自己添加配置就行了,

3,把这个注释,否则挂不上组件,会有错误

4,LanguageData中中间那端删除了,加上这个,这里是启动的时候默认语言初始化加载,也可以获取设备的系统语言去设置,我这里是写的默认英文

5,加载配置代码添加

6,看代码,这是自己写的管理器 主要是引用LanguageData

// 多语言管理

export default class LanguageMgr {

    public curLang = "en";// 当前语言

    private static lang = null;

    private i18n = null;

    // 多语言单例

    public static get langInstance() {

        if(!this.lang) this.lang = new LanguageMgr();

        return this.lang;

    }

    

    /**初始化语言 */

    public initLanguage ()

    {

        // 初始化语言

        this.i18n = require('LanguageData');

        this.changeLanguage('en');

    }

    // 切换语言

    public changeLanguage(lang)

    {

        if(lang===this.curLang) return;

        this.i18n.init(lang);

        this.updateLanguageRender();

        this.curLang = lang;// 保存当前语言

    }

    // 更新语言显示

    public updateLanguageRender()

    {

        // 更新显示

        this.i18n.updateSceneRenderers()

    }

}

LocallizedLabel和LocallizedSprite是挂在自己的预制体上的组件,分别挂在含有Label,含有Sprite的节点下

这是我挂的 Data ID对应的是i18n文件下的语言配置表中字段对应的key

直接调用LanguageMgr 中的初始化和切换语言就ok了

有问题留言哈

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值