SubtitleEdit / subtitleedit

the subtitle editor :)
http://www.nikse.dk/SubtitleEdit/Help
GNU General Public License v3.0
8.93k stars 916 forks source link

[Request] Add setting for dialogue style #3416

Closed Flitskikker closed 4 years ago

Flitskikker commented 5 years ago

In the subtitling world, every country has their own guidelines and style. One of the elements that are different across countries, is the dialogue style. At the moment, Subtitle Edit only supports one dialogue style. I think it would be useful to allow the user to configure the dialogue style used.

As far as I can tell, these are the 4 most common dialogue styles:

English fansubs / Scandinavian subtitles (currently the only supported style):

- Lorem ipsum dolor sit amet.
- Consectetur adipiscing elit.

English retail subtitles:

-Lorem ipsum dolor sit amet.
-Consectetur adipiscing elit.

Dutch professional subtitles:

Lorem ipsum dolor sit amet.
-Consectetur adipiscing elit.

Dutch fansubs / Flemish subtitles:

Lorem ipsum dolor sit amet.
- Consectetur adipiscing elit.

However, there are countries that have dialog dashes mid-line, and there are countries that use the en dash (–) instead of a hyphen (-) as a dialogue dash, so I think it would be best to implement generic settings as follows:

se3

These settings would then be used across the whole application, for example:

I'm following the professional Dutch style, so at the moment I do everything dialogue-related manually. It would be nice to finally be able to use these features. 😄

Thanks in advance!

Ding-adong commented 5 years ago
Flitskikker commented 5 years ago

In Dutch, we call it the "second speaker dash". A single dash is also used in other languages than Dutch, such as Bulgarian, Croatian, Icelandic, Slovenian, Serbian... probably more. Therefore, I think many users would benefit from such an option.

darnn commented 5 years ago

For what it's worth, in Hebrew it's usually the same as in the above example of Dutch professional subtitles.

OmrSi commented 5 years ago

In Arabic, we always use the first one, whether it is for Netflix, Amazon or fansubbing.

marb99 commented 5 years ago

In Portuguese European and Brazilian always use the first one, the same as OmrSi

OmrSi commented 5 years ago

@marb99 I think it's the one most used...

niksedk commented 4 years ago

Dialog styles should now be available in latest beta: https://github.com/SubtitleEdit/subtitleedit/releases/download/3.5.13/SubtitleEditBeta.zip

For more info see pull request #3993

Please test :) Also, please check profiles.

Ding-adong commented 4 years ago

Not working properly. When there is a dash before a single person speaking, the 'remove dialogue hyphen in single line' will not work. ie.

- Hello. (more than unbreak subtitle more than in settings)

In order to work I had to uncheck 'Break long lines'. I think the Break long line should be at the bottom of the 'what to fix' list in fix common errors, so it only activates after all corrections had been sorted.

If there is a line break the unchecking 'break long lines' will not remove the hyphen. I had to unbreak the line into a single line before using fix common errors.

niksedk commented 4 years ago

@Ding-adong: Could you re-try in latest beta: https://github.com/SubtitleEdit/subtitleedit/releases/download/3.5.13/SubtitleEditBeta.zip ? If it still happens, a screenshot or two would be very nice (as I cannot re-create it now).

Ding-adong commented 4 years ago

Nope.

- In the new company (line break) that I'm starting up.

Will not work unless i unbreak the line into one long line. My max length of single line is 34 and if

- In the new company.

it will work. But Not when over max length of single line where there is a line break as shown in first example.

niksedk commented 4 years ago

@Ding-adong: thx for the example :) Beta updated: https://github.com/SubtitleEdit/subtitleedit/releases/download/3.5.13/SubtitleEditBeta.zip

Ding-adong commented 4 years ago

Congrats man.

That worked as intended. Will let you know if there is any new issue. So far none.

Looks like this thread is solved.

Ding-adong commented 4 years ago

Oh heck doesn't work properly.

Worked when last character on 1st line is letter.

- You know, that's okay
We're in kind of a hurry.

Worked when last character on 1st line is comma.

- You know, that's okay,
We're in kind of a hurry.

Failed when last character on 1st line is full stop.

- You know, that's okay.
We're in kind of a hurry.

Failed when last character on 1st line is ?

- You know, that's okay?
We're in kind of a hurry.

Failed when last character on 1st line is !

- You know, that's okay!
We're in kind of a hurry.

Failed when last character on 1st line is ♪

- You know, that's okay ♪
We're in kind of a hurry.
OmrSi commented 4 years ago

@niksedk So, I got to do some testing now on a subtitle. This is an Arabic subtitle with no punctuation at the end of lines, it's from iTunes. Check out line 891: Knives.Out.2019.BluRay.zip There are two reasons for not detecting it here, the first one is that there is a Unicode control char at the beginning of the line and the second is that it doesn't end with punctuation.

Ding-adong commented 4 years ago

There was some changes in how fix (add dash) and fix (remove dash), fix common errors, works last year. In the last few months I had noticed a single speaker has a dash per line, making the assumption there are two speakers. I had to correct it while watching the programme. It happens when there are two sentences, broken into two lines like below. Today I just found out why.

- So what is that?
What does that mean?

Fix (add dash) change it into

- So what is that?
- What does that mean?

when it is suppose to be

So what is that?
What does that mean?

This is wrong. The purpose of fix (add dash) is to fix 'second speaker dash' such as dutch subs into dash for each speaker in eng sub. See top of thread for examples.

So what is that?
- What does that mean?

becomes

- So what is that?
- What does that mean?

is correct.

Ding-adong commented 4 years ago

This is an example why 'break long lines' in fix common errors need to done after 'fix (remove dash)'.

you would've been okay?
- Then I would still have it, yeah. (35 characters which is more than max chars per lines of 34)

becomes

you would've been okay? - Then
I would still have it, yeah.

then 'fix dialogs on one line' becomes

you would've been okay?
- Then I would still have it, yeah.

back to the same as the first. A horrible loop that refused to use 'fix (add dash)' until I uncheck 'break long lines.'

It should work like this.

you would've been okay?
- Then I would still have it, yeah. (35 characters which is more than max chars per lines of 34)

becomes (fix (add dash))

- you would've been okay?
- Then I would still have it, yeah. (35 characters which is more than max chars per lines of 34)

becomes (break long lines)

1; start time; end time; duration; You would've been okay?
2; start time; end time; duration; Then I would still have it, yeah.

else (fix (add dash))

- you would've been okay?
- Then I would still have it. (less than max chars per lines of 34)

No break long lines required.

niksedk commented 4 years ago

Closed via #3993