titlekit 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE +22 -0
  6. data/README.md +335 -0
  7. data/Rakefile +8 -0
  8. data/lib/titlekit/have.rb +90 -0
  9. data/lib/titlekit/job.rb +446 -0
  10. data/lib/titlekit/parsers/ass.rb +175 -0
  11. data/lib/titlekit/parsers/ass.treetop +72 -0
  12. data/lib/titlekit/parsers/srt.rb +139 -0
  13. data/lib/titlekit/parsers/srt.treetop +73 -0
  14. data/lib/titlekit/parsers/ssa.rb +201 -0
  15. data/lib/titlekit/parsers/ssa.treetop +72 -0
  16. data/lib/titlekit/specification.rb +131 -0
  17. data/lib/titlekit/utilities.rb +3 -0
  18. data/lib/titlekit/version.rb +3 -0
  19. data/lib/titlekit/want.rb +24 -0
  20. data/lib/titlekit.rb +9 -0
  21. data/spec/ass_spec.rb +113 -0
  22. data/spec/automatic_grouping/automatic_grouping_spec.rb +55 -0
  23. data/spec/automatic_grouping/dual_tracks/expected.srt +15 -0
  24. data/spec/automatic_grouping/dual_tracks/one.srt +11 -0
  25. data/spec/automatic_grouping/dual_tracks/out.srt +15 -0
  26. data/spec/automatic_grouping/dual_tracks/two.srt +11 -0
  27. data/spec/automatic_grouping/single_track/expected.srt +24 -0
  28. data/spec/automatic_grouping/single_track/one.srt +11 -0
  29. data/spec/automatic_grouping/single_track/out.srt +24 -0
  30. data/spec/automatic_grouping/single_track/two.srt +11 -0
  31. data/spec/encoding_detection/a/in.ass +0 -0
  32. data/spec/encoding_detection/b/in.srt +2389 -0
  33. data/spec/encoding_detection/b/out.srt +2389 -0
  34. data/spec/encoding_detection/c/in.srt +5320 -0
  35. data/spec/encoding_detection/c/out.srt +5320 -0
  36. data/spec/encoding_detection/encoding_detection_spec.rb +81 -0
  37. data/spec/files/ass/authentic.ass +0 -0
  38. data/spec/files/ass/hard.ass +37 -0
  39. data/spec/files/ass/simple.ass +28 -0
  40. data/spec/files/srt/authentic.srt +2708 -0
  41. data/spec/files/srt/coordinates.srt +13 -0
  42. data/spec/files/srt/simple.srt +12 -0
  43. data/spec/files/ssa/simple.ssa +26 -0
  44. data/spec/files/try/unsupported-output.try +0 -0
  45. data/spec/files/try/unsupported.try +7 -0
  46. data/spec/format_conversion/ass_srt/expected.srt +2327 -0
  47. data/spec/format_conversion/ass_srt/in.ass +485 -0
  48. data/spec/format_conversion/ass_srt/out.srt +2327 -0
  49. data/spec/format_conversion/format_conversion_spec.rb +112 -0
  50. data/spec/format_conversion/srt_ass/expected.ass +19 -0
  51. data/spec/format_conversion/srt_ass/in.srt +12 -0
  52. data/spec/format_conversion/srt_ass/out.ass +19 -0
  53. data/spec/format_conversion/srt_ssa/expected.ssa +19 -0
  54. data/spec/format_conversion/srt_ssa/in.srt +12 -0
  55. data/spec/format_conversion/srt_ssa/out.ssa +19 -0
  56. data/spec/format_conversion/ssa_srt/expected.srt +9 -0
  57. data/spec/format_conversion/ssa_srt/in.ssa +26 -0
  58. data/spec/format_conversion/ssa_srt/out.srt +9 -0
  59. data/spec/job_spec.rb +162 -0
  60. data/spec/simultaneous_subtitles/dual/ass/expected.ass +22 -0
  61. data/spec/simultaneous_subtitles/dual/ass/out.ass +22 -0
  62. data/spec/simultaneous_subtitles/dual/one.srt +11 -0
  63. data/spec/simultaneous_subtitles/dual/srt/expected.srt +27 -0
  64. data/spec/simultaneous_subtitles/dual/srt/out.srt +27 -0
  65. data/spec/simultaneous_subtitles/dual/ssa/expected.ssa +22 -0
  66. data/spec/simultaneous_subtitles/dual/ssa/out.ssa +22 -0
  67. data/spec/simultaneous_subtitles/dual/two.srt +11 -0
  68. data/spec/simultaneous_subtitles/simultaneous_subtitles_spec.rb +220 -0
  69. data/spec/simultaneous_subtitles/triple/ass/expected.ass +25 -0
  70. data/spec/simultaneous_subtitles/triple/ass/out.ass +25 -0
  71. data/spec/simultaneous_subtitles/triple/one.srt +11 -0
  72. data/spec/simultaneous_subtitles/triple/srt/expected.srt +55 -0
  73. data/spec/simultaneous_subtitles/triple/srt/out.srt +55 -0
  74. data/spec/simultaneous_subtitles/triple/ssa/expected.ssa +25 -0
  75. data/spec/simultaneous_subtitles/triple/ssa/out.ssa +25 -0
  76. data/spec/simultaneous_subtitles/triple/three.srt +11 -0
  77. data/spec/simultaneous_subtitles/triple/two.srt +11 -0
  78. data/spec/simultaneous_subtitles/triple_plus/ass/expected.ass +93 -0
  79. data/spec/simultaneous_subtitles/triple_plus/ass/out.ass +93 -0
  80. data/spec/simultaneous_subtitles/triple_plus/five.srt +11 -0
  81. data/spec/simultaneous_subtitles/triple_plus/four.srt +11 -0
  82. data/spec/simultaneous_subtitles/triple_plus/one.srt +11 -0
  83. data/spec/simultaneous_subtitles/triple_plus/six.srt +11 -0
  84. data/spec/simultaneous_subtitles/triple_plus/srt/expected.srt +149 -0
  85. data/spec/simultaneous_subtitles/triple_plus/srt/out.srt +149 -0
  86. data/spec/simultaneous_subtitles/triple_plus/ssa/expected.ssa +93 -0
  87. data/spec/simultaneous_subtitles/triple_plus/ssa/out.ssa +93 -0
  88. data/spec/simultaneous_subtitles/triple_plus/three.srt +11 -0
  89. data/spec/simultaneous_subtitles/triple_plus/two.srt +11 -0
  90. data/spec/spec_helper.rb +7 -0
  91. data/spec/specifications_spec.rb +138 -0
  92. data/spec/srt_spec.rb +134 -0
  93. data/spec/ssa_spec.rb +90 -0
  94. data/spec/timecode_correction/double_reference/expected.srt +13 -0
  95. data/spec/timecode_correction/double_reference/in.srt +12 -0
  96. data/spec/timecode_correction/double_reference/out.srt +13 -0
  97. data/spec/timecode_correction/framerate/expected.srt +5 -0
  98. data/spec/timecode_correction/framerate/in.srt +4 -0
  99. data/spec/timecode_correction/framerate/out.srt +5 -0
  100. data/spec/timecode_correction/framerate_plus_reference/expected.srt +13 -0
  101. data/spec/timecode_correction/framerate_plus_reference/in.srt +12 -0
  102. data/spec/timecode_correction/framerate_plus_reference/out.srt +13 -0
  103. data/spec/timecode_correction/single_reference/expected.srt +13 -0
  104. data/spec/timecode_correction/single_reference/in.srt +12 -0
  105. data/spec/timecode_correction/single_reference/out.srt +13 -0
  106. data/spec/timecode_correction/timecode_correction_spec.rb +124 -0
  107. data/spec/transcoding/gb2312-ascii/in.srt +12 -0
  108. data/spec/transcoding/iso-8859-1_utf-8/expected.srt +12 -0
  109. data/spec/transcoding/iso-8859-1_utf-8/in.srt +11 -0
  110. data/spec/transcoding/iso-8859-1_utf-8/out.srt +12 -0
  111. data/spec/transcoding/transcoding_spec.rb +116 -0
  112. data/spec/transcoding/utf-8_gbk/expected.srt +12 -0
  113. data/spec/transcoding/utf-8_gbk/in.srt +11 -0
  114. data/spec/transcoding/utf-8_gbk/out.srt +12 -0
  115. data/spec/transcoding/windows-1252_utf-8/expected.srt +12 -0
  116. data/spec/transcoding/windows-1252_utf-8/in.srt +11 -0
  117. data/spec/transcoding/windows-1252_utf-8/out.srt +12 -0
  118. data/titlekit.gemspec +28 -0
  119. metadata +313 -0
@@ -0,0 +1,220 @@
1
+ require File.join(File.expand_path(__dir__), '../spec_helper')
2
+
3
+ describe Titlekit::Job do
4
+
5
+ describe 'Simultaneous Subtitles' do
6
+
7
+ context 'with dual subtitles' do
8
+ let(:ins) do
9
+ %w{one two}.map do |file|
10
+ File.join(__dir__, 'dual', "#{file}.srt")
11
+ end
12
+ end
13
+
14
+ context 'exporting to SRT' do
15
+ before(:all) do
16
+ @out = File.join(__dir__, 'dual', 'srt', 'out.srt')
17
+ @expected = File.join(__dir__, 'dual', 'srt', 'expected.srt')
18
+
19
+ File.delete(@out) if File.exist?(@out)
20
+ end
21
+
22
+ it 'runs the job' do
23
+ job = Titlekit::Job.new
24
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
25
+ job.want.file(@out)
26
+
27
+ expect(job.run).to be_true
28
+ end
29
+
30
+ it 'delivers the expected output' do
31
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
32
+ end
33
+ end
34
+
35
+ context 'exporting to SSA' do
36
+ before(:all) do
37
+ @out = File.join(__dir__, 'dual', 'ssa', 'out.ssa')
38
+ @expected = File.join(__dir__, 'dual', 'ssa', 'expected.ssa')
39
+
40
+ File.delete(@out) if File.exist?(@out)
41
+ end
42
+
43
+ it 'runs the job' do
44
+ job = Titlekit::Job.new
45
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
46
+ job.want.file(@out)
47
+
48
+ expect(job.run).to be_true
49
+ end
50
+
51
+ it 'delivers the expected output' do
52
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
53
+ end
54
+ end
55
+
56
+ context 'exporting to ASS' do
57
+ before(:all) do
58
+ @out = File.join(__dir__, 'dual', 'ass', 'out.ass')
59
+ @expected = File.join(__dir__, 'dual', 'ass', 'expected.ass')
60
+
61
+ File.delete(@out) if File.exist?(@out)
62
+ end
63
+
64
+ it 'runs the job' do
65
+ job = Titlekit::Job.new
66
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
67
+ job.want.file(@out)
68
+
69
+ expect(job.run).to be_true
70
+ end
71
+
72
+ it 'delivers the expected output' do
73
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
74
+ end
75
+ end
76
+ end
77
+
78
+ context 'with triple subtitles' do
79
+ let(:ins) do
80
+ %w{one two three}.map do |file|
81
+ File.join(__dir__, 'triple', "#{file}.srt")
82
+ end
83
+ end
84
+
85
+ context 'exporting to SRT' do
86
+ before(:all) do
87
+ @out = File.join(__dir__, 'triple', 'srt', 'out.srt')
88
+ @expected = File.join(__dir__, 'triple', 'srt', 'expected.srt')
89
+
90
+ File.delete(@out) if File.exist?(@out)
91
+ end
92
+
93
+ it 'runs the job' do
94
+ job = Titlekit::Job.new
95
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
96
+ job.want.file(@out)
97
+
98
+ expect(job.run).to be_true
99
+ end
100
+
101
+ it 'delivers the expected output' do
102
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
103
+ end
104
+ end
105
+
106
+ context 'exporting to SSA' do
107
+ before(:all) do
108
+ @out = File.join(__dir__, 'triple', 'ssa', 'out.ssa')
109
+ @expected = File.join(__dir__, 'triple', 'ssa', 'expected.ssa')
110
+
111
+ File.delete(@out) if File.exist?(@out)
112
+ end
113
+
114
+ it 'runs the job' do
115
+ job = Titlekit::Job.new
116
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
117
+ job.want.file(@out)
118
+
119
+ expect(job.run).to be_true
120
+ end
121
+
122
+ it 'delivers the expected output' do
123
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
124
+ end
125
+ end
126
+
127
+ context 'exporting to ASS' do
128
+ before(:all) do
129
+ @out = File.join(__dir__, 'triple', 'ass', 'out.ass')
130
+ @expected = File.join(__dir__, 'triple', 'ass', 'expected.ass')
131
+
132
+ File.delete(@out) if File.exist?(@out)
133
+ end
134
+
135
+ it 'runs the job' do
136
+ job = Titlekit::Job.new
137
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
138
+ job.want.file(@out)
139
+
140
+ expect(job.run).to be_true
141
+ end
142
+
143
+ it 'delivers the expected output' do
144
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
145
+ end
146
+ end
147
+ end
148
+
149
+ context 'with three+ simultaneous subtitles' do
150
+ let(:ins) do
151
+ %w{one two three four five six}.map do |file|
152
+ File.join(__dir__, 'triple_plus', "#{file}.srt")
153
+ end
154
+ end
155
+
156
+ context 'exporting to SRT' do
157
+ before(:all) do
158
+ @out = File.join(__dir__, 'triple_plus', 'srt', 'out.srt')
159
+ @expected = File.join(__dir__, 'triple_plus', 'srt', 'expected.srt')
160
+
161
+ File.delete(@out) if File.exist?(@out)
162
+ end
163
+
164
+ it 'runs the job' do
165
+ job = Titlekit::Job.new
166
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
167
+ job.want.file(@out)
168
+
169
+ expect(job.run).to be_true
170
+ end
171
+
172
+ it 'delivers the expected output' do
173
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
174
+ end
175
+ end
176
+
177
+ context 'exporting to SSA' do
178
+ before(:all) do
179
+ @out = File.join(__dir__, 'triple_plus', 'ssa', 'out.ssa')
180
+ @expected = File.join(__dir__, 'triple_plus', 'ssa', 'expected.ssa')
181
+
182
+ File.delete(@out) if File.exist?(@out)
183
+ end
184
+
185
+ it 'runs the job' do
186
+ job = Titlekit::Job.new
187
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
188
+ job.want.file(@out)
189
+
190
+ expect(job.run).to be_true
191
+ end
192
+
193
+ it 'delivers the expected output' do
194
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
195
+ end
196
+ end
197
+
198
+ context 'exporting to ASS' do
199
+ before(:all) do
200
+ @out = File.join(__dir__, 'triple_plus', 'ass', 'out.ass')
201
+ @expected = File.join(__dir__, 'triple_plus', 'ass', 'expected.ass')
202
+
203
+ File.delete(@out) if File.exist?(@out)
204
+ end
205
+
206
+ it 'runs the job' do
207
+ job = Titlekit::Job.new
208
+ ins.each { |file| job.have.file(file).encoding('UTF-8') }
209
+ job.want.file(@out)
210
+
211
+ expect(job.run).to be_true
212
+ end
213
+
214
+ it 'delivers the expected output' do
215
+ expect(FileUtils.compare_file(@out, @expected)).to be_true
216
+ end
217
+ end
218
+ end
219
+ end
220
+ end
@@ -0,0 +1,25 @@
1
+ [Script Info]
2
+ ScriptType: v4.00+
3
+
4
+ [V4+ Styles]
5
+ Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
6
+ Style: Default,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
7
+ Style: Top,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,8,20,20,20,1
8
+ Style: Middle,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,5,20,20,20,1
9
+ Style: EDF393,Arial,16,&H0093F3ED,&H0093F3ED,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
10
+ Style: F5E665,Arial,16,&H0065E6F5,&H0065E6F5,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
11
+ Style: FFC472,Arial,16,&H0072C4FF,&H0072C4FF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
12
+ Style: FFA891,Arial,16,&H0091A8FF,&H0091A8FF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
13
+ Style: 89BABE,Arial,16,&H00BEBA89,&H00BEBA89,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
14
+
15
+ [Events]
16
+ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
17
+ Dialogue: 0,0:00:02.00,0:00:10.00,Default,,0000,0000,0000,,We are using three subtitles simultaneously
18
+ Dialogue: 0,0:00:02.00,0:00:10.00,Top,,0000,0000,0000,,Somos utilizando tres subtítulos simultáneamente
19
+ Dialogue: 0,0:00:02.50,0:00:10.00,Middle,,0000,0000,0000,,Wir verwenden drei Untertitel zur gleichen Zeit
20
+ Dialogue: 0,0:00:12.00,0:00:20.00,Default,,0000,0000,0000,,That is correct
21
+ Dialogue: 0,0:00:12.00,0:00:20.50,Top,,0000,0000,0000,,Esto es correcto
22
+ Dialogue: 0,0:00:12.50,0:00:21.00,Middle,,0000,0000,0000,,Das stimmt
23
+ Dialogue: 0,0:00:22.00,0:00:30.00,Middle,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
24
+ Dialogue: 0,0:00:22.50,0:00:30.50,Default,,0000,0000,0000,,They are not fully aligned, though
25
+ Dialogue: 0,0:00:23.00,0:00:31.00,Top,,0000,0000,0000,,No son alineado sin embargo
@@ -0,0 +1,25 @@
1
+ [Script Info]
2
+ ScriptType: v4.00+
3
+
4
+ [V4+ Styles]
5
+ Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
6
+ Style: Default,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
7
+ Style: Top,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,8,20,20,20,1
8
+ Style: Middle,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,5,20,20,20,1
9
+ Style: EDF393,Arial,16,&H0093F3ED,&H0093F3ED,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
10
+ Style: F5E665,Arial,16,&H0065E6F5,&H0065E6F5,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
11
+ Style: FFC472,Arial,16,&H0072C4FF,&H0072C4FF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
12
+ Style: FFA891,Arial,16,&H0091A8FF,&H0091A8FF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
13
+ Style: 89BABE,Arial,16,&H00BEBA89,&H00BEBA89,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
14
+
15
+ [Events]
16
+ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
17
+ Dialogue: 0,0:00:02.00,0:00:10.00,Default,,0000,0000,0000,,We are using three subtitles simultaneously
18
+ Dialogue: 0,0:00:02.00,0:00:10.00,Top,,0000,0000,0000,,Somos utilizando tres subtítulos simultáneamente
19
+ Dialogue: 0,0:00:02.50,0:00:10.00,Middle,,0000,0000,0000,,Wir verwenden drei Untertitel zur gleichen Zeit
20
+ Dialogue: 0,0:00:12.00,0:00:20.00,Default,,0000,0000,0000,,That is correct
21
+ Dialogue: 0,0:00:12.00,0:00:20.50,Top,,0000,0000,0000,,Esto es correcto
22
+ Dialogue: 0,0:00:12.50,0:00:21.00,Middle,,0000,0000,0000,,Das stimmt
23
+ Dialogue: 0,0:00:22.00,0:00:30.00,Middle,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
24
+ Dialogue: 0,0:00:22.50,0:00:30.50,Default,,0000,0000,0000,,They are not fully aligned, though
25
+ Dialogue: 0,0:00:23.00,0:00:31.00,Top,,0000,0000,0000,,No son alineado sin embargo
@@ -0,0 +1,11 @@
1
+ 1
2
+ 00:00:02,000 --> 00:00:10,000
3
+ We are using three subtitles simultaneously
4
+
5
+ 2
6
+ 00:00:12,000 --> 00:00:20,000
7
+ That is correct
8
+
9
+ 3
10
+ 00:00:22,500 --> 00:00:30,500
11
+ They are not fully aligned, though
@@ -0,0 +1,55 @@
1
+ 1
2
+ 00:00:02,000 --> 00:00:02,500
3
+ <font color="#EDF393">We are using three subtitles simultaneously</font>
4
+ <font color="#F5E665">Somos utilizando tres subtítulos simultáneamente</font>
5
+
6
+ 2
7
+ 00:00:02,500 --> 00:00:10,000
8
+ <font color="#EDF393">We are using three subtitles simultaneously</font>
9
+ <font color="#F5E665">Somos utilizando tres subtítulos simultáneamente</font>
10
+ <font color="#FFC472">Wir verwenden drei Untertitel zur gleichen Zeit</font>
11
+
12
+ 3
13
+ 00:00:12,000 --> 00:00:12,500
14
+ <font color="#EDF393">That is correct</font>
15
+ <font color="#F5E665">Esto es correcto</font>
16
+
17
+ 4
18
+ 00:00:12,500 --> 00:00:20,000
19
+ <font color="#EDF393">That is correct</font>
20
+ <font color="#F5E665">Esto es correcto</font>
21
+ <font color="#FFC472">Das stimmt</font>
22
+
23
+ 5
24
+ 00:00:20,000 --> 00:00:20,500
25
+ <font color="#F5E665">Esto es correcto</font>
26
+ <font color="#FFC472">Das stimmt</font>
27
+
28
+ 6
29
+ 00:00:20,500 --> 00:00:21,000
30
+ <font color="#FFC472">Das stimmt</font>
31
+
32
+ 7
33
+ 00:00:22,000 --> 00:00:22,500
34
+ <font color="#FFC472">Sie sind jedoch nicht ganz synchron</font>
35
+
36
+ 8
37
+ 00:00:22,500 --> 00:00:23,000
38
+ <font color="#EDF393">They are not fully aligned, though</font>
39
+ <font color="#FFC472">Sie sind jedoch nicht ganz synchron</font>
40
+
41
+ 9
42
+ 00:00:23,000 --> 00:00:30,000
43
+ <font color="#EDF393">They are not fully aligned, though</font>
44
+ <font color="#F5E665">No son alineado sin embargo</font>
45
+ <font color="#FFC472">Sie sind jedoch nicht ganz synchron</font>
46
+
47
+ 10
48
+ 00:00:30,000 --> 00:00:30,500
49
+ <font color="#EDF393">They are not fully aligned, though</font>
50
+ <font color="#F5E665">No son alineado sin embargo</font>
51
+
52
+ 11
53
+ 00:00:30,500 --> 00:00:31,000
54
+ <font color="#F5E665">No son alineado sin embargo</font>
55
+
@@ -0,0 +1,55 @@
1
+ 1
2
+ 00:00:02,000 --> 00:00:02,500
3
+ <font color="#EDF393">We are using three subtitles simultaneously</font>
4
+ <font color="#F5E665">Somos utilizando tres subtítulos simultáneamente</font>
5
+
6
+ 2
7
+ 00:00:02,500 --> 00:00:10,000
8
+ <font color="#EDF393">We are using three subtitles simultaneously</font>
9
+ <font color="#F5E665">Somos utilizando tres subtítulos simultáneamente</font>
10
+ <font color="#FFC472">Wir verwenden drei Untertitel zur gleichen Zeit</font>
11
+
12
+ 3
13
+ 00:00:12,000 --> 00:00:12,500
14
+ <font color="#EDF393">That is correct</font>
15
+ <font color="#F5E665">Esto es correcto</font>
16
+
17
+ 4
18
+ 00:00:12,500 --> 00:00:20,000
19
+ <font color="#EDF393">That is correct</font>
20
+ <font color="#F5E665">Esto es correcto</font>
21
+ <font color="#FFC472">Das stimmt</font>
22
+
23
+ 5
24
+ 00:00:20,000 --> 00:00:20,500
25
+ <font color="#F5E665">Esto es correcto</font>
26
+ <font color="#FFC472">Das stimmt</font>
27
+
28
+ 6
29
+ 00:00:20,500 --> 00:00:21,000
30
+ <font color="#FFC472">Das stimmt</font>
31
+
32
+ 7
33
+ 00:00:22,000 --> 00:00:22,500
34
+ <font color="#FFC472">Sie sind jedoch nicht ganz synchron</font>
35
+
36
+ 8
37
+ 00:00:22,500 --> 00:00:23,000
38
+ <font color="#EDF393">They are not fully aligned, though</font>
39
+ <font color="#FFC472">Sie sind jedoch nicht ganz synchron</font>
40
+
41
+ 9
42
+ 00:00:23,000 --> 00:00:30,000
43
+ <font color="#EDF393">They are not fully aligned, though</font>
44
+ <font color="#F5E665">No son alineado sin embargo</font>
45
+ <font color="#FFC472">Sie sind jedoch nicht ganz synchron</font>
46
+
47
+ 10
48
+ 00:00:30,000 --> 00:00:30,500
49
+ <font color="#EDF393">They are not fully aligned, though</font>
50
+ <font color="#F5E665">No son alineado sin embargo</font>
51
+
52
+ 11
53
+ 00:00:30,500 --> 00:00:31,000
54
+ <font color="#F5E665">No son alineado sin embargo</font>
55
+
@@ -0,0 +1,25 @@
1
+ [Script Info]
2
+ ScriptType: v4.00
3
+
4
+ [V4 Styles]
5
+ Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
6
+ Style: Default,Arial,16,16777215,16777215,16777215,-2147483640,0,0,1,3,0,2,70,70,40,0,0
7
+ Style: Middle,Arial,16,16777215,16777215,16777215,-2147483640,0,0,1,3,0,10,70,70,40,0,0
8
+ Style: Top,Arial,16,16777215,16777215,16777215,-2147483640,0,0,1,3,0,6,70,70,40,0,0
9
+ Style: EDF393,Arial,16,9696237,9696237,9696237,-2147483640,0,0,1,3,0,2,70,70,40,0,0
10
+ Style: F5E665,Arial,16,6678261,6678261,6678261,-2147483640,0,0,1,3,0,2,70,70,40,0,0
11
+ Style: FFC472,Arial,16,7521535,7521535,7521535,-2147483640,0,0,1,3,0,2,70,70,40,0,0
12
+ Style: FFA891,Arial,16,9545983,9545983,9545983,-2147483640,0,0,1,3,0,2,70,70,40,0,0
13
+ Style: 89BABE,Arial,16,12499593,12499593,12499593,-2147483640,0,0,1,3,0,2,70,70,40,0,0
14
+
15
+ [Events]
16
+ Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
17
+ Dialogue: 0,0:00:02.00,0:00:10.00,Default,,0000,0000,0000,,We are using three subtitles simultaneously
18
+ Dialogue: 0,0:00:02.00,0:00:10.00,Top,,0000,0000,0000,,Somos utilizando tres subtítulos simultáneamente
19
+ Dialogue: 0,0:00:02.50,0:00:10.00,Middle,,0000,0000,0000,,Wir verwenden drei Untertitel zur gleichen Zeit
20
+ Dialogue: 0,0:00:12.00,0:00:20.00,Default,,0000,0000,0000,,That is correct
21
+ Dialogue: 0,0:00:12.00,0:00:20.50,Top,,0000,0000,0000,,Esto es correcto
22
+ Dialogue: 0,0:00:12.50,0:00:21.00,Middle,,0000,0000,0000,,Das stimmt
23
+ Dialogue: 0,0:00:22.00,0:00:30.00,Middle,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
24
+ Dialogue: 0,0:00:22.50,0:00:30.50,Default,,0000,0000,0000,,They are not fully aligned, though
25
+ Dialogue: 0,0:00:23.00,0:00:31.00,Top,,0000,0000,0000,,No son alineado sin embargo
@@ -0,0 +1,25 @@
1
+ [Script Info]
2
+ ScriptType: v4.00
3
+
4
+ [V4 Styles]
5
+ Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
6
+ Style: Default,Arial,16,16777215,16777215,16777215,-2147483640,0,0,1,3,0,2,70,70,40,0,0
7
+ Style: Middle,Arial,16,16777215,16777215,16777215,-2147483640,0,0,1,3,0,10,70,70,40,0,0
8
+ Style: Top,Arial,16,16777215,16777215,16777215,-2147483640,0,0,1,3,0,6,70,70,40,0,0
9
+ Style: EDF393,Arial,16,9696237,9696237,9696237,-2147483640,0,0,1,3,0,2,70,70,40,0,0
10
+ Style: F5E665,Arial,16,6678261,6678261,6678261,-2147483640,0,0,1,3,0,2,70,70,40,0,0
11
+ Style: FFC472,Arial,16,7521535,7521535,7521535,-2147483640,0,0,1,3,0,2,70,70,40,0,0
12
+ Style: FFA891,Arial,16,9545983,9545983,9545983,-2147483640,0,0,1,3,0,2,70,70,40,0,0
13
+ Style: 89BABE,Arial,16,12499593,12499593,12499593,-2147483640,0,0,1,3,0,2,70,70,40,0,0
14
+
15
+ [Events]
16
+ Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
17
+ Dialogue: 0,0:00:02.00,0:00:10.00,Default,,0000,0000,0000,,We are using three subtitles simultaneously
18
+ Dialogue: 0,0:00:02.00,0:00:10.00,Top,,0000,0000,0000,,Somos utilizando tres subtítulos simultáneamente
19
+ Dialogue: 0,0:00:02.50,0:00:10.00,Middle,,0000,0000,0000,,Wir verwenden drei Untertitel zur gleichen Zeit
20
+ Dialogue: 0,0:00:12.00,0:00:20.00,Default,,0000,0000,0000,,That is correct
21
+ Dialogue: 0,0:00:12.00,0:00:20.50,Top,,0000,0000,0000,,Esto es correcto
22
+ Dialogue: 0,0:00:12.50,0:00:21.00,Middle,,0000,0000,0000,,Das stimmt
23
+ Dialogue: 0,0:00:22.00,0:00:30.00,Middle,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
24
+ Dialogue: 0,0:00:22.50,0:00:30.50,Default,,0000,0000,0000,,They are not fully aligned, though
25
+ Dialogue: 0,0:00:23.00,0:00:31.00,Top,,0000,0000,0000,,No son alineado sin embargo
@@ -0,0 +1,11 @@
1
+ 1
2
+ 00:00:02,500 --> 00:00:10,000
3
+ Wir verwenden drei Untertitel zur gleichen Zeit
4
+
5
+ 2
6
+ 00:00:12,500 --> 00:00:21,000
7
+ Das stimmt
8
+
9
+ 3
10
+ 00:00:22,000 --> 00:00:30,000
11
+ Sie sind jedoch nicht ganz synchron
@@ -0,0 +1,11 @@
1
+ 1
2
+ 00:00:02,000 --> 00:00:10,000
3
+ Somos utilizando tres subtítulos simultáneamente
4
+
5
+ 2
6
+ 00:00:12,000 --> 00:00:20,500
7
+ Esto es correcto
8
+
9
+ 3
10
+ 00:00:23,000 --> 00:00:31,000
11
+ No son alineado sin embargo
@@ -0,0 +1,93 @@
1
+ [Script Info]
2
+ ScriptType: v4.00+
3
+
4
+ [V4+ Styles]
5
+ Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
6
+ Style: Default,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
7
+ Style: Top,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,8,20,20,20,1
8
+ Style: Middle,Arial,16,&H00FFFFFF,&H00FFFFFF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,5,20,20,20,1
9
+ Style: EDF393,Arial,16,&H0093F3ED,&H0093F3ED,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
10
+ Style: F5E665,Arial,16,&H0065E6F5,&H0065E6F5,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
11
+ Style: FFC472,Arial,16,&H0072C4FF,&H0072C4FF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
12
+ Style: FFA891,Arial,16,&H0091A8FF,&H0091A8FF,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
13
+ Style: 89BABE,Arial,16,&H00BEBA89,&H00BEBA89,&H40000000,&H40000000,0,0,0,0,100,100,0,0.00,1,3,0,2,20,20,20,1
14
+
15
+ [Events]
16
+ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
17
+ Dialogue: 0,0:00:01.00,0:00:02.00,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
18
+ Dialogue: 0,0:00:02.00,0:00:02.40,EDF393,,0000,0000,0000,,Wir verwenden sechs Untertitel zur gleichen Zeit
19
+ Dialogue: 0,0:00:02.00,0:00:02.40,F5E665,,0000,0000,0000,,We are using six subtitles simultaneously
20
+ Dialogue: 0,0:00:02.00,0:00:02.40,FFC472,,0000,0000,0000,,Somos utilizando seis subtítulos simultáneamente
21
+ Dialogue: 0,0:00:02.00,0:00:02.40,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
22
+ Dialogue: 0,0:00:02.40,0:00:02.70,EDF393,,0000,0000,0000,,Wir verwenden sechs Untertitel zur gleichen Zeit
23
+ Dialogue: 0,0:00:02.40,0:00:02.70,F5E665,,0000,0000,0000,,We are using six subtitles simultaneously
24
+ Dialogue: 0,0:00:02.40,0:00:02.70,FFC472,,0000,0000,0000,,Somos utilizando seis subtítulos simultáneamente
25
+ Dialogue: 0,0:00:02.40,0:00:02.70,89BABE,,0000,0000,0000,,We are using way too many here
26
+ Dialogue: 0,0:00:02.40,0:00:02.70,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
27
+ Dialogue: 0,0:00:02.70,0:00:10.00,EDF393,,0000,0000,0000,,Wir verwenden sechs Untertitel zur gleichen Zeit
28
+ Dialogue: 0,0:00:02.70,0:00:10.00,F5E665,,0000,0000,0000,,We are using six subtitles simultaneously
29
+ Dialogue: 0,0:00:02.70,0:00:10.00,FFC472,,0000,0000,0000,,Somos utilizando seis subtítulos simultáneamente
30
+ Dialogue: 0,0:00:02.70,0:00:10.00,FFA891,,0000,0000,0000,,¿Qué está pasando?
31
+ Dialogue: 0,0:00:02.70,0:00:10.00,89BABE,,0000,0000,0000,,We are using way too many here
32
+ Dialogue: 0,0:00:02.70,0:00:10.00,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
33
+ Dialogue: 0,0:00:10.00,0:00:10.30,FFA891,,0000,0000,0000,,¿Qué está pasando?
34
+ Dialogue: 0,0:00:10.00,0:00:10.30,89BABE,,0000,0000,0000,,We are using way too many here
35
+ Dialogue: 0,0:00:10.00,0:00:10.30,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
36
+ Dialogue: 0,0:00:10.30,0:00:10.40,89BABE,,0000,0000,0000,,We are using way too many here
37
+ Dialogue: 0,0:00:10.30,0:00:10.40,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
38
+ Dialogue: 0,0:00:10.40,0:00:11.00,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
39
+ Dialogue: 0,0:00:11.90,0:00:12.00,FFA891,,0000,0000,0000,,¡Dios mio!
40
+ Dialogue: 0,0:00:12.00,0:00:12.10,EDF393,,0000,0000,0000,,Das stimmt
41
+ Dialogue: 0,0:00:12.00,0:00:12.10,F5E665,,0000,0000,0000,,That is correct
42
+ Dialogue: 0,0:00:12.00,0:00:12.10,FFC472,,0000,0000,0000,,Esto es correcto
43
+ Dialogue: 0,0:00:12.00,0:00:12.10,FFA891,,0000,0000,0000,,¡Dios mio!
44
+ Dialogue: 0,0:00:12.10,0:00:12.20,EDF393,,0000,0000,0000,,Das stimmt
45
+ Dialogue: 0,0:00:12.10,0:00:12.20,F5E665,,0000,0000,0000,,That is correct
46
+ Dialogue: 0,0:00:12.10,0:00:12.20,FFC472,,0000,0000,0000,,Esto es correcto
47
+ Dialogue: 0,0:00:12.10,0:00:12.20,FFA891,,0000,0000,0000,,¡Dios mio!
48
+ Dialogue: 0,0:00:12.10,0:00:12.20,89BABE,,0000,0000,0000,,Man I feel sick
49
+ Dialogue: 0,0:00:12.20,0:00:20.00,EDF393,,0000,0000,0000,,Das stimmt
50
+ Dialogue: 0,0:00:12.20,0:00:20.00,F5E665,,0000,0000,0000,,That is correct
51
+ Dialogue: 0,0:00:12.20,0:00:20.00,FFC472,,0000,0000,0000,,Esto es correcto
52
+ Dialogue: 0,0:00:12.20,0:00:20.00,FFA891,,0000,0000,0000,,¡Dios mio!
53
+ Dialogue: 0,0:00:12.20,0:00:20.00,89BABE,,0000,0000,0000,,Man I feel sick
54
+ Dialogue: 0,0:00:12.20,0:00:20.00,EDF393,,0000,0000,0000,,Die Dinge geraten aus dem Ruder
55
+ Dialogue: 0,0:00:20.00,0:00:20.20,FFA891,,0000,0000,0000,,¡Dios mio!
56
+ Dialogue: 0,0:00:20.00,0:00:20.20,89BABE,,0000,0000,0000,,Man I feel sick
57
+ Dialogue: 0,0:00:20.00,0:00:20.20,EDF393,,0000,0000,0000,,Die Dinge geraten aus dem Ruder
58
+ Dialogue: 0,0:00:20.20,0:00:20.90,FFA891,,0000,0000,0000,,¡Dios mio!
59
+ Dialogue: 0,0:00:20.20,0:00:20.90,89BABE,,0000,0000,0000,,Man I feel sick
60
+ Dialogue: 0,0:00:20.90,0:00:21.40,FFA891,,0000,0000,0000,,¡Dios mio!
61
+ Dialogue: 0,0:00:22.00,0:00:22.40,F5E665,,0000,0000,0000,,They are not fully aligned, though
62
+ Dialogue: 0,0:00:22.40,0:00:22.50,F5E665,,0000,0000,0000,,They are not fully aligned, though
63
+ Dialogue: 0,0:00:22.40,0:00:22.50,FFA891,,0000,0000,0000,,Esta cosa esta totalmente loca
64
+ Dialogue: 0,0:00:22.50,0:00:22.80,EDF393,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
65
+ Dialogue: 0,0:00:22.50,0:00:22.80,F5E665,,0000,0000,0000,,They are not fully aligned, though
66
+ Dialogue: 0,0:00:22.50,0:00:22.80,FFA891,,0000,0000,0000,,Esta cosa esta totalmente loca
67
+ Dialogue: 0,0:00:22.80,0:00:23.00,EDF393,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
68
+ Dialogue: 0,0:00:22.80,0:00:23.00,F5E665,,0000,0000,0000,,They are not fully aligned, though
69
+ Dialogue: 0,0:00:22.80,0:00:23.00,FFA891,,0000,0000,0000,,Esta cosa esta totalmente loca
70
+ Dialogue: 0,0:00:22.80,0:00:23.00,EDF393,,0000,0000,0000,,Sie sind überhaupt nicht synchron aber wen interessiert das schon
71
+ Dialogue: 0,0:00:23.00,0:00:23.50,EDF393,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
72
+ Dialogue: 0,0:00:23.00,0:00:23.50,F5E665,,0000,0000,0000,,They are not fully aligned, though
73
+ Dialogue: 0,0:00:23.00,0:00:23.50,FFC472,,0000,0000,0000,,No son alineado sin embargo
74
+ Dialogue: 0,0:00:23.00,0:00:23.50,FFA891,,0000,0000,0000,,Esta cosa esta totalmente loca
75
+ Dialogue: 0,0:00:23.00,0:00:23.50,EDF393,,0000,0000,0000,,Sie sind überhaupt nicht synchron aber wen interessiert das schon
76
+ Dialogue: 0,0:00:23.50,0:00:30.00,EDF393,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
77
+ Dialogue: 0,0:00:23.50,0:00:30.00,F5E665,,0000,0000,0000,,They are not fully aligned, though
78
+ Dialogue: 0,0:00:23.50,0:00:30.00,FFC472,,0000,0000,0000,,No son alineado sin embargo
79
+ Dialogue: 0,0:00:23.50,0:00:30.00,FFA891,,0000,0000,0000,,Esta cosa esta totalmente loca
80
+ Dialogue: 0,0:00:23.50,0:00:30.00,89BABE,,0000,0000,0000,,This is getting way out of hand!
81
+ Dialogue: 0,0:00:23.50,0:00:30.00,EDF393,,0000,0000,0000,,Sie sind überhaupt nicht synchron aber wen interessiert das schon
82
+ Dialogue: 0,0:00:30.00,0:00:30.30,EDF393,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
83
+ Dialogue: 0,0:00:30.00,0:00:30.30,FFC472,,0000,0000,0000,,No son alineado sin embargo
84
+ Dialogue: 0,0:00:30.00,0:00:30.30,FFA891,,0000,0000,0000,,Esta cosa esta totalmente loca
85
+ Dialogue: 0,0:00:30.00,0:00:30.30,89BABE,,0000,0000,0000,,This is getting way out of hand!
86
+ Dialogue: 0,0:00:30.00,0:00:30.30,EDF393,,0000,0000,0000,,Sie sind überhaupt nicht synchron aber wen interessiert das schon
87
+ Dialogue: 0,0:00:30.30,0:00:30.50,EDF393,,0000,0000,0000,,Sie sind jedoch nicht ganz synchron
88
+ Dialogue: 0,0:00:30.30,0:00:30.50,FFC472,,0000,0000,0000,,No son alineado sin embargo
89
+ Dialogue: 0,0:00:30.30,0:00:30.50,89BABE,,0000,0000,0000,,This is getting way out of hand!
90
+ Dialogue: 0,0:00:30.30,0:00:30.50,EDF393,,0000,0000,0000,,Sie sind überhaupt nicht synchron aber wen interessiert das schon
91
+ Dialogue: 0,0:00:30.50,0:00:31.00,FFC472,,0000,0000,0000,,No son alineado sin embargo
92
+ Dialogue: 0,0:00:30.50,0:00:31.00,89BABE,,0000,0000,0000,,This is getting way out of hand!
93
+ Dialogue: 0,0:00:31.00,0:00:32.10,89BABE,,0000,0000,0000,,This is getting way out of hand!