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

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

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

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

เครื่องมือทำ Localization ส่วนใหญ่แบ่งออกเป็น 3 หมวดหมู่หลัก ได้แก่:

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

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


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

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

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

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

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

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

  • คุณมีนักแปลมืออาชีพที่เป็นมนุษย์คอยตรวจสอบทุกข้อความ
  • คุณต้องการระบบหน่วยความจำการแปล (Translation memory) และการจัดการอภิธานศัพท์ (Glossary) ข้ามโปรเจกต์
  • คุณต้องการการแก้ไขตามบริบทแบบ Visual (ดูตัวอย่างการแปลภายใน 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 (Mode of Beleriand)
x-kryptonianLatin → KryptonianCipher-substitution (ต้องใช้ฟอนต์)

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

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

เมื่อแปล Markdown หรือเนื้อหาแบบ Rich content Rosetta จะทำการปกป้อง:

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

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

4. ปลั๊กอิน Method แบบมีการฝึกสอน (Coached Method Plugins)

สำหรับภาษาที่ไม่มี API รองรับ คุณสามารถสร้าง Method การแปลแบบมีการฝึกสอน (Coached translation method) ได้:

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

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


บทสรุป

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