feat: finish work of release

- bump up version to 4.2
- update document about translation.
This commit is contained in:
yyc12345 2025-01-21 10:10:36 +08:00
parent 84f6baae6a
commit dd64c0ce04
3 changed files with 27 additions and 20 deletions

View File

@ -6,7 +6,7 @@ schema_version = "1.0.0"
# Example of manifest file for a Blender extension
# Change the values according to your extension
id = "bbp_ng"
version = "4.1.0"
version = "4.2.0"
name = "Ballance Blender Plugin"
tagline = "The specialized add-on served for creating game map of Ballance"
maintainer = "yyc12345 <yyc12321@outlook.com>"

View File

@ -1,9 +1,9 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: Ballance Blender Plugin 4.1.0 (0)\n"
"Project-Id-Version: Ballance Blender Plugin 4.2.0 (0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-20 22:23+0800\n"
"POT-Creation-Date: 2025-01-21 09:59+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@ -652,7 +652,7 @@ msgstr "PR_Resetpoint (重生点)"
#. :src: bpy.types.BBP_OT_add_component.component_type:'26'
msgctxt "BBP_OT_add_component/property"
msgid "PS_FourFlames"
msgstr "PS_FourFlames (起始盘点)"
msgstr "PS_FourFlames (出生盘点)"
#. :src: bpy.types.BBP_OT_add_ioport_encodings
msgctxt "BBP_OT_add_ioport_encodings"
@ -3172,47 +3172,47 @@ msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Prototype Configurations"
msgstr "原型配置"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:280
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:285
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Extra Transform"
msgstr "额外变换"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:282
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:287
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Translation"
msgstr "移动"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:286
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:291
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Rotation"
msgstr "旋转"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:269
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:274
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Top"
msgstr "顶"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:270
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:275
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Front"
msgstr "前"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:271
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:276
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Left"
msgstr "左"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:273
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:278
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Right"
msgstr "右"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:274
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:279
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Back"
msgstr "后"
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:275
#: extensions/user_default/bbp_ng/OP_ADDS_bme.py:280
msgctxt "BBP_OT_add_bme_struct/draw"
msgid "Bottom"
msgstr "底"

View File

@ -33,13 +33,15 @@ Blender对于插件的多语言支持不尽如人意且BBP的设计比较特
在翻译之前首先你需要意识到BBP需要翻译的文本由两部分组成一部分是BBP插件本身可以通过Blender自带的多语言插件来实现待翻译文本的提取。另一部分是BME组件中的用于描述结构的JSON文件其中各个展示用字段的名称需要进行翻译而这一部分Blender的多语言插件无能为力因为它是动态加载的。幸运的是我们已经写好了一个提取器可以提取BME的JSON文件中的相关待翻译文本当你在进行上一步压缩JSON的操作时实际上压缩器也一并运行了并提取了待翻译文本写入了`bbp_ng/i18n/bme.pot`文件中。那么接下来的任务就只剩下提取插件部分的翻译了。
首先你需要启用Blender内置的多语言插件Manage UI translations。为了启用它你可能还需要下载对应Blender版本的源代码和翻译仓库具体操作方法可参考[Blender的官方文档](https://developer.blender.org/docs/handbook/translating/translator_guide/)。在启用插件并在偏好设置中配置了合适的相关路径后你就可以在Render面板下找到I18n Update Translation面板接下来就可以提取翻译了。
首先你需要启用Blender内置的多语言插件Manage UI translations。为了启用它你可能还需要下载对应Blender版本的源代码和翻译仓库具体操作方法可参考[Blender的官方文档](https://developer.blender.org/docs/handbook/translating/translator_guide/)。在启用插件并在偏好设置中配置了合适的相关路径后你就可以在Render面板下找到I18n Update Translation面板接下来就可以提取翻译了。按照以下步骤提取翻译:
首先点击Deselect All取消所有语言的选中然后仅勾选下列语言右侧的框因为BBP目前仅支持有限的语言
* Simplified Chinese (简体中文)
然后点击最下方一栏的Refresh I18n Data按钮然后在弹出的窗口中选择Ballance Blender Plugin等待一会后插件就会完成待翻译字符的提取。此时插件只是将他们按照Blender推荐的方式以Python源码的格式将翻译字段提取到了插件的源代码中。为了获得我们希望的可以用于编辑的POT文件我们还需要点击Export PO按钮在弹出的窗口中选择Ballance Blender Plugin保存的位置可以选择任意的文件夹例如桌面因为它会产生许多文件其中只有POT文件才是我们想要的取消勾选右侧的Update Existing选项并确保Export POT是勾选的最后进行保存。导出完成后可以在你选择的文件夹中找到一个名为`blender.pot`的翻译模板文件,以及众多以语言标识符为文件名的`.po`文件。你需要复制`blender.pot`到`bbp_ng/i18n`文件夹下,并将其重命名为`bbp_ng.pot`。至此我们提取了所有需要翻译的内容。
1. 首先确保关闭了所有Blender进程否则插件会保持在加载状态对翻译元组变量的修改会不起作用。
1. 将插件中翻译元组变量`translations_tuple`的值改为空元组(参见前文有关提交的注意事项)。将翻译元组设置为空可以将插件的翻译状态归零,使得后文进行的文本提取操作不会受到已有翻译的干扰。
1. 打开Blender转到I18n Update Translation面板点击Deselect All取消所有语言的选中然后仅勾选下列语言右侧的框因为BBP目前仅支持有限的语言
* Simplified Chinese (简体中文)
1. 点击最下方一栏的Refresh I18n Data按钮然后在弹出的窗口中选择Ballance Blender Plugin等待一会后插件就会完成待翻译字符的提取。此时插件只是将他们按照Blender推荐的方式以Python源码的格式将翻译字段提取到了插件的源代码中。
1. 为了获得我们希望的可以用于编辑的POT文件还需要点击Export PO按钮在弹出的窗口中选择Ballance Blender Plugin保存的位置可以选择任意的文件夹例如桌面因为它会产生许多文件其中只有POT文件才是我们想要的取消勾选右侧的Update Existing选项并确保Export POT是勾选的最后进行保存。导出完成后可以在你选择的文件夹中找到一个名为`blender.pot`的翻译模板文件,以及众多以语言标识符为文件名的`.po`文件。
1. 你需要复制`blender.pot`到`bbp_ng/i18n`文件夹下,并将其重命名为`bbp_ng.pot`。至此我们提取了所有需要翻译的内容。
### 合并翻译模板
@ -73,7 +75,12 @@ BBP要求使用KDE社区的翻译规范来规范插件的翻译。例如你可
### 翻译回写
PO格式的翻译并不能被Blender识别因此在翻译完成后你还需要继续借助Blender的多语言插件将PO文件回写成Blender可识别的Python源码格式的翻译。
PO格式的翻译并不能被Blender识别因此在翻译完成后你还需要继续借助Blender的多语言插件将PO文件回写成Blender可识别的Python源码格式的翻译。由于Blender的多语言插件设计的问题我们不能直接使用Import PO功能将PO文件回写成Python源码格式。你需要按照下列步骤依次操作才可以将PO翻译导入插件中
1. 首先确保关闭了所有Blender进程否则插件会保持在加载状态对翻译元组变量的修改会不起作用。
1. 将插件中翻译元组变量`translations_tuple`的值改为空元组参见前文有关提交的注意事项。这一步操作的意图是让整个插件不存在翻译条目这样之后在使用Import PO功能的时候Blender的多语言插件就会认为PO文件中存储的所有字段都是要翻译的就不会出现只导入了一部分翻译的情况因为BME部分的翻译是后来合并入的
1. 打开Blender转到I18n Update Translation面板按照提取翻译模板时的操作方法在语言列表中仅选中需要翻译的语言。
1. 点击最下方一栏的Import PO按钮然后在弹出的窗口中选择Ballance Blender Plugin然后选择`bbp_ng/i18n`文件夹进行导入。这样我们就完成了将PO文件导入为Blender可识别的Python源码格式的操作。
## 打包