如何将 CMFCWindowsManagerDialog 本地化为葡萄牙语?

How do I localize CMFCWindowsManagerDialog in Portuguese?

我们已将葡萄牙语添加到我们的应用程序中。我们使用这个内置的 MFC 对话框,CMFCWindowsManagerDialog

直到现在这都不是问题,因为这些语言

l.chsl.chtl.deul.esnl.fral.ital.jpnl.korl.rus

自动支持,仅此而已,没有葡萄牙语。我知道创建一个卫星资源 DLL 可能就是答案。我不熟悉这个术语,但我们有每种语言的每个项目的资源 DLLS,所以我假设这些是“卫星 DLL”,而且我知道如何制作它们。但我不明白如何使用这个内置对话框来做到这一点。我们还必须本地化 CMFCToolBarsCustomizeDialog,但我不知道从哪里开始。任何帮助将不胜感激。

我使用 appTranslator 来维护我所有的附属 DLL 文件,它会自动为您管理这些文件。遗憾的是,它不再在商业上销售。

还有其他定制的本地化软件包(如 Lingobit)也可以在良好的 GUI 环境中管理 MFC 翻译。

它确实围绕仅资源 DLL 文件展开,这篇关于 CodeProject 的文章解释了如何制作仅资源 DLL。


我有一个使用 appTranslator 的 MDI 应用程序,它确实有你提到的 window:

在Visual Studio中,如果您right-click您的资源文件在资源视图和select资源包含:

您将看到一个对话框。就我而言:

注意到 afxribbon.rc 资源的包含了吗?这包含有问题的对话框。这是我完整的包含代码供参考:

#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE 9, 1
#pragma code_page(1252)
#endif //_WIN32
#include "res\CommunityTalks.rc2"  // non-Microsoft Visual C++ edited resources
#include "afxres.rc"         // Standard components
#include "afxprint.rc"       // printing/print preview resources
#include "indicate.rc"
#include "prompts.rc"
#endif

#if !defined(_AFXDLL)
#include "afxribbon.rc" // MFC ribbon and control bar resources
#endif

诀窍是将所需的 AFX 系统资源添加到您的应用程序中。然后它将公开给 appTranslator 和/或 Lingobit 进行翻译。