โครงการแปลหนังสือ The Swift Programming Language เป็นของ Swift Thailand User Group ชุมชนนักพัฒนาแอปพลิเคชั่นด้วยภาษา Swift ในไทย
หนังสือเล่มนี้แปลจาก The Swift Programming Language , Swift 3 Edition (Beta) ไฟล์ต่างๆในโปรเจคแปลงมาจากไฟล์ epub ให้เป็น xhtml ดังนั้นแล้วสามารถใช้ html editor แก้ไขได้ทันที หากต้องการจะโหลดไฟล์ ebook ไปอ่านก็โหลดได้ ที่นี่
หากคุณยังไม่เคยร่วมกับ opensource project ใดๆ นี่เป็นโอกาสที่ดี ที่คุณจะได้มีส่วนช่วยพัฒนาชุมชนผู้ใช้งาน Swift ในไทย
คุณสามารถมีส่วนร่วมในโครงการนี้ด้วยการ
- แปลบทความ
- ตรวจสอบคำและไวยากรณ์ต่างๆ
- เรียบเรียงภาษาให้อ่านง่ายขึ้น
- แจ้งข้อผิดพลาดหรือช่วยประชาสัมพันธ์
โครงการเปิดให้ทุกคนมีส่วนร่วมได้ ดังนั้นก่อนที่จะลงมือแปล ให้ตรวจสอบ issue ในหน้า https://github.com/macfeteria/thai-swift-document/issues เสียก่อนว่ามีใครเริ่มลงมือแปลส่วนใดบ้าง
ถ้าหาก พบว่ามีคนกำลังแปล บทความเดียวกัน ให้โพสสอบถามที่ issue นั้นว่าส่วนใดยังไม่ได้เริ่มแปล เพื่อที่จะได้ไม่เป็นการเสียเวลาทำงานซ้ำซ้อนกัน
หากพบว่ายังไม่มีคนเริ่มแปล ก็ให้สร้าง issue ใหม่ พร้อมกับบอกรายละเอียดด้วยว่าคุณกำลังเริ่มต้นแปล บทใด , ส่วนใด
แนวทางในการแปลหนังสือเล่มนี้ มีไม่กี่ข้อ (ณ ตอนนี้)
- ไม่ใช้ภาษาวัยรุ่น ภาษาวิบัติ ภาษาเฉพาะกลุ่มบนอินเทอร์เน็ต ไม่ใช้คำหยาบคาย
- ไม่จำเป็นต้องแปลมาทุกตัวอักษร แต่ใจความต้องไม่เปลี่ยนแปลง
- หากจะตัด/เพิ่มเติม คำหรือประโยคใดๆ ต้องให้แน่ใจว่าใจความจะยังคงเดิม ไม่ทำให้ความหมายเปลี่ยน
- ถ้าหากไม่รู้ว่าจะใช้คำภาษาไทยแทนศัพท์ภาษาอังกฤษคำไหน ให้ใช้ตาม Glossary ก่อน ถ้าไม่พบให้เขียนเพิ่ม (ถ้าสามารถแปลได้) ถ้าไม่สามารถแปลได้ให้เขียนทับศัพท์ และคงภาษาอังกฤษไว้
- ระหว่างคำภาษาไทยกับคำภาษาอังกฤษ เว้น 1 ช่องว่าง
- ระหว่างคำกับตัวเลข เว้น 1 ช่องว่าง
- ก่อนและหลังเครื่องหมายวงเล็บ เว้น 1 ช่องว่าง แต่คำในวงเล็บไม่ต้องเว้น
เช่น เครื่องมือต่างๆ ในโปรแกรม Xcode เวอร์ชั่น 7.3 (ขึ้นไป) มีเลือกให้มากมาย
ถ้าหากไม่เคยใช้งาน git มาก่อน ขอแนะนำวิธีการเบี้องต้นในการเริ่มต้นแปลบทความ แต่ถ้าใครเป็นอยู่แล้วก็ fork แล้วสร้าง pull request มาได้เลยครับ
- กดปุ่ม fork ที่อยู่ทางด้านขวามือหน้าเวป github
- หลังจากนั้นคุณก็จะมีก๊อปปี้ของโปรเจคนี้อยู่ที่ git account ของตัวเอง เช่น https://github.com/you-git-account/thai-swift-document
- เปิด terminal เพื่อใช้งาน git command
- ทำการ clone โปรเจคจาก git account ของตัวเองมาไว้ที่เครื่อง ด้วยคำสั่ง git clone https://github.com/you-git-account/thai-swift-document ตอนนี้คุณก็มีโปรเจคอยู่ที่เครื่องของตัวเองเรียบร้อยแล้ว
- สร้าง develop branch ใหม่ด้วยคำสั่ง git branch develop
- เพื่อเปลี่ยนไปยัง branch ที่เพิ่งได้สร้างไปด้วยคำสั่ง git checkout develop
- เพิ่ม remote ด้วยคำสั่ง git remote add upstream https://github.com/macfeteria/thai-swift-document
- ตรวจสอบว่า remote นั้นถูกต้องด้วยคำสั่ง git remote -v ซึ่งจะเห็นรายละเอียดดังนี้
- origin https://github.com/you-git-account/thai-swift-document (fetch)
- origin https://github.com/you-git-account/thai-swift-document (push)
- upstream https://github.com/macfeteria/thai-swift-document.git (fetch)
- upstream https://github.com/macfeteria/thai-swift-document.git (push)
- พิมพ์คำสั่ง git remote update เพื่ออัพเดทข้อมูล
- พิมพ์คำสั่ง git pull upstream master ดึงข้อมูลล่าสุดมาไว้เครื่องตัวเอง
- เท่านี้คุณก็พร้อมแล้ว
- หลังจากที่คุณแปลเสร็จแล้ว ก็ให้ทำการ commit สิ่งที่ได้แก้ไขไป พร้อมกับรายละเอียดว่าได้ทำอะไรไปบ้าง ด้วยคำสั่ง
git commit * -m "แก้ไขบทที่ 1 เพิ่มการใช้งานตัวแปร"
เนื่องจากมีคนทำงานหลายคน ดังนั้นแล้วเมื่อคุณแปลเสร็จ ข้อมูลที่คุณมี ณ เวลาที่คุณทำงานเสร็จ อาจจะไม่ใช่ข้อมูล่าสุด ดังนั้นจึงต้องดึงข้อมูลล่าสุดของโปรเจค เข้ามารวมกับสิ่งที่ได้ตัวเองแก้ไขไป
- พิมพ์คำสั่ง git pull upstream master
- หากเกิด conflict ให้แก้ไขเสียก่อน แล้ว commit เอกสารใหม่ที่ได้แก้ไข conflict ไป
- หากไม่มี conflict หรือแก้ไข conflict เสร็จแล้วพิมพ์คำสั่ง git rebase develop
- ส่งโค้ดขึ้น github ด้วยการพิมพ์คำสั่ง git push origin develop ณ ตอนนี้คุณได้ส่งเอกสารที่ได้แก้ไปยัง git account ของคุณแล้ว
ในลำดับต่อไป คือการขอ pull request เพื่อให้รวมเอาข้อมูลที่คุณได้แก้ไขไป รวมเข้ากับ โปรเจคหลัก
- กดสร้าง pull request จากหน้าเวป เพื่อขอนำเอาสิ่งที่คุณได้ทำไป ไปรวมเข้ากับโปรเจค พร้อมกับบอกรายละเอียดต่างๆที่ได้แก้ไขไป
- หากทุกอย่างโอเค สิ่งที่คุณได้แก้ไขไปก็จะถูกรวมเข้าไปยังโปรเจค :)
ปล. แน่นอนว่า ทุกๆอย่างในโปรเจคนี้แก้ไขและปรับปรุงให้ดีขึ้นได้ แม้กระทั่ง readme.md ไฟล์นี้ ถ้าคุณคิดว่ายังขาดส่วนใดไป ก็สามารถเพิ่มเติมและแก้ไขได้เช่นกัน
นอกจากผมแล้วยังมีผู้ที่ร่วมแปลหนังสือเล่มนี้ด้วย ซึ่งมีรายนามดังนี้
- คุณ nutmos
ขอบคุณที่ช่วยกันแปลนะครับ