จะเพิ่มการแปลสำหรับคำศัพท์ใหม่ใน Magento ได้อย่างไร?


23

ฉันใช้ภาษาอังกฤษ, สเปนและเยอรมันเป็นร้านค้าสามมุมมองสำหรับเว็บไซต์ของฉัน วิธีที่ง่ายที่สุดในการเพิ่มคำแปลสำหรับคำใหม่คืออะไร?

แม้ว่าฉันจะเพิ่มคำศัพท์ใหม่ด้วยการแปลมันก็จะไม่ปรากฏในส่วนหน้า

คำตอบ:


38

สำหรับสิ่งนี้:

<?php echo Mage::helper('catalog')->__('Text here');?>

เพิ่มเช่น:

app / สถานที่ / {} lang_ISO /Mage_Catalog.csv

"Text here","Translation here"

สำหรับสิ่งนี้:

<?php echo $this->__('Text here'); ?>

หรือสิ่งนี้ (ในชุดรูปแบบlocal.xmlให้สังเกตtranslateคุณสมบัตินั้นดูที่/programming//a/8408058/794071 ):

<reference name="top.links">
    <action method="addLink" translate="label title">
        <label>Text here</label>
        <title>Text here</title>
    </action>
</reference>

เพิ่มเช่น:

app / ออกแบบ / ส่วนหน้า / อินเตอร์เฟซ {} / {} ธีม / สถานที่ / {} lang_ISO /translate.csv

"Text here","Translation here"

เช่นในโฟลเดอร์ธีมของคุณ:

/locale/fr_FR/translate.csv

"Inspiration","Your France Translation"

1
นอกจากนี้ {lang_ISO} ยังขึ้นอยู่กับภาษาเริ่มต้นที่คุณตั้งค่าสำหรับร้านค้าของคุณในระบบ> การกำหนดค่า> ทั่วไป> ตัวเลือกการแปลภาษา> โปรไฟล์โลแคล
Julien Lachal

3

คุณไม่ได้แปลคำศัพท์จริงๆ คุณต้องแปลบล็อกแบบคงที่, หน้า, คุณลักษณะ, แม่แบบอีเมลและองค์ประกอบที่เกี่ยวข้องกับการกำหนดค่าจากแบ็กเอนด์ ในการแปลสตริงระบบมีapp/design/frontend/{package}/{theme]/locale/{locale}/translate.csv

{locale} อาจเป็นตัวอย่าง de_DE สำหรับภาษาเยอรมันที่ใช้ในประเทศเยอรมนี

app/locale/{locale}/ไม่แนะนำให้ดัดแปลงไฟล์แปลที่เป็นส่วนหนึ่งของแพ็คเกจภาษาและควรถือเป็นองค์ประกอบหลักที่อาจถูกเขียนทับทันทีที่มีการอัพเดตแพ็คเกจ


0

สามารถทำได้ในขั้นตอนง่าย ๆ เหล่านี้ ขั้นตอนที่ 1: สร้างมุมมองร้านใหม่ โดยผู้ดูแลระบบของร้านค้าของเราไปที่ร้านค้า -> การตั้งค่า -> ร้านค้าทั้งหมด Create Store View. เลือกร้านค้าและตั้งชื่อเช่นภาษาฮินดี ไปที่ STORES-> Settings-> Configuration ที่มุมบนด้านซ้ายในเลือกมุมมองที่ร้านค้าของคุณStore View HindiในGeneralแท็บLocale OptionเลือกHindi(India)จากดรอปดาวน์

ขั้นตอนที่ 2: ตั้งค่าธีมของคุณเป็นมุมมอง Store นี้ จากผู้ดูแลระบบไปที่ CONTENT-> Design-> กำหนดค่าEditมุมมอง Store ของคุณและตั้งค่าธีม

ขั้นตอนที่ 3: สร้างไฟล์ csv ใน<magento dir>/app/design/frontend/<vendorName>/<themeName>/i18n/hi_IN.csv(hi_IN สำหรับภาษาฮินดี) เนื้อหาคือ:

"Sign In", "Your Text" "My Account","Your Text" "My Wish List", "Your Text"

ขั้นตอนที่ 4: ปรับใช้เนื้อหา ในไดเรกทอรี magento ของเทอร์มินัลของคุณ php bin/magento setup:static-content:deploy -f en_US hi_IN ทำความสะอาดแคชและรีเฟรชหน้า หลังจากเปลี่ยนเป็นร้านใหม่แล้วการเปลี่ยนแปลงของคุณจะปรากฏ สิ่งนี้จะใช้งานได้สำหรับ magento 2.2.x


0

วิธีที่ง่ายที่สุดในการเพิ่มคำแปลสำหรับคำใหม่คืออะไร?

ฉันเดาว่าตอบส่วนเทคโนโลยี ... :)

ในการทำให้เป็น "ง่าย" - หรือเพื่อเพิ่มความเร็ว l18n - คุณสามารถแปลCSVไฟล์โดยอัตโนมัติ

สิ่งนี้อาจมีประโยชน์หากคุณติดตั้งหรือสร้างส่วนขยายที่en_US.csvรวมไว้เท่านั้น

req:

  • https://github.com/chriskonnertz/DeepLy

    composer require chriskonnertz/deeply
  • เพิ่มCSVในการแปล
  • เพิ่มสคริปต์ PHP อย่างง่าย

    <?php
    require 'vendor/autoload.php';
    
    use ChrisKonnertz\DeepLy\DeepLy;
    
    $deepLy = new DeepLy();
    
    $read = fopen('en_US.csv','r');
    $write = fopen('de_DE.csv','w');
    
    while (($data = fgetcsv($read, 0, ",")) !== false) {
        $data[1] = $deepLy->translate($data[0], 'DE', 'EN');
        echo "From: " . $data[0] . "\n";
        echo "To: " . $data[1] . "\n";
        fputcsv($write, $data);
    }
    fclose($read);
    fclose($write);

ไม่ดีจริงๆ แต่ใช้งานได้ ... : P


หมายเหตุ

  • แพคเกจนี้ใช้ API (ที่ไม่มีเอกสาร?) ซึ่งไม่ต้องการรหัส AUTH ดูเหมือนว่าจะมีเกณฑ์ แต่ก็ยังไม่ได้ทดสอบ
  • สำหรับการเข้าถึงของนักพัฒนาจะมี APIv2 ที่ต้องชำระ ( 5 € / เดือน )
  • รองรับ DE, EN, ES, FR, มัน, NL, PL, ตรวจจับอัตโนมัติ

ฉันไม่ได้เกี่ยวข้องกับสิ่งที่ลึกล้ำเพียงแค่ช่วยฉันสองสามชั่วโมง ... ขอโทษที่โฆษณา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.