Godot - 创建翻译文件(常量表)
版本 Godot 3.1.2
背景
Godot的UI系统封装的很难受, 一些东西很难改动, 比如这个AcceptDialog的"确定""取消"按钮, 特别是在编辑器本身还有bug的情况下
其属性中不能直接修改AcceptDialog的"确定""取消"
可以通过添加翻译文件来解决, 而国际化也是现在很多游戏的需求
实现步骤
官方文档说的云里雾里, github的demo因为春节家里网不好下载不动...
在"新建资源"命令中可以看到"Translation"类型的资源文件, 然而是不需要手动创建的
- 首先创建一个文件夹"languages", (名字随意, 注意最好不要大写)
- 新建一个csv文件"language.csv", (名字随意) 添加以下内容 (也可以使用Excel等表格编辑工具进行编辑)
注意保存选项为编码"UTF8", 换行符"LF", 推荐使用文本编辑器, 不推荐使用Excel
返回godot后, 会自动生成相关的Translation资源文件
- 添加资源文件。Godot中, "项目" -> "项目设置" -> "本地化" -> 添加刚生成的"language.zh.translation"
运行效果
- 代码中使用
在"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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构