คำอ้างอิง CLI¶
Co-op Translator ติดตั้งจุดเข้าใช้งานสำหรับบรรทัดคำสั่งต่อไปนี้:
translateevaluatemigrate-linksco-op-reviewco-op-translator-mcp
คำสั่ง translate, evaluate, migrate-links และ co-op-review จะถูกส่งผ่าน co_op_translator.__main__ ซึ่งเลือกการทำงานของคำสั่งตามชื่อสคริปต์ที่ถูกเรียกใช้ เซิร์ฟเวอร์ MCP ใช้ co_op_translator.mcp.server โดยตรง
หากคุณกำลังตัดสินใจระหว่าง CLI, Python API และ MCP ให้เริ่มจาก เลือกวิธีการทำงาน
การแสดงผลในคอนโซล¶
เทอร์มินัลแบบโต้ตอบใช้การจัดรูปแบบ Rich สำหรับหัวคำสั่ง ความคืบหน้า และสรุป ขณะที่เอาต์พุตใน CI และโหมดไม่โต้ตอบจะปรับกลับเป็นข้อความธรรมดาโดยอัตโนมัติ
ตั้งค่า CO_OP_TRANSLATOR_OUTPUT_STYLE=plain เพื่อบังคับให้เป็นเอาต์พุตแบบธรรมดา หรือ CO_OP_TRANSLATOR_OUTPUT_STYLE=rich เพื่อบังคับให้เป็นเอาต์พุตแบบ Rich ตั้งค่า CO_OP_TRANSLATOR_NO_PROGRESS=1 เพื่อเก็บสรุปไว้ในขณะที่ปิดแถบความคืบหน้าแบบสด
ใช้คำสั่ง translate --json-events progress.ndjson เมื่อระบบอื่นต้องการ
ความคืบหน้าที่อ่านโดยเครื่อง คำสั่ง CLI ยังคงแสดงเอาต์พุตสำหรับมนุษย์ ในขณะที่
ไฟล์ NDJSON จะรับเหตุการณ์เวอร์ชัน co-op.translation.event.v1 ที่มี
ฟิลด์ที่คงที่ เช่น type, stage_key, completed, total และ
current_path.
ขั้นตอนเริ่มต้นของ CLI¶
เริ่มที่นี่หากคุณใช้ Co-op Translator จากเทอร์มินัล:
- กำหนดค่าผู้ให้บริการ LLM ตามที่อธิบายใน การกำหนดค่า.
- เลือกประเภทเนื้อหาที่คุณต้องการแปล.
- รันคำสั่งแบบโฟกัสก่อน เช่น การแปลเฉพาะ Markdown.
- ใช้
--dry-runก่อนการเปลี่ยนแปลงขนาดใหญ่ของ repository. - ใช้
co-op-reviewหลังการแปลเพื่อตรวจสอบโครงสร้างและความทันสมัย.
| เป้าหมาย | คำสั่งเริ่มต้น |
|---|---|
| แปลเอกสาร Markdown | translate -l "ko" -md |
| แปลสมุดโน้ต (notebooks) | translate -l "ko" -nb |
| แปลข้อความจากรูปภาพ | translate -l "ko" -img |
| ดูตัวอย่างงานโดยไม่เขียนไฟล์ | translate -l "ko" -md --dry-run |
| ตรวจทานการแปลที่มีอยู่ | co-op-review -l "ko" |
| อัปเดตลิงก์ในสมุดโน้ตและ Markdown | migrate-links -l "ko" --dry-run |
| เปิดเผยเครื่องมือให้กับไคลเอนต์ MCP | กำหนดค่า MCP Server แทนการรันคำสั่ง CLI โดยตรง |
translate¶
แปลไฟล์ Markdown สมุดโน้ต และข้อความจากรูปภาพ ไปเป็นหนึ่งหรือหลายภาษาปลายทาง
ตัวอย่างทั่วไป¶
แปลเฉพาะ Markdown:
แปลเฉพาะสมุดโน้ต:
แปล Markdown และรูปภาพ:
อัปเดตการแปลที่มีอยู่โดยการลบแล้วสร้างใหม่:
รันโดยไม่ต้องมีการตอบโต้แบบโต้ตอบ:
บันทึกล็อก:
เขียนเหตุการณ์ความคืบหน้าแบบมีโครงสร้าง:
ตัวเลือก¶
| ตัวเลือก | จำเป็น | คำอธิบาย |
|---|---|---|
-l, --language-codes |
ใช่ | รหัสภาษาที่คั่นด้วยช่องว่าง เช่น "es fr de" หรือ "all". |
-r, --root-dir |
ไม่ | รูทของโปรเจกต์ ค่าเริ่มต้นคือไดเรกทอรีปัจจุบัน. |
-u, --update |
ไม่ | ลบการแปลที่มีอยู่สำหรับภาษาที่เลือกแล้วสร้างขึ้นใหม่. |
-img, --images |
ไม่ | แปลเฉพาะไฟล์รูปภาพ. |
-md, --markdown |
ไม่ | แปลเฉพาะไฟล์ Markdown. |
-nb, --notebook |
ไม่ | แปลเฉพาะไฟล์ Jupyter notebook. |
-d, --debug |
ไม่ | เปิดการบันทึกแบบดีบักในคอนโซล. |
-s, --save-logs |
ไม่ | บันทึกล็อกระดับ DEBUG ไว้ที่ <root-dir>/logs/. |
--json-events |
ไม่ | เขียนเหตุการณ์ความคืบหน้าการแปลที่อ่านข้อความโดยเครื่องได้เป็น NDJSON. |
-x, --fix |
ไม่ | แปลใหม่ไฟล์ Markdown ที่มีความเชื่อมั่นต่ำตามผลการประเมินก่อนหน้า. |
-c, --min-confidence |
ไม่ | เกณฑ์ความเชื่อมั่นสำหรับ --fix ค่าเริ่มต้นคือ 0.7. |
--add-disclaimer, --no-disclaimer |
ไม่ | เพิ่มหรือระงับข้อความปฏิเสธความรับผิดชอบการแปลด้วยเครื่อง ค่าเริ่มต้นเปิดใช้งานใน CLI. |
-f, --fast |
ไม่ | โหมดรูปภาพความเร็วสูงที่เลิกใช้แล้ว. |
-y, --yes |
ไม่ | ยืนยันคำถามโดยอัตโนมัติ ซึ่งมีประโยชน์ใน CI. |
--repo-url |
ไม่ | URL ของ repository ที่ใช้ในตารางภาษา README สำหรับคำแนะนำ sparse-checkout. |
--migrate-language-folders |
ไม่ | เปลี่ยนชื่อโฟลเดอร์อาลิแอสแบบเก่า เช่น cn หรือ tw ให้เป็นโฟลเดอร์ BCP 47 ตามมาตรฐาน. |
--dry-run |
ไม่ | ดูตัวอย่างการย้ายโฟลเดอร์ภาษาและประมาณการการแปลโดยไม่เขียนไฟล์. |
ถ้าไม่ระบุแฟล็กประเภทใดๆ translate จะประมวลผล Markdown สมุดโน้ต และรูปภาพ การแปลรูปภาพต้องการการกำหนดค่า Azure AI Vision
evaluate¶
ประเมินคุณภาพการแปล Markdown สำหรับหนึ่งภาษา
ทดลอง
evaluate เป็นฟีเจอร์ทดลอง สามารถใช้การตรวจสอบคุณภาพแบบอิงกฎและแบบใช้ LLM, บันทึกผลการประเมินลงในเมตาดาต้าการแปล และโมเดลการให้คะแนนรวมถึงพฤติกรรมเมตาดาต้าอาจมีการเปลี่ยนแปลง
ตัวอย่างทั่วไป¶
ใช้เกณฑ์ความเชื่อมั่นต่ำที่เข้มงวดขึ้น:
รันการตรวจสอบแบบอิงกฎเท่านั้น:
รันการตรวจสอบแบบใช้ LLM เท่านั้น:
ตัวเลือก¶
| ตัวเลือก | จำเป็น | คำอธิบาย |
|---|---|---|
-l, --language-code |
ใช่ | รหัสภาษาตัวเดียวสำหรับการประเมิน รหัสอาลิแอสจะถูกปรับให้เป็นรูปแบบมาตรฐาน. |
-r, --root-dir |
ไม่ | รูทของโปรเจกต์ ค่าเริ่มต้นคือไดเรกทอรีปัจจุบัน. |
-c, --min-confidence |
ไม่ | เกณฑ์ที่ใช้เมื่อแสดงรายการการแปลที่มีความเชื่อมั่นต่ำ ค่าเริ่มต้นคือ 0.7. |
-d, --debug |
ไม่ | เปิดการบันทึกแบบดีบัก. |
-s, --save-logs |
ไม่ | บันทึกล็อกระดับ DEBUG ไว้ที่ <root-dir>/logs/. |
-f, --fast |
ไม่ | ประเมินโดยใช้กฎเท่านั้น. |
-D, --deep |
ไม่ | ประเมินโดยใช้ LLM เท่านั้น. |
ค่าเริ่มต้น evaluate จะใช้ทั้งการประเมินแบบอิงกฎและแบบใช้ LLM ผลลัพธ์จะถูกเขียนลงในเมตาดาต้าการแปลและสรุปในคอนโซล
co-op-review¶
รันการตรวจสอบการบำรุงรักษาการแปลแบบกำหนดได้โดยไม่ต้องใช้ข้อมูลรับรอง API
รุ่นเบต้า
co-op-review เป็นคำสั่งตรวจทานแบบกำหนดได้ในรุ่นเบต้า ซึ่งจะไม่เรียกใช้ผู้ให้บริการโมเดลหรือเขียนไฟล์ แต่การตรวจสอบและรูปแบบเอาต์พุตของปัญหาอาจมีการเปลี่ยนแปลง
ตัวอย่างทั่วไป¶
ตรวจทานการแปลภาษาเกาหลีและญี่ปุ่นจากไดเรกทอรีปัจจุบัน:
ตรวจทานรูทของโปรเจกต์เฉพาะ:
ตรวจทานเฉพาะ README หลังจากการแปลเฉพาะ README:
--readme-only จะละเว้นเอกสารอื่นๆ และ README ที่ซ้อนกัน มันจะล้มเหลวหากรูท
README.md หายไป หากรวมกับ --changed-from จะตรวจเฉพาะ README
เมื่อไฟล์ต้นทางนั้นมีการเปลี่ยนแปลง การแปลเฉพาะ README จะทำให้ README ต้นฉบับ
ไม่ถูกเปลี่ยนแปลง รวมถึงเครื่องหมายส่วนที่แชร์ทั้งหมด.
ตรวจทานเฉพาะไฟล์ต้นทางที่เปลี่ยนแปลงเมื่อเทียบกับ ref พื้นฐาน:
พิมพ์เอาต์พุต Markdown แบบ GitHub-flavored สำหรับสรุปใน CI:
ตัวเลือก¶
| ตัวเลือก | จำเป็น | คำอธิบาย |
|---|---|---|
-l, --language-code |
ไม่ | รหัสภาษาสำหรับการตรวจทาน สามารถส่งซ้ำได้หลายครั้งหรือเป็นค่าที่คั่นด้วยช่องว่าง ค่าเริ่มต้นคือทุกภาษาที่ค้นพบสำหรับการแปล. |
-r, --root-dir |
ไม่ | รูทของโปรเจกต์ ค่าเริ่มต้นคือไดเรกทอรีปัจจุบัน. |
--changed-from |
ไม่ | Git ref ที่ใช้จำกัดการตรวจทานเฉพาะไฟล์ต้นทางที่เปลี่ยนแปลง. |
--readme-only |
ไม่ | ตรวจทานเฉพาะการแปล README.md ที่รูท. |
--format |
ไม่ | รูปแบบเอาต์พุต: text หรือ github. ค่าเริ่มต้นคือ text. |
co-op-review ปัจจุบันจะตรวจหาไฟล์แปลที่หายไป, เมตาดาต้าการแปลที่หายไปหรือเก่า, ความสมบูรณ์ของ frontmatter ของ Markdown และ code fence, JSON ของสมุดโน้ตที่แปลแล้วที่ไม่ถูกต้อง, และเป้าหมายลิงก์ Markdown หรือรูปภาพในเครื่องที่หายไป. ลิงก์ที่หายไปจะถูกเตือนโดยค่าเริ่มต้น; ปัญหาเกี่ยวกับโครงสร้างและความทันสมัยจะทำให้คำสั่งล้มเหลว
co-op-translator-mcp¶
รันเซิร์ฟเวอร์ Co-op Translator MCP สำหรับเอเจนต์ บรรณาธิการ และไคลเอนต์ที่เข้ากันได้กับ MCP
ทรานสปอร์ตเริ่มต้นคือ stdio ดูคำแนะนำ MCP Server สำหรับการกำหนดค่าไคลเอนต์ เครื่องมือ แหล่งข้อมูล และข้อควรระวังด้านความปลอดภัย
ตัวเลือก¶
| ตัวเลือก | จำเป็น | คำอธิบาย |
|---|---|---|
--transport |
ไม่ | MCP transport: stdio, streamable-http, or sse. ค่าเริ่มต้นคือ stdio. |
migrate-links¶
ประมวลผลไฟล์ Markdown ที่แปลแล้วอีกครั้งและอัปเดตลิงก์สมุดโน้ตให้ชี้ไปยังสมุดโน้ตที่แปลแล้วเมื่อมี
ตัวอย่างทั่วไป¶
ดูตัวอย่างการอัปเดตลิงก์:
ประมวลผลทุกภาษาที่รองรับโดยไม่ต้องยืนยัน:
เขียนลิงก์ใหม่เฉพาะเมื่อมีสมุดโน้ตที่แปลแล้ว:
ตัวเลือก¶
| ตัวเลือก | จำเป็น | คำอธิบาย |
|---|---|---|
-l, --language-codes |
ใช่ | รหัสภาษาที่คั่นด้วยช่องว่าง หรือ "all". |
-r, --root-dir |
ไม่ | รูทของโปรเจกต์ ค่าเริ่มต้นคือไดเรกทอรีปัจจุบัน. |
--image-dir |
ไม่ | โฟลเดอร์รูปภาพที่แปลแล้วเทียบกับรูท ค่าเริ่มต้นคือ translated_images. |
--dry-run |
ไม่ | แสดงไฟล์ที่จะเปลี่ยนโดยไม่เขียนการอัปเดต. |
--fallback-to-original, --no-fallback-to-original |
ไม่ | ใช้ลิงก์สมุดโน้ตต้นฉบับเมื่อสมุดโน้ตที่แปลแล้วหายไป เปิดใช้งานโดยค่าเริ่มต้น. |
-d, --debug |
ไม่ | เปิดการบันทึกแบบดีบัก. |
-s, --save-logs |
ไม่ | บันทึกล็อกระดับ DEBUG ไว้ที่ <root-dir>/logs/. |
-y, --yes |
ไม่ | ยืนยันคำถามโดยอัตโนมัติเมื่อประมวลผลทุกภาษา. |
สภาพแวดล้อม¶
เมื่อคำสั่งต้องการข้อมูลรับรองผู้ให้บริการ ให้กำหนดค่าหนึ่งในชุดผู้ให้บริการเหล่านี้ translate --dry-run และ co-op-review ไม่ต้องการข้อมูลรับรองผู้ให้บริการ:
# Azure OpenAI
AZURE_OPENAI_API_KEY="..."
AZURE_OPENAI_ENDPOINT="https://<resource>.openai.azure.com/"
AZURE_OPENAI_MODEL_NAME="gpt-4o"
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME="<deployment>"
AZURE_OPENAI_API_VERSION="2024-12-01-preview"
# หรือ OpenAI
OPENAI_API_KEY="..."
OPENAI_CHAT_MODEL_ID="gpt-4o"
# หรือ Anthropic
ANTHROPIC_API_KEY="..."
ANTHROPIC_MODEL="claude-..."
การแปลรูปภาพยังต้องการ Azure AI Vision:
AZURE_AI_SERVICE_API_KEY="..."
AZURE_AI_SERVICE_ENDPOINT="https://<resource>.cognitiveservices.azure.com/"
รูปแบบเอาต์พุต¶
การแปลข้อความจะถูกเขียนไว้ที่:
ผลลัพธ์การแปลรูปภาพจะถูกเขียนไว้ที่:
ตัวอย่าง: การแปล README.md และ docs/setup.md เป็นภาษาเกาหลี จะได้ผลลัพธ์ดังนี้:
ตัวอย่างคำสั่ง CLI (คัดลอกและวาง)¶
แปล Markdown เป็นสามภาษา:
แปลเฉพาะสมุดโน้ต:
แปลเฉพาะรูปภาพ:
ดูตัวอย่างการแปล Markdown โดยไม่เขียนไฟล์:
แก้ไขการแปล Markdown ที่มีความเชื่อมั่นต่ำ:
รันการแปล Markdown ที่เหมาะกับ CI:
ตรวจทานผลลัพธ์การแปล:
ดูตัวอย่างการย้ายลิงก์: