やりたいこと:カスタム投稿タイプ(Custom Post Type)のUIを日本語化
カスタム投稿タイプUIの日本語翻訳ファイル(PO/MO)を作成します
- Poeditで日本語翻訳ファイル(PO)を作成します
msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.0.3\n" "Language: ja_JP\n" "Project-Id-Version: \n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" msgid "Products" msgstr "製品投稿" msgid "Product" msgstr "製品" msgid "Add New" msgstr "新規作成" msgid "Add New Product" msgstr "新規製品作成" msgid "Edit Product" msgstr "製品編集" msgid "New Product" msgstr "新規製品" msgid "All Products" msgstr "全製品" msgid "View Product" msgstr "製品表示" msgid "Search Products" msgstr "製品検" msgid "No products found" msgstr "製品を見つからない" msgid "No products found in the Trash" msgstr "ゴミ箱から製品を見つからない"
- 上記POファイルをPoeditでコンパイルしてMOファイルに変換します
翻訳ファイルの配置は:{所属しているテーマフォルダ内} or {WPの言語フォルダ内}
- 翻訳ファイルは所属しているテーマのフォルダ内に配置することができます
- WPの言語フォルダに配置することもできます
カスタム投稿タイプ登録する前に作成した翻訳ファイルをロードします
- WPの言語フォルダに配置する場合、翻訳フォイルのロード記述する必要はありません(自動ロードとなります)
- 所属しているテーマのフォルダに配置する場合、翻訳ファイルをロードする記述は必要となります
- カスタム投稿タイプ登録(functions.php)する前にロードが必要です
// 翻訳ファイルをロード load_theme_textdomain("product", get_stylesheet_directory() . '/languages'); // カスタム投稿タイプ登録 add_action( 'init', 'my_custom_post_product' );
- 翻訳ファイルのディレクト取得関数:get_stylesheet_directory() なので、get_stylesheet_directory_url()ではありません(後者の場合、翻訳ファイルのロードはできません)。また、get_template_directory()関数の使用はできません(これは親テーマのディレクトリを取得する)
- load_child_theme_textdomain()で翻訳ファイルのロードもできます
- カスタム投稿タイプ登録(functions.php)する前にロードが必要です