Skip to content

Commit

Permalink
feat: finish work of release
Browse files Browse the repository at this point in the history
- bump up version to 4.2
- update document about translation.
  • Loading branch information
yyc12345 committed Jan 21, 2025
1 parent 84f6baa commit dd64c0c
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 20 deletions.
2 changes: 1 addition & 1 deletion bbp_ng/blender_manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 <[email protected]>"
Expand Down
24 changes: 12 additions & 12 deletions bbp_ng/i18n/zh_HANS.po
Original file line number Diff line number Diff line change
@@ -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"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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 "底"
Expand Down
21 changes: 14 additions & 7 deletions docs/docs/zh-cn/compile-distribute-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`。至此我们提取了所有需要翻译的内容。

### 合并翻译模板

Expand Down Expand Up @@ -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源码格式的操作。

## 打包

Expand Down

0 comments on commit dd64c0c

Please sign in to comment.