残念ながら、その部分は翻訳ではありません。
WordPress は add_role という関数を使ってロール(権限グループ)を作成します。
add_role( $role, $display_name, $capabilities );
で指定できるパラメーターは
$role:WordPress内部で扱う権限グループの名前(空白とか大文字不可)
$display_name:管理画面などで表示される名前
$capabilities:権限を配列で指定(投稿できるやファイルのアップロードができる、など)
となります。
なので、$display_name が指定できれば良いだけなのですが、
User Role Editiorでは
add_role($ure_currentRole, $user_role, $capabilities);
となっていて、ソースをたどると、$user_roleには Add New RoleのName欄に入力された名前がそのまま使われています。
$ure_currentRole には $user_role をPHPのstrtolower関数で整形された値が入ります。
当該部分にフックも存在していないので、shinshin1005さんの書かれたとおり、User Role Editiorを使うのであればJavaScriptなどで置換するしかありません。
もしくはデータベースを直接いじれるのであれば、wp_optionsテーブルにoption_name が wp_user_roles に権限関係の情報がシリアライズされた状態で保存されているので、がんばって書き換えてみてください。
私もUser Role Editiorを使った事がありますが、この辺が面倒だったので、以後権限周りは自作しています。
参考:http://gatespace.jp/2012/05/24/custom-post-type-and-user-role-fix/
あ、シリアライズされたデータは単に文字列を置換すれば良い訳ではないので、意味が分からないのであればやめた方が良いです。
私も以前から何とかならんのかと思っていて、ちょっとやってみました。以下のコードでうまくいっているような気がします。が、不測の事態が起こらないとも限りませんので、コピペの前に「ブロンズ会員」などでテストしてみてください。
■ functions.php
<?php
add_action('admin_init', 'update_role_name');
function update_role_name(){
global $wp_roles;
$gold = get_role('role_gold');
if (!empty($gold)) {
$wp_roles->roles['role_gold']['name'] = 'ゴールド会員';
$wp_roles->role_names['role_gold'] = 'ゴールド会員';
}
$silver = get_role('role_silver');
if (!empty($silver)) {
$wp_roles->roles['role_silver']['name'] = 'シルバー会員';
$wp_roles->role_names['role_silver'] = 'シルバー会員';
}
}
?>
参照
http://wordpress.stackexchange.com/questions/71290/programmatically-changing-role-information-editing-role-name-and-deleting
こんにちは、確認が遅くなりたいへん申し訳ありませんでした。
pluto1234さん
ご案内のとおりに設定し、見事に日本化できております!
テストしたのち、本番の追加ロールをすべて日本語化しました。
ありがとうございました。
nobitaさん
gatespaceさん
参考コードやリンクをありがとうございます。
勉強になります。ご回答をどうもありがとうございました。
皆様今後ともよろしくお願いいたします。