Cách dịch Gravity Forms trong WordPress – Trường, Thông báo, Xác nhận, Logic điều kiện
Tìm hiểu cách dịch mọi phần của biểu mẫu Gravity Forms trên trang web WordPress của bạn sang mọi ngôn ngữ mà khách truy cập sử dụng. Hướng dẫn này bao gồm các nhãn trường, Trường giá, tùy chọn thả xuống, thông báo xác thực cho từng trường, Xác nhận, Thông báo có định tuyến, Logic điều kiện và các tiện ích bổ sung tích hợp tiếp nhận thông tin gửi. Hướng dẫn này sẽ đưa bạn qua quy trình làm việc của Gravity Forms với WPML và tiện ích bổ sung GFML.
Trước khi bạn bắt đầu
Cài đặt và kích hoạt các plugin sau:
- Gravity Forms.
- WPML và WPML Dịch Chuỗi.
- GFML – Gravity Forms Multilingual (tiện ích bổ sung được đề cập trong trang này).
Xây dựng biểu mẫu trong Gravity Forms bằng ngôn ngữ nguồn của trang web. Thêm mọi trường bạn muốn (Trường giá, cấu trúc phân trang, Logic điều kiện, Thông báo và Xác nhận) trước khi gửi biểu mẫu đi dịch. Bạn luôn có thể thay đổi biểu mẫu sau này và dịch lại các phần khác biệt.
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 đi dịch theo cách thủ công. WPML sẽ tự động nhận diện các biểu mẫu mới và được cập nhật cùng với phần còn lại của nội dung 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 đi 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 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 hàng đợi tự động).
Gửi biểu mẫu đi dịch
- Truy cập WPML > Bản dịch > Bảng điều khiển.
- Mở rộng phần Gravity Forms.
- Đánh dấu vào biểu mẫu bạn muốn dịch.
- 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.
- Nhấp vào Dịch.
Biểu mẫu, các trường, tùy chọn, Thông báo, Xác nhận và thông báo xác thực cho từng trường của nó đều được đưa vào cùng một công việc dịch thuật. Người dịch sẽ thấy chúng dưới dạng các hàng có nhãn trong Trình biên tập dịch thuật nâng cao.
Chèn biểu mẫu vào các trang đã dịch của bạn
Gravity Forms nằm bên trong một trang hoặc bài viết, thường thông qua khối Gravity Forms hoặc shortcode [gravityform id="X" title="false"]. Cách bạn xử lý việc chèn đa ngôn ngữ là phần khiến khách hàng ngạc nhiên nhất, vì vậy đây là quy tắc:
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 từng ngôn ngữ.
Quy trình:
- Xây dựng biểu mẫu một lần bằng ngôn ngữ nguồn của bạn.
- Gửi biểu mẫu đi dịch (hoặc để Dịch mọi thứ tự động tự nhận diện).
- Chèn biểu mẫu vào trang ngôn ngữ nguồn bằng khối Gravity Forms hoặc shortcode
[gravityform]. - Dịch trang thông qua WPML > Bản dịch > Bảng điều khiển giống như 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 trong trang đã dịch.
- Khi khách truy cập vào trang đã dịch, GFML sẽ tự động phân phối biểu mẫu bằng ngôn ngữ của khách truy cập – cùng ID biểu mẫu, cùng shortcode, nội dung đã dịch.
Bạn không cần ID biểu mẫu khác nhau cho từng ngôn ngữ. Bạn không cần hoán đổi các shortcode cho từng ngôn ngữ. Bản dịch được liên kết với biểu mẫu nguồn; plugin kết nối sẽ quyết định phiên bản ngôn ngữ phù hợp tại thời điểm hiển thị dựa trên ngôn ngữ của trang.
Trường hợp ngoại lệ – khi bạn thực sự muốn các biểu mẫu khác nhau cho từng ngôn ngữ. Một số trang web cần các biểu mẫu khác nhau về mặt cấu trúc cho từng ngôn ngữ (các trường khác nhau, logic khác nhau, không chỉ là văn bản khác nhau). Trong trường hợp đó, hãy xây dựng các Gravity 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 cá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 vấn đề này.
Nhãn trường và tùy chọn được dịch cùng với Trường giá và sản phẩm
Mọi nhãn trường, văn bản giữ chỗ, tùy chọn thả xuống, lựa chọn nút radio, nhãn hộp kiểm và nội dung trường HTML đều xuất hiện trong công việc dịch thuật. Đối với Trường giá (Sản phẩm, Số lượng, Tổng cộng, Vận chuyển) đặc trưng của Gravity Forms, các nhãn cũng được dịch – “Quantity” trở thành “Quantité” – trong khi việc xử lý số liệu cơ bản vẫn không thay đổi. Trường danh sách, Chữ ký số và Tải lên tệp cũng được dịch theo cách tương tự. Nhiều lựa chọn và Lựa chọn hình ảnh (các loại trường của Gravity Forms 2.9) được dịch từ phiên bản GFML 1.8.3 trở đi.
Biểu mẫu phân trang và biểu mẫu hội thoại
Đối với biểu mẫu phân trang, mọi tiêu đề trang và tiêu đề ngắt trang đều nằm trong công việc dịch thuật. Logic điều kiện phân nhánh qua các trang vẫn được giữ nguyên sau khi dịch. Các giá trị lựa chọn luôn được đồng bộ giữa các ngôn ngữ, do đó các quy tắc hiển thị/ẩn tiếp tục hoạt động trên cùng một dữ liệu. Biểu mẫu hội thoại (chế độ mỗi lần một câu hỏi) dịch mọi lời nhắc và mọi chuyển tiếp. Hãy chọn một phiên bản ngôn ngữ, đi qua luồng hội thoại và xác nhận mỗi bước đều đọc tự nhiên trước khi xuất bản.
Thông báo xác thực cho từng trường
Mỗi trường trong Gravity Forms có cài đặt Thông báo xác thực riêng trong tab Nâng cao của trường – văn bản hiển thị khi xác thực thất bại. Mỗi thông báo sẽ xuất hiện dưới dạng một hàng trong Trình biên tập dịch thuật nâng cao.
Nếu bạn không thấy thông báo xác thực cho từng trường trong công việc dịch thuật, trường đó có thể đang sử dụng thông báo mặc định của Gravity Forms (được thiết lập trong Biểu mẫu > Cài đặt > Cài đặt biểu mẫu) thay vì ghi đè cho từng trường. Bạn có thể thiết lập thông báo tùy chỉnh cho từng trường và gửi lại biểu mẫu đi dịch, hoặc dịch thông báo mặc định chung thông qua WPML Dịch Chuỗi.
Xác nhận – Văn bản, Chuyển hướng và Trang
Gravity Forms hỗ trợ ba loại Xác nhận và cả ba đều hoạt động đa ngôn ngữ:
- Các xác nhận bằng Văn bản được dịch nội tuyến. Chỉnh sửa xác nhận bằng ngôn ngữ nguồn trong Gravity Forms > gửi lại biểu mẫu đi dịch > văn bản đã dịch sẽ xuất hiện cho từng ngôn ngữ.
- Các xác nhận bằng Trang trỏ đến một trang WordPress. Dịch trang đó thông qua quy trình dịch trang thông thường của WPML; khách truy cập sẽ thấy phiên bản ngôn ngữ khớp với ngữ cảnh của họ.
- Các xác nhận bằng Chuyển hướng sẽ đưa khách truy cập đến một URL sau khi gửi biểu mẫu. Bản thân URL có thể dịch được cho từng ngôn ngữ. Hãy thiết lập một URL cảm ơn khác nhau cho từng ngôn ngữ trong Trình biên tập dịch thuật nâng cao.
Thông báo và định tuyến thông báo
Mọi Thông báo của Gravity Forms đều được dịch theo từng ngôn ngữ: Đến email, Tên người gửi, Chủ đề, mẫu nội dung và thẻ hợp nhất. Nội dung Thông báo sử dụng các thẻ hợp nhất của Gravity Forms ({Name}, {Email}, {All Fields}) và chúng được xử lý chính xác sau khi dịch. Các quy tắc Định tuyến thông báo gửi các thông tin gửi khác nhau đến các người nhận khác nhau dựa trên giá trị trường. Chúng vẫn được giữ nguyên sau khi dịch vì các giá trị lựa chọn cơ bản luôn được đồng bộ giữa các ngôn ngữ.
Sau khi dịch, hãy gửi một bản thử nghiệm bằng từng ngôn ngữ và xác nhận thông báo đến bằng ngôn ngữ của khách truy cập với các thay thế thẻ hợp nhất chính xác.
Logic điều kiện trên các giá trị lựa chọn đã dịch
Logic điều kiện trên các lựa chọn dựa trên văn bản (Nút radio, Hộp kiểm, Trình đơn thả xuống) tiếp tục hoạt động trên các bản dịch vì GFML duy trì một bản đồ giá trị giữa nhãn nguồn và nhãn đã dịch. Khách truy cập thấy “Pas encore” bằng tiếng Pháp; giá trị cơ bản vẫn là “Not yet”; quy tắc điều kiện tiếp tục kích hoạt trên “Not yet”.
Điều duy nhất làm hỏng Logic điều kiện: thay đổi nhãn lựa chọn bằng ngôn ngữ nguồn sau khi dịch mà không gửi lại biểu mẫu đi dịch. Việc ánh xạ sẽ bị lỗi thời. Khắc phục điều này bằng cách gửi lại biểu mẫu – GFML sẽ cập nhật bản đồ giá trị.
Các tiện ích bổ sung tích hợp – Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks
Các tiện ích bổ sung của Gravity Forms đẩy thông tin gửi đến các dịch vụ của bên thứ ba (Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks và các dịch vụ khác) sẽ nhận được thông tin đầu vào đã dịch của khách truy cập. Tên và tin nhắn của một khách truy cập người Pháp sẽ đến đích bằng tiếng Pháp. Các nhãn danh sách được ánh xạ, các giai đoạn trong quy trình bán hàng và tên kênh cũng được dịch nếu chúng tồn tại dưới dạng chuỗi ở cấp độ biểu mẫu.
Nếu tích hợp của bạn sử dụng giá trị trường thay vì nhãn (ví dụ: ánh xạ giá trị thả xuống vào danh sách Mailchimp), giá trị này vẫn được chuẩn hóa trên các ngôn ngữ để việc ánh xạ không bị hỏng.
Các lỗi thường gặp
- Nhãn lựa chọn không được dịch trong email thông báo. Gửi lại biểu mẫu đi dịch sau khi thay đổi nhãn ngôn ngữ nguồn. Nếu sự cố vẫn tiếp diễn, hãy kiểm tra xem GFML đã được cập nhật chưa. Đây là sự cố thường xuyên xảy ra trên các phiên bản cũ hơn và được theo dõi trên các chủ đề diễn đàn.
- Kiểu dáng của Khối biểu mẫu trông không đúng trên các trang đã dịch. Đây là một lỗi hồi quy về kiểu dáng đã ghi nhận – hãy xem trang lỗi đã ghi nhận. Giải pháp tạm thời: sử dụng mã nhúng shortcode
[gravityform]tiêu chuẩn thay vì Khối biểu mẫu trong khi chờ bản sửa lỗi. - Biểu mẫu hiển thị “There is nothing to translate” (Không có gì để dịch) trong khi rõ ràng là có. Thường là do sự cố bộ nhớ cache của Bảng điều khiển. Hãy làm mới trang hoặc gửi lại biểu mẫu đi dịch từ bài viết có nhúng biểu mẫu đó.
- Logic đ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 đi dịch để làm mới bản đồ giá trị.
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