ラベルを翻訳するために「デフォルト」のテキストドメイン(「WordPress」または「デフォルト」)を使用する方法があるかどうか私は疑問に思います。たとえば、次のようなコードがあります。
// Register Custom Taxonomy
function custom_taxonomy() {
$labels = array(
'name' => _x( 'Press category', 'Taxonomy General Name', 'my_text_domain' ),
'singular_name' => _x( 'Press category', 'Taxonomy Singular Name', 'my_text_domain' ),
'menu_name' => __( 'Pressekateorien', 'my_text_domain' ),
'all_items' => __( 'All Items' ),
'parent_item' => __( 'Parent Item' ),
'parent_item_colon' => __( 'Parent Item:' ),
'new_item_name' => __( 'New Item Name' ),
'add_new_item' => __( 'Add New Item' ),
'edit_item' => __( 'Edit Item' ),
'update_item' => __( 'Update Item' ),
'view_item' => __( 'View Item' ),
'separate_items_with_commas' => __( 'Separate items with commas' ),
'add_or_remove_items' => __( 'Add or remove items' ),
'choose_from_most_used' => __( 'Choose from the most used' ),
'popular_items' => __( 'Popular Items' ),
'search_items' => __( 'Search Items' ),
'not_found' => __( 'Not Found' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
);
register_taxonomy( 'category_press', array( 'press' ), $args );
}
// Hook into the 'init' action
add_action( 'init', 'custom_taxonomy', 0 );
ご覧のとおり、私は3つの文字列( "name"、 "singular name"、 "menu_name")をmy_text_domainで翻訳しているだけです。とにかくバックエンドで使う)。例えばWPMLはWordPresstextドメインがあることを私に示しています。私もそれを使用しようとしましたが、defaultまたはWordPressのどちらも機能しません。私は試した:
'all_items' => __( 'All Items', 'WordPress' ), // doesn't work
'parent_item' => __( 'Parent Item', 'default' ), // doesn't work
何かヒントは?
ありがとうございます。
テキストドメインを提供していない場合は、WordPressの翻訳文字列が使用されます。たとえば__( 'Add New Tag' );
を使用すると、'Add New Tag'
がWordPressに存在するため、WordPressコアからの翻訳が使用されます。
あなたの問題は、あなたがWordPressコアに存在しないラベルを定義しているということです、それでそれらはどんなWordPress翻訳ファイルにも含まれていません。つまり、'All Items'
や'Popular Items'
のような文字列はWordPressには存在せず、どこにも翻訳されません。
私の説明は少しトリッキーだと思います。