diff --git a/docs-core/src/main/resources/messages_fr.properties b/docs-core/src/main/resources/messages_fr.properties
index 1262dd0b..e80dd012 100644
--- a/docs-core/src/main/resources/messages_fr.properties
+++ b/docs-core/src/main/resources/messages_fr.properties
@@ -1,6 +1,10 @@
-email.template.password_recovery.subject=Rinitialiser votre mot de passe
+email.template.password_recovery.subject=R\u00E9initialiser votre mot de passe
email.template.password_recovery.hello=Bonjour {0}.
-email.template.password_recovery.instruction1=Nous avons reu une demande de rinitialisation de mot de passe.
Si vous n'avez rien demand, vous pouvez ignorer cet mail.
-email.template.password_recovery.instruction2=Pour rinitialiser votre mot de passe, cliquez sur le lien ci-dessous :
-email.template.password_recovery.click_here=Cliquez ici pour rinitialiser votre mot de passe.
-email.no_html.error=Votre client mail ne supporte pas les messages au format HTML
\ No newline at end of file
+email.template.password_recovery.instruction1=Nous avons re\u00E7u une demande de r\u00E9initialisation de mot de passe.
Si vous n'avez rien demand\u00E9, vous pouvez ignorer cet mail.
+email.template.password_recovery.instruction2=Pour r\u00E9initialiser votre mot de passe, cliquez sur le lien ci-dessous :
+email.template.password_recovery.click_here=Cliquez ici pour r\u00E9initialiser votre mot de passe.
+email.template.route_step_validate.subject=Un document n\u00E9cessite votre attention
+email.template.route_step_validate.hello=Bonjour {0}.
+email.template.route_step_validate.instruction1=Une \u00E9tape de workflow vous a \u00E9t\u00E9 attribu\u00E9e et n\u00E9cessite votre attention.
+email.template.route_step_validate.instruction2=Pour voir le document et valider le workflow, veuillez visiter le lien ci-dessous :
+email.no_html.error=Votre client mail ne supporte pas les messages HTML
diff --git a/docs-core/src/main/resources/messages_ru.properties b/docs-core/src/main/resources/messages_ru.properties
index a0b7b299..1b55e9a3 100644
--- a/docs-core/src/main/resources/messages_ru.properties
+++ b/docs-core/src/main/resources/messages_ru.properties
@@ -1,6 +1,10 @@
-email.template.password_recovery.hello=\u041F\u0440\u0438\u0432\u0435\u0442 {0}.
-email.no_html.error=\u0412\u0430\u0448 \u043F\u043E\u0447\u0442\u043E\u0432\u044B\u0439 \u043A\u043B\u0438\u0435\u043D\u0442 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 HTML-\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F
email.template.password_recovery.subject=\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u0431\u0440\u043E\u0441\u044C\u0442\u0435 \u0441\u0432\u043E\u0439 \u043F\u0430\u0440\u043E\u043B\u044C
-email.template.password_recovery.instruction2=\u0427\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C, \u043F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u043D\u0438\u0436\u0435:
+email.template.password_recovery.hello=\u041F\u0440\u0438\u0432\u0435\u0442 {0}.
email.template.password_recovery.instruction1=\u041C\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u043B\u0438 \u0437\u0430\u043F\u0440\u043E\u0441 \u043D\u0430 \u0441\u0431\u0440\u043E\u0441 \u043F\u0430\u0440\u043E\u043B\u044F.
\u0415\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u043E\u0431\u0440\u0430\u0449\u0430\u043B\u0438\u0441\u044C \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C\u044E, \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u044D\u0442\u043E \u043F\u0438\u0441\u044C\u043C\u043E.
+email.template.password_recovery.instruction2=\u0427\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C, \u043F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u043D\u0438\u0436\u0435:
email.template.password_recovery.click_here=\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C.
+email.template.route_step_validate.subject=\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u043D\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044F \u0432 \u0432\u0430\u0448\u0435\u043C \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0438
+email.template.route_step_validate.hello=\u041F\u0440\u0438\u0432\u0435\u0442 {0}.
+email.template.route_step_validate.instruction1=\u0412\u0430\u043C \u0431\u044B\u043B \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D \u0448\u0430\u0433 \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430 \u0438 \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u043E \u0432\u0430\u0448\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435.
+email.template.route_step_validate.instruction2=\u0427\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u043F\u0440\u043E\u0446\u0435\u0441\u0441, \u043F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u043D\u0438\u0436\u0435:
+email.no_html.error=\u0412\u0430\u0448 \u043F\u043E\u0447\u0442\u043E\u0432\u044B\u0439 \u043A\u043B\u0438\u0435\u043D\u0442 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 HTML-\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F
diff --git a/docs-core/src/main/resources/messages_zh_CN.properties b/docs-core/src/main/resources/messages_zh_CN.properties
index 575fcc9e..a0627b0d 100644
--- a/docs-core/src/main/resources/messages_zh_CN.properties
+++ b/docs-core/src/main/resources/messages_zh_CN.properties
@@ -1,6 +1,10 @@
-email.template.password_recovery.hello=\u60A8\u597D {0}.
-email.no_html.error=\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5BA2\u6237\u7AEF\u4E0D\u652F\u6301HTML\u683C\u5F0F\u90AE\u4EF6
email.template.password_recovery.subject=\u8BF7\u91CD\u7F6E\u60A8\u7684\u5BC6\u7801
-email.template.password_recovery.instruction2=\u8981\u91CD\u7F6E\u60A8\u7684\u5BC6\u7801\uFF0C\u8BF7\u8BBF\u95EE\u4EE5\u4E0B\u94FE\u63A5\uFF1A
+email.template.password_recovery.hello=\u60A8\u597D {0}.
email.template.password_recovery.instruction1=\u6211\u4EEC\u6536\u5230\u4E86\u4E00\u4E2A\u91CD\u7F6E\u60A8\u7684\u5BC6\u7801\u7684\u8BF7\u6C42\u3002
\u5982\u679C\u60A8\u6CA1\u6709\u53D1\u9001\u8BE5\u8BF7\u6C42\uFF0C\u8BF7\u5FFD\u7565\u6B64\u7535\u5B50\u90AE\u4EF6
+email.template.password_recovery.instruction2=\u8981\u91CD\u7F6E\u60A8\u7684\u5BC6\u7801\uFF0C\u8BF7\u8BBF\u95EE\u4EE5\u4E0B\u94FE\u63A5\uFF1A
email.template.password_recovery.click_here=\u8BF7\u70B9\u51FB\u6B64\u5904\u91CD\u7F6E\u60A8\u7684\u5BC6\u7801
+email.template.route_step_validate.subject=\u4E00\u4EFD\u6587\u4EF6\u9700\u8981\u4F60\u7684\u5173\u6CE8
+email.template.route_step_validate.hello={0}\uFF0C\u60A8\u597D.
+email.template.route_step_validate.instruction1=\u5DE5\u4F5C\u6D41\u6B65\u9AA4\u5DF2\u7ECF\u5206\u914D\u7ED9\u60A8\uFF0C\u9700\u8981\u60A8\u7684\u5173\u6CE8\u3002
+email.template.route_step_validate.instruction2=\u8981\u67E5\u770B\u6587\u6863\u5E76\u9A8C\u8BC1\u5DE5\u4F5C\u6D41\u7A0B\uFF0C\u8BF7\u8BBF\u95EE\u4EE5\u4E0B\u94FE\u63A5\uFF1A
+email.no_html.error=\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5BA2\u6237\u7AEF\u4E0D\u652F\u6301HTML\u683C\u5F0F\u90AE\u4EF6
diff --git a/docs-core/src/main/resources/messages_zh_TW.properties b/docs-core/src/main/resources/messages_zh_TW.properties
index 8d6a995a..da961212 100644
--- a/docs-core/src/main/resources/messages_zh_TW.properties
+++ b/docs-core/src/main/resources/messages_zh_TW.properties
@@ -1,6 +1,10 @@
-email.template.password_recovery.hello=\u60A8\u597D{0}\uFF01
-email.no_html.error=\u60A8\u7684\u96FB\u5B50\u90F5\u4EF6\u5BA2\u6236\u7AEF\u4E0D\u652F\u6301HTML\u683C\u5F0F\u90F5\u4EF6
email.template.password_recovery.subject=\u8ACB\u91CD\u65B0\u8A2D\u7F6E\u60A8\u7684\u5BC6\u78BC
-email.template.password_recovery.instruction2=\u8981\u91CD\u7F6E\u60A8\u7684\u5BC6\u78BC\uFF0C\u8ACB\u8A2A\u554F\u4EE5\u4E0B\u93C8\u63A5\uFF1A
+email.template.password_recovery.hello=\u60A8\u597D{0}\uFF01
email.template.password_recovery.instruction1=\u6211\u5011\u6536\u5230\u4E86\u91CD\u7F6E\u5BC6\u78BC\u7684\u8ACB\u6C42\u3002
\u5982\u679C\u60A8\u6C92\u6709\u8ACB\u6C42\u5E6B\u52A9\uFF0C\u8ACB\u5FFD\u7565\u6B64\u96FB\u5B50\u90F5\u4EF6\u3002
+email.template.password_recovery.instruction2=\u8981\u91CD\u7F6E\u60A8\u7684\u5BC6\u78BC\uFF0C\u8ACB\u8A2A\u554F\u4EE5\u4E0B\u93C8\u63A5\uFF1A
email.template.password_recovery.click_here=\u9EDE\u64CA\u9019\u88E1\u91CD\u7F6E\u60A8\u7684\u5BC6\u78BC
+email.template.route_step_validate.subject=\u4E00\u4EFD\u6587\u4EF6\u9700\u8981\u4F60\u7684\u95DC\u6CE8
+email.template.route_step_validate.hello={0}\uFF0C\u60A8\u597D.
+email.template.route_step_validate.instruction1=\u5DE5\u4F5C\u6D41\u6B65\u9A5F\u5DF2\u7D93\u5206\u914D\u7D66\u60A8\uFF0C\u9700\u8981\u60A8\u7684\u95DC\u6CE8\u3002
+email.template.route_step_validate.instruction2=\u8981\u67E5\u770B\u6587\u6A94\u4E26\u9A57\u8B49\u5DE5\u4F5C\u6D41\u7A0B\uFF0C\u8ACB\u8A2A\u554F\u4EE5\u4E0B\u93C8\u63A5\uFF1A
+email.no_html.error=\u60A8\u7684\u96FB\u5B50\u90F5\u4EF6\u5BA2\u6236\u7AEF\u4E0D\u652F\u6301HTML\u683C\u5F0F\u90F5\u4EF6
diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/RouteResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/RouteResource.java
index ed4e640d..7ab10c7d 100644
--- a/docs-web/src/main/java/com/sismics/docs/rest/resource/RouteResource.java
+++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/RouteResource.java
@@ -114,8 +114,10 @@ public class RouteResource extends BaseResource {
RoutingUtil.updateAcl(documentId, routeStepDto, null, principal.getId());
RoutingUtil.sendRouteStepEmail(documentId, routeStepDto);
+ JsonObjectBuilder step = routeStepDto.toJson();
+ step.add("transitionable", getTargetIdList(null).contains(routeStepDto.getTargetId()));
JsonObjectBuilder response = Json.createObjectBuilder()
- .add("route_step", routeStepDto.toJson());
+ .add("route_step", step);
return Response.ok().entity(response.build()).build();
}
diff --git a/docs-web/src/main/webapp/src/locale/fr.json b/docs-web/src/main/webapp/src/locale/fr.json
index 9d93d6e7..f2504ba3 100644
--- a/docs-web/src/main/webapp/src/locale/fr.json
+++ b/docs-web/src/main/webapp/src/locale/fr.json
@@ -92,6 +92,10 @@
"no_comments": "Aucun commentaire sur ce document",
"add_comment": "Ajouter un commentaire",
"error_loading_comments": "Erreur au chargement des commentaires",
+ "workflow_current": "Étape de workflow en cours",
+ "workflow_comment": "Ajouter un commentaire de workflow",
+ "workflow_validated_title": "Étape de workflow validée",
+ "workflow_validated_message": "L'étape de workflow a été validée avec succès.",
"content": {
"content": "Contenu",
"delete_file_title": "Supprimer un fichier",
@@ -103,6 +107,17 @@
"drop_zone": "Glisser & déposer des fichiers ici pour les envoyer",
"add_files": "Ajouter des fichiers"
},
+ "workflow": {
+ "workflow": "Workflow",
+ "message": "Vérifiez ou validez vos documents avec les personnes de votre organisation en utilisant les workflows.",
+ "workflow_start_label": "Quel workflow démarrer ?",
+ "add_more_workflow": "Ajouter plus de workflows",
+ "start_workflow_submit": "Démarrer le workflow",
+ "full_name": "{{ name }} a démarré le {{ create_date | date }}",
+ "cancel_workflow": "Annuler le workflow en cours",
+ "cancel_workflow_title": "Annuler le workflow",
+ "cancel_workflow_message": "Voulez-vous vraiment annuler le workflow en cours ?"
+ },
"permissions": {
"permissions": "Permissions",
"message": "Les permissions peuvent être appliquées directement sur ce document, ou provenir de tags.",
@@ -224,6 +239,7 @@
"menu_two_factor_auth": "Authentification en deux étapes",
"menu_opened_sessions": "Sessions ouvertes",
"menu_general_settings": "Paramètres généraux",
+ "menu_workflow": "Workflow",
"menu_users": "Utilisateurs",
"menu_groups": "Groupes",
"menu_vocabularies": "Vocabulaires",
@@ -238,6 +254,8 @@
"edit": {
"delete_user_title": "Supprimer un utilisateur",
"delete_user_message": "Etes-vous sûr de vouloir supprimer cet utilisateur ? Tous les documents, fichiers et tags associés seront supprimés",
+ "edit_user_failed_title": "Cet utilisateur existe déjà",
+ "edit_user_failed_message": "Ce nom d'utilisateur est déjà pris par un autre utilisateur",
"edit_user_title": "Modifier \"{{ username }}\"",
"add_user_title": "Ajouter un utilisateur",
"username": "Nom d'utilisateur",
@@ -247,7 +265,31 @@
"storage_quota_placeholder": "Quota de stockage (en Mo)",
"password": "Mot de passe",
"password_confirm": "Mot de passe (confirmation)",
- "disabled": "Utilisateur désactivé"
+ "disabled": "Utilisateur désactivé",
+ "password_reset_btn": "Envoyer un email de réinitialisation de mot de passe à cet utilisateur",
+ "password_lost_sent_title": "Email de réinitialisation de mot de passe envoyé",
+ "password_lost_sent_message": "Un email de réinitalisation de mot de passe a été envoyé à {{ username }}"
+ }
+ },
+ "workflow": {
+ "title": "Configuration des workflows",
+ "add_workflow": "Ajouter un workflow",
+ "name": "Nom",
+ "create_date": "Date de création",
+ "edit": {
+ "delete_workflow_title": "Supprimer le workflow",
+ "delete_workflow_message": "Voulez-vous vraiment supprimer ce workflow ? Les workflows en cours d'exécution ne seront pas supprimés",
+ "edit_workflow_title": "Modifier \"{{ name }}\"",
+ "add_workflow_title": "Ajouter un workflow",
+ "name": "Nom",
+ "name_placeholder": "Nom de l'étape ou description",
+ "drag_help": "Glisser et déplacer pour réordonner les étapes",
+ "type": "Type d'étape",
+ "type_approve": "Approbation",
+ "type_validate": "Validation",
+ "target": "Assigné à",
+ "target_help": "Approbation : Examiner et poursuivre le workflow
Validation : Accepter ou rejeter l'étape de workflow",
+ "add_step": "Ajouter une étape de workflow"
}
},
"security": {
@@ -276,6 +318,8 @@
"edit": {
"delete_group_title": "Supprimer un groupe",
"delete_group_message": "Etes-vous sûr de vouloir supprimer ce groupe ?",
+ "edit_group_failed_title": "Ce groupe existe déjà",
+ "edit_group_failed_message": "Ce nom de groupe est déjà pris par un autre groupe",
"edit_group_title": "Modifier \"{{ name }}\"",
"add_group_title": "Ajouter un groupe",
"name": "Nom",
@@ -370,7 +414,8 @@
"File": "Fichier",
"Group": "Groupe",
"Tag": "Tag",
- "User": "Utilisateur"
+ "User": "Utilisateur",
+ "RouteModel": "Workflow"
},
"selectrelation": {
"typeahead": "Entrez un titre de document"
@@ -398,6 +443,15 @@
"GROUP": "Groupe",
"SHARE": "Partage"
},
+ "workflow_type": {
+ "VALIDATE": "Validation",
+ "APPROVE": "Approbation"
+ },
+ "workflow_transition": {
+ "APPROVED": "Approuvé",
+ "REJECTED": "Refusé",
+ "VALIDATED": "Validé"
+ },
"validation": {
"required": "Requis",
"too_short": "Trop court",
diff --git a/docs-web/src/main/webapp/src/locale/ru.json b/docs-web/src/main/webapp/src/locale/ru.json
index 3a26e0ad..781c890f 100644
--- a/docs-web/src/main/webapp/src/locale/ru.json
+++ b/docs-web/src/main/webapp/src/locale/ru.json
@@ -92,6 +92,10 @@
"no_comments": "Пока комментариев нет.",
"add_comment": "Добавить комментарий",
"error_loading_comments": "Ошибка при загрузке комментариев",
+ "workflow_current": "Текущий рабочий процесс",
+ "workflow_comment": "Добавить комментарий рабочего процесса",
+ "workflow_validated_title": "Шаблон рабочего процесса проверен",
+ "workflow_validated_message": "Шаг рабочего процесса был успешно проверен.",
"content": {
"content": "Содержание",
"delete_file_title": "Удалить файл",
@@ -103,6 +107,17 @@
"drop_zone": "Перетащите файлы сюда, чтобы загрузить",
"add_files": "Добавить файлы"
},
+ "workflow": {
+ "workflow": "Workflow",
+ "message": "Проверяйте или проверяйте свои документы с людьми вашей организации с помощью рабочих процессов.",
+ "workflow_start_label": "Какой рабочий процесс нужно запустить?",
+ "add_more_workflow": "Добавить больше рабочих процессов",
+ "start_workflow_submit": "Начать рабочий процесс",
+ "full_name": "{{name}} запущен на {{create_date | date }}",
+ "cancel_workflow": "Отмена текущего рабочего процесса",
+ "cancel_workflow_title": "Отменить рабочий процесс",
+ "cancel_workflow_message": "Вы действительно хотите отменить текущий рабочий процесс?"
+ },
"permissions": {
"permissions": "Права доступа",
"message": "Разрешения могут быть применены непосредственно к этому документу или могут быть получены из тегов.",
@@ -224,6 +239,7 @@
"menu_two_factor_auth": "Двухфакторная аутентификация",
"menu_opened_sessions": "Открытые сессии",
"menu_general_settings": "Общие настройки",
+ "menu_workflow": "Workflow",
"menu_users": "Пользователи",
"menu_groups": "Группы",
"menu_vocabularies": "Словари",
@@ -249,7 +265,31 @@
"storage_quota_placeholder": "Квота хранения (в MB)",
"password": "Пароль",
"password_confirm": "Подтвердить пароль",
- "disabled": "Отключенный пользователь"
+ "disabled": "Отключенный пользователь",
+ "password_reset_btn": "Отправить сообщение для сброса пароля для этого пользователя",
+ "password_lost_sent_title": "Сброс пароля",
+ "password_lost_sent_message": "Сообщение сброса пароля было отправлено на адрес {{username}} для сброса пароля"
+ }
+ },
+ "workflow": {
+ "title": "Конфигурация рабочего процесса",
+ "add_workflow": "Добавить рабочий процесс",
+ "name": "имя",
+ "create_date": "Создать дату",
+ "edit": {
+ "delete_workflow_title": "Удалить рабочий процесс",
+ "delete_workflow_message": "Вы действительно хотите удалить этот рабочий процесс? Текущие запущенные рабочие процессы не будут удалены.",
+ "edit_workflow_title": " Изменить \"{{name}}\"",
+ "add_workflow_title": " Добавьте рабочий процесс ",
+ "name": "имя",
+ "name_placeholder": "Имя шага или описание",
+ "drag_help": "Перетащите, чтобы изменить порядок шагов",
+ "type": "Тип шага",
+ "type_approve": "Одобрить",
+ "type_validate": "утверждать",
+ "target": "Назначено",
+ "target_help": " Утвердить: Обзор и продолжение рабочего процесса
Подтвердить: Принять или отклонить обзор",
+ "add_step": "Добавить шаг рабочего процесса"
}
},
"security": {
@@ -374,7 +414,8 @@
"File": "Файл",
"Group": "Группа",
"Tag": "Тег",
- "User": "Пользователь"
+ "User": "Пользователь",
+ "RouteModel": "Workflow"
},
"selectrelation": {
"typeahead": "Введите название документа"
@@ -402,6 +443,15 @@
"GROUP": "Группа",
"SHARE": "Общий"
},
+ "workflow_type": {
+ "VALIDATE": "Проверка",
+ "APPROVE": "апробация"
+ },
+ "workflow_transition": {
+ "APPROVED": "утвержденный",
+ "REJECTED": "Отклонено",
+ "VALIDATED": "Утвержденный"
+ },
"validation": {
"required": "Необходимые",
"too_short": "Слишком коротко",
diff --git a/docs-web/src/main/webapp/src/locale/zh_CN.json b/docs-web/src/main/webapp/src/locale/zh_CN.json
index 540c1a6d..a4fbac57 100644
--- a/docs-web/src/main/webapp/src/locale/zh_CN.json
+++ b/docs-web/src/main/webapp/src/locale/zh_CN.json
@@ -92,6 +92,10 @@
"no_comments": "此文档暂无评论",
"add_comment": "添加评论",
"error_loading_comments": "评论加载失败",
+ "workflow_current": "当前工作流程步骤",
+ "workflow_comment": "添加工作流程评论",
+ "workflow_validated_title": "工作流程步骤已验证",
+ "workflow_validated_message": "工作流程步骤已成功验证。",
"content": {
"content": "内容",
"delete_file_title": "删除文档",
@@ -103,6 +107,17 @@
"drop_zone": "将文件拖放至此处上传",
"add_files": "添加文件"
},
+ "workflow": {
+ "workflow": "工作流程",
+ "message": "使用工作流程与您的组织的人员验证或验证您的文档。",
+ "workflow_start_label": "哪个工作流程启动?",
+ "add_more_workflow": "添加更多工作流程",
+ "start_workflow_submit": "开始工作流程",
+ "full_name": "{{ name }}开始于{{ create_date | date }}",
+ "cancel_workflow": "取消当前的工作流程",
+ "cancel_workflow_title": "取消工作流程",
+ "cancel_workflow_message": "你真的想取消当前的工作流程吗?"
+ },
"permissions": {
"permissions": "权限",
"message": "权限可以直接应用于此文档, 或从 标签获取.",
@@ -180,7 +195,7 @@
"message_2": "一个文档可以由多个标签标记, 同时一个标签可以运用于多个文档.",
"message_3": "使用该 按钮, 您可以编辑标签的权限.",
"message_4": "如果一个标签可以被另一个用户或组读取, 相关的文件也可以被这些人阅读.",
- "message_5": "例如, 用一个标签标记您公司的文档 我的公司 并同时添加权限 可读 给一个群组的 员工"
+ "message_5": "例如, 用一个标签标记您公司的文档 我的公司 并同时添加权限 可读 给一个群组的 成员"
},
"edit": {
"delete_tag_title": "删除标签",
@@ -224,6 +239,7 @@
"menu_two_factor_auth": "双重身份验证",
"menu_opened_sessions": "已打开会话",
"menu_general_settings": "一般设置",
+ "menu_workflow": "工作流程",
"menu_users": "用户",
"menu_groups": "群组",
"menu_vocabularies": "词条",
@@ -238,6 +254,8 @@
"edit": {
"delete_user_title": "删除用户",
"delete_user_message": "您是否确认删除该用户? 所有相关文档,文件和标签将被删除",
+ "edit_user_failed_title": "用户已存在",
+ "edit_user_failed_message": "该用户名已被占用",
"edit_user_title": "编辑 \"{{ username }}\"",
"add_user_title": "添加一个 用户",
"username": "用户名",
@@ -247,7 +265,31 @@
"storage_quota_placeholder": "存储限额 (in MB)",
"password": "密码",
"password_confirm": "密码 (确认)",
- "disabled": "禁用用户"
+ "disabled": "禁用用户",
+ "password_reset_btn": "给该用户发送密码重置电子邮件",
+ "password_lost_sent_title": "密码重置邮件已发送",
+ "password_lost_sent_message": "密码重置电子邮件已发送至 {{ username }}"
+ }
+ },
+ "workflow": {
+ "title": "工作流程配置",
+ "add_workflow": "添加工作流程",
+ "name": "名称",
+ "create_date": "创建日期",
+ "edit": {
+ "delete_workflow_title": "删除工作流程",
+ "delete_workflow_message": "你真的想删除这个工作流程吗?当前正在运行的工作流程不会被删除",
+ "edit_workflow_title": "编辑\"{{ name }}\"",
+ "add_workflow_title": "添加一个工作流程",
+ "name": "名称",
+ "name_placeholder": "步骤名称或说明",
+ "drag_help": "拖放以重新排序步骤",
+ "type": "步骤类型",
+ "type_approve": "批准",
+ "type_validate": "验证",
+ "target": "分配给",
+ "target_help": "批准:审核并继续工作流程验证:接受或拒绝审核",
+ "add_step": "添加工作流程步骤"
}
},
"security": {
@@ -276,6 +318,8 @@
"edit": {
"delete_group_title": "删除组",
"delete_group_message": "您是否确认删除该组?",
+ "edit_group_failed_title": "组已存在",
+ "edit_group_failed_message": "该组名已经被占用",
"edit_group_title": "编辑 \"{{ name }}\"",
"add_group_title": "添加一个组",
"name": "名称",
@@ -370,7 +414,8 @@
"File": "文件",
"Group": "组",
"Tag": "标签",
- "User": "用户"
+ "User": "用户",
+ "RouteModel": "工作流程"
},
"selectrelation": {
"typeahead": "请输入一个文档名称"
@@ -398,6 +443,15 @@
"GROUP": "组",
"SHARE": "已共享"
},
+ "workflow_type": {
+ "VALIDATE": "验证",
+ "APPROVE": "赞许"
+ },
+ "workflow_transition": {
+ "APPROVED": "批准",
+ "REJECTED": "拒绝",
+ "VALIDATED": "验证"
+ },
"validation": {
"required": "必填",
"too_short": "过短",
diff --git a/docs-web/src/main/webapp/src/locale/zh_TW.json b/docs-web/src/main/webapp/src/locale/zh_TW.json
index 6ea19799..cfc9f4d7 100644
--- a/docs-web/src/main/webapp/src/locale/zh_TW.json
+++ b/docs-web/src/main/webapp/src/locale/zh_TW.json
@@ -92,6 +92,10 @@
"no_comments": "此文檔暫無評論",
"add_comment": "添加評論",
"error_loading_comments": "評論加載失敗",
+ "workflow_current": "當前工作流程步驟",
+ "workflow_comment": "添加工作流程評論",
+ "workflow_validated_title": "工作流程步驟已驗證",
+ "workflow_validated_message": "工作流步驟已成功驗證。",
"content": {
"content": "內容",
"delete_file_title": "刪除文檔",
@@ -103,6 +107,17 @@
"drop_zone": "將文件拖放至此處上傳",
"add_files": "添加文件"
},
+ "workflow": {
+ "workflow": "工作流程",
+ "message": "使用工作流程與您的組織的人員驗證或驗證您的文檔。",
+ "workflow_start_label": "哪個工作流程啟動?",
+ "add_more_workflow": "添加更多工作流程",
+ "start_workflow_submit": "開始工作流程",
+ "full_name": "{{ name }}開始於{{ create_date | date }}",
+ "cancel_workflow": "取消當前的工作流程",
+ "cancel_workflow_title": "取消工作流程",
+ "cancel_workflow_message": "你真的想取消當前的工作流程嗎?"
+ },
"permissions": {
"permissions": "權限",
"message": "權限可以直接應用於此文檔, 或從 標籤獲取.",
@@ -224,6 +239,7 @@
"menu_two_factor_auth": "雙重身份驗證",
"menu_opened_sessions": "已打開會話",
"menu_general_settings": "一般設置",
+ "menu_workflow": "工作流程",
"menu_users": "用戶",
"menu_groups": "群組",
"menu_vocabularies": "詞條",
@@ -238,6 +254,8 @@
"edit": {
"delete_user_title": "刪除用戶",
"delete_user_message": "您是否確認刪除該用戶? 所有相關文檔,文件和標籤將被刪除",
+ "edit_user_failed_title": "用戶已經存在",
+ "edit_user_failed_message": "該用戶名已經被占用",
"edit_user_title": "編輯 \"{{ username }}\"",
"add_user_title": "添加一個 用戶",
"username": "用戶名",
@@ -247,7 +265,31 @@
"storage_quota_placeholder": "存儲限額 (單位MB)",
"password": "密碼",
"password_confirm": "密碼 (確認)",
- "disabled": "禁用用戶"
+ "disabled": "禁用用戶",
+ "password_reset_btn": "給該用戶發送密碼重置電子郵件",
+ "password_lost_sent_title": "密碼重置郵件已發送",
+ "password_lost_sent_message": "密碼重置電子郵件已發送至 {{ username }}"
+ }
+ },
+ "workflow": {
+ "title": "工作流程配置",
+ "add_workflow": "添加工作流程",
+ "name": "名稱",
+ "create_date": "創建日期",
+ "edit": {
+ "delete_workflow_title": "刪除工作流程",
+ "delete_workflow_message": "你真的想刪除這個工作流程嗎?當前正在運行的工作流程不會被刪除",
+ "edit_workflow_title": "編輯\"{{name}}\"",
+ "add_workflow_title": "添加一個工作流程",
+ "name": "名稱",
+ "name_placeholder": "步驟名稱或說明",
+ "drag_help": "拖放以重新排序步驟",
+ "type": "步驟類型",
+ "type_approve": "批准",
+ "type_validate": "驗證",
+ "target": "分配給",
+ "target_help": "批准:審核並繼續工作流程
驗證:接受或拒絕審核",
+ "add_step": "添加工作流程步驟"
}
},
"security": {
@@ -276,6 +318,8 @@
"edit": {
"delete_group_title": "刪除組",
"delete_group_message": "您是否確認刪除該組?",
+ "edit_group_failed_title": "組已經存在",
+ "edit_group_failed_message": "這個組名已經被占用",
"edit_group_title": "編輯 \"{{ name }}\"",
"add_group_title": "添加 組",
"name": "名稱",
@@ -370,7 +414,8 @@
"File": "文件",
"Group": "組",
"Tag": "標籤",
- "User": "用戶"
+ "User": "用戶",
+ "RouteModel": "工作流程"
},
"selectrelation": {
"typeahead": "請輸入文檔名稱"
@@ -398,6 +443,15 @@
"GROUP": "組",
"SHARE": "已共享"
},
+ "workflow_type": {
+ "VALIDATE": "驗證",
+ "APPROVE": "讚許"
+ },
+ "workflow_transition": {
+ "APPROVED": "批准",
+ "REJECTED": "拒絕",
+ "VALIDATED": "驗證"
+ },
"validation": {
"required": "必填",
"too_short": "過短",