web-dev-qa-db-ja.com

テーマテキストドメインとは何ですか?

どの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'という場所は何ですか?

17
Sok Vanrithy

この場合、'themify'は、テーマに定義されたtextdomainであり、 themetranslatable 。 (コーデックスリファレンス: load_theme_textdomain() )。

テーマを翻訳可能な状態にするには、いくつかの手順が必要です。

  1. テーマのtextdomainを定義します

    load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );
    
  2. テンプレートで翻訳可能な文字列を定義します

    これは、いくつかの変換関数のいずれかを使用して行われます。 __() (forreturned文字列)、 _e() (forechoed文字列)、および _x() / _ex() (forgettext context文字列)。他にもありますが、あなたはアイデアを得る...

    <p>Hello world!</p>などの静的テキスト文字列は、<p><?php _e( 'Hello World!', 'themify' ); ?></p>などの適切な翻訳関数でラップされて、翻訳に使用できるようになります。

  3. .mo/.poファイルを生成します
    参照 編集方法 言語ファイル

23
Chip Bennett