Що таке текстовий домен теми?


19

Я виявив, що будь-яка тема WordPress використовує ці функції, але я не розумію, у чому її мета і в чому це 'themify'? Ось кілька прикладів у програмі 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' ),
        ) );
    }

І у темп-файлі:

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

І багато іншого! Мої сумніви, в чому полягає 'themify'позиція? Яке їх призначення? Чи можу я її змінити чи видалити? Для чого це місце 'themify'?

Відповіді:


23

У цьому випадку 'themify'- це визначений текстовий домен для теми, який використовується для того, щоб зробити Тему перекладною . (Кодекс посилання:) load_theme_textdomain().

Щоб зробити готовий переклад теми, потрібно виконати кілька кроків.

  1. Визначте текстовий домен теми :

    load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );
  2. Визначте в шаблоні рядки, що перекладаються .

    Це робиться за допомогою однієї з декількох функцій перекладу: __()(для повернених рядків), _e()(для ехо- рядків) та _x()/ _ex()(для рядків контексту gettext ). Є й інші, але ви розумієте ...

    Статичний текстовий рядок, такий як <p>Hello world!</p>, загорнутий у відповідну функцію перекладу, таку як <p><?php _e( 'Hello World!', 'themify' ); ?></p>, щоб зробити його доступним для перекладу.

  3. Створіть посилання на файли .mo / .po
    про те, як редагувати мовні файли


@ SokVanrithy, зверніться до цього запитання щодо того, як обробляти .mo/.poфайли. (Чіп, я не додав посилання у вашу відповідь, оскільки, можливо, у вас є ще одна рекомендація :)
brasofilo

1
@brasofilo сміливо додайте його, якщо хочете. Я думаю, що це питання не вдається для запитання, але як і раніше, але корисна інформація.
Чіп Беннетт

Навіщо ти це змінити? Ви розгалужуєте Тему?
Чіп Беннетт

Так, я хочу їх позбутися. Я завантажив тему з Webdesigndepot, і вона дзвонить base theme. Я запитав автора, чи зможу я змінити початкові коди? Вони дозволені, тому що це основна порожня тема, для кого бажаючі мають структуру для власної теми. Крім того, подарунок читачеві подарувати читачеві. Мої сумніви, як вище!
Сок Ванріті

1
Звичайно, ви можете позбутися від них; але також не завадить просто залишити їх. Ви навіть можете змінити textdomainрядок на інший рядок, щоб посилатися на свою роздвоєну Тему. Найкращі практики розробки включають в себе зробити Теми перекладними, тому я б радив не видаляти їх повністю. Однак це, безумовно, можна , якщо захочете.
Чіп Беннетт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.