Spaces:
Running
Running
fix(chunk): paragraph mode gom dong - app.py
Browse files- src/app.py +5 -4
src/app.py
CHANGED
|
@@ -891,7 +891,7 @@ def poll_progress_ui() -> str:
|
|
| 891 |
|
| 892 |
|
| 893 |
EMPTY_COMPARE_HTML = (
|
| 894 |
-
'<div class="compare-empty">Dịch xong,
|
| 895 |
"— từng câu một, cuộn dọc để đọc soát.</div>"
|
| 896 |
)
|
| 897 |
|
|
@@ -899,7 +899,8 @@ EMPTY_COMPARE_HTML = (
|
|
| 899 |
def render_compare_html(rows: list[tuple[int, str, str]]) -> str:
|
| 900 |
"""Render đối chiếu song song 2 cột (Trung | Việt), mỗi chunk một hàng.
|
| 901 |
|
| 902 |
-
Mỗi hàng là một
|
|
|
|
| 903 |
thì cả ô Trung lẫn ô Việt cùng sáng (linked highlight kiểu Google Dịch),
|
| 904 |
chỉ bằng CSS :hover vì đây là markup của ta trong gr.HTML."""
|
| 905 |
if not rows:
|
|
@@ -927,7 +928,7 @@ def render_compare_html(rows: list[tuple[int, str, str]]) -> str:
|
|
| 927 |
note = ""
|
| 928 |
if len(rows) > MAX_TABLE_ROWS:
|
| 929 |
note = (
|
| 930 |
-
f'<div class="cmp-note">Hiển thị {MAX_TABLE_ROWS}/{len(rows)}
|
| 931 |
"Xem bản dịch đầy đủ ở khối bên dưới.</div>"
|
| 932 |
)
|
| 933 |
return f'<div class="compare-list">{"".join(items)}{note}</div>'
|
|
@@ -1579,7 +1580,7 @@ mục `hachimimt`, chạy `setup.bat` (cài thư viện + tải model mặc đ
|
|
| 1579 |
# ── Kết quả ───────────────────────────────────────────────────
|
| 1580 |
result_summary = gr.Markdown(elem_id="result-summary")
|
| 1581 |
|
| 1582 |
-
with gr.Accordion("Đối chiếu song song (
|
| 1583 |
compare_view = gr.HTML(render_compare_html([]), elem_id="compare-view")
|
| 1584 |
|
| 1585 |
with gr.Accordion("Bản dịch đầy đủ & xuất file", open=True):
|
|
|
|
| 891 |
|
| 892 |
|
| 893 |
EMPTY_COMPARE_HTML = (
|
| 894 |
+
'<div class="compare-empty">Dịch xong, bản gốc và bản dịch sẽ hiện đối chiếu ở đây '
|
| 895 |
"— từng câu một, cuộn dọc để đọc soát.</div>"
|
| 896 |
)
|
| 897 |
|
|
|
|
| 899 |
def render_compare_html(rows: list[tuple[int, str, str]]) -> str:
|
| 900 |
"""Render đối chiếu song song 2 cột (Trung | Việt), mỗi chunk một hàng.
|
| 901 |
|
| 902 |
+
Mỗi hàng là một chunk (câu hoặc cả đoạn, tùy chế độ chia) đã khớp sẵn từ
|
| 903 |
+
backend → rê chuột vào một hàng
|
| 904 |
thì cả ô Trung lẫn ô Việt cùng sáng (linked highlight kiểu Google Dịch),
|
| 905 |
chỉ bằng CSS :hover vì đây là markup của ta trong gr.HTML."""
|
| 906 |
if not rows:
|
|
|
|
| 928 |
note = ""
|
| 929 |
if len(rows) > MAX_TABLE_ROWS:
|
| 930 |
note = (
|
| 931 |
+
f'<div class="cmp-note">Hiển thị {MAX_TABLE_ROWS}/{len(rows)} đoạn đầu. '
|
| 932 |
"Xem bản dịch đầy đủ ở khối bên dưới.</div>"
|
| 933 |
)
|
| 934 |
return f'<div class="compare-list">{"".join(items)}{note}</div>'
|
|
|
|
| 1580 |
# ── Kết quả ───────────────────────────────────────────────────
|
| 1581 |
result_summary = gr.Markdown(elem_id="result-summary")
|
| 1582 |
|
| 1583 |
+
with gr.Accordion("Đối chiếu song song (bản gốc · bản dịch)", open=True):
|
| 1584 |
compare_view = gr.HTML(render_compare_html([]), elem_id="compare-view")
|
| 1585 |
|
| 1586 |
with gr.Accordion("Bản dịch đầy đủ & xuất file", open=True):
|