From bd603bf62396e79a4bdc90d95d044f64a059aecf Mon Sep 17 00:00:00 2001
From: gnaegi <none@none>
Date: Wed, 16 May 2018 17:29:55 +0200
Subject: [PATCH] OO-3475 use display user name provider instead of custom user
 display name handling

---
 .../ui/UserCommentDisplayController.java       | 18 +++++++++---------
 .../ui/UserCommentFormController.java          | 11 +++++++----
 .../ui/_i18n/LocalStrings_de.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_el.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_en.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_fr.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_it.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_jp.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_nl_NL.properties     |  6 +++---
 .../ui/_i18n/LocalStrings_pl.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_pt_BR.properties     |  4 ++--
 .../ui/_i18n/LocalStrings_ru.properties        |  6 +++---
 .../ui/_i18n/LocalStrings_zh_CN.properties     |  6 +++---
 .../ui/_i18n/LocalStrings_zh_TW.properties     |  6 +++---
 14 files changed, 51 insertions(+), 48 deletions(-)

diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentDisplayController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentDisplayController.java
index 7e80a20966c..32658b11d6d 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentDisplayController.java
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentDisplayController.java
@@ -44,10 +44,9 @@ import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory;
 import org.olat.core.gui.control.generic.title.TitleInfo;
 import org.olat.core.gui.control.generic.title.TitledWrapperController;
 import org.olat.core.id.OLATResourceable;
-import org.olat.core.id.User;
-import org.olat.core.id.UserConstants;
 import org.olat.core.util.Formatter;
-import org.olat.core.util.StringHelper;
+import org.olat.user.UserManager;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * Description:<br>
@@ -86,6 +85,9 @@ public class UserCommentDisplayController extends BasicController {
 	private OLATResourceable ores;
 	private final CommentAndRatingService commentAndRatingService;
 	
+	@Autowired
+	private UserManager userManager;
+	
 	UserCommentDisplayController(UserRequest ureq, WindowControl wControl,
 			UserComment userComment, List<UserComment> allComments,
 			OLATResourceable ores, String resSubPath,
@@ -103,11 +105,9 @@ public class UserCommentDisplayController extends BasicController {
 		userCommentDisplayVC.contextPut("securityCallback", securityCallback);
 		userCommentDisplayVC.contextPut("comment", userComment);
 		// Creator information
-		User user = userComment.getCreator().getUser();
 		TextComponent creator = TextFactory.createTextComponentFromI18nKey("creator", null, null, null, true, userCommentDisplayVC);
-		String firstName = StringHelper.escapeHtml(user.getProperty(UserConstants.FIRSTNAME, null));
-		String lastName = StringHelper.escapeHtml(user.getProperty(UserConstants.LASTNAME, null));
-		creator.setText(translate("comments.comment.creator", new String[]{firstName, lastName}));
+		String name = userManager.getUserDisplayName(userComment.getCreator());
+		creator.setText(translate("comments.comment.creator", new String[]{name}));
 		// Portrait
 		if (CoreSpringFactory.containsBean(UserAvatarDisplayControllerCreator.class.getName())) {
 			UserAvatarDisplayControllerCreator avatarControllerCreator = (UserAvatarDisplayControllerCreator) CoreSpringFactory.getBean(UserAvatarDisplayControllerCreator.class);
@@ -187,8 +187,8 @@ public class UserCommentDisplayController extends BasicController {
 			// Init reply workflow
 			replyCommentFormCtr = new UserCommentFormController(ureq, getWindowControl(), userComment, null, ores, resSubPath);
 			listenTo(replyCommentFormCtr);
-			User parentUser = userComment.getCreator().getUser();
-			String title = translate("comments.coment.reply.title", new String[]{parentUser.getProperty(UserConstants.FIRSTNAME, null), parentUser.getProperty(UserConstants.LASTNAME, null)});
+			String name = userManager.getUserDisplayName(userComment.getCreator());
+			String title = translate("comments.coment.reply.title", new String[]{name});
 			TitleInfo titleInfo = new TitleInfo(null, title);
 			replyTitledWrapperCtr = new TitledWrapperController(ureq, getWindowControl(), replyCommentFormCtr, null, titleInfo);
 			listenTo(replyTitledWrapperCtr);
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentFormController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentFormController.java
index 4f0eaa33ae7..2a3a5f148da 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentFormController.java
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentFormController.java
@@ -31,9 +31,9 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.id.OLATResourceable;
-import org.olat.core.id.User;
-import org.olat.core.id.UserConstants;
 import org.olat.core.util.StringHelper;
+import org.olat.user.UserManager;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * Description:<br>
@@ -65,6 +65,9 @@ public class UserCommentFormController extends FormBasicController {
 	private final OLATResourceable ores;
 	private final CommentAndRatingService commentAndRatingService;
 
+	@Autowired
+	private UserManager userManager;
+
 	/**
 	 * Constructor for a user comment form controller. Use the
 	 * UserCommentsAndRatingsController to work with user comments.
@@ -98,8 +101,8 @@ public class UserCommentFormController extends FormBasicController {
 			UserRequest ureq) {
 		// Add parent and parent first / last name
 		if (parentComment != null) {
-			User parent = parentComment.getCreator().getUser();
-			String[] args = new String[] {parent.getProperty(UserConstants.FIRSTNAME, getLocale()), parent.getProperty(UserConstants.LASTNAME, getLocale())};
+			String name = userManager.getUserDisplayName(parentComment.getCreator());
+			String[] args = new String[] {name};
 			setFormTitle("comments.form.reply.title", args);
 		} else {
 			setFormTitle("comments.form.new.title");
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_de.properties
index 2ee8936e103..b2ce15db97c 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_de.properties
@@ -1,11 +1,11 @@
 comments.count=Kommentare ({0})
 comments.count.tooltip=Klicken Sie hier, um die Kommentare anderer Teilnehmer zu lesen oder selbst einen Kommentar zu dieser Seite zu erstellen.
 comments.form.new.title = Ihren Kommentar hinzuf\u00fcgen:
-comments.form.reply.title = Ihre Antwort an {0} {1}:
+comments.form.reply.title = Ihre Antwort an {0}:
 comments.create.goto = Ihren Kommentar hinzuf\u00fcgen
-comments.comment.creator= {0} {1} sagt:
+comments.comment.creator= {0} sagt:
 comments.coment.reply=Antworten
-comments.coment.reply.title=Antwort an {0} {1}:
+comments.coment.reply.title=Antwort an {0}:
 comments.coment.reply.error = Die Antwort konnte nicht gespeichert werden. Vermutlich wurde der Originalkommentar inzwischen gel\u00f6scht.
 comments.coment.update.error = Der Kommentar konnte nicht aktualisiert werden. Vermutlich wurde der Kommentar inzwischen gel\u00f6scht.
 comments.dialog.delete.title=Kommentar l\u00f6schen
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_el.properties
index c3357113a17..0f55de7c6c9 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_el.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_el.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u
 comments.button.delete.without.replies=\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE \u03C7\u03C9\u03C1\u03AF\u03C2 \u03C4\u03B9\u03C2 \u03B1\u03C0\u03B1\u03BD\u03C4\u03AE\u03C3\u03B5\u03B9\u03C2
 comments.coment.reply=\u0391\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7
 comments.coment.reply.error=\u0397 \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2 \u03B4\u03B5\u03BD \u03B1\u03C0\u03BF\u03B8\u03B7\u03BA\u03B5\u03CD\u03C4\u03B7\u03BA\u03B5. \u03A4\u03BF \u03B1\u03C1\u03C7\u03B9\u03BA\u03CC \u03C3\u03C7\u03CC\u03BB\u03B9\u03BF \u03B5\u03BD\u03B4\u03AD\u03C7\u03B5\u03C4\u03B1\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B4\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03B5\u03AF \u03C3\u03C4\u03BF \u03BC\u03B5\u03C4\u03B1\u03BE\u03CD.
-comments.coment.reply.title=\u0391\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u03C3\u03B5 {0} {1}\:
+comments.coment.reply.title=\u0391\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u03C3\u03B5 {0}\:
 comments.coment.update.error=\u03A4\u03BF \u03C3\u03C7\u03CC\u03BB\u03B9\u03CC \u03C3\u03B1\u03C2 \u03B4\u03B5\u03BD \u03B5\u03BD\u03B7\u03BC\u03B5\u03C1\u03CE\u03B8\u03B7\u03BA\u03B5 (\u03B5\u03BD\u03B4\u03AD\u03C7\u03B5\u03C4\u03B1\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B4\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03B5\u03AF \u03C3\u03C4\u03BF \u03BC\u03B5\u03C4\u03B1\u03BE\u03CD).
-comments.comment.creator={0} {1} \u03BB\u03AD\u03B5\u03B9\:
+comments.comment.creator={0} \u03BB\u03AD\u03B5\u03B9\:
 comments.count=\u03A3\u03C7\u03CC\u03BB\u03B9\u03B1 ({0})
 comments.count.tooltip=\u03A0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B4\u03B9\u03B1\u03B2\u03AC\u03C3\u03B5\u03C4\u03B5 \u03C3\u03C7\u03CC\u03BB\u03B9\u03B1 \u03AC\u03BB\u03BB\u03C9\u03BD \u03C3\u03C5\u03BC\u03BC\u03B5\u03C4\u03B5\u03C7\u03CE\u03BD\u03C4\u03C9\u03BD \u03AE \u03BD\u03B1 \u03B4\u03B7\u03BC\u03B9\u03BF\u03C5\u03C1\u03B3\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF \u03B4\u03B9\u03BA\u03CC \u03C3\u03B1\u03C2 \u03C3\u03C7\u03CC\u03BB\u03B9\u03BF \u03C3\u03B5 \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1.
 comments.create.goto=\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C3\u03C7\u03BF\u03BB\u03AF\u03BF\u03C5
@@ -13,7 +13,7 @@ comments.dialog.delete=\u0398\u03AD\u03BB\u03B5\u03C4\u03B5 \u03C0\u03C1\u03B1\u
 comments.dialog.delete.title=\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE \u03C3\u03C7\u03BF\u03BB\u03AF\u03BF\u03C5
 comments.dialog.delete.with.replies=$\:comments.dialog.delete \u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C8\u03B5\u03C4\u03B5 \u03C3\u03C7\u03CC\u03BB\u03B9\u03B1 \u03B5\u03AF\u03C4\u03B5 \u03BC\u03B1\u03B6\u03AF, \u03B5\u03AF\u03C4\u03B5 \u03C7\u03C9\u03C1\u03AF\u03C2 \u03C4\u03B9\u03C2 \u03B1\u03C0\u03B1\u03BD\u03C4\u03AE\u03C3\u03B5\u03B9\u03C2 \u03C4\u03BF\u03C5\u03C2.
 comments.form.new.title=\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C3\u03C7\u03BF\u03BB\u03AF\u03BF\u03C5\:
-comments.form.reply.title=\u0397 \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF\u03BD/\u03B7\u03BD {0} {1}\:
+comments.form.reply.title=\u0397 \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF\u03BD/\u03B7\u03BD {0}\:
 rating.average.explanation=\u0392\u03AC\u03C3\u03B5\u03B9 {0} \u03B1\u03BE\u03B9\u03BF\u03BB\u03BF\u03B3\u03AE\u03C3\u03B5\u03C9\u03BD
 rating.average.title=\u0393\u03B5\u03BD\u03B9\u03BA\u03AE \u03B1\u03BE\u03B9\u03BF\u03BB\u03CC\u03B3\u03B7\u03C3\u03B7
 rating.personal.title=\u0397 \u03B1\u03BE\u03B9\u03BF\u03BB\u03CC\u03B3\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_en.properties
index cc25f682303..5c59a5df863 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_en.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=Delete along with replies
 comments.button.delete.without.replies=Delete without replies
 comments.coment.reply=Reply
 comments.coment.reply.error=Your reply could not be saved. The original comment might have been deleted in the meantime.
-comments.coment.reply.title=Reply to {0} {1}\:
+comments.coment.reply.title=Reply to {0}\:
 comments.coment.update.error=Your comment could not be updated. It might have been deleted in the meantime.
-comments.comment.creator={0} {1} says\:
+comments.comment.creator={0} says\:
 comments.count=Comments ({0})
 comments.count.tooltip=Click here to read other participants' comments or create your own comment on this page.
 comments.create.goto=Add your comment
@@ -13,7 +13,7 @@ comments.dialog.delete=Do you really want to delete this comment? This procedure
 comments.dialog.delete.title=Delete comment
 comments.dialog.delete.with.replies=$\:comments.dialog.delete You can either delete comments or comments along with all their replies.
 comments.form.new.title=Add your comment\:
-comments.form.reply.title=Your reply to {0} {1}\:
+comments.form.reply.title=Your reply to {0}\:
 rating.average.explanation=Based on {0} assessments
 rating.average.title=Assessment of others
 rating.personal.title=Your assessment
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_fr.properties
index 1b7c9b889d3..1aac370d493 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_fr.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=Effacer avec r\u00E9ponses
 comments.button.delete.without.replies=Effacer sans r\u00E9ponses
 comments.coment.reply=R\u00E9pondre
 comments.coment.reply.error=La r\u00E9ponse n'a pas pu \u00EAtre enregistr\u00E9. Probablement le commentaire original a \u00E9t\u00E9 effac\u00E9 entre-temps
-comments.coment.reply.title=R\u00E9ponse \u00E0 {0} {1}\:
+comments.coment.reply.title=R\u00E9ponse \u00E0 {0}\:
 comments.coment.update.error=Le commentaire n'a pas pu \u00EAtre actualis\u00E9. Probablement le commentaire a \u00E9t\u00E9 effac\u00E9 entre-temps.
-comments.comment.creator={0} {1} dit\:
+comments.comment.creator={0} dit\:
 comments.count=Commentaires ({0})
 comments.count.tooltip=Cliquer ici pour lire les commentaires des autres participants ou pour cr\u00E9er un commentaire sur cette page.
 comments.create.goto=Ajouter votre commentaire
@@ -13,7 +13,7 @@ comments.dialog.delete=Voulez-vous vraiment effacer ce commentaire? Cette action
 comments.dialog.delete.title=Effacer commentaire
 comments.dialog.delete.with.replies=$\:comments.dialog.delete Vous pouvez effacer ou bien uniquement le commentaire ou le commentaire avec toutes les r\u00E9ponses correspondantes.
 comments.form.new.title=Ajouter votre commentaire\:
-comments.form.reply.title=Votre r\u00E9ponse \u00E0 {0} {1}\:
+comments.form.reply.title=Votre r\u00E9ponse \u00E0 {0}\:
 rating.average.explanation=Bas\u00E9 sur {0} \u00E9valuations
 rating.average.title=Evaluation des autres
 rating.personal.title=Votre \u00E9valuation
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_it.properties
index beeaab581f3..5575f7cf564 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_it.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_it.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=Eliminare con risposte
 comments.button.delete.without.replies=Eliminare senza risposte
 comments.coment.reply=Risposte
 comments.coment.reply.error=La risposta non pu\u00F2 essere salvata. Probabilmente il commento originale \u00E8 stato eliminato.
-comments.coment.reply.title=Risposta a {0} {1}\:
+comments.coment.reply.title=Risposta a {0}\:
 comments.coment.update.error=Il commento non pu\u00F2 essere attualizzato. Probabilmente il commento \u00E8 stato eliminato.
-comments.comment.creator={0} {1} dice\:
+comments.comment.creator={0} dice\:
 comments.count=Commenti ({0})
 comments.count.tooltip=Clicchi qui per leggere i commenti degli altri partecipanti o per creare un commento a questa pagina.
 comments.create.goto=Aggiunga il Suo commento
@@ -13,7 +13,7 @@ comments.dialog.delete=Desidera veramente eliminare questo commento? Questa azio
 comments.dialog.delete.title=Eliminare il commento
 comments.dialog.delete.with.replies=$\:comments.dialog.delete Pu\u00F2 eliminare solo il commento oppure il commento insieme a tutte le risposte correlate.
 comments.form.new.title=Aggiunga il Suo commento\:
-comments.form.reply.title=La Sua risposta a {0} {1}\:
+comments.form.reply.title=La Sua risposta a {0}\:
 rating.average.explanation=Sulla base di {0} valutazione/i
 rating.average.title=Valutazione degli altri
 rating.personal.title=La Sua valutazione
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_jp.properties
index 81e2e7cdf23..dc2605df6cd 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_jp.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_jp.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=\u8FD4\u4FE1\u3068\u5171\u306B\u524A\u9664\u
 comments.button.delete.without.replies=\u8FD4\u4FE1\u306A\u3057\u3067\u524A\u9664\u3059\u308B
 comments.coment.reply=\u8FD4\u4FE1
 comments.coment.reply.error=\u3042\u306A\u305F\u306E\u8FD4\u4FE1\u3092\u524A\u9664\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u307E\u3082\u306A\u304F\u3001\u30AA\u30EA\u30B8\u30CA\u30EB\u30B3\u30E1\u30F3\u30C8\u306F\u3001\u524A\u9664\u3055\u308C\u307E\u3059\u3002
-comments.coment.reply.title=\u8FD4\u4FE1 to {0} {1}\:
+comments.coment.reply.title=\u8FD4\u4FE1 to {0}\:
 comments.coment.update.error=\u3042\u306A\u305F\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u307E\u3082\u306A\u304F\u3001\u524A\u9664\u3055\u308C\u307E\u3059\u3002
-comments.comment.creator={0} {1} \u306E\u30B3\u30E1\u30F3\u30C8\:
+comments.comment.creator={0} \u306E\u30B3\u30E1\u30F3\u30C8\:
 comments.count=\u30B3\u30E1\u30F3\u30C8 ({0})
 comments.count.tooltip=\u4ED6\u306E\u53C2\u52A0\u8005\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u95B2\u89A7\u3059\u308B\u5834\u5408\u3001\u307E\u305F\u306F\u3053\u306E\u30DA\u30FC\u30B8\u3067\u3042\u306A\u305F\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u4F5C\u6210\u3059\u308B\u5834\u5408\u3001\u3053\u3053\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 comments.create.goto=\u3042\u306A\u305F\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3059\u308B
@@ -13,7 +13,7 @@ comments.dialog.delete=\u672C\u5F53\u306B\u3053\u306E\u30B3\u30E1\u30F3\u30C8\u3
 comments.dialog.delete.title=\u30B3\u30E1\u30F3\u30C8\u3092\u524A\u9664\u3059\u308B
 comments.dialog.delete.with.replies=$\:comments.dialog.delete \u3042\u306A\u305F\u306F\u3001\u30B3\u30E1\u30F3\u30C8\u307E\u305F\u306F\u30B3\u30E1\u30F3\u30C8\u306B\u4ED8\u968F\u3059\u308B\u8FD4\u4FE1\u3092\u524A\u9664\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002
 comments.form.new.title=\u3042\u306A\u305F\u306E\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3059\u308B\:
-comments.form.reply.title=\u3042\u306A\u305F\u306E\u8FD4\u4FE1 to {0} {1}\:
+comments.form.reply.title=\u3042\u306A\u305F\u306E\u8FD4\u4FE1 to {0}\:
 rating.average.explanation={0} \u306E\u8A55\u4FA1\u306B\u57FA\u3065\u304F
 rating.average.title=\u4ED6\u306E\u30E6\u30FC\u30B6\u306B\u3088\u308B\u8A55\u4FA1
 rating.personal.title=\u3042\u306A\u305F\u306E\u8A55\u4FA1
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_nl_NL.properties
index f4b702c7ac7..93d661ac1a6 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_nl_NL.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_nl_NL.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=Tezamen met antwoorden verwijderen
 comments.button.delete.without.replies=Zonder de antwoorden verwijderen
 comments.coment.reply=Beantwoorden
 comments.coment.reply.error=Uw antwoord kon niet worden opgeslagen. Het oorspronkelijke kommentaar kan in de tussentijd zijn gewijzigd.
-comments.coment.reply.title={0} {1} beantwoorden\:
+comments.coment.reply.title={0} beantwoorden\:
 comments.coment.update.error=Uw kommentaar kon niet worden verstuurd naar de server. Het kan in de tussentijd zijn verwijderd.
-comments.comment.creator={0} {1} zegt\:
+comments.comment.creator={0} zegt\:
 comments.count=Kommentaar ({0})
 comments.count.tooltip=Klik hier om het kommentaar van andere deelnemers te lezen of uw eigen kommentaar op deze pagina te maken.
 comments.create.goto=Voeg uw kommentaar toe
@@ -13,7 +13,7 @@ comments.dialog.delete=Wilt u dit kommentaar echt verwijderen? U kunt het na het
 comments.dialog.delete.title=Kommentaar verwijderen
 comments.dialog.delete.with.replies=$\:comments.dialog.delete U kunt een kommentaar of een kommentaar inclusief alle antwoorden verwijderen.
 comments.form.new.title=Voeg uw kommentaar toe\:
-comments.form.reply.title=Uw antwoord aan {0} {1}\:
+comments.form.reply.title=Uw antwoord aan {0}\:
 rating.average.explanation=Gebaseerd op {0} beoordelingen
 rating.average.title=Beoordelingen van anderen
 rating.personal.title=Uw beoordeling
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pl.properties
index 9210836b2ed..084c452f2b9 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pl.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pl.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=Usu\u0144 wraz z odpowiedziami
 comments.button.delete.without.replies=Usu\u0144 bez odpowiedzi
 comments.coment.reply=Odpowiedz
 comments.coment.reply.error=Twoja odpowied\u017A nie zosta\u0142a zapisana. Oryginalny komentarz m\u00F3g\u0142 zosta\u0107 usuni\u0119ty w mi\u0119dzyczasie.
-comments.coment.reply.title=Odpowiedz do {0} {1}\:
+comments.coment.reply.title=Odpowiedz do {0}\:
 comments.coment.update.error=Tw\u00F3j komentarz nie zosta\u0142 zaktualizowany. M\u00F3g\u0142 zosta\u0107 usuni\u0119ty w mi\u0119dzyczasie.
-comments.comment.creator={0} {1} powiedzia\u0142\:
+comments.comment.creator={0} powiedzia\u0142\:
 comments.count=Komentarzy ({0})
 comments.count.tooltip=Kliknij, \u017Ceby zobaczy\u0107 komentarze innych os\u00F3b lub doda\u0107 w\u0142asny komentarz na tej stronie.
 comments.create.goto=Dodaj komentarz
@@ -13,7 +13,7 @@ comments.dialog.delete=Czy na pewno chcesz usun\u0105\u0107 komentarz? Ta operac
 comments.dialog.delete.title=Usu\u0144 komentarz
 comments.dialog.delete.with.replies=$\:comments.dialog.delete Mo\u017Cesz usun\u0105\u0107 same komentarze lub komentarze z odpowiedziami.
 comments.form.new.title=Dodaj komentarz\:
-comments.form.reply.title=Twoja odpowied\u017A do {0} {1}\:
+comments.form.reply.title=Twoja odpowied\u017A do {0}\:
 rating.average.explanation=Na podstawie {0} ocen
 rating.average.title=Ocena innych
 rating.personal.title=Twoja ocena
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pt_BR.properties
index cd771f4c25e..3820d5d4597 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_pt_BR.properties
@@ -5,7 +5,7 @@ comments.coment.reply=Responder
 comments.coment.reply.error=Sua resposta n\u00E3o pode ser salva. O coment\u00E1rio inicial pode ter sido eliminado durante isso.
 comments.coment.reply.title=Responder para (0) (1)\:
 comments.coment.update.error=Seu coment\u00E1rio n\u00E3o pode ser atualizado. Ele pode ter sido perdido durante isso.
-comments.comment.creator={0} {1} diz\:
+comments.comment.creator={0} diz\:
 comments.count=Coment\u00E1rios ({0})
 comments.count.tooltip=Clique aqui para ler os coment\u00E1rios de outros participantes ou criar seu pr\u00F3prio coment\u00E1rio sobre esta p\u00E1gina.
 comments.create.goto=Adicione seu coment\u00E1rio
@@ -13,7 +13,7 @@ comments.dialog.delete=Voc\u00EA realmente quer apagar este coment\u00E1rio? Est
 comments.dialog.delete.title=Excluir coment\u00E1rio
 comments.dialog.delete.with.replies=$\:comments.dialog.delete Voc\u00EA pode excluir os coment\u00E1rios ou observa\u00E7\u00F5es, juntamente com todas as suas respostas.
 comments.form.new.title=Adicione seu coment\u00E1rio\:
-comments.form.reply.title=Sua resposta para {0} {1}\:
+comments.form.reply.title=Sua resposta para {0}\:
 rating.average.explanation=Baseado em\: {0} avalia\u00E7\u00F5es
 rating.average.title=Avalia\u00E7\u00E3o dos outros
 rating.personal.title=Sua avalia\u00E7\u00E3o
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ru.properties
index 33417461889..048c3b3c0cd 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ru.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_ru.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=\u0423\u0434\u0430\u043B\u0438\u0442\u044C \
 comments.button.delete.without.replies=\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0431\u0435\u0437 \u043E\u0442\u0432\u0435\u0442\u043E\u0432
 comments.coment.reply=\u041E\u0442\u0432\u0435\u0442\u044B
 comments.coment.reply.error=\u0412\u0430\u0448 \u043E\u0442\u0432\u0435\u0442 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D. \u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D \u0432 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F.
-comments.coment.reply.title=\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C {0} {1}\:
+comments.coment.reply.title=\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C {0}\:
 comments.coment.update.error=\u0412\u0430\u0448 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0435\u0433\u043E.
-comments.comment.creator={0} {1} \u0433\u043E\u0432\u043E\u0440\u0438\u0442\:
+comments.comment.creator={0} \u0433\u043E\u0432\u043E\u0440\u0438\u0442\:
 comments.count=\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 ({0})
 comments.count.tooltip=\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u043A\u043E\u0432 \u0438\u043B\u0438 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u0432\u043E\u0439 \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u043D\u0430 \u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435.
 comments.create.goto=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0432\u043E\u0439 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
@@ -13,7 +13,7 @@ comments.dialog.delete=\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u
 comments.dialog.delete.title=\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
 comments.dialog.delete.with.replies=$\:comments.dialog.delete \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0438\u043B\u0438 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0432\u043C\u0435\u0441\u0442\u0435 \u0441\u043E \u0432\u0441\u0435\u043C\u0438 \u0438\u0445 \u043E\u0442\u0432\u0435\u0442\u0430\u043C\u0438.
 comments.form.new.title=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439\:
-comments.form.reply.title=\u0412\u0430\u0448 \u043E\u0442\u0432\u0435\u0442 {0} {1}\:
+comments.form.reply.title=\u0412\u0430\u0448 \u043E\u0442\u0432\u0435\u0442 {0}\:
 rating.average.explanation=\u041D\u0430 \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0438\u0438 \u043E\u0446\u0435\u043D\u043A\u0438 {0}
 rating.average.title=\u041E\u0446\u0435\u043D\u043A\u0438 \u0434\u0440\u0443\u0433\u0438\u0445
 rating.personal.title=\u0412\u0430\u0448\u0430 \u043E\u0446\u0435\u043D\u043A\u0430
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_CN.properties
index 502fa586d29..a3c6ca6edb3 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_CN.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_CN.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=\u8FDE\u540C\u56DE\u590D\u4E00\u8D77\u5220\u
 comments.button.delete.without.replies=\u4FDD\u7559\u56DE\u590D
 comments.coment.reply=\u56DE\u590D
 comments.coment.reply.error=\u65E0\u6CD5\u4FDD\u5B58\u60A8\u7684\u56DE\u590D,\u53EF\u80FD\u5728\u60A8\u56DE\u590D\u7684\u540C\u65F6\u539F\u8BC4\u8BBA\u5DF2\u88AB\u5220\u9664\u3002
-comments.coment.reply.title=\u7ED9{0} {1}\u56DE\u590D\:
+comments.coment.reply.title=\u7ED9{0}\u56DE\u590D\:
 comments.coment.update.error=\u60A8\u7684\u8BC4\u8BBA\u4E0D\u80FD\u66F4\u65B0\u3002\u53EF\u80FD\u5B83\u5DF2\u7ECF\u88AB\u5220\u9664\u3002
-comments.comment.creator={0} {1} \u8BB2\u9053\uFF1A
+comments.comment.creator={0} \u8BB2\u9053\uFF1A
 comments.count=\u8BC4\u8BBA ({0})
 comments.count.tooltip=\u70B9\u51FB\u8FD9\u91CC\u53EF\u4EE5\u9605\u8BFB\u5176\u4ED6\u53C2\u4E0E\u8005\u7684\u8BC4\u8BBA\u6216\u8005\u5728\u6B64\u9875\u4E0A\u521B\u5EFA\u4F60\u81EA\u5DF1\u7684\u8BC4\u8BBA\u3002
 comments.create.goto=\u52A0\u4E0A\u60A8\u7684\u8BC4\u8BBA
@@ -13,7 +13,7 @@ comments.dialog.delete=\u60A8\u771F\u7684\u8981\u5220\u9664\u6B64\u9879\u8BC4\u8
 comments.dialog.delete.title=\u5220\u9664\u8BC4\u8BBA
 comments.dialog.delete.with.replies=$\:comments.dialog.delete  \u60A8\u53EF\u4EE5\u540C\u65F6\u5220\u9664\u8BC4\u8BBA\u548C\u5176\u76F8\u5173\u7684\u56DE\u590D\u3002
 comments.form.new.title=\u53D1\u8868\u60A8\u7684\u770B\u6CD5\uFF1A
-comments.form.reply.title=\u60A8\u5BF9{0} {1}\u56DE\u590D\u9053\uFF1A
+comments.form.reply.title=\u60A8\u5BF9{0}\u56DE\u590D\u9053\uFF1A
 rating.average.explanation=\u57FA\u4E8E{0}\u7684\u8BC4\u4EF7
 rating.average.title=\u8BC4\u4EF7\u5176\u4ED6\u4EBA
 rating.personal.title=\u60A8\u83B7\u5F97\u7684\u8BC4\u4EF7
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_TW.properties
index 3ff13e1c91e..ccfcd158bc6 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_TW.properties
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_i18n/LocalStrings_zh_TW.properties
@@ -3,9 +3,9 @@ comments.button.delete.with.replies=\u9023\u540C\u56DE\u8986\u4E00\u8D77\u522A\u
 comments.button.delete.without.replies=\u522A\u9664\u6642\u4FDD\u7559\u56DE\u8986
 comments.coment.reply=\u56DE\u8986
 comments.coment.reply.error=\u60A8\u7684\u56DE\u8986\u7121\u6CD5\u88AB\u5132\u5B58\u3002\u539F\u4F86\u7684\u8A55\u8AD6\u53EF\u80FD\u5728\u6B64\u671F\u9593\u5DF2\u88AB\u522A\u9664\u3002
-comments.coment.reply.title=\u56DE\u8986 {0} {1}\:
+comments.coment.reply.title=\u56DE\u8986 {0}\:
 comments.coment.update.error=\u60A8\u7684\u8A55\u8AD6\u7121\u6CD5\u88AB\u66F4\u65B0\u3002\u5B83\u53EF\u80FD\u5728\u6B64\u671F\u9593\u5DF2\u88AB\u522A\u9664\u3002
-comments.comment.creator={0} {1} \u8AAA\uFF1A
+comments.comment.creator={0} \u8AAA\uFF1A
 comments.count=\u8A55\u8AD6\uFF08{0}\uFF09
 comments.count.tooltip=\u9EDE\u64CA\u9019\u88E1\u4F86\u95B1\u8B80\u5176\u4ED6\u53C3\u8207\u8005\u7684\u8A55\u8AD6\u6216\u8005\u5728\u6B64\u9801\u4E0A\u5EFA\u7ACB\u60A8\u81EA\u5DF1\u7684\u8A55\u8AD6\u3002
 comments.create.goto=\u52A0\u5165\u60A8\u7684\u8A55\u8AD6
@@ -13,7 +13,7 @@ comments.dialog.delete=\u60A8\u771F\u7684\u8981\u522A\u9664\u9019\u500B\u8A55\u8
 comments.dialog.delete.title=\u522A\u9664\u8A55\u8AD6
 comments.dialog.delete.with.replies=$\:comments.dialog.delete \u60A8\u53EF\u4EE5\u522A\u9664\u8A55\u8AD6\u6216\u9023\u540C\u5176\u6240\u6709\u7684\u56DE\u8986\u4E00\u8D77\u522A\u9664\u3002
 comments.form.new.title=\u52A0\u5165\u60A8\u7684\u8A55\u8AD6\uFF1A
-comments.form.reply.title=\u60A8\u5C0D {0} {1}\u7684\u56DE\u8986\uFF1A
+comments.form.reply.title=\u60A8\u5C0D {0}\u7684\u56DE\u8986\uFF1A
 rating.average.explanation=\u57FA\u65BC {0} \u500B\u8A55\u50F9
 rating.average.title=\u5176\u4ED6\u7684\u8A55\u50F9
 rating.personal.title=\u60A8\u7684\u8A55\u50F9
-- 
GitLab