Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

TencentTranslator sends chunks larger than the API limit for single lines longer than 5000 chars

Đang mở Phù hợp với người mới
#1,205 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
84/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
api, backend

Hướng nghiên cứu

Bắt đầu trong pdf2zh/translator.py tại TencentTranslator.do_translate và logic chia đoạn hiện tại dựa trên dòng. Tái hiện vấn đề với một chuỗi một dòng dài 6000 ký tự, sau đó xác minh rằng các dòng dài được chia thành các phần không lớn hơn _MAX_CHARS ký tự, trong khi các dòng ngắn hơn vẫn được nhóm theo dòng. Hoàn thành khi mọi phần được gửi đến Tencent API đều nằm trong giới hạn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Description

TencentTranslator.do_translate splits long texts into chunks of at most _MAX_CHARS = 5000 characters, but only between newlines:

for line in text.splitlines(keepends=True):
    if len(current) + len(line) > self._MAX_CHARS and current:
        chunks.append(current)
        current = line
    ...

A single line longer than 5000 characters (e.g. a very long paragraph without line breaks) is never split: it accumulates into current and is sent as one oversized request, exceeding the Tencent API request-size limit (6000 chars).

Reproduction
from pdf2zh.translator import TencentTranslator

text = "a" * 6000  # one line, no newlines
chunks = TencentTranslator._split_chunks(text)  # current main: no such helper yet

On current main, do_translate(text) calls _translate_chunk with the full 6000-char string.

Expected

Every chunk sent to the API is at most _MAX_CHARS characters; lines longer than the limit are split into fixed-size pieces while shorter lines are still grouped by line.

Ngôn ngữ chính
Python
Star
37.3k
Fork
3.3k
Merge trung bình
11 phút
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của PDFMathTranslate/PDFMathTranslate

Tất cả issue của PDFMathTranslate/PDFMathTranslate

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.