我希望翻译一个.srt文件,然后将结果与原始文件合并,以便两个文本都出现在结果的.srt文件中,原始文本出现在顶部,翻译文本出现在底部。如果我可以修改字体大小,选择去哪里,并执行它在我的机器(Ubuntu20.04)没有互联网访问,甚至更好。有人找到解决办法了吗?
到目前为止,我尝试过很多事情,但这两件事是最有希望的。第三件事是一件很好的事情,可以想象有一天能工作。
我在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来帮我解压缩文件,但是我仍然是用这种方式安装东西的新手,所以可能是我搞砸了一些东西。
https://wiki.apertium.org/wiki/Translating_subtitles#Gaupol_扩展似乎很有希望,但Gaupol社区表示,这一扩展已经过时,“事后看来,Gaupol的扩展是个坏主意”。太糟糕了,因为它看起来是一种伟大的功用。
发布于 2021-08-18 14:55:04
弄明白了!你需要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将Alignment更新为8,以便对上面的:https://www.youtube.com/watch?v=gopfzv6tZYA&t=63s进行中心化。通过Subtitle > Style Manager保存这些样式非常有用。第二个字幕文件可能已经设置为默认的2,其中心如下:

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

然后,您可以使用字体样式将字体样式灰化,或使其稍后出现(例如,Ctrl+A然后是Timing > Shift Times…,对语言学习很有用)。
这适用于VLC,但不适用于Ubuntu20.04中的股票视频播放器(我认为它不支持.ass文件)。我试着用HandBrake (https://www.youtube.com/watch?v=ZjX5v5Z4jQA&t=146s)硬编码并将字幕烧录到视频文件中,但没有成功。我花了一段时间摆弄它,但最终还是找不出原因。
关于.srt/.ssa/.ass文件的
.srt的S似乎是最基本的,只能直接在一秒钟内对一组潜艇进行分层。一切都是(或)。你可以在行的开头手动添加{\an8},然后它们都移动到视频的顶部,但仍然是一个直接高于另一个。
.ssa's是一个升级版,.ass's是最新的版本:https://en.wikipedia.org/wiki/SubStation_Alpha。它们允许不同的字体大小、颜色、位置、字幕流的分割等等。或如何为多语种输出转录、翻译和合并字幕:
.srt:如何从pyTranscriber在Ubuntu20.04上安装GitHub?从视频文件中转录一个.mp4文件(可能需要是一个D37;.mkv无论如何都不能工作).srt/.ass文件合并为最终的.ass file。将其命名为您的视频文件(例如:mymovie.mp4 mymovie.ass),并将其放在同一个文件夹中,并且应该自动加载。我希望我可以直接在我的机器上翻译它(步骤2),然后将它硬编码到实际的.mp4文件中,但是我相信这些也会随着时间的推移而来。因为会更好的翻译和转录,但我们肯定已经通过了“足够好”的领域。
https://askubuntu.com/questions/1357802
复制相似问题