Translate strings text in file function.php using Plugin Polylang ?

Thảo luận trong 'Mã nguồn mở Wordpress' bắt đầu bởi seolagi, 28/10/22.

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,029
    Đã được thích:
    80
    Điểm thành tích:
    48
    Mình đang sử dụng cái themes flatsome, và dùng pluign Polylang để dịch ngôn ngữ cho web.
    Gặp 1 vấn đề là mình đang sử dụng cái footer code bằng tay ở trong /template-parts/footer/footer.php và gọi các shortcode từ function.php ra ngoài trang chủ.

    Giờ mình muốn dịch ngôn ngữ cho nó thì làm như thế nào? mình vào mục: Languages -> Strings translations để tìm, mà không có chỗ thêm cho các từ của mình, giúp mình với.
     
    Cảm ơn đã xem bài:

    Translate strings text in file function.php using Plugin Polylang ?

  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,897
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Bên Polylang có bản đọc khá chi tiết đầy đủ a-z ở đây, em vào đọc tìm hiểu thêm nhé:
    Ngoài ra anh chỉ nhanh như sau:

    1. Cách 1 gọi đăng ký text.

    Để làm được như em cần, em phải đăng ký, cái ký tự em cần dịch trước bằng cách truy cập vào Function.php của themes add code đăng ký chuỗi ký tự cần dịch như sau:
    PHP:
    add_action('init', function() {
      
    pll_register_string('itseovn_name''Read More');
      
    pll_register_string('itseovn_name''Forum SEO');
    });
    Sau khi đăng ký xong, em vào tiếp mục: Languages -> Strings translations của plugin trong quản lý admin wordpress sẽ thấy xuất hiện các ký tự cần dịch tương ứng với themes, mình chỉ cần dịch.

    dich-ngon-ngu.png

    Sau khi dịch xong, việc còn lại là vào code gọi nó ra thôi. Vào đúng nơi file function.php hay footer.php nơi em gọi text này ra nhé.
    PHP:
    <?php
    echo pll__('Read More');
    //thử 1 trong 2 hàm gọi ra để xem khác biệt nhé
    echo pll_e('Forum SEO');
    ?>
    2. cách 2 gọi ra trực tiếp bằng lệnh if

    Sử dụng trực tiếp lệnh if nếu phát hiện đúng ngôn ngữ thì dịch 1 theo từng cách khác nhau.
    PHP:
    <?php
        
    if (pll_current_language() == 'en') {
            echo 
    'Language English';
        } else if (
    pll_current_language() == 'vi') {
            echo 
    'Tiếng Việt';
        }   
    ?>
    Tùy vào nhu cầu thực hiện mà ta sử dụng linh động qua lại 1 trong 2 cách trên nhé.
     
    Chỉnh sửa cuối: 28/10/22
    seolagi thích bài này.
  3. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,029
    Đã được thích:
    80
    Điểm thành tích:
    48
    Cảm ơn ad rất nhiều, em vào áp dụng ngay ạ, nhìn là biết được rồi, link tham khảo quá trời hàm, cảm ơn anh ạ