logologo
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
logologo

เริ่มต้นใช้งานฉบับย่อ

ภาพรวมการพัฒนาปลั๊กอิน
การเขียนปลั๊กอินแรกของคุณ
โครงสร้างไดเรกทอรีโปรเจกต์

การพัฒนาฝั่งเซิร์ฟเวอร์

ภาพรวม
ปลั๊กอิน
คอลเลกชัน
การดำเนินการฐานข้อมูล
การจัดการแหล่งข้อมูล
การจัดการทรัพยากร
การควบคุมการเข้าถึง (ACL)
มิดเดิลแวร์
แคช
เหตุการณ์
คอนเท็กซ์คำขอ
สคริปต์การย้ายข้อมูล
ล็อก
การทำให้เป็นสากล (I18n)
คำสั่ง
การจัดการงานที่กำหนดเวลา
การทดสอบ

การพัฒนาฝั่งไคลเอนต์

ภาพรวม
ปลั๊กอิน
คอนเท็กซ์
เราเตอร์
การควบคุมการเข้าถึง (ACL)
การจัดการแหล่งข้อมูล
ทรัพยากร
คำขอ
สไตล์และธีม
ล็อก
การทำให้เป็นสากล (I18n)
การทดสอบ

อื่นๆ

คู่มือการอัปเกรดปลั๊กอิน
รายการภาษา
การจัดการ Dependencies
การสร้าง
Previous Pageล็อก
Next Pageการทดสอบ
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#I18n การรองรับหลายภาษา

ปลั๊กอินของ NocoBase รองรับการทำงานหลายภาษา (i18n) ทั้งในส่วนหน้า (frontend) และส่วนหลัง (backend) ครับ ด้วยกลไกที่เป็นหนึ่งเดียวนี้ คุณสามารถสร้างเนื้อหาหลายภาษาในปลั๊กอินได้อย่างง่ายดายเลยครับ

#การจัดการไฟล์ภาษา

ไฟล์ภาษาของปลั๊กอินจะถูกจัดเก็บรวมกันไว้ในไดเรกทอรี src/locale ครับ โดยแนะนำให้ตั้งชื่อไฟล์ตามภาษา เช่น:

|- /plugin-hello
  |- /src
    |- /locale
      |- en-US.json   # ภาษาอังกฤษ
      |- zh-CN.json   # ภาษาจีน

ไฟล์ภาษาแต่ละไฟล์จะ export อ็อบเจกต์ JSON ที่มีรายการคำแปลทั้งหมดสำหรับภาษานั้น ๆ ครับ ตัวอย่างเช่น:

// zh-CN.json
{
  "Hello": "你好",
  "World": "世界",
  "Enter your name": "请输入你的名字",
  "Your name is {{name}}": "你的名字是 {{name}}"
}
// en-US.json
{
  "Hello": "Hello",
  "World": "World",
  "Enter your name": "Enter your name",
  "Your name is {{name}}": "Your name is {{name}}"
}

เมื่อเพิ่มไฟล์ภาษาเป็นครั้งแรก คุณจะต้องรีสตาร์ทแอปพลิเคชันเพื่อให้การเปลี่ยนแปลงมีผลครับ คุณสามารถตรวจสอบว่ารายการคำแปลมีผลแล้วหรือไม่ผ่าน API ได้ที่:
http://localhost:13000/api/app:getLang?locale=zh-CN

#API ที่เกี่ยวข้องกับ i18n

#ctx.i18n

#ctx.t(text, options)

#plugin.t()

#useT()

#tExpr(text)

#useTranslation(ns)

#withTranslation(ns)