https://git.reactos.org/?p=reactos.git;a=commitdiff;h=16f64a95337854a3db4aba60e94bcc04689cd751

commit 16f64a95337854a3db4aba60e94bcc04689cd751
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Tue Dec 24 18:28:05 2019 +0100
Commit:     Hermès Bélusca-Maïto <[email protected]>
CommitDate: Tue Dec 24 18:30:54 2019 +0100

    [SHELL32] Improve the displayed error on file copy / displacement + 
simplify code.
    
    Also update the corresponding french translations, see CORE-16572.
    And fix a regression introduced in 257e7307 that allowed again copying
    or moving a directory into its sub-tree...
    
    I also personally think that these checks must also be done within the
    copy_files() / move_files() helpers instead?
---
 dll/win32/shell32/lang/bg-BG.rc |  8 ++++---
 dll/win32/shell32/lang/ca-ES.rc |  8 ++++---
 dll/win32/shell32/lang/cs-CZ.rc |  8 ++++---
 dll/win32/shell32/lang/da-DK.rc |  8 ++++---
 dll/win32/shell32/lang/de-DE.rc |  8 ++++---
 dll/win32/shell32/lang/el-GR.rc |  8 ++++---
 dll/win32/shell32/lang/en-GB.rc |  8 ++++---
 dll/win32/shell32/lang/en-US.rc |  8 ++++---
 dll/win32/shell32/lang/es-ES.rc |  8 ++++---
 dll/win32/shell32/lang/et-EE.rc |  8 ++++---
 dll/win32/shell32/lang/fi-FI.rc |  8 ++++---
 dll/win32/shell32/lang/fr-FR.rc | 20 +++++++++--------
 dll/win32/shell32/lang/he-IL.rc |  8 ++++---
 dll/win32/shell32/lang/hi-IN.rc |  8 ++++---
 dll/win32/shell32/lang/hu-HU.rc |  8 ++++---
 dll/win32/shell32/lang/id-ID.rc |  8 ++++---
 dll/win32/shell32/lang/it-IT.rc |  8 ++++---
 dll/win32/shell32/lang/ja-JP.rc |  8 ++++---
 dll/win32/shell32/lang/ko-KR.rc |  8 ++++---
 dll/win32/shell32/lang/nl-NL.rc |  8 ++++---
 dll/win32/shell32/lang/no-NO.rc |  8 ++++---
 dll/win32/shell32/lang/pl-PL.rc |  8 ++++---
 dll/win32/shell32/lang/pt-BR.rc |  8 ++++---
 dll/win32/shell32/lang/pt-PT.rc |  8 ++++---
 dll/win32/shell32/lang/ro-RO.rc |  8 ++++---
 dll/win32/shell32/lang/ru-RU.rc |  8 ++++---
 dll/win32/shell32/lang/sk-SK.rc |  8 ++++---
 dll/win32/shell32/lang/sl-SI.rc |  8 ++++---
 dll/win32/shell32/lang/sq-AL.rc |  8 ++++---
 dll/win32/shell32/lang/sv-SE.rc |  8 ++++---
 dll/win32/shell32/lang/tr-TR.rc |  8 ++++---
 dll/win32/shell32/lang/uk-UA.rc |  8 ++++---
 dll/win32/shell32/lang/zh-CN.rc |  8 ++++---
 dll/win32/shell32/lang/zh-TW.rc |  8 ++++---
 dll/win32/shell32/shlfileop.cpp | 49 ++++++++++++++++-------------------------
 dll/win32/shell32/shresdef.h    | 12 +++++-----
 36 files changed, 202 insertions(+), 143 deletions(-)

diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc
index 979da9dc353..81c88858464 100644
--- a/dll/win32/shell32/lang/bg-BG.rc
+++ b/dll/win32/shell32/lang/bg-BG.rc
@@ -773,12 +773,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc
index 58c2455943a..5b7e3d51ed0 100644
--- a/dll/win32/shell32/lang/ca-ES.rc
+++ b/dll/win32/shell32/lang/ca-ES.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc
index e437182022d..0999bd245f3 100644
--- a/dll/win32/shell32/lang/cs-CZ.rc
+++ b/dll/win32/shell32/lang/cs-CZ.rc
@@ -778,12 +778,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Složku '%1' nebylo možné vytvořit"
     IDS_CREATEFOLDER_CAPTION "Složku nebylo možné vytvořit"
diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc
index 6233431c38e..12a3f90cf48 100644
--- a/dll/win32/shell32/lang/da-DK.rc
+++ b/dll/win32/shell32/lang/da-DK.rc
@@ -778,12 +778,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc
index 38d75a4297e..39495e5d7ec 100644
--- a/dll/win32/shell32/lang/de-DE.rc
+++ b/dll/win32/shell32/lang/de-DE.rc
@@ -773,12 +773,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED " Der Ordner kann nicht erstellt werden '%1'"
     IDS_CREATEFOLDER_CAPTION " Der Ordner kann nicht erstellt werden."
diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc
index ca57c93f42c..2699d7fd27c 100644
--- a/dll/win32/shell32/lang/el-GR.rc
+++ b/dll/win32/shell32/lang/el-GR.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc
index 5073c9866ef..1f0e069167a 100644
--- a/dll/win32/shell32/lang/en-GB.rc
+++ b/dll/win32/shell32/lang/en-GB.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc
index ed821b399eb..163a9a4ba3b 100644
--- a/dll/win32/shell32/lang/en-US.rc
+++ b/dll/win32/shell32/lang/en-US.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc
index ba2623d97f0..971f303c0ec 100644
--- a/dll/win32/shell32/lang/es-ES.rc
+++ b/dll/win32/shell32/lang/es-ES.rc
@@ -780,12 +780,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "No se pudo crear la carpeta '%1'"
     IDS_CREATEFOLDER_CAPTION "No se pudo crear la carpeta"
diff --git a/dll/win32/shell32/lang/et-EE.rc b/dll/win32/shell32/lang/et-EE.rc
index e188b6ae007..6e1459df8e1 100644
--- a/dll/win32/shell32/lang/et-EE.rc
+++ b/dll/win32/shell32/lang/et-EE.rc
@@ -779,12 +779,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Ei saa luua kausta '%1'"
     IDS_CREATEFOLDER_CAPTION "Ei saa kausta luua"
diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc
index 15a8dc3e0d8..634905f20b5 100644
--- a/dll/win32/shell32/lang/fi-FI.rc
+++ b/dll/win32/shell32/lang/fi-FI.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc
index 532827de319..f97fb3a98de 100644
--- a/dll/win32/shell32/lang/fr-FR.rc
+++ b/dll/win32/shell32/lang/fr-FR.rc
@@ -769,15 +769,17 @@ BEGIN
     IDS_PASTE "Insérer"
     IDS_EJECT "Éjecter"
     IDS_DISCONNECT "Déconnecter"
-    IDS_OPENFILELOCATION "Open f&ile location"
-    IDS_DESKLINK "Desktop (Create shortcut)"
-    IDS_SENDTO_MENU "Se&nd To"
-    IDS_MOVEERRORTITLE "Error Moving File or Folder"
-    IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
-    IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_OPENFILELOCATION "Ouvrir l'empla&cement du fichier"
+    IDS_DESKLINK "Bureau (Créer un raccourci)"
+    IDS_SENDTO_MENU "Envo&yer vers"
+
+    IDS_MOVEERRORTITLE "Erreur lors du déplacement du fichier ou du dossier"
+    IDS_COPYERRORTITLE "Erreur lors de la copie du fichier ou du dossier"
+    IDS_MOVEERRORSAMEFOLDER "Impossible de déplacer '%s' : Le dossier de 
destination est identique au dossier source."
+    IDS_MOVEERRORSAME "Impossible de déplacer '%s' : Les noms des fichiers 
source et destination sont identiques."
+    IDS_COPYERRORSAME "Impossible de copier '%s' : Les noms des fichiers 
source et destination sont identiques."
+    IDS_MOVEERRORSUBFOLDER "Impossible de déplacer '%s' : Le dossier de 
destination est un sous-dossier du dossier source."
+    IDS_COPYERRORSUBFOLDER "Impossible de copier '%s' : Le dossier de 
destination est un sous-dossier du dossier source."
 
     IDS_CREATEFOLDER_DENIED "Impossible de créer le dossier '%1'"
     IDS_CREATEFOLDER_CAPTION "Impossible de créer un dossier"
diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc
index a4ecdec500e..7addbf0983e 100644
--- a/dll/win32/shell32/lang/he-IL.rc
+++ b/dll/win32/shell32/lang/he-IL.rc
@@ -774,12 +774,14 @@ BEGIN
     IDS_OPENFILELOCATION "&פתח מיקום קובץ"
     IDS_DESKLINK "שולחן העבודה (צור קיצור דרך)"
     IDS_SENDTO_MENU "&שלח אל"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/hi-IN.rc b/dll/win32/shell32/lang/hi-IN.rc
index e711c7295f3..108557a5dec 100644
--- a/dll/win32/shell32/lang/hi-IN.rc
+++ b/dll/win32/shell32/lang/hi-IN.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "फ़ोल्डर '%1' बनाने में असमर्थ"
     IDS_CREATEFOLDER_CAPTION "फ़ोल्डर बनाने में असमर्थ"
diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc
index d9fe252d6cc..ba97317bb44 100644
--- a/dll/win32/shell32/lang/hu-HU.rc
+++ b/dll/win32/shell32/lang/hu-HU.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/id-ID.rc b/dll/win32/shell32/lang/id-ID.rc
index 9e0e8d4cc3b..21935963686 100644
--- a/dll/win32/shell32/lang/id-ID.rc
+++ b/dll/win32/shell32/lang/id-ID.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Tidak bisa membuat folder folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Tidak bisa membuat folder"
diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc
index bc6a7e40b75..96bd078aa86 100644
--- a/dll/win32/shell32/lang/it-IT.rc
+++ b/dll/win32/shell32/lang/it-IT.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc
index 7913f783df1..75e36307eda 100644
--- a/dll/win32/shell32/lang/ja-JP.rc
+++ b/dll/win32/shell32/lang/ja-JP.rc
@@ -769,12 +769,14 @@ BEGIN
     IDS_OPENFILELOCATION "ファイルの場所を開く(&I)"
     IDS_DESKLINK "デスクトップ (ショートカットの作成)"
     IDS_SENDTO_MENU "送る(&N)"
+
     IDS_MOVEERRORTITLE "ファイルまたはフォルダの移動のエラー"
     IDS_COPYERRORTITLE "ファイルまたはフォルダのコピーのエラー"
-    IDS_MOVEERRORSAME "移動できません '%s': 移動先のフォルダは移動元のフォルダと同じです。"
+    IDS_MOVEERRORSAMEFOLDER "移動できません '%s': 移動先のフォルダは移動元のフォルダと同じです。"
+    IDS_MOVEERRORSAME "移動できません '%s': コピー元とコピー先のファイル名が同じです。"
     IDS_COPYERRORSAME "コピーできません '%s': コピー元とコピー先のファイル名が同じです。"
-    IDS_MOVEERRORSUBF "移動できません '%s': 移動先のフォルダは移動元のフォルダのサブフォルダです。"
-    IDS_COPYERRORSUBF "コピーできません '%s': コピー先のフォルダはコピー元のフォルダのサブフォルダです。"
+    IDS_MOVEERRORSUBFOLDER "移動できません '%s': 移動先のフォルダは移動元のフォルダのサブフォルダです。"
+    IDS_COPYERRORSUBFOLDER "コピーできません '%s': コピー先のフォルダはコピー元のフォルダのサブフォルダです。"
 
     IDS_CREATEFOLDER_DENIED "フォルダ '%1' を作成できません"
     IDS_CREATEFOLDER_CAPTION "フォルダを作成できません"
diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc
index 77bc592ee41..2b8848cd76c 100644
--- a/dll/win32/shell32/lang/ko-KR.rc
+++ b/dll/win32/shell32/lang/ko-KR.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc
index a50fe1aac5e..937b14b02e7 100644
--- a/dll/win32/shell32/lang/nl-NL.rc
+++ b/dll/win32/shell32/lang/nl-NL.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc
index 32e80b4bf92..6e76a278a23 100644
--- a/dll/win32/shell32/lang/no-NO.rc
+++ b/dll/win32/shell32/lang/no-NO.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc
index d69f49ebd59..a509fe820b6 100644
--- a/dll/win32/shell32/lang/pl-PL.rc
+++ b/dll/win32/shell32/lang/pl-PL.rc
@@ -777,12 +777,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Nie można utworzyć folderu '%1'"
     IDS_CREATEFOLDER_CAPTION "Nie można utworzyć folderu"
diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc
index 91c816306e9..cc2aa88bc95 100644
--- a/dll/win32/shell32/lang/pt-BR.rc
+++ b/dll/win32/shell32/lang/pt-BR.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc
index a50a08f91c1..55442632492 100644
--- a/dll/win32/shell32/lang/pt-PT.rc
+++ b/dll/win32/shell32/lang/pt-PT.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Abrir localização do f&icheiro"
     IDS_DESKLINK "Área de trabalho (Criar atalho)"
     IDS_SENDTO_MENU "&Enviar para"
+
     IDS_MOVEERRORTITLE "Erro ao mover pasta ou ficheiro"
     IDS_COPYERRORTITLE "Erro ao copiar pasta ou ficheiro"
-    IDS_MOVEERRORSAME "Impossivel mover '%s': A paste de destino é a mesma da 
origem."
+    IDS_MOVEERRORSAMEFOLDER "Impossivel mover '%s': A paste de destino é a 
mesma da origem."
+    IDS_MOVEERRORSAME "Impossivel mover '%s': Os nomes dos arquivos de origem 
e de destino são os mesmos."
     IDS_COPYERRORSAME "Impossivel copiar '%s': Os nomes dos arquivos de origem 
e de destino são os mesmos."
-    IDS_MOVEERRORSUBF "Impossivel mover '%s': A pasta de destino é uma 
subpasta da pasta de origem."
-    IDS_COPYERRORSUBF "Impossivel copiar '%s': A pasta de destino é uma 
subpasta da pasta de origem."
+    IDS_MOVEERRORSUBFOLDER "Impossivel mover '%s': A pasta de destino é uma 
subpasta da pasta de origem."
+    IDS_COPYERRORSUBFOLDER "Impossivel copiar '%s': A pasta de destino é uma 
subpasta da pasta de origem."
 
     IDS_CREATEFOLDER_DENIED "Impossivel criar pasta '%1'"
     IDS_CREATEFOLDER_CAPTION "Impossivel criar pasta"
diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc
index 3e1b6861b82..3bdc4e3d49b 100644
--- a/dll/win32/shell32/lang/ro-RO.rc
+++ b/dll/win32/shell32/lang/ro-RO.rc
@@ -774,12 +774,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Nu poate fi creat un dosar cu numele „%1”"
     IDS_CREATEFOLDER_CAPTION "Nu poate fi creat dosar"
diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc
index 8da35e1e9bf..e8df7f4febc 100644
--- a/dll/win32/shell32/lang/ru-RU.rc
+++ b/dll/win32/shell32/lang/ru-RU.rc
@@ -779,12 +779,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Невозможно создать папку '%1'"
     IDS_CREATEFOLDER_CAPTION "Невозможно создать папку"
diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc
index 0f7e2ba41e8..5760c756886 100644
--- a/dll/win32/shell32/lang/sk-SK.rc
+++ b/dll/win32/shell32/lang/sk-SK.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc
index 8823dd6c82b..44ef2b84db4 100644
--- a/dll/win32/shell32/lang/sl-SI.rc
+++ b/dll/win32/shell32/lang/sl-SI.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc
index 6546f0f5342..ee82a9cffa4 100644
--- a/dll/win32/shell32/lang/sq-AL.rc
+++ b/dll/win32/shell32/lang/sq-AL.rc
@@ -776,12 +776,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
     IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc
index 71cc07adae6..4414618e9fb 100644
--- a/dll/win32/shell32/lang/sv-SE.rc
+++ b/dll/win32/shell32/lang/sv-SE.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Kunde inte skapa mappen '%1'"
     IDS_CREATEFOLDER_CAPTION "Kunde inte skapa mapp"
diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc
index e80b864b735..50e0ff1b785 100644
--- a/dll/win32/shell32/lang/tr-TR.rc
+++ b/dll/win32/shell32/lang/tr-TR.rc
@@ -774,12 +774,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED """%1"" dizini oluşturulamıyor."
     IDS_CREATEFOLDER_CAPTION "Dizin Oluşturulamıyor"
diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc
index f0049c6aba0..4f70b6f5456 100644
--- a/dll/win32/shell32/lang/uk-UA.rc
+++ b/dll/win32/shell32/lang/uk-UA.rc
@@ -772,12 +772,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "Не вдалося створити папку '%1'"
     IDS_CREATEFOLDER_CAPTION "Не вдалося створити папку"
diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc
index 5f90351692b..ce65a180c8d 100644
--- a/dll/win32/shell32/lang/zh-CN.rc
+++ b/dll/win32/shell32/lang/zh-CN.rc
@@ -780,12 +780,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "无法创建文件夹 '%1'"
     IDS_CREATEFOLDER_CAPTION "无法创建文件夹"
diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc
index c05bc04534e..7402ad10e2b 100644
--- a/dll/win32/shell32/lang/zh-TW.rc
+++ b/dll/win32/shell32/lang/zh-TW.rc
@@ -781,12 +781,14 @@ BEGIN
     IDS_OPENFILELOCATION "Open f&ile location"
     IDS_DESKLINK "Desktop (Create shortcut)"
     IDS_SENDTO_MENU "Se&nd To"
+
     IDS_MOVEERRORTITLE "Error Moving File or Folder"
     IDS_COPYERRORTITLE "Error Copying File or Folder"
-    IDS_MOVEERRORSAME "Cannot move '%s': The destination folder is the same as 
the source folder."
+    IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the 
same as the source folder."
+    IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file names 
are the same."
     IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file names 
are the same."
-    IDS_MOVEERRORSUBF "Cannot move '%s': The destination folder is a subfolder 
of the source folder."
-    IDS_COPYERRORSUBF "Cannot copy '%s': The destination folder is a subfolder 
of the source folder."
+    IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a 
subfolder of the source folder."
+    IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a 
subfolder of the source folder."
 
     IDS_CREATEFOLDER_DENIED "無法建立資料夾 '%1'"
     IDS_CREATEFOLDER_CAPTION "無法建立資料夾"
diff --git a/dll/win32/shell32/shlfileop.cpp b/dll/win32/shell32/shlfileop.cpp
index 9c20be4a6c1..c9e7400bed2 100644
--- a/dll/win32/shell32/shlfileop.cpp
+++ b/dll/win32/shell32/shlfileop.cpp
@@ -1812,22 +1812,12 @@ static void check_flags(FILEOP_FLAGS fFlags)
 
 #ifdef __REACTOS__
 
-/* Error codes could be pre-Win32 */
-#define DE_SAMEFILE      0x71
-#define DE_MANYSRC1DEST  0x72
-#define DE_DIFFDIR       0x73
-#define DE_OPCANCELLED   0x75
-#define DE_DESTSUBTREE   0x76
-#define DE_INVALIDFILES  0x7C
-#define DE_DESTSAMETREE  0x7D
-#define DE_FLDDESTISFILE 0x7E
-#define DE_FILEDESTISFLD 0x80
-
 static DWORD
 validate_operation(LPSHFILEOPSTRUCTW lpFileOp, FILE_LIST *flFrom, FILE_LIST 
*flTo)
 {
     DWORD i, k, dwNumDest;
-    WCHAR szFrom[MAX_PATH], szTo[MAX_PATH], szText[MAX_PATH];
+    WCHAR szFrom[MAX_PATH], szTo[MAX_PATH];
+    CStringW strTitle, strText;
     const FILE_ENTRY *feFrom;
     const FILE_ENTRY *feTo;
     UINT wFunc = lpFileOp->wFunc;
@@ -1845,7 +1835,6 @@ validate_operation(LPSHFILEOPSTRUCTW lpFileOp, FILE_LIST 
*flFrom, FILE_LIST *flT
         {
             feFrom = &flFrom->feFiles[i];
             StringCbCopyW(szFrom, sizeof(szFrom), feFrom->szFullPath);
-
             StringCbCopyW(szTo, sizeof(szTo), feTo->szFullPath);
             if (IsAttribDir(feTo->attributes))
             {
@@ -1860,18 +1849,20 @@ validate_operation(LPSHFILEOPSTRUCTW lpFileOp, 
FILE_LIST *flFrom, FILE_LIST *flT
                 {
                     if (wFunc == FO_MOVE)
                     {
-                        CStringW 
strTitle(MAKEINTRESOURCEW(IDS_MOVEERRORTITLE));
-                        CStringW strText(MAKEINTRESOURCEW(IDS_MOVEERRORSAME));
-                        StringCchPrintfW(szText, sizeof(szText), strText, 
feFrom->szFilename);
-                        MessageBoxW(hwnd, szText, strTitle, MB_ICONERROR);
+                        strTitle.LoadStringW(IDS_MOVEERRORTITLE);
+                        if (IsAttribDir(feFrom->attributes))
+                            strText.Format(IDS_MOVEERRORSAMEFOLDER, 
feFrom->szFilename);
+                        else
+                            strText.Format(IDS_MOVEERRORSAME, 
feFrom->szFilename);
                     }
                     else
                     {
-                        CStringW 
strTitle(MAKEINTRESOURCEW(IDS_COPYERRORTITLE));
-                        CStringW strText(MAKEINTRESOURCEW(IDS_COPYERRORSAME));
-                        StringCchPrintfW(szText, sizeof(szText), strText, 
feFrom->szFilename);
-                        MessageBoxW(hwnd, szText, strTitle, MB_ICONERROR);
+                        strTitle.LoadStringW(IDS_COPYERRORTITLE);
+                        strText.Format(IDS_COPYERRORSAME, feFrom->szFilename);
+                        return ERROR_SUCCESS;
                     }
+                    MessageBoxW(hwnd, strText, strTitle, MB_ICONERROR);
+                    return DE_SAMEFILE;
                 }
                 return DE_OPCANCELLED;
             }
@@ -1894,20 +1885,18 @@ validate_operation(LPSHFILEOPSTRUCTW lpFileOp, 
FILE_LIST *flFrom, FILE_LIST *flT
                         {
                             if (wFunc == FO_MOVE)
                             {
-                                CStringW 
strTitle(MAKEINTRESOURCEW(IDS_MOVEERRORTITLE));
-                                CStringW 
strText(MAKEINTRESOURCEW(IDS_MOVEERRORSUBF));
-                                StringCchPrintfW(szText, sizeof(szText), 
strText, feFrom->szFilename);
-                                MessageBoxW(hwnd, szText, strTitle, 
MB_ICONERROR);
+                                strTitle.LoadStringW(IDS_MOVEERRORTITLE);
+                                strText.Format(IDS_MOVEERRORSUBFOLDER, 
feFrom->szFilename);
                             }
                             else
                             {
-                                CStringW 
strTitle(MAKEINTRESOURCEW(IDS_COPYERRORTITLE));
-                                CStringW 
strText(MAKEINTRESOURCEW(IDS_COPYERRORSUBF));
-                                StringCchPrintfW(szText, sizeof(szText), 
strText, feFrom->szFilename);
-                                MessageBoxW(hwnd, szText, strTitle, 
MB_ICONERROR);
+                                strTitle.LoadStringW(IDS_COPYERRORTITLE);
+                                strText.Format(IDS_COPYERRORSUBFOLDER, 
feFrom->szFilename);
                             }
+                            MessageBoxW(hwnd, strText, strTitle, MB_ICONERROR);
+                            return DE_DESTSUBTREE;
                         }
-                        return ERROR_SUCCESS;
+                        return DE_OPCANCELLED;
                     }
                 }
             }
diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h
index 9f18d8d4b4f..166068a756c 100644
--- a/dll/win32/shell32/shresdef.h
+++ b/dll/win32/shell32/shresdef.h
@@ -217,7 +217,7 @@
 #define IDS_DESCRIPTION          331
 #define IDS_COPY_OF              332
 
-/* Strings for file operations*/
+/* Strings for file operations */
 #define IDS_FILEOOP_COPYING      333
 #define IDS_FILEOOP_MOVING       334
 #define IDS_FILEOOP_DELETING     335
@@ -231,12 +231,14 @@
 #define IDS_OPENFILELOCATION     341
 #define IDS_DESKLINK             342
 #define IDS_SENDTO_MENU          343
+
 #define IDS_MOVEERRORTITLE       344
 #define IDS_COPYERRORTITLE       345
-#define IDS_MOVEERRORSAME        346
-#define IDS_COPYERRORSAME        347
-#define IDS_MOVEERRORSUBF        348
-#define IDS_COPYERRORSUBF        349
+#define IDS_MOVEERRORSAMEFOLDER  346
+#define IDS_MOVEERRORSAME        347
+#define IDS_COPYERRORSAME        348
+#define IDS_MOVEERRORSUBFOLDER   349
+#define IDS_COPYERRORSUBFOLDER   350
 
 #define IDS_MENU_EMPTY           34561
 

Reply via email to