{"id":145119,"date":"2013-07-16T08:05:02","date_gmt":"2013-07-16T08:05:02","guid":{"rendered":"http:\/\/wpml.org\/?p=145119"},"modified":"2016-01-21T15:37:34","modified_gmt":"2016-01-21T15:37:34","slug":"wpml-3-0-multilingual-roles-and-capabilities","status":"publish","type":"post","link":"https:\/\/wpml.org\/he\/announcements\/2013\/07\/wpml-3-0-multilingual-roles-and-capabilities\/","title":{"rendered":"Coming in WPML 3.0 &#8211; Multilingual Roles and Capabilities"},"content":{"rendered":"<p><strong>When we wrote about better roles and capabilities for translation, we got great feedback from you. Here is what we came up with. Of course, we want to know that it's good for you.<\/strong><\/p>\n<p>We want to allow specific users to edit and write in their languages. This way, you can create 'reviewer' or 'language manager' users who can edit everything, but only in their language. Today, it's a little difficult to do it. You'll need to make that user an editor in all languages.<\/p>\n<h2>1. Add Roles per Languages<\/h2>\n<p>This will start with the Translation Management screen, under the Translators tab. You'll have a new column letting you choose elevated roles for the languages this translator works in.<\/p>\n<figure id=\"attachment_145133\" aria-describedby=\"caption-attachment-145133\" style=\"width: 600px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"size-full wp-image-145133\" alt=\"Translators admin screen\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/wpml-translators-600.jpg\" width=\"600\" height=\"304\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/wpml-translators-600.jpg 600w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/wpml-translators-600-150x76.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/wpml-translators-600-300x152.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-145133\" class=\"wp-caption-text\">Translators admin screen<\/figcaption><\/figure>\n<p>The idea is, you can create a 'subscriber' user as translator. Then, make it 'editor' in the languages he\/she translates in. In languages that you select, the translator will have the roles that you assign. You'll be able to use standard WordPress roles (like author and editor) or your custom roles with custom capabilities.<\/p>\n<h2>2. The WordPress Admin Adapts to the Content Language<\/h2>\n<p>When translators go to the WordPress admin, they will see menus according to the language in which we're showing content. When looking at Spanish content (not necessarily using Spanish localization for the GUI), the translator would get the role that you selected for him\/her for Spanish.<\/p>\n<p>If you created a 'subscriber' user, that translator will not see any content editing for the default language (let's say English). But, when switching to a language that they can translate to, they will see all the WordPress editing menus.<\/p>\n<figure id=\"attachment_145139\" aria-describedby=\"caption-attachment-145139\" style=\"width: 600px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"size-full wp-image-145139\" alt=\"Example - no privileges in English\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-in-english.jpg\" width=\"600\" height=\"312\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-in-english.jpg 600w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-in-english-150x78.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-in-english-300x156.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-145139\" class=\"wp-caption-text\">Example &#8211; no privileges in English<\/figcaption><\/figure>\n<figure id=\"attachment_145141\" aria-describedby=\"caption-attachment-145141\" style=\"width: 600px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"size-full wp-image-145141\" alt=\"Editor privileges in Spanish\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-with-content-in-spanish.jpg\" width=\"600\" height=\"310\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-with-content-in-spanish.jpg 600w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-with-content-in-spanish-150x77.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/admin-with-content-in-spanish-300x155.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-145141\" class=\"wp-caption-text\">Editor privileges in Spanish<\/figcaption><\/figure>\n<p>When the translator changes the content language, using the language menu at the top of the screen, the role changes to that language. You can give different roles to different languages. Each role comes with its capabilities.<\/p>\n<h2>3. Create Custom Roles and Assign Capabilities<\/h2>\n<p>This step is optional. If you're happy using the standard WordPress roles and capabilities, you're all set. You can assign different roles to different languages and allow your translators to work as language reviewers.<\/p>\n<p>However, if you want to go further and craft unique roles and capabilities for reviews and translators, we have a solution for you.<\/p>\n<p>You can use our <a href=\"https:\/\/toolset.com\/home\/types-access\/\">Access<\/a> plugin lets you create custom roles and control the capabilities that these, as well standard roles, have.<\/p>\n<figure id=\"attachment_145148\" aria-describedby=\"caption-attachment-145148\" style=\"width: 600px\" class=\"wp-caption alignnone\"><img decoding=\"async\" class=\"size-full wp-image-145148\" alt=\"Access plugin\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/access-plugin-management.jpg\" width=\"600\" height=\"343\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/access-plugin-management.jpg 600w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/access-plugin-management-150x85.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2013\/07\/access-plugin-management-300x171.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-145148\" class=\"wp-caption-text\">Access plugin<\/figcaption><\/figure>\n<p>Access will work with this new scheme without any change. As it creates roles and control capabilities in the standard WordPress way, it will work with WPML too. Any plugin (or your PHP code) that adds roles and modifies capabilities will play fine with this.<\/p>\n<p><strong>What do you think? Will this help you manage translations easier with WPML? Anything else you had in mind?<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When we wrote about better roles and capabilities for translation, we got great feedback from you. Here is what we came up with. Of course, we want to know that it's good for you. We want to allow specific users to edit and write in their languages. This way, you can create 'reviewer' or 'language [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"ep_exclude_from_search":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-145119","post","type-post","status-publish","format-standard","hentry","category-announcements"],"_links":{"self":[{"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/posts\/145119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/comments?post=145119"}],"version-history":[{"count":4,"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/posts\/145119\/revisions"}],"predecessor-version":[{"id":145153,"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/posts\/145119\/revisions\/145153"}],"wp:attachment":[{"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/media?parent=145119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/categories?post=145119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpml.org\/he\/wp-json\/wp\/v2\/tags?post=145119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}