WPML
สถานะ
เปิด
รายงานสำหรับ
WPML Multilingual CMS 4.5.0

ภาพรวมของปัญหา

ในอดีต WordPress และ WPML กำหนดให้ภาษาเริ่มต้นของสตริงเป็นภาษาอังกฤษเสมอ

แม้ว่าในปัจจุบันคุณจะสามารถเปลี่ยนภาษาเริ่มต้นของสตริงด้วย WPML ได้แล้ว (และทำให้สามารถแปลสตริงจากภาษาอื่นเป็นภาษาอังกฤษได้) แต่คุณก็ยังคงไม่สามารถนำเข้าหรือส่งออกสตริงเป็นภาษาอังกฤษในส่วน นำเข้า / ส่งออก .po ได้

วิธีแก้ปัญหาชั่วคราว

คุณสามารถทำตามขั้นตอนต่อไปนี้เพื่อแก้ปัญหา ในขณะที่เรากำลังดำเนินการหาวิธีแก้ไขที่ถาวร:



    1. ตรวจสอบให้แน่ใจว่าคุณมี WPML เวอร์ชันล่าสุด

    2. เปิดไฟล์ …/wp-content/plugins/wpml-string-translation/menu/string-translation.php คุณจะต้องแก้ไขใน 3 ตำแหน่งที่แตกต่างกัน

 

  1. อันดับแรก ให้ค้นหาบรรทัดที่ 640 และ 748 แล้วแทนที่บรรทัดนี้:
    <span class="token delimiter important"><?php</span> <span class="token keyword">foreach</span> <span class="token punctuation">(</span> <span class="token variable">$active_languages</span> <span class="token keyword">as</span> <span class="token variable">$al</span> <span class="token punctuation">)</span> <span class="token punctuation">:</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$al</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'code'</span><span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token variable">$string_settings</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'strings_language'</span><span class="token punctuation">]</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">continue</span><span class="token punctuation">;</span><span class="token punctuation">}</span> <span class="token delimiter important">?></span>


  2. ด้วย:
    <?php foreach($active_languages as $al):  ?>  


  3. จากนั้น ค้นหาบรรทัดที่ 655 และลบโค้ดนี้:
    											if ( $al['code'] == $string_settings['strings_language'] ) {
    												continue;}


  4. สุดท้าย ไปที่ WPML > การแปลสตริง และโปรดเลือก Also create translations according to the .po file แล้วเลือกภาษาอังกฤษจากเมนูดรอปดาวน์ (ซึ่งควรปรากฏขึ้นหลังจากเปลี่ยนโค้ด) จากนั้นนำเข้า

ปัญหาที่ทราบแล้วทั้งหมด →