Skip to main content

CLI tool to translate markdown files

Project description

Markdown Docs Translator

Python contributions welcome

Markdown Docs Translator is an automated translator for Markdown documents, built with Python. The tool supports multiple translation services and provides a variety of options to customize the translation process.

Features

  • Support for multiple translation services (Yandex, Google, Bing, Deepl).
  • Multithreading for faster translations.
  • Options to overwrite original files, drop original files, or create a new file with translated text.
  • Continuing translation in case of an error or interruption.
  • Caching for faster repeat translations.
  • Verbosity level control.

Installation

Note: Chrome browser is required to be installed on your system.

From PyPI (highly recommended to use pipx):

pipx install md-translate

Git:

git clone https://github.com/ilyachch/md_docs-trans-app.git
cd md_docs-trans-app
pip install .

Usage

Example:

md-translate path_to_file_or_folder -F source_lang -T target_lang -P service [OPTIONS]

Where:

  • path_to_file_or_folder is the path to the markdown file or folder containing markdown files to translate.
  • source_lang is the language code of the source document.
  • target_lang is the language code for the translation.
  • service is the translating service to use (yandex, google, bing, deepl).
  • OPTIONS are additional options that can be specified as listed below.

Options

Option Description
-F, --from-lang TEXT Source language code [required]
-T, --to-lang TEXT Target language code [required]
-P, --service Translating service [required]
-X, --processes INTEGER Number of processes to use. Each file is translated in separate process.
-N, --new-file Create a new file with translated text (original file will remain unchanged). The new file will be created in the same directory as the original file with a "_translated" suffix
-I, --ignore-cache Ignore cache files. If cache exists, it will be overwritten
-S, --save-temp-on-complete Save cache files upon completion. If not set, they will be deleted
-O, --overwrite Already translated files will be overwritten. Otherwise, these files will be skipped
-D, --drop-original Remove original lines from translated file. These lines will be replaced with translated ones. Otherwise translated lines will be appended after originals
--deepl-api-key Deepl API key. Required by deepl_api translation provider.
-v, --verbose Verbosity level
--help Show help message and exit

Currently supported services are:

  • Yandex
  • Google
  • Bing
  • Deepl
  • LibreTranslate
  • DeepL API

Configuring with a Configuration File

Options for the application can be defined through a configuration file as well. This file should be named settings.json and is typically located at ~/.config/md_translate.

If you choose to use a non-default location for the config file, you can specify its path using the --config or -C option.

This configuration file can encompass all CLI options except path, from_lang, to_lang, service and config_file_path. These particular options need to be stated directly in the CLI.

The configuration file should be a valid JSON file and adhere to the following structure:

{
    "processes": 4,
    "new_file": true,
    "ignore_cache": false,
    "save_temp_on_complete": false,
    "overwrite": false,
    "verbose": 1,
    "drop_original": false
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

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

md_translate-3.3.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

md_translate-3.3.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file md_translate-3.3.0.tar.gz.

File metadata

  • Download URL: md_translate-3.3.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/6.5.0-1025-azure

File hashes

Hashes for md_translate-3.3.0.tar.gz
Algorithm Hash digest
SHA256 d05e924e382493e487fd343542b4c0f5bba44a93ae46c5b91a2326b81b2374b1
MD5 23381c740107c7bec8cdc9b5f8a78e7f
BLAKE2b-256 b8c8b663a24cebcb21a2eb36286627d7760461e518a523f539b590a3b546b4af

See more details on using hashes here.

File details

Details for the file md_translate-3.3.0-py3-none-any.whl.

File metadata

  • Download URL: md_translate-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/6.5.0-1025-azure

File hashes

Hashes for md_translate-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8ba9334339f5fdbef3230e1693f2226175dddc0dc887320198d8dd0b6971744
MD5 6363482707cdbbf561806c5522fe6852
BLAKE2b-256 da1cbcd30dbb958a69e78e183bd522a88fb51e9cee1c200072b90208d1e7ad24

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