? components/hardware/Nautilus_View_hardware.server.in
Index: components/hardware/nautilus-hardware-view.c
===================================================================
RCS file: /cvs/gnome/nautilus/components/hardware/nautilus-hardware-view.c,v
retrieving revision 1.57
diff -u -r1.57 nautilus-hardware-view.c
--- components/hardware/nautilus-hardware-view.c	4 May 2003 00:07:50 -0000	1.57
+++ components/hardware/nautilus-hardware-view.c	2 Oct 2003 20:44:17 -0000
@@ -469,7 +469,7 @@
 static int
 update_uptime_text (gpointer callback_data)
 {
-	char *uptime_data, *uptime_text;
+	char *uptime_data, *uptime_text, *uptime_days_text, *uptime_hours_text, *uptime_minutes_text;
 	double uptime_seconds;
 	int uptime_days, uptime_hours, uptime_minutes;
 	
@@ -479,10 +479,18 @@
 	uptime_days = uptime_seconds / 86400;
 	uptime_hours = (uptime_seconds - (uptime_days * 86400)) / 3600;
 	uptime_minutes = (uptime_seconds - (uptime_days * 86400) - (uptime_hours * 3600)) / 60;
-	
-	uptime_text = g_strdup_printf (_("Uptime is %d days, %d hours, %d minutes"), uptime_days, uptime_hours, uptime_minutes);
+
+	uptime_days_text = g_strdup_printf (ngettext ("%d day", "%d days", uptime_days), uptime_days);
+	uptime_hours_text = g_strdup_printf (ngettext ("%d hour", "%d hours", uptime_hours), uptime_hours);
+	uptime_minutes_text = g_strdup_printf (ngettext ("%d minute", "%d minutes", uptime_minutes), uptime_minutes);
+
+	/* translators: day(s), hour(s), minute(s) */
+	uptime_text = g_strdup_printf (_("Uptime is %s, %s, %s"), uptime_days_text, uptime_hours_text, uptime_minutes_text);
 	gtk_label_set_text (NAUTILUS_HARDWARE_VIEW (callback_data)->details->uptime_label, uptime_text);
 	g_free (uptime_text);
+	g_free (uptime_days_text);
+	g_free (uptime_hours_text);
+	g_free (uptime_minutes_text);
 	
 	g_free (uptime_data);
 	return TRUE;
Index: components/image_properties/nautilus-image-properties-view.c
===================================================================
RCS file: /cvs/gnome/nautilus/components/image_properties/nautilus-image-properties-view.c,v
retrieving revision 1.4
diff -u -r1.4 nautilus-image-properties-view.c
--- components/image_properties/nautilus-image-properties-view.c	8 Jun 2003 08:45:09 -0000	1.4
+++ components/image_properties/nautilus-image-properties-view.c	2 Oct 2003 20:44:17 -0000
@@ -142,7 +142,9 @@
 	
 	name = gdk_pixbuf_format_get_name (format);
 	desc = gdk_pixbuf_format_get_description (format);
-	str = g_strdup_printf (_("<b>Image Type:</b> %s (%s)\n<b>Resolution:</b> %dx%d pixels\n"),
+	str = g_strdup_printf (ngettext ("<b>Image Type:</b> %s (%s)\n<b>Resolution:</b> %dx%d pixel\n",
+					 "<b>Image Type:</b> %s (%s)\n<b>Resolution:</b> %dx%d pixels\n",
+					 height),
 				 name, desc, width, height);
 	gtk_label_set_markup (GTK_LABEL (view->details->resolution), str);
 	g_free (str);
Index: libnautilus-private/nautilus-file.c
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-file.c,v
retrieving revision 1.328
diff -u -r1.328 nautilus-file.c
--- libnautilus-private/nautilus-file.c	19 Sep 2003 08:31:30 -0000	1.328
+++ libnautilus-private/nautilus-file.c	2 Oct 2003 20:44:20 -0000
@@ -4011,14 +4011,10 @@
 			? (includes_files ? _("0 items") : _("0 folders"))
 			: _("0 files"));
 	}
-	if (item_count == 1) {
-		return g_strdup (includes_directories
-			? (includes_files ? _("1 item") : _("1 folder"))
-			: _("1 file"));
-	}
-	return g_strdup_printf (includes_directories
-		? (includes_files ? _("%u items") : _("%u folders"))
-		: _("%u files"), item_count);
+	return g_strdup (includes_directories
+			? (includes_files ? ngettext ("%u item", "%u items", item_count) :
+					    ngettext ("%u folder", "%u folders", item_count))
+			: ngettext ("%u file", "%u files", item_count));
 }
 
 /**
Index: src/nautilus-location-bar.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/nautilus-location-bar.c,v
retrieving revision 1.96
diff -u -r1.96 nautilus-location-bar.c
--- src/nautilus-location-bar.c	30 Sep 2003 20:37:17 -0000	1.96
+++ src/nautilus-location-bar.c	2 Oct 2003 20:44:24 -0000
@@ -151,8 +151,11 @@
 	 */
 	name_count = g_list_length (names);
 	if (name_count > 1) {
-		prompt = g_strdup_printf (_("Do you want to view these %d locations "
-					  "in separate windows?"), 
+		prompt = g_strdup_printf (ngettext ("Do you want to view these %d location in "
+						    "separate windows?",
+						    "Do you want to view these %d locations in "
+						    "separate windows?",
+					  	    name_count),
 					  name_count);
 		/* eel_run_simple_dialog should really take in pairs
 		 * like gtk_dialog_new_with_buttons() does. */
Index: src/file-manager/fm-directory-view.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/file-manager/fm-directory-view.c,v
retrieving revision 1.585
diff -u -r1.585 fm-directory-view.c
--- src/file-manager/fm-directory-view.c	30 Sep 2003 20:37:57 -0000	1.585
+++ src/file-manager/fm-directory-view.c	2 Oct 2003 20:44:26 -0000
@@ -483,9 +483,13 @@
 		return TRUE;
 	}
 
-	prompt = g_strdup_printf (_("This will open %d separate windows. "
-				    "Are you sure you want to do this?"), count);
-	title = g_strdup_printf (_("Open %d Windows?"), count);
+	prompt = g_strdup_printf (ngettext ("This will open %d separate window. "
+					    "Are you sure you want to do this?",
+					    "This will open %d separate windows. "
+					    "Are you sure you want to do this?",
+					    count),
+				  count);
+	title = g_strdup_printf (ngettext ("Open %d Window?", "Open %d Windows?", count), count);
 	dialog = eel_show_yes_no_dialog (prompt, title, 
 					 GTK_STOCK_OK, GTK_STOCK_CANCEL,
 					 fm_directory_view_get_containing_window (view));
@@ -813,8 +817,12 @@
 					  file_name);
 		g_free (file_name);
 	} else {
-		prompt = g_strdup_printf (_("Are you sure you want to permanently delete "
-		  			    "the %d selected items?"), uri_count);
+		prompt = g_strdup_printf (ngettext ("Are you sure you want to permanently delete "
+		  				    "the %d selected item?",
+						    "Are you sure you want to permanently delete "
+						    "the %d selected items?",
+						    uri_count),
+					  uri_count);
 	}
 
 	dialog = eel_show_yes_no_dialog
@@ -1569,14 +1577,13 @@
 	 */
 
 	if (folder_count != 0) {
-		if (folder_count == 1) {
-			if (non_folder_count == 0) {
-				folder_count_str = g_strdup_printf (_("\"%s\" selected"), first_item_name);
-			} else {
-				folder_count_str = g_strdup (_("1 folder selected"));
-			}
-		} else {
-			folder_count_str = g_strdup_printf (_("%d folders selected"), folder_count);
+		if (folder_count == 1 && non_folder_count == 0)
+			folder_count_str = g_strdup_printf (_("\"%s\" selected"), first_item_name);
+		else {
+			folder_count_str = g_strdup_printf (ngettext ("%d folder selected",
+								      "%d folders selected",
+								      folder_count),
+							    folder_count);
 		}
 
 		if (folder_count == 1) {
@@ -1584,10 +1591,11 @@
 				folder_item_count_str = g_strdup ("");
 			} else if (folder_item_count == 0) {
 				folder_item_count_str = g_strdup (_(" (containing 0 items)"));
-			} else if (folder_item_count == 1) {
-				folder_item_count_str = g_strdup (_(" (containing 1 item)"));
 			} else {
-				folder_item_count_str = g_strdup_printf (_(" (containing %d items)"), folder_item_count);
+				folder_item_count_str = g_strdup_printf (ngettext (" (containing %d item)",
+										   " (containing %d items)",
+										   folder_item_count),
+									 folder_item_count);
 			}
 		}
 		else {
@@ -1595,10 +1603,11 @@
 				folder_item_count_str = g_strdup ("");
 			} else if (folder_item_count == 0) {
 				folder_item_count_str = g_strdup (_(" (containing a total of 0 items)"));
-			} else if (folder_item_count == 1) {
-				folder_item_count_str = g_strdup (_(" (containing a total of 1 item)"));
 			} else {
-				folder_item_count_str = g_strdup_printf (_(" (containing a total of %d items)"), folder_item_count);
+				folder_item_count_str = g_strdup_printf (ngettext (" (containing a total of %d item)",
+										   " (containing a total of %d items)",
+										   folder_item_count),
+									 folder_item_count);
 			}
 			
 		}
@@ -1615,17 +1624,18 @@
 								  first_item_name,
 								  size_string);
 			} else {
-				non_folder_str = g_strdup_printf (_("%d items selected (%s)"), 
+				non_folder_str = g_strdup_printf (ngettext ("%d item selected (%s)",
+									    "%d items selected (%s)",
+									    non_folder_count),
 								  non_folder_count, 
 								  size_string);
 			}
 		} else {
 			/* Folders selected also, use "other" terminology */
 			if (non_folder_count == 1) {
-				non_folder_str = g_strdup_printf (_("1 other item selected (%s)"), 
-								  size_string);
-			} else {
-				non_folder_str = g_strdup_printf (_("%d other items selected (%s)"), 
+				non_folder_str = g_strdup_printf (ngettext ("%d other item selected (%s)",
+									    "%d other items selected (%s)",
+								  non_folder_count),
 								  non_folder_count, 
 								  size_string);
 			}
@@ -3023,13 +3033,23 @@
 		g_free (file_name);
 	} else {
 		if (all) {
-			prompt = g_strdup_printf (_("The %d selected items cannot be moved "
-						    "to the Trash. Do you want to delete them "
-						    "immediately?"), uri_count);
+			prompt = g_strdup_printf (ngettext ("The %d selected item cannot be moved "
+							    "to the Trash. Do you want to delete "
+							    "it immediately?",
+							    "The %d selected items cannot be moved "
+							    "to the Trash. Do you want to delete "
+							    "them immediately?",
+							    uri_count),
+						  uri_count);
 		} else {
-			prompt = g_strdup_printf (_("%d of the selected items cannot be moved "
-						    "to the Trash. Do you want to delete those "
-						    "%d items immediately?"), uri_count, uri_count);
+			prompt = g_strdup_printf (ngettext ("%d of the selected items cannot be "
+							    "moved to the Trash. Do you want to "
+							    "delete this %d item immediately?",
+							    "%d of the selected items cannot be "
+							    "moved to the Trash. Do you want to "
+							    "delete those %d items immediately?",
+							    uri_count),
+						  uri_count, uri_count);
 		}
 	}
 
@@ -3071,8 +3091,12 @@
 					    "from the Trash?"), file_name);
 		g_free (file_name);
 	} else {
-		prompt = g_strdup_printf (_("Are you sure you want to permanently delete "
-		  			    "the %d selected items from the Trash?"), uri_count);
+		prompt = g_strdup_printf (ngettext ("Are you sure you want to permanently delete "
+						    "the %d selected item from the Trash?",
+						    "Are you sure you want to permanently delete "
+						    "the %d selected items from the Trash?",
+						    uri_count),
+					  uri_count);
 	}
 
 	dialog = eel_show_yes_no_dialog (
@@ -4452,12 +4476,22 @@
 		g_free (name);
 	} else {
 		if (cut) {
-			status_string = g_strdup_printf (_("The %d selected items will be moved "
-							   "if you select the Paste Files command"),
+			status_string = g_strdup_printf (ngettext ("The %d selected item will be "
+								   "moved if you select the Paste "
+								   "Files command",
+								   "The %d selected items will be "
+								   "moved if you select the Paste "
+								   "Files command",
+								   count),
 							 count);
 		} else {
-			status_string = g_strdup_printf (_("The %d selected items will be copied "
-							   "if you select the Paste Files command"),
+			status_string = g_strdup_printf (ngettext ("The %d selected item will be "
+								   "copied if you select the Paste "
+								   "Files command",
+								   "The %d selected items will be "
+								   "copied if you select the Paste "
+								   "Files command",
+								   count),
 							 count);
 		}
 	}
Index: src/file-manager/fm-properties-window.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/file-manager/fm-properties-window.c,v
retrieving revision 1.181
diff -u -r1.181 fm-properties-window.c
--- src/file-manager/fm-properties-window.c	19 Sep 2003 09:10:06 -0000	1.181
+++ src/file-manager/fm-properties-window.c	2 Oct 2003 20:44:28 -0000
@@ -1742,7 +1742,9 @@
 			text = g_strdup_printf (_("1 item, with size %s"),
 						size_str);
 		} else {
-			text = g_strdup_printf (_("%d items, totalling %s"),
+			text = g_strdup_printf (ngettext ("%d item, totalling %s",
+							  "%d items, totalling %s",
+							  total_count),
 						total_count, size_str);
 		}
 		g_free (size_str);
Index: src/file-manager/fm-search-list-view.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/file-manager/fm-search-list-view.c,v
retrieving revision 1.98
diff -u -r1.98 fm-search-list-view.c
--- src/file-manager/fm-search-list-view.c	30 Sep 2003 20:38:01 -0000	1.98
+++ src/file-manager/fm-search-list-view.c	2 Oct 2003 20:44:28 -0000
@@ -565,7 +565,10 @@
 		 * items visible (this comment is to inform translators of this 
 		 * tricky concept).
 		 */
-		name_with_underscore = g_strdup_printf (_("Reveal in %d _New Windows"), count);
+		name_with_underscore = g_strdup_printf (ngettext ("Reveal in %d _New Window",
+								  "Reveal in %d _New Windows",
+								  count),
+							count);
 	}
 
 	*return_sensitivity = selected_files != NULL;
