• Godot


    版本 Godot 3.1.2

    背景

    Godot的UI系统封装的很难受, 一些东西很难改动, 比如这个AcceptDialog的"确定""取消"按钮, 特别是在编辑器本身还有bug的情况下

    其属性中不能直接修改AcceptDialog的"确定""取消"

    可以通过添加翻译文件来解决, 而国际化也是现在很多游戏的需求

    实现步骤

    官方文档说的云里雾里, github的demo因为春节家里网不好下载不动...
    在"新建资源"命令中可以看到"Translation"类型的资源文件, 然而是不需要手动创建的

    1. 首先创建一个文件夹"languages", (名字随意, 注意最好不要大写)
    2. 新建一个csv文件"language.csv", (名字随意) 添加以下内容 (也可以使用Excel等表格编辑工具进行编辑)

    注意保存选项为编码"UTF8", 换行符"LF", 推荐使用文本编辑器, 不推荐使用Excel
    返回godot后, 会自动生成相关的Translation资源文件

    1. 添加资源文件。Godot中, "项目" -> "项目设置" -> "本地化" -> 添加刚生成的"language.zh.translation"

    运行效果

    1. 代码中使用

    在"language.csv"中添加

    Test_Title,测试标题
    Test_Content,测试内容
    

    效果如下

    GDScript函数tr(key : String) -> String用于提取常量
    似乎是因为Godot的bug, 在官方文档

    level.set_text(tr("LEVEL_5_NAME"))
    status.set_text(tr("GAME_STATUS_" + str(status_index)))
    

    set_text还是调用了一次tr()的, 但实测在代码中直接设置text属性或使用set_text()函数(实际是一回事), 都自动转换到了翻译后的字符, 要使用的话统一使用KEYNAME

  • 相关阅读:
    使用opencv工程
    面试官最爱问的问题背后真相
    哎,哎,去了清华园
    突然发现兰皙欧洗面奶不错
    crs.exe 进程管理里面的流氓进程之封杀
    初步使用OpenCV
    动态网站基础
    Java IO -- 序列化的疑问
    建造模式
    MYSQL 从头开始-2(join)
  • 原文地址:https://www.cnblogs.com/lunoctis/p/12235738.html
Copyright © 2020-2023  润新知