1
我注意到一個RC文件可以有重複的資源(即相同的資源標識符),只要它們在不同的語言部分。RC文件中不同語言部分的相同資源標識符,爲什麼可能?
例如,該編譯沒有在我的RC文件中的錯誤:
#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
爲什麼這可能嗎?它旨在用作替代方式的本地化,而不是使用單獨的DLL來保存本地化資源?
是的,因爲字符串資源首先按語言標識,然後按ID /名稱標識。這樣,無論加載哪種語言資源,您的代碼都可以使用相同的ID /名稱加載字符串,因此不必爲每種語言編寫不同的代碼。 –