ติดตั้งและใช้งาน

Windows ติดตั้ง git bash ก่อน

windows ระบบ กรุณา คลิกที่นี่เพื่อดาวน์โหลดและติดตั้ง git bash ก่อน

เรียกใช้การดำเนินการครั้งต่อไปใน git bash

ติดตั้ง

bash <(curl -sS https://i.i18n.site) i18

กำหนดค่าโทเค็นการแปล

เยี่ยมชม i18n.site/token คลิกเพื่อคัดลอกโทเค็น

สร้าง ~/.config/i18n.site.yml วางเนื้อหาที่คัดลอกลงไป โดยมีเนื้อหาดังนี้:

token: YOUR_API_TOKEN

i18n.site/payBill คุณต้องผูกบัตรเครดิตในการชำระเงิน (ไม่ต้องเติมเงิน เว็บไซต์จะหักค่าธรรมเนียมตามการใช้งานโดยอัตโนมัติ ดูราคาที่หน้าแรก )

ใช้

โครงการสาธิต

โปรดดูโครงการสาธิต github.com/i18n-site/demo.i18 เพื่อเรียนรู้การกำหนดค่าการแปล i18

ผู้ใช้ในประเทศจีนสามารถโคลนได้ atomgit.com/i18n/demo.i18

หลังจากการโคลน ให้ป้อนไดเร็กทอรีและรัน i18 เพื่อทำการแปลให้เสร็จสิ้น

โครงสร้างไดเร็กทอรี

โครงสร้างไดเร็กทอรีคลังสินค้าเทมเพลตมีดังนี้

┌── .i18n
│  └── conf.yml
└── en
   ├── _IgnoreDemoFile.md
   ├── i18n.yml
   └── README.md

ไฟล์สาธิตที่แปลแล้วในไดเร็กทอรี en เป็นเพียงตัวอย่างและสามารถลบได้

เรียกใช้การแปล

ป้อนไดเร็กทอรีและรัน i18 เพื่อแปล

นอกจากการแปลแล้ว โปรแกรมจะสร้างโฟลเดอร์ .i18n/data ด้วย โปรดเพิ่มลงในที่เก็บ

หลังจากแปลไฟล์ใหม่ ไฟล์ข้อมูลใหม่จะถูกสร้างขึ้นในไดเร็กทอรีนี้ อย่าลืมต่อท้าย git add .

ไฟล์การกำหนดค่า

.i18n/conf.yml คือไฟล์การกำหนดค่าของเครื่องมือแปลบรรทัดคำสั่ง i18

เนื้อหามีดังนี้:

i18n:
  fromTo:
    en: zh ja ko de fr
    # en:

ignore:
  - _*

ภาษาต้นฉบับ &

ในไฟล์คอนฟิกูเรชัน รองของ fromTo :

en คือภาษาต้นฉบับ zh ja ko de fr คือภาษาเป้าหมายของการแปล

รหัสภาษาดู i18n.site/i18/LANG_CODE

ตัวอย่างเช่น หากคุณต้องการแปลภาษาจีนเป็นภาษาอังกฤษ ให้เขียนบรรทัดนี้ใหม่ zh: en

หากคุณต้องการแปลเป็นภาษาที่รองรับทั้งหมด โปรดเว้นว่างไว้หลัง : ตัวอย่างเช่น

i18n:
  fromTo:
    en:

คุณสามารถกำหนดค่า fromTo ที่แตกต่างกัน : ไดเร็กทอรีย่อยที่แตกต่างกัน /

i18n:
  fromTo:
    en:
  path:
    blog:
      fromTo:
        zh:
    blog/your_file_name.md:
      fromTo:
        ja:

ในตารางคอนฟิกูเรชันนี้ ภาษาต้นฉบับของการแปลแค็ตตาล็อก blog คือ zh และภาษาต้นฉบับของการแปลแค็ตตาล็อก blog/your_file_name.md คือ ja

รูปภาพ/ลิงก์หลายภาษา

เมื่อ URL ในรูปภาพและลิงก์ใน replace: และ MarkDown (และแอตทริบิวต์ src และ href ของ Embedded HTML ) ได้รับการกำหนดค่าเป็น .i18n/conf.yml ด้วยคำนำหน้านี้ รหัสภาษาต้นฉบับใน URL จะถูกแทนที่ด้วยรหัสภาษาของการแปล ( ภาษา รายการรหัส )

ตัวอย่างเช่น การกำหนดค่าของคุณจะเป็นดังนี้:

i18n:
  fromTo:
    fr: ko de en zh zh-TW uk ru ja
  replace:
    https://fcdoc.github.io/img/ : ko de uk>ru zh-TW>zh >en

replace: คือพจนานุกรม คีย์คือคำนำหน้า URL ที่จะแทนที่ และค่าคือกฎการแทนที่

ความหมายของการแทนที่กฎ ko de uk>ru zh-TW>zh >en ข้างต้นคือ ko de ใช้รูปภาพของรหัสภาษาของตนเอง zh-TW และ zh ใช้รูปภาพ zh , uk ใช้รูปภาพ ru และภาษาอื่นๆ (เช่น ja ) ใช้รูปภาพ ของ en โดยค่าเริ่มต้น

ตัวอย่างเช่น ซอร์สไฟล์ภาษาฝรั่งเศส ( fr ) ของ MarkDown จะเป็นดังนี้ :

![xx](//i18n-img.github.io/fr/1.avif)
<video src="https://i18n-img.github.io/fr/1.mp4"></video>
[xx](//i18n-img.github.io/fr/README.md)
<a style="color:red" href="https://i18n-img.github.io/fr/i18n.site.gz">xx</a>

ไฟล์ภาษาอังกฤษที่แปลและสร้างขึ้น ( en ) มีดังนี้ :

![xx](//i18n-img.github.io/en/1.avif)
<video src="https://i18n-img.github.io/en/1.mp4"></video>
[xx](//i18n-img.github.io/en/README.md)
<a style="color:red" href="https://i18n-img.github.io/en/i18n.site.gz">xx</a>

ในที่นี้ /en/ ในรหัสภาษาต้นฉบับจะถูกแทนที่ด้วย /zh/ ในภาษาเป้าหมาย

: ต้องมี / ก่อนและหลังรหัสภาษาของข้อความที่ถูกแทนที่ใน URL

[!TIP] หากกำหนดค่า - / ใน url: จะมีการจับคู่เฉพาะเส้นทางสัมพัทธ์เท่านั้น แต่ URL ที่ขึ้นต้นด้วย // จะไม่ตรงกัน

หากลิงก์ของชื่อโดเมนบางลิงก์ต้องการเปลี่ยนและบางลิงก์ไม่ต้องการเปลี่ยน คุณสามารถใช้คำนำหน้าที่แตกต่างกัน เช่น [x](//x.com/en/) และ [x](//x.com/en/) เพื่อแยกความแตกต่างได้

ละเว้นไฟล์

ตามค่าเริ่มต้น ไฟล์ทั้งหมดที่ขึ้นต้นด้วย .md และ .yml ในไดเร็กทอรีภาษาต้นฉบับจะถูกแปล

หากคุณต้องการละเว้นไฟล์บางไฟล์และไม่แปลไฟล์เหล่านั้น (เช่น แบบร่างที่ยังสร้างไม่เสร็จ) คุณสามารถกำหนดค่าไฟล์นั้นด้วยฟิลด์ ignore

ignore ใช้ไวยากรณ์ globset เหมือนกับไฟล์ .gitignore

ตัวอย่างเช่น _* ในไฟล์การกำหนดค่าด้านบนหมายความว่าไฟล์ที่ขึ้นต้นด้วย _ จะไม่ถูกแปล

กฎการแปล

ผู้แก้ไขคำแปลไม่ควรเพิ่มหรือลบบรรทัด

การแปลสามารถแก้ไขได้ แก้ไขข้อความต้นฉบับและแปลด้วยเครื่องอีกครั้ง การแก้ไขการแปลด้วยตนเองจะไม่ถูกเขียนทับ (หากย่อหน้านี้ของข้อความต้นฉบับไม่ได้รับการแก้ไข)

[!WARN] บรรทัดการแปลและข้อความต้นฉบับต้องสอดคล้องกัน กล่าวคือ ห้ามเพิ่มหรือลบบรรทัดเมื่อรวบรวมการแปล มิฉะนั้นจะทำให้เกิดความสับสนในแคชการแก้ไขการแปล

หากมีสิ่งผิดปกติเกิดขึ้น โปรดดู คำถามที่พบบ่อยเพื่อดูแนวทางแก้ไข

YAML การแปล

เครื่องมือบรรทัดคำสั่งจะค้นหาไฟล์ทั้งหมดที่ลงท้ายด้วย .yml ในไดเร็กทอรีไฟล์ภาษาต้นฉบับและแปลไฟล์เหล่านั้น

เครื่องมือจะแปลค่าพจนานุกรมเป็น .yml เท่านั้น ไม่ใช่คีย์พจนานุกรม

เช่น i18n/en/i18n.yml

apiToken: API Token
defaultToken: Default Token

จะถูกแปลเป็น i18n/zh/i18n.yml

apiToken: 接口令牌
defaultToken: 默认令牌

การแปล YAML สามารถแก้ไขได้ด้วยตนเอง (แต่อย่าเพิ่มหรือลบคีย์หรือบรรทัดในการแปล)

จากการแปล YAML คุณสามารถสร้างโซลูชันระดับสากลสำหรับภาษาการเขียนโปรแกรมต่างๆ ได้อย่างง่ายดาย

การใช้งานขั้นสูง

ไดเรกทอรีย่อยการแปล

ตราบใดที่สร้าง .i18n/conf.yml (ไม่จำเป็นต้องเริ่มจากเทมเพลตโครงการสาธิตทุกครั้ง) i18 ก็จะทำงานได้ดี

เครื่องมือบรรทัดคำสั่งจะค้นหาการกำหนดค่า .i18n/conf.yml รายการในไดเรกทอรีย่อยทั้งหมดและแปลการกำหนดค่าเหล่านั้น

โปรเจ็กต์ที่ใช้สถาปัตยกรรม monorepo สามารถแบ่งไฟล์ภาษาออกเป็นไดเร็กทอรีย่อยได้

ไดเร็กทอรีการติดตั้งแบบกำหนดเอง

มันจะถูกติดตั้งเป็น /usr/local/bin ตามค่าเริ่มต้น

หาก /usr/local/bin ไม่มีสิทธิ์ในการเขียน ระบบจะติดตั้งเป็น ~/.bin

การตั้งค่าตัวแปรสภาพแวดล้อม TO สามารถกำหนดไดเร็กทอรีการติดตั้งได้ เช่น :

TO=/bin sudo bash <(curl -sS https://i.i18n.site) i18