From: Jean-Philippe Lang Date: Tue, 11 Sep 2007 17:12:34 +0000 (+0000) Subject: Notifications about issues (add/edit) are now sent in plain text and html. X-Git-Tag: 0.6.0~159 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=74ed14f8a2fb93fc940b68ca76737686d1054d9b;p=redmine.git Notifications about issues (add/edit) are now sent in plain text and html. Removed lang specific strings in the corresponding mail templates, so that there is only one template for all languages. git-svn-id: http://redmine.rubyforge.org/svn/trunk@723 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 5679ca284..b3ed16fc2 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -16,6 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class Mailer < ActionMailer::Base + helper ApplicationHelper helper IssuesHelper def account_information(user, password) diff --git a/app/views/mailer/_issue.rhtml b/app/views/mailer/_issue.rhtml deleted file mode 100644 index bd438f289..000000000 --- a/app/views/mailer/_issue.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -<%=l(:label_issue)%> #<%= issue.id %> - <%= issue.subject %> -<%=l(:field_author)%>: <%= issue.author.name %> -<%=l(:field_assigned_to)%>: <%= issue.assigned_to ? issue.assigned_to.name : "-" %> -<%=l(:field_status)%>: <%= issue.status.name %> - -<%= issue.description %> - -<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'issues', :action => 'show', :id => issue %> diff --git a/app/views/mailer/_issue_text_html.rhtml b/app/views/mailer/_issue_text_html.rhtml new file mode 100644 index 000000000..33527a145 --- /dev/null +++ b/app/views/mailer/_issue_text_html.rhtml @@ -0,0 +1,10 @@ +<%= link_to "#{issue.tracker.name} ##{issue.id}", :only_path => false, :host => Setting.host_name, :controller => 'issues', :action => 'show', :id => issue %>: +<%= issue.subject %> + + + +<%= textilizable(issue.description) %> diff --git a/app/views/mailer/_issue_text_plain.rhtml b/app/views/mailer/_issue_text_plain.rhtml new file mode 100644 index 000000000..6c23fcd14 --- /dev/null +++ b/app/views/mailer/_issue_text_plain.rhtml @@ -0,0 +1,8 @@ +<%= "#{issue.tracker.name} ##{issue.id}: #{issue.subject}" %> +<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'issues', :action => 'show', :id => issue %> + +<%=l(:field_author)%>: <%= issue.author.name %> +<%=l(:field_assigned_to)%>: <%= issue.assigned_to ? issue.assigned_to.name : "-" %> +<%=l(:field_status)%>: <%= issue.status.name %> + +<%= issue.description %> diff --git a/app/views/mailer/issue_add.rhtml b/app/views/mailer/issue_add.rhtml deleted file mode 100644 index 823de2cef..000000000 --- a/app/views/mailer/issue_add.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Issue #<%= @issue.id %> has been reported. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add.text.html.rhtml b/app/views/mailer/issue_add.text.html.rhtml new file mode 100644 index 000000000..a7ef8ece8 --- /dev/null +++ b/app/views/mailer/issue_add.text.html.rhtml @@ -0,0 +1,3 @@ +<%= l(:text_issue_added, "##{@issue.id}") %> +
+<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue } %> diff --git a/app/views/mailer/issue_add.text.plain.rhtml b/app/views/mailer/issue_add.text.plain.rhtml new file mode 100644 index 000000000..a9aa13b3d --- /dev/null +++ b/app/views/mailer/issue_add.text.plain.rhtml @@ -0,0 +1,3 @@ +<%= l(:text_issue_added, "##{@issue.id}") %> +---------------------------------------- +<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue } %> diff --git a/app/views/mailer/issue_add_bg.rhtml b/app/views/mailer/issue_add_bg.rhtml deleted file mode 100644 index b7f0ce741..000000000 --- a/app/views/mailer/issue_add_bg.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Публикувана е нова задача с номер #<%= @issue.id %>. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_de.rhtml b/app/views/mailer/issue_add_de.rhtml deleted file mode 100644 index ddbf37273..000000000 --- a/app/views/mailer/issue_add_de.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Ticket Nr. #<%= @issue.id %> wurde erstellt. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_fr.rhtml b/app/views/mailer/issue_add_fr.rhtml deleted file mode 100644 index 458188782..000000000 --- a/app/views/mailer/issue_add_fr.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Une nouvelle demande (#<%= @issue.id %>) a été soumise. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_it.rhtml b/app/views/mailer/issue_add_it.rhtml deleted file mode 100644 index 9846f4660..000000000 --- a/app/views/mailer/issue_add_it.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -E' stata segnalata l'anomalia #<%= @issue.id %>. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_ja.rhtml b/app/views/mailer/issue_add_ja.rhtml deleted file mode 100644 index 14d9258ab..000000000 --- a/app/views/mailer/issue_add_ja.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -問題 #<%= @issue.id %> が報告されました。 ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_nl.rhtml b/app/views/mailer/issue_add_nl.rhtml deleted file mode 100644 index 23ee2d563..000000000 --- a/app/views/mailer/issue_add_nl.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Issue #<%= @issue.id %> is gerapporteerd. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_pt-br.rhtml b/app/views/mailer/issue_add_pt-br.rhtml deleted file mode 100644 index 0a13facda..000000000 --- a/app/views/mailer/issue_add_pt-br.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Tarefa #<%= @issue.id %> foi incluída. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_pt.rhtml b/app/views/mailer/issue_add_pt.rhtml deleted file mode 100644 index 0a13facda..000000000 --- a/app/views/mailer/issue_add_pt.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Tarefa #<%= @issue.id %> foi incluída. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_sv.rhtml b/app/views/mailer/issue_add_sv.rhtml deleted file mode 100644 index c25cc9b6f..000000000 --- a/app/views/mailer/issue_add_sv.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -Brist #<%= @issue.id %> har rapporterats. ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_zh.rhtml b/app/views/mailer/issue_add_zh.rhtml deleted file mode 100644 index f3e8f96ce..000000000 --- a/app/views/mailer/issue_add_zh.rhtml +++ /dev/null @@ -1,3 +0,0 @@ -ÈÎÎñ #<%= @issue.id %> Òѱ¨¸æ ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit.rhtml b/app/views/mailer/issue_edit.rhtml deleted file mode 100644 index 7a9ca1634..000000000 --- a/app/views/mailer/issue_edit.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -Issue #<%= @issue.id %> has been updated. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit.text.html.rhtml b/app/views/mailer/issue_edit.text.html.rhtml new file mode 100644 index 000000000..59c767c9f --- /dev/null +++ b/app/views/mailer/issue_edit.text.html.rhtml @@ -0,0 +1,10 @@ +<%= l(:text_issue_updated, "##{@issue.id}") %>
+<%= @journal.user.name %> + +<%= textilizable(@journal.notes) %> +
+<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue } %> diff --git a/app/views/mailer/issue_edit.text.plain.rhtml b/app/views/mailer/issue_edit.text.plain.rhtml new file mode 100644 index 000000000..4431d46d5 --- /dev/null +++ b/app/views/mailer/issue_edit.text.plain.rhtml @@ -0,0 +1,8 @@ +<%= l(:text_issue_updated, "##{@issue.id}") %> +<%= @journal.user.name %> +<% for detail in @journal.details %> +<%= show_detail(detail, true) %> +<% end %> +<%= @journal.notes if @journal.notes? %> +---------------------------------------- +<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue } %> diff --git a/app/views/mailer/issue_edit_bg.rhtml b/app/views/mailer/issue_edit_bg.rhtml deleted file mode 100644 index 5807c0e76..000000000 --- a/app/views/mailer/issue_edit_bg.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -Задача #<%= @issue.id %> е обновена. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_de.rhtml b/app/views/mailer/issue_edit_de.rhtml deleted file mode 100644 index d1f418c3d..000000000 --- a/app/views/mailer/issue_edit_de.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -Ticket #<%= @issue.id %> wurde aktualisiert. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_fr.rhtml b/app/views/mailer/issue_edit_fr.rhtml deleted file mode 100644 index ecea9e274..000000000 --- a/app/views/mailer/issue_edit_fr.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -La demande #<%= @issue.id %> a été mise à jour. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_it.rhtml b/app/views/mailer/issue_edit_it.rhtml deleted file mode 100644 index 4d2abb731..000000000 --- a/app/views/mailer/issue_edit_it.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -L'anomalia #<%= @issue.id %> e' stata aggiornata. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_ja.rhtml b/app/views/mailer/issue_edit_ja.rhtml deleted file mode 100644 index d3b1b520b..000000000 --- a/app/views/mailer/issue_edit_ja.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -問題 #<%= @issue.id %> が更新されました。 -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_nl.rhtml b/app/views/mailer/issue_edit_nl.rhtml deleted file mode 100644 index 668ec1ba1..000000000 --- a/app/views/mailer/issue_edit_nl.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -Issue #<%= @issue.id %> is gewijzigd. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_pt-br.rhtml b/app/views/mailer/issue_edit_pt-br.rhtml deleted file mode 100644 index 39108daac..000000000 --- a/app/views/mailer/issue_edit_pt-br.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -Tarefa #<%= @issue.id %> foi alterada. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_pt.rhtml b/app/views/mailer/issue_edit_pt.rhtml deleted file mode 100644 index 39108daac..000000000 --- a/app/views/mailer/issue_edit_pt.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -Tarefa #<%= @issue.id %> foi alterada. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_sv.rhtml b/app/views/mailer/issue_edit_sv.rhtml deleted file mode 100644 index a368dad40..000000000 --- a/app/views/mailer/issue_edit_sv.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -Brist #<%= @issue.id %> har uppdaterats. -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_zh.rhtml b/app/views/mailer/issue_edit_zh.rhtml deleted file mode 100644 index 1d543edd6..000000000 --- a/app/views/mailer/issue_edit_zh.rhtml +++ /dev/null @@ -1,8 +0,0 @@ -ÈÎÎñ #<%= @issue.id %> ÒѸüС£ -<%= @journal.user.name %> -<% for detail in @journal.details %> -<%= show_detail(detail, true) %> -<% end %> -<%= @journal.notes if @journal.notes? %> ----------------------------------------- -<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/lang/bg.yml b/lang/bg.yml index 57846c3de..d2c5d41fa 100644 --- a/lang/bg.yml +++ b/lang/bg.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: Няма дефиниран workflow за този т text_unallowed_characters: Непозволени символи text_comma_separated: Позволено е изброяване (с разделител запетая). text_issues_ref_in_commit_messages: Отбелязване и приключване на задачи от commit съобщения +text_issue_added: Публикувана е нова задача с номер %s. +text_issue_updated: Задача %s е обновена. default_role_manager: Мениджър default_role_developper: Разработчик diff --git a/lang/de.yml b/lang/de.yml index a367c0886..65d44b49b 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: No workflow defined for this tracker text_unallowed_characters: Unallowed characters text_comma_separated: Multiple values allowed (comma separated). text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages +text_issue_added: Ticket %s wurde erstellt. +text_issue_updated: Ticket %s wurde aktualisiert. default_role_manager: Manager default_role_developper: Developer diff --git a/lang/en.yml b/lang/en.yml index fd74c853a..30e81aa72 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: No workflow defined for this tracker text_unallowed_characters: Unallowed characters text_comma_separated: Multiple values allowed (comma separated). text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages +text_issue_added: Issue %s has been reported. +text_issue_updated: Issue %s has been updated. default_role_manager: Manager default_role_developper: Developer diff --git a/lang/es.yml b/lang/es.yml index 366dfa01c..36d98d204 100644 --- a/lang/es.yml +++ b/lang/es.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: No workflow defined for this tracker text_unallowed_characters: Unallowed characters text_comma_separated: Multiple values allowed (comma separated). text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages +text_issue_added: Issue %s has been reported. +text_issue_updated: Issue %s has been updated. default_role_manager: Manager default_role_developper: Desarrollador diff --git a/lang/fr.yml b/lang/fr.yml index b7ad0b0b4..cbdd4bf86 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: Aucun worflow n'est défini pour ce tracker text_unallowed_characters: Caractères non autorisés text_comma_separated: Plusieurs valeurs possibles (séparées par des virgules). text_issues_ref_in_commit_messages: Référencement et résolution des demandes dans les commentaires de commits +text_issue_added: La demande %s a été soumise. +text_issue_updated: La demande %s a été mise à jour. default_role_manager: Manager default_role_developper: Développeur diff --git a/lang/it.yml b/lang/it.yml index b30d2ab9c..31a5f59ab 100644 --- a/lang/it.yml +++ b/lang/it.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: Nessun workflow definito per questo tracker text_unallowed_characters: Unallowed characters text_comma_separated: Multiple values allowed (comma separated). text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages +text_issue_added: "E' stata segnalata l'anomalia %s." +text_issue_updated: "L'anomalia %s e' stata aggiornata." default_role_manager: Manager default_role_developper: Sviluppatore diff --git a/lang/ja.yml b/lang/ja.yml index a0d6c168b..bd7d3bc82 100644 --- a/lang/ja.yml +++ b/lang/ja.yml @@ -473,6 +473,8 @@ text_tracker_no_workflow: このトラッカーにワークフローが定義さ text_unallowed_characters: 使えない文字です text_comma_separated: (カンマで区切った)複数の値が使えます text_issues_ref_in_commit_messages: コミットメッセージ内で問題の参照/修正 +text_issue_added: 問題 %s が報告されました。 +text_issue_updated: 問題 %s が更新されました。 default_role_manager: 管理者 default_role_developper: 開発者 diff --git a/lang/nl.yml b/lang/nl.yml index ba9817bbd..39bd0b1dd 100644 --- a/lang/nl.yml +++ b/lang/nl.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: Geen workflow gedefinieerd voor deze tracker text_unallowed_characters: Niet toegestane tekens text_coma_separated: Meerdere waarden toegestaan (door komma's gescheiden). text_issues_ref_in_commit_messages: Opzoeken en aanpassen van issues in commit berichten +text_issue_added: Issue %s is gerapporteerd. +text_issue_updated: Issue %s is gewijzigd. default_role_manager: Manager default_role_developper: Ontwikkelaar diff --git a/lang/pt-br.yml b/lang/pt-br.yml index 15089070a..aa6841673 100644 --- a/lang/pt-br.yml +++ b/lang/pt-br.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: Sem workflow definido para este tipo. text_unallowed_characters: Unallowed characters text_comma_separated: Multiple values allowed (comma separated). text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages +text_issue_added: Tarefa %s foi incluída. +text_issue_updated: Tarefa %s foi alterada. default_role_manager: Analista de Negocio ou Gerente de Projeto default_role_developper: Desenvolvedor diff --git a/lang/pt.yml b/lang/pt.yml index d4b0e0cad..d4d24df85 100644 --- a/lang/pt.yml +++ b/lang/pt.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: Sem workflow definido para este tipo. text_unallowed_characters: Caracteres não permitidos text_comma_separated: Permitido múltiplos valores (separados por vírgula). text_issues_ref_in_commit_messages: Referenciando e arrumando tarefas nas mensagens de commit +text_issue_added: Tarefa %s foi incluída. +text_issue_updated: Tarefa %s foi alterada. default_role_manager: Analista de Negócio ou Gerente de Projeto default_role_developper: Desenvolvedor diff --git a/lang/sv.yml b/lang/sv.yml index 8e2c034dc..25ac78a50 100644 --- a/lang/sv.yml +++ b/lang/sv.yml @@ -472,6 +472,8 @@ text_tracker_no_workflow: Inget workflow definerat för denna tracker text_unallowed_characters: Unallowed characters text_comma_separated: Multiple values allowed (comma separated). text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages +text_issue_added: Brist %s har rapporterats. +text_issue_updated: Brist %s har uppdaterats. default_role_manager: Förvaltare default_role_developper: Utvecklare diff --git a/lang/zh.yml b/lang/zh.yml index e9f8cb7d9..fa01f7086 100644 --- a/lang/zh.yml +++ b/lang/zh.yml @@ -474,6 +474,8 @@ text_tracker_no_workflow: No workflow defined for this tracker text_unallowed_characters: Unallowed characters text_comma_separated: Multiple values allowed (comma separated). text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages +text_issue_added: %s ѱ +text_issue_updated: %s Ѹ default_role_manager: 管理员 default_role_developper: 开发人员