Библиотека для перевода текста с английского на русский с использованием 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bab309fc2c310abee2fbc4a35cb1b31681aa8b2790dd02a3092bd82490284b89
|
|
| MD5 |
8de9ad7c9e50bbd07ac6402e16858ae4
|
|
| BLAKE2b-256 |
5da000820ec06f932bc8a11e0735c074c09db946a47a8f5f5ba575b1188fd779
|