Tên miền văn bản chủ đề là gì?


19

Tôi đã thấy rằng bất kỳ chủ đề WordPress nào cũng sử dụng các chức năng này, nhưng tôi không hiểu mục đích của nó là gì và trong trường hợp này là 'themify'gì? Dưới đây là một số ví dụ trong Themify functions.php:

1).

load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );

2).

if (function_exists('register_nav_menus')) {
        register_nav_menus( array(
            'main-nav' => __( 'Main Navigation', 'themify' ),
            'footer-nav' => __( 'Footer Navigation', 'themify' ),
        ) );
    }

Và trong tệp tempate:

3). <?php _e( 'Sorry, nothing found.', 'themify' ); ?>

Và nhiều thứ khác nữa! Nghi ngờ của tôi là những gì 'themify'đứng cho? Mục đích của họ là gì? Tôi có thể thay đổi nó hoặc xóa nó? Địa điểm là 'themify'gì?

Câu trả lời:


23

Trong trường hợp này, 'themify'là định nghĩa textdomain cho Theme, được sử dụng để làm cho Theme thể dịch . (Tham khảo Codex load_theme_textdomain():).

Làm cho một bản dịch sẵn sàng yêu cầu một vài bước.

  1. Xác định của Theme textdomain :

    load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );
  2. Xác định các chuỗi có thể dịch trong mẫu.

    Điều này được thực hiện bằng cách sử dụng một trong một vài chức năng dịch: __()(đối với các chuỗi được trả về ), _e()(đối với các chuỗi được lặp lại ) và _x()/ _ex()(đối với các chuỗi ngữ cảnh gettext ). Có những người khác, nhưng bạn có ý tưởng ...

    Một chuỗi văn bản tĩnh, chẳng hạn như <p>Hello world!</p>, được bọc trong một chức năng dịch thích hợp, chẳng hạn như <p><?php _e( 'Hello World!', 'themify' ); ?></p>, để làm cho nó có sẵn để dịch.

  3. Tạo tham chiếu tệp .mo / .po
    về cách chỉnh sửa tệp ngôn ngữ


@SokVanrithy, tham khảo Hỏi & Đáp này để biết cách xử lý .mo/.potệp. (Chip, tôi chưa thêm liên kết vào Câu trả lời của bạn vì bạn có thể có một đề xuất khác :)
brasofilo

1
@brasofilo cứ thoải mái thêm nó nếu bạn thích. Tôi nghĩ rằng nó nằm ngoài phạm vi của câu hỏi khi được hỏi, nhưng vẫn là thông tin hữu ích.
Chip Bennett

Tại sao bạn sẽ thay đổi nó? Bạn đang từ bỏ chủ đề?
Chip Bennett

Vâng, tôi muốn thoát khỏi chúng. Tôi đã tải xuống một chủ đề từ Webdesigndepot và nó gọi base theme. Tôi hỏi tác giả rằng tôi có thể thay đổi mã gốc không? Chúng được cho phép vì đó là chủ đề trống cơ sở cho những ai muốn có cấu trúc cho chủ đề tùy chỉnh. Ngoài ra, đó là món quà từ tác giả ở đó để tặng cho người đọc. Nghi ngờ của tôi là như trên!
Sok Vanrithy

1
Chắc chắn, bạn có thể thoát khỏi chúng; Nhưng nó cũng không đau khi rời xa họ. Bạn thậm chí có thể thay đổi textdomainchuỗi khác, để tham chiếu Chủ đề rẽ nhánh của bạn. Thực tiễn phát triển tốt nhất bao gồm làm Themes thể dịch, vì vậy tôi sẽ tư vấn cho chống lại loại bỏ chúng hoàn toàn. Điều đó nói rằng, bạn chắc chắn có thể , nếu bạn chọn.
Chip Bennett
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.