ข้ามไปยังเนื้อหาหลัก

Rosetta เปรียบเทียบกับเครื่องมืออื่นอย่างไร

i18n-rosetta จัดอยู่ในหมวดหมู่ที่แตกต่างจากเครื่องมือ localization ส่วนใหญ่ นี่คือการเปรียบเทียบอย่างตรงไปตรงมา

ภาพรวมของเครื่องมือ

เครื่องมือ localization ส่วนใหญ่จะจัดอยู่ในหนึ่งในสามหมวดหมู่นี้:

หมวดหมู่ตัวอย่างรูปแบบ
Cloud TMS PlatformsCrowdin, Phrase, Locize, TolgeeSaaS dashboard + นักแปลที่เป็นมนุษย์ + ค่าบริการรายเดือน
Key Extraction Toolsi18next-scanner, FormatJS CLIสแกนซอร์สโค้ดเพื่อหาการเรียกใช้ฟังก์ชันการแปล
CLI Translation Enginesi18n-rosettaรันในโปรเจกต์ของคุณ, แปลไฟล์โดยตรง, ไม่ต้องใช้บัญชีคลาวด์

Rosetta เป็น CLI translation engine — ซึ่งจะแปลไฟล์ locale ของคุณโดยตรงผ่าน backend ที่สามารถกำหนดค่าได้ (LLMs, Google Translate, custom plugins) ไม่มีแดชบอร์ดบนคลาวด์ ไม่มีเวิร์กโฟลว์สำหรับนักแปลที่เป็นมนุษย์ และไม่มีค่าบริการรายเดือน


การเปรียบเทียบฟีเจอร์

ฟีเจอร์i18n-rosettaCrowdinPhraseLocize
รันแบบโลคัล (ไม่ต้องใช้บัญชีคลาวด์)
ไม่มี Dependencies
กำหนดค่าวิธีการแปลแยกตามคู่ภาษา
กำหนดระดับภาษา (Registers) แบบกำหนดเอง
รับรู้บริบทเนื้อหา (ปกป้องบล็อกโค้ด)
แปลงภาษาประดิษฐ์ (Conlang) และสคริปต์
สถาปัตยกรรมแบบ Plugin
แปล Markdown / เนื้อหา
Translation Memory
ส่งออก/นำเข้า XLIFF
ตรวจสอบ ICU plural
บังคับใช้คำศัพท์เฉพาะ (Terminology)
เวิร์กโฟลว์สำหรับนักแปลที่เป็นมนุษย์อิงตาม XLIFF
แก้ไขตามบริบท (แบบเห็นภาพ)
การทำงานร่วมกันเป็นทีม
รองรับรูปแบบไฟล์JSON, TOML, YAML, MD, XLIFF50+40+JSON
ราคาฟรี (จ่ายเฉพาะค่า LLM ของคุณ)เริ่มต้น $0/เดือนเริ่มต้น $0/เดือนเริ่มต้น $0/เดือน

เมื่อใดที่ควรใช้ Rosetta

Rosetta เหมาะสมเมื่อ:

  • คุณต้องการให้ machine translation รวมอยู่ใน build pipeline ของคุณ — ไม่ใช่เวิร์กโฟลว์ที่แยกต่างหาก
  • คุณต้องการควบคุมวิธีการแปลแยกตามภาษา (ใช้ LLM สำหรับบางภาษา, Google Translate สำหรับภาษาอื่น และ custom plugins สำหรับส่วนที่เหลือ)
  • คุณกำลังแปลเป็นภาษาที่ไม่มี API รองรับ (ภาษาพื้นเมือง, ภาษาที่ใกล้สูญพันธุ์, ภาษาประดิษฐ์)
  • คุณต้องการผลลัพธ์ของสคริปต์ที่แน่นอน (Cree Syllabics, Klingon pIqaD, Tengwar)
  • คุณไม่ต้องการการผูกขาดจากผู้ให้บริการ (vendor lock-in) และไม่ต้องการพึ่งพาระบบคลาวด์
  • คุณเป็นนักพัฒนาอิสระหรือทีมขนาดเล็กที่ไม่ต้องการแดชบอร์ด TMS แบบเต็มรูปแบบ
  • คุณต้องการส่งมอบงานผ่าน XLIFF ให้นักแปลมืออาชีพโดยไม่ต้องสมัครสมาชิกคลาวด์

Cloud TMS จะเหมาะสมกว่าเมื่อ:

  • คุณมีนักแปลมืออาชีพที่เป็นมนุษย์คอยตรวจสอบทุกข้อความ (เวิร์กโฟลว์ XLIFF ของ Rosetta นั้นเรียบง่ายกว่า TMS แบบเต็มรูปแบบ)
  • คุณต้องการจัดการ translation memory และอภิธานศัพท์ (glossary) ข้ามโปรเจกต์
  • คุณต้องการการแก้ไขแบบเห็นภาพตามบริบท (ดูตัวอย่างการแปลภายใน UI ของคุณ)
  • คุณมีทีมขนาดใหญ่ที่ต้องการการควบคุมการเข้าถึงตามบทบาท (role-based access control)
  • คุณต้องการการรองรับรูปแบบไฟล์มากกว่า 50 รูปแบบ

สิ่งที่ Rosetta ทำได้แต่ไม่มีใครทำได้

1. กำหนดระดับภาษา (Custom Registers)

ทุกคู่ภาษาจะได้รับคำแนะนำเรื่องน้ำเสียงที่เหมาะสมกับวัฒนธรรมสำหรับ LLM:

{
"de": {
"register": "Standard professional register. Use Sie-form for formal address."
},
"tl": {
"register": "Educated Manila Taglish. Use Tagalog as the primary language but keep technical terms in English."
},
"tlh": {
"register": "Warrior's honor. OVS grammar. Use Marc Okrand vocabulary."
}
}

ไม่มีเครื่องมืออื่นใดที่มาพร้อมกับระดับภาษาที่กำหนดค่าไว้ล่วงหน้าถึง 47 รายการ หรือให้คุณกำหนดระดับภาษาเองในแต่ละโปรเจกต์ได้

2. ตัวแปลงสคริปต์ที่ให้ผลลัพธ์แน่นอน (Deterministic Script Converters)

Rosetta มาพร้อมกับตัวแปลงสคริปต์ในตัว 5 ตัว ซึ่งทำงานเป็น post-translation hooks — โดยไม่ต้องใช้ LLM:

Localeการแปลงตัวอย่าง
crkSRO → Cree Syllabicsnêhiyawêwinᓀᐦᐃᔭᐍᐏᐣ
srLatin → CyrillicBeogradБеоград
tlhRomanization → pIqaDtlhIngan Hol → (อักขระ pIqaD)
x-elvish-sLatin → TengwarSindarin → Tengwar (โหมด Beleriand)
x-kryptonianLatin → Kryptonianการแทนที่รหัส (ต้องใช้ฟอนต์)

สิ่งเหล่านี้คือตัวแปลงแบบตารางค้นหา (lookup-table) ล้วนๆ — ให้ผลลัพธ์ที่แน่นอน ตรวจสอบได้ และไม่มีความเสี่ยงที่ LLM จะสร้างข้อมูลเท็จ (hallucination)

3. การปกป้องแบบรับรู้บริบทเนื้อหา (Content-Aware Shielding)

เมื่อแปล Markdown หรือ rich content Rosetta จะปกป้อง:

  • บล็อกโค้ด (Fenced code blocks) (```)
  • โค้ดในบรรทัด (Inline code) (` `)
  • Hugo shortcodes ({{</* */>}}, {{%/* */%}})
  • ตัวแปรแทรก (Interpolation variables) ({{ .Count }}, {name}, {{t('key')}})
  • บล็อก Raw HTML

สิ่งเหล่านี้จะถูกแทนที่ด้วย Unicode sentinel tokens ก่อนการแปลและจะถูกกู้คืนในภายหลัง LLM จะไม่เห็นโค้ด, shortcodes หรือตัวแปรของคุณเลย

4. ปลั๊กอินวิธีการแปลแบบมีคำแนะนำ (Coached Method Plugins)

สำหรับภาษาที่ไม่มี API รองรับ คุณสามารถสร้างวิธีการแปลแบบมีคำแนะนำได้:

  1. เขียนข้อมูลคำแนะนำทางภาษา (กฎไวยากรณ์, คำศัพท์, ตัวอย่าง)
  2. รวมเข้าด้วยกันเป็นปลั๊กอิน
  3. วัดประสิทธิภาพเทียบกับคำแปลอ้างอิงโดยใช้ eval harness
  4. ติดตั้งลงในโปรเจกต์ของคุณด้วย i18n-rosetta plugin install

นี่คือวิธีที่ Rosetta จัดการกับภาษา Plains Cree — และเป็นวิธีที่คุณสามารถใช้จัดการกับภาษาใดก็ได้ รวมถึงภาษาที่ยังไม่มีอยู่จริง


บทสรุป

Rosetta ไม่ใช่สิ่งทดแทน Crowdin แต่เป็นเครื่องมือที่แตกต่างกันสำหรับเวิร์กโฟลว์ที่ต่างกัน หากคุณต้องการนักแปลที่เป็นมนุษย์ ให้ใช้ TMS หากคุณต้องการ CLI ที่แปลไฟล์ของคุณด้วยคำสั่งเดียว และให้คุณควบคุมวิธีการ โมเดล และระดับภาษาแยกตามภาษาได้ — ให้ใช้ Rosetta