Articles Category

บันทึกการพัฒนา vTigerCRM ภาษาไทย

บันทึกกันลืมครับ เนื่องจากนานๆ ทีจะกลับมาทำ vTiger CRM สักที พอดี vTiger CRM ออกเวอร์ชั่นใหม่ เป็นเวอร์ชั่น 5.2.1 ซึ่งที่เคยทำไว้ก็เป็น 5.1.0 ซึ่งนานพอสมควรที่ไม่ได้อับเดด พอดีบริษัทตัวเองจะใช้งานเอง จึงคันไม้คันมือ ทั้งๆ ที่ตัวเองก็มีงานอื่นอยู่ในมือหลายอย่าง แต่มันเหมือนว่าพอเห็นแล้วอดไม่ได้ ถ้าไม่ทำแล้วเหมือนมันค้างคาใจ ก็เลยนั่งรื้อฟื้นว่าเคยทำอะไรไปบ้าง แล้วก็ลงมือรวบรวมทำใหม่ สิ่งที่ต้องทำใน vTiger CRM เพื่อให้รองรับภาษาไทยได้สมบูรณ์หลักๆ ที่ต้องทำก็ตามนี้ครับ

  • ไฟล์ภาษาไทย
  • PDF รองรับฟอนท์ภาษาไทย ซึ่งผมเลือกใช้ TH Sarabun ใส่เข้าไป
  • เพื่อลดความยุ่งยากสำหรับผู้ใช้ทั่วไป ก็จับทั้ง 2 ส่วนข้างบน มาร่วมใน Package ซึ่งเมื่อติดตั้งแล้วจะได้ทั้ง 2 ตัวนั้นมาในทันที ไม่ต้องมาติดต่อเพิ่มเติมเอง ในภายหลัง

vTiger Thai Screen

Package ไฟล์ภาษาไทย

ทำการแปลไฟล์ภาษาทั้งหมดที่เกี่ยวข้อง ในแต่ละ screen ซึ่งประกอบไปด้วยไฟล์หลายร้อยไฟล์ โดยมาตรฐานของการตั้งชื่อไฟล์ ก็จะเป็น th-TH.lang.php แล้วก็ลงมือแปลไปในไฟล์แต่ละไฟล์ ตัวอย่างประมาณด้านล่างนี้ครับ ซึ่งต้องใช้ความถึกในตัว พอสมควร ผมเองก็แปลไปเพียงบางส่วน เฉพาะในหน้าจอหลักๆ แต่ต้องเทียบไฟล์ ใส่ค่าตัวแปร คำต่างๆ ไว้ให้ครบ ใครมีเวลาก็ช่วยกันไปแปลเพิ่ม แล้วส่งกลับมานะครับ หลายมือช่วยกันคนละนิด เดี๋ยวก็เสร็จ

$app_strings = array (
' LBL_BROWSER_TITLE' => 'vtiger CRM 5 - โอเพ่นซอร์ส ซีอาร์เอ็ม ภาษาไทย',
'LBL_MY_ACCOUNT' => 'บัญชีส่วนตัว',
'LBL_MY_PREFERENCES' => 'การตั้งค่าบัญชีส่วนตัว',
'LBL_ADMIN' => 'ผู้ดูแลระบบ',
'LBL_TODAY'=>'วันนี้', 'LBL_ALL'=>'ทั้งหมด',
'LBL_SHOW'=>'แสดง :',

อีกหนึ่งไฟล์ ที่ต้องทำก็คือไฟล์ xml สำหรับติดตั้งเป็น package file ภาษา ชื่อ minifest.xml แล้วเราก็ zip ไฟล์ทุกอย่างรวมกัน เท่านี้ก็เอาไปติดตั้งใน vTiger อันภาษาอังกฤษได้ ไฟล์ ภาษาอื่นๆ ก็เป็นลักษณะนี้เช่นเดียวกัน

vtiger Thai language 

vTiger Thai package

PDF รองรับภาษาไทย

ผมเลือกใช้ PDF Setting for 5.2.1 ของ Illminetic ซึ่งใช้ TCPDF ในการสร้าง PDF ไฟล์ พวกเอกสารต่างๆ รองรับ Font ที่เราจะสามารถสร้างและเพิ่มเข้าไปเองได้ ในตัวนี้สิ่งที่ต้องทำก็สร้างไฟล์ภาษาไทย และทำการสร้าง (convert) font ที่ต้องการ และทำการเพิ่มเข้าไปในฐานข้อมูล ซึ่งทำเป็น package ก็ต้องใส่เพิ่มใน sql ผมแก้ไขที่ไฟล์ Pdfsetting.php เสร็จแล้วก็ ทำการ zip ไฟล์ทั้งหมด ก็จะเป็น package ที่พร้อมจะเอาไปติดตั้งใช้งาน

vTiger PDF Screen

add Thai font

ทำ package vTiger CRM ภาษาไทย

จากที่เรามี 2 อันด้านบนแล้ว ก็มาคิดต่อว่า ถ้าจะให้ง่ายกับคนใช้งานที่ไม่ใช้ Developer จะเอา 2 ตัวนั้นมารวมในก้อนเดียวกันเพื่อให้ติดตั้งครั้งเดียวแล้วได้เลย จะต้องทำไว้ตรงไหนบ้าง ในส่วนของ vTiger นั่นเขาออกแบบในส่วนของการติดตั้งไว้ดีเลยทีเดียว สิ่งที่เราต้องทำก็ดูว่าอันไหนจะเป็น ส่วนเพิ่มเติมหลัก อันไหนจะเป็น options เลือก ผมคิดว่า PDF Setting ควรมาพร้อมกับตัวหลักคือเลือกไม่เลือกก็ติดตั้งลงไป ส่วนไฟล์ภาษาไทยนั้น แล้วแต่จะเลือกว่าเอาหรือไม่เอา เมื่อกำหนดได้แบบนี้แล้ว สิ่งที่ต้องทำก็คือ

  • เอาไฟล์ PdfSettings.zip นั้นไปไว้ใน packages->vtiger->mandatory และเอาไฟล์ที่ต้องเพิ่มใน core นั้นใส่เข้าไปใน folder ที่ modules ตัวนี้ต้องการเพิ่มไปใน folder ต่างๆ ผู้ใช้จะได้ไม่ต้องมาอับโหลดไฟล์พวกนั้นเอง
  • ไฟล์ภาษาไทย เอาชุดไฟล์ภาษาไทยที่ทำเสร็จแล้ว มาทำ package ชื่อ thai.zip ใหม่โดยต้องเขียนไฟล์เพิ่มอีก 1 ไฟล์ชื่อ packdata.xml zip รวมเสร็จแล้วก็เอาใส่ไว้ใน packages-vtiger->options

add pdf package


vTiger thai pack

เท่านี้หน้าจอของการติดตั้งก็จะมีให้เราเลือกภาษาไทยในตอนที่เราติดตั้ง ส่วน screen หน้าจอของการติดตั้ง ก็ลงมือแปลตามต้องการ

vTiger CRM Installation screen 1


vTiger CRM Installation screen 2

vTiger CRM Installation screen 3
vTiger CRM Installation screen 4
vTiger PDF setting 01

ดาวน์โหลดไปลองเล่นและช่วยกันแปลภาษาไทยกันต่อนะครับ ที่ https://sourceforge.net/projects/vtigerthai/ ส่วนข้อมูลเพิ่มเติม ดูได้จากเว็บ CRM.in.th ครับ ส่วนท่านใดสนใจจะบริจาคสนับสนุนงาน Open Source สามารถบริจาคผ่านทาง สมาคมศึกษาและพัฒนาโอเพ่นซอร์ส ได้ครับ รายละเอียดในเว็บไซต์ http://www.oseda.or.th