Skip to main content

Transipy is your one-stop solution for lightning-fast and accurate document translation.

Project description

Transipy

Downloads PyPI MIT License LinkedIn


Logo

Transipy: The Powerful and Fast Document Translation Tool

Transipy is your one-stop solution for lightning-fast and accurate document translation. With its parallel processing capabilities, Transipy effortlessly handles large volumes of data in various formats, including CSV, TXT, DOCX, and XLSX.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Bugs
  5. Contributing
  6. License
  7. Contact

About The Project

Transipy is your one-stop solution for lightning-fast and accurate document translation. With its parallel processing capabilities, Transipy effortlessly handles large volumes of data in various formats, including CSV, TXT, DOCX, and XLSX.

Key Features

  • Fastest Speed: Experience the fastest document translation available, thanks to Transipy's parallel processing techniques.
  • Versatile Format Support: Seamlessly translate your documents in CSV, TXT, DOCX, and XLSX formats, eliminating the need for manual conversions.
  • High Accuracy: Trust Transipy's powerful translation engine to deliver precise results, ensuring your message is conveyed accurately across languages.

Transform your document translation workflow with Transipy – the powerful, fast, and versatile solution you've been waiting for.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Installation

Install the required packages using the following command:

pip install transipy

Try a sample translation:

transipy -f examples/sample.csv -s en -t vi

You can also install from the git repository:

git clone git@github.com:NeiH4207/transipy.git
cd transipy
pip install -e .

Language and ISO-639 code

Language ISO-639 Code Language ISO-639 Code Language ISO-639 Code
Afrikaans af Albanian sq Amharic am
Arabic ar Armenian hy Azerbaijani az
Basque eu Belarusian be Bengali bn
Bosnian bs Bulgarian bg Catalan ca
Cebuano ceb Chichewa ny Chinese (Simplified) zh-CN
Chinese (Traditional) zh-TW Corsican co Croatian hr
Czech cs Danish da Dutch nl
English en Esperanto eo Estonian et
Filipino fil Finnish fi French fr
Frisian fy Galician gl Georgian ka
German de Greek el Gujarati gu
Haitian Creole ht Hausa ha Hawaiian haw
Hebrew he Hindi hi Hmong hmn
Hungarian hu Icelandic is Igbo ig
Indonesian id Irish ga Italian it
Japanese ja Javanese jv Kannada kn
Kazakh kk Khmer km Korean ko
Kurdish (Kurmanji) ku Kyrgyz ky Lao lo
Latin la Latvian lv Lithuanian lt
Luxembourgish lb Macedonian mk Malagasy mg
Malay ms Malayalam ml Maltese mt
Maori mi Marathi mr Mongolian mn
Myanmar (Burmese) my Nepali ne Norwegian no
Odia (Oriya) or Pashto ps Persian fa
Polish pl Portuguese pt Punjabi pa
Romanian ro Russian ru Samoan sm
Scots Gaelic gd Serbian sr Sesotho st
Shona sn Sindhi sd Sinhala si
Slovak sk Slovenian sl Somali so
Spanish es Sundanese su Swahili sw
Swedish sv Tajik tg Tamil ta
Tatar tt Telugu te Thai th
Turkish tr Turkmen tk Ukrainian uk
Urdu ur Uyghur ug Uzbek uz
Vietnamese vi Welsh cy Xhosa xh
Yiddish yi Yoruba yo Zulu zu

Usage

usage: transipy [-h] -f FILE_PATH [-l SEP] -s SOURCE -t TARGET [-c CHUNK_SIZE] [-o OUTPUT_FILE] [-d DICTIONARY] [--column COLUMN]
                [--skip SKIP] [--sheet SHEET]

Translate text in a file (.csv/.txt/.docx/.xlsx) from source language to target language.

options:
  -h, --help            show this help message and exit
  -f FILE_PATH, --file-path FILE_PATH
                        The source file path
  -l SEP, --sep SEP     The separator of the file [comma, tab, space,...]
  -s SOURCE, --source SOURCE
                        Source language (e.g. en, vi)
  -t TARGET, --target TARGET
                        Target language (e.g. en, vi)
  -c CHUNK_SIZE, --chunk-size CHUNK_SIZE
                        The chunk size for splitting the translation process
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        The output file path
  -d DICTIONARY, --dictionary DICTIONARY
                        The dictionary file path, used for custom translation
  --column COLUMN       The column name to translate, separated by comma
  --skip SKIP           The column name to skip, separated by comma
  --sheet SHEET         The sheet name to translate, separated by comma

Translate a CSV file

Example:

transipy -f path_to_file.[csv, tsv, txt, xlsx, docx] -s <source> -t <target>

Translate a file with a dictionary

The dictionary file is a JSON file that contains the translation of the words. The dictionary file should be in the following format (see examples/dictionary.json):

{
    "word_1": "translated_word_1",
    "word_2": "translated_word_2"
}

Example: You have a dictionary file named dictionary.json and you want to translate specific columns ("Title" and "Summary") from a CSV file from English to Vietnamese. You can use the following command:

transipy -f path_to_file.csv -s en -t vi -d path_to/dictionary.json --column Title,Summary

Example input file:

| Title            | Summary                   | Level 1 | Level 2        | Level 3        | Level 4 |
| ---------------- | ------------------------- | ------- | -------------- | -------------- | ------- |
| Stomach Cancer   | Likelihood of Development | lower   | slightly lower | slightly higher| higher  |
| Colorectal Cancer| Likelihood of Development | lower   | slightly lower | slightly higher| higher  |
| Thyroid Cancer   | Likelihood of Development | lower   | slightly lower | slightly higher| higher  |
| Lung Cancer      | Likelihood of Development | lower   | slightly lower | slightly higher| higher  |
| Liver Cancer     | Likelihood of Development | lower   | slightly lower | slightly higher| higher  |

Example output file:

| Title              | Summary                  | Level 1 | Level 2        | Level 3        | Level 4 |
| ------------------ | ------------------------ | ------- | -------------- | -------------- | ------- |
| Ung thư dạ dày     | Khả năng phát triển      | lower   | slightly lower | slightly higher| higher  |
| Ung thư đại trực   | Khả năng phát triển      | lower   | slightly lower | slightly higher| higher  |
| Ung thư tuyến giáp | Khả năng phát triển      | lower   | slightly lower | slightly higher| higher  |
| Ung thư phổi       | Khả năng phát triển      | lower   | slightly lower | slightly higher| higher  |
| Ung thư gan        | Khả năng phát triển      | lower   | slightly lower | slightly higher| higher  |

Bugs

  • Error: invalid syntax. Perhaps you forgot a comma? - This error appears due to a bug in the current Google Translate version. The problem occurs when the text contains certain words (for example, "nullified") that will cause this error.
  • Error: HTTPSConnectionPool(host='translate.googleapis.com', port=443): Max retries exceeded with url - This error appears due to the limitation of the Google Translate API. The solution is to increase the -c chunk_size parameter to reduce the number of requests to the API in a short time.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Vũ Quốc Hiển - @hienvq23 - hienvq23@gmail.com

Project Link: https://github.com/Neih4207/transipy

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

transipy-1.0.6.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

transipy-1.0.6-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file transipy-1.0.6.tar.gz.

File metadata

  • Download URL: transipy-1.0.6.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for transipy-1.0.6.tar.gz
Algorithm Hash digest
SHA256 9237de8d0e9979290d3a4fb87c8de65a13a4c5d53365804cc9d3672e5575468a
MD5 1873e86f55fc8b36404f20f7a0c856f2
BLAKE2b-256 68799687462e6f83bc515b0ecfba9e3a68759329e7c19b09d2011a66983a23b8

See more details on using hashes here.

File details

Details for the file transipy-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: transipy-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for transipy-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0cb9105edaa6a245fb243c53c5a5d1e797b75cc706b6d27f4c515fb88f59e6c5
MD5 c2167ba5d4e63f31c86d31544bbf080a
BLAKE2b-256 652afb8f3bea8d99326a0324d711ae975cbf9f1478305d8eb414b42831abe739

See more details on using hashes here.

Supported by

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