我开发了一个小插件,可以添加(或者更准确地说:先删除,然后再添加)一些自定义用户角色。每个角色的设置方式如下:
function wpdev_141551_add_role_someone() {
$role = \'someone\';
remove_role( $role );
$capabilities = array(
\'read\' => TRUE,
\'publish_posts\' => TRUE,
\'edit_posts\' => TRUE,
\'delete_posts\' => FALSE,
// ...
);
add_role( $role, \'Someone\', $capabilities );
}
现在的问题是,这些自定义用户角色根本无法转换。默认用户角色(作者、贡献者等)的翻译包含在WordPress的默认文本域中。那么,我应该如何/在哪里介入并翻译这些自定义角色名称呢?
如果我添加了一个名为gettext的角色__( \'Someone\', \'plugin-text-domain\' )
然后,写入数据库的字符串将根据当前语言进行翻译。然而,我希望有一个解决方案,让我可以根据需要切换语言,并相应地显示角色—without 必须取消激活插件,然后重新激活插件(即,再次删除并添加角色)。
我将发布我当前的解决方案,但我仍然very interested in any other (可能效率更高)approach.