自定义动作插件的翻译
从 v1.3.3 版本开始,可以通过为自定义动作附加翻译文件来实现翻译功能。
可翻译的部分
- 可以翻译属性名称和属性工具提示。
- 类名(列表中显示的名称)和组名无法翻译,但其工具提示可以翻译。
翻译的实现方法
按照指定格式创建的 CSV 文件放置在插件内的 editor_translations 文件夹下,即可加载翻译数据。
【文件夹结构示例】
res://addons/
└── custom_action_plugin/
├── custom_action.gd
└── editor_translations
└── custom_action.csv
- 条件是
editor_translations文件夹必须与自定义动作的 gd 脚本处于同一层级,并且位于该文件夹的根目录下。在其他任何位置(如 addons 文件夹或 custom_action_plugin 文件夹以外的地方)均无法正常工作。 - gd 脚本的名称与 CSV 文件的名称无需一致。
- 可以为多个 gd 脚本准备一个 CSV 文件,同样可以正常工作。
CSV 文件示例
context,key,ja,en,ko,zh_CN,zh_TW,pt_BR,es_AR,de,ru
"CustomAction","説明内容","カスタムアクション:ツールチップ","Custom Action: Tooltip","커스텀 액션: 툴팁","自定义动作:工具提示","自訂動作:工具提示","Ação personalizada: dica de ferramenta","Acción personalizada: descripción emergente","Benutzerdefinierte Aktion: Tooltip","Пользовательское действие: подсказка"
"CustomAction","group","グループ","Group","그룹","组","群組","Grupo","Grupo","Gruppe","Группа"
"CustomAction:test_num","test_num(数字ツールチップ)","数値のツールチップ","Number tooltip","숫자 툴팁","数值工具提示","數值工具提示","Dica de ferramenta do número","Descripción emergente del número","Zahlen-Tooltip","Подсказка для числа"
"CustomAction:test_num","test_num","数値","Number","숫자","数值","數值","Número","Número","Zahl","Число"
"CustomAction:test_elements","test_elements(属性ツールチップ)","属性のツールチップ","Element tooltip","속성 툴팁","属性工具提示","屬性工具提示","Dica de ferramenta do elemento","Descripción emergente del elemento","Element-Tooltip","Подсказка для элемента"
"CustomAction:test_elements","test_elements","属性","Element","속성","属性","屬性","Elemento","Elemento","Element","Элемент"
"CustomAction:test_elements","Fire","火","Fire","불","火","火","Fogo","Fuego","Feuer","Огонь"
"CustomAction:test_elements","Water","水","Water","물","水","水","Água","Agua","Wasser","Вода"
"CustomAction:test_elements","Earth","土","Earth","땅","土","土","Terra","Tierra","Erde","Земля"
- 仅 CSV 文件
custom_action.csv (1.7 KB) - 包含主文件的示例结构
custom_action_translation_sample.zip (2.2 KB)
列的详细说明
context指定该条目关联到哪个类的哪个属性。由于export_group和get_description()返回的描述没有关联的属性,因此省略这些条目。key指定在脚本中定义的标识符。- 后续列定义根据语言设置对应的文本。
CSV 编写技巧
- 表头 (
context,key,...) 不加引号 - 从第二行开始,所有字段都必须用双引号括起来
- 使用 UTF-8 BOM
- 使用 CRLF 换行符