Что такое тема textdomain?


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' ),
        ) );
    }

И в файле tempate:

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.