วิธีแปลและแปลปลั๊กอิน WordPress – คู่มือเชิงลึกสำหรับนักพัฒนาปลั๊กอิน
เผยแพร่แล้ว: 2020-01-20เมื่อพัฒนาปลั๊กอิน ควรเตรียมการแปลให้พร้อมเสมอ เนื่องจากจะสามารถเข้าถึงผู้ชมที่ไม่ได้ใช้ภาษาอังกฤษเป็นภาษาแรกได้ หากคุณสงสัยว่าตัวเลือกการแปลมีความสำคัญเพียงใด คุณสามารถตรวจสอบพื้นที่เก็บข้อมูลและดูว่าปลั๊กอินยอดนิยมทุกตัวมีให้สำหรับการแปลเป็นภาษาท้องถิ่น คุณจะพบว่าตัวเลือกนี้ใช้ได้กับ UpdraftPlus, MetaSlider, WP-Optimize, Contact Form 7 และ WooCommerce และอีกมากมาย เหล่านี้เป็นปลั๊กอินที่ได้รับความนิยมมากที่สุดบางส่วนและมีการเข้ารหัสในลักษณะที่ช่วยให้ทุกคนสามารถแปลเป็นภาษาแม่ของตนได้อย่างง่ายดาย
วัตถุประสงค์ของบล็อกนี้คือเพื่อแสดงให้ผู้อ่านของเราเห็นว่าพวกเขาสามารถเขียนโค้ดปลั๊กอินได้อย่างไร เพื่อให้มีการแปลเป็นภาษาท้องถิ่นและแปลเป็นภาษา WordPress ที่รองรับ ตัวอย่างเช่น หากเราต้องการแปลปลั๊กอินเป็นภาษาฝรั่งเศส ขั้นตอนต่อไปนี้จะอนุญาตให้แปลปลั๊กอินและทำให้พร้อมสำหรับภาษา WordPress ที่รองรับทั้งหมด
เริ่มต้น
เมื่อสร้างปลั๊กอิน เราควรตรวจสอบให้แน่ใจว่าเราโหลดโดเมนข้อความของปลั๊กอิน WordPress มีฟังก์ชันนี้:
load_plugin_textdomain()
รหัสนี้จะโหลดสตริงที่แปลของปลั๊กอิน อาจดูสับสนเล็กน้อย แต่โปรดอ่านต่อไปและเราจะอธิบายวิธีการทำงานในไม่ช้า
ขั้นแรก มาดูวิธีการเพิ่มฟังก์ชันนี้ในโค้ดปลั๊กอินของเรา ในโฟลเดอร์ปลั๊กอินของคุณ ให้สร้างไดเร็กทอรีที่เรียกว่า 'ภาษา' ถัดไป เพิ่มโค้ดด้านล่างลงในไฟล์หลักของปลั๊กอิน
* Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );
ในโค้ดด้านบน เราเก็บพารามิเตอร์แรก (โดเมน) เป็น 'udp' เราควรเก็บชื่อโดเมนนี้ตามชื่อปลั๊กอินของเรา พารามิเตอร์ที่สองมีค่าเริ่มต้นเป็นเท็จ พารามิเตอร์ที่สามคือเส้นทางของไดเรกทอรี 'ภาษา' ของเรา รหัสนี้ช่วยให้ไฟล์การแปลของเราพร้อมสำหรับการเริ่มต้น WordPress
การใช้ __() และ _e() วิธีการ
เนื่องจากเราตั้งเป้าที่จะให้ปลั๊กอินของเราใช้งานได้ในทุกภาษา เราควรใส่ข้อความปลั๊กอินทั้งหมดไว้ภายใน:
__()
หรือ _e()
ฟังก์ชั่น
มันง่ายมากที่จะใช้วิธีการเหล่านี้ ทั้งสองวิธีทำงานเหมือนกันทุกประการ แต่มีกฎสำหรับการใช้ทั้งสองวิธี
ในโค้ดปลั๊กอินของเรา ปกติแล้วเราจะมีข้อความสองประเภท อันแรกห่อด้วย HTML โดยตรง และอันที่สองจะแสดงโดยใช้ฟังก์ชัน PHP echo ด้านล่างนี้เป็นตัวอย่างของทั้งสองประเภท:
ประเภท 1
<h2>My Plugin Title</h2>
ประเภท 2
<?php echo 'การตั้งค่าปลั๊กอินของฉัน'; ?>
กฎทั่วไปคือ หากคุณกำลังพิมพ์ข้อความโดยใช้ PHP echo คุณควรใส่ข้อความในโค้ดต่อไปนี้:
<code>__()</code>
หากเป็น HTML ให้ใช้รหัส: <code>_e()</code>.
รหัสข้างต้นควรเขียนในลักษณะต่อไปนี้:
<h2><?php _e('ชื่อปลั๊กอินของฉัน', 'udp'); ?></h2>
และ
<?php echo __('My Plugin Settings', 'udp'); ?>
ดังที่เห็นในตัวอย่างข้างต้น พารามิเตอร์ที่สองเขียนเป็น 'udp' ซึ่งเป็นโดเมนข้อความปลั๊กอินของเรา การใช้โดเมนนี้จะช่วยให้เราแปลข้อความเป็นภาษาใดก็ได้ในภายหลัง นี่คือวิธีที่ปลั๊กอินอื่น ๆ ทำให้การแปลปลั๊กอินพร้อม
หากคุณต้องการ คุณสามารถตรวจสอบปลั๊กอินของเรา:
UpdraftPlus
หากคุณค้นหาโดเมนข้อความ 'updraftplus' คุณจะเห็นว่าข้อความของปลั๊กอินถูกรวมไว้ในฟังก์ชัน __()
และ _e()
อย่างไร
สร้างตัวอย่างปลั๊กอิน
ขั้นต่อไปคือการสร้างปลั๊กอินตัวอย่างพร้อมข้อความบางส่วนเพื่อให้เราสามารถทดสอบการแปลของเราได้ ขั้นแรก สร้างโฟลเดอร์ 'udp' ในไดเร็กทอรีปลั๊กอินของคุณ ภายในโฟลเดอร์นี้สร้างไฟล์: udp.php
และ languages
ของโฟลเดอร์ ถัดไป เพิ่มโค้ดด้านล่างลงในไฟล์ปลั๊กอิน
udp.php
<?php /* ชื่อปลั๊กอิน: UDP คำอธิบาย: นี่คือตัวอย่างปลั๊กอินเพื่อทดสอบโดเมนข้อความปลั๊กอิน ผู้เขียน: กองบรรณาธิการ เวอร์ชัน: 1.0 ใบอนุญาต: GPLv3 หรือใหม่กว่า โดเมนข้อความ: udp เส้นทางโดเมน: /languages */ if (!defined('ABSPATH')) die('ไม่อนุญาตให้เข้าถึงโดยตรง');/** * โหลดโดเมนข้อความปลั๊กอิน */ ฟังก์ชัน udp_load_textdomain () { load_plugin_textdomain( 'udp', เท็จ, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'udp_load_textdomain' ); ฟังก์ชัน udp_menu_page() { add_menu_page( __( 'หน้าการตั้งค่า UDP', 'udp' ), __( 'หน้าการตั้งค่า UDP', 'udp' ), 'manage_options', 'udp_setting_page', 'udp_setting_page', '', 6 ); } add_action('admin_menu', 'udp_menu_page'); ฟังก์ชัน udp_setting_page() { ?> <h2><?php _e('ชื่อปลั๊กอินของฉัน', 'udp'); ?></h2> <?php }
สร้างไฟล์แปล
ในการสร้างไฟล์การแปล เราจะใช้ซอฟต์แวร์แก้ไขการแปลต่อไปนี้:
โพอิดิท
ไฟล์การแปล (.po และ .mo) มีสตริงที่จะแปลและสตริงที่แปลแล้ว ขณะสร้างไฟล์ .po เราจำเป็นต้องบันทึกในรูปแบบ '{domain}--language code' ในตัวอย่างนี้ ไฟล์จะเป็น udp-fr_FR.po
ถัดไป ติดตั้งซอฟต์แวร์ POEDIT ในระบบของคุณ ซอฟต์แวร์นี้ใช้ได้กับทุกแพลตฟอร์มและสามารถติดตั้งบน Windows, Linux หรือ Mac
เมื่อติดตั้งแล้ว ให้เปิด POEDIT แล้วไปที่ File->New ซึ่งเราจะป้อนรหัสภาษาของเราในหน้าต่างแจ้ง
คลิกที่ไอคอน 'บันทึก' หลังจากนั้นโปรแกรมสำรวจไฟล์จะเปิดขึ้น ตรงไปที่ไดเร็กทอรีภาษาของปลั๊กอินและบันทึกดังต่อไปนี้: udp-fr_FR.po
ตอนนี้เราสามารถเพิ่มการแปลภาษาฝรั่งเศสสำหรับข้อความปลั๊กอินของเราได้แล้ว โดยคลิกที่ส่วน 'แยกจากแหล่งที่มา'
ซึ่งจะเปิดป๊อปอัปคุณสมบัติแค็ตตาล็อก ตอนนี้เราต้องกำหนดค่าแท็บสามแท็บต่อไปนี้: คุณสมบัติการแปล เส้นทางแหล่งที่มา และคำหลักแหล่งที่มา ในแท็บ คุณสมบัติการแปล ให้เพิ่มโดเมน 'udp' ของเราเป็นชื่อโครงการ Source Paths จะเป็นโฟลเดอร์ปลั๊กอินของเรา และเราจะเพิ่ม '__ และ _e' ใน Source Keywords
หากคุณมีหลายโฟลเดอร์ในปลั๊กอิน เราจะต้องเลือกแต่ละไดเร็กทอรีแยกกัน
หลังจากเลือกโฟลเดอร์ปลั๊กอินแล้ว คุณจะเห็น '.' ในส่วนเส้นทาง ทำขั้นตอนเดียวกันนี้ซ้ำกับโฟลเดอร์อื่นๆ ภายในไดเร็กทอรีปลั๊กอินของคุณ หากจำเป็น
ใต้คำหลักที่มา ให้คลิกที่ไอคอน + และเพิ่ม '__' และ '_e' เป็นคำหลัก แล้วคลิกปุ่มตกลง
ในหน้าต่างถัดไป ภายใต้ ข้อความต้นฉบับ คุณจะมีสตริงทั้งหมดที่พร้อมให้แปลจากปลั๊กอินของคุณ เลือกสตริงทีละรายการและเพิ่มการแปลภาษาฝรั่งเศสของคุณลงในสตริง
เมื่อคุณเพิ่มคำแปลทั้งหมดแล้ว ให้คลิกที่ไอคอนบันทึก สิ่งนี้จะบันทึกการแปลสตริงทั้งหมดของคุณโดยอัตโนมัติในไฟล์ udp-ft_FR.po
ของคุณ ไฟล์ .po ของคุณจะมีรหัสดังต่อไปนี้:
#: udp.php:24 udp.php:25 msgstr "หน้าการตั้งค่า UDP" msgstr "หน้าการกำหนดค่า UDP" #: udp.php:37 msgstr "ชื่อปลั๊กอินของฉัน" msgstr "ปลั๊กอิน Titre de mon"
ทดสอบการแปลปลั๊กอินของเรา
ขณะนี้เราได้ดำเนินการสร้างไฟล์ .po และ .mo สำหรับปลั๊กอินของเราเรียบร้อยแล้ว ถึงเวลาทดสอบปลั๊กอินของเราและตรวจสอบการแปลภาษาฝรั่งเศส
ขั้นแรก ดาวน์โหลดไฟล์ภาษาของเราจากที่อยู่ต่อไปนี้:
ที่เก็บภาษา WordPress
สำหรับภาษาฝรั่งเศส เส้นทางมีดังนี้:
ที่เก็บภาษาฝรั่งเศส WordPressfr_FR.mo
และ fr_FR.po
ดาวน์โหลดไฟล์จากลิงค์นี้และเก็บไว้ในไดเร็กทอรี wp-content/languages สร้างโฟลเดอร์ 'ภาษา' หากยังไม่มี
ต่อไป เราต้องเปลี่ยนภาษาเริ่มต้นของการติดตั้ง WordPress ของเรา เปิด wp-config.php
และเพิ่มภาษาดังนี้:
กำหนด ('WPLANG', 'fr_FR');
ตอนนี้ ถ้าคุณไปที่แดชบอร์ด ปลั๊กอินของคุณควรจะแสดงเป็นภาษาฝรั่งเศส
สรุปแล้ว
การสร้างการแปลสำหรับปลั๊กอิน WordPress ของคุณอาจดูยุ่งยากและซับซ้อนเล็กน้อยในตอนแรก อย่างไรก็ตาม ประโยชน์ที่อาจเกิดขึ้นจากการนำเสนอปลั๊กอินในประเทศขนาดใหญ่ที่ไม่ใช่ภาษาอังกฤษ เช่น บราซิล ฝรั่งเศส และเยอรมนี ปลั๊กอินของคุณในภาษาของพวกเขาสามารถช่วยเปิดปลั๊กอินของคุณให้เข้าถึงกลุ่มผู้ชมใหม่ที่ชื่นชม แม้ว่ามันอาจจะดูเหมือนเป็นงานมาก แต่ผลตอบแทนก็อาจมีจำนวนมาก
โพสต์ วิธีโลคัลไลซ์และแปลปลั๊กอิน WordPress – คู่มือเชิงลึกสำหรับนักพัฒนาปลั๊กอินปรากฏตัวครั้งแรกใน UpdraftPlus UpdraftPlus – ปลั๊กอินสำรอง กู้คืน และย้ายข้อมูลสำหรับ WordPress