/minecraft_translation_ppt

A project used to generate list videos of standard Chinese translation of Minecraft, requiring Microsoft PowerPoint.

Primary LanguagePythonApache License 2.0Apache-2.0

Minecraft中文标准译名列表视频生成器

Pylint

此项目用于生成Minecraft中文标准译名列表视频,载体为Microsoft PowerPoint。

视频最终效果参见哔哩哔哩上的此视频

需求

由于使用了标准库tomllib,所以需要Python >= 3.11

需要库requestspython-pptxPillowpypiwin32,请使用下面的命令安装:

pip install requests python-pptx Pillow pypiwin32 -U

前期准备

语言文件

Java版语言文件请使用SkyEye-FAST/minecraft_translation获取。

请将获取到的en_us.jsonzh_cn.jsonzh_hk.jsonzh_tw.jsonlzh.json放置在语言文件文件夹下(默认为与脚本同级的lang文件夹,可以在配置文件中调整)。

supplements.json中存有目前(2024年1月7日)游戏内语言文件缺失,而Crowdin上已更新的内容。

脚本使用

获取图片

image.py用于从Minecraft Wiki获取等轴渲染图等图片。

获取到的图片默认保存在与脚本同级的image文件夹下的对应分类中,可以在配置文件中调整。此文件夹下的image_mapping.json用于记录一些特殊情况,存有对应的图片映射。

获取图片的日志会默认保存在与脚本同级的log文件夹下,可以在配置文件中调整。

复制幻灯片

模板幻灯片文件已经在幻灯片文件夹(默认为与脚本同级的ppt文件夹,,可以在配置文件中调整)的对应分类下提供,名为template.pptx。由于模板幻灯片仅有一张,需要将其复制一定次数。

参考:Slide.Copy 方法 (PowerPoint) | Microsoft Learn

Python

slide_copy.py用于自动复制模板幻灯片,原理为模拟手动复制粘贴操作,请不要在此脚本运行过程中覆盖剪贴板。

此脚本运行需要安装了PowerPoint的Windows设备,且需要库pywin32pywin32),请使用下面的命令安装:

pip install pywin32

VBA

slide_copy.bas可作为宏导入到需要复制的PowerPoint幻灯片文件中,并将其中循环变量的范围修改为需要的次数。

此处不提供自动获取需要复制次数的功能,若有需要请自行在已有脚本基础上修改。

编辑幻灯片

slide.py用于自动填充幻灯片中的内容。

幻灯片按照源字符串的字母顺序排序。

设置动画

在自动填充幻灯片后,请根据需要拼接各个部分,并进行必要的修改与调整。

示例视频中使用的设置为:

  1. 在“切换”选项卡上,选择“平滑”。
  2. 选择“切换”>“效果选项”>“文字”。
  3. 将持续时间设置为1s,自动换片时间设置为2s。

参考:在 PowerPoint 中使用平滑切换 - Microsoft 支持

导出视频

可以直接在PowerPoint中选择“文件”>“导出”>“创建视频”或“录制”>“导出到视频”,并选择所需要的设置来导出视频。

参考:将演示文稿转换为视频 - Microsoft 支持

video_output.bas可作为宏导入到需要导出的PowerPoint幻灯片文件中,来获取更高质量的视频。

脚本中视频参数为3840×2160,60FPS。

参考:Presentation.CreateVideo 方法 (PowerPoint) | Microsoft Learn

配置文件

配置文件名为configuration.toml,位置与脚本同级。

反馈

遇到的问题和功能建议等可以提出议题(Issue)。

欢迎创建拉取请求(Pull request)。