From dd64c0ce04a04ffc7f1135e33cbf970ff4c42bc6 Mon Sep 17 00:00:00 2001 From: yyc12345 Date: Tue, 21 Jan 2025 10:10:36 +0800 Subject: [PATCH] feat: finish work of release - bump up version to 4.2 - update document about translation. --- bbp_ng/blender_manifest.toml | 2 +- bbp_ng/i18n/zh_HANS.po | 24 ++++++++++---------- docs/docs/zh-cn/compile-distribute-plugin.md | 21 +++++++++++------ 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/bbp_ng/blender_manifest.toml b/bbp_ng/blender_manifest.toml index 269b441..003a579 100644 --- a/bbp_ng/blender_manifest.toml +++ b/bbp_ng/blender_manifest.toml @@ -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 " diff --git a/bbp_ng/i18n/zh_HANS.po b/bbp_ng/i18n/zh_HANS.po index 71d211a..62e412f 100644 --- a/bbp_ng/i18n/zh_HANS.po +++ b/bbp_ng/i18n/zh_HANS.po @@ -1,9 +1,9 @@ # FIRST AUTHOR , 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 "底" diff --git a/docs/docs/zh-cn/compile-distribute-plugin.md b/docs/docs/zh-cn/compile-distribute-plugin.md index 7cbcb6e..ce4ac09 100644 --- a/docs/docs/zh-cn/compile-distribute-plugin.md +++ b/docs/docs/zh-cn/compile-distribute-plugin.md @@ -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源码格式的操作。 ## 打包