#4162 KeyError: 'km'

82.27* Posted at: 1 hour ago 👁18

处理数据时缺少必需的键:'km'
Traceback (most recent call last):
File "videotrans\task\_only_one.py", line 119, in run
File "videotrans\task\trans_create.py", line 803, in assembling
File "videotrans\task\trans_create.py", line 1346, in _join_video_audio_srt
File "videotrans\task\trans_create.py", line 1225, in _process_subtitles
File "videotrans\translator\__init__.py", line 871, in get_subtitle_code
KeyError: 'km'


=
system:Windows-10-10.0.26200-SP0
version:v3.99
frozen:True
language:zh
root_dir:D:/AI

7 Replies

这是由于软件的语言代码映射表中缺少高棉语(Khmer)的代码 'km' 导致的。

解决方案:

  1. 在软件中,将“目标语言”从“高棉语”更改为其他已支持的语言。
  2. 或者,手动为软件添加高棉语支持。具体操作步骤如下:

    • 打开软件安装目录 D:\AI\pyVideoTrans
    • 找到并编辑 videotrans/translator/__init__.py 文件。
    • 在该文件的 langlist 字典中,添加一行 'km': 'km'
    • 保存文件并重启软件。

注意: 此问题通常发生在选择了软件内置语言列表之外的语言时。高棉语(柬埔寨语)目前可能未在默认支持列表中。

请查阅相关文档:

我在我的D盘目录里找不到该文件 videotrans/translator/__init__.py

这是因为你使用的是Windows预打包版(sp.exe),源码文件已被打包进exe,无法直接编辑。

解决方案:

  1. 临时方案:在软件界面中,将“目标语言”从“高棉语”更改为其他已支持的语言(如英语、中文等)。
  2. 永久方案(添加语言支持)
    a. 从GitHub下载pyVideoTrans的源码:git clone https://github.com/jianchang512/pyvideotrans
    b. 按照源码部署指南,使用 uv 运行 sp.py
    c. 在源码目录中找到并编辑 videotrans/translator/__init__.py 文件。
    d. 在该文件的 langlist 字典中,添加一行 'km': 'km'
    e. 保存文件,之后都通过源码运行软件。

请查阅相关文档:

我下载的是v3.99 完整包下载(2.5G)

你下载的是Windows预打包版,所有源代码文件(包括 videotrans/translator/__init__.py)都被编译并封装在 sp.exe 文件中,因此在解压后的文件夹里找不到它们。解决方案:1. 临时解决:在软件主界面的“目标语言”下拉列表中,不要选择“高棉语”,请选择其他已明确支持的语言(如英语、中文、日语等)。2. 永久解决(添加语言支持): a. 你需要改用源码方式运行软件。 b. 从GitHub克隆源码仓库:git clone https://github.com/jianchang512/pyvideotrans c. 按照macOS/Linux源码部署指南进行环境配置(需要Python、uv、FFmpeg)。 d. 在克隆下来的源码目录中,找到并编辑 videotrans/translator/__init__.py 文件。 e. 在该文件的 langlist 字典里添加一行 'km': 'km'。 f. 保存后,通过 uv run sp.py 命令启动软件。之后你的修改才会生效。请查阅相关文档:新增目标语言

具体如何操作 c. 按照macOS/Linux源码部署指南进行环境配置(需要Python、uv、FFmpeg)步骤

在Windows系统上源码部署pyVideoTrans的步骤:

  1. 安装Python:前往Python官网下载并安装Python 3.10版本。安装时务必勾选“Add Python to PATH”。
  2. 安装uv包管理器:打开命令提示符(CMD)或PowerShell,执行命令:pip install uv
  3. 安装FFmpeg

    • 从FFmpeg官网下载Windows版本(如 ffmpeg-release-essentials.zip)。
    • 解压到一个简单路径,例如 D:\ffmpeg
    • D:\ffmpeg\bin 添加到系统的环境变量 Path 中。
    • 验证:打开新CMD,输入 ffmpeg -version,能显示版本信息即成功。
  4. 获取源码并安装依赖

    • 在CMD中,进入你打算存放项目的目录(例如 D:\)。
    • 执行:git clone https://github.com/jianchang512/pyvideotrans
    • 进入项目目录:cd pyvideotrans
    • 安装依赖:uv sync
  5. 修改语言文件

    • 用记事本或代码编辑器打开文件 pyvideotrans\videotrans\translator\__init__.py
    • 搜索 langlist 字典(通常在文件靠前位置)。
    • 在其中添加一行:'km': 'km',(注意格式和逗号)。
    • 保存文件。
  6. 启动软件:在项目目录 pyvideotrans 下,执行命令:uv run sp.py

重要提示:完成此操作后,你将通过源码运行软件。请勿再使用之前解压的预打包版中的 sp.exe

请查阅相关文档:

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource