WPML

Tổng quan về sự cố

Nếu bạn tạo một bảng bằng plugin TablePress, bạn không thể dịch nó bằng WPML. WPML không hiển thị các ô của bảng dưới dạng các văn bản riêng biệt trong trình biên tập dịch thuật.

Giải pháp tạm thời

Có ba cách để hiển thị bảng TablePress bằng nhiều ngôn ngữ. Hãy chọn một trong số đó.

Tùy chọn 1: Một bảng cho mỗi ngôn ngữ (được khuyên dùng)

Tạo một bảng cho mỗi ngôn ngữ. Sau đó thêm mỗi bảng vào trang bằng ngôn ngữ tương ứng. Tác giả TablePress cũng khuyên dùng (mở trong tab mới) giải pháp này.
  1. Truy cập TablePressAll Tables.
  2. Di chuột qua bảng gốc và nhấp vào Sao chép.

    The Copy action on the TablePress All Tables page
    Hành động Sao chép trên trang All Tables của TablePress

  3. Chỉnh sửa bản sao và dịch các ô của nó trong TablePress.
  4. Thêm bản sao vào trang đã dịch. Sử dụng khối TablePress table hoặc shortcode của bản sao.

Tùy chọn 2: Lọc hàng (TablePress Premium)

Sử dụng mô-đun Row Filtering (mở trong tab mới) của TablePress Premium. Sao chép từng hàng cho mỗi ngôn ngữ. Sử dụng mã ngôn ngữ làm thuật ngữ lọc, ví dụ như trong một cột đầu tiên bổ sung bị ẩn.

Tùy chọn 3: Dịch bảng bằng WPML (nâng cao)

Chỉ sử dụng tùy chọn này nếu tùy chọn 1 và 2 không hiệu quả với bạn. Hãy sao lưu toàn bộ trang web của bạn trước khi bắt đầu.

Hạn chế: TablePress lưu tất cả các ô của một bảng thành một khối mã. WPML gửi khối này đến trình biên tập dịch thuật dưới dạng một trường.

  • Bạn không thể dịch các ô trong Trình biên tập dịch thuật nâng cao.
  • Trong Trình biên tập dịch thuật cổ điển, bạn chỉ có thể chỉnh sửa các ô dưới dạng mã thô, ví dụ [["Tour","Days","Price"],["Coastal Loop","2","240 EUR"]]. Chỉ dịch các từ bên trong dấu ngoặc kép. Giữ nguyên mọi dấu ngoặc vuông, dấu ngoặc kép và dấu phẩy. Một sai sót sẽ làm hỏng bảng.
Làm theo các bước sau:
  1. Truy cập WPMLCài đặtTrình biên tập dịch thuật. Trong phần Trình biên tập dịch thuật cổ điển, nhấp vào Chọn.
  2. Truy cập WPMLCài đặtDịch loại bài viết. Đặt TablePress Tables thành Có thể dịch – chỉ hiển thị các mục đã dịch và nhấp vào Lưu.
    Making the TablePress Tables post type translatable
    Làm cho loại bài viết TablePress Tables có thể dịch được
  3. Truy cập WPMLCài đặtDịch trường tùy chỉnh. Nhấp vào Hiển thị các trường hệ thống. Đặt các trường này thành Sao chép và nhấp vào Lưu:
    • _tablepress_table_options
    • _tablepress_table_visibility

    Setting the two TablePress system fields to Copy
    Đặt hai trường hệ thống TablePress thành Sao chép

  4. Truy cập WPMLBản dịch, trong tab Bảng điều khiển. Trong phần TablePress Tables, chọn bảng. Nhấp vào Dịch nội dung của bạn, chọn Tự dịch và nhấp vào Dịch nội dung.

    Selecting the table in the Translation Dashboard
    Chọn bảng trong Bảng điều khiển dịch thuật

  5. Chuyển đến tab Nhiệm vụ dịch thuật và nhấp vào Dịch trên hàng của bảng.
  6. Trong trường Body, nhấp vào tab Code. Dịch các ô ở đó, như được mô tả ở trên. Không sử dụng tab Visual. Chọn Bản dịch đã hoàn thành cho mỗi trường và nhấp vào Lưu & Đóng.

    The table cells as raw code in the Classic Translation Editor
    Các ô của bảng dưới dạng mã thô trong Trình biên tập dịch thuật cổ điển

  7. Lấy ID của bảng đã dịch:
    1. Trong tab Nhiệm vụ dịch thuật, tìm hàng của bảng. Nếu không có hàng đó, công việc đã được chỉ định cho một người dịch khác. Hãy nhận công việc trước.
    2. Nhấp vào Xem.

      The View button in the Translation Tasks tab
      Nút Xem trong tab Nhiệm vụ dịch thuật

    3. Trình duyệt mở một địa chỉ như example.com/fr/?post_type=tablepress_table&p=8. Số sau p= là ID của bảng đã dịch. Trang hiển thị “Page not found”. Điều này là bình thường, vì các bảng TablePress không phải là các trang công khai.
  8. Chuyển đến tab Chuỗi. Trong phần Tiện ích, dưới mục Không thấy các chuỗi mà bạn đang tìm kiếm?, nhấp vào Dịch văn bản quản trị.

    The link to Admin Texts Translation in the Utilities section
    Liên kết đến Dịch văn bản quản trị trong phần Tiện ích

  9. Tìm kiếm tablepress_tables. Chọn kết quả và nhấp vào Thêm vào Dịch chuỗi.

    Adding the tablepress_tables option to String Translation
    Thêm tùy chọn tablepress_tables vào Dịch chuỗi

  10. Quay lại tab Chuỗi. Trong menu thả xuống của miền, chọn admin_texts_tablepress_tables và nhấp vào Lọc.
  11. Tìm ID của bảng gốc. Chuỗi chứa các cặp như "table_post":{"1":5}. Số đầu tiên là ID bảng mà TablePressAll Tables hiển thị. Số thứ hai là ID của bảng gốc.
  12. Nhấp vào biểu tượng bút chì để dịch chuỗi. Sao chép bản gốc vào bản dịch. Sau đó thay thế ID của bảng gốc (5 trong ví dụ này) bằng ID của bảng đã dịch (8 trong ví dụ này). Nhấn Enter để lưu.
    Replacing the original table ID with the translated table ID
    Thay thế ID bảng gốc bằng ID bảng đã dịch
  13. Dịch trang hiển thị bảng như bình thường. Khối bảng hoặc shortcode giữ nguyên ID bảng. Trên trang đã dịch, giờ đây nó hiển thị bảng đã dịch.

Tất cả lỗi đã ghi nhận

Cần trợ giúp với vấn đề này?

Đặt một câu hỏi hỗ trợ và chúng tôi sẽ cùng bạn xem xét vấn đề này.