co-op-translator

แปลโปรเจกต์ของคุณด้วย Co-op Translator

Co-op Translator เป็นเครื่องมือบรรทัดคำสั่ง (CLI) ที่ช่วยให้คุณแปลไฟล์ markdown และรูปภาพในโปรเจกต์ของคุณเป็นหลายภาษา ส่วนนี้จะอธิบายวิธีการใช้เครื่องมือ ครอบคลุมตัวเลือก CLI ต่างๆ และมีตัวอย่างสำหรับกรณีการใช้งานที่หลากหลาย

[!NOTE] สำหรับรายการคำสั่งทั้งหมดพร้อมคำอธิบายอย่างละเอียด โปรดดูที่ Command reference


ตัวอย่างสถานการณ์และคำสั่ง

นี่คือตัวอย่างการใช้งานทั่วไปของ Co-op Translator พร้อมคำสั่งที่เหมาะสมสำหรับแต่ละกรณี

1. การแปลพื้นฐาน (ภาษาเดียว)

หากต้องการแปลโปรเจกต์ทั้งหมดของคุณ (ไฟล์ markdown และรูปภาพ) เป็นภาษาเดียว เช่น ภาษาเกาหลี ให้ใช้คำสั่งนี้:

translate -l "ko"

คำสั่งนี้จะแปลไฟล์ markdown และรูปภาพทั้งหมดเป็นภาษาเกาหลี โดยเพิ่มการแปลใหม่โดยไม่ลบการแปลเดิมที่มีอยู่

[!TIP]

อยากรู้ว่าโค้ดภาษาที่รองรับใน Co-op Translator มีอะไรบ้าง? เข้าไปดูได้ที่ส่วน Supported Languages ในรีโพสิทอรีสำหรับรายละเอียดเพิ่มเติม

ตัวอย่างใน Phi-3 CookBook

ใน Phi-3 CookBook ผมใช้วิธีนี้เพื่อเพิ่มการแปลภาษาเกาหลีสำหรับไฟล์ markdown และรูปภาพที่มีอยู่

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l"ko"
Translating images: 100%|███████████████████████████████████████████████████| 276/276 [1:09:56<00:00, 15.37s/it]
Translating markdown files: 100%|████████████████████████████████████████████████| 153/153 [1:43:07<00:00, 241.31s/it]

2. การแปลหลายภาษา

ถ้าต้องการแปลโปรเจกต์เป็นหลายภาษา (เช่น สเปน ฝรั่งเศส และเยอรมัน) ให้ใช้คำสั่งนี้:

translate -l "es fr de"

คำสั่งนี้จะแปลโปรเจกต์เป็นภาษาสเปน ฝรั่งเศส และเยอรมัน โดยเพิ่มการแปลใหม่โดยไม่เขียนทับการแปลเดิม

ตัวอย่างใน Phi-3 CookBook

ใน Phi-3 CookBook หลังจากดึงการเปลี่ยนแปลงล่าสุดมาเพื่อให้สอดคล้องกับคอมมิตล่าสุด ผมใช้วิธีนี้เพื่อแปลไฟล์ markdown และรูปภาพที่เพิ่มใหม่

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l"ko ja zh tw es fr" -a
Translating images: 100%|███████████████████████████████████████████████████| 273/273 [1:09:56<00:00, 15.37s/it]
Translating markdown files: 100%|████████████████████████████████████████████████| 6/6 [24:07<00:00, 241.31s/it]

[!NOTE] แม้ว่าปกติจะแนะนำให้แปลทีละภาษา แต่ในบางสถานการณ์ที่ต้องเพิ่มการเปลี่ยนแปลงเฉพาะ การแปลหลายภาษาพร้อมกันก็มีประสิทธิภาพ

3. การอัปเดตการแปล (ลบการแปลเดิม)

ถ้าต้องการอัปเดตการแปลที่มีอยู่ (คือ ลบการแปลเดิมแล้วแทนที่ด้วยการแปลใหม่) ให้ใช้ตัวเลือก -u คำสั่งนี้จะลบการแปลทั้งหมดสำหรับภาษาที่ระบุแล้วแปลใหม่ทั้งหมด

translate -l "ko" -u

คำเตือน: คำสั่งนี้จะถามเพื่อยืนยันก่อนลบการแปลเดิม

ตัวอย่างใน Phi-3 CookBook

ใน Phi-3 CookBook ผมใช้วิธีนี้เพื่ออัปเดตไฟล์แปลภาษาสเปนทั้งหมด แนะนำให้ใช้เมื่อต้นฉบับในหลายไฟล์ markdown มีการเปลี่ยนแปลงมาก หากมีไฟล์แปลเพียงไม่กี่ไฟล์ที่ต้องอัปเดต จะสะดวกกว่าถ้าลบไฟล์เหล่านั้นด้วยตนเองแล้วใช้วิธี -a เพื่อเพิ่มการแปลใหม่

5. แปลเฉพาะรูปภาพ

ถ้าต้องการแปลเฉพาะไฟล์รูปภาพในโปรเจกต์ ให้ใช้ตัวเลือก -img:

translate -l "ko" -img

คำสั่งนี้จะแปลเฉพาะรูปภาพเป็นภาษาเกาหลี โดยไม่กระทบกับไฟล์ markdown ใดๆ

6. แปลเฉพาะไฟล์ Markdown

ถ้าต้องการแปลเฉพาะไฟล์ markdown ในโปรเจกต์ ให้ใช้ตัวเลือก -md:

translate -l "ko" -md

7. ตรวจสอบข้อผิดพลาดในไฟล์แปล

ถ้าต้องการตรวจสอบไฟล์แปลว่ามีข้อผิดพลาดหรือไม่ และลองแปลใหม่ถ้าจำเป็น ให้ใช้ตัวเลือก -chk:

translate -l "ko" -chk

คำสั่งนี้จะสแกนไฟล์ markdown ที่แปลแล้ว และลองแปลใหม่สำหรับไฟล์ที่พบข้อผิดพลาด

ตัวอย่างใน Phi-3 CookBook

ใน Phi-3 CookBook ผมใช้วิธีนี้เพื่อตรวจสอบข้อผิดพลาดในการแปลไฟล์ภาษาเกาหลี และลองแปลใหม่โดยอัตโนมัติสำหรับไฟล์ที่มีปัญหา

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l"ko" -chk 
Checking translated files for errors in ko...
Checking files for ko: 100%|██████████████████████████████████████████████████| 95/95 [00:01<00:00, 65.47file/s]
Retrying vsc-extension-quickstart.md for ko:   0%|                                     | 0/17 [00:00<?, ?file/s] 

ตัวเลือกนี้จะตรวจสอบข้อผิดพลาดการแปล ปัจจุบัน หากความแตกต่างของการขึ้นบรรทัดระหว่างไฟล์ต้นฉบับกับไฟล์แปลเกินหกบรรทัด ไฟล์นั้นจะถูกมองว่าเกิดข้อผิดพลาด ผมวางแผนที่จะปรับปรุงเกณฑ์นี้ให้ยืดหยุ่นขึ้นในอนาคต

ตัวอย่างเช่น วิธีนี้มีประโยชน์สำหรับตรวจจับส่วนที่หายไปหรือการแปลที่เสียหาย และจะลองแปลใหม่ให้โดยอัตโนมัติสำหรับไฟล์เหล่านั้น

แต่ถ้าคุณรู้แล้วว่าไฟล์ไหนมีปัญหา จะสะดวกกว่าถ้าลบไฟล์เหล่านั้นด้วยตนเองแล้วใช้ตัวเลือก -a option to re-translate them.

8. Debug Mode

To enable detailed logging for troubleshooting, use the -d:

translate -l "ko" -d

คำสั่งนี้จะรันการแปลในโหมดดีบัก พร้อมบันทึกข้อมูลเพิ่มเติมที่ช่วยให้คุณระบุปัญหาในกระบวนการแปลได้

ตัวอย่างใน Phi-3 CookBook

ใน Phi-3 CookBook ผมเจอปัญหาที่การแปลที่มีลิงก์จำนวนมากในไฟล์ markdown ทำให้เกิดข้อผิดพลาดในการจัดรูปแบบ เช่น การแปลเสียหายและการละเลยการขึ้นบรรทัด เพื่อวิเคราะห์ปัญหานี้ ผมใช้ตัวเลือก -d เพื่อดูวิธีการทำงานของกระบวนการแปล

(.venv) C:\Users\sms79\dev\Phi-3CookBook>translate -l "ko" -d
DEBUG:openai._base_client:Request options: {'method': 'post', 'url': '/chat/completions', 'headers': {'api-key': 'af04e0bea45747d8a7b8c131c1971044'}, 'files': None, 'json_data': {'messages': [{'role': 'user', 'content': "Translate the following text to ko. NEVER ADD ANY EXTRA CONTENT OUTSIDE THE TRANSLATION. TRANSLATE ONLY WHAT IS GIVEN TO YOU.. MAINTAIN MARKDOWN FORMAT\n\n# Phi-3 Cookbook: Hands-On Examples with Microsoft's Phi-3 Models [![Open and use the samples in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/microsoft/phi-3cookbook) [![Open in Dev Containers](https://img.shields.io/static/v1?style=for-the-badge&label=Dev%
...

9. แปลทุกภาษา

ถ้าต้องการแปลโปรเจกต์เป็นทุกภาษาที่รองรับ ให้ใช้คำว่า all

[!WARNING] การแปลทุกภาษาพร้อมกันอาจใช้เวลานานมาก ขึ้นอยู่กับขนาดของโปรเจกต์ เช่น การแปล Phi-3 CookBook เป็นภาษาสเปนใช้เวลาประมาณ 2 ชั่วโมง ด้วยขนาดนี้จึงไม่เหมาะให้คนเดียวรับผิดชอบ 20 ภาษา แนะนำให้แบ่งงานกันหลายคน โดยแต่ละคนดูแลหนึ่งหรือสองภาษา และค่อยๆ อัปเดตการแปล

translate -l "all"

คำสั่งนี้จะแปลโปรเจกต์เป็นทุกภาษาที่มีอยู่ หากดำเนินการต่อ การแปลอาจใช้เวลานานตามขนาดโปรเจกต์

[!TIP]

การลบไฟล์แปลด้วยตนเอง (ไม่บังคับ)

ไฟล์แปลจะถูกตรวจจับและลบอัตโนมัติเมื่อไฟล์ต้นฉบับถูกอัปเดต

อย่างไรก็ตาม หากต้องการอัปเดตการแปลด้วยตนเอง เช่น ทำใหม่สำหรับไฟล์เฉพาะ หรือแทนที่พฤติกรรมของระบบ คุณสามารถใช้คำสั่งนี้เพื่อลบไฟล์ทุกเวอร์ชันในโฟลเดอร์ภาษาต่างๆ

บน Windows:

  1. ใช้ Command Prompt:
    • เปิด Command Prompt
    • ไปยังโฟลเดอร์ที่เก็บไฟล์ด้วยคำสั่ง cd
    • ใช้คำสั่งนี้เพื่อลบไฟล์:
      del /s *filename*
      

      ตัวเลือก /s จะค้นหาในไดเรกทอรีย่อยด้วย

  2. ใช้ PowerShell:
    • เปิด PowerShell
    • รันคำสั่งนี้:
      Get-ChildItem -Path "C:\YourPath" -Filter "*filename*" -Recurse | Remove-Item -Force
      

      แทนที่ "C:\YourPath" with the folder path and filename with the specific name.

On macOS/Linux:

  1. Using Terminal:
    • Open Terminal.
    • Navigate to the directory with cd.
    • Use the find ด้วยคำสั่ง:
       find . -type f -name "*filename*" -delete
      

      แทนที่ filename with the specific name.

Always double-check the files before deleting to avoid accidental loss.

Once you have deleted the files which need to be replace simply rerun your translate -l เพื่ออัปเดตไฟล์ที่เปลี่ยนล่าสุด

ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษาอัตโนมัติ Co-op Translator แม้ว่าเราจะพยายามให้มีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่มีความสำคัญ ควรใช้การแปลโดยผู้เชี่ยวชาญด้านภาษามนุษย์ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้