https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f9c603db6efff3f9d589a…
commit f9c603db6efff3f9d589a36e8ac294a639f86fb1
Author: George Bișoc <george.bisoc(a)reactos.org>
AuthorDate: Mon Feb 22 10:43:30 2021 +0100
Commit: George Bișoc <george.bisoc(a)reactos.org>
CommitDate: Mon Apr 26 19:36:38 2021 +0200
[NTOS:OB] Do not close the handle if it's granted access to ObpAccessProtectCloseBit
As of now the Object Manager private service, ObpCloseHandleTableEntry, looks for OBJ_PROTECT_CLOSE attribute if a handle should not be closed. However, in ObDuplicateObject if an attribute of OBJ_PROTECT_CLOSE is found as it's been filled to the caller (see L2466) this attribute is removed from the attributes list of the new handle and ObpAccessProtectCloseBit access is granted to the newly duplicated object handle.
With that being said ObpCloseHandleTableEntry indiscriminately closes the object handle albeit it shouldn't do so. As a matter of fact in Windows Server 2003 SP2 this service indeed checks for ObpAccessProtectCloseBit flag bit and if the condition is met then it returns STATUS_HANDLE_NOT_CLOSABLE as it should. Therefore we should do the same.
Now NtClose can properly warn the calling thread the object handle can't be closed which fixes a testcase failure within NtDuplicateObject NTDLL APITEST where this function gives handle close protection bit as requested by the caller.
---
ntoskrnl/include/internal/ob.h | 5 +++++
ntoskrnl/ob/obhandle.c | 3 +--
ntoskrnl/ob/obref.c | 2 --
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/ntoskrnl/include/internal/ob.h b/ntoskrnl/include/internal/ob.h
index f73b99b0a72..2ecd936d536 100644
--- a/ntoskrnl/include/internal/ob.h
+++ b/ntoskrnl/include/internal/ob.h
@@ -53,6 +53,11 @@
OBJ_INHERIT | \
OBJ_AUDIT_OBJECT_CLOSE)
+//
+// Handle Access Protection Close Flag
+//
+#define ObpAccessProtectCloseBit 0x02000000L
+
//
// Identifies a Kernel Handle
//
diff --git a/ntoskrnl/ob/obhandle.c b/ntoskrnl/ob/obhandle.c
index 38171d2f16b..c738e3669ee 100644
--- a/ntoskrnl/ob/obhandle.c
+++ b/ntoskrnl/ob/obhandle.c
@@ -18,7 +18,6 @@
#include <debug.h>
PHANDLE_TABLE ObpKernelHandleTable = NULL;
-ULONG ObpAccessProtectCloseBit = MAXIMUM_ALLOWED;
#define TAG_OB_HANDLE 'dHbO'
@@ -726,7 +725,7 @@ ObpCloseHandleTableEntry(IN PHANDLE_TABLE HandleTable,
}
/* The callback allowed us to close it, but does the handle itself? */
- if ((HandleEntry->ObAttributes & OBJ_PROTECT_CLOSE) &&
+ if ((HandleEntry->GrantedAccess & ObpAccessProtectCloseBit) &&
!(IgnoreHandleProtection))
{
/* It doesn't, are we from user mode? */
diff --git a/ntoskrnl/ob/obref.c b/ntoskrnl/ob/obref.c
index 694d4fa5073..60825543e25 100644
--- a/ntoskrnl/ob/obref.c
+++ b/ntoskrnl/ob/obref.c
@@ -15,8 +15,6 @@
#define NDEBUG
#include <debug.h>
-extern ULONG ObpAccessProtectCloseBit;
-
/* PRIVATE FUNCTIONS *********************************************************/
BOOLEAN
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2db87ebde388ec4485841…
commit 2db87ebde388ec448584194ba4a19cac907486c8
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Mon Apr 26 09:08:06 2021 +0900
Commit: GitHub <noreply(a)github.com>
CommitDate: Mon Apr 26 09:08:06 2021 +0900
[FC][TRANSLATION] FC: Enable localization (#3626)
Enable localization on FC (file comparison) command. CORE-17500
---
base/applications/cmdutils/fc/fc.rc | 81 +++++++++++++++++++++++++++++
base/applications/cmdutils/fc/lang/bg-BG.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/cs-CZ.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/de-DE.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/el-GR.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/en-GB.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/es-ES.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/et-EE.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/fr-FR.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/he-IL.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/hu-HU.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/id-ID.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/it-IT.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/ja-JP.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/nl-NL.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/no-NO.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/pl-PL.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/pt-BR.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/pt-PT.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/ro-RO.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/ru-RU.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/sk-SK.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/sq-AL.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/sv-SE.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/tr-TR.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/uk-UA.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/zh-CN.rc | 41 +++++++++++++++
base/applications/cmdutils/fc/lang/zh-TW.rc | 41 +++++++++++++++
28 files changed, 1188 insertions(+)
diff --git a/base/applications/cmdutils/fc/fc.rc b/base/applications/cmdutils/fc/fc.rc
index 322c3678dee..d9199235b45 100644
--- a/base/applications/cmdutils/fc/fc.rc
+++ b/base/applications/cmdutils/fc/fc.rc
@@ -7,6 +7,87 @@
#include <reactos/version.rc>
#pragma code_page(65001) /* UTF-8 */
+#ifdef LANGUAGE_BG_BG
+ #include "lang/bg-BG.rc"
+#endif
+#ifdef LANGUAGE_CS_CZ
+ #include "lang/cs-CZ.rc"
+#endif
+#ifdef LANGUAGE_DE_DE
+ #include "lang/de-DE.rc"
+#endif
+#ifdef LANGUAGE_EL_GR
+ #include "lang/el-GR.rc"
+#endif
+#ifdef LANGUAGE_EN_GB
+ #include "lang/en-GB.rc"
+#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
+#ifdef LANGUAGE_ES_ES
+ #include "lang/es-ES.rc"
+#endif
+#ifdef LANGUAGE_ET_EE
+ #include "lang/et-EE.rc"
+#endif
+#ifdef LANGUAGE_FR_FR
+ #include "lang/fr-FR.rc"
+#endif
+#ifdef LANGUAGE_HE_IL
+ #include "lang/he-IL.rc"
+#endif
+#ifdef LANGUAGE_HU_HU
+ #include "lang/hu-HU.rc"
+#endif
+#ifdef LANGUAGE_ID_ID
+ #include "lang/id-ID.rc"
+#endif
+#ifdef LANGUAGE_IT_IT
+ #include "lang/it-IT.rc"
+#endif
+#ifdef LANGUAGE_JA_JP
+ #include "lang/ja-JP.rc"
+#endif
+#ifdef LANGUAGE_NL_NL
+ #include "lang/nl-NL.rc"
+#endif
+#ifdef LANGUAGE_NB_NO
+ #include "lang/no-NO.rc"
+#endif
+#ifdef LANGUAGE_PL_PL
+ #include "lang/pl-PL.rc"
+#endif
+#ifdef LANGUAGE_PT_BR
+ #include "lang/pt-BR.rc"
+#endif
+#ifdef LANGUAGE_PT_PT
+ #include "lang/pt-PT.rc"
+#endif
+#ifdef LANGUAGE_RO_RO
+ #include "lang/ro-RO.rc"
+#endif
+#ifdef LANGUAGE_RU_RU
+ #include "lang/ru-RU.rc"
+#endif
+#ifdef LANGUAGE_SK_SK
+ #include "lang/sk-SK.rc"
+#endif
+#ifdef LANGUAGE_SQ_AL
+ #include "lang/sq-AL.rc"
+#endif
+#ifdef LANGUAGE_SV_SE
+ #include "lang/sv-SE.rc"
+#endif
+#ifdef LANGUAGE_TR_TR
+ #include "lang/tr-TR.rc"
+#endif
+#ifdef LANGUAGE_UK_UA
+ #include "lang/uk-UA.rc"
+#endif
+#ifdef LANGUAGE_ZH_CN
+ #include "lang/zh-CN.rc"
+#endif
+#ifdef LANGUAGE_ZH_TW
+ #include "lang/zh-TW.rc"
+#endif
diff --git a/base/applications/cmdutils/fc/lang/bg-BG.rc b/base/applications/cmdutils/fc/lang/bg-BG.rc
new file mode 100644
index 00000000000..b735ba3a5c3
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/bg-BG.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/cs-CZ.rc b/base/applications/cmdutils/fc/lang/cs-CZ.rc
new file mode 100644
index 00000000000..841bf71099f
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/cs-CZ.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/de-DE.rc b/base/applications/cmdutils/fc/lang/de-DE.rc
new file mode 100644
index 00000000000..212517a82f6
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/de-DE.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/el-GR.rc b/base/applications/cmdutils/fc/lang/el-GR.rc
new file mode 100644
index 00000000000..e08f9a71acd
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/el-GR.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/en-GB.rc b/base/applications/cmdutils/fc/lang/en-GB.rc
new file mode 100644
index 00000000000..8dbf20a4107
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/en-GB.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/es-ES.rc b/base/applications/cmdutils/fc/lang/es-ES.rc
new file mode 100644
index 00000000000..90585e2ee90
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/es-ES.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/et-EE.rc b/base/applications/cmdutils/fc/lang/et-EE.rc
new file mode 100644
index 00000000000..3a21843b142
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/et-EE.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/fr-FR.rc b/base/applications/cmdutils/fc/lang/fr-FR.rc
new file mode 100644
index 00000000000..3b7f679902e
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/fr-FR.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/he-IL.rc b/base/applications/cmdutils/fc/lang/he-IL.rc
new file mode 100644
index 00000000000..c4269568939
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/he-IL.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/hu-HU.rc b/base/applications/cmdutils/fc/lang/hu-HU.rc
new file mode 100644
index 00000000000..f70049886fb
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/hu-HU.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/id-ID.rc b/base/applications/cmdutils/fc/lang/id-ID.rc
new file mode 100644
index 00000000000..af3129eb126
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/id-ID.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/it-IT.rc b/base/applications/cmdutils/fc/lang/it-IT.rc
new file mode 100644
index 00000000000..be1e71e0081
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/it-IT.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/ja-JP.rc b/base/applications/cmdutils/fc/lang/ja-JP.rc
new file mode 100644
index 00000000000..1e261c1df4b
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/ja-JP.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/nl-NL.rc b/base/applications/cmdutils/fc/lang/nl-NL.rc
new file mode 100644
index 00000000000..631853f04da
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/nl-NL.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/no-NO.rc b/base/applications/cmdutils/fc/lang/no-NO.rc
new file mode 100644
index 00000000000..c0da37bf2d2
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/no-NO.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/pl-PL.rc b/base/applications/cmdutils/fc/lang/pl-PL.rc
new file mode 100644
index 00000000000..cada1840f52
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/pl-PL.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/pt-BR.rc b/base/applications/cmdutils/fc/lang/pt-BR.rc
new file mode 100644
index 00000000000..1a8ecab4a15
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/pt-BR.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/pt-PT.rc b/base/applications/cmdutils/fc/lang/pt-PT.rc
new file mode 100644
index 00000000000..ab2ed8d3ab5
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/pt-PT.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/ro-RO.rc b/base/applications/cmdutils/fc/lang/ro-RO.rc
new file mode 100644
index 00000000000..4a245229da4
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/ro-RO.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/ru-RU.rc b/base/applications/cmdutils/fc/lang/ru-RU.rc
new file mode 100644
index 00000000000..f0eaae192e6
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/ru-RU.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/sk-SK.rc b/base/applications/cmdutils/fc/lang/sk-SK.rc
new file mode 100644
index 00000000000..3e317faecee
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/sk-SK.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/sq-AL.rc b/base/applications/cmdutils/fc/lang/sq-AL.rc
new file mode 100644
index 00000000000..7301e888092
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/sq-AL.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/sv-SE.rc b/base/applications/cmdutils/fc/lang/sv-SE.rc
new file mode 100644
index 00000000000..09012176796
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/sv-SE.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/tr-TR.rc b/base/applications/cmdutils/fc/lang/tr-TR.rc
new file mode 100644
index 00000000000..379bd46f38c
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/tr-TR.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/uk-UA.rc b/base/applications/cmdutils/fc/lang/uk-UA.rc
new file mode 100644
index 00000000000..89c45b78eb6
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/uk-UA.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/zh-CN.rc b/base/applications/cmdutils/fc/lang/zh-CN.rc
new file mode 100644
index 00000000000..28d7480b4ba
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/zh-CN.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END
diff --git a/base/applications/cmdutils/fc/lang/zh-TW.rc b/base/applications/cmdutils/fc/lang/zh-TW.rc
new file mode 100644
index 00000000000..f0876f11976
--- /dev/null
+++ b/base/applications/cmdutils/fc/lang/zh-TW.rc
@@ -0,0 +1,41 @@
+LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
+
+STRINGTABLE
+BEGIN
+ IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
+them\n\
+\n\
+FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
+ [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+\n\
+ /A Displays only first and last lines for each set of differences.\n\
+ /B Performs a binary comparison.\n\
+ /C Disregards the case of letters.\n\
+ /L Compares files as ASCII text.\n\
+ /LBn Sets the maximum consecutive mismatches to the specified\n\
+ number of lines (default: 100).\n\
+ /N Displays the line numbers on an ASCII comparison.\n\
+ /OFF[LINE] Doesn't skip files with offline attribute set.\n\
+ /T Doesn't expand tabs to spaces (default: expand).\n\
+ /U Compare files as UNICODE text files.\n\
+ /W Compresses white space (tabs and spaces) for comparison.\n\
+ /nnnn Specifies the number of consecutive lines that must match\n\
+ after a mismatch (default: 2).\n\
+ [drive1:][path1]filename1\n\
+ Specifies the first file or set of files to compare.\n\
+ [drive2:][path2]filename2\n\
+ Specifies the second file or set of files to compare.\n"
+ IDS_NO_DIFFERENCE "FC: no differences encountered\n"
+ IDS_LONGER_THAN "FC: %ls longer than %ls\n"
+ IDS_COMPARING "Comparing files %ls and %ls\n"
+ IDS_OUT_OF_MEMORY "FC: Out of memory\n"
+ IDS_CANNOT_READ "FC: cannot read from %ls\n"
+ IDS_INVALID_SWITCH "FC: Invalid Switch\n"
+ IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
+ IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
+ IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
+ IDS_DIFFERENT "FC: File %ls and %ls are different\n"
+ IDS_TOO_LARGE "FC: File %ls too large\n"
+ IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+END