Skip to content

Releases: machinewrapped/gpt-subtrans

Added Amazon Bedrock (AWS) as a provider

26 Jan 11:15
c30c8fe
Compare
Choose a tag to compare

Made Amazon Bedrock available as a translation provider. Note that this is NOT recommended for most users. The AWS setup process is a lot more complicated than getting an API key for other providers, and the available models (which depend on the AWS region) may or may not be able to handle translation tasks well or at all.

However, if you are used to using AWS and Bedrock, the option is now there. Let us know in the discussions section if you find any of the models it offers particularly good for translation.

It won't be receiving much official support, so any fixes or improvements might be best handled by the community of people who actually use it (if any!).

Added DeepSeek and Mistral providers

24 Jan 19:02
Compare
Choose a tag to compare

Support added for:

DeepSeek
Uses the OpenAI client library, but making it a separate provider allows saving a separate API key etc.

Only two models are currently exposed via the API, and deepseek-chat is probably the only one that's suitable for translation. It seems a little bit limited as a translator, with awkward translations and some mangled lines, but it is at least very cheap!

Mistral
Uses the MistralAI Python library.

Mistral offer a range of models, most of which are very specialised and presumably not suitable for translation (e.g. the code models).

open-mistral-nemo is the default if none is specified but it seems quite unreliable, and does not do well with larger batch sizes. mistral-large-latest may be a better choice.

Additionally:

OpenAI
The OpenAI provider now filters out vision, audio and realtime models since these are not suitable for translation.

Conversely, if no GPT models are found in the model list it will be returned unfiltered, so that it can be used with any provider that offers an OpenAI-compatible API by setting the base URL.

Claude
Model list has been updated to the latest available models.

v1.0.1

18 Jan 21:30
Compare
Choose a tag to compare

No major changes in this release, just a bug fix, an update to the default instructions and the latest versions of dependent libraries.

Since the program has been stable for quite some time and has quite good test coverage now, I've decided it's time to come out of beta and make this the official v1.0 release for gpt-subtrans!

Fixed: Stop On Error failing to abort the translation when there are errors

Full Changelog: v0.8.4...v1.0.1

Option to add RTL markers to translated output

29 Oct 19:20
Compare
Choose a tag to compare

Optionally adds Unicode RTL markers to lines which contain primarily Right-To-Left script, which can improve the display and formatting of subtitles in e.g. Arabic. Has no effect if less than 50% of the line is in an RTL script.

Also adds proxy support for Claude API calls, and adds the latest Claude models to the supported model list.

All libraries and modules updated to the latest version except for PySide6, which has seemingly added support for detecting system light/dark themes - in a way that wreaks total havoc on the app's built-in themes 🙄

Load/save instructions from appdata folder

13 Jul 06:15
0ddc531
Compare
Choose a tag to compare

Minor update.:

  • Fix for subtitles that start at 0:00:00,000 being lost
  • Load/Save instructions files in application data folder so that they survive update/reinstall
  • Support for Claude 3.5 Sonnet, and an option to manually specify future Anthropic models

Full Changelog: v0.8.2...v0.8.3

Undo/Redo for edit scene/batch/line

09 Jun 14:09
Compare
Choose a tag to compare

Changed edit scene, edit batch and edit line to work via the command system so that they can be undone and redone. If you didn't know you could edit scenes, batches or lines try double-clicking things in the GUI 😅

Underneath the hood there was a major overhaul of the command system to better support these operations, and to improve parallelism and feedback via the status bar. Please report any new issues you encounter.

There is some additional new functionality that is activated by holding shift when clicking icons in the main toolbar:

  • Shift + Load - will reload the subtitles from the source file for existing projects, in case you want to change the batch settings. Top-level settings like the movie name and description will be kept, but all translations and scene/batch descriptions will be lost. I recommend enabling "Write Backup" in the settings menu, so that you can recover the previous version by renaming the .subtrans-backup file to .subtrans, in case it turns out this wasn't really what you wanted.
  • Shift + Save - This isn't new at all, but in case you didn't already know, it allows you to save the project with a different name or path. Translated subtitles will follow the project.
  • Shift + Start Translating - Will restart translation from the beginning, retranslating any scenes/batches that have existing translations, instead of resuming at the first untranslated batch.
  • Shift + Start Translating Fast - As above but using multiple translation threads.

Speaking of fast translation, this option is now enabled dynamically based on the provider settings - typically this means that it will be disabled if you set a rate limit for the provider, in order to respect the limit. It will also now be respected by "Translate Selection", which previously always used multiple threads if the selection spanned multiple scenes.

What's Changed

Full Changelog: v0.8.1...v0.8.2

Fix for parallel translations

04 Jun 16:48
Compare
Choose a tag to compare

Minor fix for an error that could occur when stopping/aborting multiple parallel translation commands (e.g. using "Translate Selection" with multiple scenes selected).

Also includes an update to the openai module which may fix a crash that could occur in parallel translations.

Undo/Redo commands

03 Jun 18:15
Compare
Choose a tag to compare

Finally got around to implementing undo/redo for commands, which have been sitting there as a TODO since the GUI was first written. Undo/Redo is supported for:

  • Merge scenes
  • Merge batches
  • Split scene
  • Split / Auto-split batch
  • Merge lines
  • Delete lines (a new command, the motivation to finally implement undo)
  • Reparse translation (also new)

Undo/Redo is NOT supported for the following commands, and they will clear the undo stack.

  • Load project / subtitles
  • Translate selection
  • Start/resume translation

Undo is also not supported for these operations, as they are not technically commands. The next release will probably convert them to undoable commands.

  • Edit scene/batch description
  • Edit subtitle text/translation

You can hover over the undo/redo icons in the toolbar to see what type of command will be undone or redone, if in doubt.

There were a lot of technical changes to support undo/redo, so as with any major update there are bound to be new bugs. The automated test suite has been greatly expanded though and quite a few bugs were squashed, so hopefully it is pretty stable. As ever, please report an issue if something isn't working as you would expect it to.

This release also adds a pre-processor option to merge lines shorter than a given length with the previous line. This is to help with the add absurdly short lines (<0.2 seconds) Whisper generates on occasion, but it's not really possible to know whether those lines are an orphaned part of the previous line or just a random hallucination, so this is definitely not guaranteed to improve the result, so it is not enabled by default (the duration is set to 0 seconds).

What's Changed

Full Changelog: v0.7.10...v0.8.0

Detect and fix unclosed <summary> tags in last line of translation

24 May 06:09
Compare
Choose a tag to compare

This release fixes the problem that sometimes occurs where the last line of a batch contains the batch summary because the closing tag is not present. If the last line is implausibly long the parser checks for an opening tag in the text, and discards anything from that point.

This is mainly an issue with Gemini, and seems to be even more common with Gemini 1.5 Flash as it sometimes produces absurdly long summaries and runs out of tokens (but is otherwise a very good translator). Along with the more flexible parsing in v0.7.8 this should basically eliminate structural errors in Gemini translations.

(v0.7.10 is a bug fix replacing v0.7.9)

Full Changelog: v0.7.8...v0.7.10

Improved handling of malformed Gemini responses

22 May 19:58
Compare
Choose a tag to compare

Adjusted the translation parser to handle the most common problems with translations returned by Gemini, which should fix most of the errors where you see something like this in the translation:

#123
Original>
Something or other
Translation>

This should reduce the number of retranslation requests and errors when translating with Gemini.