菜鸟学做多语言版程序

Posted 力为

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟学做多语言版程序相关的知识,希望对你有一定的参考价值。

菜鸟学做多语言版程序

--------MythLanguage 简化MFC程序的多语言版本开发。

 [DownLoad the Demo]

 [DownLoad the Demo]

友情提示

开发平台

VC6.0

MythLanguage 下载

0.09.25

作者

力为 mythma@gmail.com

 

 

实例

MDI程序为例,实现步骤如下:

一、初始工作

1、按照VC的向导建立一个MDI程序MultiLanDemo,语言为中文。

2、将MythMgr.hMythLanguageD.lib复制到MultiLanDemo目录下

3、在stdafx.h中加入如下代码:

#include "mythMgr.h"

#pragma comment(lib, "MythLanguageD.lib")

 

 

二、设置菜单语言

4、在BOOL CMultiLanDemoApp::InitInstance()中加入初始化代码:

         // create main MDI Frame window

         CMainFrame* pMainFrame = new CMainFrame;

         if (!pMainFrame->LoadFrame(IDR_MAINFRAME))

                  return FALSE;

         m_pMainWnd = pMainFrame;

         // 初始化

         MythMgr::InitApp(AfxGetInstanceHandle());  

         // 设置主框架的菜单语言

         MythMgr::SetMenuLanguage(m_pMainWnd->GetMenu(), IDR_MAINFRAME);

         // 设置子框架的菜单语言

         MythMgr::SetMenuLanguage(CMenu::FromHandle(pDocTemplate->m_hMenuShared),

                                                               IDR_MULTILATYPE);

    //.........

 

 

三、设置对话框以及对话框上的控件的语言

在此,我们修改About Dialog对话框的语言。

5、映射About DialogWM_INITDIALOG消息,加入代码如下:

BOOL CAboutDlg::OnInitDialog()

{

         CDialog::OnInitDialog();

         // TODO: Add extra initialization here

         MythMgr::SetWindowLanguage(this, IDD); // 设置对话框的语言

 

 

         return TRUE; 

}

 

 

6、保存编译并运行。

打开程序MultiLanDemo.exe的关于对话框,察看是否是中文的。

关闭程序。

此时可以发现在MultiLanDemo.exe的目录下有一个Config.ini文件和Language文件夹,

Language文件夹下有一个Default.ini文件。

说明:

Config.ini:保存了当前选择的语言。

Default.ini:存放的是程序的默认语言

四、生成多语言版本

7、在Language文件夹下复制Default.ini,生成它的一个副本。我们通过该这个副本,生成多国语言版本。在此,我们更改副本文件的名字为English.ini

8、打开English.ini,修改内容。

原文件内容

修改后的内容

[Setting]

Language=Default

[Menu]

IDR_D128I 0M-1_=文件(&F)

IDR_D128I 0M57600__=新建(&N)      Ctrl+N

IDR_D128I 1M57601__=打开(&O)...   Ctrl+O

IDR_D128I 3M57616__=最近文件

IDR_D128I 5M57665__=退出(&X)

//.....

[Setting]

Language=English

[Menu]

IDR_D128I 0M-1_=&File

IDR_D128I 0M57600__=&New    Ctrl+N

IDR_D128I 1M57601__=&Open...       Ctrl+O

IDR_D128I 3M57616__=Rencent Files

IDR_D128I 5M57665__=E&xit

//........

注意:Language=[语言名],语言名必须与文件名相同。例如,English.ini. Language=English

 

 

9、打开config.ini文件,修改为:

[Setting]

Language=English

10、大功告成。重新运行MultiLanDemo.exe。程序变成英文界面的了。

是不是很简单呢?

以上是关于菜鸟学做多语言版程序的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core工作流引擎(RoadFlow)多语言版发布

如何为多语言版ASP网站添加一个中文版语言?

更新 | FCPX 10.3.4苹果视频剪辑软件Final Cut Pro X 10.3.4 MacOSX中文/英文/多语言版

QML程序实现动态切换多语言(ListModel/ListElement中的文本的多语言处理)

QML程序实现动态切换多语言(ListModel/ListElement中的文本的多语言处理)

MFC/C#.NET混合模式本地化(多语言/多语言应用)