I have noticed that an RC file can have duplicate resources (i.e. the same resource identifier), so long as they are in different language sections.
For example, this compiles without errors in my rc file:
#define IDS_STRING_001 10001
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_STRING_001 "English"
END
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_STRING_001 "Japanese"
END
Why is this possible? Is it intended to be used as an alternative way of localization, instead of using a separate DLL to hold the localized resources?