Tên miền văn bản trên nhiều plugin & chủ đề


7

Một tình huống phổ biến: nhà phát triển xây dựng toàn bộ trang web, dựa trên WordPress, tất nhiên, cho một khách hàng.

Trang web này bao gồm nhiều plugin tùy chỉnh cũng như một chủ đề tùy chỉnh - có thể là một chủ đề khác hoặc một chủ đề con hoặc hai cho các biện pháp tốt.

Không có nhiều ý nghĩa đối với tất cả các plugin tùy chỉnh đó và như vậy có miền văn bản riêng. Một dịch giả có thể sẽ làm tất cả các công việc. Có lẽ cũng dễ dàng hơn nhiều để duy trì một bộ dịch.

Vậy, làm thế nào để một người sử dụng một miền văn bản duy nhất trên nhiều plugin và / hoặc chủ đề?

Để chúng tôi rõ ràng, tôi muốn tương đương load_plugin_textdomainload_theme_textdomaintôi có thể sử dụng cho nhiều plugin / chủ đề.


Câu hỏi này bây giờ khá cũ. Bạn đã quản lý để tìm một giải pháp tốt cho vấn đề này?
Swen

Không. Những gì tôi đã cố gắng làm là quản lý các bản dịch trên một trang web với một loạt các plugin và chủ đề tùy chỉnh. Tôi nghĩ rằng @fuxia đã đúng, nhìn lại bây giờ: không nên thực hiện.
chrisguitarguy

Câu trả lời:


3

Bạn không. Các bản dịch là một phần của lịch sử cam kết của mỗi mục, chúng nên được giữ riêng biệt như mã PHP. Về hiệu suất, bạn không giành được nhiều chiến thắng với một miền văn bản kết hợp. Trên thực tế, bạn có thể mất hiệu suất, vì nếu bạn cần một mảng dịch đó ở hầu hết mọi nơi, bạn không thể tải nó một cách chọn lọc nữa hoặc phá hủy nó khi bạn không cần nó.

Một cách để làm những gì bạn muốn, là một plugin riêng biệt, có thể được đặt tên là "Bản dịch tên khách hàng", sao chép tất cả các chuỗi trong đó và chỉ cho phép người dịch dịch tệp này. Chuẩn bị cho địa ngục đồng bộ. :)

Hoặc bạn di chuyển tất cả các chuỗi sang một tệp riêng biệt với một mảng đơn

<?php 
return array(
    'name1' => __( 'Name one', 'your_text_domain' ),
    'name2' => __( 'Name two', 'your_text_domain' )
);

Tập tin và require_oncetập tin đó trong tất cả các dự án con khác (hoặc viết một trình bao bọc cho nó). Sau đó, bạn truy cập các chuỗi bằng các phím của họ.

Nhưng tôi sẽ cố gắng giữ lịch sử cam kết riêng cho tất cả các dự án. Một khi bạn muốn sử dụng lại một trong số đó, bạn phải viết lại mọi thứ.


1
Tất cả mọi thứ là một repo duy nhất, vì vậy đó là một lịch sử cam kết.
chrisguitarguy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.