Skip to main content

A Python script for translating Jupyter notebook files.

Project description

Jupyter Translate: a Python script for translating Jupyter notebook files

[version 2024]

This script was created as a general-purpose translator for Jupyter notebooks, translating across different languages (the default source language is English). Install it with:

pip install jupyter_translate

After installed, you can use it but running the following command in the terminal:

jupyter_translate test_Notebook_en.ipynb --target pt

A new file named test_Notebook_en_pt.ipynb will be created (or the code of the language you decided to use). There is also a script for automatically translating all .ipynb files in a folder and its subfolders. Additionally, you can use a version of the script that converts from/to any language, like:

jupyter_translate test_Notebook_pt.ipynb --source pt --target en

The program translates markdown content, comments in code cells, and messages formatted in print(f" ... ").

Translator Options:

By default, jupyter-translate uses googletrans on its backend. However, you can specify a different translator using the --translator option. Here’s how to use it:

jupyter_translate test_Notebook_en.ipynb --target pt --translator='mymemory'

Currently supported translators are:

  • google (default)
  • mymemory

**Caution:** If you are using `mymemory` as backend translator, the language codes are different. The script will show you the codes. Make sure to specify the correct `--source` and `--target` language codes supported by the selected translator. The --language option can be set to any of the following (codes from default `googletrans`:
Code Language Code Language Code Language Code Language
af afrikaans sq albanian am amharic ar arabic
hy armenian az azerbaijani eu basque be belarusian
bn bengali bs bosnian bg bulgarian ca catalan
ceb cebuano ny chichewa zh-cn chinese (simplified) zh-tw chinese (traditional)
co corsican hr croatian cs czech da danish
nl dutch en english eo esperanto et estonian
tl filipino fi finnish fr french fy frisian
gl galician ka georgian de german el greek
gu gujarati ht haitian creole ha hausa haw hawaiian
iw hebrew hi hindi hmn hmong hu hungarian
is icelandic ig igbo id indonesian ga irish
it italian ja japanese jw javanese kn kannada
kk kazakh km khmer ko korean ku kurdish (kurmanji)
ky kyrgyz lo lao la latin lv latvian
lt lithuanian lb luxembourgish mk macedonian mg malagasy
ms malay ml malayalam mt maltese mi maori
mr marathi mn mongolian my myanmar (burmese) ne nepali
no norwegian ps pashto fa persian pl polish
pt portuguese pa punjabi ro romanian ru russian
sm samoan gd scots gaelic sr serbian st sesotho
sn shona sd sindhi si sinhala sk slovak
sl slovenian so somali es spanish su sundanese
sw swahili sv swedish tg tajik ta tamil
te telugu th thai tr turkish uk ukrainian
ur urdu uz uzbek vi vietnamese cy welsh
xh xhosa yi yiddish yo yoruba zu zulu
fil Filipino he Hebrew

Other options:

--delay:
The delay in seconds between retries in case of connection issues. The default is 10 seconds. Adjusting this can help if you're facing connectivity issues, especially behind firewalls.

jupyter_translate my_notebook.ipynb --target es --delay=15

--rename:
If specified, this option will rename the original notebook file after the translation is complete. This can be useful if you want to keep the translated version as the primary file.

jupyter_translate my_notebook.ipynb --target es --rename

--print:
Use this option if you want to print the translations directly to the console as they happen.

jupyter_translate my_notebook.ipynb --target es --print

Implementation notes:

To set up a working Conda environment to use this tool, you must install a newer version of deep-translator via pip, as well as a few other libraries. You can do this with the included environment file. In your terminal, enter:

conda env create --file environment.yml
conda activate jtranslate

You can also reset the environment by running:

conda deactivate
conda remove --name jtranslate --all
conda env create -f environment.yml
conda activate jtranslate

Note: Copy and execute each line one by one—do not run them as a block. Caution: The googletrans API, as used by deep-translator, may face connectivity issues if you're behind a firewall. To improve accessibility in such environments, consider using the --delay option to introduce a pause between retries.

If you have any question or suggestion, use the pull request or discussion option in github.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter_translate-2024.0.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

jupyter_translate-2024.0.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_translate-2024.0.1.tar.gz.

File metadata

  • Download URL: jupyter_translate-2024.0.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for jupyter_translate-2024.0.1.tar.gz
Algorithm Hash digest
SHA256 03fcef6acfaa305d59719e386253bc55cfc3a0d666c05baf452beae269746cdb
MD5 c58a89b56240a86b581076d5467b6037
BLAKE2b-256 a081812fb217e3c1520000821bb51b262f31d05b99b43dd487995bc639ed2428

See more details on using hashes here.

File details

Details for the file jupyter_translate-2024.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyter_translate-2024.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1bb3d81f58ab71e0f2add57854443af209a1d95588ec7147391413cdbba387d0
MD5 09162ddcba4a299707f5cbc7b4d20f9f
BLAKE2b-256 5a8ce9cb1601b8eea00df5a41a894c4113fb16bc2da6c756fdb3c56f312dfada

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page