diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c
index 05cb15d87..98038810c 100644
--- a/src/bin/e_fm.c
+++ b/src/bin/e_fm.c
@@ -9390,6 +9390,7 @@ _e_fm2_file_delete(Evas_Object *obj)
E_Fm2_Icon *ic;
char text[4096 + 256];
Eina_List *sel;
+ int n, folder_count;
man = e_manager_current_get();
if (!man) return;
@@ -9408,19 +9409,35 @@ _e_fm2_file_delete(Evas_Object *obj)
e_dialog_title_set(dialog, _("Confirm Delete"));
e_dialog_icon_set(dialog, "dialog-warning", 64);
sel = e_fm2_selected_list_get(obj);
- if ((!sel) || (eina_list_count(sel) == 1))
+ if (sel)
+ {
+ n = eina_list_count(sel);
+ folder_count = eina_list_count(ic->sd->icons);
+ }
+ if ((!sel) || (n == 1))
snprintf(text, sizeof(text),
_("Are you sure you want to delete
"
- "%s ?"),
+ "%s?"),
ic->info.file);
+ else if (n == folder_count)
+ snprintf(text, sizeof(text),
+ _("Are you sure you want to delete
"
+ "all the %d files in
"
+ "%s?"),
+ n, ic->sd->realpath);
else
{
+ /* Here the singular version is not used in english, but plural support
+ * is nonetheless needed for languages who have multiple plurals
+ * depending on the number of files. */
snprintf(text, sizeof(text),
- _("Are you sure you want to delete
"
- "the %d selected files in:
"
- "%s ?"),
- eina_list_count(sel),
- ic->sd->realpath);
+ P_("Are you sure you want to delete
"
+ "the %d selected file in
"
+ "%s?",
+ "Are you sure you want to delete
"
+ "the %d selected files in
"
+ "%s?", n),
+ n, ic->sd->realpath);
}
if (sel) eina_list_free(sel);
e_dialog_text_set(dialog, text);