tranzlate


Nametranzlate JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryMultilingual translation of text, files, markup and BeautifulSoup objects.
upload_time2023-12-26 18:01:40
maintainer
docs_urlNone
author
requires_python>=3.7
license
keywords translate translation google translate bing translate yandex translate translate text translate files translate markup translate html translate xml translate beautifulsoup detect language
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## tranzlate

A wrapper around the translators package by UlionTse that enables multilingual translation of text, files, markup and BeautifulSoup objects.

## Installation

Perform a quick install with pip:

```bash
pip install tranzlate
```

## Usage

### Create a Translator

The `Translator` class is the main interface for the package. It can be used to translate text, files, markup and BeautifulSoup objects. To create an instance of the `Translator` class, simply import the `tranzlate` package and instantiate the `Translator` class:

```python
import tranzlate

translator = tranzlate.Translator()
```

### Use a Custom Translation Engine

By default, the `Translator` class uses Bing Translator as its translation engine. Based on test results, Bing is the most reliable translation engine. However, you can use any translation engine that is supported by the translators package by passing the name of the engine to the `Translator` class on instantiation:

In this example, we will use Google Translate as our translation engine:

```python
import tranzlate

translator = tranzlate.Translator('google')
```

To get a list of all supported translation engines:

```python
import tranzlate

print(tranzlate.Translator.engines())

# Output:
# ['bing', 'google', 'yandex', 'baidu', 'sogou', 'tencent', 'deepl', 'alibaba', ...]
```

### Detect Language

```python
import tranzlate

translator = tranzlate.Translator()
text = 'Good Morning!'
detected_lang = translator.detect_language(text)
print(detected_lang)

# Output: en
```

### Translate Text, Markup and BeautifulSoup Objects

To translate text, markup or a soup, you can use the `translate` method of the `Translator` class. The `translate` method is a general purpose method that can be used to translate text, markup and BeautifulSoup objects.

#### Translate Text

```python
import tranzlate

translator = tranzlate.Translator()

text = 'Good Morning!'
translation = translator.translate(text, target_lang='yo')
print(translation)

# Output: Eku ojumo!
```

#### Translate Markup

```python
import tranzlate

translator = tranzlate.Translator()

markup = '<p>Good Morning!</p>'
translated_markup = translator.translate(markup, target_lang='yo', is_markup=True)
print(translated_markup)

# Output: <p>Eku ojumo!</p>
```

#### Translate BeautifulSoup Objects

```python
import tranzlate
from bs4 import BeautifulSoup

translator = tranzlate.Translator()

markup = '<p>Good Morning!</p>'
soup = BeautifulSoup(markup, 'html.parser')
translated_soup = translator.translate(soup, target_lang='yo')
```

However, there are specialized methods for translating text, markup and BeautifulSoup objects. These methods are `translate_text`, `translate_markup` and `translate_soup` respectively.

### Translate Files

To translate files, we use the `translate_file` method of the `Translator` class.

```python
import tranzlate

translator = tranzlate.Translator()
translated_file = translator.translate_file('path/to/file.txt', src_lang="en", target_lang='yo')
```

It is advisable to specify the source language when performing translations as it helps the translation engine to provide more accurate translations.

### Use a Proxy

To use a proxy, simply pass the proxy to the `Translator` class on instantiation:

```python
import tranzlate

translator = tranzlate.Translator()
text = 'Good Morning!'
translation = translator.translate(text, target_lang='yo', proxies={'https': 'https://<proxy>:<port>'})
print(translation)
```

### Other Methods

#### Get Supported Languages

To get a list of all supported (source) languages by the translator's engine:

```python
import tranzlate

translator = tranzlate.Translator()
print(translator.supported_languages)
```

#### Check if a Language is Supported

To check if a (source) language is supported by the translator's engine:

```python
import tranzlate

translator = tranzlate.Translator()
is_supported = translator.is_supported_language('yo')
print(is_supported)

# Output: True
```

#### Check if a Language Pair is Supported

To check if a language pair is supported by the translator's engine:

```python
import tranzlate

translator = tranzlate.Translator()
is_supported = translator.is_supported_pair(src_lang='en', target_lang='yo')
print(is_supported)

# Output: True
```

#### Get a List of Supported Target Languages for a Source Language

To get a list of supported target languages for a source language:

```python
import tranzlate

translator = tranzlate.Translator()
supported_target_languages = translator.get_supported_target_languages('en')
print(supported_target_languages)
```

### Testing

To run the tests, simply run the following command in the root directory of your cloned repository:

```bash
python -m unittest discover tests "test_*.py"
```

### Contributing

Contributions are welcome. Please open an issue or submit a pull request.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "tranzlate",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "ti-oluwa <tioluwa.dev@gmail.com>",
    "keywords": "translate,translation,google translate,bing translate,yandex translate,translate text,translate files,translate markup,translate html,translate xml,translate BeautifulSoup,detect language",
    "author": "",
    "author_email": "ti-oluwa <tioluwa.dev@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/f9/58/4a58e3b4eacbaa69c9dc9e1267974b0996212b26ca93ade1c522a701220c/tranzlate-0.0.1.tar.gz",
    "platform": null,
    "description": "## tranzlate\r\n\r\nA wrapper around the translators package by UlionTse that enables multilingual translation of text, files, markup and BeautifulSoup objects.\r\n\r\n## Installation\r\n\r\nPerform a quick install with pip:\r\n\r\n```bash\r\npip install tranzlate\r\n```\r\n\r\n## Usage\r\n\r\n### Create a Translator\r\n\r\nThe `Translator` class is the main interface for the package. It can be used to translate text, files, markup and BeautifulSoup objects. To create an instance of the `Translator` class, simply import the `tranzlate` package and instantiate the `Translator` class:\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\n```\r\n\r\n### Use a Custom Translation Engine\r\n\r\nBy default, the `Translator` class uses Bing Translator as its translation engine. Based on test results, Bing is the most reliable translation engine. However, you can use any translation engine that is supported by the translators package by passing the name of the engine to the `Translator` class on instantiation:\r\n\r\nIn this example, we will use Google Translate as our translation engine:\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator('google')\r\n```\r\n\r\nTo get a list of all supported translation engines:\r\n\r\n```python\r\nimport tranzlate\r\n\r\nprint(tranzlate.Translator.engines())\r\n\r\n# Output:\r\n# ['bing', 'google', 'yandex', 'baidu', 'sogou', 'tencent', 'deepl', 'alibaba', ...]\r\n```\r\n\r\n### Detect Language\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\ntext = 'Good Morning!'\r\ndetected_lang = translator.detect_language(text)\r\nprint(detected_lang)\r\n\r\n# Output: en\r\n```\r\n\r\n### Translate Text, Markup and BeautifulSoup Objects\r\n\r\nTo translate text, markup or a soup, you can use the `translate` method of the `Translator` class. The `translate` method is a general purpose method that can be used to translate text, markup and BeautifulSoup objects.\r\n\r\n#### Translate Text\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\n\r\ntext = 'Good Morning!'\r\ntranslation = translator.translate(text, target_lang='yo')\r\nprint(translation)\r\n\r\n# Output: Eku ojumo!\r\n```\r\n\r\n#### Translate Markup\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\n\r\nmarkup = '<p>Good Morning!</p>'\r\ntranslated_markup = translator.translate(markup, target_lang='yo', is_markup=True)\r\nprint(translated_markup)\r\n\r\n# Output: <p>Eku ojumo!</p>\r\n```\r\n\r\n#### Translate BeautifulSoup Objects\r\n\r\n```python\r\nimport tranzlate\r\nfrom bs4 import BeautifulSoup\r\n\r\ntranslator = tranzlate.Translator()\r\n\r\nmarkup = '<p>Good Morning!</p>'\r\nsoup = BeautifulSoup(markup, 'html.parser')\r\ntranslated_soup = translator.translate(soup, target_lang='yo')\r\n```\r\n\r\nHowever, there are specialized methods for translating text, markup and BeautifulSoup objects. These methods are `translate_text`, `translate_markup` and `translate_soup` respectively.\r\n\r\n### Translate Files\r\n\r\nTo translate files, we use the `translate_file` method of the `Translator` class.\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\ntranslated_file = translator.translate_file('path/to/file.txt', src_lang=\"en\", target_lang='yo')\r\n```\r\n\r\nIt is advisable to specify the source language when performing translations as it helps the translation engine to provide more accurate translations.\r\n\r\n### Use a Proxy\r\n\r\nTo use a proxy, simply pass the proxy to the `Translator` class on instantiation:\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\ntext = 'Good Morning!'\r\ntranslation = translator.translate(text, target_lang='yo', proxies={'https': 'https://<proxy>:<port>'})\r\nprint(translation)\r\n```\r\n\r\n### Other Methods\r\n\r\n#### Get Supported Languages\r\n\r\nTo get a list of all supported (source) languages by the translator's engine:\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\nprint(translator.supported_languages)\r\n```\r\n\r\n#### Check if a Language is Supported\r\n\r\nTo check if a (source) language is supported by the translator's engine:\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\nis_supported = translator.is_supported_language('yo')\r\nprint(is_supported)\r\n\r\n# Output: True\r\n```\r\n\r\n#### Check if a Language Pair is Supported\r\n\r\nTo check if a language pair is supported by the translator's engine:\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\nis_supported = translator.is_supported_pair(src_lang='en', target_lang='yo')\r\nprint(is_supported)\r\n\r\n# Output: True\r\n```\r\n\r\n#### Get a List of Supported Target Languages for a Source Language\r\n\r\nTo get a list of supported target languages for a source language:\r\n\r\n```python\r\nimport tranzlate\r\n\r\ntranslator = tranzlate.Translator()\r\nsupported_target_languages = translator.get_supported_target_languages('en')\r\nprint(supported_target_languages)\r\n```\r\n\r\n### Testing\r\n\r\nTo run the tests, simply run the following command in the root directory of your cloned repository:\r\n\r\n```bash\r\npython -m unittest discover tests \"test_*.py\"\r\n```\r\n\r\n### Contributing\r\n\r\nContributions are welcome. Please open an issue or submit a pull request.\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Multilingual translation of text, files, markup and BeautifulSoup objects.",
    "version": "0.0.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/ti-oluwa/tranzlate/issues",
        "Homepage": "https://github.com/ti-oluwa/tranzlate",
        "Repository": "https://github.com/ti-oluwa/tranzlate"
    },
    "split_keywords": [
        "translate",
        "translation",
        "google translate",
        "bing translate",
        "yandex translate",
        "translate text",
        "translate files",
        "translate markup",
        "translate html",
        "translate xml",
        "translate beautifulsoup",
        "detect language"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "436b33a01a02f18a26daadc201b0c47fa873992f20929303dfdd14fe26d35bec",
                "md5": "2e28189da11f89d47333911ca9d4b84b",
                "sha256": "86a0d55f7af7858c700725fa74e397a6e3faef20d9d9efb781ddf2ebd9a4fe3e"
            },
            "downloads": -1,
            "filename": "tranzlate-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2e28189da11f89d47333911ca9d4b84b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 21542,
            "upload_time": "2023-12-26T18:01:38",
            "upload_time_iso_8601": "2023-12-26T18:01:38.235239Z",
            "url": "https://files.pythonhosted.org/packages/43/6b/33a01a02f18a26daadc201b0c47fa873992f20929303dfdd14fe26d35bec/tranzlate-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9584a58e3b4eacbaa69c9dc9e1267974b0996212b26ca93ade1c522a701220c",
                "md5": "1e5dea3f9e42e3416f94bfa62e9444f3",
                "sha256": "a8807cd63d2f3a30123689f5da6fbc4f889f1ad361a1f98159ef4a76427b5f4a"
            },
            "downloads": -1,
            "filename": "tranzlate-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "1e5dea3f9e42e3416f94bfa62e9444f3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 23539,
            "upload_time": "2023-12-26T18:01:40",
            "upload_time_iso_8601": "2023-12-26T18:01:40.509669Z",
            "url": "https://files.pythonhosted.org/packages/f9/58/4a58e3b4eacbaa69c9dc9e1267974b0996212b26ca93ade1c522a701220c/tranzlate-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-26 18:01:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ti-oluwa",
    "github_project": "tranzlate",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "tranzlate"
}
        
Elapsed time: 0.16240s