Files
Document_Translator/check_exact_row291.py
2025-09-03 15:07:34 +08:00

138 lines
5.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
直接檢查ROW291的具體內容
"""
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
# 設定編碼
sys.stdout.reconfigure(encoding='utf-8')
from app import create_app
def check_exact_row291():
"""直接檢查ROW291的具體內容"""
print("=" * 80)
print("直接檢查ROW291的具體內容")
print("=" * 80)
app = create_app()
with app.app_context():
from sqlalchemy import text as sql_text
from app import db
# 1. 直接查看ROW291
print(f"1. 直接查看ROW291")
print("-" * 60)
result = db.session.execute(sql_text("""
SELECT id, source_text, translated_text, source_language, target_language, created_at
FROM dt_translation_cache
WHERE id = 291
"""))
row291 = result.fetchone()
if not row291:
print("❌ ROW291 不存在")
else:
print(f"✅ ROW291 存在:")
print(f" ID: {row291[0]}")
print(f" 原文: {repr(row291[1])}")
print(f" 翻譯: {repr(row291[2])}")
print(f" 源語言: {row291[3]}")
print(f" 目標語言: {row291[4]}")
print(f" 創建時間: {row291[5]}")
# 檢查是否為D2內容
d2_content = "與 WB inline 串線DB→WB、時效快支援 Sn/Au 晶片\n最小可支援9mil晶粒\n支援EAP管控"
if row291[1] == d2_content:
print(f"✅ 這確實是D2的內容")
if row291[4] == 'ko':
print(f"✅ 而且是韓文翻譯")
print(f" 韓文翻譯: {row291[2]}")
# 測試這個翻譯是否能被映射邏輯找到
print(f"\n測試映射查找:")
search_result = db.session.execute(sql_text("""
SELECT translated_text
FROM dt_translation_cache
WHERE source_text = :text AND target_language = :lang
ORDER BY created_at DESC
LIMIT 1
"""), {'text': d2_content, 'lang': 'ko'})
search_row = search_result.fetchone()
if search_row:
print(f" ✅ 映射查找成功: {repr(search_row[0][:50])}...")
if search_row[0] == row291[2]:
print(f" ✅ 內容完全一致")
else:
print(f" ❌ 內容不一致")
print(f" ROW291: {repr(row291[2][:50])}...")
print(f" 查找到: {repr(search_row[0][:50])}...")
else:
print(f" ❌ 映射查找失敗")
else:
print(f"❌ 不是韓文翻譯,而是 {row291[4]}")
else:
print(f"❌ 不是D2的內容")
print(f" 實際內容: {repr(row291[1][:50])}...")
# 2. 查找ROW290-295的所有記錄
print(f"\n2. 查找ROW290-295的所有記錄")
print("-" * 60)
result = db.session.execute(sql_text("""
SELECT id, source_text, translated_text, source_language, target_language, created_at
FROM dt_translation_cache
WHERE id >= 290 AND id <= 295
ORDER BY id
"""))
nearby_records = result.fetchall()
for record in nearby_records:
print(f"\nROW {record[0]} ({record[3]} -> {record[4]}):")
print(f" 原文: {repr(record[1][:40])}...")
print(f" 翻譯: {repr(record[2][:40])}...")
print(f" 時間: {record[5]}")
# 3. 查找所有D2相關的翻譯記錄包含部分匹配
print(f"\n3. 查找所有包含D2關鍵詞的記錄")
print("-" * 60)
result = db.session.execute(sql_text("""
SELECT id, source_text, translated_text, source_language, target_language, created_at
FROM dt_translation_cache
WHERE source_text LIKE '%WB inline%' OR source_text LIKE '%Sn/Au%'
ORDER BY id
"""))
d2_related_records = result.fetchall()
print(f"找到 {len(d2_related_records)} 筆包含D2關鍵詞的記錄:")
for record in d2_related_records:
print(f"\nROW {record[0]} ({record[3]} -> {record[4]}):")
print(f" 原文: {repr(record[1][:50])}...")
print(f" 翻譯: {repr(record[2][:50])}...")
print(f" 時間: {record[5]}")
# 標示是否為完整的D2內容
if "WB inline" in record[1] and "Sn/Au" in record[1] and "EAP" in record[1]:
print(f" 🎯 這是完整的D2內容")
print(f"\n" + "=" * 80)
print("ROW291具體內容檢查完成")
print("=" * 80)
if __name__ == "__main__":
check_exact_row291()