WPML

Плагин Toolset Access позволяет создавать редакторов для определенных языков и дает им возможность проверять и публиковать переводы определенных типов контента.

Обычно, если Вы хотите назначить пользователя редактором для определенного языка, ему требуются права как минимум уровня редактора WordPress. Toolset Access предоставляет функциональность для настройки правил доступа для определенных ролей пользователей или отдельных пользователей к определенным типам контента и языкам.

Для этого рабочего процесса требуется тип учетной записи Multilingual CMS или Multilingual Agency.

Предположим, мы создали переводимый произвольный тип записи Book, и включили английский в качестве языка по умолчанию, а немецкий — в качестве дополнительного языка.

Наша конечная цель — система, в которой один человек может создавать книги и отправлять задания на перевод, другой может отправлять переводы на проверку, а третий отвечает за редактирование и публикацию этих переводов. Права доступа для каждого пользователя проиллюстрированы в следующей таблице:

ПользовательРольПрава доступа
adminАдминистраторМожет управлять книгами, может управлять переводами книг на все языки, может управлять пользователями & переводчиками
german_editorПодписчикМожет редактировать и публиковать переводы книг только на немецком языке
german_translatorПодписчикМожет отправлять переводы книг в статусе черновика только на немецком языке

Для достижения нашей цели необходимо выполнить три основных шага. В этом руководстве мы:

Пользователи и роли

Первый шаг — создание пользователей сайта. Пользователь admin получит роль Администратор и права на создание и редактирование любых книг или переводов. Для редактора и переводчика рекомендуется назначить роль Подписчик, так как это гарантирует, что они получат только те права доступа, которые мы назначим им в следующих разделах.

Список пользователей
Список пользователей

Настройка переводчика

Предположим, что мы уже включили английский и немецкий языки для нашего сайта, при этом английский является языком по умолчанию.

Для начала важно указать в настройках WPML, что переводы будут отправляться как черновики. Для этого перейдите в WPMLНастройкиНастройки переведенных документов. Там отметьте Черновик в настройке Статус документа.

Настройка статуса документа как черновика в WPML
Настройка статуса документа как черновика в WPML

Следующий шаг — назначить пользователя german_translator переводчиком с английского на немецкий. Это можно сделать на вкладке Переводчики в WPMLНастройки.

Назначение пользователя переводчиком с английского на немецкий

Теперь german_translator может брать задания на перевод с немецкого на английский и отправлять их в статусе черновика.

Создание редактора для переводов

На этом этапе Вы можете использовать функциональность Toolset Access для создания группы прав доступа для пользователя german_editor. Эти права будут применяться к произвольному типу записи Book только для выбранных языков, в нашем случае — немецкого.

Чтобы активировать эти права, перейдите на страницу ToolsetAccess Control. На вкладке Post Types найдите тип записи Books. Разверните произвольный тип записи Books и включите параметр Managed by Access.

Включение Access для управления произвольным типом записи Book
Включение Access для управления произвольным типом записи Book

Теперь Вы можете перейти к созданию новой группы прав доступа. На вкладке WPML Groups нажмите кнопку для создания прав доступа для определенного языка.

После выбора соответствующего произвольного типа записи и языка Вы можете приступить к настройке прав доступа для определенного пользователя.

Создание новой группы прав доступа

Чтобы назначить пользователя редактором языка, щелкните значок внизу столбца для каждого типа прав доступа. Затем введите имя пользователя в текстовое поле диалогового окна. Access выполнит автозаполнение и позволит Вам выбрать пользователя.

Предоставление прав доступа редактору языка

Как показано в примере выше, german_editor может редактировать, удалять и публиковать любой перевод на немецком языке.

Пример процесса перевода

Теперь, когда у Вас есть необходимая функциональность, давайте посмотрим на систему в действии. В рамках этого примера рассмотрим сценарий, в котором admin создает новую книгу, отправляет задание пользователю german_translator для предоставления текста на немецком языке и поручает пользователю german_editor проверить этот перевод и опубликовать его.

Следующая таблица иллюстрирует шаги для этого сценария и описывает процесс его выполнения:

Администратор проверяет список книг на всех языках
Администратор проверяет список книг на всех языках

Автор:Amir