给定一份ass格式的双语歌词文件,其中日语已经对齐了正确时间,汉语的时间还是乱的。把日语的时间用到汉语上面。
日语字幕如下(节选部分):
Dialogue: 0,0:00:02.98,0:00:08.23,向晚 - 歌舞 - 日语,,0,0,0,,広い宇宙の数ある一つ Dialogue: 0,0:00:08.23,0:00:13.57,向晚 - 歌舞 - 日语,,0,0,0,,青い地球の広い世界で Dialogue: 0,0:00:13.57,0:00:17.84,向晚 - 歌舞 - 日语,,0,0,0,,小さな恋の思いは届く Dialogue: 0,0:00:17.84,0:00:23.26,向晚 - 歌舞 - 日语,,0,0,0,,小さな島のあなたのもとへ Dialogue: 0,0:00:23.26,0:00:28.34,向晚 - 歌舞 - 日语,,0,0,0,,あなたと出会い時は流れる Dialogue: 0,0:00:28.36,0:00:33.18,向晚 - 歌舞 - 日语,,0,0,0,,思いを込めた手紙もふえる
汉语的如下(节选部分):
Dialogue: 0,0:00:02.98,0:00:08.23,向晚 - 歌舞 - 日语,,0,0,0,,浩瀚的宇宙中有一个仅有的蓝色星球 Dialogue: 0,0:00:08.23,0:00:13.57,向晚 - 歌舞 - 日语,,0,0,0,,在这个星球广阔的天地间 Dialogue: 0,0:00:13.57,0:00:18.66,向晚 - 歌舞 - 日语,,0,0,0,,我把小小的爱恋 Dialogue: 0,0:00:18.66,0:00:23.26,向晚 - 歌舞 - 日语,,0,0,0,,传达给住在小岛上的你 Dialogue: 0,0:00:28.02,0:00:33.00,向晚 - 歌舞 - 日语,,0,0,0,,与你相遇 随着时间的流逝 Dialogue: 0,0:00:33.00,0:00:38.23,向晚 - 歌舞 - 日语,,0,0,0,,饱含思念的书信也在增加 Dialogue: 0,0:00:38.23,0:00:43.49,向晚 - 歌舞 - 日语,,0,0,0,,不知不觉间回响在我们两个人之间 Dialogue: 0,0:00:43.49,0:00:50.24,向晚 - 歌舞 - 日语,,0,0,0,,时而激烈时而悲伤
可见,时间是没对齐的,其中日语的正确。
思路:读取两个文件,以每行字符串的55列为分界线,合并前者的 jp[:55] 和后者的 cn[55:]
# 把一组标注好的时间,应用到对应的译文上面 src_jp = open("jp.txt", 'r', encoding='utf-8') tar_cn = open("cn.txt", 'r', encoding='utf-8') output = open("xxlg.txt", 'w', encoding='utf-8') jp_line = src_jp.readline() cn_line = tar_cn.readline() while jp_line: print(jp_line[:55]) print(cn_line[55:]) output.write(jp_line[:55]+cn_line[55:]) jp_line = src_jp.readline() cn_line = tar_cn.readline()
完成,把做好的 文本 复制到最终 ass里面即可
标签:ass,日语,00,向晚,Python,双语,jp,Dialogue,歌舞 From: https://www.cnblogs.com/zhaoke271828/p/17052779.html