machinewrapped / gpt-subtrans

Open Source project using LLMs to translate SRT subtitles
Other
311 stars 36 forks source link

Errors and additional features #99

Closed haitranvua closed 4 months ago

haitranvua commented 6 months ago

Thank you for developing this translation application; it's very helpful. However, as a user, I hope it will be further refined and enhanced. Here are some of my suggestions.

Error 1: I often encounter error messages indicating translation failure on certain subtitle lines. However, upon completing the translation, I double-checked and found that the subtitle segment had been successfully translated without any issues. Error 2: If I translate an incomplete .srt file (omitting translated subtitle segments), upon completing the translation, the output .srt file will have sequential numbering starting from 1. For instance, if I input an .srt file with subtitle segments starting at index 110, the saved subtitle file after translation will start with index 1.

Additional features Can you add the following features:

machinewrapped commented 6 months ago

Hi, thank you - I'm glad you're finding it useful.

GPT often does unpredictable things, so the translator has a built-in retry mechanism that performs basic validation of the response and requests corrections if it finds problems. If the errors are corrected in the final result, it's done its job :)

The translator does indeed renumber the subtitles to make sure the result is a valid srt file. I can make that an option, or record the first line number in the source file and start from the same number. If you use a project file then you shouldn't need to manage this yourself though, it will resume translation at the first untranslated batch: https://github.com/machinewrapped/gpt-subtrans?tab=readme-ov-file#project-file

Are you using the GUI or the command line? I'll assume command line, since the log should already be color-coded in the GUI. There are some Python libraries to add color to console output, I'll see if I can plug one in.

It should be pretty straightforward to write a Python script that uses the command line tool to process all the srt files in a folder... it shouldn't be hard to build it in though, maybe by specifying a wildcard e.g. /path/*.srt, I'll look into it.

If you're comfortable writing a bit of code it's not too difficult to build in support for multiple API keys... I'd rather not make it official, but take a look at https://github.com/machinewrapped/gpt-subtrans/issues/68 for ideas on how it could work.

If you're using the command line you can add -o or --output to specify where to write the translation. If you're using the GUI you can hold Shift when you click the Save icon to choose a new path - both the project and the translation will be saved there. It's a bit of a hidden feature.

haitranvua commented 6 months ago

Thank you for sharing, I will continue to use your tool and will give further feedback if needed.