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


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.