mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
[localization] add embedded Chinese loc file => v1.3.4 Chinese
This commit is contained in:
parent
a976772df6
commit
3d3d05a052
7 changed files with 117 additions and 8 deletions
74
res/locale/rufus.loc
Normal file
74
res/locale/rufus.loc
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
l "Chinese (Simplified)" 0x0804, 0x1004, 0x0404, 0x0c04, 0x1404
|
||||||
|
t IDC_START "开始"
|
||||||
|
t IDC_STOP "关闭"
|
||||||
|
t IDS_DEVICE_TXT "设备"
|
||||||
|
t IDS_PARTITION_TYPE_TXT "分区计划和目标系统类型"
|
||||||
|
t IDS_FILESYSTEM_TXT "文件系统"
|
||||||
|
t IDS_CLUSTERSIZE_TXT "簇的大小"
|
||||||
|
t IDS_LABEL_TXT "新卷标"
|
||||||
|
t IDS_FORMATOPTIONS_TXT "格式选项 "
|
||||||
|
t IDC_BADBLOCKS "检查设备的坏块:"
|
||||||
|
t IDC_QUICKFORMAT "快速格式化"
|
||||||
|
t IDC_BOOT "创建一个可启动的磁盘使用:"
|
||||||
|
r IDC_BOOT +10,0
|
||||||
|
t IDC_SET_ICON "创建扩展标签和图标文件"
|
||||||
|
m IDC_ADVANCED -24,0
|
||||||
|
m IDC_NBPASSES 8,0
|
||||||
|
m IDC_BOOTTYPE 8,0
|
||||||
|
m IDC_SELECT_ISO 6,0
|
||||||
|
t IDC_ABOUT "关于..."
|
||||||
|
t IDC_LOG "日志"
|
||||||
|
m IDC_LOG -5,0
|
||||||
|
r IDC_LOG +5,0
|
||||||
|
t IDCANCEL "关闭"
|
||||||
|
t IDC_START "开始"
|
||||||
|
t IDC_ADVANCED_GROUP "高级选项"
|
||||||
|
t IDC_ENABLE_FIXED_DISKS "列表固定(非flash)或USB磁盘分区"
|
||||||
|
t IDC_EXTRA_PARTITION "添加修复旧的BIOS(额外的分区,校准等等)"
|
||||||
|
t IDC_RUFUS_MBR "使用 Rufus MBR BIOS ID:"
|
||||||
|
|
||||||
|
p IDD_ABOUTBOX
|
||||||
|
t IDD_ABOUTBOX "关于 Rufus"
|
||||||
|
t IDC_ABOUT_LICENSE "许可证"
|
||||||
|
t IDC_ABOUT_UPDATES "更新"
|
||||||
|
t IDOK "确定"
|
||||||
|
|
||||||
|
p IDD_ISO_EXTRACT
|
||||||
|
t IDD_ISO_EXTRACT "复制ISO文件..."
|
||||||
|
t IDC_ISO_FILENAME "打开ISO映像 - 请稍候..."
|
||||||
|
t IDC_ISO_ABORT "取消"
|
||||||
|
|
||||||
|
p IDD_LICENSE
|
||||||
|
t IDD_LICENSE "Rufus 许可证"
|
||||||
|
t IDOK "取消"
|
||||||
|
|
||||||
|
p IDD_NOTIFICATION
|
||||||
|
t IDC_MORE_INFO "更多信息"
|
||||||
|
t IDYES "是"
|
||||||
|
t IDNO "否"
|
||||||
|
|
||||||
|
p IDD_LOG
|
||||||
|
t IDD_LOG "日志"
|
||||||
|
t IDC_LOG_CLEAR "清除日志"
|
||||||
|
t IDC_LOG_SAVE "保存日志"
|
||||||
|
t IDCANCEL "关闭日志"
|
||||||
|
|
||||||
|
p IDD_LICENSE
|
||||||
|
t IDOK "取消"
|
||||||
|
|
||||||
|
p IDD_UPDATE_POLICY
|
||||||
|
t IDD_UPDATE_POLICY "更新方案和设置"
|
||||||
|
t IDS_UPDATE_SETTINGS_TXT "设置"
|
||||||
|
t IDS_UPDATE_FREQUENCY_TXT "检查更新:"
|
||||||
|
t IDS_INCLUDE_BETAS_TXT "包括测试版本:"
|
||||||
|
t IDC_CHECK_NOW "立即检查"
|
||||||
|
t IDCANCEL "取消"
|
||||||
|
|
||||||
|
p IDD_NEW_VERSION
|
||||||
|
t IDD_NEW_VERSION "检查更新 - Rufus"
|
||||||
|
t IDS_NEW_VERSION_AVAIL_TXT "更新的版本可用。请下载最新版本!"
|
||||||
|
t IDC_WEBSITE "点击这里进入网站"
|
||||||
|
t IDS_NEW_VERSION_NOTES_TXT "发行说明"
|
||||||
|
t IDS_NEW_VERSION_DOWNLOAD_TXT "下载"
|
||||||
|
t IDC_DOWNLOAD "下载"
|
||||||
|
t IDCANCEL "取消"
|
|
@ -354,6 +354,20 @@ static __inline DWORD GetCurrentDirectoryU(DWORD nBufferLength, char* lpBuffer)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static __inline DWORD GetTempPathU(DWORD nBufferLength, char* lpBuffer)
|
||||||
|
{
|
||||||
|
DWORD ret = 0, err = ERROR_INVALID_DATA;
|
||||||
|
walloc(lpBuffer, nBufferLength);
|
||||||
|
ret = GetTempPathW(nBufferLength, wlpBuffer);
|
||||||
|
err = GetLastError();
|
||||||
|
if ((ret != 0) && ((ret = wchar_to_utf8_no_alloc(wlpBuffer, lpBuffer, nBufferLength)) == 0)) {
|
||||||
|
err = GetLastError();
|
||||||
|
}
|
||||||
|
wfree(lpBuffer);
|
||||||
|
SetLastError(err);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
static __inline DWORD GetModuleFileNameU(HMODULE hModule, char* lpFilename, DWORD nSize)
|
static __inline DWORD GetModuleFileNameU(HMODULE hModule, char* lpFilename, DWORD nSize)
|
||||||
{
|
{
|
||||||
DWORD ret = 0, err = ERROR_INVALID_DATA;
|
DWORD ret = 0, err = ERROR_INVALID_DATA;
|
||||||
|
|
|
@ -199,7 +199,7 @@ char* get_loc_data_file(const char* filename)
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
int r = 0, line_nr_incr = 1;
|
int r = 0, line_nr_incr = 1;
|
||||||
wchar_t wc = 0, last_wc, eol_char = 0;
|
wchar_t wc = 0, eol_char = 0;
|
||||||
BOOL eol = FALSE;
|
BOOL eol = FALSE;
|
||||||
|
|
||||||
if ((filename == NULL) || (filename[0] == 0))
|
if ((filename == NULL) || (filename[0] == 0))
|
||||||
|
@ -224,7 +224,6 @@ char* get_loc_data_file(const char* filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
do { // custom readline handling for string collation, realloc, line numbers, etc.
|
do { // custom readline handling for string collation, realloc, line numbers, etc.
|
||||||
last_wc = wc;
|
|
||||||
wc = getwc(fd);
|
wc = getwc(fd);
|
||||||
switch(wc) {
|
switch(wc) {
|
||||||
case WEOF:
|
case WEOF:
|
||||||
|
@ -238,7 +237,7 @@ char* get_loc_data_file(const char* filename)
|
||||||
// This assumes that the EOL sequence is always the same throughout the file
|
// This assumes that the EOL sequence is always the same throughout the file
|
||||||
if (eol_char == 0)
|
if (eol_char == 0)
|
||||||
eol_char = wc;
|
eol_char = wc;
|
||||||
if (wc = eol_char) {
|
if (wc == eol_char) {
|
||||||
if (eol) {
|
if (eol) {
|
||||||
line_nr_incr++;
|
line_nr_incr++;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
#define IDR_SL_LDLINUX_V4_SYS 401
|
#define IDR_SL_LDLINUX_V4_SYS 401
|
||||||
#define IDR_SL_LDLINUX_V5_BSS 402
|
#define IDR_SL_LDLINUX_V5_BSS 402
|
||||||
#define IDR_SL_LDLINUX_V5_SYS 403
|
#define IDR_SL_LDLINUX_V5_SYS 403
|
||||||
|
#define IDR_LC_RUFUS_LOC 500
|
||||||
#define IDC_DEVICE 1001
|
#define IDC_DEVICE 1001
|
||||||
#define IDC_FILESYSTEM 1002
|
#define IDC_FILESYSTEM 1002
|
||||||
#define IDC_START 1003
|
#define IDC_START 1003
|
||||||
|
|
21
src/rufus.c
21
src/rufus.c
|
@ -1915,12 +1915,16 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
const char* old_wait_option = "/W";
|
const char* old_wait_option = "/W";
|
||||||
|
const char* loc_name = "rufus.loc";
|
||||||
int i, opt, option_index = 0, argc = 0, si = 0;
|
int i, opt, option_index = 0, argc = 0, si = 0;
|
||||||
BOOL attached_console = FALSE;
|
BOOL attached_console = FALSE;
|
||||||
|
BYTE* loc_data;
|
||||||
|
DWORD loc_size, Size;
|
||||||
|
char loc_path[MAX_PATH];
|
||||||
char** argv = NULL;
|
char** argv = NULL;
|
||||||
wchar_t **wenv, **wargv;
|
wchar_t **wenv, **wargv;
|
||||||
PF_DECL(__wgetmainargs);
|
PF_DECL(__wgetmainargs);
|
||||||
HANDLE mutex = NULL;
|
HANDLE hFile = NULL, mutex = NULL;
|
||||||
HWND hDlg = NULL;
|
HWND hDlg = NULL;
|
||||||
MSG msg;
|
MSG msg;
|
||||||
int wait_for_mutex = 0;
|
int wait_for_mutex = 0;
|
||||||
|
@ -2022,6 +2026,21 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||||
// 0x9e disables removable and fixed drive notifications
|
// 0x9e disables removable and fixed drive notifications
|
||||||
SetLGP(FALSE, &existing_key, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoDriveTypeAutorun", 0x9e);
|
SetLGP(FALSE, &existing_key, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoDriveTypeAutorun", 0x9e);
|
||||||
|
|
||||||
|
// Extract the embedded localization data into the user's temp dir
|
||||||
|
loc_data = (BYTE*)GetResource(hMainInstance, MAKEINTRESOURCEA(IDR_LC_RUFUS_LOC), _RT_RCDATA, loc_name, &loc_size, FALSE);
|
||||||
|
GetTempPathU(sizeof(loc_path), loc_path);
|
||||||
|
safe_strcat(loc_path, sizeof(loc_name), loc_name);
|
||||||
|
|
||||||
|
hFile = CreateFileU(loc_path, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE,
|
||||||
|
NULL, CREATE_ALWAYS, 0, 0);
|
||||||
|
if ((hFile == INVALID_HANDLE_VALUE)|| (!WriteFile(hFile, loc_data, loc_size, &Size, 0)) || (loc_size != Size)) {
|
||||||
|
uprintf("Unable to create file '%s': %s.\n", loc_path, WindowsErrorString());
|
||||||
|
} else {
|
||||||
|
uprintf("Successfully extracted '%s'\n", loc_path);
|
||||||
|
get_loc_data_file(loc_path);
|
||||||
|
}
|
||||||
|
safe_closehandle(hFile);
|
||||||
|
|
||||||
// Create the main Window
|
// Create the main Window
|
||||||
hDlg = CreateDialogW(hInstance, MAKEINTRESOURCEW(IDD_DIALOG), NULL, MainCallback);
|
hDlg = CreateDialogW(hInstance, MAKEINTRESOURCEW(IDD_DIALOG), NULL, MainCallback);
|
||||||
if (hDlg == NULL) {
|
if (hDlg == NULL) {
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
/* Program options */
|
/* Program options */
|
||||||
#define RUFUS_DEBUG // print debug info to Debug facility
|
#define RUFUS_DEBUG // print debug info to Debug facility
|
||||||
/* Features not ready for prime time and that may *DESTROY* your data - USE AT YOUR OWN RISKS! */
|
/* Features not ready for prime time and that may *DESTROY* your data - USE AT YOUR OWN RISKS! */
|
||||||
#define RUFUS_TEST
|
// #define RUFUS_TEST
|
||||||
|
|
||||||
#define APPLICATION_NAME "Rufus"
|
#define APPLICATION_NAME "Rufus"
|
||||||
#define COMPANY_NAME "Akeo Consulting"
|
#define COMPANY_NAME "Akeo Consulting"
|
||||||
|
|
|
@ -71,7 +71,7 @@ END
|
||||||
IDD_ABOUTBOX DIALOGEX 0, 0, 287, 201
|
IDD_ABOUTBOX DIALOGEX 0, 0, 287, 201
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "About Rufus"
|
CAPTION "About Rufus"
|
||||||
FONT 8, "Microsoft Sans Serif", 400, 0, 0x0
|
FONT 8, "MS Shell Dlg", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20
|
ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20
|
||||||
DEFPUSHBUTTON "OK",IDOK,231,181,50,14,WS_GROUP
|
DEFPUSHBUTTON "OK",IDOK,231,181,50,14,WS_GROUP
|
||||||
|
@ -128,7 +128,7 @@ END
|
||||||
IDD_UPDATE_POLICY DIALOGEX 0, 0, 287, 198
|
IDD_UPDATE_POLICY DIALOGEX 0, 0, 287, 198
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Update policy and settings"
|
CAPTION "Update policy and settings"
|
||||||
FONT 8, "Microsoft Sans Serif", 400, 0, 0x0
|
FONT 8, "MS Shell Dlg", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20
|
ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20
|
||||||
DEFPUSHBUTTON "Close",IDCANCEL,221,172,50,14,WS_GROUP
|
DEFPUSHBUTTON "Close",IDCANCEL,221,172,50,14,WS_GROUP
|
||||||
|
@ -145,7 +145,7 @@ END
|
||||||
IDD_NEW_VERSION DIALOGEX 0, 0, 384, 268
|
IDD_NEW_VERSION DIALOGEX 0, 0, 384, 268
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Check For Updates - Rufus"
|
CAPTION "Check For Updates - Rufus"
|
||||||
FONT 8, "Microsoft Sans Serif", 400, 0, 0x0
|
FONT 8, "MS Shell Dlg", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
PUSHBUTTON "Close",IDCANCEL,167,244,50,14,WS_GROUP
|
PUSHBUTTON "Close",IDCANCEL,167,244,50,14,WS_GROUP
|
||||||
CONTROL "",IDC_RELEASE_NOTES,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL,15,77,352,88,WS_EX_STATICEDGE
|
CONTROL "",IDC_RELEASE_NOTES,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL,15,77,352,88,WS_EX_STATICEDGE
|
||||||
|
@ -184,6 +184,7 @@ END
|
||||||
3 TEXTINCLUDE
|
3 TEXTINCLUDE
|
||||||
BEGIN
|
BEGIN
|
||||||
"\r\n"
|
"\r\n"
|
||||||
|
"IDR_LC_RUFUS_LOC RCDATA ""../res/locale/rufus.loc""\r\n"
|
||||||
"IDR_SL_LDLINUX_V4_BSS RCDATA ""../res/syslinux/ldlinux_v4.bss""\r\n"
|
"IDR_SL_LDLINUX_V4_BSS RCDATA ""../res/syslinux/ldlinux_v4.bss""\r\n"
|
||||||
"IDR_SL_LDLINUX_V4_SYS RCDATA ""../res/syslinux/ldlinux_v4.sys""\r\n"
|
"IDR_SL_LDLINUX_V4_SYS RCDATA ""../res/syslinux/ldlinux_v4.sys""\r\n"
|
||||||
"IDR_SL_LDLINUX_V5_BSS RCDATA ""../res/syslinux/ldlinux_v5.bss""\r\n"
|
"IDR_SL_LDLINUX_V5_BSS RCDATA ""../res/syslinux/ldlinux_v5.bss""\r\n"
|
||||||
|
@ -332,6 +333,7 @@ IDI_DOWN ICON "../res/down.ico"
|
||||||
// Generated from the TEXTINCLUDE 3 resource.
|
// Generated from the TEXTINCLUDE 3 resource.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
IDR_LC_RUFUS_LOC RCDATA "../res/locale/rufus.loc"
|
||||||
IDR_SL_LDLINUX_V4_BSS RCDATA "../res/syslinux/ldlinux_v4.bss"
|
IDR_SL_LDLINUX_V4_BSS RCDATA "../res/syslinux/ldlinux_v4.bss"
|
||||||
IDR_SL_LDLINUX_V4_SYS RCDATA "../res/syslinux/ldlinux_v4.sys"
|
IDR_SL_LDLINUX_V4_SYS RCDATA "../res/syslinux/ldlinux_v4.sys"
|
||||||
IDR_SL_LDLINUX_V5_BSS RCDATA "../res/syslinux/ldlinux_v5.bss"
|
IDR_SL_LDLINUX_V5_BSS RCDATA "../res/syslinux/ldlinux_v5.bss"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue