Index: trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 6450)
+++ trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 6507)
@@ -4,4 +4,5 @@
 import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.tools.I18n.trn;
 
 import java.util.AbstractMap;
@@ -165,8 +166,11 @@
         } else if (objects.size() > 1 && tags.size() == 1) {
             Map.Entry<String, String> entry = tags.entrySet().iterator().next();
-            if (entry.getValue() == null)
-                text = tr("Remove \"{0}\" for {1} objects", entry.getKey(), objects.size());
-            else
-                text = tr("Set {0}={1} for {2} objects", entry.getKey(), entry.getValue(), objects.size());
+            if (entry.getValue() == null) {
+                /* for correct i18n of plural forms - see #9110 */
+                text = trn("Remove \"{0}\" for {1} objects", "Remove \"{0}\" for {1} objects", objects.size(), entry.getKey(), objects.size());
+            } else {
+                /* for correct i18n of plural forms - see #9110 */
+                text = trn("Set {0}={1} for {2} objects", "Set {0}={1} for {2} objects", objects.size(), entry.getKey(), entry.getValue(), objects.size());
+            }
         }
         else {
@@ -180,7 +184,10 @@
 
             if (allnull) {
-                text = tr("Deleted {0} tags for {1} objects", tags.size(), objects.size());
-            } else
-                text = tr("Set {0} tags for {1} objects", tags.size(), objects.size());
+                /* for correct i18n of plural forms - see #9110 */
+                text = trn("Deleted {0} tags for {1} objects", "Deleted {0} tags for {1} objects", objects.size(), tags.size(), objects.size());
+            } else {
+                /* for correct i18n of plural forms - see #9110 */
+                text = trn("Set {0} tags for {1} objects", "Set {0} tags for {1} objects", objects.size(), tags.size(), objects.size());
+            }
         }
         return text;
Index: trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java	(revision 6450)
+++ trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java	(revision 6507)
@@ -4,4 +4,5 @@
 import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.tools.I18n.trn;
 
 import java.util.Collection;
@@ -56,11 +57,16 @@
     @Override
     public String getDescriptionText() {
-        String msg = "";
-        switch(OsmPrimitiveType.from(conflict.getMy())) {
-        case NODE: msg = marktr("Resolve {0} tag conflicts in node {1}"); break;
-        case WAY: msg = marktr("Resolve {0} tag conflicts in way {1}"); break;
-        case RELATION: msg = marktr("Resolve {0} tag conflicts in relation {1}"); break;
+        switch (OsmPrimitiveType.from(conflict.getMy())) {
+            case NODE:
+                /* for correct i18n of plural forms - see #9110 */
+                return trn("Resolve {0} tag conflicts in node {1}", "Resolve {0} tag conflicts in node {1}", getNumDecidedConflicts(), getNumDecidedConflicts(), conflict.getMy().getId());
+            case WAY:
+                /* for correct i18n of plural forms - see #9110 */
+                return trn("Resolve {0} tag conflicts in way {1}", "Resolve {0} tag conflicts in way {1}", getNumDecidedConflicts(), getNumDecidedConflicts(), conflict.getMy().getId());
+            case RELATION:
+                /* for correct i18n of plural forms - see #9110 */
+                return trn("Resolve {0} tag conflicts in relation {1}", "Resolve {0} tag conflicts in relation {1}", getNumDecidedConflicts(), getNumDecidedConflicts(), conflict.getMy().getId());
         }
-        return tr(msg,getNumDecidedConflicts(), conflict.getMy().getId());
+        return "";
     }
 
