寻找字幕翻译兼并人员来制作双语字幕

寻找字幕翻译兼并人员来制作双语字幕

我想翻译一个.srt文件,然后将结果与原始文件合并,这样两个文本都会出现在生成的.srt文件中,原始文本在顶部,翻译文本在底部。如果我可以修改字体大小,选择要显示的内容,并在没有互联网访问的情况下在我的计算机(Ubuntu 20.04)上执行所有操作,那就更好了。有人找到解决方案了吗?

到目前为止,我尝试了很多方法,但这两个是最有希望的。第三个方法很美好,我想象有一天它会成功。

srtssa/转换合并

我找到了听起来很完美的https://forum.language-learners.org/viewtopic.php?t=13897#p162942。我安装并运行https://gist.github.com/bathtime/6ec36e47bb4a104bd648dc1abcaaccc7(更新于2021.5.9;似乎是https://gitlab.com/bedtime_/srtssa/-/tree/master,更新于 2020.7.6)。它创建了一个mynewfile.txt.0813115519.tmp文件并在终端中打开它或原始.srt文件(两者的内容相同,所以我看不出来)。经过十多分钟的等待,我取消了操作,因为它似乎卡住了。我运行的代码是(来自上面的一个链接):

[code]./srtssa.sh -t en --alt -i myfile.srt -o mynewfile.srt[/code]

不幸的是,我不知道上面代码的-t或是什么意思。--alt

然后我尝试了可能是上述操作的前奏,https://gist.github.com/bathtime/8ae8303e870b2909c03f3b9332a4dd47(2020.4.7 更新)。失败并显示以下消息:

./transmerge.sh: 25: [: en: unexpected operator
./transmerge.sh: 26: [: unexpected operator
./transmerge.sh: 31: [: utf-8: unexpected operator
./transmerge.sh: 98: Syntax error: Bad for loop variable[/code]

我运行的代码是:./transmerge.sh fr en en sample.srt。从上面的最后一个链接来看,它应该告诉程序源语言是法语,目标语言是英语,并且英语应该显示在顶部,法语显示在底部。

字幕编辑器

我尝试了以下方法,但一直卡在解压 tar 文件上。以下https://github.com/kitone/subtitleeditor我试过:

./autogen.sh
make
sudo make install

...但该命令执行后仍然出现以下错误make

make: *** No targets specified and no makefile found.  Stop.

我用了https://wiki.asterisk.org/wiki/display/AST/Untarring+the+Source来帮助我解压文件,但是我对通过这种方式安装东西还不熟悉,所以可能是我把某些东西搞砸了。

Apertium+Gaupol

https://wiki.apertium.org/wiki/Translating_subtitles#Gaupol_extension看起来很有希望,但 Gaupol 社区表示该扩展已经过时,并且“事后看来,Gaupol 扩展是个坏主意”。太糟糕了,因为它似乎是一个很好的实用程序。

答案1

明白了!你需要 Aegisub,https://ubuntuhandbook.org/index.php/2018/08/how-to-install-aegisub-subtitle-editor-in-ubuntu-18-04/

sudo add-apt-repository ppa:alex-p/aegisub
sudo apt-get install aegisub

打开第一个字幕文件并通过Style Editor更新Alignment8其居中:https://www.youtube.com/watch?v=gopfzv6tZYA&t=63s。通过 保存这些样式很有用Subtitle > Style Manager。第二个字幕文件可能已经设置为默认的2,位于下方中央:

对齐菜单

然后简单地Ctrl+ACtrl+C第一个文件中的字幕复制Ctrl+V到第二个文件中(位于https://forum.videohelp.com/threads/392423-Merge-Two-ass-Files-in-Aegisub#post2544365)。无论在哪里,程序都会在保存时自动按时间顺序排列它们。然后Ctrl+S提示将文件保存在哪里。使用扩展名保存它,.ass因为.srt文件会将所有内容堆放在底部,而不保存字体大小,渲染左侧而不是右侧:

ass-vs-srt 字幕由 Aegisub 呈现

然后,您可以调整字体样式,使其稍微变灰或稍后出现(Ctrl+A例如Timing > Shift Times…,这对于语言学习很有用)。

这适用于 VLC,但不适用于 Ubuntu 20.04 中的库存视频播放器(我认为它不支持.ass文件)。我尝试使用 HandBrake 将字幕硬编码并刻录到视频文件中(https://www.youtube.com/watch?v=ZjX5v5Z4jQA&t=146s),但是没有起作用。我折腾了好一阵子,但最终还是没能找出原因。

.srt关于/ .ssa/.ass文件的注释

.srt' 似乎是最基本的,并且只能将一组字幕直接叠加在一秒钟上。一切都是非此即彼。您可以手动添加{\an8}到行的开头,然后它们都会移动到视频的顶部,但仍然会直接叠加在另一个之上。

.ssa是升级版,而.ass是最新修订版:https://en.wikipedia.org/wiki/SubStation_Alpha. 它们允许不同的字体大小、颜色、定位、字幕流分割等。

结论

或者如何转录、翻译和合并字幕以实现多语言输出:

  1. .srt使用 pyTranscriber 从视频文件转录文件:如何从 GitHub 在 Ubuntu 20.04 上安装 pyTranscriber?(可能需要一个.mp4.mkv无论如何都不起作用)
  2. 在线翻译文件(我使用https://www.syedgakbar.com/projects/dsthttps://www.subtitlecat.com看起来也不错)
  3. 按照上述方法使用 Aegisub 将生成的.srt/.ass文件合并为最终文件.ass file。将其命名为与视频文件相同的名称(例如:)mymovie.mp4 mymovie.ass,然后将两者放在同一个文件夹中,它就会自动加载。

我希望我可以直接在我的机器上翻译它(步骤 2),然后将其硬编码到实际文件中.mp4,但我相信这些也会随着时间的推移而实现。更好的转录和翻译也将实现,但我们肯定早已超越了“足够好”的领域。

相关内容