CRYENGINE V 编辑器界面汉化方法
本地化方法说明在此项目中,使用了Qt自身的本地化方法和GNU gettext,两者结合来完成CRYENGINE界面的本地化工作。下面的< CRYENGINE SDK >指的是CRYENGINE源代码所在的位置。目前还有许多词条未进行标注和本地化,欢迎大家PR本地化结果。Qt方法本地化配置文件位置< CRYENGINE SDK >/editor.iniLanguage=zh_cn其中,zh_cn表示为简体中文,同时也是< CRYENGINE SDK >/Editor/UI/Translations中翻译文件所在的子文件夹的名称。本地化文件位置< CRYENGINE SDK >/Editor/UI/Translations翻译文本标记方法使用QObject::tr("")包围需要进行本地化的字符串,只支持目标类型为QString的字符串。翻译方法[*]首先确认设置了系统环境变量QTDIR,并将其指定到了linguist.exe、lrelease.exe、lupdate.exe所在的文件夹或QT安装文件夹中的bin文件夹。
[*]在标记文本完成后,双击< CRYENGINE SDK >/Editor/UI/Translations/update_zh_cn.bat,收集需要翻译的词条。
[*]使用linguist.exe打开zh_cn中需要翻译的.ts文件,翻译其中的词条。
[*]翻译完成后,双击< CRYENGINE SDK >/Editor/UI/Translations/release_zh_cn.bat,发布词条库。
使用方法切换到简体中文将editor.ini中的Language设置为zh_cn即可。切换回英文将editor.ini中的Language设置为en_us即可.限制
[*]无法本地化const char*类型的字符串
[*]无法本地化宏中的字符串
[*]无法收集非QObject宏声明的类中的词条
GNU gettext方法作为Qt本地化方案的补充使用,用来收集和本地化const char*类型、非QObject宏声明的类中的词条本地化配置系统环境变量LANG=zh_CN.UTF-8LANGUAGE=zh_CN.UTF-8为了防止引擎崩溃和乱码,需要使用UTF-8编码格式。本地化文件位置< CRYENGINE SDK >/Editor/UI/Languages其中包含与上述系统环境变量值同名的子文件夹,如zh_CN.UTF-8其中.po文件为翻译文件,LC_MESSAGES子文件夹中的.mo文件为翻译完成后编译生成的文件。翻译文本标记方法使用gettext("")包围需要进行本地化的字符串,它输出的结果为const char*,适用于各种词条类型。翻译方法
[*]首先确认在系统环境变量PATH,在其中增加一条路径:< CRYENGINE SDK >/Tools/gettext/bin。
[*]在标记文本完成后,双击< CRYENGINE SDK >/Editor/UI/Translations/1.update_].bat,为对应的模块收集需要翻译的词条。
[*]双击< CRYENGINE SDK >/Editor/UI/Translations/2.translate_zh_cn.bat为所有模块生成翻译文件*.po,存储到zh_CN.UTF-8子文件夹中。
[*]使用Poedit打开zh_CN.UTF-8子文件夹中需要翻译的.po文件,翻译其中的词条。
[*]翻译完成后,在菜单栏单击[编目]-[属性],设置字符集为UTF-8,如果是其它字符集,会出现乱码。
[*]保存翻译结果,同时会在同级目录下编译生成对应的.mo文件。
[*]将编译生成的.mo文件移动到LC_MESSAGES子文件夹中。
使用方法切换到简体中文将系统环境变量设置为LANG=zh_CN.UTF-8LANGUAGE=zh_CN.UTF-8切换回英文将将系统环境变量设置为LANG=en_US.UTF-8LANGUAGE=en_US.UTF-8限制
[*]无法本地化宏中的字符串
菜单栏
属性页
首选项
代码库地址:
https://github.com/GameInstitute/CRYENGINE/tree/5.5.0_cn
好贴!不过汉化感觉不习惯 :lol好东西 支持!! 好东西 资源不错,感谢分享。
页:
[1]