WPML

Trước khi bắt đầu

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

  • Contact Form 7.
  • WPMLWPML Dịch Chuỗi.
  • WPML Multilingual for CF7 (tiện ích bổ sung được đề cập trong trang này).

Xây dựng biểu mẫu trong Contact Form 7 bằng ngôn ngữ nguồn của trang web (mọi thẻ biểu mẫu, mẫu email Mail và Mail (2), mọi mục trên tab Tin nhắn và bất kỳ Cài đặt bổ sung nào) trước khi gửi biểu mẫu để dịch. Bạn có thể chỉnh sửa biểu mẫu sau này và gửi lại để dịch nếu có bất kỳ thay đổi nào.

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ẽ nhận các biểu mẫu mới và biểu mẫu vừa 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 ở chế độ nền. Bước chèn vào trang bên dưới vẫn á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 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 Contact Forms.
  3. Đánh dấu chọn 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.

Mẫu biểu mẫu, Mail và Mail (2), cùng với tab Tin nhắ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

Contact Form 7 được nhúng vào trang hoặc bài viết bằng shortcode [contact-form-7], thường do màn hình quản trị Liên hệ tạo ra dưới dạng [contact-form-7 id="123" title="My Form"]. Quy tắc chèn đa ngôn ngữ:

Sử dụng cùng một shortcode trên mọi phiên bản ngôn ngữ của trang. Không tạo biểu mẫu riêng cho từng 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 nhận biểu mẫu).
  3. Chèn shortcode vào trang ngôn ngữ nguồn.
  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. Shortcode được giữ nguyên trên trang đã dịch.
  5. Khi khách truy cập mở trang đã dịch, WPML Multilingual for CF7 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 một shortcode, nội dung đã dịch.

Bạn không cần ID biểu mẫu riêng 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ẽ phân giải 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.

Cả shortcode dựa trên ID và dựa trên tiêu đề đều hoạt động. [contact-form-7 id="123" title="Contact form 1"] hoạt động đa ngôn ngữ ngay mà không cần cấu hình thêm. [contact-form-7 title="Contact form 1"] (chỉ có tiêu đề, không có ID) cũng phân giải đúng ngôn ngữ. Tính năng phân giải chỉ dựa trên tiêu đề đã được phát hành trong phiên bản 1.1.0 (tháng 6 năm 2021). Cả hai dạng đều an toàn.

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 thẻ biểu mẫu khác nhau, mẫu email khác nhau, nội dung tab Tin nhắn khác nhau), hãy xây dựng các biểu mẫu Contact Form 7 riêng biệt 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 cách sử dụng trình soạn thảo WordPress cho bản dịch đó. Đó là trường hợp duy nhất mà shortcode khác nhau giữa các ngôn ngữ.

Lưu ý với 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ó mô-đun văn bản bao bọc shortcode, 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 shortcode [contact-form-7] 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 thẻ biểu mẫu và chuỗi hiển thị cho khách truy cập

Mọi nội dung của thẻ biểu mẫu hiển thị cho khách truy cập đều được dịch: nhãn (văn bản bên ngoài thẻ trong ngoặc), nhãn nút (giá trị trong [submit "Send"]), văn bản giữ chỗ được đặt qua tùy chọn placeholder và các giá trị tùy chọn bên trong các thẻ [checkbox], [radio][select].

Loạitên của thẻ biểu mẫu không được dịch. Chúng là các định danh. Các giá trị của thẻ biểu mẫu (các lựa chọn hiển thị cho khách truy cập) sẽ được dịch. Ví dụ:

[select your-country "China" "India" "San Marino"]

Trong bản dịch tiếng Pháp, "China" trở thành "Chine" trong khi your-country (tên thẻ biểu mẫu) và select (loại) vẫn giữ nguyên. Việc thay thế thẻ email vẫn hoạt động vì bản dịch giữ nguyên vị trí của từng giá trị.

Các giá trị được phân tách bằng dấu gạch đứng – Dịch nhãn, giữ nguyên giá trị

Cú pháp dấu gạch đứng cho phép bạn tách biệt nhãn hiển thị cho khách truy cập khỏi giá trị được gửi trong email:

[select your-country
  "Chinese|CN"
  "Indian|IN"
  "Sammarinese|SM"]

Khi bạn dịch biểu mẫu này, chỉ các nhãn (Chinese, Indian, Sammarinese) được dịch. Các giá trị (CN, IN, SM) vẫn giữ nguyên gốc. Khách truy cập người Pháp sẽ thấy Chinois, Indien, Saint-Marinais; phần thân email và bất kỳ trình xử lý phụ trợ nào vẫn nhận được CN, IN, SM. Hãy sử dụng cú pháp dấu gạch đứng ở bất cứ nơi nào bạn cần giá trị được gửi đi giữ nguyên giữa các ngôn ngữ: ánh xạ CRM, SKU thanh toán, mã địa lý.

Thẻ chấp nhận và câu đố

Hộp kiểm Acceptance (Chấp nhận) chứa văn bản đồng ý và thường có một hoặc nhiều liên kết được nhúng trỏ đến các trang điều khoản và quyền riêng tư. Hãy dịch văn bản này dưới dạng một hàng duy nhất trong công việc dịch thuật; đối với các đích liên kết, hãy chỉnh sửa hàng đã dịch để trỏ đến các trang điều khoản và quyền riêng tư theo từng ngôn ngữ.

Thẻ Quiz (Câu đố) dịch cả câu hỏi và câu trả lời. Hãy sử dụng cú pháp dấu gạch đứng cho các câu trả lời của câu đố để logic câu trả lời được chấp nhận vẫn có thể dự đoán được giữa các ngôn ngữ:

[quiz captcha
  "1+1=?|2"
  "2+3=?|5"]

Tab Tin nhắn

Tab Tin nhắn của Contact Form 7 chứa khoảng 16 chuỗi xác thực có thể chỉnh sửa – những chuỗi mà khách truy cập nhìn thấy khi gửi biểu mẫu và khi có lỗi. Mọi chuỗi đều được dịch trong cùng một công việc:

  • Cảm ơn bạn đã gửi tin nhắn. Tin nhắn đã được gửi.
  • Một hoặc nhiều trường có lỗi. Vui lòng kiểm tra và thử lại.
  • Đã xảy ra lỗi khi cố gắng gửi tin nhắn của bạn. Vui lòng thử lại sau.
  • Trường này là bắt buộc.
  • Địa chỉ email này không hợp lệ.
  • Số điện thoại không hợp lệ.
  • URL không hợp lệ.
  • Số này nhỏ hơn mức tối thiểu cho phép.
  • Số này lớn hơn mức tối đa cho phép.
  • Định dạng ngày không chính xác.
  • Tệp quá lớn.
  • Tệp không được hỗ trợ.
  • Hộp kiểm Chấp nhận là bắt buộc.
  • Câu trả lời cho câu đố không chính xác.
  • (cộng với các tin nhắn mặc định còn lại mà CF7 cung cấp).

Nếu tab Tin nhắn của bạn sử dụng thẻ email để chèn nội dung khách truy cập nhập vào (Cảm ơn [your-name], tin nhắn của bạn đã được gửi!), thẻ email vẫn phân giải chính xác sau khi dịch.

Mail và Mail (2)

Hai mẫu email gửi đi của Contact Form 7 là Mail (thông báo cho quản trị viên) và Mail (2) (trả lời tùy chọn hoặc trả lời tự động cho khách truy cập) được dịch độc lập. Các mô tả To (Đến), From (Từ), Subject (Tiêu đề), Additional headers (Tiêu đề bổ sung), Message body (Nội dung tin nhắn) và File attachments (Tệp đính kèm) đều nằm trong công việc dịch thuật. Các thẻ email bên trong nội dung đã dịch ([your-name], [your-message], [your-email]) sẽ phân giải chính xác.

Đối với Mail (2), phần nội dung trả lời tự động hiển thị cho khách truy cập là nơi việc dịch thuật quan trọng nhất. Đó là tin nhắn xuất hiện trong hộp thư đến của khách truy cập. Hãy thử gửi biểu mẫu từ một trang đã dịch và xác nhận rằng email trả lời tự động đến bằng ngôn ngữ của khách truy cập.

Tích hợp gửi dữ liệu

Contact Form 7 có một bộ tiện ích tích hợp nhỏ nhưng quan trọng. Mỗi tiện ích đều giữ nguyên ngôn ngữ của khách truy cập khi tính năng dịch được cấu hình:

  • Flamingo. Tiện ích bổ sung quản lý dữ liệu gửi của chính tác giả Contact Form 7. Các lượt gửi sẽ xuất hiện trong Liên hệ > Tin nhắn đến với tiêu đề và nội dung đã dịch được giữ nguyên vẹn.
  • Constant Contact. Tiện ích tích hợp tiếp thị qua email chính thức của CF7. Thông tin nhập của khách truy cập sẽ được chuyển đến danh sách Constant Contact của bạn bằng ngôn ngữ của khách truy cập.
  • Stripe. Các trường thẻ biểu mẫu [stripe] của Contact Form 7 và văn bản thông báo biên lai đều xuất hiện trong công việc dịch thuật.
  • Akismet. Thông báo bảo vệ chống thư rác được dịch thông qua WPML Dịch Chuỗi (không phải công việc dịch biểu mẫu).
  • reCAPTCHA. Thông báo lỗi hiển thị cho khách truy cập được dịch thông qua WPML Dịch Chuỗi.

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

  • Thẻ chấp nhận có liên kết nhúng trỏ đến trang quyền riêng tư của ngôn ngữ sai. Chỉnh sửa bản dịch Chấp nhận trong Trình biên tập dịch thuật nâng cao và thiết lập các đích liên kết theo từng ngôn ngữ.
  • Mã băm shortcode không khớp trên CF7 6.0+. Đã được giải quyết trong WPML Multilingual for CF7 1.3.2 (tháng 11 năm 2024). Hãy nâng cấp nếu bạn gặp lỗi này.
  • Bản dịch tab Tin nhắn không xuất hiện. Xác nhận rằng WPML Dịch Chuỗi đang hoạt động và biểu mẫu đã được gửi lại để dịch sau khi chỉnh sửa tab Tin nhắn.
  • Các thẻ email bên trong bản dịch phân giải thành chuỗi trống. Kiểm tra xem tên thẻ biểu mẫu trong thẻ email (ví dụ: [your-name]) có khớp với thẻ biểu mẫu trong biểu mẫu hay không. Việc dịch thuật không bao giờ làm hỏng quá trình phân giải thẻ email, nhưng việc đổi tên thẻ biểu mẫu sau khi dịch sẽ gây ra lỗi này.

Đượ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