Skip to content

CLI and package for flawless translation. Transitle is a AI-based subtitle translator. It allows you to translate subtitles in a directory flawlessly with your favorite translator. Translate bunch of subtitlesfrom original language to desired language. This gives you a AI-based translated subtitle.

License

Notifications You must be signed in to change notification settings

gunesmes/translate-subtitles

Repository files navigation

AI Based Subtitle Translator - transitle
===============================
|PyPI latest| |PyPI Version| |PyPI License| |Docs|

Transitle is a AI-based subtitle translator. It allows you to translate subtitles 
in a directory flawlessly with your favorite translator. Translate bunch of 
subtitlesfrom original language to desired language. This gives you a AI-based
translated subtitle. 

Transitle also has support for using AI-based translator such as:
 - [deepl](https://www.deepl.com/translator)
 - [google](https://translate.google.com/)
 - [mymemory](https://mymemory.ai/)
 - [papago](https://papago.naver.com/)
 - [qcri](https://mt.qcri.org/api/)


Install the package

```shell
pip install transitle
```

<!---
![Subtitle Demo Gif](img/tty.gif)
--->

To run the translater
=====================

-  install the ``transitle`` via pip ``pip install transitle``
-  you must have a valid subtitle in .srt format
-  You can use Google translator or yandex
-  For yandex you must have Yandex Translater API key. You can get it
   from here: http://api.yandex.com/key/keyslist.xml

Translators
-----------
There buch of translators including AI-based translation `Deepl`. You can
register and create a API token and then put it in the environment variables.
Most of the toolings provide free limited translation.

Alternative translators:
 - google
 - chatgpt
 - microsoft
 - pons
 - linguee
 - mymemory
 - yandex
 - papago
 - deepl
 - qcri

Run as a CLI tooling
--------------------
      pip install transitle
      ts ~/Downloads/subtitles google en tr
      
      - - - - - - - - Translating: sample.srt - - - - - - - -
      1
      00:00:09,750 --> 00:00:10,666
      <i>São Paulo,</i>

      2
      00:00:10,750 --> 00:00:13,166
      <i>neredeyse 13 milyon kişi.</i>
      
Use as a library
----------------

* Translate subtitles in a path

      >>> from transitle import ts
      >>> ts('/Users/mesutgunes/Downloads/subtitles', 'google', 'en', 'tr')

      - - - - - - - - Translating: sample.srt - - - - - - - -
      1
      00:00:09,750 --> 00:00:10,666
      <i>São Paulo,</i>

      2
      00:00:10,750 --> 00:00:13,166
      <i>neredeyse 13 milyon kişi.</i>

      3
      00:00:13,250 --> 00:00:16,583
      <i>Hikayemin bu kısmı burada başladı.
      sonbaharda.</i>



* Translate a subtitle

      >>> from translate_subtitles import TranslateSubtitle
      >>> tr = TranslateSubtitle()
      >>> tr.subtitle_translator('/Users/mesutgunes/Downloads/subtitles/sample.srt', 'google', 'en', 'tr')

      - - - - - - - - Translating: sample.srt - - - - - - - -
      1
      00:00:09,750 --> 00:00:10,666
      <i>São Paulo,</i>

      2
      00:00:10,750 --> 00:00:13,166
      <i>neredeyse 13 milyon kişi.</i>

Local Development
=================

Make sure you have Python 2.7 or above installed Check Python:

      python --version

Clone the project:

      git clone https://github.com/gunesmes/subtitle_translator.git

Edit code and install it
      
      pip3 install .  

Use it as normal

      ts('/Users/mesutgunes/Downloads/subtitles', 'google', 'en', 'tr') 

-  Don't wory about source language, translater can understand it. (not
   released)
-  Check language abbreviation:
   https://developers.google.com/translate/v2/using_rest#language-params
-  The .srt files in the given directory are to be translated to target
   language

About

CLI and package for flawless translation. Transitle is a AI-based subtitle translator. It allows you to translate subtitles in a directory flawlessly with your favorite translator. Translate bunch of subtitlesfrom original language to desired language. This gives you a AI-based translated subtitle.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages