Hôm nay chúng tôi đã phát hành bản beta công khai đầu tiên của một Dịch chuỗi hoàn toàn mới, giúp tránh tất cả các lệnh gọi cơ sở dữ liệu để dịch chuỗi trên giao diện người dùng và trang quản trị WordPress.
Cách thức hoạt động của Dịch chuỗi trong WPML đã thay đổi qua nhiều năm. Mục tiêu của chúng tôi luôn là cho phép bạn dịch mọi đoạn văn bản trên trang web của mình và tải máy chủ ở mức thấp nhất có thể.
Trong những năm gần đây, các plugin và giao diện đã phát triển lớn hơn, sử dụng nhiều chuỗi có thể dịch hơn. Một trang quản trị điển hình mở một trình tạo trang, WooCommerce và một vài plugin lớn khác có thể tải hơn 30K chuỗi từ cơ sở dữ liệu. Sự gia tăng số lượng chuỗi có thể dịch này đã làm cho các trang web chậm hơn với Dịch chuỗi. WPML cho phép bạn dịch mọi thứ trên trang và khi nó lọc nhiều chuỗi như vậy, CPU và cơ sở dữ liệu sẽ bị tải nặng.
Hôm nay, chúng tôi đã sẵn sàng với một phiên bản mới thay đổi hoàn toàn cách Dịch chuỗi hoạt động. Phiên bản phát hành mới này thực hiện hai thay đổi lớn:
- Chỉ tác động đến các chuỗi mà bạn muốn dịch
- Dựa vào các tệp .mo để áp dụng bản dịch
Thay đổi đầu tiên có nghĩa là bảng Dịch chuỗi sẽ không bao gồm tất cả các văn bản của tất cả các plugin và giao diện theo mặc định. Đối với phần lớn các trang web, các giao diện và plugin đi kèm với các tệp .mo riêng của chúng với các bản dịch tốt và hoàn chỉnh. WPML không cần phải lọc (và làm cho có thể dịch) tất cả các chuỗi này. Nếu bạn muốn ghi đè bản dịch các văn bản từ một plugin, bạn vẫn có thể thực hiện. Bạn sẽ có thể chọn các plugin bạn muốn và WPML sẽ đăng ký các chuỗi đến từ plugin đó.
Thay đổi lớn thứ hai có nghĩa là WPML không gọi cơ sở dữ liệu để dịch bất kỳ chuỗi nào. WPML biên dịch các tệp .mo cho các bản dịch của bạn và để WordPress tải chúng. Kích thước của các tệp .mo này phụ thuộc vào số lượng chuỗi mà bạn dịch. Trên hầu hết các máy chủ, việc tải một tệp nhanh hơn đáng kể so với việc tải nhiều mục nhập từ cơ sở dữ liệu (DB là nút thắt cổ chai về hiệu suất đối với nhiều trang web).
Tạo các tệp .mo
WPML Dịch Chuỗi tự động xử lý việc tạo và bảo trì các tệp .mo. Điều này xảy ra mỗi khi bạn dịch một chuỗi trên trang WPML -> Dịch chuỗi .
Tuy nhiên, sau khi nâng cấp lên bản beta này, bạn sẽ cần tạo các tệp cho lần đầu tiên.
Nếu trang web của bạn có bất kỳ chuỗi nào đã dịch trước khi nâng cấp, bạn sẽ thấy hộp thoại sau trên bất kỳ trang quản trị nào sau khi cập nhật Dịch chuỗi:
Bạn có thể tạo lại các tệp .mo nếu có sự cố xảy ra trong khi thử nghiệm bản beta.
Để thực hiện:
- Truy cập WPML -> Hỗ trợ.
- Nhấp vào liên kết Khắc phục sự cố.
- Cuộn về cuối trang và nhấp vào Show custom MO Files Pre-generation dialog box.
- Tải lại trang (bước này sẽ không cần thiết trong phiên bản phát hành cuối cùng).
- Hộp thoại cho phép bạn tạo lại các tệp .mo sẽ xuất hiện.
Kết quả
Phiên bản này đã chạy trên tất cả các trang web chính thức của chúng tôi (WPML.org, Toolset.com và ICanLocalize.com). Nó đang hoạt động trơn tru và các máy chủ đều ổn định. Dịch chuỗi chưa bao giờ là một yếu tố đáng kể trong hiệu suất các trang web của chúng tôi, vì vậy chúng tôi đang sử dụng các trang web khác để phân tích hiệu suất.
Chúng tôi đã nhận được hàng chục trang web từ khách hàng, nơi Dịch chuỗi ảnh hưởng đáng kể hơn nhiều. Trên tất cả các trang web này, chúng tôi xác nhận rằng tải máy chủ do Dịch chuỗi thực tế đã giảm xuống bằng không. Các trang web này hiện tải trong khoảng một nửa thời gian so với trước đây (hoan hô!).
Trạng thái phát triển hiện tại
Bản beta này đã sẵn sàng để bạn thử nghiệm. Lưu ý duy nhất là nó chưa hoạt động trên các bản cài đặt multisite. Nếu bạn có một bản cài đặt WordPress đơn (thông thường) và bạn nghi ngờ rằng mình gặp vấn đề về hiệu suất do Dịch chuỗi, hãy thử bản beta này. Chúng tôi sẽ để bản beta này chạy trong vài tuần và đồng thời thu thập phản hồi của khách hàng. Chúng tôi sẽ hoàn thiện hỗ trợ cho multisite trong khi lập hồ sơ thêm cho các trang web của khách hàng.
Nếu bạn đã chuyển sang bản beta này và vẫn gặp các vấn đề hiệu suất đáng kể liên quan đến WPML, chúng tôi muốn xem trang web của bạn. Chúng tôi có thể tìm thấy các vấn đề hiệu suất khác mà chúng tôi cần xử lý. Chúng tôi muốn đảm bảo rằng vào thời điểm phiên bản này được đưa vào sử dụng chính thức, sẽ không ai gặp bất kỳ vấn đề hiệu suất nào liên quan đến WPML. Mục tiêu của chúng tôi là phát hành WPML 4.3 chính thức vào nửa đầu tháng 9.
Tải xuống và dùng thử
Hãy nhớ rằng, phiên bản này chưa hoạt động trên các bản cài đặt multisite!Hoàn toàn OK khi sử dụng nó trên các site phát triển và trên các trang web chính thức, nhưng cần một chút thận trọng.
Cập nhật tự động
Để nhận bản beta này, hãy truy cập Plugin -> Cài mới và nhấp vào tab Thương mại:

Từ trang này, hãy bật kênh Beta và cập nhật các plugin tự động.
Truy cập trang của chúng tôi về cách cài đặt các phiên bản beta của WPML để biết thêm chi tiết.
Để nhận các bản cập nhật tự động hoặc chuyển sang kênh beta, bạn phải đăng ký site với tài khoản WPML.
Cập nhật thủ công
Bạn cũng có thể cập nhật thủ công.
Để thực hiện, hãy làm theo các hướng dẫn trong phần Cập nhật WPML thủ công (ngay cả khi nó đề cập đến một phiên bản WPML cũ, quy trình vẫn hoàn toàn giống nhau).
Phản hồi?
Sau khi bạn dùng thử bản beta này của WPML, chúng tôi rất muốn nhận được phản hồi của bạn. Vui lòng chia sẻ tất cả thông tin mà bạn có thể với chúng tôi. Chúng tôi muốn biết khi nào bản beta này khắc phục được các vấn đề về hiệu suất và về bất kỳ vấn đề hiệu suất nào còn lại mà chúng tôi cần xử lý.
Hãy để lại nhận xét của bạn và chúng tôi sẽ phản hồi lại bạn.
Cập nhật – 2019-08-16
Chúng tôi đã phát hành một bản beta mới giúp sửa các lỗi sau:
- Sự không tương thích với WPML Multilingual & Multicurrency for WooCommerce: bạn có thể cài đặt phiên bản phát hành hiện tại hoặc bản beta của WPML Multilingual & Multicurrency for WooCommerce đi kèm với phiên bản phát hành này.
- Hiệu suất kém khi lưu bài viết có số lượng lớn các trường tùy chỉnh.
Các lỗi đã ghi nhận cho đến nay
Chúng tôi vẫn đang nỗ lực hoàn thiện một số phần. Tính đến hôm nay, đây là danh sách các lỗi đã ghi nhận:
- Multisite vẫn chưa được hỗ trợ.
- Việc xóa các chuỗi khỏi Dịch chuỗi không cập nhật tệp .mo đã tạo.
- Việc xóa tất cả các chuỗi của một miền sẽ không xóa tệp .mo đã tạo.
- Sau khi xóa tất cả các chuỗi của một miền, việc tạo lại các tệp .mo (xem phần “Tạo các tệp .mo” ở trên để biết cách tạo lại các tệp) sẽ không xóa tệp .mo tương ứng.
- Các văn bản quản trị đã dịch trả về bản gốc trong hàm icl_translate (ảnh hưởng đến WPML Multilingual & Multicurrency for WooCommerce: “Chủ đề tùy chỉnh của email đơn hàng mới không được dịch”).

