WPML

Trước khi bạn bắt đầu

Cài đặt và kích hoạt các plugin này:

  • Ninja Forms.
  • WPMLWPML Dịch Chuỗi.
  • Ninja Forms Multilingual (tiện ích bổ sung mà trang này đề cập).

Xây dựng biểu mẫu trong Ninja Forms bằng ngôn ngữ nguồn của trang web, bao gồm mọi cấu trúc nhiều bước, Logic có điều kiện, văn bản xác thực và các Hành động bạn cần (Thông báo thành công, Chuyển hướng gửi, Email, Hành động tích hợp). Gửi biểu mẫu để dịch sau khi biểu mẫu đã hoàn thiện về mặt chức năng.

Dịch mọi thứ tự động sẽ xử lý việc này cho bạn

Nếu trang web của bạn đã bật Dịch mọi thứ tự động, bạn không cần phải gửi biểu mẫu để dịch theo cách thủ công. WPML sẽ tự động nhận dạng các biểu mẫu mới và đã cập nhật cùng với phần nội dung còn lại của bạn và dịch chúng trong nền. Bước chèn trang bên dưới vẫn được áp dụng, nhưng bước gửi biểu mẫu để dịch là tự động. Phần còn lại của trang này mô tả quy trình thủ công dành cho các trang web sử dụng chế độ Dịch một phần: Bạn chọn nội dung để dịch (hoặc đối với các biểu mẫu bạn muốn dịch trước khi chúng được đưa vào hàng đợi tự động).

Gửi biểu mẫu để dịch

  1. Truy cập WPML > Bản dịch > Bảng điều khiển.
  2. Mở rộng phần Ninja Forms.
  3. Đánh dấu vào biểu mẫu bạn muốn dịch.
  4. Chọn phương pháp dịch: PTC (được khuyến nghị), người dịch của bạn hoặc Tự dịch.
  5. Nhấp vào Dịch.

Các trường, tùy chọn, Hành động (Thông báo thành công, Email, Chuyển hướng gửi, tích hợp) và thông báo xác thực theo từng trường đều được đưa vào cùng một công việc dịch thuật.

Chèn biểu mẫu vào các trang đã dịch của bạn

Ninja Forms nằm bên trong một trang hoặc bài viết, thường là thông qua khối Ninja Forms hoặc shortcode [ninja_form id="X"]. Quy tắc chèn đa ngôn ngữ:

Sử dụng cùng một khối hoặc shortcode trên mọi phiên bản ngôn ngữ của trang. Đừng tạo một biểu mẫu riêng cho mỗi ngôn ngữ.

Quy trình:

  1. Xây dựng biểu mẫu một lần bằng ngôn ngữ nguồn của bạn.
  2. Gửi biểu mẫu để dịch (hoặc để Dịch mọi thứ tự động tự động xử lý).
  3. Chèn biểu mẫu vào trang ngôn ngữ nguồn bằng khối Ninja Forms hoặc shortcode [ninja_form].
  4. Dịch trang thông qua WPML > Bản dịch > Bảng điều khiển theo cùng cách bạn dịch bất kỳ trang nào khác. Mã nhúng biểu mẫu được giữ nguyên trên trang đã dịch.
  5. Khi khách truy cập mở trang đã dịch, Ninja Forms Multilingual sẽ tự động cung cấp biểu mẫu bằng ngôn ngữ của khách truy cập – cùng một ID biểu mẫu, cùng một shortcode, nội dung đã dịch.

Bạn không cần ID biểu mẫu khác nhau cho mỗi ngôn ngữ. Bản dịch được liên kết với biểu mẫu nguồn; Ninja Forms Multilingual sẽ phân giải phiên bản ngôn ngữ phù hợp tại thời điểm hiển thị.

Ngoại lệ – khi bạn thực sự muốn các biểu mẫu khác nhau cho mỗi ngôn ngữ. Nếu bạn cần các biểu mẫu khác nhau về mặt cấu trúc cho mỗi ngôn ngữ (các trường khác nhau, Hành động khác nhau, logic khác nhau), hãy xây dựng các Ninja Forms riêng biệt (mỗi ngôn ngữ một biểu mẫu) và chèn shortcode của từng biểu mẫu vào phiên bản ngôn ngữ tương ứng của trang bằng trình soạn thảo WordPress cho bản dịch đó. Đó là tình huống duy nhất mà các shortcode có sự khác biệt giữa các ngôn ngữ.

Lưu ý về trình tạo trang

Nếu trang của bạn được xây dựng bằng Divi, Elementor hoặc một trình tạo trang khác có bọc shortcode trong mô-đun văn bản riêng của nó, shortcode có thể không phải lúc nào cũng được giữ nguyên vẹn sau khi dịch. Nếu trang đã dịch hiển thị biểu mẫu bằng ngôn ngữ nguồn, hãy mở trang đã dịch trong trình tạo trang và chèn lại khối hoặc shortcode của biểu mẫu tại đó. Trình soạn thảo khối và trình soạn thảo cổ điển gốc của WordPress không gặp phải vấn đề này.

Nhãn trường và loại trường

Mọi nhãn trường, văn bản giữ chỗ (placeholder) và tùy chọn của Ninja Forms đều xuất hiện trong công việc dịch thuật. Toàn bộ danh mục trường đều có thể dịch: văn bản, đoạn văn, tên, email, địa chỉ, điện thoại, danh sách (chọn, radio, hộp kiểm, chọn nhiều), số, ngày/giờ, tải lên tệp, gửi.

Trường lặp lại (Repeater Fields) được dịch ở cấp độ hàng: nhãn nút thêm hàng và mỗi nhãn trường trên từng hàng đều nằm trong công việc dịch thuật. Người dịch sẽ thấy cấu trúc Repeater nguyên vẹn với nhãn của mỗi trường phụ là một hàng có thể dịch.

Trường chọn hình ảnh

Trường chọn hình ảnh ghép nối một hình thu nhỏ với một nhãn văn bản. Ninja Forms Multilingual dịch nhãn cho từng ngôn ngữ trong khi hình ảnh vẫn được dùng chung. Các bộ chọn dựa trên hình ảnh hoạt động giống hệt nhau ở mọi ngôn ngữ; chỉ có chú thích mới được dịch.

Biểu mẫu nhiều bước

Đối với Biểu mẫu nhiều bước, mỗi tiêu đề bước và các nút điều hướng theo từng bước (Previous, Next, Submit) được dịch thành các hàng riêng biệt. Logic có điều kiện của từng bước vẫn được giữ nguyên sau khi dịch. Bản đồ giá trị giữ cho các giá trị lựa chọn cơ bản được đồng bộ giữa các ngôn ngữ.

Sau khi dịch, hãy đi qua quy trình nhiều bước ở từng ngôn ngữ để xác nhận rằng điều hướng đọc tự nhiên và các nhánh điều kiện vẫn kích hoạt đúng ở các bước.

Bố cục & Kiểu dáng

Đầu ra từ trình thiết kế Bố cục & Kiểu dáng của Ninja được dịch mà không làm mất bố cục. Lưới, các cột và kiểu dáng trực quan vẫn được giữ nguyên; chỉ có nội dung chuỗi văn bản thay đổi theo từng ngôn ngữ. Không cần các bước đặc biệt: chỉ cần dịch biểu mẫu và bố cục sẽ tự động áp dụng theo.

Lưu tiến trình

Đối với các biểu mẫu đã bật tính năng Lưu tiến trình, các lời nhắc phía khách truy cập sẽ được dịch:

  • Nhãn nút Lưu tiến trình.
  • Chủ đề và nội dung email chứa liên kết tiếp tục.
  • Thông báo thành công sau khi lưu.

Cả ba đều nằm trong công việc dịch thuật. Sau khi dịch, hãy kiểm tra bằng cách lưu giữa chừng một biểu mẫu ở từng ngôn ngữ và xác nhận rằng email tiếp tục được gửi đến bằng đúng ngôn ngữ.

Thông báo xác thực theo từng trường

Mỗi trường mang văn bản xác thực riêng: lỗi trường bắt buộc, lỗi định dạng, thông báo xác thực tùy chỉnh. Mỗi thông báo này đều xuất hiện trong công việc dịch thuật. Nội dung Anti-Spam và Honeypot được dịch thông qua WPML Dịch Chuỗi (không nằm trong công việc dịch biểu mẫu).

Hành động thông báo thành công và Hành động chuyển hướng gửi

Văn bản cảm ơn nội tuyến của Hành động thông báo thành công được dịch theo từng ngôn ngữ. URL của Hành động chuyển hướng gửi cũng có thể dịch được. Hãy thiết lập một URL cảm ơn khác nhau cho mỗi ngôn ngữ để khách truy cập được chuyển đến trang có ngôn ngữ phù hợp sau khi gửi.

Hành động email

Mọi Hành động email trên biểu mẫu đều được dịch độc lập. To, From Name, SubjectEmail Message đều xuất hiện trong công việc dịch thuật. Các biểu mẫu có nhiều Hành động email (ví dụ: thông báo cho quản trị viên + xác nhận cho khách truy cập) sẽ dịch từng Hành động riêng biệt để nội dung của từng ngôn ngữ hoàn toàn độc lập.

Một hạn chế đã biết

Thẻ hợp nhất bên trong các mẫu Hành động email không được dịch theo từng ngôn ngữ. Việc chèn thẻ hợp nhất sử dụng mẫu của ngôn ngữ nguồn, do đó dữ liệu biểu mẫu được thay thế vào nhưng các câu xung quanh vẫn giữ nguyên ngôn ngữ nguồn. Vấn đề này đang được theo dõi trên trang lỗi đã ghi nhận. Giải pháp tạm thời: xây dựng các câu xung quanh mà không có thẻ hợp nhất ở những nơi có sự khác biệt về ngôn ngữ, hoặc chấp nhận hạn chế này đối với các nội dung không quá quan trọng.

Hành động tích hợp

Kiến trúc Hành động của Ninja Forms có nghĩa là mọi tiện ích tích hợp đều là một bước trong quy trình làm việc của từng biểu mẫu. Mọi nội dung hiển thị cho khách truy cập của Hành động đều được dịch:

  • Hành động Webhook. Phần nội dung yêu cầu và bất kỳ nhãn nào hiển thị cho khách truy cập đều được dịch; các giá trị trường vẫn giữ nguyên dạng chuẩn để các điểm cuối nhận dữ liệu không bị lỗi.
  • Mailchimp / AWeber / Constant Contact / ActiveCampaign / Campaign Monitor / CleverReach / Drip / EmailOctopus / Emma / Kit / MailerLite / MailPoet. Các nhãn danh sách / phân khúc / thẻ được dịch nếu chúng tồn tại dưới dạng chuỗi văn bản cấp độ biểu mẫu.
  • HubSpot / Salesforce / ZohoCRM. Các nhãn quy trình / giai đoạn / biểu mẫu được dịch.
  • Zapier / Slack / Trello. Các chuỗi văn bản về kênh, nhãn và tên biểu mẫu webhook được dịch.

Đối với các tiện ích tích hợp thanh toán (Stripe, Authorize.net, Elavon, PayPal), các mô tả mua hàng và nhãn nút hiển thị cho khách truy cập sẽ được dịch. Hãy chạy một giao dịch thử nghiệm ở từng ngôn ngữ bằng chế độ thử nghiệm của bộ xử lý thanh toán và xác nhận nội dung biên lai được gửi chính xác.

Một hạn chế đã biết – Gửi biểu mẫu PDF

Tiện ích bổ sung Ninja Forms PDF Form Submission không tạo tệp PDF khi Ninja Forms Multilingual được kích hoạt trên các biểu mẫu đã cấu hình bản dịch. Vấn đề này đang được theo dõi trên một trang hỗ trợ. Giải pháp tạm thời: tắt tiện ích bổ sung PDF cho các biểu mẫu đã dịch cho đến khi vấn đề tương thích được giải quyết.

Các lỗi thường gặp

  • Nội dung Hành động email có các phần xung quanh thẻ hợp nhất chưa được dịch. Đây là hạn chế đã biết (xem bên trên). Hãy cấu trúc lại nội dung email để đặt văn bản đã dịch bên ngoài các vị trí chèn thẻ hợp nhất, hoặc chấp nhận hạn chế này.
  • Email thông báo cho quản trị viên được gửi bằng ngôn ngữ nguồn. Xác nhận rằng Hành động email bạn đang kiểm tra đã được gửi lại để dịch sau lần chỉnh sửa cuối cùng của bạn. Nếu vẫn bị lỗi, hãy kiểm tra trạng thái trên trang hỗ trợ.
  • Logic có điều kiện ngừng kích hoạt trong các biểu mẫu đã dịch. Một nhãn lựa chọn đã được chỉnh sửa bằng ngôn ngữ nguồn sau khi dịch. Hãy gửi lại biểu mẫu để dịch nhằm làm mới bản đồ giá trị.
  • Gửi biểu mẫu PDF ngừng hoạt động. Hãy tắt tiện ích bổ sung hoặc xóa bản dịch trong khi chờ giải quyết vấn đề tương thích.

Được viết bởi Amir · Cập nhật lần cuối vào ngày 2 tháng 7 năm 2026

Được viết bởi Amir · Cập nhật lần cuối vào 2 tháng 7 năm 2026