Nếu tất cả những gì bạn muốn kiểm tra là các tệp dịch tồn tại, thì đây có lẽ là cách tiếp cận đơn giản nhất, vì có lẽ bạn đã sử dụng PHPUnit để chạy thử nghiệm đơn vị / tích hợp trên mã plugin.
Tuy nhiên, chỉ cần kiểm tra xem các tập tin tồn tại không cho bạn biết nhiều. Nó không cho bạn biết liệu những ngôn ngữ đó có thực sự được dịch hoàn toàn hay không, ngay cả khi những tệp đó sẽ được WordPress tải đúng cách.
Vì vậy, câu hỏi bạn cần tự hỏi mình là "Tại sao tôi lại thử nghiệm điều này?" Nếu bạn chỉ muốn đảm bảo rằng bạn không vô tình để lại một tệp dịch, thì các bài kiểm tra của bạn sẽ làm những gì bạn cần. Nếu bạn muốn thực sự đảm bảo rằng bạn có bản dịch hoàn chỉnh cho từng ngôn ngữ và những ngôn ngữ này thực sự hoạt động, đó là một câu chuyện hoàn toàn khác.
Đang thử tải bản dịch
Để kiểm tra xem mỗi tệp dịch có thể được tải đúng cách bởi WordPress hay không, bạn có thể tạo một bài kiểm tra PHPUnit đã tải các tệp bằng cách sử dụng load_plugin_textdomain()
và kiểm tra xem nó có trả về không true
, điều đó cho thấy rằng tên miền văn bản có thể được tải đúng cách. Bạn có thể cần phải nối vào plugin_locale
bộ lọc để kiểm tra từng miền được gửi cùng với plugin của bạn.
Kiểm tra tính đầy đủ
Tuy nhiên, điều đó vẫn không cho bạn biết có bao nhiêu chuỗi thực sự được dịch sang ngôn ngữ đó, bao nhiêu chuỗi mờ, v.v. Nếu bạn muốn kiểm tra xem mỗi bản dịch đã hoàn thành ít nhất xx% chưa, bạn có thể muốn sử dụng một công cụ khác ngoài PHPUnit cho điều đó.
Kiểm tra ngoại hình
Bạn cũng có thể đi xa hơn và kiểm tra xem các chuỗi trong mỗi bản dịch có thực sự xuất hiện chính xác trong giao diện người dùng plugin không. Đôi khi, một chuỗi có thể dài hơn nhiều trong bản dịch so với ngôn ngữ gốc và điều này có thể khiến nó tràn qua khu vực được phân bổ cho nó. Để kiểm tra điều này, bạn cần sử dụng một cái gì đó như các bài kiểm tra chấp nhận Codecellect .
Phần kết luận
Vì vậy, kết luận, liệu các bài kiểm tra bạn có là phương pháp phù hợp với bạn hay không phụ thuộc vào những gì bạn muốn kiểm tra. Cá nhân, tôi không có bất kỳ thử nghiệm nào cho bản dịch của plugin, mặc dù phần cuối cùng về việc kiểm tra UI đã khiến tôi tò mò. Chỉ cần kiểm tra xem các bản dịch tồn tại, như bạn đang làm bây giờ, không xuất hiện với tôi để mang lại nhiều lợi ích. Đó là một kiểm tra chỉ tốt như danh sách các tệp dịch mà bạn đang kiểm tra. Và theo một nghĩa nào đó, nó không thực sự kiểm tra bất cứ điều gì, chỉ cần đảm bảo rằng nó ở đó. Điều đó có thể được thực hiện trong một tập lệnh xây dựng chứ không phải PHPUnit. Kiểm tra xem các bản dịch thực sự có thể được tải bởi WordPress khôngcung cấp IMO có lợi, vì nó thực sự kiểm tra rằng chúng không bị hỏng. Và tất nhiên, nó kiểm tra rằng chúng tồn tại cùng một lúc. Vì vậy, tôi có thể mở rộng các bài kiểm tra của bạn để kiểm tra điều đó quá.
Biên tập
Trên một lưu ý liên quan, tôi cũng có thể xem xét kiểm tra bất kỳ lỗi chính tả nào trong POT chính của bạn (và trong bản dịch cũng vậy, tôi đoán vậy). Thật dễ dàng để những thứ này trượt vào dưới radar. Có lẽ có các kịch bản shell có sẵn có thể làm điều này.