สคริปต์ Python นี้มอบเครื่องมือที่มีประสิทธิภาพและยืดหยุ่นสำหรับการแปลไฟล์ .po
โดยใช้โมเดล GPT-4 ของ OpenAI รองรับโหมดการแปลที่หลากหลาย จัดการรายการที่ไม่ชัดเจน และรวมการประมวลผลเป็นชุดสำหรับโปรเจ็กต์ขนาดใหญ่ ทำให้เหมาะสำหรับโครงสร้างและขนาดไฟล์ .po
ที่หลากหลาย
--detail-lang
) : รองรับการใช้ชื่อภาษาเต็ม (เช่น "เนเธอร์แลนด์ เยอรมัน") ควบคู่ไปกับรหัสย่อ (เช่น nl, de
) ช่วยให้มั่นใจได้ถึงความชัดเจนในข้อความแจ้งการแปลpolib
(สำหรับการจัดการไฟล์ .po
)openai
Python (สำหรับการทำงานร่วมกับโมเดล OpenAI GPT)tenacity
(สำหรับกลไกการลองใหม่)python-dotenv
(สำหรับจัดการตัวแปรสภาพแวดล้อม) ติดตั้งแพ็คเกจ gpt-po-translator
โดยตรงจาก PyPI:
pip install gpt-po-translator
สำหรับการติดตั้งด้วยตนเองหรือการทำงานกับโค้ดล่าสุดจากที่เก็บ:
git clone [repository URL]
pip install .
gpt-po-translator
รองรับสองวิธีในการให้ข้อมูลรับรอง OpenAI API:
ตัวแปรสภาพแวดล้อม : ตั้งค่าคีย์ OpenAI API ของคุณเป็นตัวแปรสภาพแวดล้อมชื่อ OPENAI_API_KEY
แนะนำให้ใช้วิธีนี้เพื่อความปลอดภัยและความง่ายในการจัดการคีย์ API
export OPENAI_API_KEY= ' your_api_key_here '
อาร์กิวเมนต์บรรทัดคำสั่ง : ส่งคีย์ API เป็นอาร์กิวเมนต์บรรทัดคำสั่งโดยใช้ตัวเลือก --api_key
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 100 --folder-language
ตรวจสอบให้แน่ใจว่าคีย์ API ของคุณได้รับการจัดเก็บอย่างปลอดภัยและไม่เปิดเผยในพื้นที่สาธารณะหรือที่เก็บข้อมูล
ใช้ gpt-po-translator
เป็นเครื่องมือบรรทัดคำสั่งสำหรับการแปลไฟล์ .po
:
gpt-po-translator --folder [path_to_po_files] --lang [language_codes] [--api_key [your_openai_api_key]] [--fuzzy] [--bulk] [--bulksize [batch_size]] [--folder-language] [--detail-lang [full_language_names]]
gpt-po-translator --folder ./locales --lang de,fr --api_key ' your_api_key_here ' --bulk --bulksize 40 --folder-language --detail-lang " German,French "
คำสั่งนี้แปลไฟล์ .po
ในโฟลเดอร์ ./locales
locales เป็นภาษาเยอรมันและฝรั่งเศส โดยใช้คีย์ OpenAI API ที่ให้มา และประมวลผลการแปล 40 รายการต่อชุดในโหมดเป็นกลุ่ม นอกจากนี้ยังอนุมานภาษาจากโครงสร้างโฟลเดอร์ด้วย
--folder
: ระบุโฟลเดอร์อินพุตที่มีไฟล์ .po
--lang
: รหัสภาษาที่คั่นด้วยเครื่องหมายจุลภาคเพื่อกรองไฟล์ .po
(เช่น de,fr
)--detail-lang
: อาร์กิวเมนต์ทางเลือกสำหรับชื่อภาษาเต็ม โดยตรงกับลำดับของ --lang
(เช่น "เยอรมัน,ฝรั่งเศส")--fuzzy
: ลบรายการคลุมเครือก่อนการประมวลผล--bulk
: เปิดใช้งานโหมดการแปลจำนวนมากเพื่อการประมวลผลที่เร็วขึ้น--bulksize
: ตั้งค่าขนาดแบทช์สำหรับการแปลจำนวนมาก (ค่าเริ่มต้นคือ 50)--model
: ระบุโมเดล OpenAI ที่จะใช้สำหรับการแปล (ค่าเริ่มต้นคือ gpt-3.5-turbo-0125
)--api_key
: คีย์ OpenAI API สามารถจัดเตรียมได้ผ่านทางบรรทัดคำสั่งหรือเป็นตัวแปรสภาพแวดล้อม--folder-language
: อนุมานภาษาเป้าหมายจากโครงสร้างโฟลเดอร์ ตัวเลือก --detail-lang
เติมเต็ม --lang
โดยอนุญาตให้คุณระบุชื่อภาษาเต็ม (เช่น Netherlands,German
) แทนการใช้รหัสย่อของภาษา จากนั้นจะใช้ชื่อเต็มในบริบทของข้อความแจ้ง OpenAI เพื่อปรับปรุงความชัดเจนสำหรับโมเดล GPT
ตัวอย่างการใช้งาน:
gpt-po-translator --folder ./locales --lang nl,de --detail-lang " Netherlands,German "
สคริปต์จะบันทึกข้อมูลโดยละเอียดเกี่ยวกับไฟล์ที่กำลังประมวลผล จำนวนการแปล และรายละเอียดแบทช์ในโหมดเป็นกลุ่ม บันทึกเป็นสิ่งจำเป็นสำหรับการติดตามความคืบหน้า การแก้ไขข้อบกพร่อง และการรับรองความโปร่งใสตลอดกระบวนการแปล
สคริปต์ประกอบด้วยการจัดการข้อผิดพลาดที่มีประสิทธิภาพและลองใหม่อีกครั้งเพื่อให้แน่ใจว่าการแปลเชื่อถือได้:
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด