brasero r1522 - in trunk: . src src/plugins/cdrdao src/plugins/cdrkit src/plugins/cdrtools src/plugins/checksum src/plugins/dvdcss src/plugins/growisofs src/plugins/libburnia src/plugins/local-track src/plugins/transcode



Author: philippr
Date: Thu Nov 13 15:12:23 2008
New Revision: 1522
URL: http://svn.gnome.org/viewvc/brasero?rev=1522&view=rev

Log:
	Another string update:
	Fix capitalization problems
	Fix ends of strings
	Remove technical error messages
	Merged strings that say the same things differently

	Also rework the error enum

	* data/brasero.schemas.in:
	* src/brasero-app.c:
	* src/brasero-audio-disc.c (brasero_audio_disc_short_track_dialog),
	(brasero_audio_disc_file_type_error_dialog),
	(brasero_audio_disc_add_dir),
	(brasero_audio_disc_unreadable_dialog), (brasero_audio_disc_split),
	(brasero_audio_disc_inotify_removal_warning):
	* src/brasero-blank-dialog.c (brasero_blank_dialog_activate):
	* src/brasero-burn-dialog.c (brasero_burn_dialog_insert_disc_cb),
	(brasero_burn_dialog_disable_joliet_cb),
	(brasero_burn_dialog_show_log), (brasero_burn_dialog_notify_error):
	* src/brasero-burn-options.c (brasero_burn_options_valid_media_cb),
	(brasero_burn_options_init):
	* src/brasero-data-disc.c
	(brasero_data_disc_import_failure_dialog),
	(brasero_data_disc_project_oversized_cb),
	(brasero_data_disc_recursive_uri_cb),
	(brasero_data_disc_unknown_uri_cb), (brasero_data_disc_2G_file_cb),
	(brasero_data_disc_deep_directory_cb),
	(brasero_data_disc_import_button_new), (brasero_data_disc_init):
	* src/brasero-data-session.c
	(brasero_data_session_load_dir_result):
	* src/brasero-dest-selection.c
	(brasero_dest_selection_format_medium_string):
	* src/brasero-drive-properties.c
	(brasero_drive_properties_format_disc_speed):
	* src/brasero-file-filtered.c (brasero_file_filtered_add_real):
	* src/brasero-io.c (brasero_io_get_file_info_thread_real),
	(brasero_io_parse_playlist_get_uris),
	(brasero_io_load_directory_thread), (brasero_io_xfer_start):
	* src/brasero-jacket-view.c (brasero_jacket_view_set_image):
	* src/brasero-medium-selection.c
	(brasero_medium_selection_update_media_string),
	(brasero_medium_selection_show_type),
	(brasero_medium_selection_get_drive_num),
	(brasero_medium_selection_medium_added_cb),
	(brasero_medium_selection_medium_removed_cb):
	* src/brasero-playlist.c (brasero_playlist_dialog_error),
	(brasero_playlist_parse_result):
	* src/brasero-project-manager.c (brasero_project_manager_open_uri):
	* src/brasero-project.c (brasero_project_no_song_dialog),
	(brasero_project_no_file_dialog),
	(brasero_project_not_saved_dialog):
	* src/brasero-split-dialog.c
	(brasero_split_dialog_no_silence_message):
	* src/brasero-sum-dialog.c (brasero_sum_dialog_message),
	(brasero_sum_dialog_message_error), (brasero_sum_dialog_download),
	(brasero_sum_dialog_get_file_checksum),
	(brasero_sum_dialog_set_track_checksum_type):
	* src/brasero-tool-dialog.c (brasero_tool_dialog_media_error),
	(brasero_tool_dialog_media_busy), (brasero_tool_dialog_no_media):
	* src/brasero-utils.c (brasero_utils_launch_app),
	(brasero_utils_message_dialog):
	* src/brasero-video-disc.c (brasero_video_disc_directory_dialog),
	(brasero_video_disc_unreadable_uri_dialog),
	(brasero_video_disc_not_video_dialog):
	* src/burn-basics.h:
	* src/burn-caps.c (brasero_burn_caps_new_task),
	(brasero_burn_caps_new_checksuming_task):
	* src/burn-drive.c (brasero_drive_probing),
	(brasero_drive_check_medium_inside):
	* src/burn-drive.h:
	* src/burn-image-format.c (brasero_image_format_get_DATAFILE_info),
	(brasero_image_format_get_FILE_info),
	(brasero_image_format_get_cdrdao_size),
	(brasero_image_format_get_cue_size),
	(brasero_image_format_get_iso_size),
	(brasero_image_format_get_clone_size):
	* src/burn-iso9660.c (brasero_iso9660_is_primary_descriptor),
	(brasero_iso9660_next_record), (brasero_iso9660_read_file_record),
	(brasero_iso9660_read_directory_record):
	* src/burn-job.c (brasero_job_allow_deactivation),
	(brasero_job_check_output_disc_space),
	(brasero_job_check_output_volume_space),
	(brasero_job_set_output_file), (brasero_job_item_start),
	(brasero_job_finished_session), (brasero_job_finished_track),
	(brasero_job_set_nonblocking_fd):
	* src/burn-medium-monitor.c (brasero_medium_monitor_is_probing),
	(brasero_medium_monitor_get_media):
	* src/burn-medium-monitor.h:
	* src/burn-mkisofs-base.c (brasero_mkisofs_base_write_excluded),
	(brasero_mkisofs_base_write_graft),
	(brasero_mkisofs_base_add_graft):
	* src/burn-plugin-manager.c:
	* src/burn-process.c (brasero_process_check_path),
	(brasero_process_finished):
	* src/burn-session.c (brasero_burn_session_get_output),
	(brasero_burn_session_set_image_output_full),
	(brasero_burn_session_get_tmp_dir),
	(brasero_burn_session_get_tmp_file):
	* src/burn-volume-obj.c (brasero_volume_get_mount_point):
	* src/burn-volume.c (brasero_volume_get_primary_from_file):
	* src/burn.c (brasero_burn_eject), (brasero_burn_eject_dest_media),
	(brasero_burn_eject_src_media), (brasero_burn_ask_for_dest_media),
	(brasero_burn_lock_src_media),
	(brasero_burn_lock_rewritable_media),
	(brasero_burn_is_loaded_dest_media_supported),
	(brasero_burn_lock_dest_media), (brasero_burn_mount_media),
	(brasero_burn_lock_checksum_media), (brasero_burn_run_eraser),
	(brasero_burn_run_imager), (brasero_burn_run_recorder),
	(brasero_burn_check_real),
	(brasero_burn_check_session_consistency), (brasero_burn_check),
	(brasero_burn_same_src_dest_image),
	(brasero_burn_same_src_dest_reload_medium), (brasero_burn_record),
	(brasero_burn_blank):
	* src/main.c (brasero_app_parse_options):
	* src/plugins/cdrdao/burn-cdrdao.c
	(brasero_cdrdao_read_stderr_record), (brasero_cdrdao_read_stderr),
	(brasero_cdrdao_export_caps):
	* src/plugins/cdrdao/burn-toc2cue.c (brasero_toc2cue_export_caps):
	* src/plugins/cdrkit/burn-genisoimage.c
	(brasero_genisoimage_read_stderr),
	(brasero_genisoimage_set_argv_image),
	(brasero_genisoimage_export_caps):
	* src/plugins/cdrkit/burn-readom.c (brasero_readom_read_stderr),
	(brasero_readom_set_argv), (brasero_readom_export_caps):
	* src/plugins/cdrkit/burn-wodim.c (brasero_wodim_stderr_read),
	(brasero_wodim_stdout_read), (brasero_wodim_write_inf),
	(brasero_wodim_set_argv_record):
	* src/plugins/cdrtools/burn-cdrecord.c
	(brasero_cdrecord_stderr_read), (brasero_cdrecord_stdout_read),
	(brasero_cdrecord_write_inf), (brasero_cdrecord_set_argv_record):
	* src/plugins/cdrtools/burn-mkisofs.c
	(brasero_mkisofs_read_stderr), (brasero_mkisofs_set_argv_image),
	(brasero_mkisofs_export_caps):
	* src/plugins/cdrtools/burn-readcd.c (brasero_readcd_read_stderr),
	(brasero_readcd_set_argv), (brasero_readcd_export_caps):
	* src/plugins/checksum/burn-checksum-files.c
	(brasero_checksum_files_get_file_checksum),
	(brasero_checksum_files_add_file_checksum),
	(brasero_checksum_files_create_checksum),
	(brasero_checksum_files_check_files), (brasero_checksum_files_end),
	(brasero_checksum_files_export_caps):
	* src/plugins/checksum/burn-checksum-image.c
	(brasero_checksum_image_read), (brasero_checksum_image_write),
	(brasero_checksum_image_checksum_file_input),
	(brasero_checksum_image_end), (brasero_checksum_image_export_caps):
	* src/plugins/dvdcss/burn-dvdcss.c (brasero_dvdcss_library_init),
	(brasero_dvdcss_write_sector_to_fd),
	(brasero_dvdcss_write_image_thread):
	* src/plugins/growisofs/burn-dvd-rw-format.c
	(brasero_dvd_rw_format_read_stderr),
	(brasero_dvd_rw_format_export_caps):
	* src/plugins/growisofs/burn-growisofs.c
	(brasero_growisofs_read_stderr),
	(brasero_growisofs_set_argv_record),
	(brasero_growisofs_export_caps):
	* src/plugins/libburnia/burn-libburn-common.c
	(brasero_libburn_common_ctx_new):
	* src/plugins/libburnia/burn-libburn.c (brasero_libburn_add_track),
	(brasero_libburn_start_erase), (brasero_libburn_clock_tick):
	* src/plugins/libburnia/burn-libisofs.c
	(brasero_libisofs_write_sector_to_fd),
	(brasero_libisofs_write_image_to_file_thread),
	(brasero_libisofs_create_image),
	(brasero_libisofs_import_last_session),
	(brasero_libisofs_create_volume_thread),
	(brasero_libisofs_create_volume):
	* src/plugins/local-track/burn-local-image.c
	(brasero_local_track_recursive_transfer),
	(brasero_local_track_transfer):
	* src/plugins/local-track/burn-uri.c
	(brasero_burn_uri_explore_directory), (brasero_burn_uri_thread),
	(brasero_burn_uri_export_caps):
	* src/plugins/transcode/burn-normalize.c
	(brasero_normalize_set_next_track),
	(brasero_normalize_build_pipeline),
	(brasero_normalize_export_caps):
	* src/plugins/transcode/burn-transcode.c
	(brasero_transcode_create_pipeline),
	(brasero_transcode_create_sibling_image),
	(brasero_transcode_pad_real), (brasero_transcode_pad_file),
	(brasero_transcode_get_duration),
	(brasero_transcode_error_on_pad_linking):
	* src/plugins/transcode/burn-vob.c (brasero_vob_build_audio_pcm),
	(brasero_vob_build_audio_mp2), (brasero_vob_build_audio_ac3),
	(brasero_vob_build_audio_bins), (brasero_vob_build_video_bin),
	(brasero_vob_build_pipeline):
	* src/scsi-error.c:

Modified:
   trunk/ChangeLog
   trunk/src/brasero-app.c
   trunk/src/brasero-audio-disc.c
   trunk/src/brasero-blank-dialog.c
   trunk/src/brasero-burn-dialog.c
   trunk/src/brasero-burn-options.c
   trunk/src/brasero-data-disc.c
   trunk/src/brasero-data-session.c
   trunk/src/brasero-dest-selection.c
   trunk/src/brasero-drive-properties.c
   trunk/src/brasero-file-filtered.c
   trunk/src/brasero-io.c
   trunk/src/brasero-jacket-view.c
   trunk/src/brasero-medium-selection.c
   trunk/src/brasero-playlist.c
   trunk/src/brasero-project-manager.c
   trunk/src/brasero-project.c
   trunk/src/brasero-split-dialog.c
   trunk/src/brasero-sum-dialog.c
   trunk/src/brasero-tool-dialog.c
   trunk/src/brasero-utils.c
   trunk/src/brasero-video-disc.c
   trunk/src/burn-basics.h
   trunk/src/burn-caps.c
   trunk/src/burn-drive.c
   trunk/src/burn-drive.h
   trunk/src/burn-image-format.c
   trunk/src/burn-iso9660.c
   trunk/src/burn-job.c
   trunk/src/burn-medium-monitor.c
   trunk/src/burn-medium-monitor.h
   trunk/src/burn-mkisofs-base.c
   trunk/src/burn-plugin-manager.c
   trunk/src/burn-process.c
   trunk/src/burn-session.c
   trunk/src/burn-volume-obj.c
   trunk/src/burn-volume.c
   trunk/src/burn.c
   trunk/src/main.c
   trunk/src/plugins/cdrdao/burn-cdrdao.c
   trunk/src/plugins/cdrdao/burn-toc2cue.c
   trunk/src/plugins/cdrkit/burn-genisoimage.c
   trunk/src/plugins/cdrkit/burn-readom.c
   trunk/src/plugins/cdrkit/burn-wodim.c
   trunk/src/plugins/cdrtools/burn-cdrecord.c
   trunk/src/plugins/cdrtools/burn-mkisofs.c
   trunk/src/plugins/cdrtools/burn-readcd.c
   trunk/src/plugins/checksum/burn-checksum-files.c
   trunk/src/plugins/checksum/burn-checksum-image.c
   trunk/src/plugins/dvdcss/burn-dvdcss.c
   trunk/src/plugins/growisofs/burn-dvd-rw-format.c
   trunk/src/plugins/growisofs/burn-growisofs.c
   trunk/src/plugins/libburnia/burn-libburn-common.c
   trunk/src/plugins/libburnia/burn-libburn.c
   trunk/src/plugins/libburnia/burn-libisofs.c
   trunk/src/plugins/local-track/burn-local-image.c
   trunk/src/plugins/local-track/burn-uri.c
   trunk/src/plugins/transcode/burn-normalize.c
   trunk/src/plugins/transcode/burn-transcode.c
   trunk/src/plugins/transcode/burn-vob.c
   trunk/src/scsi-error.c

Modified: trunk/src/brasero-app.c
==============================================================================
--- trunk/src/brasero-app.c	(original)
+++ trunk/src/brasero-app.c	Thu Nov 13 15:12:23 2008
@@ -100,7 +100,7 @@
 	 N_("Choose plugins for brasero"), G_CALLBACK (on_prefs_cb)},
 
 	{"Eject", "media-eject", N_("E_ject"), NULL,
-	 N_("Eject media"), G_CALLBACK (on_eject_cb)},
+	 N_("Eject a disc"), G_CALLBACK (on_eject_cb)},
 
 	{"Erase", "media-optical-blank", N_("_Erase..."), NULL,
 	 N_("Erase a disc"), G_CALLBACK (on_erase_cb)},

Modified: trunk/src/brasero-audio-disc.c
==============================================================================
--- trunk/src/brasero-audio-disc.c	(original)
+++ trunk/src/brasero-audio-disc.c	Thu Nov 13 15:12:23 2008
@@ -1146,7 +1146,7 @@
 {
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (disc)),
 				      _("The track will be padded at its end."),
-				      ("The track is shorter than 6 seconds."),
+				      _("The track is shorter than 6 seconds"),
 				      GTK_MESSAGE_WARNING);
 }
 
@@ -1325,10 +1325,10 @@
 	}
 
     	BRASERO_GET_BASENAME_FOR_DISPLAY (uri, name);
-	primary = g_strdup_printf (_("\"%s\" can't be handled by gstreamer."), name);
+	primary = g_strdup_printf (_("\"%s\" could not be handled by gstreamer."), name);
 	brasero_utils_message_dialog (toplevel,
 				      primary,
-				      _("Make sure the appropriate codec is installed."),
+				      _("Make sure the appropriate codec is installed"),
 				      GTK_MESSAGE_ERROR);
 	g_free (primary);
 	g_free (name);
@@ -1493,7 +1493,7 @@
 					 _("Do you want to search for audio files inside the directory?"));
 
 	gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
-						  _("Directories can't be added to an audio disc."));
+						  _("Directories cannot be added to an audio disc."));
 
 	gtk_dialog_add_buttons (GTK_DIALOG (dialog),
 				GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
@@ -1561,7 +1561,7 @@
 		return;
 	}
 
-	primary = g_strdup_printf (_("File \"%s\" can't be opened."), name);
+	primary = g_strdup_printf (_("\"%s\" could not be opened."), name);
 	brasero_utils_message_dialog (toplevel,
 				      primary,
 				      error->message,
@@ -2748,7 +2748,7 @@
 	if (g_list_length (selected) > 1) {
 		brasero_utils_message_dialog (toplevel,
 					      _("Select one song only please."),
-					      _("Impossible to split more than one song at a time."),
+					      _("Impossible to split more than one song at a time"),
 					      GTK_MESSAGE_ERROR);
 
 		g_list_foreach (selected, (GFunc) gtk_tree_path_free, NULL);
@@ -3630,7 +3630,7 @@
 	primary = g_strdup_printf (_("\"%s\" was removed from the file system."), name);
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (disc)),
 				      primary,
-				      _("It will be removed from the project."),
+				      _("It will be removed from the project"),
 				      GTK_MESSAGE_WARNING);
 	g_free (primary);
 	g_free (name);

Modified: trunk/src/brasero-blank-dialog.c
==============================================================================
--- trunk/src/brasero-blank-dialog.c	(original)
+++ trunk/src/brasero-blank-dialog.c	Thu Nov 13 15:12:23 2008
@@ -203,7 +203,6 @@
 		GtkWidget *message;
 		GtkWidget *button;
 
-		/* FIXME: error in string (capital letter) */
 		/* Translators: the following string means there was an error
 		 * while blanking. */
 		message =  gtk_message_dialog_new (GTK_WINDOW (self),

Modified: trunk/src/brasero-burn-dialog.c
==============================================================================
--- trunk/src/brasero-burn-dialog.c	(original)
+++ trunk/src/brasero-burn-dialog.c	Thu Nov 13 15:12:23 2008
@@ -496,55 +496,47 @@
 
 	if (error == BRASERO_BURN_WARNING_INSERT_AFTER_COPY) {
 		secondary_message = g_strdup (_("An image of the disc has been created on your hard drive."
-						"\nBurning will begin as soon as a recordable medium is inserted."));
+						"\nBurning will begin as soon as a recordable disc is inserted."));
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, FALSE);
 	}
 	else if (error == BRASERO_BURN_WARNING_CHECKSUM) {
-		secondary_message = g_strdup (_("A data integrity test will begin as soon as the medium is inserted."));
+		secondary_message = g_strdup (_("A data integrity test will begin as soon as the disc is inserted."));
 		main_message = g_strdup (_("Please, re-insert the disc in the CD/DVD burner."));
 	}
-	else if (error == BRASERO_BURN_ERROR_MEDIA_BUSY) {
+	else if (error == BRASERO_BURN_ERROR_DRIVE_BUSY) {
 		/* Translators: %s is the name of a drive */
 		main_message = g_strdup_printf (_("\"%s\" is busy."), drive_name);
-		secondary_message = g_strdup (_("Make sure another application is not using it."));
+		secondary_message = g_strdup_printf ("%s.", _("Make sure another application is not using it"));
 	} 
-	else if (error == BRASERO_BURN_ERROR_MEDIA_NONE) {
+	else if (error == BRASERO_BURN_ERROR_MEDIUM_NONE) {
 		secondary_message = g_strdup_printf (_("There is no disc in \"%s\"."), drive_name);
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, TRUE);
 	}
-	else if (error == BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED) {
+	else if (error == BRASERO_BURN_ERROR_MEDIUM_INVALID) {
 		secondary_message = g_strdup_printf (_("The disc in \"%s\" is not supported."), drive_name);
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, TRUE);
 	}
-	else if (error == BRASERO_BURN_ERROR_MEDIA_NOT_REWRITABLE) {
+	else if (error == BRASERO_BURN_ERROR_MEDIUM_NOT_REWRITABLE) {
 		secondary_message = g_strdup_printf (_("The disc in \"%s\" is not rewritable."), drive_name);
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, FALSE);
 	}
-	else if (error == BRASERO_BURN_ERROR_MEDIA_BLANK) {
+	else if (error == BRASERO_BURN_ERROR_MEDIUM_NO_DATA) {
 		secondary_message = g_strdup_printf (_("The disc in \"%s\" is empty."), drive_name);
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, FALSE);
 	}
-	else if (error == BRASERO_BURN_ERROR_MEDIA_NOT_WRITABLE) {
+	else if (error == BRASERO_BURN_ERROR_MEDIUM_NOT_WRITABLE) {
 		secondary_message = g_strdup_printf (_("The disc in \"%s\" is not writable."), drive_name);
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, FALSE);
 	}
-	else if (error == BRASERO_BURN_ERROR_DVD_NOT_SUPPORTED) {
-		secondary_message = g_strdup_printf (_("The disc in \"%s\" is a DVD."), drive_name);
-		main_message = brasero_burn_dialog_get_media_type_string (burn, type, FALSE);
-	}
-	else if (error == BRASERO_BURN_ERROR_CD_NOT_SUPPORTED) {
-		secondary_message = g_strdup_printf (_("The disc in \"%s\" is a CD."), drive_name);
-		main_message = brasero_burn_dialog_get_media_type_string (burn, type, FALSE);
-	}
-	else if (error == BRASERO_BURN_ERROR_MEDIA_SPACE) {
-		secondary_message = g_strdup_printf (_("The disc in \"%s\" is not big enough."), drive_name);
+	else if (error == BRASERO_BURN_ERROR_MEDIUM_SPACE) {
+		secondary_message = g_strdup_printf (_("Not enough space available on the disc in \"%s\"."), drive_name);
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, FALSE);
 	}
 	else if (error == BRASERO_BURN_ERROR_NONE) {
 		main_message = brasero_burn_dialog_get_media_type_string (burn, type, TRUE);
 		secondary_message = NULL;
 	}
-	else if (error == BRASERO_BURN_ERROR_RELOAD_MEDIA) {
+	else if (error == BRASERO_BURN_ERROR_MEDIUM_NEED_RELOADING) {
 		secondary_message = g_strdup_printf (_("The disc in \"%s\" needs to be reloaded."), drive_name);
 		main_message = g_strdup (_("Please, eject the disc and reload it."));
 	}
@@ -785,7 +777,7 @@
 					  GTK_DIALOG_MODAL,
 					  GTK_MESSAGE_WARNING,
 					  GTK_BUTTONS_NONE,
-					  _("Do you want to continue with Windows compatibility disabled?"));
+					  _("Do you want to continue with full Windows compatibility disabled?"));
 
 	gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (message),
 						  _("Some files don't have a suitable name for a fully Windows-compatible CD."));
@@ -1450,7 +1442,7 @@
 	if (g_stat (logfile, &stats) == -1) {
 		brasero_utils_message_dialog (GTK_WIDGET (dialog),
 					      _("The session log cannot be displayed."),
-					      _("The log file could not be found."),
+					      _("The log file could not be found"),
 					      GTK_MESSAGE_ERROR);
 		gtk_widget_destroy (message);
 		return;
@@ -1553,7 +1545,7 @@
 		g_error_free (error);
 	}
 	else
-		secondary = g_strdup (_("An unknown error occured. Check your disc."));
+		secondary = g_strdup (_("An unknown error occured."));
 
 	if (!GTK_WIDGET_VISIBLE (dialog))
 		gtk_widget_show (GTK_WIDGET (dialog));

Modified: trunk/src/brasero-burn-options.c
==============================================================================
--- trunk/src/brasero-burn-options.c	(original)
+++ trunk/src/brasero-burn-options.c	Thu Nov 13 15:12:23 2008
@@ -257,7 +257,7 @@
 	else if (valid == BRASERO_SESSION_NO_OUTPUT) {
 		brasero_notify_message_add (BRASERO_NOTIFY (priv->message_output),
 					    _("Please, insert a recordable CD or DVD."),
-					    _("There is no recordable medium inserted."),
+					    _("There is no recordable disc inserted."),
 					    -1,
 					    BRASERO_NOTIFY_CONTEXT_SIZE);
 	}
@@ -268,7 +268,7 @@
 			gtk_widget_show (priv->message_input);
 			message = brasero_notify_message_add (BRASERO_NOTIFY (priv->message_input),
 							      _("Please, insert a disc holding data."),
-							      _("There is no inserted medium to copy."),
+							      _("There is no inserted disc to copy."),
 							      -1,
 							      BRASERO_NOTIFY_CONTEXT_SIZE);
 		}
@@ -304,7 +304,7 @@
 			gtk_widget_show (priv->message_input);
 			message = brasero_notify_message_add (BRASERO_NOTIFY (priv->message_input),
 							      _("Please, insert a disc that is not copy protected."),
-							      _("Such a medium can't be copied without the proper plugins."),
+							      _("Such a disc cannot be copied without the proper plugins."),
 							      -1,
 							      BRASERO_NOTIFY_CONTEXT_SIZE);
 		}
@@ -322,7 +322,7 @@
 		message = brasero_notify_message_add (BRASERO_NOTIFY (priv->message_output),
 						      _("Would you like to burn beyond the disc reported capacity?"),
 						      _("The size of the project is too large for the disc."
-							"\nYou may want to use this option if you're using 90 or 100 min CD-R(W) which can't be properly recognised and therefore need overburn option."
+							"\nYou may want to use this option if you are using 90 or 100 min CD-R(W) which cannot be properly recognised and therefore need overburn option."
 							"\nNOTE: This option might cause failure."),
 						      -1,
 						      BRASERO_NOTIFY_CONTEXT_SIZE);
@@ -420,8 +420,8 @@
 
 	/* Medium info */
 	string = g_strdup_printf ("<b><i>%s</i></b>\n<i>%s</i>",
-				  _("The drive that holds the source media will also be the one used to record."),
-				  _("A new recordable media will be required once the one currently loaded has been copied."));
+				  _("The drive that holds the source disc will also be the one used to record."),
+				  _("A new recordable disc will be required once the one currently loaded has been copied."));
 	priv->warning = gtk_label_new (string);
 	g_free (string);
 

Modified: trunk/src/brasero-data-disc.c
==============================================================================
--- trunk/src/brasero-data-disc.c	(original)
+++ trunk/src/brasero-data-disc.c	Thu Nov 13 15:12:23 2008
@@ -215,8 +215,8 @@
 					 GError *error)
 {
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (disc)),
-				      _("The session couldn't be imported."),
-				      error?error->message:_("Unknown error."),
+				      _("The session could not be imported."),
+				      error?error->message:_("An unknown error occured"),
 				      GTK_MESSAGE_WARNING);
 }
 
@@ -611,7 +611,7 @@
 		message = brasero_notify_message_add (BRASERO_NOTIFY (priv->message),
 						      _("Would you like to burn beyond the disc reported capacity?"),
 						      _("The size of the project is too large for the disc and you must remove files from the project otherwise."
-							"\nYou may want to use this option if you're using 90 or 100 min CD-R(W) which can't be properly recognised and therefore need overburn option."
+							"\nYou may want to use this option if you're using 90 or 100 min CD-R(W) which cannot be properly recognised and therefore need overburn option."
 							"\nNOTE: This option might cause failure."),
 						      -1,
 						      BRASERO_NOTIFY_CONTEXT_SIZE);
@@ -928,7 +928,7 @@
 	primary = g_strdup_printf (_("\"%s\" cannot be added to the selection."), name);
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (self)),
 				      primary,
-				      _("It is a recursive symlink."),
+				      _("It is a recursive symlink"),
 				      GTK_MESSAGE_ERROR);
 	g_free (primary);
 	g_free (name);
@@ -959,7 +959,7 @@
 	primary = g_strdup_printf (_("\"%s\" cannot be added to the selection."), name);
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (self)),
 				      primary,
-				      _("It doesn't exist at the specified location."),
+				      _("It doesn't exist at the specified location"),
 				      GTK_MESSAGE_ERROR);
 	g_free (primary);
 	g_free (name);
@@ -1039,7 +1039,7 @@
 	gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
 						  _("The size of the file is over 2 GiB. This isn't supported by ISO9660 standard in his first and second versions (the most widespread ones)."
 						    "\nIt is recommended to use the third version of ISO9660 standard which is supported by most of the operating systems including Linux and all versions of Windows Â."
-						    "\nA known exception is MacOS X that can't read images created with version 3 of ISO9660 standard."));
+						    "\nA known exception is MacOS X that cannot read images created with version 3 of ISO9660 standard."));
 
 	gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_NO);
 	gtk_dialog_add_button (GTK_DIALOG (dialog), _("_Add File"), GTK_RESPONSE_YES);
@@ -1084,7 +1084,7 @@
 
 	gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
 						  _("The children of this directory will have 6 parent directories. This is a violation of the ISO9660 standard which only allows 6."
-						    "\nBrasero can create an image of such a file hierarchy and burn it; but the media may not be readable on all operating systems."
+						    "\nBrasero can create an image of such a file hierarchy and burn it; but the disc may not be readable on all operating systems."
 						    "\nNOTE: Such a file hierarchy is known to work on linux."));
 
 	gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_NO);
@@ -1197,7 +1197,7 @@
 
 	/* Translators: This is a verb. It's a toolbar button. */
 	g_object_set (action,
-		      "short-label", _("I_mport"), /* for toolbar buttons */
+		      "short-label", _("I_mport"),
 		      NULL);
 
 	description = g_strdup_printf ("<ui>"
@@ -2526,7 +2526,6 @@
 						nb_targets_source,
 						GDK_ACTION_MOVE);
 
-	/* FIXME: ..... */
 	g_signal_connect (G_OBJECT (priv->tree),
 			  "row-expanded",
 			  G_CALLBACK (brasero_data_disc_row_expanded_cb),

Modified: trunk/src/brasero-data-session.c
==============================================================================
--- trunk/src/brasero-data-session.c	(original)
+++ trunk/src/brasero-data-session.c	Thu Nov 13 15:12:23 2008
@@ -230,11 +230,9 @@
 			       0,
 			       priv->loaded,
 			       FALSE);
-		/* FIXME */
-/*		error = g_error_new (BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("unknown volume type"));
-*/		return;
+
+		/* FIXME: tell the user the error message */
+		return;
 	}
 
 	reference = GPOINTER_TO_INT (data);

Modified: trunk/src/brasero-dest-selection.c
==============================================================================
--- trunk/src/brasero-dest-selection.c	(original)
+++ trunk/src/brasero-dest-selection.c	Thu Nov 13 15:12:23 2008
@@ -435,7 +435,7 @@
 			 * destination disc a new one (once the source has been
 			 * copied) which is to be inserted in the drive currently
 			 * holding the source disc */
-			label = g_strdup_printf (_("New disc in burner holding source medium"));
+			label = g_strdup_printf (_("New disc in the burner holding source disc"));
 			g_free (medium_name);
 			return label;
 		}

Modified: trunk/src/brasero-drive-properties.c
==============================================================================
--- trunk/src/brasero-drive-properties.c	(original)
+++ trunk/src/brasero-drive-properties.c	Thu Nov 13 15:12:23 2008
@@ -349,10 +349,11 @@
 		text = g_strdup_printf (_("%.1f x (CD)"),
 					BRASERO_RATE_TO_SPEED_CD (rate));
 	else if (media & BRASERO_MEDIUM_BD)
-		text = g_strdup_printf (_("%.1f x (DVD)"), /* FIXME */
+		text = g_strdup_printf (_("%.1f x (BD)"),
 					BRASERO_RATE_TO_SPEED_BD (rate));
 	else
-		text = g_strdup_printf (_("%.1f x (DVD) %.1f x (CD)"),
+		text = g_strdup_printf (_("%.1f x (BD) %.1f x (DVD) %.1f x (CD)"),
+					BRASERO_RATE_TO_SPEED_BD (rate),
 					BRASERO_RATE_TO_SPEED_DVD (rate),
 					BRASERO_RATE_TO_SPEED_CD (rate));
 

Modified: trunk/src/brasero-file-filtered.c
==============================================================================
--- trunk/src/brasero-file-filtered.c	(original)
+++ trunk/src/brasero-file-filtered.c	Thu Nov 13 15:12:23 2008
@@ -183,10 +183,10 @@
 				const gchar *unescaped_uri,
 				BraseroFilterStatus status)
 {
-	gchar *labels [] = { N_("hidden file"),
-			     N_("unreadable file"),
-			     N_("broken symlink"),
-			     N_("recursive symlink"),
+	gchar *labels [] = { N_("Hidden file"),
+			     N_("Unreadable file"),
+			     N_("Broken symbolic link"),
+			     N_("Recursive symbolic link"),
 			     NULL };
 	BraseroFileFilteredPrivate *priv;
 	const gchar *stock_id;

Modified: trunk/src/brasero-io.c
==============================================================================
--- trunk/src/brasero-io.c	(original)
+++ trunk/src/brasero-io.c	Thu Nov 13 15:12:23 2008
@@ -1040,7 +1040,7 @@
 			g_set_error (error,
 				     BRASERO_ERROR,
 				     BRASERO_ERROR_SYMLINK_LOOP,
-				     _("recursive symbolic link"));
+				     _("Recursive symbolic link"));
 
 			g_object_unref (info);
 			g_object_unref (file);
@@ -1247,7 +1247,7 @@
 		g_set_error (error,
 			     BRASERO_ERROR,
 			     BRASERO_ERROR_GENERAL,
-			     _("the file doesn't appear to be a playlist"));
+			     _("The file does not appear to be a playlist"));
 
 		return FALSE;
 	}
@@ -1887,7 +1887,7 @@
 			if (!brasero_io_check_symlink_target (file, info)) {
 				error = g_error_new (BRASERO_ERROR,
 						     BRASERO_ERROR_SYMLINK_LOOP,
-						     _("recursive symbolic link"));
+						     _("Recursive symbolic link"));
 
 				/* since we checked for the existence of the file
 				 * an error means a looping symbolic link */
@@ -2349,7 +2349,7 @@
 			g_set_error (error,
 				     BRASERO_ERROR,
 				     BRASERO_ERROR_GENERAL,
-				     _("a directory couldn't be created (%s)"),
+				     _("A directory could not be created (%s)"),
 				     g_strerror (errsv));
 			return FALSE;
 		}

Modified: trunk/src/brasero-jacket-view.c
==============================================================================
--- trunk/src/brasero-jacket-view.c	(original)
+++ trunk/src/brasero-jacket-view.c	Thu Nov 13 15:12:23 2008
@@ -1092,7 +1092,7 @@
 	image = gdk_pixbuf_new_from_file (path, &error);
 	if (error) {
 		brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (self)),
-					      _("The image couldn't be loaded."),
+					      _("The image could not be loaded."),
 					      error->message,
 					      GTK_MESSAGE_ERROR);
 		g_error_free (error);

Modified: trunk/src/brasero-medium-selection.c
==============================================================================
--- trunk/src/brasero-medium-selection.c	(original)
+++ trunk/src/brasero-medium-selection.c	Thu Nov 13 15:12:23 2008
@@ -167,7 +167,9 @@
 {
 	GtkTreeModel *model;
 	GtkTreeIter iter;
+	gboolean valid;
 
+	valid = FALSE;
 	model = gtk_combo_box_get_model (GTK_COMBO_BOX (self));
 	if (!gtk_tree_model_get_iter_first (model, &iter))
 		return;
@@ -191,7 +193,6 @@
 		g_object_unref (medium);
 		g_free (label);
 	} while (gtk_tree_model_iter_next (model, &iter));
-
 }
 
 static void
@@ -341,13 +342,14 @@
 			if (!node) {
 				if (gtk_list_store_remove (GTK_LIST_STORE (model), &iter)) {
 					g_signal_emit (self,
-						       brasero_medium_selection_signals [ADDED_SIGNAL],
+						       brasero_medium_selection_signals [REMOVED_SIGNAL],
 						       0);
 					continue;
 				}
 
+				/* no more iter in the tree  get out */
 				g_signal_emit (self,
-					       brasero_medium_selection_signals [ADDED_SIGNAL],
+					       brasero_medium_selection_signals [REMOVED_SIGNAL],
 					       0);
 				break;
 			}
@@ -385,16 +387,31 @@
 	}
 
 	if (!gtk_tree_model_get_iter_first (model, &iter)) {
-		/* Nothing's available =(. Say it. */
+		BraseroMediumMonitor *monitor;
+
+		/* Nothing's available. Say it. Two cases here, it's either
+		 * because we're still probing drives or because they aren't
+		 * actually any available medium. */
 		gtk_list_store_append (GTK_LIST_STORE (model), &iter);
-		gtk_list_store_set (GTK_LIST_STORE (model), &iter,
-				    NAME_COL, _("No available medium"),
-				    -1),
+
+		monitor = brasero_medium_monitor_get_default ();
+		brasero_medium_monitor_is_probing (monitor);
+		if (brasero_medium_monitor_is_probing (monitor))
+			gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+					    NAME_COL, _("Searching for available discs"),
+					    -1);
+		else
+			gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+					    NAME_COL, _("No available disc"),
+					    -1);
+		g_object_unref (monitor);
 
 		gtk_combo_box_set_active_iter (GTK_COMBO_BOX (self), &iter);
+		gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
 		return;
 	}
 
+	gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
 	if (gtk_combo_box_get_active (GTK_COMBO_BOX (self)) == -1)
 		gtk_combo_box_set_active_iter (GTK_COMBO_BOX (self), &iter);
 }
@@ -402,13 +419,30 @@
 guint
 brasero_medium_selection_get_drive_num (BraseroMediumSelection *self)
 {
-	BraseroMediumSelectionPrivate *priv;
 	GtkTreeModel *model;
-
-	priv = BRASERO_MEDIUM_SELECTION_PRIVATE (self);
+	GtkTreeIter iter;
+	int num = 0;
 
 	model = gtk_combo_box_get_model (GTK_COMBO_BOX (self));
-	return gtk_tree_model_iter_n_children (model, NULL);
+	if (!gtk_tree_model_get_iter_first (model, &iter))
+		return 0;
+
+	do {
+		BraseroMedium *medium;
+
+		medium = NULL;
+		gtk_tree_model_get (model, &iter,
+				    MEDIUM_COL, &medium,
+				    -1);
+		if (!medium)
+			continue;
+
+		g_object_unref (medium);
+		num ++;
+
+	} while (gtk_tree_model_iter_next (model, &iter));
+
+	return num;
 }
 
 static void
@@ -473,6 +507,7 @@
 			    -1);
 	g_free (medium_name);
 
+	gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
 	if (gtk_combo_box_get_active (GTK_COMBO_BOX (self)) == -1)
 		gtk_combo_box_set_active_iter (GTK_COMBO_BOX (self), &iter);
 
@@ -516,16 +551,29 @@
 	} while (gtk_tree_model_iter_next (model, &iter));
 
 	if (!gtk_tree_model_get_iter_first (model, &iter)) {
+		BraseroMediumMonitor *monitor;
+
 		/* Nothing's available any more =(. Say it. */
 		gtk_list_store_append (GTK_LIST_STORE (model), &iter);
-		gtk_list_store_set (GTK_LIST_STORE (model), &iter,
-				    NAME_COL, _("No available medium"),
-				    -1),
+
+		monitor = brasero_medium_monitor_get_default ();
+		brasero_medium_monitor_is_probing (monitor);
+		if (brasero_medium_monitor_is_probing (monitor))
+			gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+					    NAME_COL, _("Searching for available discs"),
+					    -1);
+		else
+			gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+					    NAME_COL, _("No available disc"),
+					    -1);
+		g_object_unref (monitor);
 
 		gtk_combo_box_set_active_iter (GTK_COMBO_BOX (self), &iter);
+		gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
 		return;
 	}
 
+	gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
 	if (gtk_combo_box_get_active (GTK_COMBO_BOX (self)) == -1)
 		gtk_combo_box_set_active_iter (GTK_COMBO_BOX (self), &iter);
 }

Modified: trunk/src/brasero-playlist.c
==============================================================================
--- trunk/src/brasero-playlist.c	(original)
+++ trunk/src/brasero-playlist.c	Thu Nov 13 15:12:23 2008
@@ -813,7 +813,7 @@
 	primary = g_strdup_printf (_("Error parsing playlist \"%s\"."), name);
 	brasero_utils_message_dialog (GTK_WIDGET (toplevel),
 				      primary,
-				      _("Unknown error."),
+				      _("An unknown error occured"),
 				      GTK_MESSAGE_ERROR);
 	g_free (primary);
 	g_free (name);
@@ -917,7 +917,7 @@
 	/* update the playlist information */
 	num = gtk_tree_model_iter_n_children (model, &parent);
 	if (!num)
-		num_string = g_strdup (_("empty"));
+		num_string = g_strdup (_("Empty"));
 	else
 		num_string = g_strdup_printf (ngettext ("%d song", "%d songs", num), num);
 

Modified: trunk/src/brasero-project-manager.c
==============================================================================
--- trunk/src/brasero-project-manager.c	(original)
+++ trunk/src/brasero-project-manager.c	Thu Nov 13 15:12:23 2008
@@ -1048,7 +1048,7 @@
 	else {
 		gchar *string;
 
-		string = g_strdup_printf (_("The project '%s' does not exist."), uri);
+		string = g_strdup_printf (_("The project \"%s\" does not exist"), uri);
 		brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (manager)),
 					      _("Error while loading the project."),
 					      string,

Modified: trunk/src/brasero-project.c
==============================================================================
--- trunk/src/brasero-project.c	(original)
+++ trunk/src/brasero-project.c	Thu Nov 13 15:12:23 2008
@@ -822,7 +822,7 @@
 {
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (project)),
 				      _("Please add songs to the project."),
-				      _("The project is empty."),
+				      _("The project is empty"),
 				      GTK_MESSAGE_WARNING);
 }
 
@@ -831,7 +831,7 @@
 {
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (project)),
 				      _("Please add files to the project."),
-				      _("The project is empty."),
+				      _("The project is empty"),
 				      GTK_MESSAGE_WARNING);
 }
 
@@ -2176,7 +2176,7 @@
 	error = xmlGetLastError ();
 	brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (project)),
 				      _("Your project has not been saved."),
-				      error?error->message:_("Unknown error."),
+				      error?error->message:_("An unknown error occured"),
 				      GTK_MESSAGE_ERROR);
 	xmlResetLastError ();
 }

Modified: trunk/src/brasero-split-dialog.c
==============================================================================
--- trunk/src/brasero-split-dialog.c	(original)
+++ trunk/src/brasero-split-dialog.c	Thu Nov 13 15:12:23 2008
@@ -592,7 +592,7 @@
 {
 	brasero_utils_message_dialog (GTK_WIDGET (self),
 				      _("The track wasn't split."),
-				      _("No silence could be detected."),
+				      _("No silence could be detected"),
 				      GTK_MESSAGE_WARNING);
 }
 

Modified: trunk/src/brasero-sum-dialog.c
==============================================================================
--- trunk/src/brasero-sum-dialog.c	(original)
+++ trunk/src/brasero-sum-dialog.c	Thu Nov 13 15:12:23 2008
@@ -115,7 +115,7 @@
 					  "%s", primary_message);
 
 	gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (message),
-						  "%s",
+						  "%s.",
 						  secondary_message);
 
 	button = brasero_utils_make_button (_("Check _Again"),
@@ -150,7 +150,7 @@
 
 	return brasero_sum_dialog_message (self,
 					   _("The file integrity check could not be performed."),
-					   error ? error->message:_("Unknown error."),
+					   error ? error->message:_("An unknown error occured"),
 					   GTK_MESSAGE_ERROR);
 }
 
@@ -303,11 +303,15 @@
 				   g_get_tmp_dir ());
 	fd = g_mkstemp (tmppath);
 	if (fd < 0) {
+		int errnum = errno;
+
 		g_free (tmppath);
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("A temporary file could not be created."));
+			     _("A temporary file could not be created (%s)"),
+			     g_strerror (errnum));
+
 		return BRASERO_BURN_ERR;
 	}
 	close (fd);
@@ -362,7 +366,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("URI is not valid."));
+			     _("\"%s\" is not a valid URI"),
+			     file_path);
 		return BRASERO_BURN_ERR;
 	}
 
@@ -582,7 +587,7 @@
 	g_set_error (error,
 		     BRASERO_ERROR,
 		     BRASERO_ERROR_GENERAL,
-		     _("no checksum file could be found on the disc."));
+		     _("No checksum file could be found on the disc"));
 
 	return BRASERO_CHECKSUM_NONE;
 }

Modified: trunk/src/brasero-tool-dialog.c
==============================================================================
--- trunk/src/brasero-tool-dialog.c	(original)
+++ trunk/src/brasero-tool-dialog.c	Thu Nov 13 15:12:23 2008
@@ -75,7 +75,7 @@
 {
 	brasero_utils_message_dialog (GTK_WIDGET (self),
 				     _("The operation cannot be performed."),
-				     _("The inserted media is not supported."),
+				     _("The disc is not supported"),
 				     GTK_MESSAGE_ERROR);
 }
 
@@ -84,9 +84,9 @@
 {
 	gchar *string;
 
-	string = g_strdup_printf ("%s %s",
-				  _("The drive is busy."),
-				  _("Make sure another application is not using it."));
+	string = g_strdup_printf ("%s. %s",
+				  _("The drive is busy"),
+				  _("Make sure another application is not using it"));
 	brasero_utils_message_dialog (GTK_WIDGET (self),
 				     _("The operation cannot be performed."),
 				     string,
@@ -99,7 +99,7 @@
 {
 	brasero_utils_message_dialog (GTK_WIDGET (self),
 				     _("The operation cannot be performed."),
-				     _("The drive is empty."),
+				     _("The drive is empty"),
 				     GTK_MESSAGE_ERROR);
 }
 

Modified: trunk/src/brasero-utils.c
==============================================================================
--- trunk/src/brasero-utils.c	(original)
+++ trunk/src/brasero-utils.c	Thu Nov 13 15:12:23 2008
@@ -468,10 +468,14 @@
 		uri = item->data;
 
 		if (!g_app_info_launch_default_for_uri (uri, NULL, &error)) {
+			gchar *string;
+
+			string = g_strdup_printf ("\"%s\" could not be opened", uri);
 			brasero_utils_message_dialog (gtk_widget_get_toplevel (GTK_WIDGET (widget)),
-						      _("This file can't be opened."),
+						      string,
 						      error->message,
 						      GTK_MESSAGE_ERROR);
+			g_free (string);
 			g_error_free (error);
 			continue;
 		}
@@ -523,7 +527,7 @@
 
 	if (secondary_message)
 		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (message),
-							  "%s",
+							  "%s.",
 							  secondary_message);
 
 	gtk_dialog_run (GTK_DIALOG (message));

Modified: trunk/src/brasero-video-disc.c
==============================================================================
--- trunk/src/brasero-video-disc.c	(original)
+++ trunk/src/brasero-video-disc.c	Thu Nov 13 15:12:23 2008
@@ -245,7 +245,7 @@
 					 _("Do you want to search for video files inside the directory?"));
 
 	gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
-						  _("Directories can't be added to video disc."));
+						  _("Directories cannot be added to video discs."));
 
 	gtk_dialog_add_buttons (GTK_DIALOG (dialog),
 				GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
@@ -281,7 +281,7 @@
 	}
 
 	name = g_filename_display_basename (uri);
-	primary = g_strdup_printf (_("File \"%s\" can't be opened."), name);
+	primary = g_strdup_printf (_("\"%s\" could not be opened."), name);
 	brasero_utils_message_dialog (toplevel,
 				      primary,
 				      error->message,
@@ -309,7 +309,7 @@
 	primary = g_strdup_printf (_("\"%s\" does not have a suitable type for video projects."), name);
 	brasero_utils_message_dialog (toplevel,
 				      primary,
-				      _("Please only add files with video contents."),
+				      _("Please only add files with video contents"),
 				      GTK_MESSAGE_ERROR);
 	g_free (primary);
 	g_free (name);

Modified: trunk/src/burn-basics.h
==============================================================================
--- trunk/src/burn-basics.h	(original)
+++ trunk/src/burn-basics.h	Thu Nov 13 15:12:23 2008
@@ -54,29 +54,35 @@
 	BRASERO_BURN_ERROR_NONE,
 	BRASERO_BURN_ERROR_GENERAL,
 
-	BRASERO_BURN_ERROR_TMP_DIR,
-	BRASERO_BURN_ERROR_FILE_EXIST,
-	BRASERO_BURN_ERROR_INVALID_FILE,
-	BRASERO_BURN_ERROR_INCOMPATIBLE_FORMAT,
-	BRASERO_BURN_ERROR_JOLIET_TREE,
+	BRASERO_BURN_ERROR_PLUGIN_MISBEHAVIOR,
 
-	BRASERO_BURN_ERROR_SCSI_IOCTL,
 	BRASERO_BURN_ERROR_SLOW_DMA,
 	BRASERO_BURN_ERROR_PERMISSION,
-	BRASERO_BURN_ERROR_BUSY_DRIVE,
-
+	BRASERO_BURN_ERROR_DRIVE_BUSY,
 	BRASERO_BURN_ERROR_DISK_SPACE,
 
-	BRASERO_BURN_ERROR_MEDIA_SPACE,
-	BRASERO_BURN_ERROR_RELOAD_MEDIA,
-	BRASERO_BURN_ERROR_MEDIA_BLANK,
-	BRASERO_BURN_ERROR_MEDIA_BUSY,
-	BRASERO_BURN_ERROR_MEDIA_NONE,
-	BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED,
-	BRASERO_BURN_ERROR_MEDIA_NOT_REWRITABLE,
-	BRASERO_BURN_ERROR_MEDIA_NOT_WRITABLE,
-	BRASERO_BURN_ERROR_DVD_NOT_SUPPORTED,
-	BRASERO_BURN_ERROR_CD_NOT_SUPPORTED,
+	BRASERO_BURN_ERROR_INPUT_INVALID,
+
+	BRASERO_BURN_ERROR_OUTPUT_NONE,
+
+	BRASERO_BURN_ERROR_FILE_INVALID,
+	BRASERO_BURN_ERROR_FILE_NOT_FOUND,
+	BRASERO_BURN_ERROR_FILE_NOT_LOCAL,
+
+	BRASERO_BURN_ERROR_WRITE_MEDIUM,
+	BRASERO_BURN_ERROR_WRITE_IMAGE,
+
+	BRASERO_BURN_ERROR_IMAGE_INVALID,
+	BRASERO_BURN_ERROR_IMAGE_JOLIET,
+	BRASERO_BURN_ERROR_IMAGE_LAST_SESSION,
+
+	BRASERO_BURN_ERROR_MEDIUM_NONE,
+	BRASERO_BURN_ERROR_MEDIUM_INVALID,
+	BRASERO_BURN_ERROR_MEDIUM_SPACE,
+	BRASERO_BURN_ERROR_MEDIUM_NO_DATA,
+	BRASERO_BURN_ERROR_MEDIUM_NOT_WRITABLE,
+	BRASERO_BURN_ERROR_MEDIUM_NOT_REWRITABLE,
+	BRASERO_BURN_ERROR_MEDIUM_NEED_RELOADING,
 
 	BRASERO_BURN_ERROR_BAD_CHECKSUM,
 

Modified: trunk/src/burn-caps.c
==============================================================================
--- trunk/src/burn-caps.c	(original)
+++ trunk/src/burn-caps.c	Thu Nov 13 15:12:23 2008
@@ -103,9 +103,9 @@
 {										\
 	if (error)								\
 		g_set_error (error,						\
-			    BRASERO_BURN_ERROR,					\
-			    BRASERO_BURN_ERROR_GENERAL,				\
-			    _("this operation is not supported")); \
+			     BRASERO_BURN_ERROR,				\
+			     BRASERO_BURN_ERROR_GENERAL,			\
+			     _("An internal error occured"));	 		\
 	BRASERO_BURN_CAPS_NOT_SUPPORTED_LOG (session);				\
 }
 
@@ -1348,7 +1348,7 @@
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("internal error in plugin system"));
+				     _("An internal error occured"));
 			g_slist_foreach (retval, (GFunc) g_object_unref, NULL);
 			g_slist_free (retval);
 			g_slist_free (list);
@@ -1446,7 +1446,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("only one track at a time can be checked"));
+			     _("Only one track at a time can be checked"));
 		return NULL;
 	}
 

Modified: trunk/src/burn-drive.c
==============================================================================
--- trunk/src/burn-drive.c	(original)
+++ trunk/src/burn-drive.c	Thu Nov 13 15:12:23 2008
@@ -413,6 +413,15 @@
 		       priv->medium);
 }
 
+gboolean
+brasero_drive_probing (BraseroDrive *self)
+{
+	BraseroDrivePrivate *priv;
+
+	priv = BRASERO_DRIVE_PRIVATE (self);
+	return priv->probed != TRUE;
+}
+
 void
 brasero_drive_reprobe (BraseroDrive *self)
 {
@@ -501,7 +510,7 @@
 			       0,
 			       medium);
 		g_object_unref (medium);
-		priv->probed = FALSE;
+		priv->probed = TRUE;
 	}
 }
 

Modified: trunk/src/burn-drive.h
==============================================================================
--- trunk/src/burn-drive.h	(original)
+++ trunk/src/burn-drive.h	Thu Nov 13 15:12:23 2008
@@ -71,6 +71,9 @@
 void
 brasero_drive_reprobe (BraseroDrive *drive);
 
+gboolean
+brasero_drive_probing (BraseroDrive *drive);
+
 BraseroMedium *
 brasero_drive_get_medium (BraseroDrive *drive);
 

Modified: trunk/src/burn-image-format.c
==============================================================================
--- trunk/src/burn-image-format.c	(original)
+++ trunk/src/burn-image-format.c	Thu Nov 13 15:12:23 2008
@@ -306,7 +306,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("size can't be retrieved (%s)"),
+			     _("The size could not be retrieved (%s)"),
 			     g_strerror (errsv));
 		return FALSE;
 	}
@@ -393,7 +393,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("size can't be retrieved (%s)"),
+			     _("The size could not be retrieved (%s)"),
 			     g_strerror (errsv));
 		return FALSE;
 	}
@@ -424,7 +424,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("size can't be retrieved (%s)"),
+			     _("The size could not be retrieved (%s)"),
 			     g_strerror (errsv));
 		return FALSE;
 	}
@@ -553,7 +553,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("size can't be retrieved (%s)"),
+			     _("The size could not be retrieved (%s)"),
 			     g_strerror (errsv));
 		return FALSE;
 	}
@@ -597,8 +597,7 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("size can't be retrieved for %s: %s"),
-					     file_path,
+					     _("The size could not be retrieved (%s)"),
 					     g_strerror (errsv));
 				g_free (file_path);
 				return FALSE;
@@ -758,7 +757,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("size can't be retrieved (%s)"),
+			     _("The size could not be retrieved (%s)"),
 			     g_strerror (errsv));
 
 		return FALSE;
@@ -802,7 +801,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("size can't be retrieved (%s)"),
+			     _("The size could not be retrieved (%s)"),
 			     g_strerror (errsv));
 
 		return FALSE;

Modified: trunk/src/burn-iso9660.c
==============================================================================
--- trunk/src/burn-iso9660.c	(original)
+++ trunk/src/burn-iso9660.c	Thu Nov 13 15:12:23 2008
@@ -148,8 +148,8 @@
 	if (memcmp (vol->id, "CD001", 5)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("it does not appear to be a primary volume descriptor"));
+			     BRASERO_BURN_ERROR_IMAGE_INVALID,
+			     _("It does not appear to be a valid ISO image"));
 		return FALSE;
 	}
 
@@ -157,8 +157,8 @@
 	if (vol->type != 1) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("it does not appear to be a primary volume descriptor"));
+			     BRASERO_BURN_ERROR_IMAGE_INVALID,
+			     _("It does not appear to be a valid ISO image"));
 		return FALSE;
 	}
 
@@ -357,8 +357,8 @@
 		 * "forbidden" by ECMA-119. But linux kernel accepts it, so ...
 		 */
 /*		ctx->error = g_error_new (BRASERO_BURN_ERROR,
-					  BRASERO_BURN_ERROR_GENERAL,
-					  _("directory record written across block boundary"));
+					  BRASERO_BURN_ERROR_IMAGE_INVALID,
+					  _("It does not appear to be a valid ISO image"));
 		goto error;
 */
 		if (ctx->spare_record)
@@ -392,8 +392,8 @@
 error:
 	if (!ctx->error)
 		ctx->error = g_error_new (BRASERO_BURN_ERROR,
-					  BRASERO_BURN_ERROR_GENERAL,
-					  _("invalid directory record"));
+					  BRASERO_BURN_ERROR_IMAGE_INVALID,
+					  _("It does not appear to be a valid ISO image"));
 	return BRASERO_ISO_ERROR;
 }
 
@@ -427,9 +427,10 @@
 	BraseroVolFileExtent *extent;
 
 	if (record->id_size > record->record_size - sizeof (BraseroIsoDirRec)) {
+		BRASERO_BURN_LOG ("Filename is too long");
 		ctx->error = g_error_new (BRASERO_BURN_ERROR,
-					  BRASERO_BURN_ERROR_GENERAL,
-					  _("file name is too long"));
+					  BRASERO_BURN_ERROR_IMAGE_INVALID,
+					  _("It does not appear to be a valid ISO image"));
 		return NULL;
 	}
 
@@ -475,9 +476,10 @@
 	BraseroVolFile *directory;
 
 	if (record->id_size > record->record_size - sizeof (BraseroIsoDirRec)) {
+		BRASERO_BURN_LOG ("Filename is too long");
 		ctx->error = g_error_new (BRASERO_BURN_ERROR,
-					  BRASERO_BURN_ERROR_GENERAL,
-					  _("file name is too long"));
+					  BRASERO_BURN_ERROR_IMAGE_INVALID,
+					  _("It does not appear to be a valid ISO image"));
 		return NULL;
 	}
 

Modified: trunk/src/burn-job.c
==============================================================================
--- trunk/src/burn-job.c	(original)
+++ trunk/src/burn-job.c	Thu Nov 13 15:12:23 2008
@@ -307,10 +307,12 @@
 	return BRASERO_BURN_NOT_RUNNING;
 
 error:
+
+	/* Translators: %s is the plugin name */
 	g_set_error (error,
 		     BRASERO_BURN_ERR,
-		     BRASERO_BURN_ERROR_GENERAL,
-		     _("plugin %s did not want to work. Try to deactivate it"),
+		     BRASERO_BURN_ERROR_PLUGIN_MISBEHAVIOR,
+		     _("\"%s\" did not behave properly"),
 		     G_OBJECT_TYPE_NAME (self));
 	return BRASERO_BURN_ERR;
 }
@@ -402,13 +404,13 @@
 	/* this is not really an error, we'll probably ask the 
 	 * user to load a new disc */
 	if (output_blocks > media_blocks) {
-		BRASERO_BURN_LOG ("Insufficient space on media %lli/%lli",
+		BRASERO_BURN_LOG ("Insufficient space on disc %lli/%lli",
 				  media_blocks,
 				  output_blocks);
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_MEDIA_SPACE,
-			     _("Insufficient space on media (%lli available for %lli)"),
+			     BRASERO_BURN_ERROR_MEDIUM_SPACE,
+			     _("Not enough space available on the disc (%lli available for %lli)"),
 			     media_blocks,
 			     output_blocks);
 		return BRASERO_BURN_NEED_RELOAD;
@@ -522,7 +524,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("The size of the volume can't be checked (Unknown error)."));
+			     _("The size of the volume could not be retrieved"));
 	g_object_unref (file);
 	return BRASERO_BURN_ERR;
 }
@@ -561,8 +563,8 @@
 			|| (priv->type.subtype.img_format != BRASERO_IMAGE_FORMAT_BIN && !toc)) {
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
-					     BRASERO_BURN_ERROR_GENERAL,
-					     _("no path"));
+					     BRASERO_BURN_ERROR_OUTPUT_NONE,
+					     _("No path was specified for the image output"));
 				return BRASERO_BURN_ERR;
 			}
 
@@ -588,7 +590,7 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("%s already exists"),
+					     _("\"%s\" already exists"),
 					     image);
 				g_free (toc);
 				g_free (image);
@@ -603,7 +605,7 @@
 					g_set_error (error,
 						     BRASERO_BURN_ERROR,
 						     BRASERO_BURN_ERROR_GENERAL,
-						     _("%s already exists"),
+						     _("\"%s\" already exists"),
 						     toc);
 					g_free (toc);
 					g_free (image);
@@ -729,10 +731,11 @@
 		if (pipe (fd)) {
                         int errsv = errno;
 
+			BRASERO_BURN_LOG ("A pipe couldn't be created");
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("the pipe couldn't be created (%s)"),
+				     _("An internal error occured (%s)"),
 				     g_strerror (errsv));
 
 			return BRASERO_BURN_ERR;
@@ -760,9 +763,8 @@
 		if (priv->linked) {
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("plugin %s did not work properly.\n"
-				       "Try to deactivate it"),
+				     BRASERO_BURN_ERROR_PLUGIN_MISBEHAVIOR,
+				     _("\"%s\" did not behave properly"),
 				     G_OBJECT_TYPE_NAME (self));
 			return BRASERO_BURN_ERR;
 		}
@@ -774,9 +776,8 @@
 		if (action != BRASERO_JOB_ACTION_SIZE) {
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("plugin %s didn't work properly (it does not support operation).\n"
-				       "Try to deactivate it"),
+				     BRASERO_BURN_ERROR_PLUGIN_MISBEHAVIOR,
+				     _("\"%s\" did not behave properly"),
 				     G_OBJECT_TYPE_NAME (self));
 			return BRASERO_BURN_ERR;
 		}
@@ -994,8 +995,9 @@
 		 * only call for a stop on an error. */
 		BRASERO_JOB_LOG (self, "is not a leader");
 		error = g_error_new (BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("a plugin did not behave properly"));
+				     BRASERO_BURN_ERROR_PLUGIN_MISBEHAVIOR,
+				     _("\"%s\" did not behave properly"),
+				     G_OBJECT_TYPE_NAME (self));
 		return brasero_task_ctx_error (priv->ctx,
 					       BRASERO_BURN_ERR,
 					       error);
@@ -1036,7 +1038,7 @@
 
 	priv = BRASERO_JOB_PRIVATE (self);
 
-	BRASERO_JOB_LOG (self, "finished track successfully");
+	BRASERO_JOB_LOG (self, "Finished track successfully");
 
 	/* we first check if it's the first job */
 	if (brasero_job_is_first_active (self)) {
@@ -1083,8 +1085,9 @@
 		 * for a stop on an error. */
 		BRASERO_JOB_LOG (self, "is not a leader");
 		error = g_error_new (BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("a plugin did not behave properly"));
+				     BRASERO_BURN_ERROR_PLUGIN_MISBEHAVIOR,
+				     _("\"%s\" did not behave properly"),
+				     G_OBJECT_TYPE_NAME (self));
 		return brasero_task_ctx_error (priv->ctx, BRASERO_BURN_ERR, error);
 	}
 
@@ -1179,18 +1182,20 @@
 		 * automatically but still offer that possibility. */
 		flags |= O_NONBLOCK;
 		if (fcntl (fd, F_SETFL, flags) == -1) {
+			BRASERO_BURN_LOG ("couldn't set non blocking mode");
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("couldn't set non blocking mode"));
+				     _("An internal error occured"));
 			return BRASERO_BURN_ERR;
 		}
 	}
 	else {
+		BRASERO_BURN_LOG ("couldn't get pipe flags");
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("couldn't get pipe flags"));
+			     _("An internal error occured"));
 		return BRASERO_BURN_ERR;
 	}
 

Modified: trunk/src/burn-medium-monitor.c
==============================================================================
--- trunk/src/burn-medium-monitor.c	(original)
+++ trunk/src/burn-medium-monitor.c	Thu Nov 13 15:12:23 2008
@@ -54,6 +54,8 @@
 {
 	GSList *drives;
 	GVolumeMonitor *gmonitor;
+
+	gint probing;
 };
 
 #define BRASERO_MEDIUM_MONITOR_PRIVATE(o)  (G_TYPE_INSTANCE_GET_PRIVATE ((o), BRASERO_TYPE_MEDIUM_MONITOR, BraseroMediumMonitorPrivate))
@@ -94,6 +96,25 @@
 	return NULL;
 }
 
+gboolean
+brasero_medium_monitor_is_probing (BraseroMediumMonitor *self)
+{
+	GSList *iter;
+	BraseroMediumMonitorPrivate *priv;
+
+	priv = BRASERO_MEDIUM_MONITOR_PRIVATE (self);
+
+	for (iter = priv->drives; iter; iter = iter->next) {
+		BraseroDrive *drive;
+
+		drive = iter->data;
+		if (brasero_drive_probing (drive))
+			return TRUE;
+	}
+
+	return FALSE;
+}
+
 GSList *
 brasero_medium_monitor_get_media (BraseroMediumMonitor *self,
 				  BraseroMediaType type)
@@ -109,6 +130,7 @@
 		BraseroDrive *drive;
 
 		drive = iter->data;
+
 		medium = brasero_drive_get_medium (drive);
 		if (!medium)
 			continue;

Modified: trunk/src/burn-medium-monitor.h
==============================================================================
--- trunk/src/burn-medium-monitor.h	(original)
+++ trunk/src/burn-medium-monitor.h	Thu Nov 13 15:12:23 2008
@@ -74,6 +74,9 @@
 brasero_medium_monitor_get_drive (BraseroMediumMonitor *monitor,
 				  const gchar *device);
 
+gboolean
+brasero_medium_monitor_is_probing (BraseroMediumMonitor *monitor);
+
 G_END_DECLS
 
 #endif /* _BRASERO_MEDIUM_MONITOR_H_ */

Modified: trunk/src/burn-mkisofs-base.c
==============================================================================
--- trunk/src/burn-mkisofs-base.c	(original)
+++ trunk/src/burn-mkisofs-base.c	Thu Nov 13 15:12:23 2008
@@ -145,8 +145,8 @@
 		BRASERO_BURN_LOG ("File not stored locally %s", uri);
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the file is not stored locally"));
+			     BRASERO_BURN_ERROR_FILE_NOT_LOCAL,
+			     _("The file is not stored locally"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -286,7 +286,6 @@
 
 	/* build up graft and write it */
 	graft_point = _build_graft_point (uri, disc_path);
-
 	if (!graft_point) {
 		/* Translators: Error message saying no graft point is specified
 		 * A graft point is the path (on the disc) where a file from
@@ -294,7 +293,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("null graft point"));
+			     _("An internal error occured"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -428,8 +427,8 @@
 		BRASERO_BURN_LOG ("File not stored locally %s", graft->uri);
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the file is not stored locally"));
+			     BRASERO_BURN_ERROR_FILE_NOT_LOCAL,
+			     _("The file is not stored locally"));
 		return BRASERO_BURN_ERR;
 	}
 

Modified: trunk/src/burn-plugin-manager.c
==============================================================================
--- trunk/src/burn-plugin-manager.c	(original)
+++ trunk/src/burn-plugin-manager.c	Thu Nov 13 15:12:23 2008
@@ -43,10 +43,11 @@
 
 #define BRASERO_PLUGIN_MANAGER_NOT_SUPPORTED_LOG(caps, error)			\
 {										\
+	BRASERO_BURN_LOG ("Unsupported operation");				\
 	g_set_error (error,							\
 		     BRASERO_BURN_ERROR,					\
 		     BRASERO_BURN_ERROR_GENERAL,				\
-		     _("unsupported operation (at %s)"),			\
+		     _("An internal error occured"),				\
 		     G_STRLOC);							\
 	return BRASERO_BURN_NOT_SUPPORTED;					\
 }

Modified: trunk/src/burn-process.c
==============================================================================
--- trunk/src/burn-process.c	(original)
+++ trunk/src/burn-process.c	Thu Nov 13 15:12:23 2008
@@ -99,7 +99,7 @@
 	 * the path */
 	prog_path = g_find_program_in_path (name);
 	if (!prog_path) {
-		*error = g_strdup_printf (_("%s could not be found in the path"), name);
+		*error = g_strdup_printf (_("\"%s\" could not be found in the path"), name);
 		return BRASERO_BURN_ERR;
 	}
 
@@ -115,7 +115,7 @@
 		g_free (prog_path);
 
 		if (!file) {
-			*error = g_strdup_printf (_("wrong path"));
+			*error = g_strdup_printf (_("\"%s\" could not be found in the path"), name);
 			return BRASERO_BURN_ERR;
 		}
 
@@ -127,7 +127,7 @@
 		g_object_unref (file);
 
 		if (!info) {
-			*error = g_strdup_printf (_("impossible to retrieve information"));
+			*error = g_strdup_printf (_("\"%s\" could not be found in the path"), name);
 			return BRASERO_BURN_ERR;
 		}
 
@@ -137,7 +137,7 @@
 
 		if (!prog_name || strcmp (prog_name, name)) {
 			g_free (prog_name);
-			*error = g_strdup_printf (_("%s is a symlink pointing to another program. Use the target program instead."), name);
+			*error = g_strdup_printf (_("\"%s\" is a symlink pointing to another program. Use the target program instead"), name);
 			return BRASERO_BURN_ERR;
 		}
 
@@ -220,10 +220,11 @@
 	/* check if an error went undetected */
 	if (priv->return_status) {
 		if (priv->error) {
+			/* Translators: %s is the name of the brasero element */
 			brasero_job_error (BRASERO_JOB (self),
 					   g_error_new (BRASERO_BURN_ERROR,
 							BRASERO_BURN_ERROR_GENERAL,
-							_("process %s ended with an error code (%i)"),
+							_("Process \"%s\" ended with an error code (%i)"),
 							G_OBJECT_TYPE_NAME (self),
 							priv->return_status));
 		}

Modified: trunk/src/burn-session.c
==============================================================================
--- trunk/src/burn-session.c	(original)
+++ trunk/src/burn-session.c	Thu Nov 13 15:12:23 2008
@@ -530,8 +530,8 @@
 
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
-					     BRASERO_BURN_ERROR_GENERAL,
-					     _("no output specified"));
+					     BRASERO_BURN_ERROR_OUTPUT_NONE,
+					     _("No path was specified for the image output"));
 
 				g_free (toc);
 				return BRASERO_BURN_ERR;
@@ -546,8 +546,8 @@
 
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("no output specified"));
+				     BRASERO_BURN_ERROR_OUTPUT_NONE,
+				     _("No path was specified for the image output"));
 			return BRASERO_BURN_ERR;
 		}
 	}
@@ -637,7 +637,7 @@
 		GSList *list;
 
 		monitor = brasero_medium_monitor_get_default ();
-		list = brasero_medium_monitor_get_media (monitor, BRASERO_MEDIA_TYPE_FILE);
+		list = brasero_medium_monitor_get_media (monitor,BRASERO_MEDIA_TYPE_FILE);
 		drive = brasero_medium_get_drive (list->data);
 		brasero_burn_session_set_burner (self, drive);
 		g_object_unref (monitor);
@@ -718,7 +718,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("a temporary directory could not be created (%s)"),
+			     _("A temporary directory could not be created (%s)"),
 			     g_strerror (errsv));
 		return BRASERO_BURN_ERR;
 	}
@@ -768,7 +768,7 @@
 		g_set_error (error, 
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("a temporary file can't be created: %s"),
+			     _("A temporary file could not be created (%s)"),
 			     g_strerror (errsv));
 		return BRASERO_BURN_ERR;
 	}

Modified: trunk/src/burn-volume-obj.c
==============================================================================
--- trunk/src/burn-volume-obj.c	(original)
+++ trunk/src/burn-volume-obj.c	Thu Nov 13 15:12:23 2008
@@ -226,7 +226,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the disc mount point could not be retrieved."));
+			     _("The disc mount point could not be retrieved"));
 	}
 	else {
 		local_path = g_file_get_path (root);

Modified: trunk/src/burn-volume.c
==============================================================================
--- trunk/src/burn-volume.c	(original)
+++ trunk/src/burn-volume.c	Thu Nov 13 15:12:23 2008
@@ -119,8 +119,8 @@
 	&&  memcmp (desc->id, "TEA01", 5)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("there isn't a valid volume descriptor"));
+			     BRASERO_BURN_ERROR_IMAGE_INVALID,
+			     _("It does not appear to be a valid ISO image"));
 		BRASERO_BURN_LOG ("Wrong volume descriptor, got %.5s", desc->id);
 		return FALSE;
 	}

Modified: trunk/src/burn.c
==============================================================================
--- trunk/src/burn.c	(original)
+++ trunk/src/burn.c	Thu Nov 13 15:12:23 2008
@@ -289,7 +289,7 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("the media in %s can't be ejected"),
+					     _("The disc in \"%s\" cannot be ejected"),
 					     name);
 			g_free (name);
 			return BRASERO_BURN_ERR;
@@ -332,7 +332,7 @@
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("\"%s\" can't be unlocked"),
+				     _("\"%s\" cannot be unlocked"),
 				     name);
 			g_free (name);
 			return BRASERO_BURN_ERR;
@@ -379,7 +379,7 @@
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("\"%s\" can't be unlocked"),
+				     _("\"%s\" cannot be unlocked"),
 				     name);
 			g_free (name);
 			return BRASERO_BURN_ERR;
@@ -474,8 +474,8 @@
 		if (!priv->dest) {
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("No burner specified."));
+				     BRASERO_BURN_ERROR_OUTPUT_NONE,
+				     _("No burner specified"));
 			return BRASERO_BURN_ERR;
 		}
 	}
@@ -512,7 +512,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("No source drive specified."));
+			     _("No source drive specified"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -530,19 +530,19 @@
 	 * get any information from the drive */
 	media = brasero_medium_get_status (medium);
 	if (media == BRASERO_MEDIUM_NONE)
-		error_type = BRASERO_BURN_ERROR_MEDIA_NONE;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_NONE;
 	else if (media == BRASERO_MEDIUM_BUSY)
-		error_type = BRASERO_BURN_ERROR_MEDIA_BUSY;
+		error_type = BRASERO_BURN_ERROR_DRIVE_BUSY;
 	else if (media == BRASERO_MEDIUM_UNSUPPORTED)
-		error_type = BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_INVALID;
 	else if (media & BRASERO_MEDIUM_BLANK)
-		error_type = BRASERO_BURN_ERROR_MEDIA_BLANK;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_NO_DATA;
 	else
 		error_type = BRASERO_BURN_ERROR_NONE;
 
 	if (media & BRASERO_MEDIUM_BLANK) {
 		result = brasero_burn_ask_for_src_media (burn,
-							 BRASERO_BURN_ERROR_MEDIA_BLANK,
+							 BRASERO_BURN_ERROR_MEDIUM_NO_DATA,
 							 BRASERO_MEDIUM_HAS_DATA,
 							 error);
 		if (result != BRASERO_BURN_OK)
@@ -556,7 +556,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the drive can't be locked (%s)"),
+			     _("The drive cannot be locked (%s)"),
 			     failure);
 		return BRASERO_BURN_ERR;
 	}
@@ -599,8 +599,8 @@
 	if (!priv->dest) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("No burner specified."));
+			     BRASERO_BURN_ERROR_OUTPUT_NONE,
+			     _("No burner specified"));
 		return BRASERO_BURN_NOT_SUPPORTED;
 	}
 
@@ -610,8 +610,8 @@
 	if (!brasero_medium_can_be_rewritten (medium)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the drive has no rewriting capabilities"));
+			     BRASERO_BURN_ERROR_MEDIUM_NOT_REWRITABLE,
+			     _("The drive has no rewriting capabilities"));
 		return BRASERO_BURN_NOT_SUPPORTED;
 	}
 
@@ -623,13 +623,13 @@
 
 	media = brasero_medium_get_status (medium);
 	if (media == BRASERO_MEDIUM_NONE)
-		error_type = BRASERO_BURN_ERROR_MEDIA_NONE;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_NONE;
 	else if (media == BRASERO_MEDIUM_BUSY)
-		error_type = BRASERO_BURN_ERROR_MEDIA_BUSY;
+		error_type = BRASERO_BURN_ERROR_DRIVE_BUSY;
 	else if (media == BRASERO_MEDIUM_UNSUPPORTED)
-		error_type = BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_INVALID;
 	else if (!(media & BRASERO_MEDIUM_REWRITABLE))
-		error_type = BRASERO_BURN_ERROR_MEDIA_NOT_REWRITABLE;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_NOT_REWRITABLE;
 	else
 		error_type = BRASERO_BURN_ERROR_NONE;
 
@@ -647,11 +647,11 @@
 	}
 
 	if (!priv->dest_locked
-	&&  !brasero_drive_lock (priv->dest, _("ongoing blanking process"), &failure)) {
+	&&  !brasero_drive_lock (priv->dest, _("Ongoing blanking process"), &failure)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the drive can't be locked (%s)"),
+			     _("The drive cannot be locked (%s)"),
 			     failure);
 		return BRASERO_BURN_ERR;
 	}
@@ -706,7 +706,7 @@
 
 	if (!(flags & BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE)) {
 		*must_blank = FALSE;
-		return BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED;
+		return BRASERO_BURN_ERROR_MEDIUM_INVALID;
 	}
 
 	/* let's see what our media is missing and what's not supported */
@@ -723,12 +723,10 @@
 			return BRASERO_BURN_ERROR_NONE;
 		}
 
-		return BRASERO_BURN_ERROR_MEDIA_NOT_WRITABLE;
+		return BRASERO_BURN_ERROR_MEDIUM_NOT_WRITABLE;
 	}
-	else if (unsupported & BRASERO_MEDIUM_DVD)
-		return BRASERO_BURN_ERROR_DVD_NOT_SUPPORTED;
 
-	return BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED;
+	return BRASERO_BURN_ERROR_MEDIUM_INVALID;
 }
 
 static BraseroBurnResult
@@ -750,8 +748,8 @@
 	if (!priv->dest) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("No burner specified."));
+			     BRASERO_BURN_ERROR_OUTPUT_NONE,
+			     _("No burner specified"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -762,9 +760,8 @@
 
 	medium = brasero_drive_get_medium (priv->dest);
 	if (!medium) {
-		g_print ("REALOOD\n");
 		result = BRASERO_BURN_NEED_RELOAD;
-		berror = BRASERO_BURN_ERROR_MEDIA_NONE;
+		berror = BRASERO_BURN_ERROR_MEDIUM_NONE;
 		goto end;
 	}
 
@@ -772,7 +769,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("The drive cannot burn or the medium cannot be burnt"));
+			     _("The drive cannot burn or the disc cannot be burnt"));
 		BRASERO_BURN_NOT_SUPPORTED_LOG (burn);
 	}
 
@@ -801,19 +798,19 @@
 
 	if (media == BRASERO_MEDIUM_NONE) {
 		result = BRASERO_BURN_NEED_RELOAD;
-		berror = BRASERO_BURN_ERROR_MEDIA_NONE;
+		berror = BRASERO_BURN_ERROR_MEDIUM_NONE;
 		goto end;
 	}
 
 	if (media == BRASERO_MEDIUM_UNSUPPORTED) {
 		result = BRASERO_BURN_NEED_RELOAD;
-		berror = BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED;
+		berror = BRASERO_BURN_ERROR_MEDIUM_INVALID;
 		goto end;
 	}
 
 	if (media == BRASERO_MEDIUM_BUSY) {
 		result = BRASERO_BURN_NEED_RELOAD;
-		berror = BRASERO_BURN_ERROR_MEDIA_BUSY;
+		berror = BRASERO_BURN_ERROR_DRIVE_BUSY;
 		goto end;
 	}
 
@@ -895,11 +892,11 @@
 	}
 
 	if (!priv->dest_locked
-	&&  !brasero_drive_lock (priv->dest, _("ongoing burning process"), &failure)) {
+	&&  !brasero_drive_lock (priv->dest, _("Ongoing burning process"), &failure)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the drive can't be locked (%s)"),
+			     _("The drive cannot be locked (%s)"),
 			     failure);
 		return BRASERO_BURN_ERR;
 	}
@@ -977,7 +974,7 @@
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("the disc could not be mounted (max attemps reached)"));
+				     _("The disc could not be mounted (max attemps reached)"));
 			return BRASERO_BURN_ERR;
 		}
 
@@ -1024,11 +1021,11 @@
 			return result;
 	}
 	else if (media == BRASERO_MEDIUM_BUSY)
-		error_type = BRASERO_BURN_ERROR_MEDIA_BUSY;
+		error_type = BRASERO_BURN_ERROR_DRIVE_BUSY;
 	else if (media == BRASERO_MEDIUM_UNSUPPORTED)
-		error_type = BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_INVALID;
 	else if (media & BRASERO_MEDIUM_BLANK)
-		error_type = BRASERO_BURN_ERROR_MEDIA_BLANK;
+		error_type = BRASERO_BURN_ERROR_MEDIUM_NO_DATA;
 
 	if (error_type != BRASERO_BURN_ERROR_NONE) {
 		result = brasero_burn_ask_for_dest_media (burn,
@@ -1042,11 +1039,11 @@
 	}
 
 	if (!priv->dest_locked
-	&&  !brasero_drive_lock (priv->dest, _("ongoing checksuming operation"), &failure)) {
+	&&  !brasero_drive_lock (priv->dest, _("Ongoing checksuming operation"), &failure)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the drive can't be locked (%s)"),
+			     _("The drive cannot be locked (%s)"),
 			     failure);
 		return BRASERO_BURN_ERR;
 	}
@@ -1320,10 +1317,10 @@
 	&& !brasero_volume_umount (BRASERO_VOLUME (medium), TRUE, NULL)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_BUSY_DRIVE,
-			     "%s %s",
-			     _("The drive is busy."),
-			     _("Make sure another application is not using it."));
+			     BRASERO_BURN_ERROR_DRIVE_BUSY,
+			     "%s. %s",
+			     _("The drive is busy"),
+			     _("Make sure another application is not using it"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -1354,10 +1351,10 @@
 	&& !brasero_volume_umount (BRASERO_VOLUME (medium), TRUE, NULL)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_BUSY_DRIVE,
-			     "%s %s",
-			     _("The drive is busy."),
-			     _("Make sure another application is not using it."));
+			     BRASERO_BURN_ERROR_DRIVE_BUSY,
+			     "%s. %s",
+			     _("The drive is busy"),
+			     _("Make sure another application is not using it"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -1393,7 +1390,7 @@
 
 	/* See if we can recover from the error */
 	error_code = ret_error->code;
-	if (error_code == BRASERO_BURN_ERROR_JOLIET_TREE) {
+	if (error_code == BRASERO_BURN_ERROR_IMAGE_JOLIET) {
 		/* clean the error anyway since at worst the user will cancel */
 		g_error_free (ret_error);
 		ret_error = NULL;
@@ -1406,7 +1403,7 @@
 
 		goto start;
 	}
-	else if (error_code == BRASERO_BURN_ERROR_MEDIA_BLANK) {
+	else if (error_code == BRASERO_BURN_ERROR_MEDIUM_NO_DATA) {
 		/* clean the error anyway since at worst the user will cancel */
 		g_error_free (ret_error);
 		ret_error = NULL;
@@ -1420,7 +1417,7 @@
 
 		goto start;
 	}
-	/* (error_code == BRASERO_BURN_ERROR_MEDIA_SPACE) */
+	/* (error_code == BRASERO_BURN_ERROR_MEDIUM_SPACE) */
 	/* That's an imager (outputs an image to the disc) so that means that here
 	 * the problem comes from the hard drive being too small not from the media
 	 * there is nothing we can do here except fail. We could one day send a 
@@ -1493,10 +1490,10 @@
 	&& !brasero_volume_umount (BRASERO_VOLUME (src_medium), TRUE, NULL)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_BUSY_DRIVE,
-			     "%s %s",
-			     _("The drive is busy."),
-			     _("Make sure another application is not using it."));
+			     BRASERO_BURN_ERROR_DRIVE_BUSY,
+			     "%s. %s",
+			     _("The drive is busy"),
+			     _("Make sure another application is not using it"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -1504,10 +1501,10 @@
 	&& !brasero_volume_umount (BRASERO_VOLUME (burnt_medium), TRUE, NULL)) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_BUSY_DRIVE,
-			     "%s %s",
-			     _("The drive is busy."),
-			     _("Make sure another application is not using it."));
+			     BRASERO_BURN_ERROR_DRIVE_BUSY,
+			     "%s. %s",
+			     _("The drive is busy"),
+			     _("Make sure another application is not using it"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -1536,7 +1533,7 @@
 
 	/* see if error is recoverable */
 	error_code = ret_error->code;
-	if (error_code == BRASERO_BURN_ERROR_JOLIET_TREE) {
+	if (error_code == BRASERO_BURN_ERROR_IMAGE_JOLIET) {
 		/* NOTE: this error can only come from the source when 
 		 * burning on the fly => no need to recreate an imager */
 
@@ -1554,7 +1551,7 @@
 		ret_error = NULL;
 		goto start;
 	}
-	else if (error_code == BRASERO_BURN_ERROR_MEDIA_BLANK) {
+	else if (error_code == BRASERO_BURN_ERROR_MEDIUM_NEED_RELOADING) {
 		/* NOTE: this error can only come from the source when 
 		 * burning on the fly => no need to recreate an imager */
 
@@ -1598,7 +1595,7 @@
 		brasero_burn_session_set_rate (priv->session, rate);
 		goto start;
 	}
-	else if (error_code == BRASERO_BURN_ERROR_MEDIA_SPACE) {
+	else if (error_code == BRASERO_BURN_ERROR_MEDIUM_SPACE) {
 		/* NOTE: this error can only come from the dest drive */
 
 		/* clean error and indicates this is a recoverable error */
@@ -1618,8 +1615,10 @@
 		   (BRASERO_BURN_FLAG_APPEND|BRASERO_BURN_FLAG_MERGE)) {
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_MEDIA_SPACE,
-				     _("it's not possible to merge to this media because it hasn't got enough space"));
+				     BRASERO_BURN_ERROR_MEDIUM_SPACE,
+				     "%s. %s",
+				     _("Merging data is impossible with this disc"),
+				     _("Not enough space available on the disc"));
 			return BRASERO_BURN_ERR;
 		}
 
@@ -1632,8 +1631,8 @@
 
 		goto start;
 	}
-	else if (error_code > BRASERO_BURN_ERROR_MEDIA_SPACE
-	     &&  error_code <  BRASERO_BURN_ERROR_CD_NOT_SUPPORTED) {
+	else if (error_code >= BRASERO_BURN_ERROR_MEDIUM_NONE
+	     &&  error_code <=  BRASERO_BURN_ERROR_MEDIUM_NEED_RELOADING) {
 		/* NOTE: these errors can only come from the dest drive */
 
 		/* clean error and indicates this is a recoverable error */
@@ -1828,10 +1827,10 @@
 		&& !brasero_volume_umount (BRASERO_VOLUME (medium), TRUE, NULL)) {
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_BUSY_DRIVE,
-				     "%s %s",
+				     BRASERO_BURN_ERROR_DRIVE_BUSY,
+				     "%s. %s",
 				     _("The drive is busy"),
-				     _("Make sure another application is not using it."));
+				     _("Make sure another application is not using it"));
 			return BRASERO_BURN_ERR;
 		}
 
@@ -1851,7 +1850,7 @@
 		priv->task = NULL;
 	}
 	else {
-		BRASERO_BURN_LOG ("the track can't be checked");
+		BRASERO_BURN_LOG ("the track cannot be checked");
 		result = BRASERO_BURN_NOT_SUPPORTED;
 	}
 
@@ -1882,7 +1881,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("There is no track to be burnt."));
+			     _("There is no track to be burnt"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -1895,8 +1894,8 @@
 			BRASERO_BURN_DEBUG (burn, "No burner specified.");
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
-				     BRASERO_BURN_ERROR_GENERAL,
-				     _("No burner specified."));
+				     BRASERO_BURN_ERROR_OUTPUT_NONE,
+				     _("No burner specified"));
 			return BRASERO_BURN_ERR;	
 		}
 	}
@@ -1945,15 +1944,12 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("Merging data is impossible with this disc."));
+					     _("Merging data is impossible with this disc"));
 				return BRASERO_BURN_ERR;
 			}
-			else if ((flag & BRASERO_BURN_FLAG_BURNPROOF)
-			     && !(BRASERO_MEDIUM_IS (media, BRASERO_MEDIUM_DVDRW_PLUS)
-			     ||   BRASERO_MEDIUM_IS (media, BRASERO_MEDIUM_DVDRW_RESTRICTED))) {
-				 /* Warn the user BURNPROOF won't be possible */
-
-			}
+			/* No need to tell the user burnproof is not supported
+			 * as these drives handle errors differently which makes
+			 * burnproof useless for them. */
 		}
 	}
 
@@ -2233,7 +2229,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("only one track at a time can be checked"));
+			     _("Only one track at a time can be checked"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -2301,7 +2297,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("impossible to find a format for the temporary image"));
+			     _("No format for the temporary image could be found"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -2415,7 +2411,7 @@
 
 	if (result != BRASERO_BURN_OK) {
 		/* Tell the user his/her disc is not supported and reload */
-		berror = BRASERO_BURN_ERROR_MEDIA_UNSUPPORTED;
+		berror = BRASERO_BURN_ERROR_MEDIUM_INVALID;
 		brasero_burn_session_set_flags (priv->session, session_flags);
 		goto again;
 	}
@@ -2473,10 +2469,9 @@
 		 * media in the drive so that we'll have all the necessary
 		 * information */
 		result = brasero_burn_lock_dest_media (burn, &berror, error);
-		g_print ("BERR %i\n", berror);
 		while (result == BRASERO_BURN_NEED_RELOAD) {
 			BraseroMedia required_media;
-g_print ("berror %i\n", berror);
+
 			required_media = brasero_burn_caps_get_required_media_type (priv->caps,
 										    priv->session);
 			if (required_media == BRASERO_MEDIUM_NONE)
@@ -2517,12 +2512,13 @@
 	&& (result == BRASERO_BURN_NOT_READY
 	||  result == BRASERO_BURN_NOT_SUPPORTED
 	||  result == BRASERO_BURN_RUNNING
-	||  result == BRASERO_BURN_NOT_RUNNING))
+	||  result == BRASERO_BURN_NOT_RUNNING)) {
+		BRASERO_BURN_LOG ("Internal error with result %i", result);
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("Internal error (code %i)"),
-			     result);
+			     _("An internal error occured"));
+	}
 
 	if (result == BRASERO_BURN_CANCEL) {
 		BRASERO_BURN_DEBUG (burn, "Session cancelled by user");
@@ -2608,12 +2604,12 @@
 	result = brasero_burn_blank_real (burn, &ret_error);
 	while (result == BRASERO_BURN_ERR
 	&&     ret_error
-	&&     ret_error->code == BRASERO_BURN_ERROR_MEDIA_NOT_REWRITABLE) {
+	&&     ret_error->code == BRASERO_BURN_ERROR_MEDIUM_NOT_REWRITABLE) {
 		g_error_free (ret_error);
 		ret_error = NULL;
 
 		result = brasero_burn_ask_for_dest_media (burn,
-							  BRASERO_BURN_ERROR_MEDIA_NOT_REWRITABLE,
+							  BRASERO_BURN_ERROR_MEDIUM_NOT_REWRITABLE,
 							  BRASERO_MEDIUM_REWRITABLE|
 							  BRASERO_MEDIUM_HAS_DATA,
 							  error);

Modified: trunk/src/main.c
==============================================================================
--- trunk/src/main.c	(original)
+++ trunk/src/main.c	Thu Nov 13 15:12:23 2008
@@ -98,10 +98,9 @@
 	  N_("Open a video project adding the URIs given on the command line"),
 	  NULL },
 
-	/* FIXME: last argument should be defined */
 	{ "image", 'i', G_OPTION_FLAG_FILENAME, G_OPTION_ARG_STRING, &iso_uri,
 	 N_("Uri of an image file to be burnt (autodetected)"),
-          NULL },
+          N_("PATH TO PLAYLIST") },
 
     	{ "empty", 'e', 0, G_OPTION_ARG_NONE, &empty_project,
          N_("Force brasero to display the project selection page"),
@@ -198,7 +197,7 @@
 	if (nb > 1) {
 		brasero_utils_message_dialog (NULL,
 					      _("Incompatible command line options used."),
-					      _("Only one option can be given at a time."),
+					      _("Only one option can be given at a time"),
 					      GTK_MESSAGE_ERROR);
 
 		brasero_project_manager_empty (BRASERO_PROJECT_MANAGER (manager));

Modified: trunk/src/plugins/cdrdao/burn-cdrdao.c
==============================================================================
--- trunk/src/plugins/cdrdao/burn-cdrdao.c	(original)
+++ trunk/src/plugins/cdrdao/burn-cdrdao.c	Thu Nov 13 15:12:23 2008
@@ -182,10 +182,11 @@
 		name = g_path_get_basename (cuepath);
 		g_free (cuepath);
 
+		/* Translators: %s is a filename */
 		brasero_job_error (BRASERO_JOB (cdrdao),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("The cue file (%s) seems to be invalid"),
+						BRASERO_BURN_ERROR_FILE_NOT_FOUND,
+						_("\"%s\" could not be found"),
 						name));
 		g_free (name);
 	}
@@ -216,7 +217,7 @@
 	if (strstr (line, "Cannot setup device")) {
 		brasero_job_error (BRASERO_JOB (cdrdao),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
+						BRASERO_BURN_ERROR_DRIVE_BUSY,
 						_("The drive is busy")));
 	}
 	else if (strstr (line, "Illegal command")) {
@@ -228,8 +229,8 @@
 	else if (strstr (line, "Operation not permitted. Cannot send SCSI")) {
 		brasero_job_error (BRASERO_JOB (cdrdao),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_SCSI_IOCTL,
-						_("You do not seem to have the required permission to use this drive")));
+						BRASERO_BURN_ERROR_PERMISSION,
+						_("You do not have the required permissions to use this drive")));
 	}
 
 	return BRASERO_BURN_OK;
@@ -549,7 +550,7 @@
 {
 	GSList *input;
 	GSList *output;
-	gchar *prog_name;
+	BraseroBurnResult result;
 	const BraseroMedia media_w = BRASERO_MEDIUM_CD|
 				     BRASERO_MEDIUM_WRITABLE|
 				     BRASERO_MEDIUM_REWRITABLE|
@@ -563,19 +564,15 @@
 				      BRASERO_MEDIUM_BLANK;
 
 	brasero_plugin_define (plugin,
-			       "cdrdao",
-			       _("use cdrdao to image and burn CDs"),
+			       "Cdrdao",
+			       _("Use cdrdao to copy and burn CDs"),
 			       "Philippe Rouquier",
 			       20);
 
-	/* First see if this plugin can be used, i.e. if readcd is in
-	 * the path */
-	prog_name = g_find_program_in_path ("cdrdao");
-	if (!prog_name) {
-		*error = g_strdup (_("cdrdao could not be found in the path"));
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("cdrdao", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	/* that's for cdrdao images: CDs only as input */
 	input = brasero_caps_disc_new (BRASERO_MEDIUM_CD|

Modified: trunk/src/plugins/cdrdao/burn-toc2cue.c
==============================================================================
--- trunk/src/plugins/cdrdao/burn-toc2cue.c	(original)
+++ trunk/src/plugins/cdrdao/burn-toc2cue.c	Thu Nov 13 15:12:23 2008
@@ -307,24 +307,20 @@
 static BraseroBurnResult
 brasero_toc2cue_export_caps (BraseroPlugin *plugin, gchar **error)
 {
-	gchar *prog_name;
+	BraseroBurnResult result;
 	GSList *output;
 	GSList *input;
 
 	brasero_plugin_define (plugin,
 			       "toc2cue",
-			       _("toc2cue converts .toc files into .cue files"),
+			       _("Toc2cue converts .toc files into .cue files"),
 			       "Philippe Rouquier",
 			       0);
 
-	/* First see if this plugin can be used, i.e. if readcd is in
-	 * the path */
-	prog_name = g_find_program_in_path ("toc2cue");
-	if (!prog_name) {
-		*error = g_strdup (_("toc2cue could not be found in the path"));
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("toc2cue", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	input = brasero_caps_image_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
 					BRASERO_IMAGE_FORMAT_CDRDAO);

Modified: trunk/src/plugins/cdrkit/burn-genisoimage.c
==============================================================================
--- trunk/src/plugins/cdrkit/burn-genisoimage.c	(original)
+++ trunk/src/plugins/cdrkit/burn-genisoimage.c	Thu Nov 13 15:12:23 2008
@@ -106,29 +106,27 @@
 	else if (strstr (line, "Input/output error. Read error on old image")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("the old image couldn't be read")));
+							BRASERO_BURN_ERROR_IMAGE_LAST_SESSION,
+							_("Last session import failed")));
 	}
 	else if (strstr (line, "Unable to sort directory")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("the image can't be created")));
-	}
-	else if (strstr (line, "have the same joliet name")) {
-		/* we keep the name of the files in case we need to rerun */
+							BRASERO_BURN_ERROR_WRITE_IMAGE,
+							_("An image could not be created")));
 	}
-	else if (strstr (line, "Joliet tree sort failed.")) {
+	else if (strstr (line, "have the same joliet name")
+	     ||  strstr (line, "Joliet tree sort failed.")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
-							_("the image can't be created")));
+							BRASERO_BURN_ERROR_IMAGE_JOLIET,
+							_("An image could not be created")));
 	}
 	else if (strstr (line, "Use genisoimage -help")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
-							_("this version of genisoimage doesn't seem to be supported")));
+							BRASERO_BURN_ERROR_GENERAL,
+							_("This version of genisoimage is not supported")));
 	}
 /*	else if ((pos =  strstr (line,"genisoimage: Permission denied. "))) {
 		int res = FALSE;
@@ -169,41 +167,46 @@
 	else if (strstr (line, "Incorrectly encoded string")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
+							BRASERO_BURN_ERROR_INPUT_INVALID,
 							_("Some files have invalid filenames")));
 	}
 	else if (strstr (line, "Unknown charset")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
+							BRASERO_BURN_ERROR_INPUT_INVALID,
 							_("Unknown character encoding")));
 	}
-	else if (strstr (line, "Resource temporarily unavailable")) {
+	else if (strstr (line, "No space left on device")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("writing to file descriptor failed")));
+							BRASERO_BURN_ERROR_DISK_SPACE,
+							_("There is no space left on the device")));
+
 	}
-	else if (strstr (line, "Bad file descriptor.")) {
+	else if (strstr (line, "Value too large for defined data type")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("Internal error: bad file descriptor")));
+							BRASERO_BURN_ERROR_MEDIUM_SPACE,
+							_("Not enough space available on the disc")));
 	}
-	else if (strstr (line, "No space left on device")) {
+
+	/** REMINDER: these should not be necessary
+
+	else if (strstr (line, "Resource temporarily unavailable")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_DISK_SPACE,
-							_("There is no space left on the device")));
+							BRASERO_BURN_ERROR_INPUT,
+							_("Data could not be written")));
 	}
-	else if (strstr (line, "Value too large for defined data type")) {
-		/* TODO: get filename from error message */
+	else if (strstr (line, "Bad file descriptor.")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("The file is too large for a CD")));
+							BRASERO_BURN_ERROR_INPUT,
+							_("Internal error: bad file descriptor")));
 	}
 
+	**/
+
 	return BRASERO_BURN_OK;
 }
 
@@ -342,10 +345,11 @@
 		brasero_job_get_next_writable_address (BRASERO_JOB (genisoimage), &next_wr_add);
 		if (last_session == -1 || next_wr_add == -1) {
 			g_free (videodir);
+			BRASERO_JOB_LOG (genisoimage, "Failed to get the start point of the track. Make sure the media allow to add files (it is not closed)");
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("failed to get the start point of the track. Make sure the media allow to add files (it is not closed)"));
+				     _("An internal error occured"));
 			return BRASERO_BURN_ERR;
 		}
 
@@ -498,25 +502,20 @@
 static BraseroBurnResult
 brasero_genisoimage_export_caps (BraseroPlugin *plugin, gchar **error)
 {
-	gchar *prog_name;
+	BraseroBurnResult result;
 	GSList *output;
 	GSList *input;
 
 	brasero_plugin_define (plugin,
 			       "genisoimage",
-			       _("use genisoimage to create images from files"),
+			       _("Use genisoimage to create images from a file selection"),
 			       "Philippe Rouquier",
 			       1);
 
-	/* First see if this plugin can be used, i.e. if genisoimage is in
-	 * the path */
-	prog_name = g_find_program_in_path ("genisoimage");
-	if (!prog_name) {
-		*error = g_strdup (_("genisoimage could not be found in the path"));
-
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("genisoimage", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	brasero_plugin_set_flags (plugin,
 				  BRASERO_MEDIUM_CDR|

Modified: trunk/src/plugins/cdrkit/burn-readom.c
==============================================================================
--- trunk/src/plugins/cdrkit/burn-readom.c	(original)
+++ trunk/src/plugins/cdrkit/burn-readom.c	Thu Nov 13 15:12:23 2008
@@ -88,27 +88,27 @@
 	else if (strstr (line, "Device not ready.")) {
 		brasero_job_error (BRASERO_JOB (readom),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
+						BRASERO_BURN_ERROR_DRIVE_BUSY,
 						_("The drive is busy")));
 	}
 	else if (strstr (line, "Cannot open SCSI driver.")) {
 		brasero_job_error (BRASERO_JOB (readom),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
-						_("You do not seem to have the required permissions to access the drive")));		
+						BRASERO_BURN_ERROR_PERMISSION,
+						_("You do not have the required permissions to use this drive")));		
 	}
 	else if (strstr (line, "Cannot send SCSI cmd via ioctl")) {
 		brasero_job_error (BRASERO_JOB (readom),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_SCSI_IOCTL,
-						_("You do not seem to have the required permissions to access the drive")));
+						BRASERO_BURN_ERROR_PERMISSION,
+						_("You do not have the required permissions to use this drive")));
 	}
 	/* we scan for this error as in this case readcd returns success */
 	else if (sscanf (line, "Input/output error. Error on sector %d not corrected. Total of %d error", &dummy1, &dummy2) == 2) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_GENERAL,
-						_("Internal error")));
+						_("An internal error occured")));
 	}
 
 
@@ -319,7 +319,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("raw images cannot be created with DVDs"));
+			     _("An internal error occured"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -393,24 +393,20 @@
 static BraseroBurnResult
 brasero_readom_export_caps (BraseroPlugin *plugin, gchar **error)
 {
-	gchar *prog_name;
+	BraseroBurnResult result;
 	GSList *output;
 	GSList *input;
 
 	brasero_plugin_define (plugin,
 			       "readom",
-			       _("use readom to image CDs"),
+			       _("Use readom to image CDs and DVDs"),
 			       "Philippe Rouquier",
 			       1);
 
-	/* First see if this plugin can be used, i.e. if readom is in
-	 * the path */
-	prog_name = g_find_program_in_path ("readom");
-	if (!prog_name) {
-		*error = g_strdup (_("readom could not be found in the path"));
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("readom", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	/* that's for clone mode only The only one to copy audio */
 	output = brasero_caps_image_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,

Modified: trunk/src/plugins/cdrkit/burn-wodim.c
==============================================================================
--- trunk/src/plugins/cdrkit/burn-wodim.c	(original)
+++ trunk/src/plugins/cdrkit/burn-wodim.c	Thu Nov 13 15:12:23 2008
@@ -78,89 +78,46 @@
 static BraseroBurnResult
 brasero_wodim_stderr_read (BraseroProcess *process, const gchar *line)
 {
-	BraseroWodim *wodim = BRASERO_WODIM (process);
-	BraseroWodimPrivate *priv;
 	BraseroBurnFlag flags;
 
-	priv = BRASERO_WODIM_PRIVATE (wodim);
-	brasero_job_get_flags (BRASERO_JOB (wodim), &flags);
+	brasero_job_get_flags (BRASERO_JOB (process), &flags);
 
-	if (strstr (line, "Cannot open SCSI driver.")) {
+	if (strstr (line, "Cannot open SCSI driver.")
+	||  strstr (line, "Operation not permitted. Cannot send SCSI cmd via ioctl")
+	||  strstr (line, "Cannot open or use SCSI driver")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_PERMISSION,
-						_("You don't seem to have the required permission to use this drive")));
-	}
-	else if (strstr (line, "No disk / Wrong disk!") != NULL) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_MEDIA_NONE,
-						_("There doesn't seem to be a disc in the drive")));
-	}
-	else if (strstr (line, "Input buffer error, aborting") != NULL) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("input buffer error")));
-	}
-	else if (strstr (line, "This means that we are checking recorded media.") != NULL) {
-		/* NOTE: defer the consequence of this error as it is not always
-		 * fatal. So send a warning but don't stop the process. */
-		brasero_process_deferred_error (process,
-						g_error_new (BRASERO_BURN_ERROR,
-							     BRASERO_BURN_ERROR_MEDIA_NOT_WRITABLE,
-							     _("The CD has already been recorded")));
-	}
-	else if (strstr (line, "Cannot blank disk, aborting.") != NULL) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_MEDIA_NOT_REWRITABLE,
-						_("The CD cannot be blanked")));
+						_("You do not have the required permissions to use this drive")));
 	}
 	else if (!(flags & BRASERO_BURN_FLAG_OVERBURN)
 	     &&  strstr (line, "Data may not fit on current disk")) {
 		/* we don't error out if overburn was chosen */
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_MEDIA_SPACE,
-						_("The files selected did not fit on the CD")));
+						BRASERO_BURN_ERROR_MEDIUM_SPACE,
+						_("Not enough space available on the disc")));
 	}
-	else if (strstr (line ,"wodim: A write error occured")) {
+	else if (strstr (line ,"cdrecord: A write error occured")
+	     ||  strstr (line, "Could not write Lead-in")
+	     ||  strstr (line, "Cannot fixate disk")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("a write error occured which was likely due to overburning the disc")));
-	}
-	else if (strstr (line, "Inappropriate audio coding")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_INCOMPATIBLE_FORMAT,
-						_("All audio files must be stereo, 16-bit digital audio with 44100Hz samples")));
-	}
-	else if (strstr (line, "cannot write medium - incompatible format") != NULL) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_INCOMPATIBLE_FORMAT,
-						_("The image does not seem to be a proper iso9660 file system")));
+						BRASERO_BURN_ERROR_WRITE_MEDIUM,
+						_("An error occured while writing to disc")));
 	}
 	else if (strstr (line, "DMA speed too slow") != NULL) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_SLOW_DMA,
-						_("The system is too slow to write the CD at this speed. Try a lower speed")));
-	}
-	else if (strstr (line, "Operation not permitted. Cannot send SCSI cmd via ioctl")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_SCSI_IOCTL,
-						_("You don't seem to have the required permission to use this drive")));
+						_("The system is too slow to write the disc at this speed. Try a lower speed")));
 	}
 	else if (strstr (line, "Device or resource busy")) {
 		if (!strstr (line, "retrying in")) {
 			brasero_job_error (BRASERO_JOB (process),
 					   g_error_new (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_BUSY_DRIVE,
-							_("The drive seems to be busy (maybe check you have proper permissions to use it)")));
+							BRASERO_BURN_ERROR_DRIVE_BUSY,
+							_("The drive is busy")));
 		}
 	}
 	else if (strstr (line, "Illegal write mode for this drive")) {
@@ -168,41 +125,72 @@
 		 * drive with cdrdao and eject it. Should we ? */
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
-						_("The drive seems to be busy (maybe you should reload the media)")));
+						BRASERO_BURN_ERROR_DRIVE_BUSY,
+						_("The drive is busy")));
 	}
-	else if (strstr (line, "wodim: No such file or directory. Cannot open")) {
+
+	/* REMINDER: these should not be necessary as we checked that already */
+	/**
+	else if (strstr (line, "cannot write medium - incompatible format") != NULL) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new (BRASERO_BURN_ERROR,
+						BRASERO_BURN_ERROR_INPUT_INVALID,
+						_("The image does not seem to be a proper iso9660 file system")));
+	}
+	else if (strstr (line, "This means that we are checking recorded media.") != NULL) {
+	**/	/* NOTE: defer the consequence of this error as it is not always
+		 * fatal. So send a warning but don't stop the process. */
+	/**	brasero_process_deferred_error (process,
+						g_error_new (BRASERO_BURN_ERROR,
+							     BRASERO_BURN_ERROR_MEDIUM_INVALID,
+							     _("The disc is already burnt")));
+	}
+	else if (strstr (line, "Cannot blank disk, aborting.") != NULL) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new (BRASERO_BURN_ERROR,
+						BRASERO_BURN_ERROR_MEDIUM_INVALID,
+						_("The disc could not be blanked")));
+	}
+	else if (strstr (line, "Bad audio track size")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_GENERAL,
-						_("the image file cannot be found")));
+						_("The audio tracks are too short or not a multiple of 2352")));
 	}
-	else if (strstr (line, "Bad file descriptor. read error on input file")
+	else if (strstr (line, "cdrecord: No such file or directory. Cannot open")
 	     ||  strstr (line, "No tracks specified. Need at least one.")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("internal error")));
+						BRASERO_BURN_ERROR_INPUT,
+						_("The image file cannot be found")));
 	}
-	else if (strstr (line, "Could not write Lead-in")) {
+	else if (strstr (line, "Inappropriate audio coding")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("the cd information could not be written")));
+						BRASERO_BURN_ERROR_INPUT_INVALID,
+						_("All audio files must be stereo, 16-bit digital audio with 44100Hz samples")));
 	}
-	else if (strstr (line, "Cannot fixate disk")) {
+	else if (strstr (line, "No disk / Wrong disk!") != NULL) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("the disc could not be closed")));
+						BRASERO_BURN_ERROR_MEDIA_NONE,
+						_("There seems to be no disc in the drive")));
 	}
-	else if (strstr (line, "Bad audio track size")) {
+
+	**/
+
+	/** For these we'd rather have a message saying "cdrecord failed"
+	 *  as an internal error occured says nothing/even less
+	else if (strstr (line, "Bad file descriptor. read error on input file")
+	     ||  strstr (line, "Input buffer error, aborting")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_GENERAL,
-						_("the audio tracks are too short or not a multiple of 2352")));
+						_("An internal error occured")));
 	}
 
+	**/
+
 	return BRASERO_BURN_OK;
 }
 
@@ -336,8 +324,8 @@
 
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_RELOAD_MEDIA,
-						_("The media needs to be reloaded before being recorded")));
+						BRASERO_BURN_ERROR_MEDIUM_NEED_RELOADING,
+						_("The disc needs to be reloaded before being recorded")));
 	}
 	else if (g_str_has_prefix (line, "Fixating...")
 	     ||  g_str_has_prefix (line, "Writing Leadout...")) {
@@ -353,12 +341,8 @@
 	     ||  strstr (line, "Blanking entire disk")) {
 
 	}
-	else if (strstr (line, "Use tsize= option in SAO mode to specify track size")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("internal error")));
-	}
+	/* This should not happen */
+	/* else if (strstr (line, "Use tsize= option in SAO mode to specify track size")) */
 
 	return BRASERO_BURN_OK;
 }
@@ -583,11 +567,14 @@
 	g_remove (path);
 	g_free (path);
 
+	BRASERO_JOB_LOG (wodim,
+			 "The inf file can't be written : %s",
+			 g_strerror (errsv));
+
 	g_set_error (error,
 		     BRASERO_BURN_ERROR,
 		     BRASERO_BURN_ERROR_GENERAL,
-		     _("the inf file can't be written : %s"), 
-		     g_strerror (errsv));
+		     _("An internal error occured"));
 
 	return BRASERO_BURN_ERR;
 }
@@ -694,10 +681,11 @@
 		/* we need to know what is the type of the track (audio / data) */
 		result = brasero_job_get_input_type (BRASERO_JOB (wodim), &type);
 		if (result != BRASERO_BURN_OK) {
+			BRASERO_JOB_LOG (wodim, "Imager doesn't seem to be ready");
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("imager doesn't seem to be ready"));
+				     _("An internal error occured"));
 			return BRASERO_BURN_ERR;
 		}
 		
@@ -706,10 +694,11 @@
 							      &sectors,
 							      NULL);
 		if (result != BRASERO_BURN_OK) {
+			BRASERO_JOB_LOG (wodim, "The size of the session cannot be retrieved");
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("the size of the session cannot be retrieved"));
+				     _("An internal error occured"));
 			return BRASERO_BURN_ERR;
 		}
 

Modified: trunk/src/plugins/cdrtools/burn-cdrecord.c
==============================================================================
--- trunk/src/plugins/cdrtools/burn-cdrecord.c	(original)
+++ trunk/src/plugins/cdrtools/burn-cdrecord.c	Thu Nov 13 15:12:23 2008
@@ -78,90 +78,46 @@
 static BraseroBurnResult
 brasero_cdrecord_stderr_read (BraseroProcess *process, const gchar *line)
 {
-	BraseroCDRecord *cdrecord = BRASERO_CD_RECORD (process);
-	BraseroCDRecordPrivate *priv;
 	BraseroBurnFlag flags;
 
-	priv = BRASERO_CD_RECORD_PRIVATE (cdrecord);
-	brasero_job_get_flags (BRASERO_JOB (cdrecord), &flags);
+	brasero_job_get_flags (BRASERO_JOB (process), &flags);
 
-	if (strstr (line, "Cannot open SCSI driver.")) {
+	if (strstr (line, "Cannot open SCSI driver.")
+	||  strstr (line, "Operation not permitted. Cannot send SCSI cmd via ioctl")
+	||  strstr (line, "Cannot open or use SCSI driver")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_PERMISSION,
-						_("You don't seem to have the required permission to use this drive")));
-	}
-	else if (strstr (line, "No disk / Wrong disk!") != NULL) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_MEDIA_NONE,
-						_("There seems to be no disc in the drive")));
-	}
-	else if (strstr (line, "Input buffer error, aborting") != NULL) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("Input buffer error")));
-	}
-	else if (strstr (line, "This means that we are checking recorded media.") != NULL) {
-		/* NOTE: defer the consequence of this error as it is not always
-		 * fatal. So send a warning but don't stop the process. */
-		brasero_process_deferred_error (process,
-						g_error_new (BRASERO_BURN_ERROR,
-							     BRASERO_BURN_ERROR_MEDIA_NOT_WRITABLE,
-							     _("The CD has already been recorded")));
-	}
-	else if (strstr (line, "Cannot blank disk, aborting.") != NULL) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_MEDIA_NOT_REWRITABLE,
-						_("The CD cannot be blanked")));
+						_("You do not have the required permissions to use this drive")));
 	}
 	else if (!(flags & BRASERO_BURN_FLAG_OVERBURN)
 	     &&  strstr (line, "Data may not fit on current disk")) {
 		/* we don't error out if overburn was chosen */
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_MEDIA_SPACE,
-						_("The files selected did not fit on the CD")));
-	}
-	else if (strstr (line ,"cdrecord: A write error occured")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("A write error occured which was likely due to overburning the disc")));
-	}
-	else if (strstr (line, "Inappropriate audio coding")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_INCOMPATIBLE_FORMAT,
-						_("All audio files must be stereo, 16-bit digital audio with 44100Hz samples")));
+						BRASERO_BURN_ERROR_MEDIUM_SPACE,
+						_("Not enough space available on the disc")));
 	}
-	else if (strstr (line, "cannot write medium - incompatible format") != NULL) {
+	else if (strstr (line ,"cdrecord: A write error occured")
+	     ||  strstr (line, "Could not write Lead-in")
+	     ||  strstr (line, "Cannot fixate disk")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_INCOMPATIBLE_FORMAT,
-						_("The image does not seem to be a proper iso9660 file system")));
+						BRASERO_BURN_ERROR_WRITE_MEDIUM,
+						_("An error occured while writing to disc")));
 	}
 	else if (strstr (line, "DMA speed too slow") != NULL) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_SLOW_DMA,
-						_("The system is too slow to write the CD at this speed. Try a lower speed")));
-	}
-	else if (strstr (line, "Operation not permitted. Cannot send SCSI cmd via ioctl")
-	     ||  strstr (line, "Cannot open or use SCSI driver")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_SCSI_IOCTL,
-						_("You do not seem to have the required permission to use this drive")));
+						_("The system is too slow to write the disc at this speed. Try a lower speed")));
 	}
 	else if (strstr (line, "Device or resource busy")) {
 		if (!strstr (line, "retrying in")) {
 			brasero_job_error (BRASERO_JOB (process),
 					   g_error_new (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_BUSY_DRIVE,
-							_("The drive seems to be busy (maybe check you have proper permissions to use it)")));
+							BRASERO_BURN_ERROR_DRIVE_BUSY,
+							_("The drive is busy")));
 		}
 	}
 	else if (strstr (line, "Illegal write mode for this drive")) {
@@ -169,41 +125,72 @@
 		 * drive with cdrdao and eject it. Should we ? */
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
-						_("The drive seems to be busy (maybe you should reload the media)")));
+						BRASERO_BURN_ERROR_DRIVE_BUSY,
+						_("The drive is busy")));
+	}
+
+	/* REMINDER: these should not be necessary as we checked that already */
+	/**
+	else if (strstr (line, "cannot write medium - incompatible format") != NULL) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new (BRASERO_BURN_ERROR,
+						BRASERO_BURN_ERROR_INPUT_INVALID,
+						_("The image does not seem to be a proper iso9660 file system")));
+	}
+	else if (strstr (line, "This means that we are checking recorded media.") != NULL) {
+	**/	/* NOTE: defer the consequence of this error as it is not always
+		 * fatal. So send a warning but don't stop the process. */
+	/**	brasero_process_deferred_error (process,
+						g_error_new (BRASERO_BURN_ERROR,
+							     BRASERO_BURN_ERROR_MEDIUM_INVALID,
+							     _("The disc is already burnt")));
+	}
+	else if (strstr (line, "Cannot blank disk, aborting.") != NULL) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new (BRASERO_BURN_ERROR,
+						BRASERO_BURN_ERROR_MEDIUM_INVALID,
+						_("The disc could not be blanked")));
 	}
-	else if (strstr (line, "cdrecord: No such file or directory. Cannot open")) {
+	else if (strstr (line, "Bad audio track size")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_GENERAL,
-						_("The image file cannot be found")));
+						_("The audio tracks are too short or not a multiple of 2352")));
 	}
-	else if (strstr (line, "Bad file descriptor. read error on input file")
+	else if (strstr (line, "cdrecord: No such file or directory. Cannot open")
 	     ||  strstr (line, "No tracks specified. Need at least one.")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("Internal error")));
+						BRASERO_BURN_ERROR_INPUT,
+						_("The image file cannot be found")));
 	}
-	else if (strstr (line, "Could not write Lead-in")) {
+	else if (strstr (line, "Inappropriate audio coding")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("The disc information could not be written")));
+						BRASERO_BURN_ERROR_INPUT_INVALID,
+						_("All audio files must be stereo, 16-bit digital audio with 44100Hz samples")));
 	}
-	else if (strstr (line, "Cannot fixate disk")) {
+	else if (strstr (line, "No disk / Wrong disk!") != NULL) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("The disc could not be closed")));
+						BRASERO_BURN_ERROR_MEDIA_NONE,
+						_("There seems to be no disc in the drive")));
 	}
-	else if (strstr (line, "Bad audio track size")) {
+
+	**/
+
+	/** For these we'd rather have a message saying "cdrecord failed"
+	 *  as an internal error occured says nothing/even less
+	else if (strstr (line, "Bad file descriptor. read error on input file")
+	     ||  strstr (line, "Input buffer error, aborting")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_GENERAL,
-						_("The audio tracks are too short or not a multiple of 2352")));
+						_("An internal error occured")));
 	}
 
+	**/
+
 	return BRASERO_BURN_OK;
 }
 
@@ -307,7 +294,7 @@
 	else if (strstr (line, "Formatting media")) {
 		brasero_job_set_current_action (BRASERO_JOB (process),
 						BRASERO_BURN_ACTION_BLANKING,
-						_("Formatting media"),
+						_("Formatting disc"),
 						FALSE);
 	}
 	else if (strstr (line, "Sending CUE sheet")) {
@@ -338,8 +325,8 @@
 
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_RELOAD_MEDIA,
-						_("The media needs to be reloaded before being recorded")));
+						BRASERO_BURN_ERROR_MEDIUM_NEED_RELOADING,
+						_("The disc needs to be reloaded before being recorded")));
 	}
 	else if (g_str_has_prefix (line, "Fixating...")
 	     ||  g_str_has_prefix (line, "Writing Leadout...")) {
@@ -355,12 +342,8 @@
 	     ||  strstr (line, "Blanking entire disk")) {
 
 	}
-	else if (strstr (line, "Use tsize= option in SAO mode to specify track size")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("internal error")));
-	}
+	/* This should not happen */
+	/* else if (strstr (line, "Use tsize= option in SAO mode to specify track size")) */
 
 	return BRASERO_BURN_OK;
 }
@@ -591,7 +574,7 @@
 	g_set_error (error,
 		     BRASERO_BURN_ERROR,
 		     BRASERO_BURN_ERROR_GENERAL,
-		     _("the inf file can't be written : %s"), 
+		     _("An internal error occured (%s)"), 
 		     g_strerror (errsv));
 
 	return BRASERO_BURN_ERR;
@@ -699,10 +682,11 @@
 		/* we need to know what is the type of the track (audio / data) */
 		result = brasero_job_get_input_type (BRASERO_JOB (cdrecord), &type);
 		if (result != BRASERO_BURN_OK) {
+			BRASERO_JOB_LOG (cdrecord, "Imager doesn't seem to be ready")
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("imager doesn't seem to be ready"));
+				     _("An internal error occured"));
 			return BRASERO_BURN_ERR;
 		}
 		
@@ -711,10 +695,11 @@
 							      &sectors,
 							      NULL);
 		if (result != BRASERO_BURN_OK) {
+			BRASERO_JOB_LOG (cdrecord, "The size of the session cannot be retrieved")
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("the size of the session cannot be retrieved"));
+				     _("An internal error occured"));
 			return BRASERO_BURN_ERR;
 		}
 

Modified: trunk/src/plugins/cdrtools/burn-mkisofs.c
==============================================================================
--- trunk/src/plugins/cdrtools/burn-mkisofs.c	(original)
+++ trunk/src/plugins/cdrtools/burn-mkisofs.c	Thu Nov 13 15:12:23 2008
@@ -107,29 +107,27 @@
 	else if (strstr (line, "Input/output error. Read error on old image")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("the old image couldn't be read")));
+							BRASERO_BURN_ERROR_IMAGE_LAST_SESSION,
+							_("Last session import failed")));
 	}
 	else if (strstr (line, "Unable to sort directory")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("the image can't be created")));
+							BRASERO_BURN_ERROR_WRITE_IMAGE,
+							_("An image could not be created")));
 	}
-	else if (strstr (line, "have the same joliet name")) {
-		/* we keep the name of the files in case we need to rerun */
-	}
-	else if (strstr (line, "Joliet tree sort failed.")) {
+	else if (strstr (line, "have the same joliet name")
+	     ||  strstr (line, "Joliet tree sort failed.")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
-							_("the image can't be created")));
+							BRASERO_BURN_ERROR_IMAGE_JOLIET,
+							_("An image could not be created")));
 	}
 	else if (strstr (line, "Use mkisofs -help")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
-							_("this version of mkisofs doesn't seem to be supported")));
+							BRASERO_BURN_ERROR_GENERAL,
+							_("This version of mkisofs is not supported")));
 	}
 /*	else if ((pos =  strstr (line,"mkisofs: Permission denied. "))) {
 		int res = FALSE;
@@ -156,7 +154,7 @@
 		else
 			return TRUE;
 
-		res = brasero_mkisofs_base_ask_unreadable_file (BRASERO_MKISOFS_BASE (process),
+		res = brasero_mkisofs_base_ask_unreadable_file (BRASERO_GENISOIMAGE_BASE (process),
 								path,
 								isdir);
 		if (!res) {
@@ -170,35 +168,46 @@
 	else if (strstr (line, "Incorrectly encoded string")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
+							BRASERO_BURN_ERROR_INPUT_INVALID,
 							_("Some files have invalid filenames")));
 	}
 	else if (strstr (line, "Unknown charset")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
+							BRASERO_BURN_ERROR_INPUT_INVALID,
 							_("Unknown character encoding")));
 	}
-	else if (strstr (line, "Resource temporarily unavailable")) {
-		brasero_job_error (BRASERO_JOB (process),
-				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("writing to file descriptor failed")));
-	}
 	else if (strstr (line, "No space left on device")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
 							BRASERO_BURN_ERROR_DISK_SPACE,
 							_("There is no space left on the device")));
+
 	}
 	else if (strstr (line, "Value too large for defined data type")) {
-		/* TODO: get filename from error message */
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_GENERAL,
-							_("The file is too large for a CD")));
+							BRASERO_BURN_ERROR_MEDIUM_SPACE,
+							_("Not enough space available on the disc")));
+	}
+
+	/** REMINDER: these should not be necessary
+
+	else if (strstr (line, "Resource temporarily unavailable")) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new_literal (BRASERO_BURN_ERROR,
+							BRASERO_BURN_ERROR_INPUT,
+							_("Data could not be written")));
+	}
+	else if (strstr (line, "Bad file descriptor.")) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new_literal (BRASERO_BURN_ERROR,
+							BRASERO_BURN_ERROR_INPUT,
+							_("Internal error: bad file descriptor")));
 	}
 
+	**/
+
 	return BRASERO_BURN_OK;
 }
 
@@ -337,10 +346,11 @@
 		brasero_job_get_next_writable_address (BRASERO_JOB (mkisofs), &next_wr_add);
 		if (last_session == -1 || next_wr_add == -1) {
 			g_free (videodir);
+			BRASERO_JOB_LOG (mkisofs, "Failed to get the start point of the track. Make sure the media allow to add files (it is not closed)"); 
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("failed to get the start point of the track. Make sure the media allow to add files (it is not closed)"));
+				     _("An internal error occured"));
 			return BRASERO_BURN_ERR;
 		}
 
@@ -499,24 +509,20 @@
 static BraseroBurnResult
 brasero_mkisofs_export_caps (BraseroPlugin *plugin, gchar **error)
 {
-	gchar *prog_name;
+	BraseroBurnResult result;
 	GSList *output;
 	GSList *input;
 
 	brasero_plugin_define (plugin,
 			       "mkisofs",
-			       _("use mkisofs to create images from files"),
+			       _("Use mkisofs to create image from a file selection"),
 			       "Philippe Rouquier",
 			       0);
 
-	/* First see if this plugin can be used, i.e. if mkisofs is in
-	 * the path */
-	prog_name = g_find_program_in_path ("mkisofs");
-	if (!prog_name) {
-		*error = g_strdup (_("mkisofs could not be found in the path"));
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("mkisofs", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	brasero_plugin_set_flags (plugin,
 				  BRASERO_MEDIUM_CDR|

Modified: trunk/src/plugins/cdrtools/burn-readcd.c
==============================================================================
--- trunk/src/plugins/cdrtools/burn-readcd.c	(original)
+++ trunk/src/plugins/cdrtools/burn-readcd.c	Thu Nov 13 15:12:23 2008
@@ -88,27 +88,27 @@
 	else if (strstr (line, "Device not ready.")) {
 		brasero_job_error (BRASERO_JOB (readcd),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
-						_("The drive is busy.")));
+						BRASERO_BURN_ERROR_DRIVE_BUSY,
+						_("The drive is busy")));
 	}
 	else if (strstr (line, "Cannot open SCSI driver.")) {
 		brasero_job_error (BRASERO_JOB (readcd),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
-						_("You do not seem to have the required permissions to access the drive")));		
+						BRASERO_BURN_ERROR_PERMISSION,
+						_("You do not have the required permissions to use this drive")));		
 	}
 	else if (strstr (line, "Cannot send SCSI cmd via ioctl")) {
 		brasero_job_error (BRASERO_JOB (readcd),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_SCSI_IOCTL,
-						_("You do not to have the required permissions to access the drive")));
+						BRASERO_BURN_ERROR_PERMISSION,
+						_("You do not have the required permissions to use this drive")));
 	}
 	/* we scan for this error as in this case readcd returns success */
 	else if (sscanf (line, "Input/output error. Error on sector %d not corrected. Total of %d error", &dummy1, &dummy2) == 2) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
 						BRASERO_BURN_ERROR_GENERAL,
-						_("Internal error")));
+						_("An internal error occured")));
 	}
 
 	return BRASERO_BURN_OK;
@@ -328,7 +328,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("raw images cannot be created with DVDs"));
+			     _("An internal error occured"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -402,24 +402,20 @@
 static BraseroBurnResult
 brasero_readcd_export_caps (BraseroPlugin *plugin, gchar **error)
 {
-	gchar *prog_name;
+	BraseroBurnResult result;
 	GSList *output;
 	GSList *input;
 
 	brasero_plugin_define (plugin,
 			       "readcd",
-			       _("use readcd to image CDs"),
+			       _("Use readcd to image CDs and DVDs"),
 			       "Philippe Rouquier",
 			       0);
 
-	/* First see if this plugin can be used, i.e. if readcd is in
-	 * the path */
-	prog_name = g_find_program_in_path ("readcd");
-	if (!prog_name) {
-		*error = g_strdup (_("readcd could not be found in the path"));
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("readcd", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	/* that's for clone mode only The only one to copy audio */
 	output = brasero_caps_image_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,

Modified: trunk/src/plugins/checksum/burn-checksum-files.c
==============================================================================
--- trunk/src/plugins/checksum/burn-checksum-files.c	(original)
+++ trunk/src/plugins/checksum/burn-checksum-files.c	Thu Nov 13 15:12:23 2008
@@ -109,7 +109,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the file %s couldn't be read (%s)"),
+			     _("File \"%s\" could not be opened (%s)"),
 			     name,
 			     g_strerror (errsv));
 		g_free (name);
@@ -171,7 +171,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the md5 file couldn't be written to (%s)"),
+			     _("Data could not be written (%s)"),
 			     g_strerror (errsv));
 			
 		return BRASERO_BURN_ERR;
@@ -194,7 +194,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the md5 file couldn't be written to (%s)"),
+			     _("Data could not be written (%s)"),
 			     g_strerror (errsv));
 
 		return BRASERO_BURN_ERR;
@@ -550,7 +550,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("md5 file couldn't be opened (%s)"),
+			     _("File \"%s\" could not be opened (%s)"),
+			     priv->sums_path,
 			     g_strerror (errsv));
 
 		return BRASERO_BURN_ERR;
@@ -906,7 +907,7 @@
 	g_set_error (error,
 		     BRASERO_BURN_ERROR,
 		     BRASERO_BURN_ERROR_BAD_CHECKSUM,
-		     _("some files may be corrupted on the disc"));
+		     _("Some files may be corrupted on the disc"));
 
 	return BRASERO_BURN_ERR;
 }
@@ -1024,7 +1025,7 @@
 
 	error = g_error_new (BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_BAD_CHECKSUM,
-			     _("some files may be corrupted on the disc"));
+			     _("Some files may be corrupted on the disc"));
 	brasero_job_error (BRASERO_JOB (self), error);
 	return FALSE;
 }
@@ -1260,7 +1261,7 @@
 
 	brasero_plugin_define (plugin,
 			       "File checksum",
-			       _("allows to check file integrities on a disc"),
+			       _("Allows to check file integrities on a disc"),
 			       "Philippe Rouquier",
 			       0);
 

Modified: trunk/src/plugins/checksum/burn-checksum-image.c
==============================================================================
--- trunk/src/plugins/checksum/burn-checksum-image.c	(original)
+++ trunk/src/plugins/checksum/burn-checksum-image.c	Thu Nov 13 15:12:23 2008
@@ -106,8 +106,7 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("data could not be read from the pipe (%i: %s)"),
-					     errsv,
+					     _("Data could not be read (%s)"),
 					     g_strerror (errsv));
 				return -1;
 			}
@@ -157,8 +156,7 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("the data couldn't be written to the pipe (%i: %s)"),
-					     errsv,
+					     _("Data could not be written (%s)"),
 					     g_strerror (errsv));
 				return BRASERO_BURN_ERR;
 			}
@@ -270,8 +268,8 @@
 	if (!path) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the image is not local"));
+			     BRASERO_BURN_ERROR_FILE_NOT_LOCAL,
+			     _("The file is not stored locally"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -291,10 +289,13 @@
 		name = g_path_get_basename (path);
 
                 errsv = errno;
+
+		/* Translators: first %s is the filename, second %s is the error
+		 * generated from errno */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the file %s couldn't be read (%s)"),
+			     _("\"%s\" could not be opened (%s)"),
 			     name,
 			     g_strerror (errsv));
 		g_free (name);
@@ -492,7 +493,7 @@
 
 	error = g_error_new (BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_BAD_CHECKSUM,
-			     _("some files may be corrupted on the disc"));
+			     _("Some files may be corrupted on the disc"));
 	brasero_job_error (BRASERO_JOB (self), error);
 	return FALSE;
 }
@@ -727,7 +728,7 @@
 
 	brasero_plugin_define (plugin,
 			       "Image checksum",
-			       _("allows to check data integrity on disc after it is burnt"),
+			       _("Allows to check data integrity on disc after it is burnt"),
 			       "Philippe Rouquier",
 			       0);
 

Modified: trunk/src/plugins/dvdcss/burn-dvdcss.c
==============================================================================
--- trunk/src/plugins/dvdcss/burn-dvdcss.c	(original)
+++ trunk/src/plugins/dvdcss/burn-dvdcss.c	Thu Nov 13 15:12:23 2008
@@ -117,14 +117,14 @@
 	g_set_error (error,
 		     BRASERO_BURN_ERROR,
 		     BRASERO_BURN_ERROR_GENERAL,
-		     _("encrypted DVD: please, install libdvdcss version 1.2.x"));
+		     _("Encrypted DVD: please, install libdvdcss version 1.2.x"));
 	return FALSE;
 
 error_version:
 	g_set_error (error,
 		     BRASERO_BURN_ERROR,
 		     BRASERO_BURN_ERROR_GENERAL,
-		     _("libdvdcss version %s is not supported.\nPlease, install libdvdcss version 1.2.x"),
+		     _("Libdvdcss version %s is not supported.\nPlease, install libdvdcss version 1.2.x"),
 		     dvdcss_interface_2);
 	g_module_close (module);
 	return FALSE;
@@ -134,7 +134,7 @@
 	g_set_error (error,
 		     BRASERO_BURN_ERROR,
 		     BRASERO_BURN_ERROR_GENERAL,
-		     _("libdvdcss couldn't be loaded properly"));
+		     _("Libdvdcss could not be loaded properly"));
 	g_module_close (module);
 	return FALSE;
 }
@@ -211,8 +211,7 @@
 				/* unrecoverable error */
 				priv->error = g_error_new (BRASERO_BURN_ERROR,
 							   BRASERO_BURN_ERROR_GENERAL,
-							   _("the data couldn't be written to the pipe (%i: %s)"),
-							   errsv,
+							   _("Data could not be written (%s)"),
 							   g_strerror (errsv));
 				return BRASERO_BURN_ERR;
 			}
@@ -343,7 +342,7 @@
 	if (volume_size == -1) {
 		priv->error = g_error_new (BRASERO_BURN_ERROR,
 					   BRASERO_BURN_ERROR_GENERAL,
-					   _("the size of the volume couln't be retrieved"));
+					   _("The size of the volume could not be retrieved"));
 		goto end;
 	}
 
@@ -352,7 +351,7 @@
 	if (!handle) {
 		priv->error = g_error_new (BRASERO_BURN_ERROR,
 					   BRASERO_BURN_ERROR_GENERAL,
-					   _("DVD could not be opened"));
+					   _("Video DVD could not be opened"));
 		goto end;
 	}
 
@@ -370,7 +369,7 @@
 	if (dvdcss_seek (handle, 0, DVDCSS_NOFLAGS) != 0) {
 		priv->error = g_error_new (BRASERO_BURN_ERROR,
 					   BRASERO_BURN_ERROR_GENERAL,
-					   _("Error reading video DVD (%s)"),
+					   _("Error while reading video DVD (%s)"),
 					   dvdcss_error (handle));
 		goto end;
 	}
@@ -430,7 +429,7 @@
 			&&  dvdcss_seek (handle, written_sectors, DVDCSS_SEEK_KEY) != written_sectors) {
 				priv->error = g_error_new (BRASERO_BURN_ERROR,
 							   BRASERO_BURN_ERROR_GENERAL,
-							   _("Error reading video DVD (%s)"),
+							   _("Error while reading video DVD (%s)"),
 							   dvdcss_error (handle));
 				break;
 			}
@@ -450,7 +449,7 @@
 		if (dvdcss_read (handle, buf, num_blocks, flag) != num_blocks) {
 			priv->error = g_error_new (BRASERO_BURN_ERROR,
 						   BRASERO_BURN_ERROR_GENERAL,
-						   _("Error reading video DVD (%s)"),
+						   _("Error while reading video DVD (%s)"),
 						   dvdcss_error (handle));
 			break;
 		}
@@ -462,8 +461,7 @@
 
 				priv->error = g_error_new (BRASERO_BURN_ERROR,
 							   BRASERO_BURN_ERROR_GENERAL,
-							   _("the data couldn't be written to the file (%i: %s)"),
-							   errsv,
+							   _("Data could not be written (%s)"),
 							   g_strerror (errsv));
 				break;
 			}

Modified: trunk/src/plugins/growisofs/burn-dvd-rw-format.c
==============================================================================
--- trunk/src/plugins/growisofs/burn-dvd-rw-format.c	(original)
+++ trunk/src/plugins/growisofs/burn-dvd-rw-format.c	Thu Nov 13 15:12:23 2008
@@ -56,14 +56,20 @@
 	float percent;
 
 	if (strstr (line, "unable to proceed with format")
-	||  strstr (line, "unable to umount")
 	||  strstr (line, "media is not blank")
 	||  strstr (line, "media is already formatted")
 	||  strstr (line, "you have the option to re-run")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("Unhandled error, aborting")));
+						BRASERO_BURN_ERROR_MEDIUM_INVALID,
+						_("The disc is not supported")));
+		return BRASERO_BURN_OK;
+	}
+	else if (strstr (line, "unable to umount")) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new (BRASERO_BURN_ERROR,
+						BRASERO_BURN_ERROR_DRIVE_BUSY,
+						_("The drive is busy")));
 		return BRASERO_BURN_OK;
 	}
 
@@ -162,23 +168,19 @@
 				   BRASERO_MEDIUM_HAS_DATA|
 				   BRASERO_MEDIUM_UNFORMATTED|
 				   BRASERO_MEDIUM_BLANK;
-	gchar *prog_name;
+	BraseroBurnResult result;
 	GSList *output;
 
 	brasero_plugin_define (plugin,
 			       "dvd+rw-format",
-			       _("dvd+rw-format erases and formats DVD+/-RW"),
+			       _("Dvd+rw-format erases and formats DVD+/-R(W)"),
 			       "Philippe Rouquier",
 			       0);
 
-	/* First see if this plugin can be used, i.e. if growisofs is in
-	 * the path */
-	prog_name = g_find_program_in_path ("dvd+rw-format");
-	if (!prog_name) {
-		*error = g_strdup (_("dvd+rw-format could not be found in the path"));
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("dvd+rw-format", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	output = brasero_caps_disc_new (media|
 					BRASERO_MEDIUM_PLUS|

Modified: trunk/src/plugins/growisofs/burn-growisofs.c
==============================================================================
--- trunk/src/plugins/growisofs/burn-growisofs.c	(original)
+++ trunk/src/plugins/growisofs/burn-growisofs.c	Thu Nov 13 15:12:23 2008
@@ -164,62 +164,65 @@
 						NULL,
 						FALSE);
 	}
-	else if (strstr (line, "already carries isofs") && strstr (line, "FATAL:")) {
-		brasero_job_error (BRASERO_JOB (process), 
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_MEDIA_NOT_WRITABLE,
-						_("The disc is already burnt")));
-	}
 	else if (strstr (line, "unable to open")
-	     ||  strstr (line, "unable to stat")) {
-		brasero_job_error (BRASERO_JOB (process), 
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_BUSY_DRIVE,
-						_("The recorder could not be accessed")));
+	     ||  strstr (line, "unable to stat")
+	     ||  strstr (line, "unable to proceed with recording: unable to unmount")) {
+		brasero_job_error (BRASERO_JOB (process),
+				   g_error_new_literal (BRASERO_BURN_ERROR,
+							BRASERO_BURN_ERROR_DRIVE_BUSY,
+							_("The drive is busy")));
 	}
-	else if (strstr (line, "not enough space available") != NULL) {
+	else if (strstr (line, "not enough space available")
+	     ||  strstr (line, "end of user area encountered on this track")
+	     ||  strstr (line, "blocks are free")) {
 		brasero_job_error (BRASERO_JOB (process), 
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
+						BRASERO_BURN_ERROR_MEDIUM_SPACE,
 						_("Not enough space available on the disc")));
 	}
-	else if (strstr (line, "end of user area encountered on this track") != NULL) {
+	else if (strstr (line, "Input/output error. Read error on old image")) {
 		brasero_job_error (BRASERO_JOB (process), 
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("The files selected did not fit on the CD")));
+				   g_error_new_literal (BRASERO_BURN_ERROR,
+							BRASERO_BURN_ERROR_IMAGE_LAST_SESSION,
+							_("Last session import failed")));
 	}
-	else if (strstr (line, "blocks are free") != NULL) {
+	else if (strstr (line, "Unable to sort directory")) {
 		brasero_job_error (BRASERO_JOB (process), 
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("The files selected did not fit on the CD")));
-	}
-	else if (strstr (line, "unable to proceed with recording: unable to unmount")) {
-		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
-							_("the drive seems to be busy")));
+							BRASERO_BURN_ERROR_WRITE_IMAGE,
+							_("An image could not be created")));
 	}
-	else if (strstr (line, ":-(") != NULL || strstr (line, "FATAL")) {
+	else if (strstr (line, "have the same joliet name")
+	     ||  strstr (line, "Joliet tree sort failed.")) {
 		brasero_job_error (BRASERO_JOB (process), 
-				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("Unhandled error, aborting")));
+				   g_error_new_literal (BRASERO_BURN_ERROR,
+							BRASERO_BURN_ERROR_IMAGE_JOLIET,
+							_("An image could not be created")));
 	}
 	else if (strstr (line, "Incorrectly encoded string")) {
 		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
+							BRASERO_BURN_ERROR_INPUT_INVALID,
 							_("Some files have invalid filenames")));
 	}
-	else if (strstr (line, "Joliet tree sort failed.")) {
-		brasero_job_error (BRASERO_JOB (process), 
+	else if (strstr (line, "Unknown charset")) {
+		brasero_job_error (BRASERO_JOB (process),
 				   g_error_new_literal (BRASERO_BURN_ERROR,
-							BRASERO_BURN_ERROR_JOLIET_TREE,
-							_("the image can't be created")));
+							BRASERO_BURN_ERROR_INPUT_INVALID,
+							_("Unknown character encoding")));
 	}
 
+	/** REMINDER! removed messages:
+	   else if (strstr (line, ":-(") != NULL || strstr (line, "FATAL"))
+
+	   else if (strstr (line, "already carries isofs") && strstr (line, "FATAL:")) {
+		brasero_job_error (BRASERO_JOB (process), 
+				   g_error_new (BRASERO_BURN_ERROR,
+						BRASERO_BURN_ERROR_MEDIUM_INVALID,
+						_("The disc is already burnt")));
+	   }
+	**/
+
 	return BRASERO_BURN_OK;
 }
 
@@ -478,8 +481,9 @@
 			if (!g_file_test ("/proc/self/fd/0", G_FILE_TEST_EXISTS)) {
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
-					     BRASERO_BURN_ERROR_GENERAL,
-					     _("the file /proc/self/fd/0 is missing"));
+					     BRASERO_BURN_ERROR_FILE_NOT_FOUND,
+					     _("\"%s\" could not be found"),
+					     "/proc/self/fd/0");
 				return BRASERO_BURN_ERR;
 			}
 
@@ -497,8 +501,8 @@
 			if (!localpath) {
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
-					     BRASERO_BURN_ERROR_GENERAL,
-					     _("the image is not stored locally"));
+					     BRASERO_BURN_ERROR_FILE_NOT_LOCAL,
+					     _("The file is not stored locally"));
 				return BRASERO_BURN_ERR;
 			}
 
@@ -705,24 +709,20 @@
 static BraseroBurnResult
 brasero_growisofs_export_caps (BraseroPlugin *plugin, gchar **error)
 {
-	gchar *prog_name;
+	BraseroBurnResult result;
 	GSList *output;
 	GSList *input;
 
 	brasero_plugin_define (plugin,
 			       "growisofs",
-			       _("growisofs burns DVDs"),
+			       _("Growisofs burns DVDs"),
 			       "Philippe Rouquier",
 			       7);
 
-	/* First see if this plugin can be used, i.e. if growisofs is in
-	 * the path */
-	prog_name = g_find_program_in_path ("growisofs");
-	if (!prog_name) {
-		*error = g_strdup (_("growisofs could not be found in the path"));
-		return BRASERO_BURN_ERR;
-	}
-	g_free (prog_name);
+	/* First see if this plugin can be used */
+	result = brasero_process_check_path ("growisofs", error);
+	if (result != BRASERO_BURN_OK)
+		return result;
 
 	/* growisofs can write images to any type of DVD as long as it's blank */
 	input = brasero_caps_image_new (BRASERO_PLUGIN_IO_ACCEPT_PIPE|

Modified: trunk/src/plugins/libburnia/burn-libburn-common.c
==============================================================================
--- trunk/src/plugins/libburnia/burn-libburn-common.c	(original)
+++ trunk/src/plugins/libburnia/burn-libburn-common.c	Thu Nov 13 15:12:23 2008
@@ -145,7 +145,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("Libburn library couldn't be initialized"));
+			     _("Libburn library could not be initialized"));
 		return NULL;
 	}
 
@@ -160,7 +160,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the drive address couldn't be retrieved"));
+			     _("The drive address could not be retrieved"));
 		return NULL;
 	}
 
@@ -171,8 +171,8 @@
 		g_free (ctx);
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("the drive couldn't be initialized"));
+			     BRASERO_BURN_ERROR_DRIVE_BUSY,
+			     _("The drive is busy"));
 		return NULL;
 	}
 

Modified: trunk/src/plugins/libburnia/burn-libburn.c
==============================================================================
--- trunk/src/plugins/libburnia/burn-libburn.c	(original)
+++ trunk/src/plugins/libburnia/burn-libburn.c	Thu Nov 13 15:12:23 2008
@@ -225,7 +225,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("unable to set the source"));
+			     _("Libburn track could not be created"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -233,7 +233,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("unable to add the track to the session"));
+			     _("Libburn track could not be created"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -573,11 +573,11 @@
 	int fd;
 
 	priv = BRASERO_LIBBURN_PRIVATE (self);
-	if (burn_disc_get_profile (priv->ctx->drive, &profile, prof_name) < 0) {
+	if (burn_disc_get_profile (priv->ctx->drive, &profile, prof_name) <= 0) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("no profile available for the medium"));
+			     BRASERO_BURN_ERROR_MEDIUM_INVALID,
+			     _("The disc is not supported"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -620,10 +620,16 @@
 	 * /dev/null */
 	fd = open ("/dev/null", O_RDONLY);
 	if (fd == -1) {
+		int errnum = errno;
+
+		/* Translators: first %s is the filename, second %s is the error
+		 * generated from errno */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("/dev/null can't be opened"));
+			     _("\"%s\" could not be opened (%s)"),
+			     "/dev/null",
+			     g_strerror (errnum));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -654,10 +660,13 @@
 
 	if (burn_precheck_write (opts, priv->ctx->disc, reasons, 0) <= 0) {
 		burn_write_opts_free (opts);
+
+		/* Translators: %s is the error returned by libburn */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("libburn can't burn: %s"), reasons);
+			     _("An internal error occured (%s)"),
+			     reasons);
 		return BRASERO_BURN_ERR;
 	}
 
@@ -758,8 +767,8 @@
 		BRASERO_JOB_LOG (job, "Something went wrong");
 		brasero_job_error (job,
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("an unknown error occured")));
+						BRASERO_BURN_ERROR_WRITE_MEDIUM,
+						_("An error occured while writing to disc")));
 		return BRASERO_BURN_OK;
 	}
 
@@ -786,10 +795,11 @@
 					BRASERO_PVD_SIZE,
 					0);
 	if (ret != 1) {
+		BRASERO_JOB_LOG (job, "Random write failed");
 		brasero_job_error (job,
 				   g_error_new (BRASERO_BURN_ERROR,
-						BRASERO_BURN_ERROR_GENERAL,
-						_("an unknown error occured")));
+						BRASERO_BURN_ERROR_WRITE_MEDIUM,
+						_("An error occured while writing to disc")));
 		return BRASERO_BURN_OK;
 	}
 

Modified: trunk/src/plugins/libburnia/burn-libisofs.c
==============================================================================
--- trunk/src/plugins/libburnia/burn-libisofs.c	(original)
+++ trunk/src/plugins/libburnia/burn-libisofs.c	Thu Nov 13 15:12:23 2008
@@ -144,8 +144,7 @@
 				/* unrecoverable error */
 				priv->error = g_error_new (BRASERO_BURN_ERROR,
 							   BRASERO_BURN_ERROR_GENERAL,
-							   _("the data couldn't be written to the pipe (%i: %s)"),
-							   errsv,
+							   _("Data could not be written (%s)"),
 							   g_strerror (errsv));
 				return BRASERO_BURN_ERR;
 			}
@@ -239,8 +238,7 @@
 
 			priv->error = g_error_new (BRASERO_BURN_ERROR,
 						   BRASERO_BURN_ERROR_GENERAL,
-						   _("the data couldn't be written to the file (%i: %s)"),
-						   errsv,
+						   _("Data could not be written (%s)"),
 						   g_strerror (errsv));
 			break;
 		}
@@ -294,7 +292,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("Libisofs can't be initialized."));
+			     _("Libisofs could not be initialized."));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -434,7 +432,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("No read options could be created."));
+			     _("Read options could not be created"));
 		return BRASERO_BURN_ERR;
 	}
 
@@ -456,8 +454,8 @@
 	if (result < 0) {
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
-			     BRASERO_BURN_ERROR_GENERAL,
-			     _("Image import failed."));	
+			     BRASERO_BURN_ERROR_IMAGE_LAST_SESSION,
+			     _("Last session import failed"));	
 		return BRASERO_BURN_ERR;
 	}
 
@@ -510,7 +508,7 @@
 	if (!iso_image_new (label, &image)) {
 		priv->error = g_error_new (BRASERO_BURN_ERROR,
 					   BRASERO_BURN_ERROR_GENERAL,
-					   _("Volume could not be created."));
+					   _("Volume could not be created"));
 		g_free (label);
 		goto end;
 	}
@@ -616,9 +614,10 @@
 			/* an error has occured, possibly libisofs hasn't been
 			 * able to find a parent for this node */
 			g_free (path_name);
+			/* Translators: %s is the path */
 			priv->error = g_error_new (BRASERO_BURN_ERROR,
 						   BRASERO_BURN_ERROR_GENERAL,
-						   _("a parent for the path (%s) could not be found in the tree"),
+						   _("No parent could be found in the tree for the path \"%s\""),
 						   graft->path);
 			goto end;
 		}
@@ -640,9 +639,8 @@
 
 			if (!local_path){
 				priv->error = g_error_new (BRASERO_BURN_ERROR,
-							   BRASERO_BURN_ERROR_GENERAL,
-							   _("non local file %s"),
-							   G_STRLOC);
+							   BRASERO_BURN_ERROR_FILE_NOT_LOCAL,
+							   _("The file is not stored locally"));
 				g_free (path_name);
 				goto end;
 			}
@@ -684,9 +682,8 @@
 							 result);
 					priv->error = g_error_new (BRASERO_BURN_ERROR,
 								   BRASERO_BURN_ERROR_GENERAL,
-								   _("libisofs reported an error while adding directory %s (%x)"),
-								   graft->path,
-								   result);
+								   _("Libisofs reported an error while creating directory \"%s\""),
+								   graft->path);
 					g_free (path_name);
 					goto end;
 				}
@@ -700,7 +697,7 @@
 							 result);
 					priv->error = g_error_new (BRASERO_BURN_ERROR,
 								   BRASERO_BURN_ERROR_GENERAL,
-								   _("libisofs reported an error while adding contents to directory %s (%x)"),
+								   _("Libisofs reported an error while adding contents to directory \"%s\" (%x)"),
 								   graft->path,
 								   result);
 					g_free (path_name);
@@ -722,7 +719,7 @@
 							 err);
 					priv->error = g_error_new (BRASERO_BURN_ERROR,
 								   BRASERO_BURN_ERROR_GENERAL,
-								   _("libisofs reported an error while adding file %s"),
+								   _("Libisofs reported an error while adding file at path \"%s\""),
 								   graft->path);
 					g_free (path_name);
 					goto end;
@@ -738,7 +735,7 @@
 								 err);
 						priv->error = g_error_new (BRASERO_BURN_ERROR,
 									   BRASERO_BURN_ERROR_GENERAL,
-									   _("libisofs reported an error while adding file %s"),
+									   _("Libisofs reported an error while adding file at path \"%s\""),
 									   graft->path);
 						g_free (path_name);
 						goto end;
@@ -751,7 +748,7 @@
 		else if (iso_tree_add_new_dir (ISO_DIR (parent), path_name, NULL) < 0) {
 			priv->error = g_error_new (BRASERO_BURN_ERROR,
 						   BRASERO_BURN_ERROR_GENERAL,
-						   _("libisofs reported an error while creating directory %s"),
+						   _("Libisofs reported an error while creating directory \"%s\""),
 						   graft->path);
 			g_free (path_name);
 			goto end;
@@ -819,7 +816,7 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("Libisofs can't be initialized."));
+			     _("Libisofs could not be initialized."));
 		return BRASERO_BURN_ERR;
 	}
 

Modified: trunk/src/plugins/local-track/burn-local-image.c
==============================================================================
--- trunk/src/plugins/local-track/burn-local-image.c	(original)
+++ trunk/src/plugins/local-track/burn-local-image.c	Thu Nov 13 15:12:23 2008
@@ -226,7 +226,7 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("a directory couldn't be created (%s)"),
+					     _("Directory could not be created (%s)"),
 					     g_strerror (errsv));
 				result = BRASERO_BURN_ERR;
 			}
@@ -316,7 +316,7 @@
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("a directory couldn't be created (%s)"),
+				     _("Directory could not be created (%s)"),
 				     g_strerror (errsv));
 			return BRASERO_BURN_ERR;
 		}

Modified: trunk/src/plugins/local-track/burn-uri.c
==============================================================================
--- trunk/src/plugins/local-track/burn-uri.c	(original)
+++ trunk/src/plugins/local-track/burn-uri.c	Thu Nov 13 15:12:23 2008
@@ -156,7 +156,7 @@
 				g_set_error (error,
 					     BRASERO_BURN_ERROR,
 					     BRASERO_BURN_ERROR_GENERAL,
-					     _("Impossible to retrieve local file path."));
+					     _("Impossible to retrieve local file path"));
 
 				g_slist_foreach (grafts, (GFunc) brasero_graft_point_free, NULL);
 				g_slist_free (grafts);
@@ -283,7 +283,7 @@
 			if (!real_path) {
 				priv->error = g_error_new (BRASERO_BURN_ERROR,
 							   BRASERO_BURN_ERROR_GENERAL,
-							   _("Impossible to retrieve local file path."));
+							   _("Impossible to retrieve local file path"));
 
 				g_slist_foreach (grafts, (GFunc) brasero_graft_point_free, NULL);
 				g_slist_free (grafts);
@@ -528,7 +528,7 @@
 
 	brasero_plugin_define (plugin,
 			       "burn_uris",
-			       _("Burn_uri allows to burn files added to \"CD/DVD Creator Folder\" in nautilus"),
+			       _("Burn_uri allows burning files added to \"CD/DVD Creator Folder\" in nautilus"),
 			       "Philippe Rouquier",
 			       11);
 

Modified: trunk/src/plugins/transcode/burn-normalize.c
==============================================================================
--- trunk/src/plugins/transcode/burn-normalize.c	(original)
+++ trunk/src/plugins/transcode/burn-normalize.c	Thu Nov 13 15:12:23 2008
@@ -94,7 +94,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("source can't be created"));
+			     _("%s element could not be created"),
+			     "\"Source\"");
 		return FALSE;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), source);
@@ -353,7 +354,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("decode can't be created"));
+			     _("%s element could not be created"),
+			     "\"Decodebin\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), decode);
@@ -365,7 +367,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioconvert can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioconvert\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), convert);
@@ -376,7 +379,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioresample can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioresample\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), resample);
@@ -387,7 +391,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("rganalysis can't be created"));
+			     _("%s element could not be created"),
+			     "\"Rganalysis\"");
 		goto error;
 	}
 	priv->analysis = analysis;
@@ -399,7 +404,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("sink can't be created"));
+			     _("%s element could not be created"),
+			     "\"Fakesink\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), sink);
@@ -554,10 +560,17 @@
 	GSList *input;
 	GstElement *element;
 
+	brasero_plugin_define (plugin,
+			       "normalize",
+			       _("Normalize allows to set consistent sound levels between tracks"),
+			       "Philippe Rouquier",
+			       0);
+
 	/* Let's see if we've got the plugins we need */
 	element = gst_element_factory_make ("rgvolume", NULL);
 	if (!element) {
-		*error = g_strdup (_("GST plugin \"rgvolume\" could not be found"));
+		*error = g_strdup_printf (_("%s element could not be created"),
+					  "\"Rgvolume\"");
 		return BRASERO_BURN_ERR;
 	}
 
@@ -565,18 +578,13 @@
 
 	element = gst_element_factory_make ("rganalysis", NULL);
 	if (!element) {
-		*error = g_strdup (_("GST plugin \"rganalysis\" could not be found"));
+		*error = g_strdup_printf (_("%s element could not be created"),
+					  "\"Rganalysis\"");
 		return BRASERO_BURN_ERR;
 	}
 
 	gst_object_unref (element);
 
-	brasero_plugin_define (plugin,
-			       "normalize",
-			       _("Normalize allows to set consistent sound levels between tracks"),
-			       "Philippe Rouquier",
-			       0);
-
 	input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
 					BRASERO_AUDIO_FORMAT_UNDEFINED);
 	brasero_plugin_process_caps (plugin, input);

Modified: trunk/src/plugins/transcode/burn-transcode.c
==============================================================================
--- trunk/src/plugins/transcode/burn-transcode.c	(original)
+++ trunk/src/plugins/transcode/burn-transcode.c	Thu Nov 13 15:12:23 2008
@@ -311,10 +311,13 @@
 	uri = brasero_track_get_audio_source (track, TRUE);
 	source = gst_element_make_from_uri (GST_URI_SRC, uri, NULL);
 	if (source == NULL) {
+		/* Translators: %s is the name of the GstElement that 
+		 * could not be created */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("source can't be created"));
+			     _("%s element could not be created"),
+			     "\"Source\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), source);
@@ -359,10 +362,13 @@
 	}
 
 	if (!sink) {
+		/* Translators: %s is the name of the GstElement that 
+		 * could not be created */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("sink can't be created"));
+			     _("%s element could not be created"),
+			     "\"Sink\"");
 		goto error;
 	}
 
@@ -374,10 +380,13 @@
 	/* audioconvert */
 	convert = gst_element_factory_make ("audioconvert", NULL);
 	if (convert == NULL) {
+		/* Translators: %s is the name of the GstElement that 
+		 * could not be created */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioconvert can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioconvert\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), convert);
@@ -386,10 +395,13 @@
 		/* audioresample */
 		resample = gst_element_factory_make ("audioresample", NULL);
 		if (resample == NULL) {
+			/* Translators: %s is the name of the GstElement that 
+			 * could not be created */
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("audioresample can't be created"));
+				     _("%s element could not be created"),
+				     "\"Audioresample\"");
 			goto error;
 		}
 		gst_bin_add (GST_BIN (pipeline), resample);
@@ -397,10 +409,13 @@
 		/* filter */
 		filter = gst_element_factory_make ("capsfilter", NULL);
 		if (!filter) {
+			/* Translators: %s is the name of the GstElement that 
+			 * could not be created */
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("filter can't be created"));
+				     _("%s element could not be created"),
+				     "\"Filter\"");
 			goto error;
 		}
 		gst_bin_add (GST_BIN (pipeline), filter);
@@ -420,10 +435,13 @@
 	/* decode */
 	decode = gst_element_factory_make ("decodebin", NULL);
 	if (decode == NULL) {
+		/* Translators: %s is the name of the GstElement that 
+		 * could not be created */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("decode can't be created"));
+			     _("%s element could not be created"),
+			     "\"Decodebin\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), decode);
@@ -579,10 +597,11 @@
 	if (symlink (path_src, path_dest) == -1) {
                 int errsv = errno;
 
+		/* Translators: the %s is the error message from errno */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("a symlink could not be created (%s)"),
+			     _("An internal error occured (%s)"),
 			     g_strerror (errsv));
 
 		goto error;
@@ -837,10 +856,11 @@
 		if (size != b_written) {
                         int errsv = errno;
 
+			/* Translators: %s is the string error from errno */
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("error padding (%s)"),
+				     _("Error while padding file (%s)"),
 				     g_strerror (errsv));
 			return -1;
 		}
@@ -1029,10 +1049,11 @@
 	if (fd == -1) {
                 int errsv = errno;
 
+		/* Translators: %s is the string error from errno */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("error opening file for padding : %s"),
+			     _("Error while padding file (%s)"),
 			     g_strerror (errsv));
 		return FALSE;
 	}
@@ -1129,7 +1150,7 @@
 	    brasero_job_error (BRASERO_JOB (transcode),
 			       g_error_new (BRASERO_BURN_ERROR,
 					    BRASERO_BURN_ERROR_GENERAL,
-					    _("error getting duration")));
+					    _("Error while getting duration")));
 	return duration;
 }
 
@@ -1366,7 +1387,7 @@
 	message = gst_message_new_error (GST_OBJECT (priv->pipeline),
 					 g_error_new (BRASERO_BURN_ERROR,
 						      BRASERO_BURN_ERROR_GENERAL,
-						      "Impossible to link gstreamer plugin pads."),	/* FIXME: translate */
+						      _("Impossible to link plugin pads")),
 					 "Sent by brasero_metadata_error_on_pad_linking");
 
 	bus = gst_pipeline_get_bus (GST_PIPELINE (priv->pipeline));

Modified: trunk/src/plugins/transcode/burn-vob.c
==============================================================================
--- trunk/src/plugins/transcode/burn-vob.c	(original)
+++ trunk/src/plugins/transcode/burn-vob.c	Thu Nov 13 15:12:23 2008
@@ -241,10 +241,13 @@
 	/* queue */
 	queue = gst_element_factory_make ("queue", NULL);
 	if (queue == NULL) {
+		/* Translators: %s is the name of the GstElement that 
+		 * could not be created */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("queue element can't be created"));
+			     _("%s element could not be created"),
+			     "\"Queue\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), queue);
@@ -257,10 +260,13 @@
 	/* audioresample */
 	resample = gst_element_factory_make ("audioresample", NULL);
 	if (resample == NULL) {
+		/* Translators: %s is the name of the GstElement that 
+		 * could not be created */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioresample can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioresample\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), resample);
@@ -268,10 +274,13 @@
 	/* audioconvert */
 	convert = gst_element_factory_make ("audioconvert", NULL);
 	if (convert == NULL) {
+		/* Translators: %s is the name of the GstElement that 
+		 * element could not be created */
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioconvert can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioconvert\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), convert);
@@ -307,7 +316,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("queue element can't be created"));
+			     _("%s element could not be created"),
+			     "\"Queue\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), queue);
@@ -323,7 +333,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioconvert can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioconvert\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), convert);
@@ -334,7 +345,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioresample can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioresample\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), resample);
@@ -344,7 +356,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("ffenc_mp2 can't be created"));
+			     _("%s element could not be created"),
+			     "\"Fenc_mp2\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), encode);
@@ -355,7 +368,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("queue1 element can't be created"));
+			     _("%s element could not be created"),
+			     "\"Queue1\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), queue1);
@@ -377,7 +391,8 @@
 			g_set_error (error,
 				     BRASERO_BURN_ERROR,
 				     BRASERO_BURN_ERROR_GENERAL,
-				     _("filter can't be created"));
+				     _("%s element could not be created"),
+				     "\"Filter\"");
 			goto error;
 		}
 		gst_bin_add (GST_BIN (priv->pipeline), filter);
@@ -430,7 +445,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("queue element can't be created"));
+			     _("%s element could not be created"),
+			     "\"Queue\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), queue);
@@ -446,7 +462,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioconvert can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioconvert\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), convert);
@@ -457,7 +474,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("audioresample can't be created"));
+			     _("%s element could not be created"),
+			     "\"Audioresample\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), resample);
@@ -467,7 +485,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("ffenc_ac3 can't be created"));
+			     _("%s element could not be created"),
+			     "\"Ffenc_ac3\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), encode);
@@ -499,7 +518,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("tee element can't be created"));
+			     _("%s element could not be created"),
+			     "\"Tee\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), tee);
@@ -572,7 +592,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("queue element can't be created"));
+			     _("%s element could not be created"),
+			     "\"Queue\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), queue);
@@ -588,7 +609,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("framerate can't be created"));
+			     _("%s element could not be created"),
+			     "\"Framerate\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), framerate);
@@ -602,7 +624,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("scale can't be created"));
+			     _("%s element could not be created"),
+			     "\"Videoscale\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), scale);
@@ -613,7 +636,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("filter can't be created"));
+			     _("%s element could not be created"),
+			     "\"Filter\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), filter);
@@ -623,7 +647,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("ffmpegcolorspace can't be created"));
+			     _("%s element could not be created"),
+			     "\"Ffmepgcolorspace\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), colorspace);
@@ -633,7 +658,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("mpeg2enc can't be created"));
+			     _("%s element could not be created"),
+			     "\"Mpeg2enc\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (priv->pipeline), encode);
@@ -824,7 +850,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("source can't be created"));
+			     _("%s element could not be created"),
+			     "\"Source\"");
 		return FALSE;
 	}
 	gst_bin_add (GST_BIN (pipeline), source);
@@ -838,7 +865,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("decode can't be created"));
+			     _("%s element could not be created"),
+			     "\"Decodebin\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), decode);
@@ -850,7 +878,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("mplex can't be created"));
+			     _("%s element could not be created"),
+			     "\"Mplex\"");
 		goto error;
 	}
 	gst_bin_add (GST_BIN (pipeline), muxer);
@@ -876,7 +905,8 @@
 		g_set_error (error,
 			     BRASERO_BURN_ERROR,
 			     BRASERO_BURN_ERROR_GENERAL,
-			     _("sink can't be created"));
+			     _("%s element could not be created"),
+			     "\"Sink\"");
 		return FALSE;
 	}
 	g_object_set (sink,

Modified: trunk/src/scsi-error.c
==============================================================================
--- trunk/src/scsi-error.c	(original)
+++ trunk/src/scsi-error.c	Thu Nov 13 15:12:23 2008
@@ -29,19 +29,19 @@
 #include "burn-basics.h"
 #include "scsi-error.h"
 
-static const gchar *error_string [] = {	N_("Unknown error."),
-					N_("Size mismatch."),
-					N_("Type mismatch."),
-					N_("Bad argument."),
-					N_("The drive is busy."),
-					N_("Outrange address."),
-					N_("Invalid address."),
-					N_("Invalid command."),
-					N_("Invalid parameter in command."),
-					N_("Invalid field in command."),
-					N_("The device timed out."),
-					N_("Key not established."),
-					N_("Invalid track mode."),
+static const gchar *error_string [] = {	N_("Unknown error"),
+					N_("Size mismatch"),
+					N_("Type mismatch"),
+					N_("Bad argument"),
+					N_("The drive is busy"),
+					N_("Outrange address"),
+					N_("Invalid address"),
+					N_("Invalid command"),
+					N_("Invalid parameter in command"),
+					N_("Invalid field in command"),
+					N_("The device timed out"),
+					N_("Key not established"),
+					N_("Invalid track mode"),
 					NULL	};	/* errno */
 
 const gchar *



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]