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

ภาษาที่รองรับ

rosetta มาพร้อมกับ Language Cards — ไฟล์การกำหนดค่าแบบมีโครงสร้างสำหรับ 50 ภาษา แต่ละการ์ดประกอบด้วยพรีเซ็ตระดับภาษา (register presets), ข้อมูลเมตาของระบบความสุภาพ (formality system metadata), แฟล็กการรองรับวิธีการแปล, กฎการจัดรูปแบบตัวอักษร (typography rules) และข้อมูลสคริปต์ คุณสามารถเพิ่มภาษาใดๆ ที่ LLM ของคุณรู้จักได้ด้วยการกำหนดค่าเพียงบรรทัดเดียว — ภาษาเหล่านี้คือภาษาที่ได้รับการคัดสรรและมีระดับภาษาที่พร้อมใช้งานจริง (production-ready)


วิธีการแปล

แต่ละภาษาสามารถใช้วิธีการแปลเหล่านี้ได้อย่างน้อยหนึ่งวิธี:

ไอคอนวิธีการวิธีการทำงานค่าใช้จ่าย
🟢Google Translateพื้นฐาน Neural MT รองรับ 130+ ภาษา เฉพาะสตริงแบบ Key-value เท่านั้น — ไม่สามารถแปลเนื้อหา Markdown ได้อย่างปลอดภัย~$20/1M ตัวอักษร
🔵LLM (OpenRouter)ภาษาใดๆ ที่โมเดลรู้จัก ใช้ Prompt ควบคุมระดับภาษา รองรับทั้ง Key-value และเนื้อหา Markdownแตกต่างกันไปตามโมเดล
🟣LLM-CoachedLLM + พจนานุกรมไวยากรณ์ + ข้อมูลการสอน (coaching data) ที่แทรกใน Prompt เหมาะที่สุดสำหรับภาษาที่มีความซับซ้อนทางสัณฐานวิทยาแตกต่างกันไปตามโมเดล
🟠API (Plugin)ไปป์ไลน์การแปลที่โฮสต์โดยชุมชน ให้บริการผ่าน HTTP รองรับ OCAPแตกต่างกันไปตามผู้ให้บริการ

กำหนด GOOGLE_TRANSLATE_API_KEY สำหรับ Google Translate หรือ OPENROUTER_API_KEY สำหรับวิธี LLM ดูรายละเอียดทั้งหมดได้ที่ วิธีการแปล


ภาษาหลัก

นี่คือภาษา (locales) ที่ได้รับการร้องขอมากที่สุดสำหรับแอปพลิเคชันบนเว็บและมือถือ โดยเรียงลำดับตามคำแนะนำของ rosetta ที่ให้ความสำคัญกับการเข้าถึง (accessibility-first) เป็นอันดับแรก

ธงภาษารหัสGoogleLLMCoachedสคริปต์หมายเหตุ
🇸🇦ArabicarRTL. Modern Standard Arabic (فصحى)
🇵🇭Filipino (Taglish)tl / filใช้ fil ในการกำหนดค่า Docusaurus โดย rosetta จะจัดการให้ทั้งสองแบบ
🇫🇷Frenchfrรูปแบบ Vous รองรับความหลากหลายทางเพศ (Connecté·e)
🇪🇸Spanishesละตินอเมริกากลาง (Neutral Latin American)
🇩🇪Germandeรูปแบบ Sie รองรับความหลากหลายทางเพศ (Benutzer:innen)
🇯🇵Japanesejaです/ます สำหรับเนื้อหาหลัก, する สำหรับป้ายกำกับ UI
🇨🇳Chinese (Simplified)zh简体中文
🇮🇹Italianitรูปแบบ Lei
🇧🇷Portuguese (BR)ptภาษาโปรตุเกสแบบบราซิล
🇰🇷Koreankoระดับภาษาสุภาพ 해요체

ภาษาหลักของโลก

ธงภาษารหัสGoogleLLMCoachedสคริปต์หมายเหตุ
🇧🇩Bengalibnนิยมใช้ শুদ্ধ ভাষা
🇧🇬Bulgarianbg
🇨🇿CzechcsVykání (รูปแบบ vy)
🇩🇰Danishda
🇬🇷GreekelModern Δημοτική
🇮🇷PersianfaRTL
🇫🇮Finnishfiไม่มีเพศทางไวยากรณ์
🇮🇱HebrewheRTL
🇮🇳Hindihiशुद्ध हिन्दी ใช้คำยืมภาษาอังกฤษน้อยที่สุด
🇭🇺Hungarianhuรูปแบบ Ön
🇮🇩Indonesianid
🇲🇾Malayms
🇳🇱Dutchnlรูปแบบ U
🇳🇴NorwegiannbBokmål
🇵🇱Polishplรูปแบบ Pan/Pani
🇵🇹Portuguese (EU)pt-PTภาษาโปรตุเกสแบบยุโรป
🇷🇴Romanianro
🇷🇺Russianruรูปแบบ Вы
🇸🇰SlovakskVykanie (รูปแบบ vy)
🇷🇸Serbiansr🔤 Latin→Cyrillicตัวแปลงสคริปต์แบบ Deterministic
🇸🇪Swedishsv
🇰🇪Swahilisw
🇹🇭Thaithคำลงท้ายสุภาพ ครับ/ค่ะ
🇹🇷Turkishtrรูปแบบ Siz
🇺🇦Ukrainianukรูปแบบ Ви
🇵🇰UrduurRTL รูปแบบ آپ
🇻🇳Vietnamesevi
🇹🇼Chinese (Traditional)zh-TW繁體中文
🇬🇪Georgiankaქართული ตระกูลภาษา Kartvelian
🇳🇬YorubayoÈdè Yorùbá ภาษาวรรณยุกต์ (3 เสียง)

ภาษาถิ่น

ธงภาษารหัสGoogleLLMCoachedสคริปต์หมายเหตุ
🇲🇽Mexican Spanishes-MXรูปแบบ Tú ระดับภาษาเป็นกันเอง
🇨🇦Canadian Frenchfr-CAสำนวน Québécois

ภาษาพื้นเมืองและภาษาที่มีทรัพยากรน้อย

ภาษาเหล่านี้ไม่ได้รับการรองรับโดยบริการ MT เชิงพาณิชย์ rosetta มีเครื่องมือสำหรับชุมชนภาษาในการสร้างวิธีการแปลของตนเองภายใต้ หลักการ OCAP

ภาษารหัสGoogleLLMCoachedสคริปต์สถานะ
🪶Plains Creecrk🔤 SRO→Syllabics🚧 อยู่ระหว่างการพัฒนา
🌄QuechuaquRunasimi ปัจจัยแสดงประจักษ์พยาน (Evidential suffixes)

:::info Plains Cree อยู่ระหว่างการพัฒนาอย่างต่อเนื่อง ระดับภาษา, โครงสร้างพื้นฐานการสอน (coaching infrastructure), ตัวแปลงสคริปต์ และชุดทดสอบประเมินผลสำหรับ Plains Cree สามารถใช้งานได้แล้ว แต่ไปป์ไลน์การแปล ยังไม่เปิดตัว เรากำลังทำงานร่วมกับชุมชนภาษาภายใต้ หลักการ OCAP เพื่อให้มั่นใจในคุณภาพก่อนการเปิดตัว ดูรายละเอียดทั้งหมดได้ที่ สนับสนุนภาษาที่มีทรัพยากรน้อย — และวิธีที่คุณสามารถมีส่วนร่วม :::

:::tip การเพิ่มภาษาที่มีทรัพยากรน้อยเพิ่มเติม ระบบปลั๊กอินวิธีการแปลของ rosetta ได้รับการออกแบบมาเพื่อสิ่งนี้ ชุมชนภาษาสามารถสร้างวิธีการแปลแบบกำหนดเอง โฮสต์ไว้ภายใต้การควบคุมของตนเอง และให้บริการผ่าน วิธี API ได้ Method Leaderboard จะติดตามคะแนนสำหรับคู่ภาษาใดๆ — สร้างวิธีการแปล รันชุดทดสอบ และคว้าคะแนนสูงสุด :::


ภาษาประดิษฐ์

ภาษาประดิษฐ์ (Conlangs) ได้รับการรองรับผ่านระดับภาษาของ LLM และตัวแปลงสคริปต์ที่เป็นตัวเลือกเสริม ภาษาเหล่านี้ใช้โครงสร้างพื้นฐานเดียวกับภาษาจริง — ทั้งเกณฑ์คุณภาพ (quality gate), ระบบการสอน (coaching system) และไปป์ไลน์การแปลงสคริปต์ทำงานเหมือนกันทุกประการ

ภาษารหัสGoogleLLMสคริปต์หมายเหตุ
🖖Klingontlh🔤 Romanization→pIqaDต้องใช้ฟอนต์ PUA คำศัพท์ของ Marc Okrand
🧝Sindarin (Tolkien Elvish)x-elvish-s🔤 Latin→Tengwarต้องใช้ฟอนต์ CSUR PUA
🏴‍☠️Pirate Englishx-pirateเฉพาะระดับภาษาเท่านั้น คำอุปมาเกี่ยวกับการเดินเรือ
🦸Kryptonianx-kryptonian🔤 Latin→Kryptonianต้องใช้ฟอนต์ PUA
🎭Shakespearean Englishx-shakespeareเฉพาะระดับภาษาเท่านั้น รูปแบบ Thee/thou, -eth/-est
🐸Yoda-speakx-yodaเฉพาะระดับภาษาเท่านั้น ลำดับคำแบบ OSV

ดู ภาษาประดิษฐ์ สคริปต์ และอักขรวิธี สำหรับข้อกำหนดของฟอนต์ PUA, ข้อจำกัดของ Unicode และวิธีเพิ่มภาษาของคุณเอง


พรีเซ็ตภาษา

วิซาร์ด init รองรับชื่อพรีเซ็ตสำหรับการตั้งค่าอย่างรวดเร็ว คุณสามารถผสมพรีเซ็ตกับรหัสภาษาแต่ละตัวได้

พรีเซ็ตขยายเป็น
europeanfr, de, es, it, pt, nl
asianja, zh, ko
globalfr, es, de, ja, zh, ko, pt, ar
nordicda, fi, nb, sv
# Mix presets with individual codes
i18n-rosetta init
# → Target languages: european, ja
# → Resolves to: fr, de, es, it, pt, nl, ja

การเพิ่มภาษาใดๆ

rosetta สามารถแปลเป็น ภาษาใดๆ ที่ LLM ของคุณรู้จัก — ตารางด้านบนเป็นเพียงรายการภาษาที่มีพรีเซ็ตระดับภาษาในตัว หากต้องการเพิ่มภาษาที่ไม่อยู่ในรายการ ให้ใส่รหัส BCP-47 ในการกำหนดค่าของคุณ:

{
"languages": {
"sw": {},
"am": {
"register": "Formal Amharic. Professional register with Geʽez script."
}
}
}

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


Language Cards

แต่ละภาษาที่มีมาให้ในตัวจะมี Language Card — การกำหนดค่า JSON แบบมีโครงสร้างที่แบ่งออกเป็นสองระดับ (tiers) เพื่อประสิทธิภาพ:

สถาปัตยกรรมแบบสองระดับ

ระดับไดเรกทอรีการโหลดวัตถุประสงค์
Runtimelib/data/language-cards/โหลดทันทีที่ importเอนจินการแปล: ระดับภาษา, ความสุภาพ, กฎ, การรองรับวิธีการแปล
Referencelib/data/language-reference/โหลดเมื่อต้องการ (Lazily)เอกสารสำหรับนักพัฒนา: ความท้าทายทางภาษาศาสตร์, ข้อมูลสารานุกรม, ทรัพยากร NLP

ระดับ Runtime จะมีขนาดเล็ก (~2 KB/การ์ด) เพื่อให้การนำเข้า rosetta ไม่ต้องโหลดข้อมูลเอกสารขนาดหลายเมกะไบต์ ระดับ Reference จะพร้อมใช้งานผ่าน getLanguageReference(code) สำหรับเครื่องมือต่างๆ, เว็บไซต์ และชุดทดสอบประเมินผล

ฟิลด์ของการ์ด Runtime

ฟิลด์ข้อมูลที่บรรจุ
nativeNameชื่อเรียกภาษาของตนเอง (Endonym) ในสคริปต์ของภาษานั้น (เช่น ქართული, Runasimi)
Formality systemการแบ่งแยกระดับความสุภาพ (T-V distinction), ระดับการพูด, keigo, คำลงท้าย ฯลฯ
Register presetsพรีเซ็ต Prompt ของ LLM ที่ตั้งชื่อไว้เฉพาะสำหรับลักษณะของภาษานั้นๆ
Method supportAPI การแปลใดบ้างที่รองรับภาษานี้
Gender guidanceกฎเพศทางไวยากรณ์และเคล็ดลับการเขียนที่ครอบคลุมความหลากหลาย
Script/directionรหัสสคริปต์ ISO 15924 และทิศทาง RTL/LTR
Rulesการจัดรูปแบบตัวอักษร (เครื่องหมายคำพูด, การเว้นวรรค), การใช้ตัวพิมพ์ใหญ่, หมวดหมู่พหูพจน์
Eval datasetsเกณฑ์มาตรฐาน (benchmarks) ใดบ้างที่ครอบคลุมภาษานี้
glottocodeตัวระบุ Glottolog มาตรฐานสำหรับการอ้างอิงข้าม
humanReviewedการ์ดนี้ได้รับการตรวจสอบโดยเจ้าของภาษาหรือไม่

ฟิลด์ของการ์ด Reference

ฟิลด์ข้อมูลที่บรรจุ
Linguistic challengesข้อควรระวังเฉพาะของ MT (เช่น evidentiality, เครื่องหมายวรรณยุกต์, การเติมคำติดต่อ)
Encyclopedicตระกูลภาษา, การจัดหมวดหมู่, จำนวนผู้พูด, ภูมิภาค
Resourcesเครื่องมือ NLP, คลังข้อมูลคู่ขนาน (parallel corpora), โมเดลที่ฝึกฝนล่วงหน้า (pre-trained models)

การสร้างโครงร่าง Language Card ใหม่

ใช้ตัวสร้าง (generator) เพื่อสร้างโครงร่างทั้งสองระดับจากแหล่งข้อมูลที่เชื่อถือได้ (IANA, CLDR, Glottolog):

# Preview what would be generated
node scripts/generate-language-card.mjs sw --dry-run

# Generate both runtime + reference cards
node scripts/generate-language-card.mjs sw

ตัวสร้างจะเติมข้อมูลเมตาอัตโนมัติ (รหัส, สคริปต์, ทิศทาง, พหูพจน์, เครื่องหมายคำพูด, การรองรับวิธีการแปล, ตระกูลภาษา) และทำเครื่องหมายฟิลด์ที่ต้องใช้การพิจารณาทางภาษาศาสตร์เป็น TODO เพื่อให้มนุษย์เป็นผู้คัดสรร

การใช้คีย์พรีเซ็ต

แทนที่จะเขียนข้อความระดับภาษาแบบเต็ม คุณสามารถใช้ชื่อคีย์พรีเซ็ตได้:

{
"languages": {
"fr": "casual-tu",
"ko": "formal-hapsyo",
"ja": "polite"
}
}

Rosetta จะแปลงคีย์เป็น Prompt ระดับภาษาแบบเต็ม รัน npx i18n-rosetta init เพื่อดูพรีเซ็ตที่มีให้ใช้งานสำหรับแต่ละภาษา

ตัวอย่างพรีเซ็ต

ภาษาพรีเซ็ตค่าเริ่มต้น
Frenchformal-vous, casual-tuformal-vous
Koreanpolite-haeyo, formal-hapsyo, casual-haepolite-haeyo
Japanesepolite, formal-keigo, casualpolite
Germanformal-Sie, casual-duformal-Sie
Thaineutral-professional, polite-male, polite-femaleneutral-professional
Spanishneutral-professional, formal-usted, casual-tuteoneutral-professional

ดู การร่วมสมทบ Language Card สำหรับข้อกำหนดแบบเต็ม รวมถึงการตรวจสอบความถูกต้องของฟิลด์และรายการตรวจสอบ PR


ดูเพิ่มเติม