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

เริ่มต้นใช้งานอย่างรวดเร็ว

แปลไฟล์ locale แรกของคุณภายใน 60 วินาที

1. ตั้งค่าไฟล์ Locale ของคุณ

สร้างไฟล์ locale ต้นทาง Rosetta รองรับ JSON, TOML และ YAML:

locales/en.json
{
"hero": {
"title": "Welcome to our platform",
"subtitle": "Build something amazing"
},
"nav": {
"home": "Home",
"about": "About",
"contact": "Contact"
}
}

2. ตั้งค่า API Key ของคุณ

เลือกผู้ให้บริการและตั้งค่าคีย์:

# Option A: OpenRouter (200+ models, recommended)
export OPENROUTER_API_KEY=sk-or-v1-...

# Option B: Gemini (free tier — zero cost to start)
export GEMINI_API_KEY=AI...

รับคีย์ Gemini ฟรีได้ที่ aistudio.google.com/apikey รับคีย์ OpenRouter ได้ที่ openrouter.ai

3. รัน Sync

npx i18n-rosetta sync

:::tip ใช้ Gemini อยู่ใช่ไหม? หากคุณเลือกตัวเลือก B (Gemini) ให้เพิ่ม --method gemini:

npx i18n-rosetta sync --method gemini

:::

Rosetta จะทำการ:

  1. ตรวจหา locales/en.json ว่าเป็นไฟล์ต้นทางโดยอัตโนมัติ
  2. ค้นหา (หรือแจ้งให้ระบุ) ภาษาปลายทาง
  3. แปลคีย์ทั้งหมด
  4. เขียนไฟล์ locales/fr.json, locales/ja.json ฯลฯ
  5. สร้าง .i18n-rosetta.lock เพื่อติดตามสิ่งที่ได้รับการแปลไปแล้ว

4. ตรวจสอบผลลัพธ์

cat locales/fr.json
{
"hero": {
"title": "Bienvenue sur notre plateforme",
"subtitle": "Construisez quelque chose d'incroyable"
},
"nav": {
"home": "Accueil",
"about": "À propos",
"contact": "Contact"
}
}

จะเกิดอะไรขึ้นต่อไป?

เมื่อคุณเปลี่ยนแปลงสตริงต้นทาง Rosetta จะตรวจจับการเปลี่ยนแปลงผ่านการติดตาม SHA-256 hash และจะแปลเฉพาะคีย์นั้นใหม่ในการรัน Sync ครั้งถัดไป:

locales/en.json (updated)
{
"hero": {
"title": "Welcome to Acme Platform", // ← changed
"subtitle": "Build something amazing" // ← unchanged, skipped
}
}
npx i18n-rosetta sync
# Only "hero.title" is re-translated across all locales

ทางเลือกเพิ่มเติม: สร้างไฟล์ Config

สำหรับการควบคุมที่มากขึ้น ให้สร้างไฟล์ config:

npx i18n-rosetta init # guided wizard
npx i18n-rosetta init --yes --langs fr,de,ja # quick setup with specific targets

วิซาร์ดแนะนำจะพาคุณไปดู register presets ของแต่ละภาษา — ซึ่งเป็นคำสั่งกำหนดโทนเสียง/ระดับความเป็นทางการที่สร้างไว้ล่วงหน้าและปรับแต่งให้เข้ากับระบบภาษาของภาษานั้นๆ ภาษาฝรั่งเศสมีพรีเซ็ต T-V (vouvoiement เทียบกับ tutoiement) ภาษาเกาหลีมีระดับการพูด (해요체 เทียบกับ 합쇼체 เทียบกับ 해체) ภาษาญี่ปุ่นมีตัวเลือก keigo (です/ます เทียบกับ 丁寧語)

หรือสร้าง config ด้วยตนเองโดยใช้คีย์พรีเซ็ต:

i18n-rosetta.config.json
{
"version": 3,
"inputLocale": "en",
"localesDir": "./locales",
"languages": {
"fr": "casual-tu",
"ko": "polite-haeyo",
"ja": "polite"
},
"model": "google/gemini-2.5-flash"
}

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

ทางเลือกเพิ่มเติม: Watch Mode

แปลภาษาอัตโนมัติเมื่อไฟล์ต้นทางของคุณมีการเปลี่ยนแปลง:

npx i18n-rosetta watch

ขั้นตอนต่อไป

  • Configuration — ข้อมูลอ้างอิง config ฉบับเต็ม
  • Translation Methods — เลือกวิธีการแปลที่เหมาะสม
  • Framework Integration — Hugo, next-intl, react-i18next
  • CI/CD — ทำให้การแปลเป็นแบบอัตโนมัติใน pipeline ของคุณ