1

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 を使用してローカライズされたリソースを保持する代わりに、ローカライズの代替方法として使用することを意図していますか?

4

1 に答える 1

2

はい、これはアプリケーションのローカライズを行う 1 つの方法です。このリンクから:

このアプローチの背後にある主なアイデアは、ソース コードからリソースを分離し、対象となるすべての言語のすべてのローカライズされたリソースを含むリソースのみの DLL を作成することです。同じリソース ID の複数のコピーが、異なる言語タグの下の RC ファイルで定義されています。以下のサンプルでは、​​文字列 ID IDS_ENUMSTRTEST がフランス語と英語に対して定義されています。

于 2012-10-17T08:18:27.017 に答える