Skip to main content

Библиотека для перевода текста с английского на русский с использованием Google Translate API.

Project description

Eng to Ru: инструмент для перевода текста с английского на русский

Eng to Ru — это Python-библиотека для перевода текста с английского на русский с использованием Google Translate API. Библиотека поддерживает пакетную обработку, обработку ошибок и логирование.


Оглавление


Описание

Библиотека предназначена для перевода больших текстов с английского на русский. Он разбивает текст на блоки не больше 5000 символов, обрабатывает их параллельно пакетами с заданным количеством блоков текстов и поддерживает повторные попытки при ошибках.


Установка

Установите библиотеку с помощью pip:

pip install eng_to_ru

Использование

Импорт и инициализация

from eng_to_ru import Translator

translator = Translator()

Перевод текста

text = "Your English text here..."
translated_text = translator.run(text)
print(translated_text)

Примеры

Пример 1: Простой перевод

from eng_to_ru import Translator

translator = Translator()
text = "Hello, world!"
translated = translator.run(text)
print(translated)  # Привет, мир!

Пример 2: Перевод большого текста

from eng_to_ru import Translator

translator = Translator(batch_size=10)
with open("large_text.txt", "r", encoding="utf-8") as f:
    text = f.read()
translated = translator.run(text, description="Перевод большой статьи...")
with open("translated.txt", "w", encoding="utf-8") as f:
    f.write(translated)

Пример 3: Перевод с обработкой ошибок

from my_translator import Translator

translator = Translator()
try:
    translated_text = translator.run("Hello, world!")
    if translated_text is None:
        print("Ошибка перевода.")
    else:
        print(translated_text)
except Exception as e:
    print(f"Произошла ошибка: {e}")

Логирование

Библиотека использует модуль logging для вывода информации о процессе перевода.

Пример настройки логирования:

import logging
logging.basicConfig(level=logging.INFO)

Пример вывода:

---
INFO > Перевод документа...
INFO >> Длина текста: 20000 символов.
INFO >> Переведено: 25%.
INFO >> Переведено: 50%.
INFO >> Переведено: 75%.
INFO >> Переведено: 100%.

API

Класс Translator

Инициализация

translator = Translator(batch_size: int = 5, log_prefix: str = ">", max_retries: int = 2)
Параметр Тип Описание Значение по умолчанию
batch_size int Максимальное количество одновременно переводимых блоков текста (блок <= 5k символов). Больше - быстрее. 5
log_prefix str Префикс для сообщений логов. ">"
max_retries int Максимальное число попыток перевода участка текста. 2

Метод run

translated_text = translator.run(text: str, description: str = "Перевод...") -> str | None
Параметр Тип Описание Значение по умолчанию
text str Текст, который нужно перевести.
description str Краткое текстовое приветствие-описание для системы логирования (на логику не влияет). "Перевод..."

Возвращает: Переведённый текст (str) или None, если произошла ошибка.

Логика работы:

  • Если текст состоит только из цифр, знаков препинания и пробелов, он возвращается без изменений.
  • При ошибках перевода выполняется до max_retries попыток с интервалом в 10 секунд.
  • Если все попытки неудачны, возвращается None.

Лицензия

Проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

eng_to_ru-0.1.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file eng_to_ru-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: eng_to_ru-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for eng_to_ru-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bab309fc2c310abee2fbc4a35cb1b31681aa8b2790dd02a3092bd82490284b89
MD5 8de9ad7c9e50bbd07ac6402e16858ae4
BLAKE2b-256 5da000820ec06f932bc8a11e0735c074c09db946a47a8f5f5ba575b1188fd779

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