牵绊、
发表于 2025-5-2 01:00:14
本帖最后由 牵绊、 于 2025-5-2 02:07 编辑
AnoHana1949 发表于 2025-5-1 18:18
貌似无法提取多轨道字幕,单轨道字幕可以提取,而且提取出来的字幕文件名也和视频不同名! ...
已经修正
AnoHana1949
发表于 2025-5-2 02:37:35
本帖最后由 AnoHana1949 于 2025-5-2 02:54 编辑
牵绊、 发表于 2025-5-2 01:00
已经修正
第一次修正的版本可以按你之前说的方法删除中文字符后,再添加对应英文字符可以使用
第二次修正的版本目前还是和我刚开始提的问题一样来着
AnoHana1949
发表于 2025-5-4 20:14:09
本帖最后由 AnoHana1949 于 2025-5-4 20:16 编辑
视频提取和音频提取命名格式不对,
字幕多轨道提取无法提取,单轨道可以提取,不过视频文件和字幕提取文件命名不对,
字体多附件提取只能提取一个文件出来,而且是没后缀命名的文件,单附件也是,
使用的是5月2日 2:14分分享的文件
tmdtmdtmdqq
发表于 2025-5-5 11:11:15
本帖最后由 tmdtmdtmdqq 于 2025-5-5 11:13 编辑
AnoHana1949 发表于 2025-5-4 20:14
视频提取和音频提取命名格式不对,
字幕多轨道提取无法提取,单轨道可以提取,不过视频文件和字幕提取文件 ...
看样子,你应该没把 配置文件gMKVExtractGUI.ini 或 文件gMKVToolNix.dll 也一并更新
除了Newtonsoft.Json.dll,其他文件都有改动过,所以更新时候都要覆盖一遍
AnoHana1949
发表于 2025-5-5 11:37:25
tmdtmdtmdqq 发表于 2025-5-5 11:11
看样子,你应该没把 配置文件gMKVExtractGUI.ini 或 文件gMKVToolNix.dll 也一并更新
除了Newtonsoft.Json ...
四个文件一起覆盖更新了,要不你也试试看
tmdtmdtmdqq
发表于 2025-5-5 11:50:44
本帖最后由 tmdtmdtmdqq 于 2025-5-5 12:07 编辑
AnoHana1949 发表于 2025-5-5 11:37
四个文件一起覆盖更新了,要不你也试试看
我试过了,提取多个文件我没问题
我反编译过代码看,出现你那 英文的文件名模式(pattern),看上去是没有完整使用新的汉化文件所致
所以我才说你是不是有文件没更新到
新版汉化应该是把pattern也汉化过的,如果是输出有问题,按理说应该是显示中文pattern,而不是英文pattern
视频轨道文件名模式:{文件名无扩展名}_轨道{轨道号}_[{语言}]
音频轨道文件名模式:{文件名无扩展名}_轨道{轨道号}_[{语言}]_延迟 {有效延迟}毫秒
字幕轨道文件名模式:{文件名无扩展名}_轨道{轨道号}_[{语言}]
章节文件名模式:{文件名无扩展名}_章节
附件文件名模式:{附件文件名}
AnoHana1949
发表于 2025-5-5 12:13:20
tmdtmdtmdqq 发表于 2025-5-5 11:50
我试过了,提取多个文件我没问题
我反编译过代码看,出现你那 英文的文件名模式(pattern),看上去是没有完 ...
原来楼主又改回中文了啊,这个要手动更改成中文名称,楼主也没做说明,而且覆盖更新它里面也是英文名称来着!
AnoHana1949
发表于 2025-5-5 12:14:32
AnoHana1949 发表于 2025-5-5 12:13
原来楼主又改回中文了啊,这个要手动更改成中文名称,楼主也没做说明,而且覆盖更新它里面也是英文名称来 ...
更改成中文名称可以使用了
tmdtmdtmdqq
发表于 2025-5-5 21:41:24
翻了翻快速比对了一下。如果下次更新的话,可以关注一下以下位置的翻译 (20250505_14点上传那版):
gMKVExtractGUI.exe:
=== frmMain2.cs:
throw new Exception("You must select a video, audio or subtitles track to extract cues!");
-> throw new Exception("必须选择视频、音频或字幕轨道来提取线索!");
cues前面译成“标记点”,这里译成“线索”了?
gMKVToolNix.dll:
=== gMKVExtract.cs:
gMKVLogger.Log(string.Format("Detected mkvextract version: {0}.{1}.{2}", this._Version.FileMajorPart, this._Version.FileMinorPart, this._Version.FilePrivatePart));
-> gMKVLogger.Log(string.Format("检测到 mkvexact 版本: {0}.{1}.{2}", this._Version.FileMajorPart, this._Version.FileMinorPart, this._Version.FilePrivatePart));
mkvextract拼错成mkvexact
"Mkvextract exited with error code {0}!",
-> "Mkvexlecter退出 返回错误代码 {0}!",
mkvextract拼错成Mkvexlecter
throw new Exception("Couldn't find MKVToolNix in your system!" + Environment.NewLine + "Please download and install it or provide a manual path!");
-> throw new Exception("在您的系统中找不到MKVToolNix!" + Environment.NewLine + "请下载并安装,或提供手动路径!");
“在您的系统中找不到MKVToolNix!” 译成 “系统中未发现MKVToolNix!”
“或提供手动路径” 译成 “或手动指定路径”比较好
throw new Exception("Found MKVToolNix in your system but not the registry Key GUI!");
-> throw new Exception("在您的系统中找到MKVToolNix 但在注册表项GUI中找不到!");
建议译成 “系统中存在MKVToolNix,但注册表中缺少GUI相关项!”
throw new Exception("Found a registry value (" + text + ") for MKVToolNix in your system but it is not valid!");
-> throw new Exception("找到注册表值 (" + text + ") 您的系统中存在MKVToolNix 但它无效!");
建议译成“系统中发现存在MKVToolNix的注册表值 (" + text + "),但该值无效!”
=== gMKVInfo.cs:
if (text.Contains("Segment information"))
-> if (text.Contains("分部信息"))
Segment其它地方译成“分段”,这里译成“分部”了?
=== gMKVJob.cs:
stringBuilder.AppendFormat("Cues {0} \r\n{1} \r\n{2}", this.GetTracks(this.ParametersList.MKVSegmentsToExtract), Path.GetFileName(this.ParametersList.MKVFile), this.ParametersList.OutputDirectory);
-> stringBuilder.AppendFormat("提示 {0} \r\n{1} \r\n{2}", this.GetTracks(this.ParametersList.MKVSegmentsToExtract), Path.GetFileName(this.ParametersList.MKVFile), this.ParametersList.OutputDirectory);
Cues其它地方翻译成“标记点”,这里翻译成“提示”了?
stringBuilder.AppendFormat("Tracks/Cues {0} \r\n{1} \r\n{2}", this.GetTracks(this.ParametersList.MKVSegmentsToExtract), Path.GetFileName(this.ParametersList.MKVFile), this.ParametersList.OutputDirectory);
-> stringBuilder.AppendFormat("轨道/提示 {0} \r\n{1} \r\n{2}", this.GetTracks(this.ParametersList.MKVSegmentsToExtract), Path.GetFileName(this.ParametersList.MKVFile), this.ParametersList.OutputDirectory);
同上
stringBuilder.AppendFormat("Tracks/Cues/Timecodes {0} \r\n{1} \r\n{2}", this.GetTracks(this.ParametersList.MKVSegmentsToExtract), Path.GetFileName(this.ParametersList.MKVFile), this.ParametersList.OutputDirectory);
-> stringBuilder.AppendFormat("轨道/提示/时间码 {0} \r\n{1} \r\n{2}", this.GetTracks(this.ParametersList.MKVSegmentsToExtract), Path.GetFileName(this.ParametersList.MKVFile), this.ParametersList.OutputDirectory);
同上
=== gMKVMerge.cs:
throw new ArgumentException("The binary key cannot have an odd number of digits: " + hexString);
-> throw new ArgumentException("二进制密钥不能有奇数位数: " + hexString);
建议译成“二进制密钥的位数不能为奇数: ”
throw new Exception("The container of the file was not recognized!");
-> throw new Exception("无法识别文件的容器!");
建议译成“文件的容器无法识别!”(不然这样读可能有点歧义->无法识别文件|的容器)
牵绊、
发表于 2025-5-6 00:26:50
本帖最后由 牵绊、 于 2025-5-6 00:35 编辑
tmdtmdtmdqq 发表于 2025-5-5 21:41
翻了翻快速比对了一下。如果下次更新的话,可以关注一下以下位置的翻译 (20250505_14点上传那版):
好的 了解 这个翻译多了有时候都是懵的 前一句都是分段 后一句就稀里糊涂打成分部