Index: trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 6679)
@@ -87,5 +87,5 @@
     public static boolean confirmLaunchMultiple(int numBrowsers) {
         String msg  = /* for correct i18n of plural forms - see #9110 */ trn(
-                "You are about to launch {0} browser windows.<br>"
+                "You are about to launch {0} browser window.<br>"
                         + "This may both clutter your screen with browser windows<br>"
                         + "and take some time to finish.",
@@ -98,5 +98,5 @@
                         tr("Continue"),
                         ImageProvider.get("ok"),
-                        trn("Click to continue and to open {0} browsers", "Click to continue and to open {0} browsers", numBrowsers, numBrowsers),
+                        trn("Click to continue and to open {0} browser", "Click to continue and to open {0} browsers", numBrowsers, numBrowsers),
                         null // no specific help topic
                 ),
Index: trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 6679)
@@ -192,5 +192,5 @@
         cmds.add(new DeleteCommand(deletedWays));
         final SequenceCommand sequenceCommand = new SequenceCommand(/* for correct i18n of plural forms - see #9110 */
-                trn("Combine {0} ways", "Combine {0} ways", ways.size(), ways.size()), cmds);
+                trn("Combine {0} way", "Combine {0} ways", ways.size(), ways.size()), cmds);
 
         return new Pair<Way, Command>(targetWay, sequenceCommand);
Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 6679)
@@ -356,5 +356,5 @@
             }
             return new SequenceCommand(/* for correct i18n of plural forms - see #9110 */
-                    trn("Merge {0} nodes", "Merge {0} nodes", nodes.size(), nodes.size()), cmds);
+                    trn("Merge {0} node", "Merge {0} nodes", nodes.size(), nodes.size()), cmds);
         } catch (UserCancelException ex) {
             return null;
Index: trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 6679)
@@ -506,5 +506,5 @@
                 new SequenceCommand(
                         /* for correct i18n of plural forms - see #9110 */
-                        trn("Split way {0} into {1} parts", "Split way {0} into {1} parts", wayChunks.size(),
+                        trn("Split way {0} into {1} part", "Split way {0} into {1} parts", wayChunks.size(),
                                 way.getDisplayName(DefaultNameFormatter.getInstance()), wayChunks.size()),
                         commandList
Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 6679)
@@ -380,5 +380,5 @@
 
         Main.main.undoRedo.add(new SequenceCommand(/* for correct i18n of plural forms - see #9110 */
-                trn("Dupe into {0} nodes", "Dupe into {0} nodes", newNodes.size() + 1, newNodes.size() + 1), cmds));
+                trn("Dupe into {0} node", "Dupe into {0} nodes", newNodes.size() + 1, newNodes.size() + 1), cmds));
         // select one of the new nodes
         getCurrentDataSet().setSelected(newNodes.getFirst());
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 6679)
@@ -809,5 +809,5 @@
                     /* for correct i18n of plural forms - see #9110 */
                     trn(
-                            "You moved more than {0} elements. " + "Moving a large number of elements is often an error.\n" + "Really move them?",
+                            "You moved more than {0} element. " + "Moving a large number of elements is often an error.\n" + "Really move them?",
                             "You moved more than {0} elements. " + "Moving a large number of elements is often an error.\n" + "Really move them?",
                             max, max));
Index: trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 6679)
@@ -167,9 +167,9 @@
             Map.Entry<String, String> entry = tags.entrySet().iterator().next();
             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());
+                /* I18n: plural form for objects, but value < 2 not possible! */
+                text = trn("Remove \"{0}\" for {1} object", "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());
+                /* I18n: plural form for objects, but value < 2 not possible! */
+                text = trn("Set {0}={1} for {2} object", "Set {0}={1} for {2} objects", objects.size(), entry.getKey(), entry.getValue(), objects.size());
             }
         }
@@ -184,9 +184,9 @@
 
             if (allnull) {
-                /* 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());
+                /* I18n: plural form detected for objects only (but value < 2 not possible!), try to do your best for tags */ 
+                text = trn("Deleted {0} tags for {1} object", "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());
+                /* I18n: plural form detected for objects only (but value < 2 not possible!), try to do your best for tags */
+                text = trn("Set {0} tags for {1} object", "Set {0} tags for {1} objects", objects.size(), tags.size(), objects.size());
             }
         }
Index: trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java	(revision 6679)
@@ -60,11 +60,11 @@
             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());
+                return trn("Resolve {0} tag conflict 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());
+                return trn("Resolve {0} tag conflict 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 trn("Resolve {0} tag conflict in relation {1}", "Resolve {0} tag conflicts in relation {1}", getNumDecidedConflicts(), getNumDecidedConflicts(), conflict.getMy().getId());
         }
         return "";
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(revision 6679)
@@ -549,5 +549,6 @@
             final Collection<? extends OsmPrimitive> primitives,
             final Set<Relation> parentRelations) throws UserCancelException {
-        String msg = trn("You are about to combine {1} objects, "
+        /* I18n: object count < 2 is not possible */
+        String msg = trn("You are about to combine {1} object, "
                 + "which are part of {0} relation:<br/>{2}"
                 + "Combining these objects may break this relation. If you are unsure, please cancel this operation.<br/>"
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/FilterTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/FilterTableModel.java	(revision 6677)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/FilterTableModel.java	(revision 6679)
@@ -376,5 +376,5 @@
         if (disabledAndHiddenCount != 0) {
             /* for correct i18n of plural forms - see #9110 */
-            message += trn("<p><b>{0}</b> objects hidden", "<p><b>{0}</b> objects hidden", disabledAndHiddenCount, disabledAndHiddenCount);
+            message += trn("<p><b>{0}</b> object hidden", "<p><b>{0}</b> objects hidden", disabledAndHiddenCount, disabledAndHiddenCount);
         }
 
@@ -385,5 +385,5 @@
         if (disabledCount != 0) {
             /* for correct i18n of plural forms - see #9110 */
-            message += trn("<b>{0}</b> objects disabled", "<b>{0}</b> objects disabled", disabledCount, disabledCount);
+            message += trn("<b>{0}</b> object disabled", "<b>{0}</b> objects disabled", disabledCount, disabledCount);
         }
 
