FFFTPのソースコードです。
Revision | 791b047f2c0c10f5d5cc09db8d642191c5c23a83 (tree) |
---|---|
Time | 2011-09-09 00:05:08 |
Author | s_kawamoto <s_kawamoto@user...> |
Commiter | s_kawamoto |
Add UTF-8 to UTF-16 API bridge.
Change internal chars to UTF-8.
Add support for UTF-8 to text transfer mode.
Add support for UTF-8 filenames (some buggy).
Add UIs for UTF-8.
@@ -283,6 +283,10 @@ | ||
283 | 283 | > |
284 | 284 | </File> |
285 | 285 | <File |
286 | + RelativePath=".\mbswrapper.c" | |
287 | + > | |
288 | + </File> | |
289 | + <File | |
286 | 290 | RelativePath=".\md4.c" |
287 | 291 | > |
288 | 292 | </File> |
@@ -364,6 +368,10 @@ | ||
364 | 368 | > |
365 | 369 | </File> |
366 | 370 | <File |
371 | + RelativePath=".\mbswrapper.h" | |
372 | + > | |
373 | + </File> | |
374 | + <File | |
367 | 375 | RelativePath=".\Resource\resource.h" |
368 | 376 | > |
369 | 377 | </File> |
@@ -283,6 +283,10 @@ | ||
283 | 283 | > |
284 | 284 | </File> |
285 | 285 | <File |
286 | + RelativePath=".\mbswrapper.c" | |
287 | + > | |
288 | + </File> | |
289 | + <File | |
286 | 290 | RelativePath=".\md4.c" |
287 | 291 | > |
288 | 292 | </File> |
@@ -364,6 +368,10 @@ | ||
364 | 368 | > |
365 | 369 | </File> |
366 | 370 | <File |
371 | + RelativePath=".\mbswrapper.h" | |
372 | + > | |
373 | + </File> | |
374 | + <File | |
367 | 375 | RelativePath=".\Resource_eng\resource.h" |
368 | 376 | > |
369 | 377 | </File> |
@@ -725,19 +725,22 @@ hset_code_dlg DIALOGEX 0, 0, 207, 139 | ||
725 | 725 | STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION |
726 | 726 | FONT 9, "MS Pゴシック", 0, 0, 0x0 |
727 | 727 | BEGIN |
728 | - GROUPBOX "ホストの漢字コード(&K)",-1,7,7,98,70,WS_GROUP | |
729 | - CONTROL "無変換 (SHIFT-JIS)",HSET_NO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,12,21,81,10 | |
730 | - CONTROL "JIS",HSET_JIS_CNV,"Button",BS_AUTORADIOBUTTON,12,33,41,10 | |
731 | - CONTROL "EUC",HSET_EUC_CNV,"Button",BS_AUTORADIOBUTTON,12,45,41,10 | |
732 | - CONTROL "半角カナを全角に変換",HSET_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,62,87,10 | |
733 | - GROUPBOX "ファイル名の漢字コード(&N)",-1,110,7,90,103,WS_GROUP | |
734 | - CONTROL "SHIFT-JIS",HSET_FN_NO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,114,21,65,10 | |
735 | - CONTROL "JIS",HSET_FN_JIS_CNV,"Button",BS_AUTORADIOBUTTON,114,33,70,10 | |
736 | - CONTROL "EUC",HSET_FN_EUC_CNV,"Button",BS_AUTORADIOBUTTON,114,45,41,10 | |
737 | - CONTROL "Samba-HEX",HSET_FN_SMH_CNV,"Button",BS_AUTORADIOBUTTON,114,57,66,10 | |
738 | - CONTROL "Samba-CAP",HSET_FN_SMC_CNV,"Button",BS_AUTORADIOBUTTON,114,69,64,10 | |
739 | - CONTROL "UTF-8N",HSET_FN_UTF8N_CNV,"Button",BS_AUTORADIOBUTTON,114,81,41,10 | |
740 | - CONTROL "半角カナを全角に変換",HSET_FN_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,114,95,81,10 | |
728 | + GROUPBOX "ホストの漢字コード(&K)",-1,7,7,98,94,WS_GROUP | |
729 | + CONTROL "無変換",HSET_NO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,12,21,81,10 | |
730 | + CONTROL "Shift_JIS",HSET_SJIS_CNV,"Button",BS_AUTORADIOBUTTON,12,33,81,10 | |
731 | + CONTROL "JIS",HSET_JIS_CNV,"Button",BS_AUTORADIOBUTTON,12,45,41,10 | |
732 | + CONTROL "EUC",HSET_EUC_CNV,"Button",BS_AUTORADIOBUTTON,12,57,41,10 | |
733 | + CONTROL "UTF-8N",HSET_UTF8N_CNV,"Button",BS_AUTORADIOBUTTON,12,69,41,10 | |
734 | + CONTROL "半角カナを全角に変換",HSET_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,86,87,10 | |
735 | + GROUPBOX "ファイル名の漢字コード(&N)",-1,110,7,90,115,WS_GROUP | |
736 | + CONTROL "自動",HSET_FN_AUTO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,114,21,65,10 | |
737 | + CONTROL "Shift_JIS",HSET_FN_SJIS_CNV,"Button",BS_AUTORADIOBUTTON,114,33,65,10 | |
738 | + CONTROL "JIS",HSET_FN_JIS_CNV,"Button",BS_AUTORADIOBUTTON,114,45,70,10 | |
739 | + CONTROL "EUC",HSET_FN_EUC_CNV,"Button",BS_AUTORADIOBUTTON,114,57,41,10 | |
740 | + CONTROL "Samba-HEX",HSET_FN_SMH_CNV,"Button",BS_AUTORADIOBUTTON,114,69,66,10 | |
741 | + CONTROL "Samba-CAP",HSET_FN_SMC_CNV,"Button",BS_AUTORADIOBUTTON,114,81,64,10 | |
742 | + CONTROL "UTF-8N",HSET_FN_UTF8N_CNV,"Button",BS_AUTORADIOBUTTON,114,93,41,10 | |
743 | + CONTROL "半角カナを全角に変換",HSET_FN_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,114,107,81,10 | |
741 | 744 | END |
742 | 745 | |
743 | 746 | opt_trmode1_dlg DIALOG 0, 0, 211, 139 |
@@ -2076,6 +2079,8 @@ BEGIN | ||
2076 | 2079 | BUTTON ID_BUTTON40122 |
2077 | 2080 | BUTTON ID_BUTTON40125 |
2078 | 2081 | BUTTON ID_BUTTON40156 |
2082 | + BUTTON ID_BUTTON40173 | |
2083 | + BUTTON ID_BUTTON40174 | |
2079 | 2084 | END |
2080 | 2085 | |
2081 | 2086 | remote_toolbar_bmp TOOLBAR 16, 16 |
@@ -1,6 +1,6 @@ | ||
1 | 1 | //{{NO_DEPENDENCIES}} |
2 | 2 | // Microsoft Visual C++ generated include file. |
3 | -// Used by FFFTP.rc | |
3 | +// Used by ffftp.rc | |
4 | 4 | // |
5 | 5 | #define DELETE_ALL 3 |
6 | 6 | #define DELETE_NO 4 |
@@ -272,7 +272,7 @@ | ||
272 | 272 | #define HSET_FIREWAL 1061 |
273 | 273 | #define HSET_FIREWALL 1061 |
274 | 274 | #define FIRE_TYPE1 1062 |
275 | -#define HSET_FN_NO_CNV 1062 | |
275 | +#define HSET_FN_AUTO_CNV 1062 | |
276 | 276 | #define FIRE_TYPE4 1063 |
277 | 277 | #define HSET_FN_JIS_CNV 1063 |
278 | 278 | #define FIRE_TYPE3 1064 |
@@ -416,6 +416,9 @@ | ||
416 | 416 | #define IDC_EDIT1 1191 |
417 | 417 | #define MOVE_NOTIFY_TEXT 1194 |
418 | 418 | #define COMMON_TEXT 1194 |
419 | +#define HSET_SJIS_CNV 1195 | |
420 | +#define HSET_UTF8N_CNV 1196 | |
421 | +#define HSET_FN_SJIS_CNV 1197 | |
419 | 422 | #define MENU_END 40001 |
420 | 423 | #define MENU_EXIT 40001 |
421 | 424 | #define MENU_CONNECT 40003 |
@@ -467,19 +470,23 @@ | ||
467 | 470 | #define MENU_HELP 40040 |
468 | 471 | #define MENU_BMARK_ADD 40041 |
469 | 472 | #define MENU_BMARK_EDIT 40042 |
470 | -#define MENU_KNJ_EUC 40043 | |
471 | -#define MENU_KNJ_JIS 40044 | |
472 | -#define MENU_KNJ_NONE 40045 | |
473 | -#define MENU_UPDIR 40046 | |
474 | -#define MENU_DCLICK 40047 | |
475 | -#define MENU_SELECT 40049 | |
476 | -#define MENU_SELECT_ALL 40050 | |
477 | -#define MENU_FIND 40051 | |
478 | -#define MENU_FINDNEXT 40052 | |
479 | -#define MENU_DOTFILE 40054 | |
480 | -#define MENU_IMPORT_WS 40056 | |
481 | -#define ID_BUTTON40058 40058 | |
482 | -#define ID_BUTTON40059 40059 | |
473 | +#define MENU_KNJ_SJIS 40043 | |
474 | +#define MENU_KNJ_EUC 40044 | |
475 | +#define MENU_KNJ_JIS 40045 | |
476 | +#define MENU_KNJ_UTF8N 40046 | |
477 | +#define MENU_KNJ_NONE 40047 | |
478 | +#define MENU_L_KNJ_SJIS 40048 | |
479 | +#define MENU_L_KNJ_EUC 40049 | |
480 | +#define MENU_L_KNJ_JIS 40050 | |
481 | +#define MENU_L_KNJ_UTF8N 40051 | |
482 | +#define MENU_UPDIR 40052 | |
483 | +#define MENU_DCLICK 40053 | |
484 | +#define MENU_SELECT 40054 | |
485 | +#define MENU_SELECT_ALL 40055 | |
486 | +#define MENU_FIND 40056 | |
487 | +#define MENU_FINDNEXT 40057 | |
488 | +#define MENU_DOTFILE 40058 | |
489 | +#define MENU_IMPORT_WS 40059 | |
483 | 490 | #define ID_BUTTON40060 40060 |
484 | 491 | #define ID_BUTTON40061 40061 |
485 | 492 | #define ID_BUTTON40062 40062 |
@@ -586,6 +593,8 @@ | ||
586 | 593 | #define MENU_REGLOAD 40170 |
587 | 594 | #define MENU_XFRMODE 40171 |
588 | 595 | #define MENU_CHANGEPASSWD 40172 |
596 | +#define ID_BUTTON40173 40173 | |
597 | +#define ID_BUTTON40174 40174 | |
589 | 598 | #define FSNOTIFY_TITLE 65535 |
590 | 599 | #define HOST_SIZEGRIP 65535 |
591 | 600 |
@@ -594,8 +603,8 @@ | ||
594 | 603 | #ifdef APSTUDIO_INVOKED |
595 | 604 | #ifndef APSTUDIO_READONLY_SYMBOLS |
596 | 605 | #define _APS_NEXT_RESOURCE_VALUE 189 |
597 | -#define _APS_NEXT_COMMAND_VALUE 40173 | |
598 | -#define _APS_NEXT_CONTROL_VALUE 1195 | |
606 | +#define _APS_NEXT_COMMAND_VALUE 40175 | |
607 | +#define _APS_NEXT_CONTROL_VALUE 1198 | |
599 | 608 | #define _APS_NEXT_SYMED_VALUE 101 |
600 | 609 | #endif |
601 | 610 | #endif |
@@ -268,19 +268,22 @@ hset_code_dlg DIALOGEX 0, 0, 207, 139 | ||
268 | 268 | STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION |
269 | 269 | FONT 9, "MS Sans Serif", 0, 0, 0x0 |
270 | 270 | BEGIN |
271 | - GROUPBOX "&Japanese Kanji Code",-1,7,7,98,70,WS_GROUP | |
272 | - CONTROL "No conversion (S-JIS)",HSET_NO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,12,21,91,10 | |
273 | - CONTROL "JIS",HSET_JIS_CNV,"Button",BS_AUTORADIOBUTTON,12,33,41,10 | |
274 | - CONTROL "EUC",HSET_EUC_CNV,"Button",BS_AUTORADIOBUTTON,12,45,41,10 | |
275 | - CONTROL "Hankaku to Zenkaku",HSET_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,62,90,10 | |
276 | - GROUPBOX "&Filename Kanji Code",-1,107,7,97,104,WS_GROUP | |
277 | - CONTROL "SHIFT-JIS",HSET_FN_NO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,111,21,65,10 | |
278 | - CONTROL "JIS",HSET_FN_JIS_CNV,"Button",BS_AUTORADIOBUTTON,111,33,70,10 | |
279 | - CONTROL "EUC",HSET_FN_EUC_CNV,"Button",BS_AUTORADIOBUTTON,111,45,41,10 | |
280 | - CONTROL "Samba-HEX",HSET_FN_SMH_CNV,"Button",BS_AUTORADIOBUTTON,111,57,66,10 | |
281 | - CONTROL "Samba-CAP",HSET_FN_SMC_CNV,"Button",BS_AUTORADIOBUTTON,111,69,64,10 | |
282 | - CONTROL "UTF-8N",HSET_FN_UTF8N_CNV,"Button",BS_AUTORADIOBUTTON,111,81,63,10 | |
283 | - CONTROL "Hankaku to Zenkaku",HSET_FN_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,111,96,91,10 | |
271 | + GROUPBOX "&Japanese Kanji Code",-1,7,7,98,94,WS_GROUP | |
272 | + CONTROL "No conversion",HSET_NO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,12,21,91,10 | |
273 | + CONTROL "Shift_JIS",HSET_SJIS_CNV,"Button",BS_AUTORADIOBUTTON,12,33,81,10 | |
274 | + CONTROL "JIS",HSET_JIS_CNV,"Button",BS_AUTORADIOBUTTON,12,45,41,10 | |
275 | + CONTROL "EUC",HSET_EUC_CNV,"Button",BS_AUTORADIOBUTTON,12,57,41,10 | |
276 | + CONTROL "UTF-8N",HSET_UTF8N_CNV,"Button",BS_AUTORADIOBUTTON,12,69,41,10 | |
277 | + CONTROL "Hankaku to Zenkaku",HSET_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,96,90,10 | |
278 | + GROUPBOX "&Filename Kanji Code",-1,107,7,97,116,WS_GROUP | |
279 | + CONTROL "Automatic",HSET_FN_AUTO_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,114,21,65,10 | |
280 | + CONTROL "Shift_JIS",HSET_FN_SJIS_CNV,"Button",BS_AUTORADIOBUTTON | WS_GROUP,111,33,65,10 | |
281 | + CONTROL "JIS",HSET_FN_JIS_CNV,"Button",BS_AUTORADIOBUTTON,111,45,70,10 | |
282 | + CONTROL "EUC",HSET_FN_EUC_CNV,"Button",BS_AUTORADIOBUTTON,111,57,41,10 | |
283 | + CONTROL "Samba-HEX",HSET_FN_SMH_CNV,"Button",BS_AUTORADIOBUTTON,111,69,66,10 | |
284 | + CONTROL "Samba-CAP",HSET_FN_SMC_CNV,"Button",BS_AUTORADIOBUTTON,111,81,64,10 | |
285 | + CONTROL "UTF-8N",HSET_FN_UTF8N_CNV,"Button",BS_AUTORADIOBUTTON,111,93,63,10 | |
286 | + CONTROL "Hankaku to Zenkaku",HSET_FN_HANCNV,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,111,108,91,10 | |
284 | 287 | END |
285 | 288 | |
286 | 289 | hset_dialup_dlg DIALOG 0, 0, 207, 139 |
@@ -2127,6 +2130,8 @@ BEGIN | ||
2127 | 2130 | BUTTON ID_BUTTON40122 |
2128 | 2131 | BUTTON ID_BUTTON40125 |
2129 | 2132 | BUTTON ID_BUTTON40156 |
2133 | + BUTTON ID_BUTTON40173 | |
2134 | + BUTTON ID_BUTTON40174 | |
2130 | 2135 | END |
2131 | 2136 | |
2132 | 2137 | remote_toolbar_bmp TOOLBAR 16, 16 |
@@ -272,7 +272,7 @@ | ||
272 | 272 | #define HSET_FIREWAL 1061 |
273 | 273 | #define HSET_FIREWALL 1061 |
274 | 274 | #define FIRE_TYPE1 1062 |
275 | -#define HSET_FN_NO_CNV 1062 | |
275 | +#define HSET_FN_AUTO_CNV 1062 | |
276 | 276 | #define FIRE_TYPE4 1063 |
277 | 277 | #define HSET_FN_JIS_CNV 1063 |
278 | 278 | #define FIRE_TYPE3 1064 |
@@ -414,7 +414,11 @@ | ||
414 | 414 | #define TRMODE3_FOLDER_ATTR 1186 |
415 | 415 | #define ABOUT_URL 1187 |
416 | 416 | #define IDC_EDIT1 1191 |
417 | +#define MOVE_NOTIFY_TEXT 1194 | |
417 | 418 | #define COMMON_TEXT 1194 |
419 | +#define HSET_SJIS_CNV 1195 | |
420 | +#define HSET_UTF8N_CNV 1196 | |
421 | +#define HSET_FN_SJIS_CNV 1197 | |
418 | 422 | #define MENU_END 40001 |
419 | 423 | #define MENU_EXIT 40001 |
420 | 424 | #define MENU_CONNECT 40003 |
@@ -466,19 +470,23 @@ | ||
466 | 470 | #define MENU_HELP 40040 |
467 | 471 | #define MENU_BMARK_ADD 40041 |
468 | 472 | #define MENU_BMARK_EDIT 40042 |
469 | -#define MENU_KNJ_EUC 40043 | |
470 | -#define MENU_KNJ_JIS 40044 | |
471 | -#define MENU_KNJ_NONE 40045 | |
472 | -#define MENU_UPDIR 40046 | |
473 | -#define MENU_DCLICK 40047 | |
474 | -#define MENU_SELECT 40049 | |
475 | -#define MENU_SELECT_ALL 40050 | |
476 | -#define MENU_FIND 40051 | |
477 | -#define MENU_FINDNEXT 40052 | |
478 | -#define MENU_DOTFILE 40054 | |
479 | -#define MENU_IMPORT_WS 40056 | |
480 | -#define ID_BUTTON40058 40058 | |
481 | -#define ID_BUTTON40059 40059 | |
473 | +#define MENU_KNJ_SJIS 40043 | |
474 | +#define MENU_KNJ_EUC 40044 | |
475 | +#define MENU_KNJ_JIS 40045 | |
476 | +#define MENU_KNJ_UTF8N 40046 | |
477 | +#define MENU_KNJ_NONE 40047 | |
478 | +#define MENU_L_KNJ_SJIS 40048 | |
479 | +#define MENU_L_KNJ_EUC 40049 | |
480 | +#define MENU_L_KNJ_JIS 40050 | |
481 | +#define MENU_L_KNJ_UTF8N 40051 | |
482 | +#define MENU_UPDIR 40052 | |
483 | +#define MENU_DCLICK 40053 | |
484 | +#define MENU_SELECT 40054 | |
485 | +#define MENU_SELECT_ALL 40055 | |
486 | +#define MENU_FIND 40056 | |
487 | +#define MENU_FINDNEXT 40057 | |
488 | +#define MENU_DOTFILE 40058 | |
489 | +#define MENU_IMPORT_WS 40059 | |
482 | 490 | #define ID_BUTTON40060 40060 |
483 | 491 | #define ID_BUTTON40061 40061 |
484 | 492 | #define ID_BUTTON40062 40062 |
@@ -585,6 +593,8 @@ | ||
585 | 593 | #define MENU_REGLOAD 40170 |
586 | 594 | #define MENU_XFRMODE 40171 |
587 | 595 | #define MENU_CHANGEPASSWD 40172 |
596 | +#define ID_BUTTON40173 40173 | |
597 | +#define ID_BUTTON40174 40174 | |
588 | 598 | #define FSNOTIFY_TITLE 65535 |
589 | 599 | #define HOST_SIZEGRIP 65535 |
590 | 600 |
@@ -593,8 +603,8 @@ | ||
593 | 603 | #ifdef APSTUDIO_INVOKED |
594 | 604 | #ifndef APSTUDIO_READONLY_SYMBOLS |
595 | 605 | #define _APS_NEXT_RESOURCE_VALUE 189 |
596 | -#define _APS_NEXT_COMMAND_VALUE 40173 | |
597 | -#define _APS_NEXT_CONTROL_VALUE 1194 | |
606 | +#define _APS_NEXT_COMMAND_VALUE 40175 | |
607 | +#define _APS_NEXT_CONTROL_VALUE 1198 | |
598 | 608 | #define _APS_NEXT_SYMED_VALUE 101 |
599 | 609 | #endif |
600 | 610 | #endif |
@@ -669,15 +669,17 @@ LIST_UNIX_70 | ||
669 | 669 | |
670 | 670 | /*===== 漢字コード変換 =====*/ |
671 | 671 | |
672 | -#define KANJI_SJIS 0 /* SJIS */ | |
673 | -#define KANJI_JIS 1 /* JIS */ | |
674 | -#define KANJI_EUC 2 /* EUC */ | |
675 | -#define KANJI_SMB_HEX 3 /* Samba-HEX */ | |
676 | -#define KANJI_SMB_CAP 4 /* Samba-CAP */ | |
677 | -#define KANJI_UTF8N 5 /* UTF-8N */ | |
672 | +#define KANJI_SJIS 1 /* SJIS */ | |
673 | +#define KANJI_JIS 2 /* JIS */ | |
674 | +#define KANJI_EUC 3 /* EUC */ | |
675 | +#define KANJI_SMB_HEX 4 /* Samba-HEX */ | |
676 | +#define KANJI_SMB_CAP 5 /* Samba-CAP */ | |
677 | +#define KANJI_UTF8N 6 /* UTF-8N */ | |
678 | 678 | |
679 | 679 | #define KANJI_NOCNV 0 /* 漢字コード変換なし */ |
680 | 680 | |
681 | +#define KANJI_AUTO 0 | |
682 | + | |
681 | 683 | /*===== サウンド =====*/ |
682 | 684 | |
683 | 685 | #define SND_CONNECT 0 /* 接続時のサウンド */ |
@@ -960,6 +962,7 @@ typedef struct transpacket { | ||
960 | 962 | FILETIME Time; /* ファイルの時間(UTC) */ |
961 | 963 | int Attr; /* ファイルの属性 */ |
962 | 964 | int KanjiCode; /* 漢字コード (KANJI_xxx) */ |
965 | + int KanjiCodeDesired; /* 変換先の漢字コード (KANJI_xxx) */ | |
963 | 966 | int KanaCnv; /* 半角カナを全角に変換(YES/NO) */ |
964 | 967 | int Mode; /* 転送モード (EXIST_xxx) */ |
965 | 968 | HWND hWndTrans; /* 転送中ダイアログのウインドウハンドル */ |
@@ -1235,6 +1238,13 @@ void SetHostKanaCnvImm(int Mode); | ||
1235 | 1238 | void SetHostKanaCnv(void); |
1236 | 1239 | void DispHostKanaCnv(void); |
1237 | 1240 | int AskHostKanaCnv(void); |
1241 | +// ローカルの漢字コード | |
1242 | +void SetLocalKanjiCodeImm(int Mode); | |
1243 | +void SetLocalKanjiCode(int Type); | |
1244 | +void DispLocalKanjiCode(void); | |
1245 | +int AskLocalKanjiCode(void); | |
1246 | +void HideLocalKanjiButton(void); | |
1247 | +// ここまで | |
1238 | 1248 | void SetSortTypeImm(int LFsort, int LDsort, int RFsort, int RDsort); |
1239 | 1249 | void SetSortTypeByColumn(int Win, int Tab); |
1240 | 1250 | int AskSortType(int Name); |
@@ -3,8 +3,10 @@ | ||
3 | 3 | #define HAVE_OPENVMS |
4 | 4 | |
5 | 5 | //全体に影響する設定はここに記述する予定 |
6 | +//内部をUTF-8として扱いマルチバイト文字ワイド文字APIラッパーを使用する | |
7 | +#include "mbswrapper.h" | |
6 | 8 | //使用するCPUを1個に限定する(マルチコアCPUの特定環境下でファイル通信中にクラッシュするバグ対策) |
7 | 9 | #define DISABLE_MULTI_CPUS |
8 | 10 | //ネットワークバッファを無効にする(通信中止後にリモートのディレクトリが表示されないバグ対策) |
9 | -#define DISABLE_NETWORK_BUFFERS | |
11 | +//#define DISABLE_NETWORK_BUFFERS | |
10 | 12 |
@@ -200,6 +200,7 @@ void DownLoadProc(int ChName, int ForceFile, int All) | ||
200 | 200 | Pkt.Size = Pos->Size; |
201 | 201 | Pkt.Time = Pos->Time; |
202 | 202 | Pkt.KanjiCode = AskHostKanjiCode(); |
203 | + Pkt.KanjiCodeDesired = AskLocalKanjiCode(); | |
203 | 204 | Pkt.KanaCnv = AskHostKanaCnv(); |
204 | 205 | |
205 | 206 | Pkt.Mode = CheckLocalFile(&Pkt); /* Pkt.ExistSize がセットされる */ |
@@ -301,6 +302,7 @@ void DirectDownLoadProc(char *Fname) | ||
301 | 302 | /* サイズと日付は転送側スレッドで取得し、セットする */ |
302 | 303 | |
303 | 304 | Pkt.KanjiCode = AskHostKanjiCode(); |
305 | + Pkt.KanjiCodeDesired = AskLocalKanjiCode(); | |
304 | 306 | Pkt.KanaCnv = AskHostKanaCnv(); |
305 | 307 | |
306 | 308 | Pkt.Mode = CheckLocalFile(&Pkt); /* Pkt.ExistSize がセットされる */ |
@@ -551,6 +553,7 @@ void MirrorDownloadProc(int Notify) | ||
551 | 553 | Pkt.Time = RemotePos->Time; |
552 | 554 | // Pkt.Attr = 0; |
553 | 555 | Pkt.KanjiCode = AskHostKanjiCode(); |
556 | + Pkt.KanjiCodeDesired = AskLocalKanjiCode(); | |
554 | 557 | Pkt.KanaCnv = AskHostKanaCnv(); |
555 | 558 | Pkt.Mode = EXIST_OVW; |
556 | 559 | AddTmpTransFileList(&Pkt, &Base); |
@@ -944,6 +947,7 @@ void UpLoadListProc(int ChName, int All) | ||
944 | 947 | Pkt.Time = Pos->Time; |
945 | 948 | Pkt.Attr = AskUpLoadFileAttr(Pkt.RemoteFile); |
946 | 949 | Pkt.KanjiCode = AskHostKanjiCode(); |
950 | + Pkt.KanjiCodeDesired = AskLocalKanjiCode(); | |
947 | 951 | Pkt.KanaCnv = AskHostKanaCnv(); |
948 | 952 | Pkt.Mode = CheckRemoteFile(&Pkt, RemoteList); |
949 | 953 | if(Pkt.Mode == EXIST_ABORT) |
@@ -1094,6 +1098,7 @@ void UpLoadDragProc(WPARAM wParam) | ||
1094 | 1098 | Pkt.Time = Pos->Time; |
1095 | 1099 | Pkt.Attr = AskUpLoadFileAttr(Pkt.RemoteFile); |
1096 | 1100 | Pkt.KanjiCode = AskHostKanjiCode(); |
1101 | + Pkt.KanjiCodeDesired = AskLocalKanjiCode(); | |
1097 | 1102 | Pkt.KanaCnv = AskHostKanaCnv(); |
1098 | 1103 | Pkt.Mode = CheckRemoteFile(&Pkt, RemoteList); |
1099 | 1104 | if(Pkt.Mode == EXIST_ABORT) |
@@ -1360,6 +1365,7 @@ void MirrorUploadProc(int Notify) | ||
1360 | 1365 | Pkt.Time = LocalPos->Time; |
1361 | 1366 | Pkt.Attr = AskUpLoadFileAttr(Pkt.RemoteFile); |
1362 | 1367 | Pkt.KanjiCode = AskHostKanjiCode(); |
1368 | + Pkt.KanjiCodeDesired = AskLocalKanjiCode(); | |
1363 | 1369 | Pkt.KanaCnv = AskHostKanaCnv(); |
1364 | 1370 | Pkt.Mode = EXIST_OVW; |
1365 | 1371 | AddTmpTransFileList(&Pkt, &Base); |
@@ -59,7 +59,7 @@ | ||
59 | 59 | |
60 | 60 | #ifdef DISABLE_NETWORK_BUFFERS |
61 | 61 | #undef BUFSIZE |
62 | -#define BUFSIZE (63 * 1024) // RWIN値以下で充分な大きさが望ましいと思われる。 | |
62 | +#define BUFSIZE (64 * 1024) // RWIN値以下で充分な大きさが望ましいと思われる。 | |
63 | 63 | #undef SET_BUFFER_SIZE |
64 | 64 | #endif |
65 | 65 |
@@ -1178,6 +1178,8 @@ static int DownLoadFile(TRANSPACKET *Pkt, SOCKET dSkt, int CreateMode, int *Canc | ||
1178 | 1178 | |
1179 | 1179 | if((iFileHandle = CreateFile(Pkt->LocalFile, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, &Sec, CreateMode, FILE_ATTRIBUTE_NORMAL, NULL)) != INVALID_HANDLE_VALUE) |
1180 | 1180 | { |
1181 | + // UTF-8対応 | |
1182 | + int ProcessedBOM = NO; | |
1181 | 1183 | if(CreateMode == OPEN_ALWAYS) |
1182 | 1184 | SetFilePointer(iFileHandle, 0, 0, FILE_END); |
1183 | 1185 |
@@ -1246,11 +1248,154 @@ static int DownLoadFile(TRANSPACKET *Pkt, SOCKET dSkt, int CreateMode, int *Canc | ||
1246 | 1248 | cInfo.BufSize = BUFSIZE+3; |
1247 | 1249 | do |
1248 | 1250 | { |
1249 | - if(Pkt->KanjiCode == KANJI_JIS) | |
1250 | - Continue = ConvJIStoSJIS(&cInfo); | |
1251 | - else | |
1252 | - Continue = ConvEUCtoSJIS(&cInfo); | |
1253 | - if(WriteFile(iFileHandle, Buf2, cInfo.OutLen, &Writed, NULL) == FALSE) | |
1251 | + // ここで全てUTF-8へ変換する | |
1252 | + // TODO: SJIS以外も直接UTF-8へ変換 | |
1253 | +// if(Pkt->KanjiCode == KANJI_JIS) | |
1254 | +// Continue = ConvJIStoSJIS(&cInfo); | |
1255 | +// else | |
1256 | +// Continue = ConvEUCtoSJIS(&cInfo); | |
1257 | + char Buf3[(BUFSIZE + 3) * 4]; | |
1258 | + CODECONVINFO cInfo2; | |
1259 | + switch(Pkt->KanjiCode) | |
1260 | + { | |
1261 | + case KANJI_SJIS: | |
1262 | + switch(Pkt->KanjiCodeDesired) | |
1263 | + { | |
1264 | + case KANJI_SJIS: | |
1265 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
1266 | + cInfo2.OutLen = cInfo.StrLen; | |
1267 | + Continue = NO; | |
1268 | + break; | |
1269 | + case KANJI_JIS: | |
1270 | + break; | |
1271 | + case KANJI_EUC: | |
1272 | + break; | |
1273 | + case KANJI_UTF8N: | |
1274 | + if(ProcessedBOM == NO) | |
1275 | + { | |
1276 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
1277 | + cInfo2.OutLen = 3; | |
1278 | + Continue = YES; | |
1279 | + ProcessedBOM = YES; | |
1280 | + break; | |
1281 | + } | |
1282 | + Continue = ConvSJIStoUTF8N(&cInfo); | |
1283 | + memcpy(Buf3, Buf2, cInfo.OutLen); | |
1284 | + cInfo2.OutLen = cInfo.OutLen; | |
1285 | + break; | |
1286 | + } | |
1287 | + break; | |
1288 | + case KANJI_JIS: | |
1289 | + switch(Pkt->KanjiCodeDesired) | |
1290 | + { | |
1291 | + case KANJI_SJIS: | |
1292 | + Continue = ConvJIStoSJIS(&cInfo); | |
1293 | + memcpy(Buf3, Buf2, cInfo.OutLen); | |
1294 | + cInfo2.OutLen = cInfo.OutLen; | |
1295 | + break; | |
1296 | + case KANJI_JIS: | |
1297 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
1298 | + cInfo2.OutLen = cInfo.StrLen; | |
1299 | + Continue = NO; | |
1300 | + break; | |
1301 | + case KANJI_EUC: | |
1302 | + break; | |
1303 | + case KANJI_UTF8N: | |
1304 | + if(ProcessedBOM == NO) | |
1305 | + { | |
1306 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
1307 | + cInfo2.OutLen = 3; | |
1308 | + Continue = YES; | |
1309 | + ProcessedBOM = YES; | |
1310 | + break; | |
1311 | + } | |
1312 | + Continue = ConvJIStoSJIS(&cInfo); | |
1313 | + InitCodeConvInfo(&cInfo2); | |
1314 | + cInfo2.KanaCnv = NO; | |
1315 | + cInfo2.Str = cInfo.Buf; | |
1316 | + cInfo2.StrLen = cInfo.OutLen; | |
1317 | + cInfo2.Buf = Buf3; | |
1318 | + cInfo2.BufSize = (BUFSIZE + 3) * 4; | |
1319 | + ConvSJIStoUTF8N(&cInfo2); | |
1320 | + break; | |
1321 | + } | |
1322 | + break; | |
1323 | + case KANJI_EUC: | |
1324 | + switch(Pkt->KanjiCodeDesired) | |
1325 | + { | |
1326 | + case KANJI_SJIS: | |
1327 | + Continue = ConvEUCtoSJIS(&cInfo); | |
1328 | + memcpy(Buf3, Buf2, cInfo.OutLen); | |
1329 | + cInfo2.OutLen = cInfo.OutLen; | |
1330 | + break; | |
1331 | + case KANJI_JIS: | |
1332 | + break; | |
1333 | + case KANJI_EUC: | |
1334 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
1335 | + cInfo2.OutLen = cInfo.StrLen; | |
1336 | + Continue = NO; | |
1337 | + break; | |
1338 | + case KANJI_UTF8N: | |
1339 | + if(ProcessedBOM == NO) | |
1340 | + { | |
1341 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
1342 | + cInfo2.OutLen = 3; | |
1343 | + Continue = YES; | |
1344 | + ProcessedBOM = YES; | |
1345 | + break; | |
1346 | + } | |
1347 | + Continue = ConvEUCtoSJIS(&cInfo); | |
1348 | + InitCodeConvInfo(&cInfo2); | |
1349 | + cInfo2.KanaCnv = NO; | |
1350 | + cInfo2.Str = cInfo.Buf; | |
1351 | + cInfo2.StrLen = cInfo.OutLen; | |
1352 | + cInfo2.Buf = Buf3; | |
1353 | + cInfo2.BufSize = (BUFSIZE + 3) * 4; | |
1354 | + ConvSJIStoUTF8N(&cInfo2); | |
1355 | + break; | |
1356 | + } | |
1357 | + break; | |
1358 | + case KANJI_UTF8N: | |
1359 | + if(ProcessedBOM == NO) | |
1360 | + { | |
1361 | + if(memcmp(Buf, "\xEF\xBB\xBF", 3) == 0) | |
1362 | + { | |
1363 | + cInfo.Str += 3; | |
1364 | + cInfo.StrLen -= 3; | |
1365 | + } | |
1366 | + cInfo2.OutLen = 0; | |
1367 | + switch(Pkt->KanjiCodeDesired) | |
1368 | + { | |
1369 | + case KANJI_UTF8N: | |
1370 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
1371 | + cInfo2.OutLen = 3; | |
1372 | + break; | |
1373 | + } | |
1374 | + Continue = YES; | |
1375 | + ProcessedBOM = YES; | |
1376 | + break; | |
1377 | + } | |
1378 | + switch(Pkt->KanjiCodeDesired) | |
1379 | + { | |
1380 | + case KANJI_SJIS: | |
1381 | + Continue = ConvUTF8NtoSJIS(&cInfo); | |
1382 | + memcpy(Buf3, Buf2, cInfo.OutLen); | |
1383 | + cInfo2.OutLen = cInfo.OutLen; | |
1384 | + break; | |
1385 | + case KANJI_JIS: | |
1386 | + break; | |
1387 | + case KANJI_EUC: | |
1388 | + break; | |
1389 | + case KANJI_UTF8N: | |
1390 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
1391 | + cInfo2.OutLen = cInfo.StrLen; | |
1392 | + Continue = NO; | |
1393 | + break; | |
1394 | + } | |
1395 | + break; | |
1396 | + } | |
1397 | +// if(WriteFile(iFileHandle, Buf2, cInfo.OutLen, &Writed, NULL) == FALSE) | |
1398 | + if(WriteFile(iFileHandle, Buf3, cInfo2.OutLen, &Writed, NULL) == FALSE) | |
1254 | 1399 | Pkt->Abort = ABORT_DISKFULL; |
1255 | 1400 | } |
1256 | 1401 | while((Continue == YES) && (Pkt->Abort == ABORT_NONE)); |
@@ -1820,13 +1965,11 @@ static int UpLoadFile(TRANSPACKET *Pkt, SOCKET dSkt) | ||
1820 | 1965 | /* End */ |
1821 | 1966 | #endif |
1822 | 1967 | |
1823 | -// Written by Suguru Kawamoto | |
1824 | 1968 | #ifdef DISABLE_NETWORK_BUFFERS |
1825 | 1969 | // 念のため送信バッファを無効にする。 |
1826 | 1970 | int buf_size = 0; |
1827 | 1971 | setsockopt(dSkt, SOL_SOCKET, SO_SNDBUF, (char *)&buf_size, sizeof(buf_size)); |
1828 | 1972 | #endif |
1829 | -// End Written by Suguru Kawamoto | |
1830 | 1973 | |
1831 | 1974 | Pkt->Abort = ABORT_NONE; |
1832 | 1975 |
@@ -1837,6 +1980,8 @@ static int UpLoadFile(TRANSPACKET *Pkt, SOCKET dSkt) | ||
1837 | 1980 | if((iFileHandle = CreateFile(Pkt->LocalFile, GENERIC_READ, |
1838 | 1981 | FILE_SHARE_READ|FILE_SHARE_WRITE, &Sec, OPEN_EXISTING, 0, NULL)) != INVALID_HANDLE_VALUE) |
1839 | 1982 | { |
1983 | + // UTF-8対応 | |
1984 | + int ProcessedBOM = NO; | |
1840 | 1985 | if(Pkt->hWndTrans != NULL) |
1841 | 1986 | { |
1842 | 1987 | Low = GetFileSize(iFileHandle, &High); |
@@ -1880,12 +2025,155 @@ static int UpLoadFile(TRANSPACKET *Pkt, SOCKET dSkt) | ||
1880 | 2025 | cInfo.BufSize = BUFSIZE+3; |
1881 | 2026 | do |
1882 | 2027 | { |
1883 | - if(Pkt->KanjiCode == KANJI_JIS) | |
1884 | - Continue = ConvSJIStoJIS(&cInfo); | |
1885 | - else | |
1886 | - Continue = ConvSJIStoEUC(&cInfo); | |
2028 | + // ここで全てUTF-8へ変換する | |
2029 | + // TODO: SJIS以外も直接UTF-8へ変換 | |
2030 | +// if(Pkt->KanjiCode == KANJI_JIS) | |
2031 | +// Continue = ConvSJIStoJIS(&cInfo); | |
2032 | +// else | |
2033 | +// Continue = ConvSJIStoEUC(&cInfo); | |
2034 | + char Buf3[(BUFSIZE + 3) * 4]; | |
2035 | + CODECONVINFO cInfo2; | |
2036 | + switch(Pkt->KanjiCodeDesired) | |
2037 | + { | |
2038 | + case KANJI_SJIS: | |
2039 | + switch(Pkt->KanjiCode) | |
2040 | + { | |
2041 | + case KANJI_SJIS: | |
2042 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
2043 | + cInfo2.OutLen = cInfo.StrLen; | |
2044 | + Continue = NO; | |
2045 | + break; | |
2046 | + case KANJI_JIS: | |
2047 | + break; | |
2048 | + case KANJI_EUC: | |
2049 | + break; | |
2050 | + case KANJI_UTF8N: | |
2051 | + if(ProcessedBOM == NO) | |
2052 | + { | |
2053 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
2054 | + cInfo2.OutLen = 3; | |
2055 | + Continue = YES; | |
2056 | + ProcessedBOM = YES; | |
2057 | + break; | |
2058 | + } | |
2059 | + Continue = ConvSJIStoUTF8N(&cInfo); | |
2060 | + memcpy(Buf3, cInfo.Str, cInfo.OutLen); | |
2061 | + cInfo2.OutLen = cInfo.OutLen; | |
2062 | + break; | |
2063 | + } | |
2064 | + break; | |
2065 | + case KANJI_JIS: | |
2066 | + switch(Pkt->KanjiCode) | |
2067 | + { | |
2068 | + case KANJI_SJIS: | |
2069 | + Continue = ConvJIStoSJIS(&cInfo); | |
2070 | + memcpy(Buf3, Buf2, cInfo.OutLen); | |
2071 | + cInfo2.OutLen = cInfo.OutLen; | |
2072 | + break; | |
2073 | + case KANJI_JIS: | |
2074 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
2075 | + cInfo2.OutLen = cInfo.StrLen; | |
2076 | + Continue = NO; | |
2077 | + break; | |
2078 | + case KANJI_EUC: | |
2079 | + break; | |
2080 | + case KANJI_UTF8N: | |
2081 | + if(ProcessedBOM == NO) | |
2082 | + { | |
2083 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
2084 | + cInfo2.OutLen = 3; | |
2085 | + Continue = YES; | |
2086 | + ProcessedBOM = YES; | |
2087 | + break; | |
2088 | + } | |
2089 | + Continue = ConvJIStoSJIS(&cInfo); | |
2090 | + InitCodeConvInfo(&cInfo2); | |
2091 | + cInfo2.KanaCnv = NO; | |
2092 | + cInfo2.Str = cInfo.Buf; | |
2093 | + cInfo2.StrLen = cInfo.OutLen; | |
2094 | + cInfo2.Buf = Buf3; | |
2095 | + cInfo2.BufSize = (BUFSIZE + 3) * 4; | |
2096 | + ConvSJIStoUTF8N(&cInfo2); | |
2097 | + break; | |
2098 | + } | |
2099 | + break; | |
2100 | + case KANJI_EUC: | |
2101 | + switch(Pkt->KanjiCode) | |
2102 | + { | |
2103 | + case KANJI_SJIS: | |
2104 | + Continue = ConvEUCtoSJIS(&cInfo); | |
2105 | + memcpy(Buf3, Buf2, cInfo.OutLen); | |
2106 | + cInfo2.OutLen = cInfo.OutLen; | |
2107 | + break; | |
2108 | + case KANJI_JIS: | |
2109 | + break; | |
2110 | + case KANJI_EUC: | |
2111 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
2112 | + cInfo2.OutLen = cInfo.StrLen; | |
2113 | + Continue = NO; | |
2114 | + break; | |
2115 | + case KANJI_UTF8N: | |
2116 | + if(ProcessedBOM == NO) | |
2117 | + { | |
2118 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
2119 | + cInfo2.OutLen = 3; | |
2120 | + Continue = YES; | |
2121 | + ProcessedBOM = YES; | |
2122 | + break; | |
2123 | + } | |
2124 | + Continue = ConvEUCtoSJIS(&cInfo); | |
2125 | + InitCodeConvInfo(&cInfo2); | |
2126 | + cInfo2.KanaCnv = NO; | |
2127 | + cInfo2.Str = cInfo.Buf; | |
2128 | + cInfo2.StrLen = cInfo.OutLen; | |
2129 | + cInfo2.Buf = Buf3; | |
2130 | + cInfo2.BufSize = (BUFSIZE + 3) * 4; | |
2131 | + ConvSJIStoUTF8N(&cInfo2); | |
2132 | + break; | |
2133 | + } | |
2134 | + break; | |
2135 | + case KANJI_UTF8N: | |
2136 | + if(ProcessedBOM == NO) | |
2137 | + { | |
2138 | + if(memcmp(Buf, "\xEF\xBB\xBF", 3) == 0) | |
2139 | + { | |
2140 | + cInfo.Str += 3; | |
2141 | + cInfo.StrLen -= 3; | |
2142 | + } | |
2143 | + cInfo2.OutLen = 0; | |
2144 | + switch(Pkt->KanjiCode) | |
2145 | + { | |
2146 | + case KANJI_UTF8N: | |
2147 | + memcpy(Buf3, "\xEF\xBB\xBF", 3); | |
2148 | + cInfo2.OutLen = 3; | |
2149 | + break; | |
2150 | + } | |
2151 | + Continue = YES; | |
2152 | + ProcessedBOM = YES; | |
2153 | + break; | |
2154 | + } | |
2155 | + switch(Pkt->KanjiCode) | |
2156 | + { | |
2157 | + case KANJI_SJIS: | |
2158 | + Continue = ConvUTF8NtoSJIS(&cInfo); | |
2159 | + memcpy(Buf3, Buf2, cInfo.OutLen); | |
2160 | + cInfo2.OutLen = cInfo.OutLen; | |
2161 | + break; | |
2162 | + case KANJI_JIS: | |
2163 | + break; | |
2164 | + case KANJI_EUC: | |
2165 | + break; | |
2166 | + case KANJI_UTF8N: | |
2167 | + memcpy(Buf3, cInfo.Str, cInfo.StrLen); | |
2168 | + cInfo2.OutLen = cInfo.StrLen; | |
2169 | + Continue = NO; | |
2170 | + break; | |
2171 | + } | |
2172 | + break; | |
2173 | + } | |
1887 | 2174 | |
1888 | - if(TermCodeConvAndSend(&tInfo, dSkt, Buf2, cInfo.OutLen, Pkt->Type) == FAIL) | |
2175 | +// if(TermCodeConvAndSend(&tInfo, dSkt, Buf2, cInfo.OutLen, Pkt->Type) == FAIL) | |
2176 | + if(TermCodeConvAndSend(&tInfo, dSkt, Buf3, cInfo2.OutLen, Pkt->Type) == FAIL) | |
1889 | 2177 | { |
1890 | 2178 | Pkt->Abort = ABORT_ERROR; |
1891 | 2179 | break; |
@@ -1790,15 +1790,19 @@ static BOOL CALLBACK CodeSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LP | ||
1790 | 1790 | { |
1791 | 1791 | NMHDR *pnmhdr; |
1792 | 1792 | |
1793 | + // UTF-8対応 | |
1793 | 1794 | static const RADIOBUTTON KanjiButton[] = { |
1794 | 1795 | { HSET_NO_CNV, KANJI_NOCNV }, |
1796 | + { HSET_SJIS_CNV, KANJI_SJIS }, | |
1795 | 1797 | { HSET_JIS_CNV, KANJI_JIS }, |
1796 | - { HSET_EUC_CNV, KANJI_EUC } | |
1798 | + { HSET_EUC_CNV, KANJI_EUC }, | |
1799 | + { HSET_UTF8N_CNV, KANJI_UTF8N } | |
1797 | 1800 | }; |
1798 | 1801 | #define KANJIBUTTONS (sizeof(KanjiButton)/sizeof(RADIOBUTTON)) |
1799 | 1802 | |
1800 | 1803 | static const RADIOBUTTON NameKanjiButton[] = { |
1801 | - { HSET_FN_NO_CNV, KANJI_NOCNV }, | |
1804 | + { HSET_FN_AUTO_CNV, KANJI_AUTO }, | |
1805 | + { HSET_FN_SJIS_CNV, KANJI_SJIS }, | |
1802 | 1806 | { HSET_FN_JIS_CNV, KANJI_JIS }, |
1803 | 1807 | { HSET_FN_EUC_CNV, KANJI_EUC }, |
1804 | 1808 | { HSET_FN_SMH_CNV, KANJI_SMB_HEX }, |
@@ -1845,7 +1849,10 @@ static BOOL CALLBACK CodeSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LP | ||
1845 | 1849 | EnableWindow(GetDlgItem(hDlg, HSET_HANCNV), TRUE); |
1846 | 1850 | break; |
1847 | 1851 | |
1852 | + // UTF-8対応 | |
1848 | 1853 | case HSET_NO_CNV : |
1854 | + case HSET_SJIS_CNV : | |
1855 | + case HSET_UTF8N_CNV : | |
1849 | 1856 | EnableWindow(GetDlgItem(hDlg, HSET_HANCNV), FALSE); |
1850 | 1857 | break; |
1851 | 1858 |
@@ -1854,7 +1861,8 @@ static BOOL CALLBACK CodeSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LP | ||
1854 | 1861 | EnableWindow(GetDlgItem(hDlg, HSET_FN_HANCNV), TRUE); |
1855 | 1862 | break; |
1856 | 1863 | |
1857 | - case HSET_FN_NO_CNV : | |
1864 | + case HSET_FN_AUTO_CNV : | |
1865 | + case HSET_FN_SJIS_CNV : | |
1858 | 1866 | case HSET_FN_SMH_CNV : |
1859 | 1867 | case HSET_FN_SMC_CNV : |
1860 | 1868 | case HSET_FN_UTF8N_CNV : // UTF-8N対応 |
@@ -397,6 +397,7 @@ static int InitApp(LPSTR lpszCmdLine, int cmdShow) | ||
397 | 397 | DispTransferType(); |
398 | 398 | SetHostKanaCnvImm(YES); |
399 | 399 | SetHostKanjiCodeImm(KANJI_NOCNV); |
400 | + SetLocalKanjiCodeImm(KANJI_UTF8N); | |
400 | 401 | DispListType(); |
401 | 402 | DispDotFileMode(); |
402 | 403 | DispSyncMoveMode(); |
@@ -1025,12 +1026,22 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA | ||
1025 | 1026 | DispTransferType(); |
1026 | 1027 | break; |
1027 | 1028 | |
1029 | + // UTF-8対応 | |
1030 | + case MENU_KNJ_SJIS : | |
1028 | 1031 | case MENU_KNJ_EUC : |
1029 | 1032 | case MENU_KNJ_JIS : |
1033 | + case MENU_KNJ_UTF8N : | |
1030 | 1034 | case MENU_KNJ_NONE : |
1031 | 1035 | SetHostKanjiCode(LOWORD(wParam)); |
1032 | 1036 | break; |
1033 | 1037 | |
1038 | + case MENU_L_KNJ_SJIS : | |
1039 | + case MENU_L_KNJ_EUC : | |
1040 | + case MENU_L_KNJ_JIS : | |
1041 | + case MENU_L_KNJ_UTF8N : | |
1042 | + SetLocalKanjiCode(LOWORD(wParam)); | |
1043 | + break; | |
1044 | + | |
1034 | 1045 | case MENU_KANACNV : |
1035 | 1046 | SetHostKanaCnv(); |
1036 | 1047 | break; |
@@ -1296,6 +1307,10 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA | ||
1296 | 1307 | lpttt->lpszText = MSGJPN170; |
1297 | 1308 | break; |
1298 | 1309 | |
1310 | + case MENU_KNJ_SJIS : | |
1311 | + lpttt->lpszText = MSGJPN305; | |
1312 | + break; | |
1313 | + | |
1299 | 1314 | case MENU_KNJ_EUC : |
1300 | 1315 | lpttt->lpszText = MSGJPN171; |
1301 | 1316 | break; |
@@ -1304,10 +1319,30 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA | ||
1304 | 1319 | lpttt->lpszText = MSGJPN172; |
1305 | 1320 | break; |
1306 | 1321 | |
1322 | + case MENU_KNJ_UTF8N : | |
1323 | + lpttt->lpszText = MSGJPN306; | |
1324 | + break; | |
1325 | + | |
1307 | 1326 | case MENU_KNJ_NONE : |
1308 | 1327 | lpttt->lpszText = MSGJPN173; |
1309 | 1328 | break; |
1310 | 1329 | |
1330 | + case MENU_L_KNJ_SJIS : | |
1331 | + lpttt->lpszText = MSGJPN307; | |
1332 | + break; | |
1333 | + | |
1334 | + case MENU_L_KNJ_EUC : | |
1335 | + lpttt->lpszText = MSGJPN308; | |
1336 | + break; | |
1337 | + | |
1338 | + case MENU_L_KNJ_JIS : | |
1339 | + lpttt->lpszText = MSGJPN309; | |
1340 | + break; | |
1341 | + | |
1342 | + case MENU_L_KNJ_UTF8N : | |
1343 | + lpttt->lpszText = MSGJPN310; | |
1344 | + break; | |
1345 | + | |
1311 | 1346 | case MENU_KANACNV : |
1312 | 1347 | lpttt->lpszText = MSGJPN174; |
1313 | 1348 | break; |
@@ -1320,6 +1355,17 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA | ||
1320 | 1355 | lpttt->lpszText = MSGJPN176; |
1321 | 1356 | break; |
1322 | 1357 | } |
1358 | + // UTF-8からShift_JISへ変換 | |
1359 | + { | |
1360 | + static wchar_t StringBufferUTF16[1024]; | |
1361 | + static char StringBufferSJIS[1024]; | |
1362 | + if(lpttt->lpszText) | |
1363 | + { | |
1364 | + MtoW(StringBufferUTF16, sizeof(StringBufferUTF16)/ sizeof(wchar_t), lpttt->lpszText, -1); | |
1365 | + WtoA(StringBufferSJIS, sizeof(StringBufferSJIS)/ sizeof(char), StringBufferUTF16, -1); | |
1366 | + lpttt->lpszText = StringBufferSJIS; | |
1367 | + } | |
1368 | + } | |
1323 | 1369 | break; |
1324 | 1370 | |
1325 | 1371 | case LVN_COLUMNCLICK : |
@@ -0,0 +1,1233 @@ | ||
1 | +// mbswrapper.cpp | |
2 | +// Copyright (C) 2011 Suguru Kawamoto | |
3 | +// マルチバイト文字ワイド文字APIラッパー | |
4 | +// マルチバイト文字はUTF-8、ワイド文字はUTF-16であるものとする | |
5 | +// 全ての制御用の文字はASCIIの範囲であるため、Shift_JISとUTF-8間の変換は不要 | |
6 | + | |
7 | +#define UNICODE | |
8 | +#define _WIN32_WINNT 0x0600 | |
9 | +#undef _WIN32_IE | |
10 | +#define _WIN32_IE 0x0400 | |
11 | + | |
12 | +#include <tchar.h> | |
13 | +#include <windows.h> | |
14 | +#include <commctrl.h> | |
15 | +#include <shlobj.h> | |
16 | +#include <htmlhelp.h> | |
17 | + | |
18 | +#define DO_NOT_REPLACE | |
19 | +#include "mbswrapper.h" | |
20 | + | |
21 | +// マルチバイト文字列からワイド文字列へ変換 | |
22 | +int MtoW(LPWSTR pDst, int size, LPCSTR pSrc, int count) | |
23 | +{ | |
24 | + if(pSrc < (LPCSTR)0x00010000 || !((char*)pSrc + 1)) | |
25 | + return 0; | |
26 | + if(pDst) | |
27 | + return MultiByteToWideChar(CP_UTF8, 0, pSrc, count, pDst, size); | |
28 | + return MultiByteToWideChar(CP_UTF8, 0, pSrc, count, NULL, 0); | |
29 | +} | |
30 | + | |
31 | +// ワイド文字列からマルチバイト文字列へ変換 | |
32 | +int WtoM(LPSTR pDst, int size, LPCWSTR pSrc, int count) | |
33 | +{ | |
34 | + if(pSrc < (LPCWSTR)0x00010000 || !((char*)pSrc + 1)) | |
35 | + return 0; | |
36 | + if(pDst) | |
37 | + return WideCharToMultiByte(CP_UTF8, 0, pSrc, count, pDst, size, NULL, NULL); | |
38 | + return WideCharToMultiByte(CP_UTF8, 0, pSrc, count, NULL, 0, NULL, NULL); | |
39 | +} | |
40 | + | |
41 | +// ワイド文字列からShift_JIS文字列へ変換 | |
42 | +int WtoA(LPSTR pDst, int size, LPCWSTR pSrc, int count) | |
43 | +{ | |
44 | + if(pSrc < (LPCWSTR)0x00010000 || !((char*)pSrc + 1)) | |
45 | + return 0; | |
46 | + if(pDst) | |
47 | + return WideCharToMultiByte(CP_ACP, 0, pSrc, count, pDst, size, NULL, NULL); | |
48 | + return WideCharToMultiByte(CP_ACP, 0, pSrc, count, NULL, 0, NULL, NULL); | |
49 | +} | |
50 | + | |
51 | +// マルチバイト文字列バッファ終端を強制的にNULLで置換 | |
52 | +int TerminateStringM(LPSTR lpString, int size) | |
53 | +{ | |
54 | + int i; | |
55 | + if(lpString < (LPSTR)0x00010000 || !((char*)lpString + 1)) | |
56 | + return 0; | |
57 | + for(i = 0; i < size; i++) | |
58 | + { | |
59 | + if(lpString[i] == '\0') | |
60 | + return i; | |
61 | + } | |
62 | + i--; | |
63 | + lpString[i] = '\0'; | |
64 | + return i; | |
65 | +} | |
66 | + | |
67 | +// ワイド文字列バッファ終端を強制的にNULLで置換 | |
68 | +int TerminateStringW(LPWSTR lpString, int size) | |
69 | +{ | |
70 | + int i; | |
71 | + if(lpString < (LPWSTR)0x00010000 || !((char*)lpString + 1)) | |
72 | + return 0; | |
73 | + for(i = 0; i < size; i++) | |
74 | + { | |
75 | + if(lpString[i] == L'\0') | |
76 | + return i; | |
77 | + } | |
78 | + i--; | |
79 | + lpString[i] = L'\0'; | |
80 | + return i; | |
81 | +} | |
82 | + | |
83 | +// NULL区切り複数マルチバイト文字列の長さを取得 | |
84 | +size_t GetMultiStringLengthM(LPCSTR lpString) | |
85 | +{ | |
86 | + size_t i; | |
87 | + if(lpString < (LPCSTR)0x00010000 || !((char*)lpString + 1)) | |
88 | + return 0; | |
89 | + i = 0; | |
90 | + while(lpString[i] != '\0' || lpString[i + 1] != '\0') | |
91 | + { | |
92 | + i++; | |
93 | + } | |
94 | + i++; | |
95 | + return i; | |
96 | +} | |
97 | + | |
98 | +// NULL区切り複数ワイド文字列の長さを取得 | |
99 | +size_t GetMultiStringLengthW(LPCWSTR lpString) | |
100 | +{ | |
101 | + size_t i; | |
102 | + if(lpString < (LPCWSTR)0x00010000 || !((char*)lpString + 1)) | |
103 | + return 0; | |
104 | + i = 0; | |
105 | + while(lpString[i] != L'\0' || lpString[i + 1] != L'\0') | |
106 | + { | |
107 | + i++; | |
108 | + } | |
109 | + i++; | |
110 | + return i; | |
111 | +} | |
112 | + | |
113 | +// マルチバイト文字列用のメモリを確保 | |
114 | +char* AllocateStringM(int size) | |
115 | +{ | |
116 | + char* p; | |
117 | + p = (char*)malloc(sizeof(char) * size); | |
118 | + if(p) | |
119 | + *p = '\0'; | |
120 | + return p; | |
121 | +} | |
122 | + | |
123 | +// ワイド文字列用のメモリを確保 | |
124 | +wchar_t* AllocateStringW(int size) | |
125 | +{ | |
126 | + wchar_t* p; | |
127 | + p = (wchar_t*)malloc(sizeof(wchar_t) * size); | |
128 | + if(p) | |
129 | + *p = L'\0'; | |
130 | + return p; | |
131 | +} | |
132 | + | |
133 | +// Shift_JIS文字列用のメモリを確保 | |
134 | +char* AllocateStringA(int size) | |
135 | +{ | |
136 | + char* p; | |
137 | + p = (char*)malloc(sizeof(char) * size); | |
138 | + if(p) | |
139 | + *p = '\0'; | |
140 | + return p; | |
141 | +} | |
142 | + | |
143 | +// メモリを確保してマルチバイト文字列からワイド文字列へ変換 | |
144 | +wchar_t* DuplicateMtoW(LPCSTR lpString, int c) | |
145 | +{ | |
146 | + wchar_t* p; | |
147 | + int i; | |
148 | + if(lpString < (LPCSTR)0x00010000 || !((char*)lpString + 1)) | |
149 | + return (wchar_t*)lpString; | |
150 | + if(c < 0) | |
151 | + c = strlen(lpString); | |
152 | + p = AllocateStringW(MtoW(NULL, 0, lpString, c) + 1); | |
153 | + if(p) | |
154 | + { | |
155 | + i = MtoW(p, 65535, lpString, c); | |
156 | + p[i] = L'\0'; | |
157 | + } | |
158 | + return p; | |
159 | +} | |
160 | + | |
161 | +// 指定したサイズのメモリを確保してマルチバイト文字列からワイド文字列へ変換 | |
162 | +wchar_t* DuplicateMtoWBuffer(LPCSTR lpString, int c, int size) | |
163 | +{ | |
164 | + wchar_t* p; | |
165 | + int i; | |
166 | + if(lpString < (LPCSTR)0x00010000 || !((char*)lpString + 1)) | |
167 | + return (wchar_t*)lpString; | |
168 | + if(c < 0) | |
169 | + c = strlen(lpString); | |
170 | + p = AllocateStringW(size); | |
171 | + if(p) | |
172 | + { | |
173 | + i = MtoW(p, size, lpString, c); | |
174 | + p[i] = L'\0'; | |
175 | + } | |
176 | + return p; | |
177 | +} | |
178 | + | |
179 | +// メモリを確保してNULL区切りマルチバイト文字列からワイド文字列へ変換 | |
180 | +wchar_t* DuplicateMtoWMultiString(LPCSTR lpString) | |
181 | +{ | |
182 | + int count; | |
183 | + wchar_t* p; | |
184 | + if(lpString < (LPCSTR)0x00010000 || !((char*)lpString + 1)) | |
185 | + return (wchar_t*)lpString; | |
186 | + count = GetMultiStringLengthM(lpString) + 1; | |
187 | + p = AllocateStringW(count); | |
188 | + if(p) | |
189 | + MtoW(p, count, lpString, count); | |
190 | + return p; | |
191 | +} | |
192 | + | |
193 | +// 指定したサイズのメモリを確保してNULL区切りマルチバイト文字列からワイド文字列へ変換 | |
194 | +wchar_t* DuplicateMtoWMultiStringBuffer(LPCSTR lpString, int size) | |
195 | +{ | |
196 | + int count; | |
197 | + wchar_t* p; | |
198 | + if(lpString < (LPCSTR)0x00010000 || !((char*)lpString + 1)) | |
199 | + return (wchar_t*)lpString; | |
200 | + count = GetMultiStringLengthM(lpString) + 1; | |
201 | + p = AllocateStringW(size); | |
202 | + if(p) | |
203 | + { | |
204 | + MtoW(p, size, lpString, count); | |
205 | + p[size - 2] = L'\0'; | |
206 | + p[size - 1] = L'\0'; | |
207 | + } | |
208 | + return p; | |
209 | +} | |
210 | + | |
211 | +// メモリを確保してワイド文字列からマルチバイト文字列へ変換 | |
212 | +char* DuplicateWtoM(LPCWSTR lpString, int c) | |
213 | +{ | |
214 | + char* p; | |
215 | + int i; | |
216 | + if(lpString < (LPCWSTR)0x00010000 || !((char*)lpString + 1)) | |
217 | + return (char*)lpString; | |
218 | + if(c < 0) | |
219 | + c = wcslen(lpString); | |
220 | + p = AllocateStringM(WtoM(NULL, 0, lpString, c) + 1); | |
221 | + if(p) | |
222 | + { | |
223 | + i = WtoM(p, 65535, lpString, c); | |
224 | + p[i] = L'\0'; | |
225 | + } | |
226 | + return p; | |
227 | +} | |
228 | + | |
229 | +// メモリを確保してワイド文字列からShift_JIS文字列へ変換 | |
230 | +char* DuplicateWtoA(LPCWSTR lpString, int c) | |
231 | +{ | |
232 | + char* p; | |
233 | + int i; | |
234 | + if(lpString < (LPCWSTR)0x00010000 || !((char*)lpString + 1)) | |
235 | + return (char*)lpString; | |
236 | + if(c < 0) | |
237 | + c = wcslen(lpString); | |
238 | + p = AllocateStringA(WtoA(NULL, 0, lpString, c) + 1); | |
239 | + if(p) | |
240 | + { | |
241 | + i = WtoA(p, 65535, lpString, c); | |
242 | + p[i] = L'\0'; | |
243 | + } | |
244 | + return p; | |
245 | +} | |
246 | + | |
247 | +// 文字列用に確保したメモリを開放 | |
248 | +void FreeDuplicatedString(void* p) | |
249 | +{ | |
250 | + if(p < (void*)0x00010000 || !((char*)p + 1)) | |
251 | + return; | |
252 | + free(p); | |
253 | +} | |
254 | + | |
255 | +// 以下ラッパー | |
256 | +// 戻り値バッファ r | |
257 | +// ワイド文字バッファ pw%d | |
258 | +// マルチバイト文字バッファ pm%d | |
259 | +// 引数バッファ a%d | |
260 | + | |
261 | +#define START_ROUTINE do{ | |
262 | +#define END_ROUTINE }while(0);end_of_routine: | |
263 | +#define QUIT_ROUTINE goto end_of_routine; | |
264 | + | |
265 | +HANDLE CreateFileM(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) | |
266 | +{ | |
267 | + HANDLE r = INVALID_HANDLE_VALUE; | |
268 | + wchar_t* pw0 = NULL; | |
269 | +START_ROUTINE | |
270 | + pw0 = DuplicateMtoW(lpFileName, -1); | |
271 | + r = CreateFileW(pw0, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); | |
272 | +END_ROUTINE | |
273 | + FreeDuplicatedString(pw0); | |
274 | + return r; | |
275 | +} | |
276 | + | |
277 | +int MessageBoxM(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType) | |
278 | +{ | |
279 | + int r = IDOK; | |
280 | + wchar_t* pw0 = NULL; | |
281 | + wchar_t* pw1 = NULL; | |
282 | +START_ROUTINE | |
283 | + pw0 = DuplicateMtoW(lpText, -1); | |
284 | + pw1 = DuplicateMtoW(lpCaption, -1); | |
285 | + r = MessageBoxW(hWnd, pw0, pw1, uType); | |
286 | +END_ROUTINE | |
287 | + FreeDuplicatedString(pw0); | |
288 | + FreeDuplicatedString(pw1); | |
289 | + return r; | |
290 | +} | |
291 | + | |
292 | +HANDLE FindFirstFileM(LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData) | |
293 | +{ | |
294 | + HANDLE r = INVALID_HANDLE_VALUE; | |
295 | + wchar_t* pw0 = NULL; | |
296 | + WIN32_FIND_DATAW a0; | |
297 | +START_ROUTINE | |
298 | + pw0 = DuplicateMtoW(lpFileName, -1); | |
299 | + r = FindFirstFileW(pw0, &a0); | |
300 | + if(r != INVALID_HANDLE_VALUE) | |
301 | + { | |
302 | + lpFindFileData->dwFileAttributes = a0.dwFileAttributes; | |
303 | + lpFindFileData->ftCreationTime = a0.ftCreationTime; | |
304 | + lpFindFileData->ftLastAccessTime = a0.ftLastAccessTime; | |
305 | + lpFindFileData->ftLastWriteTime = a0.ftLastWriteTime; | |
306 | + lpFindFileData->nFileSizeHigh = a0.nFileSizeHigh; | |
307 | + lpFindFileData->nFileSizeLow = a0.nFileSizeLow; | |
308 | + lpFindFileData->dwReserved0 = a0.dwReserved0; | |
309 | + lpFindFileData->dwReserved1 = a0.dwReserved1; | |
310 | + WtoM(lpFindFileData->cFileName, sizeof(lpFindFileData->cFileName), a0.cFileName, -1); | |
311 | + WtoM(lpFindFileData->cAlternateFileName, sizeof(lpFindFileData->cAlternateFileName), a0.cAlternateFileName, -1); | |
312 | + } | |
313 | +END_ROUTINE | |
314 | + FreeDuplicatedString(pw0); | |
315 | + return r; | |
316 | +} | |
317 | + | |
318 | +BOOL FindNextFileM(HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData) | |
319 | +{ | |
320 | + BOOL r = FALSE; | |
321 | + WIN32_FIND_DATAW a0; | |
322 | +START_ROUTINE | |
323 | + r = FindNextFileW(hFindFile, &a0); | |
324 | + if(r) | |
325 | + { | |
326 | + lpFindFileData->dwFileAttributes = a0.dwFileAttributes; | |
327 | + lpFindFileData->ftCreationTime = a0.ftCreationTime; | |
328 | + lpFindFileData->ftLastAccessTime = a0.ftLastAccessTime; | |
329 | + lpFindFileData->ftLastWriteTime = a0.ftLastWriteTime; | |
330 | + lpFindFileData->nFileSizeHigh = a0.nFileSizeHigh; | |
331 | + lpFindFileData->nFileSizeLow = a0.nFileSizeLow; | |
332 | + lpFindFileData->dwReserved0 = a0.dwReserved0; | |
333 | + lpFindFileData->dwReserved1 = a0.dwReserved1; | |
334 | + WtoM(lpFindFileData->cFileName, sizeof(lpFindFileData->cFileName), a0.cFileName, -1); | |
335 | + WtoM(lpFindFileData->cAlternateFileName, sizeof(lpFindFileData->cAlternateFileName), a0.cAlternateFileName, -1); | |
336 | + } | |
337 | +END_ROUTINE | |
338 | + return r; | |
339 | +} | |
340 | + | |
341 | +DWORD GetLogicalDriveStringsM(DWORD nBufferLength, LPSTR lpBuffer) | |
342 | +{ | |
343 | + // TODO: 本来は変換が必要だが半角英数のみと思われるので省略 | |
344 | + return GetLogicalDriveStringsA(nBufferLength, lpBuffer); | |
345 | +} | |
346 | + | |
347 | +HWND CreateWindowExM(DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam) | |
348 | +{ | |
349 | + HWND r = NULL; | |
350 | + wchar_t* pw0 = NULL; | |
351 | + wchar_t* pw1 = NULL; | |
352 | +START_ROUTINE | |
353 | + pw0 = DuplicateMtoW(lpClassName, -1); | |
354 | + pw1 = DuplicateMtoW(lpWindowName, -1); | |
355 | + r = CreateWindowExW(dwExStyle, pw0, pw1, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); | |
356 | +END_ROUTINE | |
357 | + FreeDuplicatedString(pw0); | |
358 | + FreeDuplicatedString(pw1); | |
359 | + return r; | |
360 | +} | |
361 | + | |
362 | +LRESULT SendMessageM(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) | |
363 | +{ | |
364 | + LRESULT r = 0; | |
365 | + wchar_t* pw0 = NULL; | |
366 | + wchar_t* pw1 = NULL; | |
367 | + int Size; | |
368 | + LVITEMA* pmLVItem; | |
369 | + LVITEMW wLVItem; | |
370 | + LVFINDINFOA* pmLVFindInfo; | |
371 | + LVFINDINFOW wLVFindInfo; | |
372 | + LVCOLUMNA* pmLVColumn; | |
373 | + LVCOLUMNW wLVColumn; | |
374 | + wchar_t ClassName[MAX_PATH]; | |
375 | +START_ROUTINE | |
376 | + switch(Msg) | |
377 | + { | |
378 | + case WM_SETTEXT: | |
379 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
380 | + r = SendMessageW(hWnd, WM_SETTEXT, wParam, (LPARAM)pw0); | |
381 | + break; | |
382 | + case WM_GETTEXT: | |
383 | + pw0 = AllocateStringW(wParam * 4); | |
384 | + SendMessageW(hWnd, WM_GETTEXT, wParam * 4, (LPARAM)pw0); | |
385 | + WtoM((LPSTR)lParam, wParam, pw0, -1); | |
386 | + r = TerminateStringM((LPSTR)lParam, wParam); | |
387 | + break; | |
388 | + case WM_GETTEXTLENGTH: | |
389 | + Size = SendMessageW(hWnd, WM_GETTEXTLENGTH, 0, 0) + 1; | |
390 | + pw0 = AllocateStringW(Size); | |
391 | + SendMessageW(hWnd, WM_GETTEXT, (WPARAM)Size, (LPARAM)pw0); | |
392 | + r = WtoM(NULL, 0, pw0, -1) - 1; | |
393 | + break; | |
394 | + default: | |
395 | + GetClassNameW(hWnd, ClassName, sizeof(ClassName) / sizeof(wchar_t)); | |
396 | + if(wcsicmp(ClassName, WC_EDITW) == 0) | |
397 | + { | |
398 | + switch(Msg) | |
399 | + { | |
400 | + case EM_REPLACESEL: | |
401 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
402 | + r = SendMessageW(hWnd, EM_REPLACESEL, wParam, (LPARAM)pw0); | |
403 | + break; | |
404 | + default: | |
405 | + r = SendMessageW(hWnd, Msg, wParam, lParam); | |
406 | + break; | |
407 | + } | |
408 | + } | |
409 | + else if(wcsicmp(ClassName, WC_COMBOBOXW) == 0) | |
410 | + { | |
411 | + switch(Msg) | |
412 | + { | |
413 | + case CB_ADDSTRING: | |
414 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
415 | + r = SendMessageW(hWnd, CB_ADDSTRING, wParam, (LPARAM)pw0); | |
416 | + break; | |
417 | + case CB_INSERTSTRING: | |
418 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
419 | + r = SendMessageW(hWnd, CB_INSERTSTRING, wParam, (LPARAM)pw0); | |
420 | + break; | |
421 | + case CB_FINDSTRINGEXACT: | |
422 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
423 | + r = SendMessageW(hWnd, CB_FINDSTRINGEXACT, wParam, (LPARAM)pw0); | |
424 | + break; | |
425 | + default: | |
426 | + r = SendMessageW(hWnd, Msg, wParam, lParam); | |
427 | + break; | |
428 | + } | |
429 | + } | |
430 | + else if(wcsicmp(ClassName, WC_LISTBOXW) == 0) | |
431 | + { | |
432 | + switch(Msg) | |
433 | + { | |
434 | + case LB_ADDSTRING: | |
435 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
436 | + r = SendMessageW(hWnd, LB_ADDSTRING, wParam, (LPARAM)pw0); | |
437 | + break; | |
438 | + case LB_INSERTSTRING: | |
439 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
440 | + r = SendMessageW(hWnd, LB_INSERTSTRING, wParam, (LPARAM)pw0); | |
441 | + break; | |
442 | + case LB_GETTEXT: | |
443 | + Size = SendMessageW(hWnd, LB_GETTEXTLEN, wParam, 0) + 1; | |
444 | + pw0 = AllocateStringW(Size * 4); | |
445 | + SendMessageW(hWnd, LB_GETTEXT, wParam, (LPARAM)pw0); | |
446 | + // バッファ長不明のためオーバーランの可能性あり | |
447 | + WtoM((LPSTR)lParam, Size * 4, pw0, -1); | |
448 | + r = TerminateStringM((LPSTR)lParam, Size * 4); | |
449 | + break; | |
450 | + default: | |
451 | + r = SendMessageW(hWnd, Msg, wParam, lParam); | |
452 | + break; | |
453 | + } | |
454 | + } | |
455 | + else if(wcsicmp(ClassName, WC_LISTVIEWW) == 0) | |
456 | + { | |
457 | + switch(Msg) | |
458 | + { | |
459 | + case LVM_GETITEMA: | |
460 | + pmLVItem = (LVITEMA*)lParam; | |
461 | + wLVItem.mask = pmLVItem->mask; | |
462 | + wLVItem.iItem = pmLVItem->iItem; | |
463 | + wLVItem.iSubItem = pmLVItem->iSubItem; | |
464 | + wLVItem.state = pmLVItem->state; | |
465 | + wLVItem.stateMask = pmLVItem->stateMask; | |
466 | + Size = pmLVItem->cchTextMax * 4; | |
467 | + pw0 = AllocateStringW(Size); | |
468 | + wLVItem.pszText = pw0; | |
469 | + wLVItem.cchTextMax = Size; | |
470 | + wLVItem.iImage = pmLVItem->iImage; | |
471 | + wLVItem.lParam = pmLVItem->lParam; | |
472 | + wLVItem.iIndent = pmLVItem->iIndent; | |
473 | + r = SendMessageW(hWnd, LVM_GETITEMW, wParam, (LPARAM)&wLVItem); | |
474 | + pmLVItem->mask = wLVItem.mask; | |
475 | + pmLVItem->iItem = wLVItem.iItem; | |
476 | + pmLVItem->iSubItem = wLVItem.iSubItem; | |
477 | + pmLVItem->state = wLVItem.state; | |
478 | + pmLVItem->stateMask = wLVItem.stateMask; | |
479 | + WtoM(pmLVItem->pszText, pmLVItem->cchTextMax, wLVItem.pszText, -1); | |
480 | + TerminateStringM(pmLVItem->pszText, pmLVItem->cchTextMax); | |
481 | + pmLVItem->iImage = wLVItem.iImage; | |
482 | + pmLVItem->lParam = wLVItem.lParam; | |
483 | + pmLVItem->iIndent = wLVItem.iIndent; | |
484 | + break; | |
485 | + case LVM_SETITEMA: | |
486 | + pmLVItem = (LVITEMA*)lParam; | |
487 | + wLVItem.mask = pmLVItem->mask; | |
488 | + wLVItem.iItem = pmLVItem->iItem; | |
489 | + wLVItem.iSubItem = pmLVItem->iSubItem; | |
490 | + wLVItem.state = pmLVItem->state; | |
491 | + wLVItem.stateMask = pmLVItem->stateMask; | |
492 | + pw0 = DuplicateMtoW(pmLVItem->pszText, -1); | |
493 | + wLVItem.pszText = pw0; | |
494 | + // TODO: cchTextMaxの確認 | |
495 | + wLVItem.cchTextMax = pmLVItem->cchTextMax; | |
496 | + wLVItem.iImage = pmLVItem->iImage; | |
497 | + wLVItem.lParam = pmLVItem->lParam; | |
498 | + wLVItem.iIndent = pmLVItem->iIndent; | |
499 | + r = SendMessageW(hWnd, LVM_SETITEMW, wParam, (LPARAM)&wLVItem); | |
500 | + break; | |
501 | + case LVM_INSERTITEMA: | |
502 | + pmLVItem = (LVITEMA*)lParam; | |
503 | + wLVItem.mask = pmLVItem->mask; | |
504 | + wLVItem.iItem = pmLVItem->iItem; | |
505 | + wLVItem.iSubItem = pmLVItem->iSubItem; | |
506 | + wLVItem.state = pmLVItem->state; | |
507 | + wLVItem.stateMask = pmLVItem->stateMask; | |
508 | + pw0 = DuplicateMtoW(pmLVItem->pszText, -1); | |
509 | + wLVItem.pszText = pw0; | |
510 | + // TODO: cchTextMaxの確認 | |
511 | + wLVItem.cchTextMax = pmLVItem->cchTextMax; | |
512 | + wLVItem.iImage = pmLVItem->iImage; | |
513 | + wLVItem.lParam = pmLVItem->lParam; | |
514 | + wLVItem.iIndent = pmLVItem->iIndent; | |
515 | + r = SendMessageW(hWnd, LVM_INSERTITEMW, wParam, (LPARAM)&wLVItem); | |
516 | + break; | |
517 | + case LVM_FINDITEMA: | |
518 | + pmLVFindInfo = (LVFINDINFOA*)lParam; | |
519 | + wLVFindInfo.flags = pmLVFindInfo->flags; | |
520 | + pw0 = DuplicateMtoW(pmLVFindInfo->psz, -1); | |
521 | + wLVFindInfo.psz = pw0; | |
522 | + wLVFindInfo.lParam = pmLVFindInfo->lParam; | |
523 | + wLVFindInfo.pt = pmLVFindInfo->pt; | |
524 | + wLVFindInfo.vkDirection = pmLVFindInfo->vkDirection; | |
525 | + r = SendMessageW(hWnd, LVM_FINDITEMW, wParam, (LPARAM)&wLVItem); | |
526 | + break; | |
527 | + case LVM_INSERTCOLUMNA: | |
528 | + pmLVColumn = (LVCOLUMNA*)lParam; | |
529 | + wLVColumn.mask = pmLVColumn->mask; | |
530 | + wLVColumn.fmt = pmLVColumn->fmt; | |
531 | + wLVColumn.cx = pmLVColumn->cx; | |
532 | + pw0 = DuplicateMtoW(pmLVColumn->pszText, -1); | |
533 | + wLVColumn.pszText = pw0; | |
534 | + wLVColumn.cchTextMax = pmLVColumn->cchTextMax; | |
535 | + wLVColumn.iSubItem = pmLVColumn->iSubItem; | |
536 | + wLVColumn.iImage = pmLVColumn->iImage; | |
537 | + wLVColumn.iOrder = pmLVColumn->iOrder; | |
538 | + r = SendMessageW(hWnd, LVM_INSERTCOLUMNW, wParam, (LPARAM)&wLVColumn); | |
539 | + break; | |
540 | + case LVM_GETITEMTEXTA: | |
541 | + pmLVItem = (LVITEMA*)lParam; | |
542 | + wLVItem.mask = pmLVItem->mask; | |
543 | + wLVItem.iItem = pmLVItem->iItem; | |
544 | + wLVItem.iSubItem = pmLVItem->iSubItem; | |
545 | + wLVItem.state = pmLVItem->state; | |
546 | + wLVItem.stateMask = pmLVItem->stateMask; | |
547 | + Size = pmLVItem->cchTextMax * 4; | |
548 | + pw0 = AllocateStringW(Size); | |
549 | + wLVItem.pszText = pw0; | |
550 | + wLVItem.cchTextMax = Size; | |
551 | + wLVItem.iImage = pmLVItem->iImage; | |
552 | + wLVItem.lParam = pmLVItem->lParam; | |
553 | + wLVItem.iIndent = pmLVItem->iIndent; | |
554 | + r = SendMessageW(hWnd, LVM_GETITEMTEXTW, wParam, (LPARAM)&wLVItem); | |
555 | + pmLVItem->mask = wLVItem.mask; | |
556 | + pmLVItem->iItem = wLVItem.iItem; | |
557 | + pmLVItem->iSubItem = wLVItem.iSubItem; | |
558 | + pmLVItem->state = wLVItem.state; | |
559 | + pmLVItem->stateMask = wLVItem.stateMask; | |
560 | + WtoM(pmLVItem->pszText, pmLVItem->cchTextMax, wLVItem.pszText, -1); | |
561 | + TerminateStringM(pmLVItem->pszText, pmLVItem->cchTextMax); | |
562 | + pmLVItem->iImage = wLVItem.iImage; | |
563 | + pmLVItem->lParam = wLVItem.lParam; | |
564 | + pmLVItem->iIndent = wLVItem.iIndent; | |
565 | + break; | |
566 | + default: | |
567 | + r = SendMessageW(hWnd, Msg, wParam, lParam); | |
568 | + break; | |
569 | + } | |
570 | + } | |
571 | + else if(wcsicmp(ClassName, STATUSCLASSNAMEW) == 0) | |
572 | + { | |
573 | + switch(Msg) | |
574 | + { | |
575 | + case SB_SETTEXTA: | |
576 | + pw0 = DuplicateMtoW((LPCSTR)lParam, -1); | |
577 | + r = SendMessageW(hWnd, SB_SETTEXTW, wParam, (LPARAM)pw0); | |
578 | + break; | |
579 | + default: | |
580 | + r = SendMessageW(hWnd, Msg, wParam, lParam); | |
581 | + break; | |
582 | + } | |
583 | + } | |
584 | + else | |
585 | + r = SendMessageW(hWnd, Msg, wParam, lParam); | |
586 | + break; | |
587 | + } | |
588 | +END_ROUTINE | |
589 | + FreeDuplicatedString(pw0); | |
590 | + FreeDuplicatedString(pw1); | |
591 | + return r; | |
592 | +} | |
593 | + | |
594 | +LRESULT SendDlgItemMessageM(HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam) | |
595 | +{ | |
596 | + LRESULT r = 0; | |
597 | +START_ROUTINE | |
598 | + r = SendMessageM(GetDlgItem(hDlg, nIDDlgItem), Msg, wParam, lParam); | |
599 | +END_ROUTINE | |
600 | + return r; | |
601 | +} | |
602 | + | |
603 | +BOOL SetWindowTextM(HWND hWnd, LPCSTR lpString) | |
604 | +{ | |
605 | + BOOL r = FALSE; | |
606 | + wchar_t* pw0 = NULL; | |
607 | +START_ROUTINE | |
608 | + pw0 = DuplicateMtoW(lpString, -1); | |
609 | + r = SetWindowTextW(hWnd, pw0); | |
610 | +END_ROUTINE | |
611 | + FreeDuplicatedString(pw0); | |
612 | + return r; | |
613 | +} | |
614 | + | |
615 | +UINT DragQueryFileM(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch) | |
616 | +{ | |
617 | + UINT r = 0; | |
618 | + wchar_t* pw0 = NULL; | |
619 | +START_ROUTINE | |
620 | + pw0 = AllocateStringW(cch * 4); | |
621 | + DragQueryFileW(hDrop, iFile, pw0, cch * 4); | |
622 | + WtoM(lpszFile, cch, pw0, -1); | |
623 | + r = TerminateStringM(lpszFile, cch); | |
624 | +END_ROUTINE | |
625 | + FreeDuplicatedString(pw0); | |
626 | + return r; | |
627 | +} | |
628 | + | |
629 | +DWORD GetCurrentDirectoryM(DWORD nBufferLength, LPSTR lpBuffer) | |
630 | +{ | |
631 | + DWORD r = 0; | |
632 | + wchar_t* pw0 = NULL; | |
633 | +START_ROUTINE | |
634 | + pw0 = AllocateStringW(nBufferLength * 4); | |
635 | + GetCurrentDirectoryW(nBufferLength * 4, pw0); | |
636 | + WtoM(lpBuffer, nBufferLength, pw0, -1); | |
637 | + r = TerminateStringM(lpBuffer, nBufferLength); | |
638 | +END_ROUTINE | |
639 | + FreeDuplicatedString(pw0); | |
640 | + return r; | |
641 | +} | |
642 | + | |
643 | +BOOL SetCurrentDirectoryM(LPCSTR lpPathName) | |
644 | +{ | |
645 | + BOOL r = FALSE; | |
646 | + wchar_t* pw0 = NULL; | |
647 | +START_ROUTINE | |
648 | + pw0 = DuplicateMtoW(lpPathName, -1); | |
649 | + r = SetCurrentDirectoryW(pw0); | |
650 | +END_ROUTINE | |
651 | + FreeDuplicatedString(pw0); | |
652 | + return r; | |
653 | +} | |
654 | + | |
655 | +BOOL SetDllDirectoryM(LPCSTR lpPathName) | |
656 | +{ | |
657 | + BOOL r = FALSE; | |
658 | + wchar_t* pw0 = NULL; | |
659 | +START_ROUTINE | |
660 | + pw0 = DuplicateMtoW(lpPathName, -1); | |
661 | + r = SetDllDirectoryW(pw0); | |
662 | +END_ROUTINE | |
663 | + FreeDuplicatedString(pw0); | |
664 | + return r; | |
665 | +} | |
666 | + | |
667 | +DWORD GetFileAttributesM(LPCSTR lpFileName) | |
668 | +{ | |
669 | + DWORD r = FALSE; | |
670 | + wchar_t* pw0 = NULL; | |
671 | +START_ROUTINE | |
672 | + pw0 = DuplicateMtoW(lpFileName, -1); | |
673 | + r = GetFileAttributesW(pw0); | |
674 | +END_ROUTINE | |
675 | + FreeDuplicatedString(pw0); | |
676 | + return r; | |
677 | +} | |
678 | + | |
679 | +DWORD GetModuleFileNameM(HMODULE hModule, LPCH lpFilename, DWORD nSize) | |
680 | +{ | |
681 | + DWORD r = 0; | |
682 | + wchar_t* pw0 = NULL; | |
683 | +START_ROUTINE | |
684 | + pw0 = AllocateStringW(nSize * 4); | |
685 | + GetModuleFileNameW(hModule, pw0, nSize * 4); | |
686 | + WtoM(lpFilename, nSize, pw0, -1); | |
687 | + r = TerminateStringM(lpFilename, nSize); | |
688 | +END_ROUTINE | |
689 | + FreeDuplicatedString(pw0); | |
690 | + return r; | |
691 | +} | |
692 | + | |
693 | +LSTATUS RegOpenKeyExM(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult) | |
694 | +{ | |
695 | + LSTATUS r = 0; | |
696 | + wchar_t* pw0 = NULL; | |
697 | +START_ROUTINE | |
698 | + pw0 = DuplicateMtoW(lpSubKey, -1); | |
699 | + r = RegOpenKeyExW(hKey, pw0, ulOptions, samDesired, phkResult); | |
700 | +END_ROUTINE | |
701 | + FreeDuplicatedString(pw0); | |
702 | + return r; | |
703 | +} | |
704 | + | |
705 | +LSTATUS RegCreateKeyExM(HKEY hKey, LPCSTR lpSubKey, DWORD Reserved, LPSTR lpClass, DWORD dwOptions, REGSAM samDesired, CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition) | |
706 | +{ | |
707 | + LSTATUS r = 0; | |
708 | + wchar_t* pw0 = NULL; | |
709 | + wchar_t* pw1 = NULL; | |
710 | +START_ROUTINE | |
711 | + pw0 = DuplicateMtoW(lpSubKey, -1); | |
712 | + pw1 = DuplicateMtoW(lpClass, -1); | |
713 | + r = RegCreateKeyExW(hKey, pw0, Reserved, pw1, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition); | |
714 | +END_ROUTINE | |
715 | + FreeDuplicatedString(pw0); | |
716 | + FreeDuplicatedString(pw1); | |
717 | + return r; | |
718 | +} | |
719 | + | |
720 | +LSTATUS RegDeleteValueM(HKEY hKey, LPCSTR lpValueName) | |
721 | +{ | |
722 | + LSTATUS r = 0; | |
723 | + wchar_t* pw0 = NULL; | |
724 | +START_ROUTINE | |
725 | + pw0 = DuplicateMtoW(lpValueName, -1); | |
726 | + r = RegDeleteValueW(hKey, pw0); | |
727 | +END_ROUTINE | |
728 | + FreeDuplicatedString(pw0); | |
729 | + return r; | |
730 | +} | |
731 | + | |
732 | +LSTATUS RegQueryValueExM(HKEY hKey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData) | |
733 | +{ | |
734 | + LSTATUS r = 0; | |
735 | + wchar_t* pw0 = NULL; | |
736 | +START_ROUTINE | |
737 | + pw0 = DuplicateMtoW(lpValueName, -1); | |
738 | + // TODO: レジストリはUTF-8で保存されてしまう(以前のバージョンと互換性なし) | |
739 | + // UTF-16で保存するべき | |
740 | + r = RegQueryValueExW(hKey, pw0, lpReserved, lpType, lpData, lpcbData); | |
741 | +END_ROUTINE | |
742 | + FreeDuplicatedString(pw0); | |
743 | + return r; | |
744 | +} | |
745 | + | |
746 | +LSTATUS RegSetValueExM(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE* lpData, DWORD cbData) | |
747 | +{ | |
748 | + LSTATUS r = 0; | |
749 | + wchar_t* pw0 = NULL; | |
750 | +START_ROUTINE | |
751 | + pw0 = DuplicateMtoW(lpValueName, -1); | |
752 | + // TODO: レジストリはUTF-8で保存されてしまう(以前のバージョンと互換性なし) | |
753 | + // UTF-16で保存するべき | |
754 | + r = RegSetValueExW(hKey, pw0, Reserved, dwType, lpData, cbData); | |
755 | +END_ROUTINE | |
756 | + FreeDuplicatedString(pw0); | |
757 | + return r; | |
758 | +} | |
759 | + | |
760 | +BOOL TextOutM(HDC hdc, int x, int y, LPCSTR lpString, int c) | |
761 | +{ | |
762 | + BOOL r = FALSE; | |
763 | + wchar_t* pw0 = NULL; | |
764 | +START_ROUTINE | |
765 | + pw0 = DuplicateMtoW(lpString, c); | |
766 | + r = TextOutW(hdc, x, y, pw0, wcslen(pw0)); | |
767 | +END_ROUTINE | |
768 | + FreeDuplicatedString(pw0); | |
769 | + return r; | |
770 | +} | |
771 | + | |
772 | +BOOL GetTextExtentPoint32M(HDC hdc, LPCSTR lpString, int c, LPSIZE psizl) | |
773 | +{ | |
774 | + BOOL r = FALSE; | |
775 | + wchar_t* pw0 = NULL; | |
776 | +START_ROUTINE | |
777 | + pw0 = DuplicateMtoW(lpString, c); | |
778 | + r = GetTextExtentPoint32W(hdc, pw0, wcslen(pw0), psizl); | |
779 | +END_ROUTINE | |
780 | + FreeDuplicatedString(pw0); | |
781 | + return r; | |
782 | +} | |
783 | + | |
784 | +INT_PTR PropertySheetM(LPCPROPSHEETHEADERA v0) | |
785 | +{ | |
786 | + INT_PTR r = 0; | |
787 | + PROPSHEETHEADERW a0; | |
788 | + PROPSHEETPAGEW* pwPage; | |
789 | + UINT i; | |
790 | +START_ROUTINE | |
791 | + a0.dwSize = sizeof(PROPSHEETHEADERW); | |
792 | + a0.dwFlags = v0->dwFlags; | |
793 | + a0.hwndParent = v0->hwndParent; | |
794 | + a0.hInstance = v0->hInstance; | |
795 | + if(v0->dwFlags & PSH_USEICONID) | |
796 | + a0.pszIcon = DuplicateMtoW(v0->pszIcon, -1); | |
797 | + else | |
798 | + a0.hIcon = v0->hIcon; | |
799 | + a0.pszCaption = DuplicateMtoW(v0->pszCaption, -1); | |
800 | + a0.nPages = v0->nPages; | |
801 | + a0.pStartPage = DuplicateMtoW(v0->pStartPage, -1); | |
802 | + if(v0->ppsp && (pwPage = (PROPSHEETPAGEW*)malloc(sizeof(PROPSHEETPAGEW) * v0->nPages))) | |
803 | + { | |
804 | + for(i = 0; i < v0->nPages; i++) | |
805 | + { | |
806 | + pwPage[i].dwSize = sizeof(PROPSHEETPAGEW); | |
807 | + pwPage[i].dwFlags = v0->ppsp[i].dwFlags; | |
808 | + pwPage[i].hInstance = v0->ppsp[i].hInstance; | |
809 | + pwPage[i].pszTemplate = DuplicateMtoW(v0->ppsp[i].pszTemplate, -1); | |
810 | + if(v0->ppsp[i].dwFlags & PSP_USEICONID) | |
811 | + pwPage[i].pszIcon = DuplicateMtoW(v0->ppsp[i].pszIcon, -1); | |
812 | + else | |
813 | + pwPage[i].hIcon = v0->ppsp[i].hIcon; | |
814 | + if(v0->ppsp[i].dwFlags & PSP_USETITLE) | |
815 | + pwPage[i].pszTitle = DuplicateMtoW(v0->ppsp[i].pszTitle, -1); | |
816 | + pwPage[i].pfnDlgProc = v0->ppsp[i].pfnDlgProc; | |
817 | + pwPage[i].lParam = v0->ppsp[i].lParam; | |
818 | + // TODO: pfnCallback | |
819 | + pwPage[i].pfnCallback = v0->ppsp[i].pfnCallback; | |
820 | + pwPage[i].pcRefParent = v0->ppsp[i].pcRefParent; | |
821 | +// pwPage[i].pszHeaderTitle = DuplicateMtoW(v0->ppsp[i].pszHeaderTitle, -1); | |
822 | +// pwPage[i].pszHeaderSubTitle = DuplicateMtoW(v0->ppsp[i].pszHeaderSubTitle, -1); | |
823 | + pwPage[i].hActCtx = v0->ppsp[i].hActCtx; | |
824 | +// pwPage[i].pszbmHeader = DuplicateMtoW(v0->ppsp[i].pszbmHeader, -1); | |
825 | + } | |
826 | + } | |
827 | + else | |
828 | + pwPage = NULL; | |
829 | + a0.ppsp = pwPage; | |
830 | + a0.pfnCallback = v0->pfnCallback; | |
831 | + r = PropertySheetW(&a0); | |
832 | + if(a0.dwFlags & PSH_USEICONID) | |
833 | + FreeDuplicatedString(a0.pszIcon); | |
834 | + FreeDuplicatedString(a0.pszCaption); | |
835 | + FreeDuplicatedString(a0.pStartPage); | |
836 | + if(pwPage) | |
837 | + { | |
838 | + for(i = 0; i < v0->nPages; i++) | |
839 | + { | |
840 | + FreeDuplicatedString(pwPage[i].pszTemplate); | |
841 | + if(pwPage[i].dwFlags & PSP_USEICONID) | |
842 | + FreeDuplicatedString(pwPage[i].pszIcon); | |
843 | + if(pwPage[i].dwFlags & PSP_USETITLE) | |
844 | + FreeDuplicatedString(pwPage[i].pszTitle); | |
845 | +// FreeDuplicatedString(pwPage[i].pszHeaderTitle); | |
846 | +// FreeDuplicatedString(pwPage[i].pszHeaderSubTitle); | |
847 | +// FreeDuplicatedString(pwPage[i].pszbmHeader); | |
848 | + } | |
849 | + free(pwPage); | |
850 | + } | |
851 | +END_ROUTINE | |
852 | + return r; | |
853 | +} | |
854 | + | |
855 | +BOOL GetOpenFileNameM(LPOPENFILENAMEA v0) | |
856 | +{ | |
857 | + BOOL r = FALSE; | |
858 | + wchar_t* pw0 = NULL; | |
859 | + wchar_t* pw1 = NULL; | |
860 | + wchar_t* pw2 = NULL; | |
861 | + wchar_t* pw3 = NULL; | |
862 | + wchar_t* pw4 = NULL; | |
863 | + wchar_t* pw5 = NULL; | |
864 | + wchar_t* pw6 = NULL; | |
865 | + wchar_t* pw7 = NULL; | |
866 | + wchar_t* pw8 = NULL; | |
867 | + wchar_t* pw9 = NULL; | |
868 | + OPENFILENAMEW wofn; | |
869 | +START_ROUTINE | |
870 | + wofn.lStructSize = sizeof(OPENFILENAMEW); | |
871 | + wofn.hwndOwner = v0->hwndOwner; | |
872 | + wofn.hInstance = v0->hInstance; | |
873 | + pw0 = DuplicateMtoWMultiString(v0->lpstrFilter); | |
874 | + wofn.lpstrFilter = pw0; | |
875 | + pw1 = DuplicateMtoWBuffer(v0->lpstrCustomFilter, -1, v0->nMaxCustFilter * 4); | |
876 | + wofn.lpstrCustomFilter = pw1; | |
877 | + wofn.nMaxCustFilter = v0->nMaxCustFilter * 4; | |
878 | + wofn.nFilterIndex = v0->nFilterIndex; | |
879 | + pw2 = DuplicateMtoWMultiStringBuffer(v0->lpstrFile, v0->nMaxFile * 4); | |
880 | + wofn.lpstrFile = pw2; | |
881 | + wofn.nMaxFile = v0->nMaxFile * 4; | |
882 | + pw3 = DuplicateMtoWBuffer(v0->lpstrFileTitle, -1, v0->nMaxFileTitle * 4); | |
883 | + wofn.lpstrFileTitle = pw3; | |
884 | + wofn.nMaxFileTitle = v0->nMaxFileTitle * 4; | |
885 | + pw4 = DuplicateMtoW(v0->lpstrInitialDir, -1); | |
886 | + wofn.lpstrInitialDir = pw4; | |
887 | + pw5 = DuplicateMtoW(v0->lpstrTitle, -1); | |
888 | + wofn.lpstrTitle = pw5; | |
889 | + wofn.Flags = v0->Flags; | |
890 | + wofn.nFileOffset = MtoW(NULL, 0, v0->lpstrFile, v0->nFileOffset); | |
891 | + wofn.nFileExtension = MtoW(NULL, 0, v0->lpstrFile, v0->nFileExtension); | |
892 | + pw6 = DuplicateMtoW(v0->lpstrDefExt, -1); | |
893 | + wofn.lpstrDefExt = pw6; | |
894 | + wofn.lCustData = v0->lCustData; | |
895 | + wofn.lpfnHook = v0->lpfnHook; | |
896 | + wofn.lpTemplateName = DuplicateMtoW(v0->lpTemplateName, -1); | |
897 | + wofn.pvReserved = v0->pvReserved; | |
898 | + wofn.FlagsEx = v0->FlagsEx; | |
899 | + r = GetOpenFileNameW(&wofn); | |
900 | + WtoM(v0->lpstrFile, v0->nMaxFile, wofn.lpstrFile, -1); | |
901 | + TerminateStringM(v0->lpstrFile, v0->nMaxFile); | |
902 | + v0->nFileOffset = WtoM(NULL, 0, wofn.lpstrFile, wofn.nFileOffset); | |
903 | + v0->nFileExtension = WtoM(NULL, 0, wofn.lpstrFile, wofn.nFileExtension); | |
904 | +END_ROUTINE | |
905 | + FreeDuplicatedString(pw0); | |
906 | + FreeDuplicatedString(pw1); | |
907 | + FreeDuplicatedString(pw2); | |
908 | + FreeDuplicatedString(pw3); | |
909 | + FreeDuplicatedString(pw4); | |
910 | + FreeDuplicatedString(pw5); | |
911 | + FreeDuplicatedString(pw6); | |
912 | + return r; | |
913 | +} | |
914 | + | |
915 | +BOOL GetSaveFileNameM(LPOPENFILENAMEA v0) | |
916 | +{ | |
917 | + BOOL r = FALSE; | |
918 | + wchar_t* pw0 = NULL; | |
919 | + wchar_t* pw1 = NULL; | |
920 | + wchar_t* pw2 = NULL; | |
921 | + wchar_t* pw3 = NULL; | |
922 | + wchar_t* pw4 = NULL; | |
923 | + wchar_t* pw5 = NULL; | |
924 | + wchar_t* pw6 = NULL; | |
925 | + wchar_t* pw7 = NULL; | |
926 | + wchar_t* pw8 = NULL; | |
927 | + wchar_t* pw9 = NULL; | |
928 | + OPENFILENAMEW wofn; | |
929 | +START_ROUTINE | |
930 | + wofn.lStructSize = sizeof(OPENFILENAMEW); | |
931 | + wofn.hwndOwner = v0->hwndOwner; | |
932 | + wofn.hInstance = v0->hInstance; | |
933 | + pw0 = DuplicateMtoWMultiString(v0->lpstrFilter); | |
934 | + wofn.lpstrFilter = pw0; | |
935 | + pw1 = DuplicateMtoWBuffer(v0->lpstrCustomFilter, -1, v0->nMaxCustFilter * 4); | |
936 | + wofn.lpstrCustomFilter = pw1; | |
937 | + wofn.nMaxCustFilter = v0->nMaxCustFilter * 4; | |
938 | + wofn.nFilterIndex = v0->nFilterIndex; | |
939 | + pw2 = DuplicateMtoWMultiStringBuffer(v0->lpstrFile, v0->nMaxFile * 4); | |
940 | + wofn.lpstrFile = pw2; | |
941 | + wofn.nMaxFile = v0->nMaxFile * 4; | |
942 | + pw3 = DuplicateMtoWBuffer(v0->lpstrFileTitle, -1, v0->nMaxFileTitle * 4); | |
943 | + wofn.lpstrFileTitle = pw3; | |
944 | + wofn.nMaxFileTitle = v0->nMaxFileTitle * 4; | |
945 | + pw4 = DuplicateMtoW(v0->lpstrInitialDir, -1); | |
946 | + wofn.lpstrInitialDir = pw4; | |
947 | + pw5 = DuplicateMtoW(v0->lpstrTitle, -1); | |
948 | + wofn.lpstrTitle = pw5; | |
949 | + wofn.Flags = v0->Flags; | |
950 | + wofn.nFileOffset = MtoW(NULL, 0, v0->lpstrFile, v0->nFileOffset); | |
951 | + wofn.nFileExtension = MtoW(NULL, 0, v0->lpstrFile, v0->nFileExtension); | |
952 | + pw6 = DuplicateMtoW(v0->lpstrDefExt, -1); | |
953 | + wofn.lpstrDefExt = pw6; | |
954 | + wofn.lCustData = v0->lCustData; | |
955 | + wofn.lpfnHook = v0->lpfnHook; | |
956 | + wofn.lpTemplateName = DuplicateMtoW(v0->lpTemplateName, -1); | |
957 | + wofn.pvReserved = v0->pvReserved; | |
958 | + wofn.FlagsEx = v0->FlagsEx; | |
959 | + r = GetSaveFileNameW(&wofn); | |
960 | + WtoM(v0->lpstrFile, v0->nMaxFile, wofn.lpstrFile, -1); | |
961 | + TerminateStringM(v0->lpstrFile, v0->nMaxFile); | |
962 | + v0->nFileOffset = WtoM(NULL, 0, wofn.lpstrFile, wofn.nFileOffset); | |
963 | + v0->nFileExtension = WtoM(NULL, 0, wofn.lpstrFile, wofn.nFileExtension); | |
964 | +END_ROUTINE | |
965 | + FreeDuplicatedString(pw0); | |
966 | + FreeDuplicatedString(pw1); | |
967 | + FreeDuplicatedString(pw2); | |
968 | + FreeDuplicatedString(pw3); | |
969 | + FreeDuplicatedString(pw4); | |
970 | + FreeDuplicatedString(pw5); | |
971 | + FreeDuplicatedString(pw6); | |
972 | + return r; | |
973 | +} | |
974 | + | |
975 | +HWND HtmlHelpM(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD_PTR dwData) | |
976 | +{ | |
977 | + HINSTANCE r = NULL; | |
978 | + wchar_t* pw0 = NULL; | |
979 | +START_ROUTINE | |
980 | + pw0 = DuplicateMtoW(pszFile, -1); | |
981 | + r = HtmlHelpW(hwndCaller, pw0, uCommand, dwData); | |
982 | +END_ROUTINE | |
983 | + FreeDuplicatedString(pw0); | |
984 | + return r; | |
985 | +} | |
986 | + | |
987 | +HINSTANCE ShellExecuteM(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd) | |
988 | +{ | |
989 | + HINSTANCE r = NULL; | |
990 | + wchar_t* pw0 = NULL; | |
991 | + wchar_t* pw1 = NULL; | |
992 | + wchar_t* pw2 = NULL; | |
993 | + wchar_t* pw3 = NULL; | |
994 | +START_ROUTINE | |
995 | + pw0 = DuplicateMtoW(lpOperation, -1); | |
996 | + pw1 = DuplicateMtoW(lpFile, -1); | |
997 | + pw2 = DuplicateMtoW(lpParameters, -1); | |
998 | + pw3 = DuplicateMtoW(lpDirectory, -1); | |
999 | + r = ShellExecuteW(hwnd, pw0, pw1, pw2, pw3, nShowCmd); | |
1000 | +END_ROUTINE | |
1001 | + FreeDuplicatedString(pw0); | |
1002 | + FreeDuplicatedString(pw1); | |
1003 | + FreeDuplicatedString(pw2); | |
1004 | + FreeDuplicatedString(pw3); | |
1005 | + return r; | |
1006 | +} | |
1007 | + | |
1008 | +PIDLIST_ABSOLUTE SHBrowseForFolderM(LPBROWSEINFOA lpbi) | |
1009 | +{ | |
1010 | + PIDLIST_ABSOLUTE r = NULL; | |
1011 | + wchar_t* pw0 = NULL; | |
1012 | + wchar_t* pw1 = NULL; | |
1013 | + BROWSEINFOW wbi; | |
1014 | +START_ROUTINE | |
1015 | + wbi.hwndOwner = lpbi->hwndOwner; | |
1016 | + wbi.pidlRoot = lpbi->pidlRoot; | |
1017 | + pw0 = DuplicateMtoWBuffer(lpbi->pszDisplayName, -1, MAX_PATH * 4); | |
1018 | + wbi.pszDisplayName = pw0; | |
1019 | + pw1 = DuplicateMtoW(lpbi->lpszTitle, -1); | |
1020 | + wbi.lpszTitle = pw1; | |
1021 | + wbi.ulFlags = lpbi->ulFlags; | |
1022 | + // TODO: lpfn | |
1023 | + wbi.lpfn = lpbi->lpfn; | |
1024 | + wbi.lParam = lpbi->lParam; | |
1025 | + wbi.iImage = lpbi->iImage; | |
1026 | + r = SHBrowseForFolderW(&wbi); | |
1027 | + // バッファ長不明のためオーバーランの可能性あり | |
1028 | + WtoM(lpbi->pszDisplayName, MAX_PATH, wbi.pszDisplayName, -1); | |
1029 | + lpbi->iImage = wbi.iImage; | |
1030 | +END_ROUTINE | |
1031 | + FreeDuplicatedString(pw0); | |
1032 | + FreeDuplicatedString(pw1); | |
1033 | + return r; | |
1034 | +} | |
1035 | + | |
1036 | +BOOL SHGetPathFromIDListM(PCIDLIST_ABSOLUTE pidl, LPSTR pszPath) | |
1037 | +{ | |
1038 | + BOOL r = FALSE; | |
1039 | + wchar_t* pw0 = NULL; | |
1040 | +START_ROUTINE | |
1041 | + pw0 = AllocateStringW(MAX_PATH * 4); | |
1042 | + r = SHGetPathFromIDListW(pidl, pw0); | |
1043 | + // バッファ長不明のためオーバーランの可能性あり | |
1044 | + WtoM(pszPath, MAX_PATH, pw0, -1); | |
1045 | + TerminateStringM(pszPath, MAX_PATH); | |
1046 | +END_ROUTINE | |
1047 | + FreeDuplicatedString(pw0); | |
1048 | + return r; | |
1049 | +} | |
1050 | + | |
1051 | +int SHFileOperationM(LPSHFILEOPSTRUCTA lpFileOp) | |
1052 | +{ | |
1053 | + int r = 0; | |
1054 | + wchar_t* pw0 = NULL; | |
1055 | + wchar_t* pw1 = NULL; | |
1056 | + wchar_t* pw2 = NULL; | |
1057 | + SHFILEOPSTRUCTW wFileOp; | |
1058 | +START_ROUTINE | |
1059 | + wFileOp.hwnd = lpFileOp->hwnd; | |
1060 | + wFileOp.wFunc = lpFileOp->wFunc; | |
1061 | + pw0 = DuplicateMtoWMultiString(lpFileOp->pFrom); | |
1062 | + wFileOp.pFrom = pw0; | |
1063 | + pw1 = DuplicateMtoWMultiString(lpFileOp->pTo); | |
1064 | + wFileOp.pTo = pw1; | |
1065 | + wFileOp.fFlags = lpFileOp->fFlags; | |
1066 | + wFileOp.fAnyOperationsAborted = lpFileOp->fAnyOperationsAborted; | |
1067 | + wFileOp.hNameMappings = lpFileOp->hNameMappings; | |
1068 | + pw2 = DuplicateMtoW(lpFileOp->lpszProgressTitle, -1); | |
1069 | + r = SHFileOperationW(&wFileOp); | |
1070 | + lpFileOp->fAnyOperationsAborted = wFileOp.fAnyOperationsAborted; | |
1071 | +END_ROUTINE | |
1072 | + FreeDuplicatedString(pw0); | |
1073 | + FreeDuplicatedString(pw1); | |
1074 | + FreeDuplicatedString(pw2); | |
1075 | + return r; | |
1076 | +} | |
1077 | + | |
1078 | +BOOL AppendMenuM(HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem) | |
1079 | +{ | |
1080 | + int r = 0; | |
1081 | + wchar_t* pw0 = NULL; | |
1082 | +START_ROUTINE | |
1083 | + if(uFlags & (MF_BITMAP | MF_OWNERDRAW)) | |
1084 | + r = AppendMenuW(hMenu, uFlags, uIDNewItem, (LPCWSTR)lpNewItem); | |
1085 | + else | |
1086 | + { | |
1087 | + pw0 = DuplicateMtoW(lpNewItem, -1); | |
1088 | + r = AppendMenuW(hMenu, uFlags, uIDNewItem, pw0); | |
1089 | + } | |
1090 | +END_ROUTINE | |
1091 | + FreeDuplicatedString(pw0); | |
1092 | + return r; | |
1093 | +} | |
1094 | + | |
1095 | +BOOL GetMenuItemInfoM(HMENU hmenu, UINT item, BOOL fByPosition, LPMENUITEMINFOA lpmii) | |
1096 | +{ | |
1097 | + BOOL r = FALSE; | |
1098 | + wchar_t* pw0 = NULL; | |
1099 | + MENUITEMINFOW wmii; | |
1100 | +START_ROUTINE | |
1101 | + wmii.cbSize = sizeof(MENUITEMINFOW); | |
1102 | + wmii.fMask = lpmii->fMask; | |
1103 | + wmii.fType = lpmii->fType; | |
1104 | + wmii.fState = lpmii->fState; | |
1105 | + wmii.wID = lpmii->wID; | |
1106 | + wmii.hSubMenu = lpmii->hSubMenu; | |
1107 | + wmii.hbmpChecked = lpmii->hbmpChecked; | |
1108 | + wmii.hbmpUnchecked = lpmii->hbmpUnchecked; | |
1109 | + wmii.dwItemData = lpmii->dwItemData; | |
1110 | + pw0 = DuplicateMtoWBuffer(lpmii->dwTypeData, -1, lpmii->cch * 4); | |
1111 | + wmii.dwTypeData = pw0; | |
1112 | + wmii.cch = lpmii->cch * 4; | |
1113 | + r = GetMenuItemInfoW(hmenu, item, fByPosition, &wmii); | |
1114 | + lpmii->fType = wmii.fType; | |
1115 | + lpmii->fState = wmii.fState; | |
1116 | + lpmii->wID = wmii.wID; | |
1117 | + lpmii->hSubMenu = wmii.hSubMenu; | |
1118 | + lpmii->hbmpChecked = wmii.hbmpChecked; | |
1119 | + lpmii->hbmpUnchecked = wmii.hbmpUnchecked; | |
1120 | + lpmii->dwItemData = wmii.dwItemData; | |
1121 | + WtoM(lpmii->dwTypeData, lpmii->cch, wmii.dwTypeData, -1); | |
1122 | + TerminateStringM(lpmii->dwTypeData, lpmii->cch); | |
1123 | +END_ROUTINE | |
1124 | + FreeDuplicatedString(pw0); | |
1125 | + return r; | |
1126 | +} | |
1127 | + | |
1128 | +HFONT CreateFontIndirectM(CONST LOGFONTA *lplf) | |
1129 | +{ | |
1130 | + HFONT r = NULL; | |
1131 | + LOGFONTW wlf; | |
1132 | +START_ROUTINE | |
1133 | + wlf.lfHeight = lplf->lfHeight; | |
1134 | + wlf.lfWidth = lplf->lfWidth; | |
1135 | + wlf.lfEscapement = lplf->lfEscapement; | |
1136 | + wlf.lfOrientation = lplf->lfOrientation; | |
1137 | + wlf.lfWeight = lplf->lfWeight; | |
1138 | + wlf.lfItalic = lplf->lfItalic; | |
1139 | + wlf.lfUnderline = lplf->lfUnderline; | |
1140 | + wlf.lfStrikeOut = lplf->lfStrikeOut; | |
1141 | + wlf.lfCharSet = lplf->lfCharSet; | |
1142 | + wlf.lfOutPrecision = lplf->lfOutPrecision; | |
1143 | + wlf.lfClipPrecision = lplf->lfClipPrecision; | |
1144 | + wlf.lfQuality = lplf->lfQuality; | |
1145 | + wlf.lfPitchAndFamily = lplf->lfPitchAndFamily; | |
1146 | + MtoW(wlf.lfFaceName, LF_FACESIZE, lplf->lfFaceName, -1); | |
1147 | + TerminateStringW(wlf.lfFaceName, LF_FACESIZE); | |
1148 | + r = CreateFontIndirect(&wlf); | |
1149 | +END_ROUTINE | |
1150 | + return r; | |
1151 | +} | |
1152 | + | |
1153 | +BOOL ChooseFontM(LPCHOOSEFONTA v0) | |
1154 | +{ | |
1155 | + BOOL r = FALSE; | |
1156 | + wchar_t* pw0 = NULL; | |
1157 | + CHOOSEFONTW a0; | |
1158 | + LOGFONTW* pwlf; | |
1159 | +START_ROUTINE | |
1160 | + a0.lStructSize = sizeof(CHOOSEFONTW); | |
1161 | + a0.hwndOwner = v0->hwndOwner; | |
1162 | + a0.hDC = v0->hDC; | |
1163 | + if(v0->lpLogFont && (pwlf = (LOGFONTW*)malloc(sizeof(LOGFONTW)))) | |
1164 | + { | |
1165 | + pwlf->lfHeight = v0->lpLogFont->lfHeight; | |
1166 | + pwlf->lfWidth = v0->lpLogFont->lfWidth; | |
1167 | + pwlf->lfEscapement = v0->lpLogFont->lfEscapement; | |
1168 | + pwlf->lfOrientation = v0->lpLogFont->lfOrientation; | |
1169 | + pwlf->lfWeight = v0->lpLogFont->lfWeight; | |
1170 | + pwlf->lfItalic = v0->lpLogFont->lfItalic; | |
1171 | + pwlf->lfUnderline = v0->lpLogFont->lfUnderline; | |
1172 | + pwlf->lfStrikeOut = v0->lpLogFont->lfStrikeOut; | |
1173 | + pwlf->lfCharSet = v0->lpLogFont->lfCharSet; | |
1174 | + pwlf->lfOutPrecision = v0->lpLogFont->lfOutPrecision; | |
1175 | + pwlf->lfClipPrecision = v0->lpLogFont->lfClipPrecision; | |
1176 | + pwlf->lfQuality = v0->lpLogFont->lfQuality; | |
1177 | + pwlf->lfPitchAndFamily = v0->lpLogFont->lfPitchAndFamily; | |
1178 | + MtoW(pwlf->lfFaceName, LF_FACESIZE, v0->lpLogFont->lfFaceName, -1); | |
1179 | + TerminateStringW(pwlf->lfFaceName, LF_FACESIZE); | |
1180 | + } | |
1181 | + else | |
1182 | + pwlf = NULL; | |
1183 | + a0.lpLogFont = pwlf; | |
1184 | + a0.iPointSize = v0->iPointSize; | |
1185 | + a0.Flags = v0->Flags; | |
1186 | + a0.rgbColors = v0->rgbColors; | |
1187 | + a0.lCustData = v0->lCustData; | |
1188 | + a0.lpfnHook = v0->lpfnHook; | |
1189 | + a0.lpTemplateName = DuplicateMtoW(v0->lpTemplateName, -1); | |
1190 | + a0.hInstance = v0->hInstance; | |
1191 | + a0.lpszStyle = DuplicateMtoWBuffer(v0->lpszStyle, -1, LF_FACESIZE * 4); | |
1192 | + a0.nFontType = v0->nFontType; | |
1193 | + a0.nSizeMin = v0->nSizeMin; | |
1194 | + a0.nSizeMax = v0->nSizeMax; | |
1195 | + r = ChooseFontW(&a0); | |
1196 | + if(v0->lpLogFont) | |
1197 | + { | |
1198 | + v0->lpLogFont->lfHeight = pwlf->lfHeight; | |
1199 | + v0->lpLogFont->lfWidth = pwlf->lfWidth; | |
1200 | + v0->lpLogFont->lfEscapement = pwlf->lfEscapement; | |
1201 | + v0->lpLogFont->lfOrientation = pwlf->lfOrientation; | |
1202 | + v0->lpLogFont->lfWeight = pwlf->lfWeight; | |
1203 | + v0->lpLogFont->lfItalic = pwlf->lfItalic; | |
1204 | + v0->lpLogFont->lfUnderline = pwlf->lfUnderline; | |
1205 | + v0->lpLogFont->lfStrikeOut = pwlf->lfStrikeOut; | |
1206 | + v0->lpLogFont->lfCharSet = pwlf->lfCharSet; | |
1207 | + v0->lpLogFont->lfOutPrecision = pwlf->lfOutPrecision; | |
1208 | + v0->lpLogFont->lfClipPrecision = pwlf->lfClipPrecision; | |
1209 | + v0->lpLogFont->lfQuality = pwlf->lfQuality; | |
1210 | + v0->lpLogFont->lfPitchAndFamily = pwlf->lfPitchAndFamily; | |
1211 | + WtoM(v0->lpLogFont->lfFaceName, LF_FACESIZE, pwlf->lfFaceName, -1); | |
1212 | + TerminateStringM(v0->lpLogFont->lfFaceName, LF_FACESIZE); | |
1213 | + } | |
1214 | + v0->rgbColors = a0.rgbColors; | |
1215 | + WtoM(v0->lpszStyle, LF_FACESIZE, a0.lpszStyle, -1); | |
1216 | + TerminateStringM(v0->lpszStyle, LF_FACESIZE); | |
1217 | + v0->nFontType = a0.nFontType; | |
1218 | + if(pwlf) | |
1219 | + free(pwlf); | |
1220 | + FreeDuplicatedString(a0.lpTemplateName); | |
1221 | + FreeDuplicatedString(a0.lpszStyle); | |
1222 | +END_ROUTINE | |
1223 | + FreeDuplicatedString(pw0); | |
1224 | + return r; | |
1225 | +} | |
1226 | + | |
1227 | + | |
1228 | + | |
1229 | + | |
1230 | + | |
1231 | + | |
1232 | + | |
1233 | + |
@@ -0,0 +1,103 @@ | ||
1 | +// mbswrapper.h | |
2 | +// Copyright (C) 2011 Suguru Kawamoto | |
3 | +// マルチバイト文字ワイド文字APIラッパー | |
4 | + | |
5 | +#ifndef __MBSWRAPPER_H__ | |
6 | +#define __MBSWRAPPER_H__ | |
7 | + | |
8 | +#ifndef DO_NOT_REPLACE | |
9 | + | |
10 | +#undef CreateFile | |
11 | +#define CreateFile CreateFileM | |
12 | +#undef MessageBox | |
13 | +#define MessageBox MessageBoxM | |
14 | +#undef FindFirstFile | |
15 | +#define FindFirstFile FindFirstFileM | |
16 | +#undef FindNextFile | |
17 | +#define FindNextFile FindNextFileM | |
18 | +#undef GetLogicalDriveStrings | |
19 | +#define GetLogicalDriveStrings GetLogicalDriveStringsM | |
20 | +#undef CreateWindowEx | |
21 | +#define CreateWindowEx CreateWindowExM | |
22 | +#undef SendMessage | |
23 | +#define SendMessage SendMessageM | |
24 | +#undef SendDlgItemMessage | |
25 | +#define SendDlgItemMessage SendDlgItemMessageM | |
26 | +#undef SetWindowText | |
27 | +#define SetWindowText SetWindowTextM | |
28 | +#undef DragQueryFile | |
29 | +#define DragQueryFile DragQueryFileM | |
30 | +#undef GetCurrentDirectory | |
31 | +#define GetCurrentDirectory GetCurrentDirectoryM | |
32 | +#undef SetCurrentDirectory | |
33 | +#define SetCurrentDirectory SetCurrentDirectoryM | |
34 | +#undef SetDllDirectory | |
35 | +#define SetDllDirectory SetDllDirectoryM | |
36 | +#undef GetFileAttributes | |
37 | +#define GetFileAttributes GetFileAttributesM | |
38 | +#undef GetModuleFileName | |
39 | +#define GetModuleFileName GetModuleFileNameM | |
40 | +#undef RegOpenKeyEx | |
41 | +#define RegOpenKeyEx RegOpenKeyExM | |
42 | +#undef RegCreateKeyEx | |
43 | +#define RegCreateKeyEx RegCreateKeyExM | |
44 | +#undef RegDeleteValue | |
45 | +#define RegDeleteValue RegDeleteValueM | |
46 | +#undef RegQueryValueEx | |
47 | +#define RegQueryValueEx RegQueryValueExM | |
48 | +#undef RegSetValueEx | |
49 | +#define RegSetValueEx RegSetValueExM | |
50 | +#undef TextOut | |
51 | +#define TextOut TextOutM | |
52 | +#undef GetTextExtentPoint32 | |
53 | +#define GetTextExtentPoint32 GetTextExtentPoint32M | |
54 | +#undef PropertySheet | |
55 | +#define PropertySheet PropertySheetM | |
56 | +#undef GetOpenFileName | |
57 | +#define GetOpenFileName GetOpenFileNameM | |
58 | +#undef GetSaveFileName | |
59 | +#define GetSaveFileName GetSaveFileNameM | |
60 | +#undef HtmlHelp | |
61 | +#define HtmlHelp HtmlHelpM | |
62 | +#undef ShellExecute | |
63 | +#define ShellExecute ShellExecuteM | |
64 | +#undef SHBrowseForFolder | |
65 | +#define SHBrowseForFolder SHBrowseForFolderM | |
66 | +#undef SHGetPathFromIDList | |
67 | +#define SHGetPathFromIDList SHGetPathFromIDListM | |
68 | +#undef SHFileOperation | |
69 | +#define SHFileOperation SHFileOperationM | |
70 | +#undef AppendMenu | |
71 | +#define AppendMenu AppendMenuM | |
72 | +#undef GetMenuItemInfo | |
73 | +#define GetMenuItemInfo GetMenuItemInfoM | |
74 | +#undef CreateFontIndirect | |
75 | +#define CreateFontIndirect CreateFontIndirectM | |
76 | +#undef ChooseFont | |
77 | +#define ChooseFont ChooseFontM | |
78 | + | |
79 | +#undef CreateWindow | |
80 | +#define CreateWindow(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) CreateWindowEx(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) | |
81 | + | |
82 | +#endif | |
83 | + | |
84 | +int MtoW(LPWSTR pDst, int size, LPCSTR pSrc, int count); | |
85 | +int WtoM(LPSTR pDst, int size, LPCWSTR pSrc, int count); | |
86 | +int WtoA(LPSTR pDst, int size, LPCWSTR pSrc, int count); | |
87 | +int TerminateStringM(LPSTR lpString, int size); | |
88 | +int TerminateStringW(LPWSTR lpString, int size); | |
89 | +size_t GetMultiStringLengthM(LPCSTR lpString); | |
90 | +size_t GetMultiStringLengthW(LPCWSTR lpString); | |
91 | +char* AllocateStringM(int size); | |
92 | +wchar_t* AllocateStringW(int size); | |
93 | +char* AllocateStringA(int size); | |
94 | +wchar_t* DuplicateMtoW(LPCSTR lpString, int c); | |
95 | +wchar_t* DuplicateMtoWBuffer(LPCSTR lpString, int c, int size); | |
96 | +wchar_t* DuplicateMtoWMultiString(LPCSTR lpString); | |
97 | +wchar_t* DuplicateMtoWMultiStringBuffer(LPCSTR lpString, int size); | |
98 | +char* DuplicateWtoM(LPCWSTR lpString, int c); | |
99 | +char* DuplicateWtoA(LPCWSTR lpString, int c); | |
100 | +void FreeDuplicatedString(void* p); | |
101 | + | |
102 | +#endif | |
103 | + |
@@ -0,0 +1,2 @@ | ||
1 | +mbtoutf8 mesg-jpn.old.h mesg-jpn.h | |
2 | +mbtoutf8 mesg-eng.old.h mesg-eng.h |
@@ -0,0 +1,29 @@ | ||
1 | +======================================================================== | |
2 | + コンソール アプリケーション : mbtoutf8 プロジェクトの概要 | |
3 | +======================================================================== | |
4 | + | |
5 | +この mbtoutf8 アプリケーションは、AppWizard によって作成されました。 | |
6 | + | |
7 | +このファイルには、mbtoutf8 アプリケーションを構成する各ファイル | |
8 | +の内容の概略が記述されています。 | |
9 | + | |
10 | + | |
11 | +mbtoutf8.vcproj | |
12 | + これは、アプリケーション ウィザードを使用して生成された VC++ プロジェクトのメイン プロジェクト ファイルです。 | |
13 | + ファイルを生成した Visual C++ のバージョンに関する情報と、アプリケーション ウィザードで選択されたプラットフォーム、構成、およびプロジェクト機能に関する情報が含まれています。 | |
14 | + | |
15 | +mbtoutf8.cpp | |
16 | + これは、メインのアプリケーション ソース ファイルです。 | |
17 | + | |
18 | +///////////////////////////////////////////////////////////////////////////// | |
19 | +その他の標準ファイル : | |
20 | + | |
21 | +StdAfx.h, StdAfx.cpp | |
22 | + これらのファイルは、プリコンパイル済みヘッダー (PCH) ファイル mbtoutf8.pch とプリコンパイル済み型ファイル StdAfx.obj をビルドするために使用されます。 | |
23 | + | |
24 | +///////////////////////////////////////////////////////////////////////////// | |
25 | +その他のメモ : | |
26 | + | |
27 | +AppWizard では、ユーザーが追加またはカスタマイズする必要のあるソース コードの部分を示すために、"TODO:" コメントを使用します。 | |
28 | + | |
29 | +///////////////////////////////////////////////////////////////////////////// |
@@ -0,0 +1,155 @@ | ||
1 | +// mbtoutf8.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 | |
2 | +// | |
3 | + | |
4 | +#include "stdafx.h" | |
5 | + | |
6 | + | |
7 | +int _tmain(int argc, _TCHAR* argv[]) | |
8 | +{ | |
9 | + FILE* fpIn; | |
10 | + FILE* fpOut; | |
11 | + char InBuffer[16384]; | |
12 | + char OutBuffer[65536]; | |
13 | + int InPosition; | |
14 | + int OutPosition; | |
15 | + bool bEscape; | |
16 | + bool bString; | |
17 | + bool bEncoded; | |
18 | + int Count; | |
19 | + int UTF8Count; | |
20 | + wchar_t UTF16Buffer[4]; | |
21 | + char UTF8Buffer[8]; | |
22 | + int i; | |
23 | + _tsetlocale(LC_ALL, _T("")); | |
24 | + if(argc != 3) | |
25 | + { | |
26 | + _tprintf(_T("マルチバイト文字(コードページ932またはShift JIS)で書かれたC言語ソースファイル内の文字列リテラルをUTF-8にエンコードします。\n")); | |
27 | + _tprintf(_T("コマンドライン\n")); | |
28 | + _tprintf(_T("mbtoutf8 [in] [out]\n")); | |
29 | + _tprintf(_T("[in] 元のソースファイルのファイル名\n")); | |
30 | + _tprintf(_T("[out] 保存先のファイル名\n")); | |
31 | + return 0; | |
32 | + } | |
33 | + fpIn = _tfopen(argv[1], _T("rt")); | |
34 | + if(!fpIn) | |
35 | + { | |
36 | + _tprintf(_T("ファイル\"%s\"が開けません。\n"), argv[1]); | |
37 | + return 0; | |
38 | + } | |
39 | + fpOut = _tfopen(argv[2], _T("wt")); | |
40 | + if(!fpIn) | |
41 | + { | |
42 | + _tprintf(_T("ファイル\"%s\"が作成できません。\n"), argv[2]); | |
43 | + return 0; | |
44 | + } | |
45 | + while(fgets(InBuffer, sizeof(InBuffer) / sizeof(char), fpIn)) | |
46 | + { | |
47 | + InPosition = 0; | |
48 | + OutPosition = 0; | |
49 | + bEscape = false; | |
50 | + bString = false; | |
51 | + bEncoded = false; | |
52 | + while(InBuffer[InPosition]) | |
53 | + { | |
54 | + Count = max(mblen(&InBuffer[InPosition], 4), 1); | |
55 | + if(Count == 1) | |
56 | + { | |
57 | + switch(InBuffer[InPosition]) | |
58 | + { | |
59 | + case '\\': | |
60 | + bEscape = !bEscape; | |
61 | + bEncoded = false; | |
62 | + strncpy(&OutBuffer[OutPosition], &InBuffer[InPosition], Count); | |
63 | + InPosition += Count; | |
64 | + OutPosition += Count; | |
65 | + break; | |
66 | + case '\"': | |
67 | + bEscape = false; | |
68 | + bString = !bString; | |
69 | + bEncoded = false; | |
70 | + strncpy(&OutBuffer[OutPosition], &InBuffer[InPosition], Count); | |
71 | + InPosition += Count; | |
72 | + OutPosition += Count; | |
73 | + break; | |
74 | + case '0': | |
75 | + case '1': | |
76 | + case '2': | |
77 | + case '3': | |
78 | + case '4': | |
79 | + case '5': | |
80 | + case '6': | |
81 | + case '7': | |
82 | + case '8': | |
83 | + case '9': | |
84 | + case 'A': | |
85 | + case 'B': | |
86 | + case 'C': | |
87 | + case 'D': | |
88 | + case 'E': | |
89 | + case 'F': | |
90 | + case 'a': | |
91 | + case 'b': | |
92 | + case 'c': | |
93 | + case 'd': | |
94 | + case 'e': | |
95 | + case 'f': | |
96 | + bEscape = false; | |
97 | + if(bEncoded) | |
98 | + { | |
99 | + for(i = 0; i < Count; i++) | |
100 | + { | |
101 | + sprintf(&OutBuffer[OutPosition], "\\x%02X", (unsigned char)InBuffer[InPosition]); | |
102 | + InPosition++; | |
103 | + OutPosition += 4; | |
104 | + } | |
105 | + } | |
106 | + else | |
107 | + { | |
108 | + strncpy(&OutBuffer[OutPosition], &InBuffer[InPosition], Count); | |
109 | + InPosition += Count; | |
110 | + OutPosition += Count; | |
111 | + break; | |
112 | + } | |
113 | + break; | |
114 | + default: | |
115 | + bEscape = false; | |
116 | + bEncoded = false; | |
117 | + strncpy(&OutBuffer[OutPosition], &InBuffer[InPosition], Count); | |
118 | + InPosition += Count; | |
119 | + OutPosition += Count; | |
120 | + break; | |
121 | + } | |
122 | + } | |
123 | + else | |
124 | + { | |
125 | + if(bString) | |
126 | + { | |
127 | + bEscape = false; | |
128 | + bEncoded = true; | |
129 | + UTF8Count = MultiByteToWideChar(CP_ACP, 0, &InBuffer[InPosition], Count, UTF16Buffer, sizeof(UTF16Buffer) / sizeof(wchar_t)); | |
130 | + UTF8Count = WideCharToMultiByte(CP_UTF8, 0, UTF16Buffer, UTF8Count, UTF8Buffer, sizeof(UTF8Buffer) / sizeof(char), NULL, NULL); | |
131 | + InPosition += Count; | |
132 | + for(i = 0; i < UTF8Count; i++) | |
133 | + { | |
134 | + sprintf(&OutBuffer[OutPosition], "\\x%02X", (unsigned char)UTF8Buffer[i]); | |
135 | + OutPosition += 4; | |
136 | + } | |
137 | + } | |
138 | + else | |
139 | + { | |
140 | + bEscape = false; | |
141 | + bEncoded = false; | |
142 | + strncpy(&OutBuffer[OutPosition], &InBuffer[InPosition], Count); | |
143 | + InPosition += Count; | |
144 | + OutPosition += Count; | |
145 | + } | |
146 | + } | |
147 | + } | |
148 | + OutBuffer[OutPosition] = '\0'; | |
149 | + fputs(OutBuffer, fpOut); | |
150 | + } | |
151 | + fclose(fpIn); | |
152 | + fclose(fpOut); | |
153 | + return 0; | |
154 | +} | |
155 | + |
@@ -0,0 +1,20 @@ | ||
1 | + | |
2 | +Microsoft Visual Studio Solution File, Format Version 10.00 | |
3 | +# Visual Studio 2008 | |
4 | +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbtoutf8", "mbtoutf8.vcproj", "{655A8FD3-5998-472F-8906-F0A028B70C4F}" | |
5 | +EndProject | |
6 | +Global | |
7 | + GlobalSection(SolutionConfigurationPlatforms) = preSolution | |
8 | + Debug|Win32 = Debug|Win32 | |
9 | + Release|Win32 = Release|Win32 | |
10 | + EndGlobalSection | |
11 | + GlobalSection(ProjectConfigurationPlatforms) = postSolution | |
12 | + {655A8FD3-5998-472F-8906-F0A028B70C4F}.Debug|Win32.ActiveCfg = Debug|Win32 | |
13 | + {655A8FD3-5998-472F-8906-F0A028B70C4F}.Debug|Win32.Build.0 = Debug|Win32 | |
14 | + {655A8FD3-5998-472F-8906-F0A028B70C4F}.Release|Win32.ActiveCfg = Release|Win32 | |
15 | + {655A8FD3-5998-472F-8906-F0A028B70C4F}.Release|Win32.Build.0 = Release|Win32 | |
16 | + EndGlobalSection | |
17 | + GlobalSection(SolutionProperties) = preSolution | |
18 | + HideSolutionNode = FALSE | |
19 | + EndGlobalSection | |
20 | +EndGlobal |
@@ -0,0 +1,225 @@ | ||
1 | +<?xml version="1.0" encoding="shift_jis"?> | |
2 | +<VisualStudioProject | |
3 | + ProjectType="Visual C++" | |
4 | + Version="9.00" | |
5 | + Name="mbtoutf8" | |
6 | + ProjectGUID="{655A8FD3-5998-472F-8906-F0A028B70C4F}" | |
7 | + RootNamespace="mbtoutf8" | |
8 | + Keyword="Win32Proj" | |
9 | + TargetFrameworkVersion="196613" | |
10 | + > | |
11 | + <Platforms> | |
12 | + <Platform | |
13 | + Name="Win32" | |
14 | + /> | |
15 | + </Platforms> | |
16 | + <ToolFiles> | |
17 | + </ToolFiles> | |
18 | + <Configurations> | |
19 | + <Configuration | |
20 | + Name="Debug|Win32" | |
21 | + OutputDirectory="$(SolutionDir)$(ConfigurationName)" | |
22 | + IntermediateDirectory="$(ConfigurationName)" | |
23 | + ConfigurationType="1" | |
24 | + CharacterSet="1" | |
25 | + > | |
26 | + <Tool | |
27 | + Name="VCPreBuildEventTool" | |
28 | + /> | |
29 | + <Tool | |
30 | + Name="VCCustomBuildTool" | |
31 | + /> | |
32 | + <Tool | |
33 | + Name="VCXMLDataGeneratorTool" | |
34 | + /> | |
35 | + <Tool | |
36 | + Name="VCWebServiceProxyGeneratorTool" | |
37 | + /> | |
38 | + <Tool | |
39 | + Name="VCMIDLTool" | |
40 | + /> | |
41 | + <Tool | |
42 | + Name="VCCLCompilerTool" | |
43 | + Optimization="0" | |
44 | + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" | |
45 | + MinimalRebuild="true" | |
46 | + BasicRuntimeChecks="3" | |
47 | + RuntimeLibrary="3" | |
48 | + UsePrecompiledHeader="2" | |
49 | + WarningLevel="3" | |
50 | + DebugInformationFormat="4" | |
51 | + /> | |
52 | + <Tool | |
53 | + Name="VCManagedResourceCompilerTool" | |
54 | + /> | |
55 | + <Tool | |
56 | + Name="VCResourceCompilerTool" | |
57 | + /> | |
58 | + <Tool | |
59 | + Name="VCPreLinkEventTool" | |
60 | + /> | |
61 | + <Tool | |
62 | + Name="VCLinkerTool" | |
63 | + LinkIncremental="2" | |
64 | + GenerateDebugInformation="true" | |
65 | + SubSystem="1" | |
66 | + TargetMachine="1" | |
67 | + /> | |
68 | + <Tool | |
69 | + Name="VCALinkTool" | |
70 | + /> | |
71 | + <Tool | |
72 | + Name="VCManifestTool" | |
73 | + /> | |
74 | + <Tool | |
75 | + Name="VCXDCMakeTool" | |
76 | + /> | |
77 | + <Tool | |
78 | + Name="VCBscMakeTool" | |
79 | + /> | |
80 | + <Tool | |
81 | + Name="VCFxCopTool" | |
82 | + /> | |
83 | + <Tool | |
84 | + Name="VCAppVerifierTool" | |
85 | + /> | |
86 | + <Tool | |
87 | + Name="VCPostBuildEventTool" | |
88 | + /> | |
89 | + </Configuration> | |
90 | + <Configuration | |
91 | + Name="Release|Win32" | |
92 | + OutputDirectory="$(SolutionDir)$(ConfigurationName)" | |
93 | + IntermediateDirectory="$(ConfigurationName)" | |
94 | + ConfigurationType="1" | |
95 | + CharacterSet="1" | |
96 | + WholeProgramOptimization="1" | |
97 | + > | |
98 | + <Tool | |
99 | + Name="VCPreBuildEventTool" | |
100 | + /> | |
101 | + <Tool | |
102 | + Name="VCCustomBuildTool" | |
103 | + /> | |
104 | + <Tool | |
105 | + Name="VCXMLDataGeneratorTool" | |
106 | + /> | |
107 | + <Tool | |
108 | + Name="VCWebServiceProxyGeneratorTool" | |
109 | + /> | |
110 | + <Tool | |
111 | + Name="VCMIDLTool" | |
112 | + /> | |
113 | + <Tool | |
114 | + Name="VCCLCompilerTool" | |
115 | + Optimization="2" | |
116 | + EnableIntrinsicFunctions="true" | |
117 | + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" | |
118 | + RuntimeLibrary="2" | |
119 | + EnableFunctionLevelLinking="true" | |
120 | + UsePrecompiledHeader="2" | |
121 | + WarningLevel="3" | |
122 | + DebugInformationFormat="3" | |
123 | + /> | |
124 | + <Tool | |
125 | + Name="VCManagedResourceCompilerTool" | |
126 | + /> | |
127 | + <Tool | |
128 | + Name="VCResourceCompilerTool" | |
129 | + /> | |
130 | + <Tool | |
131 | + Name="VCPreLinkEventTool" | |
132 | + /> | |
133 | + <Tool | |
134 | + Name="VCLinkerTool" | |
135 | + LinkIncremental="1" | |
136 | + GenerateDebugInformation="true" | |
137 | + SubSystem="1" | |
138 | + OptimizeReferences="2" | |
139 | + EnableCOMDATFolding="2" | |
140 | + TargetMachine="1" | |
141 | + /> | |
142 | + <Tool | |
143 | + Name="VCALinkTool" | |
144 | + /> | |
145 | + <Tool | |
146 | + Name="VCManifestTool" | |
147 | + /> | |
148 | + <Tool | |
149 | + Name="VCXDCMakeTool" | |
150 | + /> | |
151 | + <Tool | |
152 | + Name="VCBscMakeTool" | |
153 | + /> | |
154 | + <Tool | |
155 | + Name="VCFxCopTool" | |
156 | + /> | |
157 | + <Tool | |
158 | + Name="VCAppVerifierTool" | |
159 | + /> | |
160 | + <Tool | |
161 | + Name="VCPostBuildEventTool" | |
162 | + /> | |
163 | + </Configuration> | |
164 | + </Configurations> | |
165 | + <References> | |
166 | + </References> | |
167 | + <Files> | |
168 | + <Filter | |
169 | + Name="ソース ファイル" | |
170 | + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" | |
171 | + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" | |
172 | + > | |
173 | + <File | |
174 | + RelativePath=".\mbtoutf8.cpp" | |
175 | + > | |
176 | + </File> | |
177 | + <File | |
178 | + RelativePath=".\stdafx.cpp" | |
179 | + > | |
180 | + <FileConfiguration | |
181 | + Name="Debug|Win32" | |
182 | + > | |
183 | + <Tool | |
184 | + Name="VCCLCompilerTool" | |
185 | + UsePrecompiledHeader="1" | |
186 | + /> | |
187 | + </FileConfiguration> | |
188 | + <FileConfiguration | |
189 | + Name="Release|Win32" | |
190 | + > | |
191 | + <Tool | |
192 | + Name="VCCLCompilerTool" | |
193 | + UsePrecompiledHeader="1" | |
194 | + /> | |
195 | + </FileConfiguration> | |
196 | + </File> | |
197 | + </Filter> | |
198 | + <Filter | |
199 | + Name="ヘッダー ファイル" | |
200 | + Filter="h;hpp;hxx;hm;inl;inc;xsd" | |
201 | + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" | |
202 | + > | |
203 | + <File | |
204 | + RelativePath=".\stdafx.h" | |
205 | + > | |
206 | + </File> | |
207 | + <File | |
208 | + RelativePath=".\targetver.h" | |
209 | + > | |
210 | + </File> | |
211 | + </Filter> | |
212 | + <Filter | |
213 | + Name="リソース ファイル" | |
214 | + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" | |
215 | + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" | |
216 | + > | |
217 | + </Filter> | |
218 | + <File | |
219 | + RelativePath=".\ReadMe.txt" | |
220 | + > | |
221 | + </File> | |
222 | + </Files> | |
223 | + <Globals> | |
224 | + </Globals> | |
225 | +</VisualStudioProject> |
@@ -0,0 +1,8 @@ | ||
1 | +// stdafx.cpp : 標準インクルード mbtoutf8.pch のみを | |
2 | +// 含むソース ファイルは、プリコンパイル済みヘッダーになります。 | |
3 | +// stdafx.obj にはプリコンパイル済み型情報が含まれます。 | |
4 | + | |
5 | +#include "stdafx.h" | |
6 | + | |
7 | +// TODO: このファイルではなく、STDAFX.H で必要な | |
8 | +// 追加ヘッダーを参照してください。 |
@@ -0,0 +1,19 @@ | ||
1 | +// stdafx.h : 標準のシステム インクルード ファイルのインクルード ファイル、または | |
2 | +// 参照回数が多く、かつあまり変更されない、プロジェクト専用のインクルード ファイル | |
3 | +// を記述します。 | |
4 | +// | |
5 | + | |
6 | +#pragma once | |
7 | + | |
8 | +#include "targetver.h" | |
9 | + | |
10 | +#include <stdio.h> | |
11 | +#include <tchar.h> | |
12 | + | |
13 | + | |
14 | + | |
15 | +// TODO: プログラムに必要な追加ヘッダーをここで参照してください。 | |
16 | + | |
17 | +#include <locale.h> | |
18 | +#include <windows.h> | |
19 | + |
@@ -0,0 +1,13 @@ | ||
1 | +#pragma once | |
2 | + | |
3 | +// 以下のマクロは、最低限必要なプラットフォームを定義します。最低限必要なプラットフォームとは、 | |
4 | +// アプリケーションを実行するために必要な機能を備えた最も古いバージョンの Windows や Internet Explorer など | |
5 | +// をいいます。これらのマクロは、指定したバージョンと、それ以前のバージョンのプラットフォーム上で利用できるすべての機能を有効にすることによって | |
6 | +// 動作します。 | |
7 | + | |
8 | +// 下で指定された定義の前に対象プラットフォームを指定しなければならない場合、以下の定義を変更してください。 | |
9 | +// 異なるプラットフォームに対応する値に関する最新情報については、MSDN を参照してください。 | |
10 | +#ifndef _WIN32_WINNT // 最低限必要なプラットフォームが Windows Vista であることを指定します。 | |
11 | +#define _WIN32_WINNT 0x0600 // これを Windows の他のバージョン向けに適切な値に変更してください。 | |
12 | +#endif | |
13 | + |
@@ -248,9 +248,9 @@ | ||
248 | 248 | #define MSGJPN248 "Local free: %s" |
249 | 249 | #define MSGJPN249 "Files in queue: %d" |
250 | 250 | #define MSGJPN250 "Receiving %s" |
251 | -#define MSGJPN251 "Err:Seed" | |
252 | -#define MSGJPN252 "Err:Seed" | |
253 | -#define MSGJPN253 "Err:Sequence#" | |
251 | +#define MSGJPN251 "Err\xEF\xBC\x9ASeed" | |
252 | +#define MSGJPN252 "Err\xEF\xBC\x9ASeed" | |
253 | +#define MSGJPN253 "Err\xEF\xBC\x9ASequence#" | |
254 | 254 | #define MSGJPN254 "MS Sans Serif" |
255 | 255 | #define MSGJPN255 "&Upload" |
256 | 256 | #define MSGJPN256 "U&pload As..." |
@@ -302,3 +302,9 @@ | ||
302 | 302 | #define MSGJPN302 "Master password checker looks broken." |
303 | 303 | #define MSGJPN303 "Master password has been changed." |
304 | 304 | #define MSGJPN304 "Speecified master password is not correct.\r\nAre you sure you want to re-enter?\r\nNo memorized FTP password is available if you choose 'NO'" |
305 | +#define MSGJPN305 "Shift_JIS Kanji Code" | |
306 | +#define MSGJPN306 "UTF-8 Kanji Code" | |
307 | +#define MSGJPN307 "Shift_JIS Kanji Code (Local)" | |
308 | +#define MSGJPN308 "EUC Kanji Code (Local)" | |
309 | +#define MSGJPN309 "JIS Kanji Code (Local)" | |
310 | +#define MSGJPN310 "UTF-8 Kanji Code (Local)" |
@@ -0,0 +1,310 @@ | ||
1 | +#define MSGJPN001 "Connection cancelled." | |
2 | +#define MSGJPN002 "Connection cancelled." | |
3 | +#define MSGJPN003 "\r\nReconnect.\r\n" | |
4 | +#define MSGJPN004 "Disconnect." | |
5 | +#define MSGJPN005 "Connection was killed." | |
6 | +#define MSGJPN006 "Can't login to Firewall." | |
7 | +#define MSGJPN007 "Can't connect to host %s." | |
8 | +#define MSGJPN008 "Can't login." | |
9 | +#define MSGJPN009 "Can't connect." | |
10 | +#define MSGJPN010 "Firewall host not specified." | |
11 | +#define MSGJPN011 "Host not specified." | |
12 | +#define MSGJPN012 "MD5 used." | |
13 | +#define MSGJPN013 "SHA-1 used." | |
14 | +#define MSGJPN014 "MD4(S/KEY) used." | |
15 | +#define MSGJPN015 "Can't process One-time Password." | |
16 | +#define MSGJPN016 "Searching host %s." | |
17 | +#define MSGJPN017 "Connecting %sto host %s (%s (%d))." | |
18 | +#define MSGJPN018 "Connecting %sto host %s (%d)." | |
19 | +#define MSGJPN019 "Host %s not found." | |
20 | +#define MSGJPN020 "Connecting %sto host %s (%d)." | |
21 | +#define MSGJPN021 "SOCKS server %s not found." | |
22 | +#define MSGJPN022 "Connecting to SOCKS server %s (%d)." | |
23 | +#define MSGJPN023 "Can't connect to SOCKS server. (Err=%d)" | |
24 | +#define MSGJPN024 "Can't connect to SOCKS server. (Err=%d)" | |
25 | +#define MSGJPN025 "Connected." | |
26 | +#define MSGJPN026 "Can't connected." | |
27 | +#define MSGJPN027 "Can't create socket." | |
28 | +#define MSGJPN028 "Can't connect to SOCKS server. (Err=%d)" | |
29 | +#define MSGJPN029 "Can't connect to SOCKS server. (Err=%d)" | |
30 | +#define MSGJPN030 "Can't create listen socket." | |
31 | +#define MSGJPN031 "PORT command not accepted" | |
32 | +#define MSGJPN032 "Connection is cancelled by user." | |
33 | +#define MSGJPN033 "Can't send SOCKS command. (Cmd = %04X)" | |
34 | +#define MSGJPN034 "Can't receive SOCKS5 reply." | |
35 | +#define MSGJPN035 "Can't receive SOCKS4 reply." | |
36 | +#define MSGJPN036 "SOCKS certification method not match." | |
37 | +#define MSGJPN037 "Certification failed by SOCKS server." | |
38 | +#define MSGJPN038 "Name" | |
39 | +#define MSGJPN039 "Date" | |
40 | +#define MSGJPN040 "Size" | |
41 | +#define MSGJPN041 "Ext" | |
42 | +#define MSGJPN042 "Name" | |
43 | +#define MSGJPN043 "Date" | |
44 | +#define MSGJPN044 "Size" | |
45 | +#define MSGJPN045 "Ext" | |
46 | +#define MSGJPN046 "Permissions" | |
47 | +#define MSGJPN047 "Owner" | |
48 | +#define MSGJPN048 "Can't read temporary file." | |
49 | +#define MSGJPN049 "Failed to getting file list." | |
50 | +#define MSGJPN050 "Find (Local)" | |
51 | +#define MSGJPN051 "Find (Host)" | |
52 | +#define MSGJPN052 "Dele: %s" | |
53 | +#define MSGJPN053 "Make: %s" | |
54 | +#define MSGJPN054 "Tran: %s" | |
55 | +#define MSGJPN055 "Dele: %s" | |
56 | +#define MSGJPN056 "Make: %s" | |
57 | +#define MSGJPN057 "Tran: %s" | |
58 | +#define MSGJPN058 "Transfer %d files." | |
59 | +#define MSGJPN059 "No file to transmit." | |
60 | +#define MSGJPN060 "Create %d folders." | |
61 | +#define MSGJPN061 "No folder to create." | |
62 | +#define MSGJPN062 "Delete %d files/folders." | |
63 | +#define MSGJPN063 "No file/folder to delete." | |
64 | +#define MSGJPN064 "Upload as" | |
65 | +#define MSGJPN065 "Download as" | |
66 | +#define MSGJPN066 "Delete (Local)" | |
67 | +#define MSGJPN067 "Delete (Host)" | |
68 | +#define MSGJPN068 "Rename (Local)" | |
69 | +#define MSGJPN069 "Rename (Host)" | |
70 | +#define MSGJPN070 "New Filder (Local)" | |
71 | +#define MSGJPN071 "New Folder (Host)" | |
72 | +#define MSGJPN072 "Change Current Folder (Local)" | |
73 | +#define MSGJPN073 "Change Current Folder (Host)" | |
74 | +#define MSGJPN074 "Calculate local file size." | |
75 | +#define MSGJPN075 "Calculate host file size." | |
76 | +#define MSGJPN076 "Local file size" | |
77 | +#define MSGJPN077 "Host file size" | |
78 | +#define MSGJPN078 "New Folder" | |
79 | +#define MSGJPN079 "New Folder" | |
80 | +#define MSGJPN080 "Delete Folder" | |
81 | +#define MSGJPN081 "Delete File" | |
82 | +#define MSGJPN082 "New Folder" | |
83 | +#define MSGJPN083 "Delete Folder" | |
84 | +#define MSGJPN084 "Delete File" | |
85 | +#define MSGJPN085 "Can't download named %s." | |
86 | +#define MSGJPN086 "Download" | |
87 | +#define MSGJPN087 "File List" | |
88 | +#define MSGJPN088 "Skip" | |
89 | +#define MSGJPN089 "Skip file %s." | |
90 | +#define MSGJPN090 "Command not accepted." | |
91 | +#define MSGJPN091 "for download " | |
92 | +#define MSGJPN092 "Command not accepted." | |
93 | +#define MSGJPN093 "Can't get address." | |
94 | +#define MSGJPN094 "Time out error." | |
95 | +#define MSGJPN095 "Can't create file %s." | |
96 | +#define MSGJPN096 "Disk full" | |
97 | +#define MSGJPN097 "Cancel to getting file list" | |
98 | +#define MSGJPN098 "File List" | |
99 | +#define MSGJPN099 "Download cancelled. (%d Sec. %d B/S)." | |
100 | +#define MSGJPN100 "Download cancelled." | |
101 | +#define MSGJPN101 "Download file list successful. (%d Bytes)" | |
102 | +#define MSGJPN102 "Download successful. (%d Sec. %d B/S)." | |
103 | +#define MSGJPN103 "Download successful. (%d Bytes)" | |
104 | +#define MSGJPN104 "Upload" | |
105 | +#define MSGJPN105 "Can't read file %s." | |
106 | +#define MSGJPN106 "Skip" | |
107 | +#define MSGJPN107 "File %s is skipped." | |
108 | +#define MSGJPN108 "Command not accepted." | |
109 | +#define MSGJPN109 "for upload " | |
110 | +#define MSGJPN110 "Command not accepted." | |
111 | +#define MSGJPN111 "Can't get address." | |
112 | +#define MSGJPN112 "Can't open file %s." | |
113 | +#define MSGJPN113 "Upload cancelled. (%d Sec. %d B/S)." | |
114 | +#define MSGJPN114 "Upload cancelled." | |
115 | +#define MSGJPN115 "Upload successful. (%d Sec. %d B/S)." | |
116 | +#define MSGJPN116 "Upload successfil." | |
117 | +#define MSGJPN117 "Finished" | |
118 | +#define MSGJPN118 "Cancelled" | |
119 | +#define MSGJPN119 "BINARY" | |
120 | +#define MSGJPN120 "ASCII" | |
121 | +#define MSGJPN121 "NONE" | |
122 | +#define MSGJPN122 "JIS" | |
123 | +#define MSGJPN123 "EUC" | |
124 | +#define MSGJPN124 "Delete(Local)" | |
125 | +#define MSGJPN125 "Delete(Host)" | |
126 | +#define MSGJPN126 "WS_FTP.INI" | |
127 | +#define MSGJPN127 "General" | |
128 | +#define MSGJPN128 "Advanced" | |
129 | +#define MSGJPN129 "Kanji Code" | |
130 | +#define MSGJPN130 "Dialup" | |
131 | +#define MSGJPN131 "Special" | |
132 | +#define MSGJPN132 "Host Setting" | |
133 | +#define MSGJPN133 "GMT%+02d:00" | |
134 | +#define MSGJPN134 "None" | |
135 | +#define MSGJPN135 "Auto" | |
136 | +#define MSGJPN136 "OTP MD4, S/KEY" | |
137 | +#define MSGJPN137 "OTP MD5" | |
138 | +#define MSGJPN138 "OTP SHA-1" | |
139 | +#define MSGJPN139 "Auto" | |
140 | +#define MSGJPN140 "ACOS" | |
141 | +#define MSGJPN141 "VAX VMS" | |
142 | +#define MSGJPN142 "IRMX" | |
143 | +#define MSGJPN143 "ACOS-4" | |
144 | +#define MSGJPN144 "Stratus" | |
145 | +#define MSGJPN145 "Can't change folder." | |
146 | +#define MSGJPN146 "Can't create folder." | |
147 | +#define MSGJPN147 "Can't delete folder." | |
148 | +#define MSGJPN148 "Can't delete folder." | |
149 | +#define MSGJPN149 "Can't delete file." | |
150 | +#define MSGJPN150 "Can't delete file." | |
151 | +#define MSGJPN151 "Can't rename file." | |
152 | +#define MSGJPN152 "Temporary folder '%s' not found." | |
153 | +#define MSGJPN153 "Folder '%s' is used." | |
154 | +#define MSGJPN154 "Connect" | |
155 | +#define MSGJPN155 "Quick Connect" | |
156 | +#define MSGJPN156 "Disconnect" | |
157 | +#define MSGJPN157 "Download" | |
158 | +#define MSGJPN158 "Upload" | |
159 | +#define MSGJPN159 "Mirror Upload" | |
160 | +#define MSGJPN160 "Delete" | |
161 | +#define MSGJPN161 "Rename" | |
162 | +#define MSGJPN162 "New Folder" | |
163 | +#define MSGJPN163 "Parent Folder" | |
164 | +#define MSGJPN164 "Change Folder" | |
165 | +#define MSGJPN165 "ASCII Mode" | |
166 | +#define MSGJPN166 "BINARY Mode" | |
167 | +#define MSGJPN167 "Filename Depend" | |
168 | +#define MSGJPN168 "Refresh File List" | |
169 | +#define MSGJPN169 "List" | |
170 | +#define MSGJPN170 "Details" | |
171 | +#define MSGJPN171 "EUC Kanji Code" | |
172 | +#define MSGJPN172 "JIS Kanji Code" | |
173 | +#define MSGJPN173 "NO Kanji Conversin" | |
174 | +#define MSGJPN174 "Hankaku-Kana to Zenkaku" | |
175 | +#define MSGJPN175 "Sync. folder movement" | |
176 | +#define MSGJPN176 "Stop" | |
177 | +#define MSGJPN177 "Host profile '%s' not found." | |
178 | +#define MSGJPN178 "Host profile not specified." | |
179 | +#define MSGJPN179 "Host name is only used as an alternative to profile name." | |
180 | +#define MSGJPN180 "Wrong Option '%s'." | |
181 | +#define MSGJPN181 "Host name is only used as an alternative to profile name." | |
182 | +#define MSGJPN182 "Failed to open viewer. (ERROR=%d)" | |
183 | +#define MSGJPN183 "JRE32.DLL none" | |
184 | +#define MSGJPN184 "JRE32.DLL Ver %x.%x (C) Kazuo Yamada-san" | |
185 | +#define MSGJPN185 "Select folder." | |
186 | +#define MSGJPN186 "User" | |
187 | +#define MSGJPN187 "Transfer1" | |
188 | +#define MSGJPN188 "Transfer2" | |
189 | +#define MSGJPN189 "Transfer3" | |
190 | +#define MSGJPN190 "Mirroring" | |
191 | +#define MSGJPN191 "Operation" | |
192 | +#define MSGJPN192 "View" | |
193 | +#define MSGJPN193 "Connecting" | |
194 | +#define MSGJPN194 "Firewall" | |
195 | +#define MSGJPN195 "Tool" | |
196 | +#define MSGJPN196 "Sounds" | |
197 | +#define MSGJPN197 "Other" | |
198 | +#define MSGJPN198 "Option" | |
199 | +#define MSGJPN199 "Filename" | |
200 | +#define MSGJPN200 "Filename" | |
201 | +#define MSGJPN201 "Attr" | |
202 | +#define MSGJPN202 "Filename" | |
203 | +#define MSGJPN203 "Filename" | |
204 | +#define MSGJPN204 "FW user-> FW password-> SITE host" | |
205 | +#define MSGJPN205 "FW user-> FW password-> USER user@host" | |
206 | +#define MSGJPN206 "FW user-> FW password" | |
207 | +#define MSGJPN207 "USER user@host" | |
208 | +#define MSGJPN208 "OPEN host" | |
209 | +#define MSGJPN209 "SOCKS4" | |
210 | +#define MSGJPN210 "SOCKS5 (No certification)" | |
211 | +#define MSGJPN211 "SOCKS5 (User, Password certification)" | |
212 | +#define MSGJPN212 "None" | |
213 | +#define MSGJPN213 "Auto" | |
214 | +#define MSGJPN214 "OTP MD4,S/KEY" | |
215 | +#define MSGJPN215 "OTP MD5" | |
216 | +#define MSGJPN216 "OTP SHA-1" | |
217 | +#define MSGJPN217 "Select viewer" | |
218 | +#define MSGJPN218 "EXE file\0*.exe;*.com;*.bat\0All file(*.*)\0*\0" | |
219 | +#define MSGJPN219 "Wave file" | |
220 | +#define MSGJPN220 "Disconencting dialup." | |
221 | +#define MSGJPN221 "Connecting dialup." | |
222 | +#define MSGJPN222 "Can't use dialup. (RasDialDlg)" | |
223 | +#define MSGJPN223 "Connecting to %s..." | |
224 | +#define MSGJPN224 "Unknown error" | |
225 | +#define MSGJPN225 "Dialup connection" | |
226 | +#define MSGJPN226 "Open port..." | |
227 | +#define MSGJPN227 "Port opened." | |
228 | +#define MSGJPN228 "Dialing..." | |
229 | +#define MSGJPN229 "Dialed." | |
230 | +#define MSGJPN230 "All device connected." | |
231 | +#define MSGJPN231 "Authenticating..." | |
232 | +#define MSGJPN232 "Authenticate retry..." | |
233 | +#define MSGJPN233 "Please change password." | |
234 | +#define MSGJPN234 "Authenticated." | |
235 | +#define MSGJPN235 "Connected" | |
236 | +#define MSGJPN236 "Disconnected." | |
237 | +#define MSGJPN237 "Connecting..." | |
238 | +#define MSGJPN238 "Connecting to %s" | |
239 | +#define MSGJPN239 "# Do not edit this file.\n" | |
240 | +#define MSGJPN240 "Can't save to INI file" | |
241 | +#define MSGJPN241 "Failed transmit cause of timeout" | |
242 | +#define MSGJPN242 "Failed receive cause of timeout" | |
243 | +#define MSGJPN243 "Failed receive cause of timeout" | |
244 | +#define MSGJPN244 "Receive length error" | |
245 | +#define MSGJPN245 "Local" | |
246 | +#define MSGJPN246 "Host" | |
247 | +#define MSGJPN247 "Selected: %d (%s)" | |
248 | +#define MSGJPN248 "Local free: %s" | |
249 | +#define MSGJPN249 "Files in queue: %d" | |
250 | +#define MSGJPN250 "Receiving %s" | |
251 | +#define MSGJPN251 "Err:Seed" | |
252 | +#define MSGJPN252 "Err:Seed" | |
253 | +#define MSGJPN253 "Err:Sequence#" | |
254 | +#define MSGJPN254 "MS Sans Serif" | |
255 | +#define MSGJPN255 "&Upload" | |
256 | +#define MSGJPN256 "U&pload As..." | |
257 | +#define MSGJPN257 "Up&load All" | |
258 | +#define MSGJPN258 "&Delete" | |
259 | +#define MSGJPN259 "&Rename..." | |
260 | +#define MSGJPN260 "&New Folder..." | |
261 | +#define MSGJPN261 "&File Size..." | |
262 | +#define MSGJPN262 "R&efresh File List" | |
263 | +#define MSGJPN263 "&Download" | |
264 | +#define MSGJPN264 "D&ownload As..." | |
265 | +#define MSGJPN265 "Do&wnliad as File" | |
266 | +#define MSGJPN266 "Dow&nload All" | |
267 | +#define MSGJPN267 "De&lete..." | |
268 | +#define MSGJPN268 "&Rename..." | |
269 | +#define MSGJPN269 "&Change Permission..." | |
270 | +#define MSGJPN270 "&New Folder..." | |
271 | +#define MSGJPN271 "Copy &URL to Clipboard" | |
272 | +#define MSGJPN272 "&File Size..." | |
273 | +#define MSGJPN273 "R&efresh File List" | |
274 | +#define MSGJPN274 "&Open" | |
275 | +#define MSGJPN275 "Open in %s (&%d)" | |
276 | +#define MSGJPN276 "WS_FTP.INI\0ws_ftp.ini\0All file(*.*)\0*\0" | |
277 | +#define MSGJPN277 "Wave file\0*.wav\0All file\0*\0" | |
278 | +#define MSGJPN278 "Reason : %s" | |
279 | +#define MSGJPN279 "Can't get Listen Socket" | |
280 | +#define MSGJPN280 "Can't get Data Socket" | |
281 | +#define MSGJPN281 "Can't connect with PASV mode" | |
282 | +#define MSGJPN282 "INI filename is not specified" | |
283 | +#define MSGJPN283 "INI file : " | |
284 | +#define MSGJPN284 "http://www2.biglobe.ne.jp/~sota/" | |
285 | +#define MSGJPN285 "Failed to execute Registory Editor." | |
286 | +#define MSGJPN286 "Save Settings" | |
287 | +#define MSGJPN287 "Reg file\0*.reg\0All file\0*\0" | |
288 | +#define MSGJPN288 "INI file\0*.ini\0All file\0*\0" | |
289 | +#define MSGJPN289 "Agilent Logic analyzer" | |
290 | +#define MSGJPN290 "Reg file\0*.reg\0INI file\0*.ini\0All files\0*\0" | |
291 | +#define MSGJPN291 "Load Settings" | |
292 | +#define MSGJPN292 "Restart FFFTP to take effect." | |
293 | +#define MSGJPN293 "File must be *.reg or *.ini." | |
294 | +#define MSGJPN294 "USER FW user:FW password@host" | |
295 | +#define MSGJPN295 "ShibaSoku WL" | |
296 | +#define MSGJPN296 "This is a read-only file. Remove the read-only attribute?" | |
297 | +#define MSGJPN297 "%s is invalid path.\r\nFFFTP doesn't download this file." | |
298 | +#define MSGJPN298 "Failed to initialize the OLE." | |
299 | +#define MSGJPN299 "Master password is not specified in the command line" | |
300 | +#define MSGJPN300 "Default master password is chosen.\r\nSet your own master password in command line to prevent sniff of malwares" | |
301 | +#define MSGJPN301 "Master password is not for the current configuration. Configration will not be overwritten in this session." | |
302 | +#define MSGJPN302 "Master password checker looks broken." | |
303 | +#define MSGJPN303 "Master password has been changed." | |
304 | +#define MSGJPN304 "Speecified master password is not correct.\r\nAre you sure you want to re-enter?\r\nNo memorized FTP password is available if you choose 'NO'" | |
305 | +#define MSGJPN305 "Shift_JIS Kanji Code" | |
306 | +#define MSGJPN306 "UTF-8 Kanji Code" | |
307 | +#define MSGJPN307 "Shift_JIS Kanji Code (Local)" | |
308 | +#define MSGJPN308 "EUC Kanji Code (Local)" | |
309 | +#define MSGJPN309 "JIS Kanji Code (Local)" | |
310 | +#define MSGJPN310 "UTF-8 Kanji Code (Local)" |
@@ -1,304 +1,310 @@ | ||
1 | -#define MSGJPN001 "接続を中止しました." | |
2 | -#define MSGJPN002 "接続を中止しました." | |
3 | -#define MSGJPN003 "\r\n再接続します.\r\n" | |
4 | -#define MSGJPN004 "切断しました" | |
5 | -#define MSGJPN005 "接続が切断されました." | |
6 | -#define MSGJPN006 "FireWallにログインできません." | |
7 | -#define MSGJPN007 "ホスト %s に接続できません." | |
8 | -#define MSGJPN008 "ログインできません." | |
9 | -#define MSGJPN009 "接続できません." | |
10 | -#define MSGJPN010 "FireWallのホスト名が設定されていません." | |
11 | -#define MSGJPN011 "ホスト名がありません." | |
12 | -#define MSGJPN012 "MD5を使用します." | |
13 | -#define MSGJPN013 "SHA-1を使用します." | |
14 | -#define MSGJPN014 "MD4(S/KEY)を使用します." | |
15 | -#define MSGJPN015 "ワンタイムパスワードが処理できません" | |
16 | -#define MSGJPN016 "ホスト %s を探しています." | |
17 | -#define MSGJPN017 "%sホスト %s (%s (%d)) に接続しています." | |
18 | -#define MSGJPN018 "%sホスト %s (%d) に接続しています." | |
19 | -#define MSGJPN019 "ホスト %s が見つかりません." | |
20 | -#define MSGJPN020 "%sホスト %s (%d) に接続しています." | |
21 | -#define MSGJPN021 "SOCKSサーバ %s が見つかりません." | |
22 | -#define MSGJPN022 "SOCKSサーバ %s (%d) に接続しています。" | |
23 | -#define MSGJPN023 "SOCKSサーバに接続できません. (Err=%d)" | |
24 | -#define MSGJPN024 "SOCKSサーバに接続できません. (Err=%d)" | |
25 | -#define MSGJPN025 "接続しました." | |
26 | -#define MSGJPN026 "接続できません." | |
27 | -#define MSGJPN027 "ソケットが作成できません." | |
28 | -#define MSGJPN028 "SOCKSサーバに接続できません. (Err=%d)" | |
29 | -#define MSGJPN029 "SOCKSサーバに接続できません. (Err=%d)" | |
30 | -#define MSGJPN030 "Listenソケットが作成できません." | |
31 | -#define MSGJPN031 "PORTコマンドが受け付けられません." | |
32 | -#define MSGJPN032 "接続はユーザによって中止されました." | |
33 | -#define MSGJPN033 "SOCKSのコマンドが送れませんでした (Cmd = %04X)" | |
34 | -#define MSGJPN034 "SOCKS5のコマンドに対するリプライが受信できませんでした" | |
35 | -#define MSGJPN035 "SOCKS4のコマンドに対するリプライが受信できませんでした" | |
36 | -#define MSGJPN036 "SOCKSサーバの認証方式が異なります." | |
37 | -#define MSGJPN037 "SOCKSサーバに認証されませんでした." | |
38 | -#define MSGJPN038 "名前" | |
39 | -#define MSGJPN039 "日付" | |
40 | -#define MSGJPN040 "サイズ" | |
41 | -#define MSGJPN041 "種類" | |
42 | -#define MSGJPN042 "名前" | |
43 | -#define MSGJPN043 "日付" | |
44 | -#define MSGJPN044 "サイズ" | |
45 | -#define MSGJPN045 "種類" | |
46 | -#define MSGJPN046 "属性" | |
47 | -#define MSGJPN047 "所有者" | |
48 | -#define MSGJPN048 "テンポラリファイルが読み出せません." | |
49 | -#define MSGJPN049 "ファイル一覧の取得に失敗しました." | |
50 | -#define MSGJPN050 "検索(ローカル)" | |
51 | -#define MSGJPN051 "検索(ホスト)" | |
52 | -#define MSGJPN052 "削除: %s" | |
53 | -#define MSGJPN053 "作成: %s" | |
54 | -#define MSGJPN054 "転送: %s" | |
55 | -#define MSGJPN055 "削除: %s" | |
56 | -#define MSGJPN056 "作成: %s" | |
57 | -#define MSGJPN057 "転送: %s" | |
58 | -#define MSGJPN058 "%d個のファイルを転送します." | |
59 | -#define MSGJPN059 "転送するファイルはありません." | |
60 | -#define MSGJPN060 "%d個のフォルダを作成します." | |
61 | -#define MSGJPN061 "作成するフォルダはありません." | |
62 | -#define MSGJPN062 "%d個のファイル/フォルダを削除します." | |
63 | -#define MSGJPN063 "削除するファイル/フォルダはありません." | |
64 | -#define MSGJPN064 "名前を変更してアップロード" | |
65 | -#define MSGJPN065 "名前を変更してダウンロード" | |
66 | -#define MSGJPN066 "削除(ローカル)" | |
67 | -#define MSGJPN067 "削除(ホスト)" | |
68 | -#define MSGJPN068 "名前変更(ローカル)" | |
69 | -#define MSGJPN069 "名前変更(ホスト)" | |
70 | -#define MSGJPN070 "フォルダ作成(ローカル)" | |
71 | -#define MSGJPN071 "フォルダ作成(ホスト)" | |
72 | -#define MSGJPN072 "フォルダ変更(ローカル)" | |
73 | -#define MSGJPN073 "フォルダ変更(ホスト)" | |
74 | -#define MSGJPN074 "ローカル側のファイル容量を計算します。" | |
75 | -#define MSGJPN075 "ホスト側のファイル容量を計算します。" | |
76 | -#define MSGJPN076 "ローカル側のファイル容量" | |
77 | -#define MSGJPN077 "ホスト側のファイル容量" | |
78 | -#define MSGJPN078 "フォルダ作成" | |
79 | -#define MSGJPN079 "フォルダ作成" | |
80 | -#define MSGJPN080 "フォルダ削除" | |
81 | -#define MSGJPN081 "ファイル削除" | |
82 | -#define MSGJPN082 "フォルダ作成" | |
83 | -#define MSGJPN083 "フォルダ削除" | |
84 | -#define MSGJPN084 "ファイル削除" | |
85 | -#define MSGJPN085 "%sという名前のファイルはダウンロードできません." | |
86 | -#define MSGJPN086 "ダウンロード" | |
87 | -#define MSGJPN087 "ファイル一覧取得" | |
88 | -#define MSGJPN088 "スキップ" | |
89 | -#define MSGJPN089 "ファイル %s はスキップします." | |
90 | -#define MSGJPN090 "コマンドが受け付けられません." | |
91 | -#define MSGJPN091 "ダウンロードのために" | |
92 | -#define MSGJPN092 "コマンドが受け付けられません." | |
93 | -#define MSGJPN093 "アドレスが取得できません." | |
94 | -#define MSGJPN094 "受信はタイムアウトで失敗しました." | |
95 | -#define MSGJPN095 "ファイル %s が作成できません." | |
96 | -#define MSGJPN096 "ディスクがいっぱいで書き込めません." | |
97 | -#define MSGJPN097 "ファイル一覧の取得を中止しました." | |
98 | -#define MSGJPN098 "ファイル一覧" | |
99 | -#define MSGJPN099 "ダウンロードを中止しました. (%d Sec. %d B/S)." | |
100 | -#define MSGJPN100 "ダウンロードを中止しました." | |
101 | -#define MSGJPN101 "ファイル一覧の取得は正常終了しました. (%d Bytes)" | |
102 | -#define MSGJPN102 "ダウンロードは正常終了しました. (%d Sec. %d B/S)." | |
103 | -#define MSGJPN103 "ダウンロードは正常終了しました. (%d Bytes)" | |
104 | -#define MSGJPN104 "アップロード" | |
105 | -#define MSGJPN105 "ファイル %s が読み出せません." | |
106 | -#define MSGJPN106 "スキップ" | |
107 | -#define MSGJPN107 "ファイル %s はスキップします." | |
108 | -#define MSGJPN108 "コマンドが受け付けられません." | |
109 | -#define MSGJPN109 "アップロードのために" | |
110 | -#define MSGJPN110 "コマンドが受け付けられません." | |
111 | -#define MSGJPN111 "アドレスが取得できません." | |
112 | -#define MSGJPN112 "ファイル %s がオープンできません." | |
113 | -#define MSGJPN113 "アップロードを中止しました. (%d Sec. %d B/S)." | |
114 | -#define MSGJPN114 "アップロードを中止しました." | |
115 | -#define MSGJPN115 "アップロードは正常終了しました. (%d Sec. %d B/S)." | |
116 | -#define MSGJPN116 "アップロードは正常終了しました." | |
117 | -#define MSGJPN117 "完了" | |
118 | -#define MSGJPN118 "中止" | |
119 | -#define MSGJPN119 "バイナリ" | |
120 | -#define MSGJPN120 "アスキー" | |
121 | -#define MSGJPN121 "無変換" | |
1 | +#define MSGJPN001 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x82\x92\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
2 | +#define MSGJPN002 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x82\x92\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
3 | +#define MSGJPN003 "\r\n\xE5\x86\x8D\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99.\r\n" | |
4 | +#define MSGJPN004 "\xE5\x88\x87\xE6\x96\xAD\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
5 | +#define MSGJPN005 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x8C\xE5\x88\x87\xE6\x96\xAD\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
6 | +#define MSGJPN006 "FireWall\xE3\x81\xAB\xE3\x83\xAD\xE3\x82\xB0\xE3\x82\xA4\xE3\x83\xB3\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
7 | +#define MSGJPN007 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88 %s \xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
8 | +#define MSGJPN008 "\xE3\x83\xAD\xE3\x82\xB0\xE3\x82\xA4\xE3\x83\xB3\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
9 | +#define MSGJPN009 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
10 | +#define MSGJPN010 "FireWall\xE3\x81\xAE\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D\xE3\x81\x8C\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
11 | +#define MSGJPN011 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D\xE3\x81\x8C\xE3\x81\x82\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
12 | +#define MSGJPN012 "MD5\xE3\x82\x92\xE4\xBD\xBF\xE7\x94\xA8\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
13 | +#define MSGJPN013 "SHA-1\xE3\x82\x92\xE4\xBD\xBF\xE7\x94\xA8\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
14 | +#define MSGJPN014 "MD4(S/KEY)\xE3\x82\x92\xE4\xBD\xBF\xE7\x94\xA8\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
15 | +#define MSGJPN015 "\xE3\x83\xAF\xE3\x83\xB3\xE3\x82\xBF\xE3\x82\xA4\xE3\x83\xA0\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x81\x8C\xE5\x87\xA6\xE7\x90\x86\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
16 | +#define MSGJPN016 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88 %s \xE3\x82\x92\xE6\x8E\xA2\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
17 | +#define MSGJPN017 "%s\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88 %s (%s (%d)) \xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
18 | +#define MSGJPN018 "%s\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88 %s (%d) \xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
19 | +#define MSGJPN019 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88 %s \xE3\x81\x8C\xE8\xA6\x8B\xE3\x81\xA4\xE3\x81\x8B\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
20 | +#define MSGJPN020 "%s\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88 %s (%d) \xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
21 | +#define MSGJPN021 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90 %s \xE3\x81\x8C\xE8\xA6\x8B\xE3\x81\xA4\xE3\x81\x8B\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
22 | +#define MSGJPN022 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90 %s (%d) \xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99\xE3\x80\x82" | |
23 | +#define MSGJPN023 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90\xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93. (Err=%d)" | |
24 | +#define MSGJPN024 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90\xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93. (Err=%d)" | |
25 | +#define MSGJPN025 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
26 | +#define MSGJPN026 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
27 | +#define MSGJPN027 "\xE3\x82\xBD\xE3\x82\xB1\xE3\x83\x83\xE3\x83\x88\xE3\x81\x8C\xE4\xBD\x9C\xE6\x88\x90\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
28 | +#define MSGJPN028 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90\xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93. (Err=%d)" | |
29 | +#define MSGJPN029 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90\xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93. (Err=%d)" | |
30 | +#define MSGJPN030 "Listen\xE3\x82\xBD\xE3\x82\xB1\xE3\x83\x83\xE3\x83\x88\xE3\x81\x8C\xE4\xBD\x9C\xE6\x88\x90\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
31 | +#define MSGJPN031 "PORT\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\x8C\xE5\x8F\x97\xE3\x81\x91\xE4\xBB\x98\xE3\x81\x91\xE3\x82\x89\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
32 | +#define MSGJPN032 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xAF\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE3\x81\xAB\xE3\x82\x88\xE3\x81\xA3\xE3\x81\xA6\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
33 | +#define MSGJPN033 "SOCKS\xE3\x81\xAE\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\x8C\xE9\x80\x81\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x81\xA7\xE3\x81\x97\xE3\x81\x9F (Cmd = %04X)" | |
34 | +#define MSGJPN034 "SOCKS5\xE3\x81\xAE\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\xAB\xE5\xAF\xBE\xE3\x81\x99\xE3\x82\x8B\xE3\x83\xAA\xE3\x83\x97\xE3\x83\xA9\xE3\x82\xA4\xE3\x81\x8C\xE5\x8F\x97\xE4\xBF\xA1\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x81\xA7\xE3\x81\x97\xE3\x81\x9F" | |
35 | +#define MSGJPN035 "SOCKS4\xE3\x81\xAE\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\xAB\xE5\xAF\xBE\xE3\x81\x99\xE3\x82\x8B\xE3\x83\xAA\xE3\x83\x97\xE3\x83\xA9\xE3\x82\xA4\xE3\x81\x8C\xE5\x8F\x97\xE4\xBF\xA1\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x81\xA7\xE3\x81\x97\xE3\x81\x9F" | |
36 | +#define MSGJPN036 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90\xE3\x81\xAE\xE8\xAA\x8D\xE8\xA8\xBC\xE6\x96\xB9\xE5\xBC\x8F\xE3\x81\x8C\xE7\x95\xB0\xE3\x81\xAA\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x99." | |
37 | +#define MSGJPN037 "SOCKS\xE3\x82\xB5\xE3\x83\xBC\xE3\x83\x90\xE3\x81\xAB\xE8\xAA\x8D\xE8\xA8\xBC\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x81\xA7\xE3\x81\x97\xE3\x81\x9F." | |
38 | +#define MSGJPN038 "\xE5\x90\x8D\xE5\x89\x8D" | |
39 | +#define MSGJPN039 "\xE6\x97\xA5\xE4\xBB\x98" | |
40 | +#define MSGJPN040 "\xE3\x82\xB5\xE3\x82\xA4\xE3\x82\xBA" | |
41 | +#define MSGJPN041 "\xE7\xA8\xAE\xE9\xA1\x9E" | |
42 | +#define MSGJPN042 "\xE5\x90\x8D\xE5\x89\x8D" | |
43 | +#define MSGJPN043 "\xE6\x97\xA5\xE4\xBB\x98" | |
44 | +#define MSGJPN044 "\xE3\x82\xB5\xE3\x82\xA4\xE3\x82\xBA" | |
45 | +#define MSGJPN045 "\xE7\xA8\xAE\xE9\xA1\x9E" | |
46 | +#define MSGJPN046 "\xE5\xB1\x9E\xE6\x80\xA7" | |
47 | +#define MSGJPN047 "\xE6\x89\x80\xE6\x9C\x89\xE8\x80\x85" | |
48 | +#define MSGJPN048 "\xE3\x83\x86\xE3\x83\xB3\xE3\x83\x9D\xE3\x83\xA9\xE3\x83\xAA\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\x8C\xE8\xAA\xAD\xE3\x81\xBF\xE5\x87\xBA\xE3\x81\x9B\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
49 | +#define MSGJPN049 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE4\xB8\x80\xE8\xA6\xA7\xE3\x81\xAE\xE5\x8F\x96\xE5\xBE\x97\xE3\x81\xAB\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
50 | +#define MSGJPN050 "\xE6\xA4\x9C\xE7\xB4\xA2\xEF\xBC\x88\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xEF\xBC\x89" | |
51 | +#define MSGJPN051 "\xE6\xA4\x9C\xE7\xB4\xA2\xEF\xBC\x88\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xEF\xBC\x89" | |
52 | +#define MSGJPN052 "\xE5\x89\x8A\xE9\x99\xA4\xEF\xBC\x9A %s" | |
53 | +#define MSGJPN053 "\xE4\xBD\x9C\xE6\x88\x90\xEF\xBC\x9A %s" | |
54 | +#define MSGJPN054 "\xE8\xBB\xA2\xE9\x80\x81\xEF\xBC\x9A %s" | |
55 | +#define MSGJPN055 "\xE5\x89\x8A\xE9\x99\xA4\xEF\xBC\x9A %s" | |
56 | +#define MSGJPN056 "\xE4\xBD\x9C\xE6\x88\x90\xEF\xBC\x9A %s" | |
57 | +#define MSGJPN057 "\xE8\xBB\xA2\xE9\x80\x81\xEF\xBC\x9A %s" | |
58 | +#define MSGJPN058 "%d\xE5\x80\x8B\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x82\x92\xE8\xBB\xA2\xE9\x80\x81\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
59 | +#define MSGJPN059 "\xE8\xBB\xA2\xE9\x80\x81\xE3\x81\x99\xE3\x82\x8B\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAF\xE3\x81\x82\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
60 | +#define MSGJPN060 "%d\xE5\x80\x8B\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x82\x92\xE4\xBD\x9C\xE6\x88\x90\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
61 | +#define MSGJPN061 "\xE4\xBD\x9C\xE6\x88\x90\xE3\x81\x99\xE3\x82\x8B\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x81\xAF\xE3\x81\x82\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
62 | +#define MSGJPN062 "%d\xE5\x80\x8B\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xEF\xBC\x8F\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x82\x92\xE5\x89\x8A\xE9\x99\xA4\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
63 | +#define MSGJPN063 "\xE5\x89\x8A\xE9\x99\xA4\xE3\x81\x99\xE3\x82\x8B\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xEF\xBC\x8F\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x81\xAF\xE3\x81\x82\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
64 | +#define MSGJPN064 "\xE5\x90\x8D\xE5\x89\x8D\xE3\x82\x92\xE5\xA4\x89\xE6\x9B\xB4\xE3\x81\x97\xE3\x81\xA6\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
65 | +#define MSGJPN065 "\xE5\x90\x8D\xE5\x89\x8D\xE3\x82\x92\xE5\xA4\x89\xE6\x9B\xB4\xE3\x81\x97\xE3\x81\xA6\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
66 | +#define MSGJPN066 "\xE5\x89\x8A\xE9\x99\xA4\xEF\xBC\x88\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xEF\xBC\x89" | |
67 | +#define MSGJPN067 "\xE5\x89\x8A\xE9\x99\xA4\xEF\xBC\x88\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xEF\xBC\x89" | |
68 | +#define MSGJPN068 "\xE5\x90\x8D\xE5\x89\x8D\xE5\xA4\x89\xE6\x9B\xB4\xEF\xBC\x88\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xEF\xBC\x89" | |
69 | +#define MSGJPN069 "\xE5\x90\x8D\xE5\x89\x8D\xE5\xA4\x89\xE6\x9B\xB4\xEF\xBC\x88\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xEF\xBC\x89" | |
70 | +#define MSGJPN070 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90\xEF\xBC\x88\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xEF\xBC\x89" | |
71 | +#define MSGJPN071 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90\xEF\xBC\x88\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xEF\xBC\x89" | |
72 | +#define MSGJPN072 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE5\xA4\x89\xE6\x9B\xB4\xEF\xBC\x88\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xEF\xBC\x89" | |
73 | +#define MSGJPN073 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE5\xA4\x89\xE6\x9B\xB4\xEF\xBC\x88\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xEF\xBC\x89" | |
74 | +#define MSGJPN074 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xE5\x81\xB4\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\xAE\xB9\xE9\x87\x8F\xE3\x82\x92\xE8\xA8\x88\xE7\xAE\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99\xE3\x80\x82" | |
75 | +#define MSGJPN075 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x81\xB4\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\xAE\xB9\xE9\x87\x8F\xE3\x82\x92\xE8\xA8\x88\xE7\xAE\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99\xE3\x80\x82" | |
76 | +#define MSGJPN076 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xE5\x81\xB4\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\xAE\xB9\xE9\x87\x8F" | |
77 | +#define MSGJPN077 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x81\xB4\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\xAE\xB9\xE9\x87\x8F" | |
78 | +#define MSGJPN078 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90" | |
79 | +#define MSGJPN079 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90" | |
80 | +#define MSGJPN080 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE5\x89\x8A\xE9\x99\xA4" | |
81 | +#define MSGJPN081 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x89\x8A\xE9\x99\xA4" | |
82 | +#define MSGJPN082 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90" | |
83 | +#define MSGJPN083 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE5\x89\x8A\xE9\x99\xA4" | |
84 | +#define MSGJPN084 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x89\x8A\xE9\x99\xA4" | |
85 | +#define MSGJPN085 "%s\xE3\x81\xA8\xE3\x81\x84\xE3\x81\x86\xE5\x90\x8D\xE5\x89\x8D\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAF\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
86 | +#define MSGJPN086 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
87 | +#define MSGJPN087 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE4\xB8\x80\xE8\xA6\xA7\xE5\x8F\x96\xE5\xBE\x97" | |
88 | +#define MSGJPN088 "\xE3\x82\xB9\xE3\x82\xAD\xE3\x83\x83\xE3\x83\x97" | |
89 | +#define MSGJPN089 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB %s \xE3\x81\xAF\xE3\x82\xB9\xE3\x82\xAD\xE3\x83\x83\xE3\x83\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
90 | +#define MSGJPN090 "\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\x8C\xE5\x8F\x97\xE3\x81\x91\xE4\xBB\x98\xE3\x81\x91\xE3\x82\x89\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
91 | +#define MSGJPN091 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAE\xE3\x81\x9F\xE3\x82\x81\xE3\x81\xAB" | |
92 | +#define MSGJPN092 "\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\x8C\xE5\x8F\x97\xE3\x81\x91\xE4\xBB\x98\xE3\x81\x91\xE3\x82\x89\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
93 | +#define MSGJPN093 "\xE3\x82\xA2\xE3\x83\x89\xE3\x83\xAC\xE3\x82\xB9\xE3\x81\x8C\xE5\x8F\x96\xE5\xBE\x97\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
94 | +#define MSGJPN094 "\xE5\x8F\x97\xE4\xBF\xA1\xE3\x81\xAF\xE3\x82\xBF\xE3\x82\xA4\xE3\x83\xA0\xE3\x82\xA2\xE3\x82\xA6\xE3\x83\x88\xE3\x81\xA7\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
95 | +#define MSGJPN095 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB %s \xE3\x81\x8C\xE4\xBD\x9C\xE6\x88\x90\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
96 | +#define MSGJPN096 "\xE3\x83\x87\xE3\x82\xA3\xE3\x82\xB9\xE3\x82\xAF\xE3\x81\x8C\xE3\x81\x84\xE3\x81\xA3\xE3\x81\xB1\xE3\x81\x84\xE3\x81\xA7\xE6\x9B\xB8\xE3\x81\x8D\xE8\xBE\xBC\xE3\x82\x81\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
97 | +#define MSGJPN097 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE4\xB8\x80\xE8\xA6\xA7\xE3\x81\xAE\xE5\x8F\x96\xE5\xBE\x97\xE3\x82\x92\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
98 | +#define MSGJPN098 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE4\xB8\x80\xE8\xA6\xA7" | |
99 | +#define MSGJPN099 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F. (%d Sec. %d B/S)." | |
100 | +#define MSGJPN100 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
101 | +#define MSGJPN101 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE4\xB8\x80\xE8\xA6\xA7\xE3\x81\xAE\xE5\x8F\x96\xE5\xBE\x97\xE3\x81\xAF\xE6\xAD\xA3\xE5\xB8\xB8\xE7\xB5\x82\xE4\xBA\x86\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F. (%d Bytes)" | |
102 | +#define MSGJPN102 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAF\xE6\xAD\xA3\xE5\xB8\xB8\xE7\xB5\x82\xE4\xBA\x86\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F. (%d Sec. %d B/S)." | |
103 | +#define MSGJPN103 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAF\xE6\xAD\xA3\xE5\xB8\xB8\xE7\xB5\x82\xE4\xBA\x86\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F. (%d Bytes)" | |
104 | +#define MSGJPN104 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
105 | +#define MSGJPN105 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB %s \xE3\x81\x8C\xE8\xAA\xAD\xE3\x81\xBF\xE5\x87\xBA\xE3\x81\x9B\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
106 | +#define MSGJPN106 "\xE3\x82\xB9\xE3\x82\xAD\xE3\x83\x83\xE3\x83\x97" | |
107 | +#define MSGJPN107 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB %s \xE3\x81\xAF\xE3\x82\xB9\xE3\x82\xAD\xE3\x83\x83\xE3\x83\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99." | |
108 | +#define MSGJPN108 "\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\x8C\xE5\x8F\x97\xE3\x81\x91\xE4\xBB\x98\xE3\x81\x91\xE3\x82\x89\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
109 | +#define MSGJPN109 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAE\xE3\x81\x9F\xE3\x82\x81\xE3\x81\xAB" | |
110 | +#define MSGJPN110 "\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x81\x8C\xE5\x8F\x97\xE3\x81\x91\xE4\xBB\x98\xE3\x81\x91\xE3\x82\x89\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
111 | +#define MSGJPN111 "\xE3\x82\xA2\xE3\x83\x89\xE3\x83\xAC\xE3\x82\xB9\xE3\x81\x8C\xE5\x8F\x96\xE5\xBE\x97\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
112 | +#define MSGJPN112 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB %s \xE3\x81\x8C\xE3\x82\xAA\xE3\x83\xBC\xE3\x83\x97\xE3\x83\xB3\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
113 | +#define MSGJPN113 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F. (%d Sec. %d B/S)." | |
114 | +#define MSGJPN114 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE4\xB8\xAD\xE6\xAD\xA2\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
115 | +#define MSGJPN115 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAF\xE6\xAD\xA3\xE5\xB8\xB8\xE7\xB5\x82\xE4\xBA\x86\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F. (%d Sec. %d B/S)." | |
116 | +#define MSGJPN116 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAF\xE6\xAD\xA3\xE5\xB8\xB8\xE7\xB5\x82\xE4\xBA\x86\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
117 | +#define MSGJPN117 "\xE5\xAE\x8C\xE4\xBA\x86" | |
118 | +#define MSGJPN118 "\xE4\xB8\xAD\xE6\xAD\xA2" | |
119 | +#define MSGJPN119 "\xE3\x83\x90\xE3\x82\xA4\xE3\x83\x8A\xE3\x83\xAA" | |
120 | +#define MSGJPN120 "\xE3\x82\xA2\xE3\x82\xB9\xE3\x82\xAD\xE3\x83\xBC" | |
121 | +#define MSGJPN121 "\xE7\x84\xA1\xE5\xA4\x89\xE6\x8F\x9B" | |
122 | 122 | #define MSGJPN122 "JIS" |
123 | 123 | #define MSGJPN123 "EUC" |
124 | -#define MSGJPN124 "削除(ローカル)" | |
125 | -#define MSGJPN125 "削除(ホスト)" | |
126 | -#define MSGJPN126 "WS_FTP.INIファイル" | |
127 | -#define MSGJPN127 "基本" | |
128 | -#define MSGJPN128 "拡張" | |
129 | -#define MSGJPN129 "文字コード" | |
130 | -#define MSGJPN130 "ダイアルアップ" | |
131 | -#define MSGJPN131 "高度" | |
132 | -#define MSGJPN132 "ホストの設定" | |
133 | -#define MSGJPN133 "GMT%+02d:00 (日本)" | |
134 | -#define MSGJPN134 "使用しない" | |
135 | -#define MSGJPN135 "自動認識" | |
124 | +#define MSGJPN124 "\xE5\x89\x8A\xE9\x99\xA4\xEF\xBC\x88\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xEF\xBC\x89" | |
125 | +#define MSGJPN125 "\xE5\x89\x8A\xE9\x99\xA4\xEF\xBC\x88\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xEF\xBC\x89" | |
126 | +#define MSGJPN126 "WS_FTP.INI\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB" | |
127 | +#define MSGJPN127 "\xE5\x9F\xBA\xE6\x9C\xAC" | |
128 | +#define MSGJPN128 "\xE6\x8B\xA1\xE5\xBC\xB5" | |
129 | +#define MSGJPN129 "\xE6\x96\x87\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89" | |
130 | +#define MSGJPN130 "\xE3\x83\x80\xE3\x82\xA4\xE3\x82\xA2\xE3\x83\xAB\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97" | |
131 | +#define MSGJPN131 "\xE9\xAB\x98\xE5\xBA\xA6" | |
132 | +#define MSGJPN132 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE3\x81\xAE\xE8\xA8\xAD\xE5\xAE\x9A" | |
133 | +#define MSGJPN133 "GMT%+02d:00 (\xE6\x97\xA5\xE6\x9C\xAC)" | |
134 | +#define MSGJPN134 "\xE4\xBD\xBF\xE7\x94\xA8\xE3\x81\x97\xE3\x81\xAA\xE3\x81\x84" | |
135 | +#define MSGJPN135 "\xE8\x87\xAA\xE5\x8B\x95\xE8\xAA\x8D\xE8\xAD\x98" | |
136 | 136 | #define MSGJPN136 "OTP MD4, S/KEY" |
137 | 137 | #define MSGJPN137 "OTP MD5" |
138 | 138 | #define MSGJPN138 "OTP SHA-1" |
139 | -#define MSGJPN139 "自動認識" | |
139 | +#define MSGJPN139 "\xE8\x87\xAA\xE5\x8B\x95\xE8\xAA\x8D\xE8\xAD\x98" | |
140 | 140 | #define MSGJPN140 "ACOS" |
141 | 141 | #define MSGJPN141 "VAX VMS" |
142 | 142 | #define MSGJPN142 "IRMX" |
143 | 143 | #define MSGJPN143 "ACOS-4" |
144 | 144 | #define MSGJPN144 "Stratus" |
145 | -#define MSGJPN145 "フォルダを変更できません." | |
146 | -#define MSGJPN146 "フォルダを作成できません." | |
147 | -#define MSGJPN147 "フォルダを削除できません." | |
148 | -#define MSGJPN148 "フォルダを削除できません." | |
149 | -#define MSGJPN149 "ファイルを削除できません." | |
150 | -#define MSGJPN150 "ファイルを削除できません." | |
151 | -#define MSGJPN151 "ファイル名変更ができません." | |
152 | -#define MSGJPN152 "テンポラリフォルダ「%s」がありません" | |
153 | -#define MSGJPN153 "フォルダ「%s」を使用します" | |
154 | -#define MSGJPN154 "接続" | |
155 | -#define MSGJPN155 "クイック接続" | |
156 | -#define MSGJPN156 "切断" | |
157 | -#define MSGJPN157 "ダウンロード" | |
158 | -#define MSGJPN158 "アップロード" | |
159 | -#define MSGJPN159 "ミラーリングアップロード" | |
160 | -#define MSGJPN160 "削除" | |
161 | -#define MSGJPN161 "名前変更" | |
162 | -#define MSGJPN162 "フォルダ作成" | |
163 | -#define MSGJPN163 "一つ上のフォルダへ" | |
164 | -#define MSGJPN164 "フォルダの移動" | |
165 | -#define MSGJPN165 "アスキー転送モード" | |
166 | -#define MSGJPN166 "バイナリ転送モード" | |
167 | -#define MSGJPN167 "ファイル名で転送モード切替え" | |
168 | -#define MSGJPN168 "表示を更新" | |
169 | -#define MSGJPN169 "一覧" | |
170 | -#define MSGJPN170 "詳細" | |
171 | -#define MSGJPN171 "ホストの漢字コードはEUC" | |
172 | -#define MSGJPN172 "ホストの漢字コードはJIS" | |
173 | -#define MSGJPN173 "漢字コードの変換なし" | |
174 | -#define MSGJPN174 "半角カナを全角に変換" | |
175 | -#define MSGJPN175 "フォルダ同時移動" | |
176 | -#define MSGJPN176 "受信中止" | |
177 | -#define MSGJPN177 "設定名「%s」はありません." | |
178 | -#define MSGJPN178 "設定名が指定されていません." | |
179 | -#define MSGJPN179 "ホスト名と設定名の両方が指定されています." | |
180 | -#define MSGJPN180 "オプション「%s」が間違っています." | |
181 | -#define MSGJPN181 "ホスト名と設定名の両方が指定されています." | |
182 | -#define MSGJPN182 "ビューワの起動に失敗しました. (ERROR=%d)" | |
183 | -#define MSGJPN183 "JRE32.DLL 無し" | |
184 | -#define MSGJPN184 "JRE32.DLL Ver %x.%x (C) 山田和夫さん" | |
185 | -#define MSGJPN185 "フォルダを選択してください" | |
186 | -#define MSGJPN186 "ユーザ" | |
187 | -#define MSGJPN187 "転送1" | |
188 | -#define MSGJPN188 "転送2" | |
189 | -#define MSGJPN189 "転送3" | |
190 | -#define MSGJPN190 "ミラーリング" | |
191 | -#define MSGJPN191 "操作" | |
192 | -#define MSGJPN192 "表示" | |
193 | -#define MSGJPN193 "接続/切断" | |
145 | +#define MSGJPN145 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x82\x92\xE5\xA4\x89\xE6\x9B\xB4\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
146 | +#define MSGJPN146 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x82\x92\xE4\xBD\x9C\xE6\x88\x90\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
147 | +#define MSGJPN147 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x82\x92\xE5\x89\x8A\xE9\x99\xA4\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
148 | +#define MSGJPN148 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x82\x92\xE5\x89\x8A\xE9\x99\xA4\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
149 | +#define MSGJPN149 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x82\x92\xE5\x89\x8A\xE9\x99\xA4\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
150 | +#define MSGJPN150 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x82\x92\xE5\x89\x8A\xE9\x99\xA4\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
151 | +#define MSGJPN151 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D\xE5\xA4\x89\xE6\x9B\xB4\xE3\x81\x8C\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
152 | +#define MSGJPN152 "\xE3\x83\x86\xE3\x83\xB3\xE3\x83\x9D\xE3\x83\xA9\xE3\x83\xAA\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x80\x8C%s\xE3\x80\x8D\xE3\x81\x8C\xE3\x81\x82\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
153 | +#define MSGJPN153 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x80\x8C%s\xE3\x80\x8D\xE3\x82\x92\xE4\xBD\xBF\xE7\x94\xA8\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99" | |
154 | +#define MSGJPN154 "\xE6\x8E\xA5\xE7\xB6\x9A" | |
155 | +#define MSGJPN155 "\xE3\x82\xAF\xE3\x82\xA4\xE3\x83\x83\xE3\x82\xAF\xE6\x8E\xA5\xE7\xB6\x9A" | |
156 | +#define MSGJPN156 "\xE5\x88\x87\xE6\x96\xAD" | |
157 | +#define MSGJPN157 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
158 | +#define MSGJPN158 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
159 | +#define MSGJPN159 "\xE3\x83\x9F\xE3\x83\xA9\xE3\x83\xBC\xE3\x83\xAA\xE3\x83\xB3\xE3\x82\xB0\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
160 | +#define MSGJPN160 "\xE5\x89\x8A\xE9\x99\xA4" | |
161 | +#define MSGJPN161 "\xE5\x90\x8D\xE5\x89\x8D\xE5\xA4\x89\xE6\x9B\xB4" | |
162 | +#define MSGJPN162 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90" | |
163 | +#define MSGJPN163 "\xE4\xB8\x80\xE3\x81\xA4\xE4\xB8\x8A\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x81\xB8" | |
164 | +#define MSGJPN164 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x81\xAE\xE7\xA7\xBB\xE5\x8B\x95" | |
165 | +#define MSGJPN165 "\xE3\x82\xA2\xE3\x82\xB9\xE3\x82\xAD\xE3\x83\xBC\xE8\xBB\xA2\xE9\x80\x81\xE3\x83\xA2\xE3\x83\xBC\xE3\x83\x89" | |
166 | +#define MSGJPN166 "\xE3\x83\x90\xE3\x82\xA4\xE3\x83\x8A\xE3\x83\xAA\xE8\xBB\xA2\xE9\x80\x81\xE3\x83\xA2\xE3\x83\xBC\xE3\x83\x89" | |
167 | +#define MSGJPN167 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D\xE3\x81\xA7\xE8\xBB\xA2\xE9\x80\x81\xE3\x83\xA2\xE3\x83\xBC\xE3\x83\x89\xE5\x88\x87\xE6\x9B\xBF\xE3\x81\x88" | |
168 | +#define MSGJPN168 "\xE8\xA1\xA8\xE7\xA4\xBA\xE3\x82\x92\xE6\x9B\xB4\xE6\x96\xB0" | |
169 | +#define MSGJPN169 "\xE4\xB8\x80\xE8\xA6\xA7" | |
170 | +#define MSGJPN170 "\xE8\xA9\xB3\xE7\xB4\xB0" | |
171 | +#define MSGJPN171 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAF\x45UC" | |
172 | +#define MSGJPN172 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAFJIS" | |
173 | +#define MSGJPN173 "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAE\xE5\xA4\x89\xE6\x8F\x9B\xE3\x81\xAA\xE3\x81\x97" | |
174 | +#define MSGJPN174 "\xE5\x8D\x8A\xE8\xA7\x92\xE3\x82\xAB\xE3\x83\x8A\xE3\x82\x92\xE5\x85\xA8\xE8\xA7\x92\xE3\x81\xAB\xE5\xA4\x89\xE6\x8F\x9B" | |
175 | +#define MSGJPN175 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE5\x90\x8C\xE6\x99\x82\xE7\xA7\xBB\xE5\x8B\x95" | |
176 | +#define MSGJPN176 "\xE5\x8F\x97\xE4\xBF\xA1\xE4\xB8\xAD\xE6\xAD\xA2" | |
177 | +#define MSGJPN177 "\xE8\xA8\xAD\xE5\xAE\x9A\xE5\x90\x8D\xE3\x80\x8C%s\xE3\x80\x8D\xE3\x81\xAF\xE3\x81\x82\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
178 | +#define MSGJPN178 "\xE8\xA8\xAD\xE5\xAE\x9A\xE5\x90\x8D\xE3\x81\x8C\xE6\x8C\x87\xE5\xAE\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93." | |
179 | +#define MSGJPN179 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D\xE3\x81\xA8\xE8\xA8\xAD\xE5\xAE\x9A\xE5\x90\x8D\xE3\x81\xAE\xE4\xB8\xA1\xE6\x96\xB9\xE3\x81\x8C\xE6\x8C\x87\xE5\xAE\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
180 | +#define MSGJPN180 "\xE3\x82\xAA\xE3\x83\x97\xE3\x82\xB7\xE3\x83\xA7\xE3\x83\xB3\xE3\x80\x8C%s\xE3\x80\x8D\xE3\x81\x8C\xE9\x96\x93\xE9\x81\x95\xE3\x81\xA3\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
181 | +#define MSGJPN181 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D\xE3\x81\xA8\xE8\xA8\xAD\xE5\xAE\x9A\xE5\x90\x8D\xE3\x81\xAE\xE4\xB8\xA1\xE6\x96\xB9\xE3\x81\x8C\xE6\x8C\x87\xE5\xAE\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
182 | +#define MSGJPN182 "\xE3\x83\x93\xE3\x83\xA5\xE3\x83\xBC\xE3\x83\xAF\xE3\x81\xAE\xE8\xB5\xB7\xE5\x8B\x95\xE3\x81\xAB\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F. (ERROR=%d)" | |
183 | +#define MSGJPN183 "JRE32.DLL \xE7\x84\xA1\xE3\x81\x97" | |
184 | +#define MSGJPN184 "JRE32.DLL Ver %x.%x (C) \xE5\xB1\xB1\xE7\x94\xB0\xE5\x92\x8C\xE5\xA4\xAB\xE3\x81\x95\xE3\x82\x93" | |
185 | +#define MSGJPN185 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE3\x82\x92\xE9\x81\xB8\xE6\x8A\x9E\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x8F\xE3\x81\xA0\xE3\x81\x95\xE3\x81\x84" | |
186 | +#define MSGJPN186 "\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6" | |
187 | +#define MSGJPN187 "\xE8\xBB\xA2\xE9\x80\x81\xEF\xBC\x91" | |
188 | +#define MSGJPN188 "\xE8\xBB\xA2\xE9\x80\x81\xEF\xBC\x92" | |
189 | +#define MSGJPN189 "\xE8\xBB\xA2\xE9\x80\x81\xEF\xBC\x93" | |
190 | +#define MSGJPN190 "\xE3\x83\x9F\xE3\x83\xA9\xE3\x83\xBC\xE3\x83\xAA\xE3\x83\xB3\xE3\x82\xB0" | |
191 | +#define MSGJPN191 "\xE6\x93\x8D\xE4\xBD\x9C" | |
192 | +#define MSGJPN192 "\xE8\xA1\xA8\xE7\xA4\xBA" | |
193 | +#define MSGJPN193 "\xE6\x8E\xA5\xE7\xB6\x9A/\xE5\x88\x87\xE6\x96\xAD" | |
194 | 194 | #define MSGJPN194 "FireWall" |
195 | -#define MSGJPN195 "ツール" | |
196 | -#define MSGJPN196 "サウンド" | |
197 | -#define MSGJPN197 "その他" | |
198 | -#define MSGJPN198 "オプション" | |
199 | -#define MSGJPN199 "ファイル名" | |
200 | -#define MSGJPN200 "ファイル名" | |
201 | -#define MSGJPN201 "属性" | |
202 | -#define MSGJPN202 "ファイル名" | |
203 | -#define MSGJPN203 "ファイル名" | |
204 | -#define MSGJPN204 "FWユーザ名→ FWパスワード→ SITE ホスト名" | |
205 | -#define MSGJPN205 "FWユーザ名→ FWパスワード→ USER ユーザ名@ホスト名" | |
206 | -#define MSGJPN206 "FWユーザ名→ FWパスワード" | |
207 | -#define MSGJPN207 "USER ユーザ名@ホスト名" | |
208 | -#define MSGJPN208 "OPEN ホスト名" | |
195 | +#define MSGJPN195 "\xE3\x83\x84\xE3\x83\xBC\xE3\x83\xAB" | |
196 | +#define MSGJPN196 "\xE3\x82\xB5\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\x89" | |
197 | +#define MSGJPN197 "\xE3\x81\x9D\xE3\x81\xAE\xE4\xBB\x96" | |
198 | +#define MSGJPN198 "\xE3\x82\xAA\xE3\x83\x97\xE3\x82\xB7\xE3\x83\xA7\xE3\x83\xB3" | |
199 | +#define MSGJPN199 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D" | |
200 | +#define MSGJPN200 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D" | |
201 | +#define MSGJPN201 "\xE5\xB1\x9E\xE6\x80\xA7" | |
202 | +#define MSGJPN202 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D" | |
203 | +#define MSGJPN203 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D" | |
204 | +#define MSGJPN204 "FW\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D\xE2\x86\x92 FW\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE2\x86\x92 SITE \xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D" | |
205 | +#define MSGJPN205 "FW\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D\xE2\x86\x92 FW\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE2\x86\x92 USER \xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D@\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D" | |
206 | +#define MSGJPN206 "FW\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D\xE2\x86\x92 FW\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89" | |
207 | +#define MSGJPN207 "USER \xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D@\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D" | |
208 | +#define MSGJPN208 "OPEN \xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D" | |
209 | 209 | #define MSGJPN209 "SOCKS4" |
210 | -#define MSGJPN210 "SOCKS5 (認証なし)" | |
211 | -#define MSGJPN211 "SOCKS5 (ユーザ名、パスワード認証)" | |
212 | -#define MSGJPN212 "使用しない" | |
213 | -#define MSGJPN213 "自動認識" | |
210 | +#define MSGJPN210 "SOCKS5 (\xE8\xAA\x8D\xE8\xA8\xBC\xE3\x81\xAA\xE3\x81\x97)" | |
211 | +#define MSGJPN211 "SOCKS5 (\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D\xE3\x80\x81\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE8\xAA\x8D\xE8\xA8\xBC)" | |
212 | +#define MSGJPN212 "\xE4\xBD\xBF\xE7\x94\xA8\xE3\x81\x97\xE3\x81\xAA\xE3\x81\x84" | |
213 | +#define MSGJPN213 "\xE8\x87\xAA\xE5\x8B\x95\xE8\xAA\x8D\xE8\xAD\x98" | |
214 | 214 | #define MSGJPN214 "OTP MD4,S/KEY" |
215 | 215 | #define MSGJPN215 "OTP MD5" |
216 | 216 | #define MSGJPN216 "OTP SHA-1" |
217 | -#define MSGJPN217 "ビューワの選択" | |
218 | -#define MSGJPN218 "実行ファイル\0*.exe;*.com;*.bat\0全てのファイル\0*\0" | |
219 | -#define MSGJPN219 "Waveファイル" | |
220 | -#define MSGJPN220 "ダイアルアップを切断しています." | |
221 | -#define MSGJPN221 "ダイアルアップで接続しています." | |
222 | -#define MSGJPN222 "ダイアルアップが使えません(RasDialDlg)" | |
223 | -#define MSGJPN223 "%s に接続しています..." | |
224 | -#define MSGJPN224 "不明なエラー" | |
225 | -#define MSGJPN225 "ダイアルアップ接続" | |
226 | -#define MSGJPN226 "ポートを開いています..." | |
227 | -#define MSGJPN227 "ポートが開かれました" | |
228 | -#define MSGJPN228 "ダイアル中..." | |
229 | -#define MSGJPN229 "ダイアル完了" | |
230 | -#define MSGJPN230 "全デバイスが接続されました" | |
231 | -#define MSGJPN231 "ユーザ名とパスワードを検証中..." | |
232 | -#define MSGJPN232 "再検証中..." | |
233 | -#define MSGJPN233 "パスワードを変更して下さい" | |
234 | -#define MSGJPN234 "検証が終了しました" | |
235 | -#define MSGJPN235 "接続しました" | |
236 | -#define MSGJPN236 "切断しました" | |
237 | -#define MSGJPN237 "接続処理中..." | |
238 | -#define MSGJPN238 "%s への接続" | |
239 | -#define MSGJPN239 "# このファイルは編集しないでください。\n" | |
240 | -#define MSGJPN240 "INIファイルに設定が保存できません" | |
241 | -#define MSGJPN241 "送信はタイムアウトで失敗しました." | |
242 | -#define MSGJPN242 "受信はタイムアウトで失敗しました." | |
243 | -#define MSGJPN243 "受信はタイムアウトで失敗しました." | |
244 | -#define MSGJPN244 "固定長の受信が失敗しました" | |
245 | -#define MSGJPN245 "ローカル" | |
246 | -#define MSGJPN246 "ホスト" | |
247 | -#define MSGJPN247 "選択%d個(%s)" | |
248 | -#define MSGJPN248 "ローカル空 %s" | |
249 | -#define MSGJPN249 "転送待ちファイル%d個" | |
250 | -#define MSGJPN250 "受信中 %s" | |
251 | -#define MSGJPN251 "Err:シード文字列" | |
252 | -#define MSGJPN252 "Err:シード文字列" | |
253 | -#define MSGJPN253 "Err:シーケンス番号" | |
254 | -#define MSGJPN254 "MS Pゴシック" | |
255 | -#define MSGJPN255 "アップロード(&U)" | |
256 | -#define MSGJPN256 "名前を変えてアップロード(&P)..." | |
257 | -#define MSGJPN257 "全てをアップロード" | |
258 | -#define MSGJPN258 "削除(&R)" | |
259 | -#define MSGJPN259 "名前変更(&N)..." | |
260 | -#define MSGJPN260 "フォルダ作成(&K)..." | |
261 | -#define MSGJPN261 "ファイル容量計算(&Z)" | |
262 | -#define MSGJPN262 "最新の情報に更新(&F)" | |
263 | -#define MSGJPN263 "ダウンロード(&D)" | |
264 | -#define MSGJPN264 "名前を変えてダウンロード(&W)..." | |
265 | -#define MSGJPN265 "ファイルとしてダウンロード(&I)" | |
266 | -#define MSGJPN266 "全てをダウンロード" | |
267 | -#define MSGJPN267 "削除(&R)" | |
268 | -#define MSGJPN268 "名前変更(&N)..." | |
269 | -#define MSGJPN269 "属性変更(&A)..." | |
270 | -#define MSGJPN270 "フォルダ作成(&K)..." | |
271 | -#define MSGJPN271 "URLをクリップボードへコピー(&C)" | |
272 | -#define MSGJPN272 "ファイル容量計算(&Z)" | |
273 | -#define MSGJPN273 "最新の情報に更新(&F)" | |
274 | -#define MSGJPN274 "開く(&O)" | |
275 | -#define MSGJPN275 "%sで開く(&%d)" | |
276 | -#define MSGJPN276 "WS_FTP.INI\0ws_ftp.ini\0全てのファイル\0*\0" | |
277 | -#define MSGJPN277 "Waveファイル\0*.wav\0全てのファイル\0*\0" | |
278 | -#define MSGJPN278 "理由:%s" | |
279 | -#define MSGJPN279 "Listenソケットが取得できません" | |
280 | -#define MSGJPN280 "Dataソケットが取得できません" | |
281 | -#define MSGJPN281 "PASVモードで接続できません" | |
282 | -#define MSGJPN282 "INIファイル名が指定されていません" | |
283 | -#define MSGJPN283 "INIファイル指定:" | |
217 | +#define MSGJPN217 "\xE3\x83\x93\xE3\x83\xA5\xE3\x83\xBC\xE3\x83\xAF\xE3\x81\xAE\xE9\x81\xB8\xE6\x8A\x9E" | |
218 | +#define MSGJPN218 "\xE5\xAE\x9F\xE8\xA1\x8C\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*.exe;*.com;*.bat\0\xE5\x85\xA8\xE3\x81\xA6\xE3\x81\xAEファイル\0*\0" | |
219 | +#define MSGJPN219 "Wave\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB" | |
220 | +#define MSGJPN220 "\xE3\x83\x80\xE3\x82\xA4\xE3\x82\xA2\xE3\x83\xAB\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x82\x92\xE5\x88\x87\xE6\x96\xAD\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
221 | +#define MSGJPN221 "\xE3\x83\x80\xE3\x82\xA4\xE3\x82\xA2\xE3\x83\xAB\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x81\xA7\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99." | |
222 | +#define MSGJPN222 "\xE3\x83\x80\xE3\x82\xA4\xE3\x82\xA2\xE3\x83\xAB\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x81\x8C\xE4\xBD\xBF\xE3\x81\x88\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93(RasDialDlg)" | |
223 | +#define MSGJPN223 "%s \xE3\x81\xAB\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99..." | |
224 | +#define MSGJPN224 "\xE4\xB8\x8D\xE6\x98\x8E\xE3\x81\xAA\xE3\x82\xA8\xE3\x83\xA9\xE3\x83\xBC" | |
225 | +#define MSGJPN225 "\xE3\x83\x80\xE3\x82\xA4\xE3\x82\xA2\xE3\x83\xAB\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE6\x8E\xA5\xE7\xB6\x9A" | |
226 | +#define MSGJPN226 "\xE3\x83\x9D\xE3\x83\xBC\xE3\x83\x88\xE3\x82\x92\xE9\x96\x8B\xE3\x81\x84\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x99..." | |
227 | +#define MSGJPN227 "\xE3\x83\x9D\xE3\x83\xBC\xE3\x83\x88\xE3\x81\x8C\xE9\x96\x8B\xE3\x81\x8B\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
228 | +#define MSGJPN228 "\xE3\x83\x80\xE3\x82\xA4\xE3\x82\xA2\xE3\x83\xAB\xE4\xB8\xAD..." | |
229 | +#define MSGJPN229 "\xE3\x83\x80\xE3\x82\xA4\xE3\x82\xA2\xE3\x83\xAB\xE5\xAE\x8C\xE4\xBA\x86" | |
230 | +#define MSGJPN230 "\xE5\x85\xA8\xE3\x83\x87\xE3\x83\x90\xE3\x82\xA4\xE3\x82\xB9\xE3\x81\x8C\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
231 | +#define MSGJPN231 "\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D\xE3\x81\xA8\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE6\xA4\x9C\xE8\xA8\xBC\xE4\xB8\xAD..." | |
232 | +#define MSGJPN232 "\xE5\x86\x8D\xE6\xA4\x9C\xE8\xA8\xBC\xE4\xB8\xAD..." | |
233 | +#define MSGJPN233 "\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE5\xA4\x89\xE6\x9B\xB4\xE3\x81\x97\xE3\x81\xA6\xE4\xB8\x8B\xE3\x81\x95\xE3\x81\x84" | |
234 | +#define MSGJPN234 "\xE6\xA4\x9C\xE8\xA8\xBC\xE3\x81\x8C\xE7\xB5\x82\xE4\xBA\x86\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
235 | +#define MSGJPN235 "\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
236 | +#define MSGJPN236 "\xE5\x88\x87\xE6\x96\xAD\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
237 | +#define MSGJPN237 "\xE6\x8E\xA5\xE7\xB6\x9A\xE5\x87\xA6\xE7\x90\x86\xE4\xB8\xAD..." | |
238 | +#define MSGJPN238 "%s \xE3\x81\xB8\xE3\x81\xAE\xE6\x8E\xA5\xE7\xB6\x9A" | |
239 | +#define MSGJPN239 "# \xE3\x81\x93\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAF\xE7\xB7\xA8\xE9\x9B\x86\xE3\x81\x97\xE3\x81\xAA\xE3\x81\x84\xE3\x81\xA7\xE3\x81\x8F\xE3\x81\xA0\xE3\x81\x95\xE3\x81\x84\xE3\x80\x82\n" | |
240 | +#define MSGJPN240 "INI\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAB\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x81\x8C\xE4\xBF\x9D\xE5\xAD\x98\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
241 | +#define MSGJPN241 "\xE9\x80\x81\xE4\xBF\xA1\xE3\x81\xAF\xE3\x82\xBF\xE3\x82\xA4\xE3\x83\xA0\xE3\x82\xA2\xE3\x82\xA6\xE3\x83\x88\xE3\x81\xA7\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
242 | +#define MSGJPN242 "\xE5\x8F\x97\xE4\xBF\xA1\xE3\x81\xAF\xE3\x82\xBF\xE3\x82\xA4\xE3\x83\xA0\xE3\x82\xA2\xE3\x82\xA6\xE3\x83\x88\xE3\x81\xA7\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
243 | +#define MSGJPN243 "\xE5\x8F\x97\xE4\xBF\xA1\xE3\x81\xAF\xE3\x82\xBF\xE3\x82\xA4\xE3\x83\xA0\xE3\x82\xA2\xE3\x82\xA6\xE3\x83\x88\xE3\x81\xA7\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F." | |
244 | +#define MSGJPN244 "\xE5\x9B\xBA\xE5\xAE\x9A\xE9\x95\xB7\xE3\x81\xAE\xE5\x8F\x97\xE4\xBF\xA1\xE3\x81\x8C\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
245 | +#define MSGJPN245 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB" | |
246 | +#define MSGJPN246 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88" | |
247 | +#define MSGJPN247 "\xE9\x81\xB8\xE6\x8A\x9E%d\xE5\x80\x8B\xEF\xBC\x88%s\xEF\xBC\x89" | |
248 | +#define MSGJPN248 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xE7\xA9\xBA %s" | |
249 | +#define MSGJPN249 "\xE8\xBB\xA2\xE9\x80\x81\xE5\xBE\x85\xE3\x81\xA1\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB%d\xE5\x80\x8B" | |
250 | +#define MSGJPN250 "\xE5\x8F\x97\xE4\xBF\xA1\xE4\xB8\xAD %s" | |
251 | +#define MSGJPN251 "Err\xEF\xBC\x9A\xE3\x82\xB7\xE3\x83\xBC\xE3\x83\x89\xE6\x96\x87\xE5\xAD\x97\xE5\x88\x97" | |
252 | +#define MSGJPN252 "Err\xEF\xBC\x9A\xE3\x82\xB7\xE3\x83\xBC\xE3\x83\x89\xE6\x96\x87\xE5\xAD\x97\xE5\x88\x97" | |
253 | +#define MSGJPN253 "Err\xEF\xBC\x9A\xE3\x82\xB7\xE3\x83\xBC\xE3\x82\xB1\xE3\x83\xB3\xE3\x82\xB9\xE7\x95\xAA\xE5\x8F\xB7" | |
254 | +#define MSGJPN254 "\xEF\xBC\xAD\xEF\xBC\xB3 \xEF\xBC\xB0\xE3\x82\xB4\xE3\x82\xB7\xE3\x83\x83\xE3\x82\xAF" | |
255 | +#define MSGJPN255 "\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89(&U)" | |
256 | +#define MSGJPN256 "\xE5\x90\x8D\xE5\x89\x8D\xE3\x82\x92\xE5\xA4\x89\xE3\x81\x88\xE3\x81\xA6\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89(&P)..." | |
257 | +#define MSGJPN257 "\xE5\x85\xA8\xE3\x81\xA6\xE3\x82\x92\xE3\x82\xA2\xE3\x83\x83\xE3\x83\x97\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
258 | +#define MSGJPN258 "\xE5\x89\x8A\xE9\x99\xA4(&R)" | |
259 | +#define MSGJPN259 "\xE5\x90\x8D\xE5\x89\x8D\xE5\xA4\x89\xE6\x9B\xB4(&N)..." | |
260 | +#define MSGJPN260 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90(&K)..." | |
261 | +#define MSGJPN261 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\xAE\xB9\xE9\x87\x8F\xE8\xA8\x88\xE7\xAE\x97(&Z)" | |
262 | +#define MSGJPN262 "\xE6\x9C\x80\xE6\x96\xB0\xE3\x81\xAE\xE6\x83\x85\xE5\xA0\xB1\xE3\x81\xAB\xE6\x9B\xB4\xE6\x96\xB0(&F)" | |
263 | +#define MSGJPN263 "\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89(&D)" | |
264 | +#define MSGJPN264 "\xE5\x90\x8D\xE5\x89\x8D\xE3\x82\x92\xE5\xA4\x89\xE3\x81\x88\xE3\x81\xA6\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89(&W)..." | |
265 | +#define MSGJPN265 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xA8\xE3\x81\x97\xE3\x81\xA6\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89(&I)" | |
266 | +#define MSGJPN266 "\xE5\x85\xA8\xE3\x81\xA6\xE3\x82\x92\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89" | |
267 | +#define MSGJPN267 "\xE5\x89\x8A\xE9\x99\xA4(&R)" | |
268 | +#define MSGJPN268 "\xE5\x90\x8D\xE5\x89\x8D\xE5\xA4\x89\xE6\x9B\xB4(&N)..." | |
269 | +#define MSGJPN269 "\xE5\xB1\x9E\xE6\x80\xA7\xE5\xA4\x89\xE6\x9B\xB4(&A)..." | |
270 | +#define MSGJPN270 "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x80\xE4\xBD\x9C\xE6\x88\x90(&K)..." | |
271 | +#define MSGJPN271 "URL\xE3\x82\x92\xE3\x82\xAF\xE3\x83\xAA\xE3\x83\x83\xE3\x83\x97\xE3\x83\x9C\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xB8\xE3\x82\xB3\xE3\x83\x94\xE3\x83\xBC(&C)" | |
272 | +#define MSGJPN272 "\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\xAE\xB9\xE9\x87\x8F\xE8\xA8\x88\xE7\xAE\x97(&Z)" | |
273 | +#define MSGJPN273 "\xE6\x9C\x80\xE6\x96\xB0\xE3\x81\xAE\xE6\x83\x85\xE5\xA0\xB1\xE3\x81\xAB\xE6\x9B\xB4\xE6\x96\xB0(&F)" | |
274 | +#define MSGJPN274 "\xE9\x96\x8B\xE3\x81\x8F(&O)" | |
275 | +#define MSGJPN275 "%s\xE3\x81\xA7\xE9\x96\x8B\xE3\x81\x8F(&%d)" | |
276 | +#define MSGJPN276 "WS_FTP.INI\0ws_ftp.ini\0\xE5\x85\xA8\xE3\x81\xA6\xE3\x81\xAEファイル\0*\0" | |
277 | +#define MSGJPN277 "Wave\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*.wav\0\xE5\x85\xA8\xE3\x81\xA6\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*\0" | |
278 | +#define MSGJPN278 "\xE7\x90\x86\xE7\x94\xB1\xEF\xBC\x9A%s" | |
279 | +#define MSGJPN279 "Listen\xE3\x82\xBD\xE3\x82\xB1\xE3\x83\x83\xE3\x83\x88\xE3\x81\x8C\xE5\x8F\x96\xE5\xBE\x97\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
280 | +#define MSGJPN280 "Data\xE3\x82\xBD\xE3\x82\xB1\xE3\x83\x83\xE3\x83\x88\xE3\x81\x8C\xE5\x8F\x96\xE5\xBE\x97\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
281 | +#define MSGJPN281 "PASV\xE3\x83\xA2\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xA7\xE6\x8E\xA5\xE7\xB6\x9A\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
282 | +#define MSGJPN282 "INI\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D\xE3\x81\x8C\xE6\x8C\x87\xE5\xAE\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
283 | +#define MSGJPN283 "INI\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE6\x8C\x87\xE5\xAE\x9A\xEF\xBC\x9A" | |
284 | 284 | #define MSGJPN284 "http://www2.biglobe.ne.jp/~sota/" |
285 | -#define MSGJPN285 "レジストリエディタが起動できませんでした" | |
286 | -#define MSGJPN286 "設定ファイルの保存" | |
287 | -#define MSGJPN287 "Regファイル\0*.reg\0全てのファイル\0*\0" | |
288 | -#define MSGJPN288 "INIファイル\0*.ini\0全てのファイル\0*\0" | |
285 | +#define MSGJPN285 "\xE3\x83\xAC\xE3\x82\xB8\xE3\x82\xB9\xE3\x83\x88\xE3\x83\xAA\xE3\x82\xA8\xE3\x83\x87\xE3\x82\xA3\xE3\x82\xBF\xE3\x81\x8C\xE8\xB5\xB7\xE5\x8B\x95\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x81\xA7\xE3\x81\x97\xE3\x81\x9F" | |
286 | +#define MSGJPN286 "\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAE\xE4\xBF\x9D\xE5\xAD\x98" | |
287 | +#define MSGJPN287 "Reg\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*.reg\0\xE5\x85\xA8\xE3\x81\xA6\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*\0" | |
288 | +#define MSGJPN288 "INI\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*.ini\0\xE5\x85\xA8\xE3\x81\xA6\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*\0" | |
289 | 289 | #define MSGJPN289 "Agilent Logic analyzer" |
290 | -#define MSGJPN290 "Regファイル\0*.reg\0INIファイル\0*.ini\0全てのファイル\0*\0" | |
291 | -#define MSGJPN291 "設定をファイルから復元" | |
292 | -#define MSGJPN292 "設定をファイルから復元するためには、FFFTPを再起動してください。" | |
293 | -#define MSGJPN293 "設定ファイルは拡張子が.regか.iniでなければなりません。" | |
294 | -#define MSGJPN294 "USER FWユーザ名:FWパスワード@ホスト名" | |
295 | -#define MSGJPN295 "シバソク WL" | |
296 | -#define MSGJPN296 "読み取り専用ファイルです。読み取り専用属性を解除しますか?" | |
297 | -#define MSGJPN297 "%s は不正なファイル名です。\r\nこのファイルはダウンロードされません。" | |
298 | -#define MSGJPN298 "OLEの初期化に失敗しました。" | |
299 | -#define MSGJPN299 "コマンドラインにマスターパスワードが指定されていません" | |
300 | -#define MSGJPN300 "デフォルトのマスターパスワードが使われます.\r\nマルウェアの攻撃を防ぐため,固有のマスターパスワードを設定することをおすすめします" | |
301 | -#define MSGJPN301 "マスターパスワードが設定と一致しません.安全のため設定の保存を行いません." | |
302 | -#define MSGJPN302 "確認用データが壊れているため,マスターパスワードの正当性を確認できませんでした." | |
303 | -#define MSGJPN303 "マスターパスワードを変更しました" | |
304 | -#define MSGJPN304 "指定されたマスターパスワードが登録されたものと一致しません.\r\n再度入力しますか?\r\n「いいえ」を選ぶと記憶されたFTPパスワードは利用できません." | |
290 | +#define MSGJPN290 "Reg\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*.reg\0INI\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*.ini\0\xE5\x85\xA8\xE3\x81\xA6\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\0*\0" | |
291 | +#define MSGJPN291 "\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x82\x92\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\x8B\xE3\x82\x89\xE5\xBE\xA9\xE5\x85\x83" | |
292 | +#define MSGJPN292 "\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x82\x92\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\x8B\xE3\x82\x89\xE5\xBE\xA9\xE5\x85\x83\xE3\x81\x99\xE3\x82\x8B\xE3\x81\x9F\xE3\x82\x81\xE3\x81\xAB\xE3\x81\xAF\xE3\x80\x81\x46\x46\x46TP\xE3\x82\x92\xE5\x86\x8D\xE8\xB5\xB7\xE5\x8B\x95\xE3\x81\x97\xE3\x81\xA6\xE3\x81\x8F\xE3\x81\xA0\xE3\x81\x95\xE3\x81\x84\xE3\x80\x82" | |
293 | +#define MSGJPN293 "\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAF\xE6\x8B\xA1\xE5\xBC\xB5\xE5\xAD\x90\xE3\x81\x8C.reg\xE3\x81\x8B.ini\xE3\x81\xA7\xE3\x81\xAA\xE3\x81\x91\xE3\x82\x8C\xE3\x81\xB0\xE3\x81\xAA\xE3\x82\x8A\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x80\x82" | |
294 | +#define MSGJPN294 "USER FW\xE3\x83\xA6\xE3\x83\xBC\xE3\x82\xB6\xE5\x90\x8D:FW\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89@\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE5\x90\x8D" | |
295 | +#define MSGJPN295 "\xE3\x82\xB7\xE3\x83\x90\xE3\x82\xBD\xE3\x82\xAF WL" | |
296 | +#define MSGJPN296 "\xE8\xAA\xAD\xE3\x81\xBF\xE5\x8F\x96\xE3\x82\x8A\xE5\xB0\x82\xE7\x94\xA8\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xA7\xE3\x81\x99\xE3\x80\x82\xE8\xAA\xAD\xE3\x81\xBF\xE5\x8F\x96\xE3\x82\x8A\xE5\xB0\x82\xE7\x94\xA8\xE5\xB1\x9E\xE6\x80\xA7\xE3\x82\x92\xE8\xA7\xA3\xE9\x99\xA4\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F" | |
297 | +#define MSGJPN297 "%s \xE3\x81\xAF\xE4\xB8\x8D\xE6\xAD\xA3\xE3\x81\xAA\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE5\x90\x8D\xE3\x81\xA7\xE3\x81\x99\xE3\x80\x82\r\n\xE3\x81\x93\xE3\x81\xAE\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAF\xE3\x83\x80\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x89\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x80\x82" | |
298 | +#define MSGJPN298 "OLE\xE3\x81\xAE\xE5\x88\x9D\xE6\x9C\x9F\xE5\x8C\x96\xE3\x81\xAB\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F\xE3\x80\x82" | |
299 | +#define MSGJPN299 "\xE3\x82\xB3\xE3\x83\x9E\xE3\x83\xB3\xE3\x83\x89\xE3\x83\xA9\xE3\x82\xA4\xE3\x83\xB3\xE3\x81\xAB\xE3\x83\x9E\xE3\x82\xB9\xE3\x82\xBF\xE3\x83\xBC\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x81\x8C\xE6\x8C\x87\xE5\xAE\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\xA6\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93" | |
300 | +#define MSGJPN300 "\xE3\x83\x87\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xAB\xE3\x83\x88\xE3\x81\xAE\xE3\x83\x9E\xE3\x82\xB9\xE3\x82\xBF\xE3\x83\xBC\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x81\x8C\xE4\xBD\xBF\xE3\x82\x8F\xE3\x82\x8C\xE3\x81\xBE\xE3\x81\x99\xEF\xBC\x8E\r\n\xE3\x83\x9E\xE3\x83\xAB\xE3\x82\xA6\xE3\x82\xA7\xE3\x82\xA2\xE3\x81\xAE\xE6\x94\xBB\xE6\x92\x83\xE3\x82\x92\xE9\x98\xB2\xE3\x81\x90\xE3\x81\x9F\xE3\x82\x81\xEF\xBC\x8C\xE5\x9B\xBA\xE6\x9C\x89\xE3\x81\xAE\xE3\x83\x9E\xE3\x82\xB9\xE3\x82\xBF\xE3\x83\xBC\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x81\x99\xE3\x82\x8B\xE3\x81\x93\xE3\x81\xA8\xE3\x82\x92\xE3\x81\x8A\xE3\x81\x99\xE3\x81\x99\xE3\x82\x81\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99" | |
301 | +#define MSGJPN301 "\xE3\x83\x9E\xE3\x82\xB9\xE3\x82\xBF\xE3\x83\xBC\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x81\x8C\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x81\xA8\xE4\xB8\x80\xE8\x87\xB4\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xEF\xBC\x8E\xE5\xAE\x89\xE5\x85\xA8\xE3\x81\xAE\xE3\x81\x9F\xE3\x82\x81\xE8\xA8\xAD\xE5\xAE\x9A\xE3\x81\xAE\xE4\xBF\x9D\xE5\xAD\x98\xE3\x82\x92\xE8\xA1\x8C\xE3\x81\x84\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xEF\xBC\x8E" | |
302 | +#define MSGJPN302 "\xE7\xA2\xBA\xE8\xAA\x8D\xE7\x94\xA8\xE3\x83\x87\xE3\x83\xBC\xE3\x82\xBF\xE3\x81\x8C\xE5\xA3\x8A\xE3\x82\x8C\xE3\x81\xA6\xE3\x81\x84\xE3\x82\x8B\xE3\x81\x9F\xE3\x82\x81\xEF\xBC\x8C\xE3\x83\x9E\xE3\x82\xB9\xE3\x82\xBF\xE3\x83\xBC\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAE\xE6\xAD\xA3\xE5\xBD\x93\xE6\x80\xA7\xE3\x82\x92\xE7\xA2\xBA\xE8\xAA\x8D\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xE3\x81\xA7\xE3\x81\x97\xE3\x81\x9F\xEF\xBC\x8E" | |
303 | +#define MSGJPN303 "\xE3\x83\x9E\xE3\x82\xB9\xE3\x82\xBF\xE3\x83\xBC\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE5\xA4\x89\xE6\x9B\xB4\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F" | |
304 | +#define MSGJPN304 "\xE6\x8C\x87\xE5\xAE\x9A\xE3\x81\x95\xE3\x82\x8C\xE3\x81\x9F\xE3\x83\x9E\xE3\x82\xB9\xE3\x82\xBF\xE3\x83\xBC\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x81\x8C\xE7\x99\xBB\xE9\x8C\xB2\xE3\x81\x95\xE3\x82\x8C\xE3\x81\x9F\xE3\x82\x82\xE3\x81\xAE\xE3\x81\xA8\xE4\xB8\x80\xE8\x87\xB4\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xEF\xBC\x8E\r\n\xE5\x86\x8D\xE5\xBA\xA6\xE5\x85\xA5\xE5\x8A\x9B\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x99\xE3\x81\x8B\xEF\xBC\x9F\r\n\xE3\x80\x8C\xE3\x81\x84\xE3\x81\x84\xE3\x81\x88\xE3\x80\x8D\xE3\x82\x92\xE9\x81\xB8\xE3\x81\xB6\xE3\x81\xA8\xE8\xA8\x98\xE6\x86\xB6\xE3\x81\x95\xE3\x82\x8C\xE3\x81\x9F\x46TP\xE3\x83\x91\xE3\x82\xB9\xE3\x83\xAF\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAF\xE5\x88\xA9\xE7\x94\xA8\xE3\x81\xA7\xE3\x81\x8D\xE3\x81\xBE\xE3\x81\x9B\xE3\x82\x93\xEF\xBC\x8E" | |
305 | +#define MSGJPN305 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAFShift_JIS" | |
306 | +#define MSGJPN306 "\xE3\x83\x9B\xE3\x82\xB9\xE3\x83\x88\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAFUTF-8" | |
307 | +#define MSGJPN307 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAFShift_JIS" | |
308 | +#define MSGJPN308 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAF\x45UC" | |
309 | +#define MSGJPN309 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAFJIS" | |
310 | +#define MSGJPN310 "\xE3\x83\xAD\xE3\x83\xBC\xE3\x82\xAB\xE3\x83\xAB\xE3\x81\xAE\xE6\xBC\xA2\xE5\xAD\x97\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x81\xAFUTF-8" |
@@ -0,0 +1,310 @@ | ||
1 | +#define MSGJPN001 "接続を中止しました." | |
2 | +#define MSGJPN002 "接続を中止しました." | |
3 | +#define MSGJPN003 "\r\n再接続します.\r\n" | |
4 | +#define MSGJPN004 "切断しました" | |
5 | +#define MSGJPN005 "接続が切断されました." | |
6 | +#define MSGJPN006 "FireWallにログインできません." | |
7 | +#define MSGJPN007 "ホスト %s に接続できません." | |
8 | +#define MSGJPN008 "ログインできません." | |
9 | +#define MSGJPN009 "接続できません." | |
10 | +#define MSGJPN010 "FireWallのホスト名が設定されていません." | |
11 | +#define MSGJPN011 "ホスト名がありません." | |
12 | +#define MSGJPN012 "MD5を使用します." | |
13 | +#define MSGJPN013 "SHA-1を使用します." | |
14 | +#define MSGJPN014 "MD4(S/KEY)を使用します." | |
15 | +#define MSGJPN015 "ワンタイムパスワードが処理できません" | |
16 | +#define MSGJPN016 "ホスト %s を探しています." | |
17 | +#define MSGJPN017 "%sホスト %s (%s (%d)) に接続しています." | |
18 | +#define MSGJPN018 "%sホスト %s (%d) に接続しています." | |
19 | +#define MSGJPN019 "ホスト %s が見つかりません." | |
20 | +#define MSGJPN020 "%sホスト %s (%d) に接続しています." | |
21 | +#define MSGJPN021 "SOCKSサーバ %s が見つかりません." | |
22 | +#define MSGJPN022 "SOCKSサーバ %s (%d) に接続しています。" | |
23 | +#define MSGJPN023 "SOCKSサーバに接続できません. (Err=%d)" | |
24 | +#define MSGJPN024 "SOCKSサーバに接続できません. (Err=%d)" | |
25 | +#define MSGJPN025 "接続しました." | |
26 | +#define MSGJPN026 "接続できません." | |
27 | +#define MSGJPN027 "ソケットが作成できません." | |
28 | +#define MSGJPN028 "SOCKSサーバに接続できません. (Err=%d)" | |
29 | +#define MSGJPN029 "SOCKSサーバに接続できません. (Err=%d)" | |
30 | +#define MSGJPN030 "Listenソケットが作成できません." | |
31 | +#define MSGJPN031 "PORTコマンドが受け付けられません." | |
32 | +#define MSGJPN032 "接続はユーザによって中止されました." | |
33 | +#define MSGJPN033 "SOCKSのコマンドが送れませんでした (Cmd = %04X)" | |
34 | +#define MSGJPN034 "SOCKS5のコマンドに対するリプライが受信できませんでした" | |
35 | +#define MSGJPN035 "SOCKS4のコマンドに対するリプライが受信できませんでした" | |
36 | +#define MSGJPN036 "SOCKSサーバの認証方式が異なります." | |
37 | +#define MSGJPN037 "SOCKSサーバに認証されませんでした." | |
38 | +#define MSGJPN038 "名前" | |
39 | +#define MSGJPN039 "日付" | |
40 | +#define MSGJPN040 "サイズ" | |
41 | +#define MSGJPN041 "種類" | |
42 | +#define MSGJPN042 "名前" | |
43 | +#define MSGJPN043 "日付" | |
44 | +#define MSGJPN044 "サイズ" | |
45 | +#define MSGJPN045 "種類" | |
46 | +#define MSGJPN046 "属性" | |
47 | +#define MSGJPN047 "所有者" | |
48 | +#define MSGJPN048 "テンポラリファイルが読み出せません." | |
49 | +#define MSGJPN049 "ファイル一覧の取得に失敗しました." | |
50 | +#define MSGJPN050 "検索(ローカル)" | |
51 | +#define MSGJPN051 "検索(ホスト)" | |
52 | +#define MSGJPN052 "削除: %s" | |
53 | +#define MSGJPN053 "作成: %s" | |
54 | +#define MSGJPN054 "転送: %s" | |
55 | +#define MSGJPN055 "削除: %s" | |
56 | +#define MSGJPN056 "作成: %s" | |
57 | +#define MSGJPN057 "転送: %s" | |
58 | +#define MSGJPN058 "%d個のファイルを転送します." | |
59 | +#define MSGJPN059 "転送するファイルはありません." | |
60 | +#define MSGJPN060 "%d個のフォルダを作成します." | |
61 | +#define MSGJPN061 "作成するフォルダはありません." | |
62 | +#define MSGJPN062 "%d個のファイル/フォルダを削除します." | |
63 | +#define MSGJPN063 "削除するファイル/フォルダはありません." | |
64 | +#define MSGJPN064 "名前を変更してアップロード" | |
65 | +#define MSGJPN065 "名前を変更してダウンロード" | |
66 | +#define MSGJPN066 "削除(ローカル)" | |
67 | +#define MSGJPN067 "削除(ホスト)" | |
68 | +#define MSGJPN068 "名前変更(ローカル)" | |
69 | +#define MSGJPN069 "名前変更(ホスト)" | |
70 | +#define MSGJPN070 "フォルダ作成(ローカル)" | |
71 | +#define MSGJPN071 "フォルダ作成(ホスト)" | |
72 | +#define MSGJPN072 "フォルダ変更(ローカル)" | |
73 | +#define MSGJPN073 "フォルダ変更(ホスト)" | |
74 | +#define MSGJPN074 "ローカル側のファイル容量を計算します。" | |
75 | +#define MSGJPN075 "ホスト側のファイル容量を計算します。" | |
76 | +#define MSGJPN076 "ローカル側のファイル容量" | |
77 | +#define MSGJPN077 "ホスト側のファイル容量" | |
78 | +#define MSGJPN078 "フォルダ作成" | |
79 | +#define MSGJPN079 "フォルダ作成" | |
80 | +#define MSGJPN080 "フォルダ削除" | |
81 | +#define MSGJPN081 "ファイル削除" | |
82 | +#define MSGJPN082 "フォルダ作成" | |
83 | +#define MSGJPN083 "フォルダ削除" | |
84 | +#define MSGJPN084 "ファイル削除" | |
85 | +#define MSGJPN085 "%sという名前のファイルはダウンロードできません." | |
86 | +#define MSGJPN086 "ダウンロード" | |
87 | +#define MSGJPN087 "ファイル一覧取得" | |
88 | +#define MSGJPN088 "スキップ" | |
89 | +#define MSGJPN089 "ファイル %s はスキップします." | |
90 | +#define MSGJPN090 "コマンドが受け付けられません." | |
91 | +#define MSGJPN091 "ダウンロードのために" | |
92 | +#define MSGJPN092 "コマンドが受け付けられません." | |
93 | +#define MSGJPN093 "アドレスが取得できません." | |
94 | +#define MSGJPN094 "受信はタイムアウトで失敗しました." | |
95 | +#define MSGJPN095 "ファイル %s が作成できません." | |
96 | +#define MSGJPN096 "ディスクがいっぱいで書き込めません." | |
97 | +#define MSGJPN097 "ファイル一覧の取得を中止しました." | |
98 | +#define MSGJPN098 "ファイル一覧" | |
99 | +#define MSGJPN099 "ダウンロードを中止しました. (%d Sec. %d B/S)." | |
100 | +#define MSGJPN100 "ダウンロードを中止しました." | |
101 | +#define MSGJPN101 "ファイル一覧の取得は正常終了しました. (%d Bytes)" | |
102 | +#define MSGJPN102 "ダウンロードは正常終了しました. (%d Sec. %d B/S)." | |
103 | +#define MSGJPN103 "ダウンロードは正常終了しました. (%d Bytes)" | |
104 | +#define MSGJPN104 "アップロード" | |
105 | +#define MSGJPN105 "ファイル %s が読み出せません." | |
106 | +#define MSGJPN106 "スキップ" | |
107 | +#define MSGJPN107 "ファイル %s はスキップします." | |
108 | +#define MSGJPN108 "コマンドが受け付けられません." | |
109 | +#define MSGJPN109 "アップロードのために" | |
110 | +#define MSGJPN110 "コマンドが受け付けられません." | |
111 | +#define MSGJPN111 "アドレスが取得できません." | |
112 | +#define MSGJPN112 "ファイル %s がオープンできません." | |
113 | +#define MSGJPN113 "アップロードを中止しました. (%d Sec. %d B/S)." | |
114 | +#define MSGJPN114 "アップロードを中止しました." | |
115 | +#define MSGJPN115 "アップロードは正常終了しました. (%d Sec. %d B/S)." | |
116 | +#define MSGJPN116 "アップロードは正常終了しました." | |
117 | +#define MSGJPN117 "完了" | |
118 | +#define MSGJPN118 "中止" | |
119 | +#define MSGJPN119 "バイナリ" | |
120 | +#define MSGJPN120 "アスキー" | |
121 | +#define MSGJPN121 "無変換" | |
122 | +#define MSGJPN122 "JIS" | |
123 | +#define MSGJPN123 "EUC" | |
124 | +#define MSGJPN124 "削除(ローカル)" | |
125 | +#define MSGJPN125 "削除(ホスト)" | |
126 | +#define MSGJPN126 "WS_FTP.INIファイル" | |
127 | +#define MSGJPN127 "基本" | |
128 | +#define MSGJPN128 "拡張" | |
129 | +#define MSGJPN129 "文字コード" | |
130 | +#define MSGJPN130 "ダイアルアップ" | |
131 | +#define MSGJPN131 "高度" | |
132 | +#define MSGJPN132 "ホストの設定" | |
133 | +#define MSGJPN133 "GMT%+02d:00 (日本)" | |
134 | +#define MSGJPN134 "使用しない" | |
135 | +#define MSGJPN135 "自動認識" | |
136 | +#define MSGJPN136 "OTP MD4, S/KEY" | |
137 | +#define MSGJPN137 "OTP MD5" | |
138 | +#define MSGJPN138 "OTP SHA-1" | |
139 | +#define MSGJPN139 "自動認識" | |
140 | +#define MSGJPN140 "ACOS" | |
141 | +#define MSGJPN141 "VAX VMS" | |
142 | +#define MSGJPN142 "IRMX" | |
143 | +#define MSGJPN143 "ACOS-4" | |
144 | +#define MSGJPN144 "Stratus" | |
145 | +#define MSGJPN145 "フォルダを変更できません." | |
146 | +#define MSGJPN146 "フォルダを作成できません." | |
147 | +#define MSGJPN147 "フォルダを削除できません." | |
148 | +#define MSGJPN148 "フォルダを削除できません." | |
149 | +#define MSGJPN149 "ファイルを削除できません." | |
150 | +#define MSGJPN150 "ファイルを削除できません." | |
151 | +#define MSGJPN151 "ファイル名変更ができません." | |
152 | +#define MSGJPN152 "テンポラリフォルダ「%s」がありません" | |
153 | +#define MSGJPN153 "フォルダ「%s」を使用します" | |
154 | +#define MSGJPN154 "接続" | |
155 | +#define MSGJPN155 "クイック接続" | |
156 | +#define MSGJPN156 "切断" | |
157 | +#define MSGJPN157 "ダウンロード" | |
158 | +#define MSGJPN158 "アップロード" | |
159 | +#define MSGJPN159 "ミラーリングアップロード" | |
160 | +#define MSGJPN160 "削除" | |
161 | +#define MSGJPN161 "名前変更" | |
162 | +#define MSGJPN162 "フォルダ作成" | |
163 | +#define MSGJPN163 "一つ上のフォルダへ" | |
164 | +#define MSGJPN164 "フォルダの移動" | |
165 | +#define MSGJPN165 "アスキー転送モード" | |
166 | +#define MSGJPN166 "バイナリ転送モード" | |
167 | +#define MSGJPN167 "ファイル名で転送モード切替え" | |
168 | +#define MSGJPN168 "表示を更新" | |
169 | +#define MSGJPN169 "一覧" | |
170 | +#define MSGJPN170 "詳細" | |
171 | +#define MSGJPN171 "ホストの漢字コードはEUC" | |
172 | +#define MSGJPN172 "ホストの漢字コードはJIS" | |
173 | +#define MSGJPN173 "漢字コードの変換なし" | |
174 | +#define MSGJPN174 "半角カナを全角に変換" | |
175 | +#define MSGJPN175 "フォルダ同時移動" | |
176 | +#define MSGJPN176 "受信中止" | |
177 | +#define MSGJPN177 "設定名「%s」はありません." | |
178 | +#define MSGJPN178 "設定名が指定されていません." | |
179 | +#define MSGJPN179 "ホスト名と設定名の両方が指定されています." | |
180 | +#define MSGJPN180 "オプション「%s」が間違っています." | |
181 | +#define MSGJPN181 "ホスト名と設定名の両方が指定されています." | |
182 | +#define MSGJPN182 "ビューワの起動に失敗しました. (ERROR=%d)" | |
183 | +#define MSGJPN183 "JRE32.DLL 無し" | |
184 | +#define MSGJPN184 "JRE32.DLL Ver %x.%x (C) 山田和夫さん" | |
185 | +#define MSGJPN185 "フォルダを選択してください" | |
186 | +#define MSGJPN186 "ユーザ" | |
187 | +#define MSGJPN187 "転送1" | |
188 | +#define MSGJPN188 "転送2" | |
189 | +#define MSGJPN189 "転送3" | |
190 | +#define MSGJPN190 "ミラーリング" | |
191 | +#define MSGJPN191 "操作" | |
192 | +#define MSGJPN192 "表示" | |
193 | +#define MSGJPN193 "接続/切断" | |
194 | +#define MSGJPN194 "FireWall" | |
195 | +#define MSGJPN195 "ツール" | |
196 | +#define MSGJPN196 "サウンド" | |
197 | +#define MSGJPN197 "その他" | |
198 | +#define MSGJPN198 "オプション" | |
199 | +#define MSGJPN199 "ファイル名" | |
200 | +#define MSGJPN200 "ファイル名" | |
201 | +#define MSGJPN201 "属性" | |
202 | +#define MSGJPN202 "ファイル名" | |
203 | +#define MSGJPN203 "ファイル名" | |
204 | +#define MSGJPN204 "FWユーザ名→ FWパスワード→ SITE ホスト名" | |
205 | +#define MSGJPN205 "FWユーザ名→ FWパスワード→ USER ユーザ名@ホスト名" | |
206 | +#define MSGJPN206 "FWユーザ名→ FWパスワード" | |
207 | +#define MSGJPN207 "USER ユーザ名@ホスト名" | |
208 | +#define MSGJPN208 "OPEN ホスト名" | |
209 | +#define MSGJPN209 "SOCKS4" | |
210 | +#define MSGJPN210 "SOCKS5 (認証なし)" | |
211 | +#define MSGJPN211 "SOCKS5 (ユーザ名、パスワード認証)" | |
212 | +#define MSGJPN212 "使用しない" | |
213 | +#define MSGJPN213 "自動認識" | |
214 | +#define MSGJPN214 "OTP MD4,S/KEY" | |
215 | +#define MSGJPN215 "OTP MD5" | |
216 | +#define MSGJPN216 "OTP SHA-1" | |
217 | +#define MSGJPN217 "ビューワの選択" | |
218 | +#define MSGJPN218 "実行ファイル\0*.exe;*.com;*.bat\0全てのファイル\0*\0" | |
219 | +#define MSGJPN219 "Waveファイル" | |
220 | +#define MSGJPN220 "ダイアルアップを切断しています." | |
221 | +#define MSGJPN221 "ダイアルアップで接続しています." | |
222 | +#define MSGJPN222 "ダイアルアップが使えません(RasDialDlg)" | |
223 | +#define MSGJPN223 "%s に接続しています..." | |
224 | +#define MSGJPN224 "不明なエラー" | |
225 | +#define MSGJPN225 "ダイアルアップ接続" | |
226 | +#define MSGJPN226 "ポートを開いています..." | |
227 | +#define MSGJPN227 "ポートが開かれました" | |
228 | +#define MSGJPN228 "ダイアル中..." | |
229 | +#define MSGJPN229 "ダイアル完了" | |
230 | +#define MSGJPN230 "全デバイスが接続されました" | |
231 | +#define MSGJPN231 "ユーザ名とパスワードを検証中..." | |
232 | +#define MSGJPN232 "再検証中..." | |
233 | +#define MSGJPN233 "パスワードを変更して下さい" | |
234 | +#define MSGJPN234 "検証が終了しました" | |
235 | +#define MSGJPN235 "接続しました" | |
236 | +#define MSGJPN236 "切断しました" | |
237 | +#define MSGJPN237 "接続処理中..." | |
238 | +#define MSGJPN238 "%s への接続" | |
239 | +#define MSGJPN239 "# このファイルは編集しないでください。\n" | |
240 | +#define MSGJPN240 "INIファイルに設定が保存できません" | |
241 | +#define MSGJPN241 "送信はタイムアウトで失敗しました." | |
242 | +#define MSGJPN242 "受信はタイムアウトで失敗しました." | |
243 | +#define MSGJPN243 "受信はタイムアウトで失敗しました." | |
244 | +#define MSGJPN244 "固定長の受信が失敗しました" | |
245 | +#define MSGJPN245 "ローカル" | |
246 | +#define MSGJPN246 "ホスト" | |
247 | +#define MSGJPN247 "選択%d個(%s)" | |
248 | +#define MSGJPN248 "ローカル空 %s" | |
249 | +#define MSGJPN249 "転送待ちファイル%d個" | |
250 | +#define MSGJPN250 "受信中 %s" | |
251 | +#define MSGJPN251 "Err:シード文字列" | |
252 | +#define MSGJPN252 "Err:シード文字列" | |
253 | +#define MSGJPN253 "Err:シーケンス番号" | |
254 | +#define MSGJPN254 "MS Pゴシック" | |
255 | +#define MSGJPN255 "アップロード(&U)" | |
256 | +#define MSGJPN256 "名前を変えてアップロード(&P)..." | |
257 | +#define MSGJPN257 "全てをアップロード" | |
258 | +#define MSGJPN258 "削除(&R)" | |
259 | +#define MSGJPN259 "名前変更(&N)..." | |
260 | +#define MSGJPN260 "フォルダ作成(&K)..." | |
261 | +#define MSGJPN261 "ファイル容量計算(&Z)" | |
262 | +#define MSGJPN262 "最新の情報に更新(&F)" | |
263 | +#define MSGJPN263 "ダウンロード(&D)" | |
264 | +#define MSGJPN264 "名前を変えてダウンロード(&W)..." | |
265 | +#define MSGJPN265 "ファイルとしてダウンロード(&I)" | |
266 | +#define MSGJPN266 "全てをダウンロード" | |
267 | +#define MSGJPN267 "削除(&R)" | |
268 | +#define MSGJPN268 "名前変更(&N)..." | |
269 | +#define MSGJPN269 "属性変更(&A)..." | |
270 | +#define MSGJPN270 "フォルダ作成(&K)..." | |
271 | +#define MSGJPN271 "URLをクリップボードへコピー(&C)" | |
272 | +#define MSGJPN272 "ファイル容量計算(&Z)" | |
273 | +#define MSGJPN273 "最新の情報に更新(&F)" | |
274 | +#define MSGJPN274 "開く(&O)" | |
275 | +#define MSGJPN275 "%sで開く(&%d)" | |
276 | +#define MSGJPN276 "WS_FTP.INI\0ws_ftp.ini\0全てのファイル\0*\0" | |
277 | +#define MSGJPN277 "Waveファイル\0*.wav\0全てのファイル\0*\0" | |
278 | +#define MSGJPN278 "理由:%s" | |
279 | +#define MSGJPN279 "Listenソケットが取得できません" | |
280 | +#define MSGJPN280 "Dataソケットが取得できません" | |
281 | +#define MSGJPN281 "PASVモードで接続できません" | |
282 | +#define MSGJPN282 "INIファイル名が指定されていません" | |
283 | +#define MSGJPN283 "INIファイル指定:" | |
284 | +#define MSGJPN284 "http://www2.biglobe.ne.jp/~sota/" | |
285 | +#define MSGJPN285 "レジストリエディタが起動できませんでした" | |
286 | +#define MSGJPN286 "設定ファイルの保存" | |
287 | +#define MSGJPN287 "Regファイル\0*.reg\0全てのファイル\0*\0" | |
288 | +#define MSGJPN288 "INIファイル\0*.ini\0全てのファイル\0*\0" | |
289 | +#define MSGJPN289 "Agilent Logic analyzer" | |
290 | +#define MSGJPN290 "Regファイル\0*.reg\0INIファイル\0*.ini\0全てのファイル\0*\0" | |
291 | +#define MSGJPN291 "設定をファイルから復元" | |
292 | +#define MSGJPN292 "設定をファイルから復元するためには、FFFTPを再起動してください。" | |
293 | +#define MSGJPN293 "設定ファイルは拡張子が.regか.iniでなければなりません。" | |
294 | +#define MSGJPN294 "USER FWユーザ名:FWパスワード@ホスト名" | |
295 | +#define MSGJPN295 "シバソク WL" | |
296 | +#define MSGJPN296 "読み取り専用ファイルです。読み取り専用属性を解除しますか?" | |
297 | +#define MSGJPN297 "%s は不正なファイル名です。\r\nこのファイルはダウンロードされません。" | |
298 | +#define MSGJPN298 "OLEの初期化に失敗しました。" | |
299 | +#define MSGJPN299 "コマンドラインにマスターパスワードが指定されていません" | |
300 | +#define MSGJPN300 "デフォルトのマスターパスワードが使われます.\r\nマルウェアの攻撃を防ぐため,固有のマスターパスワードを設定することをおすすめします" | |
301 | +#define MSGJPN301 "マスターパスワードが設定と一致しません.安全のため設定の保存を行いません." | |
302 | +#define MSGJPN302 "確認用データが壊れているため,マスターパスワードの正当性を確認できませんでした." | |
303 | +#define MSGJPN303 "マスターパスワードを変更しました" | |
304 | +#define MSGJPN304 "指定されたマスターパスワードが登録されたものと一致しません.\r\n再度入力しますか?\r\n「いいえ」を選ぶと記憶されたFTPパスワードは利用できません." | |
305 | +#define MSGJPN305 "ホストの漢字コードはShift_JIS" | |
306 | +#define MSGJPN306 "ホストの漢字コードはUTF-8" | |
307 | +#define MSGJPN307 "ローカルの漢字コードはShift_JIS" | |
308 | +#define MSGJPN308 "ローカルの漢字コードはEUC" | |
309 | +#define MSGJPN309 "ローカルの漢字コードはJIS" | |
310 | +#define MSGJPN310 "ローカルの漢字コードはUTF-8" |
@@ -1307,8 +1307,20 @@ int ChangeFnameRemote2Local(char *Fname, int Max) | ||
1307 | 1307 | cInfo.Buf = Buf; |
1308 | 1308 | cInfo.BufSize = Max - 1; |
1309 | 1309 | |
1310 | + // ここで全てUTF-8へ変換する | |
1311 | + // TODO: SJIS以外も直接UTF-8へ変換 | |
1310 | 1312 | switch(AskHostNameKanji()) |
1311 | 1313 | { |
1314 | + case KANJI_SJIS : | |
1315 | + ConvSJIStoUTF8N(&cInfo); | |
1316 | + *(Buf + cInfo.OutLen) = NUL; | |
1317 | + strcpy(Fname, Buf); | |
1318 | + Pos = strchr(Fname, NUL); | |
1319 | + FlushRestData(&cInfo); | |
1320 | + *(Buf + cInfo.OutLen) = NUL; | |
1321 | + strcpy(Pos, Buf); | |
1322 | + break; | |
1323 | + | |
1312 | 1324 | case KANJI_JIS : |
1313 | 1325 | ConvJIStoSJIS(&cInfo); |
1314 | 1326 | *(Buf + cInfo.OutLen) = NUL; |
@@ -1317,6 +1329,20 @@ int ChangeFnameRemote2Local(char *Fname, int Max) | ||
1317 | 1329 | FlushRestData(&cInfo); |
1318 | 1330 | *(Buf + cInfo.OutLen) = NUL; |
1319 | 1331 | strcpy(Pos, Buf); |
1332 | + // TODO | |
1333 | + InitCodeConvInfo(&cInfo); | |
1334 | + cInfo.KanaCnv = NO; | |
1335 | + cInfo.Str = Pos; | |
1336 | + cInfo.StrLen = strlen(Pos); | |
1337 | + cInfo.Buf = Buf; | |
1338 | + cInfo.BufSize = Max - 1; | |
1339 | + ConvSJIStoUTF8N(&cInfo); | |
1340 | + *(Buf + cInfo.OutLen) = NUL; | |
1341 | + strcpy(Fname, Buf); | |
1342 | + Pos = strchr(Fname, NUL); | |
1343 | + FlushRestData(&cInfo); | |
1344 | + *(Buf + cInfo.OutLen) = NUL; | |
1345 | + strcpy(Pos, Buf); | |
1320 | 1346 | break; |
1321 | 1347 | |
1322 | 1348 | case KANJI_EUC : |
@@ -1327,6 +1353,20 @@ int ChangeFnameRemote2Local(char *Fname, int Max) | ||
1327 | 1353 | FlushRestData(&cInfo); |
1328 | 1354 | *(Buf + cInfo.OutLen) = NUL; |
1329 | 1355 | strcpy(Pos, Buf); |
1356 | + // TODO | |
1357 | + InitCodeConvInfo(&cInfo); | |
1358 | + cInfo.KanaCnv = NO; | |
1359 | + cInfo.Str = Pos; | |
1360 | + cInfo.StrLen = strlen(Pos); | |
1361 | + cInfo.Buf = Buf; | |
1362 | + cInfo.BufSize = Max - 1; | |
1363 | + ConvSJIStoUTF8N(&cInfo); | |
1364 | + *(Buf + cInfo.OutLen) = NUL; | |
1365 | + strcpy(Fname, Buf); | |
1366 | + Pos = strchr(Fname, NUL); | |
1367 | + FlushRestData(&cInfo); | |
1368 | + *(Buf + cInfo.OutLen) = NUL; | |
1369 | + strcpy(Pos, Buf); | |
1330 | 1370 | break; |
1331 | 1371 | |
1332 | 1372 | case KANJI_SMB_HEX : |
@@ -1338,10 +1378,14 @@ int ChangeFnameRemote2Local(char *Fname, int Max) | ||
1338 | 1378 | FlushRestData(&cInfo); |
1339 | 1379 | *(Buf + cInfo.OutLen) = NUL; |
1340 | 1380 | strcpy(Pos, Buf); |
1341 | - break; | |
1342 | - | |
1343 | - case KANJI_UTF8N : | |
1344 | - ConvUTF8NtoSJIS(&cInfo); | |
1381 | + // TODO | |
1382 | + InitCodeConvInfo(&cInfo); | |
1383 | + cInfo.KanaCnv = NO; | |
1384 | + cInfo.Str = Pos; | |
1385 | + cInfo.StrLen = strlen(Pos); | |
1386 | + cInfo.Buf = Buf; | |
1387 | + cInfo.BufSize = Max - 1; | |
1388 | + ConvSJIStoUTF8N(&cInfo); | |
1345 | 1389 | *(Buf + cInfo.OutLen) = NUL; |
1346 | 1390 | strcpy(Fname, Buf); |
1347 | 1391 | Pos = strchr(Fname, NUL); |
@@ -1349,6 +1393,16 @@ int ChangeFnameRemote2Local(char *Fname, int Max) | ||
1349 | 1393 | *(Buf + cInfo.OutLen) = NUL; |
1350 | 1394 | strcpy(Pos, Buf); |
1351 | 1395 | break; |
1396 | + | |
1397 | +// case KANJI_UTF8N : | |
1398 | +// ConvUTF8NtoSJIS(&cInfo); | |
1399 | +// *(Buf + cInfo.OutLen) = NUL; | |
1400 | +// strcpy(Fname, Buf); | |
1401 | +// Pos = strchr(Fname, NUL); | |
1402 | +// FlushRestData(&cInfo); | |
1403 | +// *(Buf + cInfo.OutLen) = NUL; | |
1404 | +// strcpy(Pos, Buf); | |
1405 | +// break; | |
1352 | 1406 | } |
1353 | 1407 | free(Buf); |
1354 | 1408 | Sts = SUCCESS; |
@@ -1385,9 +1439,35 @@ int ChangeFnameLocal2Remote(char *Fname, int Max) | ||
1385 | 1439 | cInfo.Buf = Buf; |
1386 | 1440 | cInfo.BufSize = Max - 1; |
1387 | 1441 | |
1442 | + // ここで全てUTF-8から変換する | |
1443 | + // TODO: SJIS以外も直接UTF-8から変換 | |
1388 | 1444 | switch(AskHostNameKanji()) |
1389 | 1445 | { |
1446 | + case KANJI_SJIS : | |
1447 | + ConvUTF8NtoSJIS(&cInfo); | |
1448 | + *(Buf + cInfo.OutLen) = NUL; | |
1449 | + strcpy(Fname, Buf); | |
1450 | + Pos = strchr(Fname, NUL); | |
1451 | + FlushRestData(&cInfo); | |
1452 | + *(Buf + cInfo.OutLen) = NUL; | |
1453 | + strcpy(Pos, Buf); | |
1454 | + break; | |
1455 | + | |
1390 | 1456 | case KANJI_JIS : |
1457 | + ConvUTF8NtoSJIS(&cInfo); | |
1458 | + *(Buf + cInfo.OutLen) = NUL; | |
1459 | + strcpy(Fname, Buf); | |
1460 | + Pos = strchr(Fname, NUL); | |
1461 | + FlushRestData(&cInfo); | |
1462 | + *(Buf + cInfo.OutLen) = NUL; | |
1463 | + strcpy(Pos, Buf); | |
1464 | + // TODO | |
1465 | + InitCodeConvInfo(&cInfo); | |
1466 | + cInfo.KanaCnv = NO; | |
1467 | + cInfo.Str = Pos; | |
1468 | + cInfo.StrLen = strlen(Pos); | |
1469 | + cInfo.Buf = Buf; | |
1470 | + cInfo.BufSize = Max - 1; | |
1391 | 1471 | ConvSJIStoJIS(&cInfo); |
1392 | 1472 | *(Buf + cInfo.OutLen) = NUL; |
1393 | 1473 | strcpy(Fname, Buf); |
@@ -1398,6 +1478,20 @@ int ChangeFnameLocal2Remote(char *Fname, int Max) | ||
1398 | 1478 | break; |
1399 | 1479 | |
1400 | 1480 | case KANJI_EUC : |
1481 | + ConvUTF8NtoSJIS(&cInfo); | |
1482 | + *(Buf + cInfo.OutLen) = NUL; | |
1483 | + strcpy(Fname, Buf); | |
1484 | + Pos = strchr(Fname, NUL); | |
1485 | + FlushRestData(&cInfo); | |
1486 | + *(Buf + cInfo.OutLen) = NUL; | |
1487 | + strcpy(Pos, Buf); | |
1488 | + // TODO | |
1489 | + InitCodeConvInfo(&cInfo); | |
1490 | + cInfo.KanaCnv = NO; | |
1491 | + cInfo.Str = Pos; | |
1492 | + cInfo.StrLen = strlen(Pos); | |
1493 | + cInfo.Buf = Buf; | |
1494 | + cInfo.BufSize = Max - 1; | |
1401 | 1495 | ConvSJIStoEUC(&cInfo); |
1402 | 1496 | *(Buf + cInfo.OutLen) = NUL; |
1403 | 1497 | strcpy(Fname, Buf); |
@@ -1408,6 +1502,20 @@ int ChangeFnameLocal2Remote(char *Fname, int Max) | ||
1408 | 1502 | break; |
1409 | 1503 | |
1410 | 1504 | case KANJI_SMB_HEX : |
1505 | + ConvUTF8NtoSJIS(&cInfo); | |
1506 | + *(Buf + cInfo.OutLen) = NUL; | |
1507 | + strcpy(Fname, Buf); | |
1508 | + Pos = strchr(Fname, NUL); | |
1509 | + FlushRestData(&cInfo); | |
1510 | + *(Buf + cInfo.OutLen) = NUL; | |
1511 | + strcpy(Pos, Buf); | |
1512 | + // TODO | |
1513 | + InitCodeConvInfo(&cInfo); | |
1514 | + cInfo.KanaCnv = NO; | |
1515 | + cInfo.Str = Pos; | |
1516 | + cInfo.StrLen = strlen(Pos); | |
1517 | + cInfo.Buf = Buf; | |
1518 | + cInfo.BufSize = Max - 1; | |
1411 | 1519 | ConvSJIStoSMB_HEX(&cInfo); |
1412 | 1520 | *(Buf + cInfo.OutLen) = NUL; |
1413 | 1521 | strcpy(Fname, Buf); |
@@ -1418,17 +1526,21 @@ int ChangeFnameLocal2Remote(char *Fname, int Max) | ||
1418 | 1526 | break; |
1419 | 1527 | |
1420 | 1528 | case KANJI_SMB_CAP : |
1421 | - ConvSJIStoSMB_CAP(&cInfo); | |
1529 | + ConvUTF8NtoSJIS(&cInfo); | |
1422 | 1530 | *(Buf + cInfo.OutLen) = NUL; |
1423 | 1531 | strcpy(Fname, Buf); |
1424 | 1532 | Pos = strchr(Fname, NUL); |
1425 | 1533 | FlushRestData(&cInfo); |
1426 | 1534 | *(Buf + cInfo.OutLen) = NUL; |
1427 | 1535 | strcpy(Pos, Buf); |
1428 | - break; | |
1429 | - | |
1430 | - case KANJI_UTF8N : | |
1431 | - ConvSJIStoUTF8N(&cInfo); | |
1536 | + // TODO | |
1537 | + InitCodeConvInfo(&cInfo); | |
1538 | + cInfo.KanaCnv = NO; | |
1539 | + cInfo.Str = Pos; | |
1540 | + cInfo.StrLen = strlen(Pos); | |
1541 | + cInfo.Buf = Buf; | |
1542 | + cInfo.BufSize = Max - 1; | |
1543 | + ConvSJIStoSMB_CAP(&cInfo); | |
1432 | 1544 | *(Buf + cInfo.OutLen) = NUL; |
1433 | 1545 | strcpy(Fname, Buf); |
1434 | 1546 | Pos = strchr(Fname, NUL); |
@@ -1436,6 +1548,16 @@ int ChangeFnameLocal2Remote(char *Fname, int Max) | ||
1436 | 1548 | *(Buf + cInfo.OutLen) = NUL; |
1437 | 1549 | strcpy(Pos, Buf); |
1438 | 1550 | break; |
1551 | + | |
1552 | +// case KANJI_UTF8N : | |
1553 | +// ConvSJIStoUTF8N(&cInfo); | |
1554 | +// *(Buf + cInfo.OutLen) = NUL; | |
1555 | +// strcpy(Fname, Buf); | |
1556 | +// Pos = strchr(Fname, NUL); | |
1557 | +// FlushRestData(&cInfo); | |
1558 | +// *(Buf + cInfo.OutLen) = NUL; | |
1559 | +// strcpy(Pos, Buf); | |
1560 | +// break; | |
1439 | 1561 | } |
1440 | 1562 | free(Buf); |
1441 | 1563 | Sts = SUCCESS; |
@@ -90,6 +90,9 @@ static int TmpTransMode; | ||
90 | 90 | static int TmpHostKanjiCode; |
91 | 91 | static int TmpHostKanaCnv; |
92 | 92 | |
93 | +// TODO: ローカルの漢字コードをShift_JIS以外にも対応 | |
94 | +static int TmpLocalKanjiCode; | |
95 | + | |
93 | 96 | static int TmpLocalFileSort; |
94 | 97 | static int TmpLocalDirSort; |
95 | 98 | static int TmpRemoteFileSort; |
@@ -133,8 +136,15 @@ static TBBUTTON TbarDataMain[] = { | ||
133 | 136 | { 8, MENU_BINARY, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, |
134 | 137 | { 17, MENU_AUTO, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, |
135 | 138 | { 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0 }, |
139 | + { 27, MENU_L_KNJ_SJIS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, | |
140 | + { 20, MENU_L_KNJ_EUC, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, | |
141 | + { 21, MENU_L_KNJ_JIS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, | |
142 | + { 28, MENU_L_KNJ_UTF8N, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, | |
143 | + { 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0 }, | |
144 | + { 27, MENU_KNJ_SJIS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, | |
136 | 145 | { 20, MENU_KNJ_EUC, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, |
137 | 146 | { 21, MENU_KNJ_JIS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, |
147 | + { 28, MENU_KNJ_UTF8N, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, | |
138 | 148 | { 22, MENU_KNJ_NONE, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 }, |
139 | 149 | { 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0 }, |
140 | 150 | { 23, MENU_KANACNV, TBSTATE_ENABLED, TBSTYLE_CHECK, 0, 0 }, |
@@ -185,7 +195,8 @@ static const int HideMenus[] = { | ||
185 | 195 | MENU_HELP, MENU_HELP_TROUBLE, MENU_ABOUT, |
186 | 196 | MENU_REGINIT, |
187 | 197 | MENU_TEXT, MENU_BINARY, MENU_AUTO, |
188 | - MENU_KNJ_EUC, MENU_KNJ_JIS, MENU_KNJ_NONE, | |
198 | + MENU_KNJ_SJIS, MENU_KNJ_EUC, MENU_KNJ_JIS, MENU_KNJ_UTF8N, MENU_KNJ_NONE, | |
199 | + MENU_L_KNJ_SJIS, MENU_L_KNJ_EUC, MENU_L_KNJ_JIS, MENU_L_KNJ_UTF8N, | |
189 | 200 | MENU_KANACNV, |
190 | 201 | MENU_LOCAL_UPDIR, MENU_LOCAL_CHDIR, |
191 | 202 | MENU_REMOTE_UPDIR, MENU_REMOTE_CHDIR, |
@@ -821,6 +832,7 @@ void SetTransferTypeImm(int Mode) | ||
821 | 832 | { |
822 | 833 | TmpTransMode = Mode; |
823 | 834 | HideHostKanjiButton(); |
835 | + HideLocalKanjiButton(); | |
824 | 836 | return; |
825 | 837 | } |
826 | 838 |
@@ -851,6 +863,7 @@ void SetTransferType(int Type) | ||
851 | 863 | break; |
852 | 864 | } |
853 | 865 | HideHostKanjiButton(); |
866 | + HideLocalKanjiButton(); | |
854 | 867 | return; |
855 | 868 | } |
856 | 869 |
@@ -992,6 +1005,11 @@ void SetHostKanjiCode(int Type) | ||
992 | 1005 | { |
993 | 1006 | switch(Type) |
994 | 1007 | { |
1008 | + // UTF-8対応 | |
1009 | + case MENU_KNJ_SJIS : | |
1010 | + TmpHostKanjiCode = KANJI_SJIS; | |
1011 | + break; | |
1012 | + | |
995 | 1013 | case MENU_KNJ_EUC : |
996 | 1014 | TmpHostKanjiCode = KANJI_EUC; |
997 | 1015 | break; |
@@ -1000,6 +1018,10 @@ void SetHostKanjiCode(int Type) | ||
1000 | 1018 | TmpHostKanjiCode = KANJI_JIS; |
1001 | 1019 | break; |
1002 | 1020 | |
1021 | + case MENU_KNJ_UTF8N : | |
1022 | + TmpHostKanjiCode = KANJI_UTF8N; | |
1023 | + break; | |
1024 | + | |
1003 | 1025 | default : |
1004 | 1026 | TmpHostKanjiCode = KANJI_NOCNV; |
1005 | 1027 | break; |
@@ -1023,6 +1045,11 @@ void DispHostKanjiCode(void) | ||
1023 | 1045 | { |
1024 | 1046 | switch(TmpHostKanjiCode) |
1025 | 1047 | { |
1048 | + // UTF-8対応 | |
1049 | + case KANJI_SJIS : | |
1050 | + SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_SJIS, MAKELONG(TRUE, 0)); | |
1051 | + break; | |
1052 | + | |
1026 | 1053 | case KANJI_EUC : |
1027 | 1054 | SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_EUC, MAKELONG(TRUE, 0)); |
1028 | 1055 | break; |
@@ -1031,6 +1058,10 @@ void DispHostKanjiCode(void) | ||
1031 | 1058 | SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_JIS, MAKELONG(TRUE, 0)); |
1032 | 1059 | break; |
1033 | 1060 | |
1061 | + case KANJI_UTF8N : | |
1062 | + SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_UTF8N, MAKELONG(TRUE, 0)); | |
1063 | + break; | |
1064 | + | |
1034 | 1065 | default : |
1035 | 1066 | SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_NONE, MAKELONG(TRUE, 0)); |
1036 | 1067 | break; |
@@ -1067,16 +1098,21 @@ void HideHostKanjiButton(void) | ||
1067 | 1098 | { |
1068 | 1099 | switch(TmpTransMode) |
1069 | 1100 | { |
1101 | + // UTF-8対応 | |
1070 | 1102 | case TYPE_I : |
1103 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_SJIS, MAKELONG(FALSE, 0)); | |
1071 | 1104 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_EUC, MAKELONG(FALSE, 0)); |
1072 | 1105 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_JIS, MAKELONG(FALSE, 0)); |
1106 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_UTF8N, MAKELONG(FALSE, 0)); | |
1073 | 1107 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_NONE, MAKELONG(FALSE, 0)); |
1074 | 1108 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KANACNV, MAKELONG(FALSE, 0)); |
1075 | 1109 | break; |
1076 | 1110 | |
1077 | 1111 | default : |
1112 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_SJIS, MAKELONG(TRUE, 0)); | |
1078 | 1113 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_EUC, MAKELONG(TRUE, 0)); |
1079 | 1114 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_JIS, MAKELONG(TRUE, 0)); |
1115 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_UTF8N, MAKELONG(TRUE, 0)); | |
1080 | 1116 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_NONE, MAKELONG(TRUE, 0)); |
1081 | 1117 | if(TmpHostKanjiCode != KANJI_NOCNV) |
1082 | 1118 | SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KANACNV, MAKELONG(TRUE, 0)); |
@@ -1088,6 +1124,99 @@ void HideHostKanjiButton(void) | ||
1088 | 1124 | } |
1089 | 1125 | |
1090 | 1126 | |
1127 | +// ローカルの漢字コード | |
1128 | +// テキストモード転送時に使用 | |
1129 | +// ホスト側が無変換の時はローカルも無変換 | |
1130 | + | |
1131 | +void SetLocalKanjiCodeImm(int Mode) | |
1132 | +{ | |
1133 | + TmpLocalKanjiCode = Mode; | |
1134 | + DispLocalKanjiCode(); | |
1135 | + HideLocalKanjiButton(); | |
1136 | + return; | |
1137 | +} | |
1138 | + | |
1139 | +void SetLocalKanjiCode(int Type) | |
1140 | +{ | |
1141 | + switch(Type) | |
1142 | + { | |
1143 | + // UTF-8対応 | |
1144 | + case MENU_L_KNJ_SJIS : | |
1145 | + TmpLocalKanjiCode = KANJI_SJIS; | |
1146 | + break; | |
1147 | + | |
1148 | + case MENU_L_KNJ_EUC : | |
1149 | +// TmpLocalKanjiCode = KANJI_EUC; | |
1150 | + break; | |
1151 | + | |
1152 | + case MENU_L_KNJ_JIS : | |
1153 | +// TmpLocalKanjiCode = KANJI_JIS; | |
1154 | + break; | |
1155 | + | |
1156 | + case MENU_L_KNJ_UTF8N : | |
1157 | + TmpLocalKanjiCode = KANJI_UTF8N; | |
1158 | + break; | |
1159 | + } | |
1160 | + DispLocalKanjiCode(); | |
1161 | + HideLocalKanjiButton(); | |
1162 | + return; | |
1163 | +} | |
1164 | + | |
1165 | +void DispLocalKanjiCode(void) | |
1166 | +{ | |
1167 | + switch(TmpLocalKanjiCode) | |
1168 | + { | |
1169 | + // UTF-8対応 | |
1170 | + case KANJI_SJIS : | |
1171 | + SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_L_KNJ_SJIS, MAKELONG(TRUE, 0)); | |
1172 | + break; | |
1173 | + | |
1174 | + case KANJI_EUC : | |
1175 | +// SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_L_KNJ_EUC, MAKELONG(TRUE, 0)); | |
1176 | + break; | |
1177 | + | |
1178 | + case KANJI_JIS : | |
1179 | +// SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_L_KNJ_JIS, MAKELONG(TRUE, 0)); | |
1180 | + break; | |
1181 | + | |
1182 | + case KANJI_UTF8N : | |
1183 | + SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_L_KNJ_UTF8N, MAKELONG(TRUE, 0)); | |
1184 | + break; | |
1185 | + } | |
1186 | + return; | |
1187 | +} | |
1188 | + | |
1189 | +int AskLocalKanjiCode(void) | |
1190 | +{ | |
1191 | + return(TmpLocalKanjiCode); | |
1192 | +} | |
1193 | + | |
1194 | +void HideLocalKanjiButton(void) | |
1195 | +{ | |
1196 | + switch(TmpTransMode) | |
1197 | + { | |
1198 | + // UTF-8対応 | |
1199 | + case TYPE_I : | |
1200 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_SJIS, MAKELONG(FALSE, 0)); | |
1201 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_EUC, MAKELONG(FALSE, 0)); | |
1202 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_JIS, MAKELONG(FALSE, 0)); | |
1203 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_UTF8N, MAKELONG(FALSE, 0)); | |
1204 | + break; | |
1205 | + | |
1206 | + default : | |
1207 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_SJIS, MAKELONG(TRUE, 0)); | |
1208 | +// SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_EUC, MAKELONG(TRUE, 0)); | |
1209 | +// SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_JIS, MAKELONG(TRUE, 0)); | |
1210 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_UTF8N, MAKELONG(TRUE, 0)); | |
1211 | + // TODO: 現在EUCとJISは非対応 | |
1212 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_EUC, MAKELONG(FALSE, 0)); | |
1213 | + SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_JIS, MAKELONG(FALSE, 0)); | |
1214 | + break; | |
1215 | + } | |
1216 | + return; | |
1217 | +} | |
1218 | + | |
1219 | + | |
1091 | 1220 | /*=================================================== |
1092 | 1221 | * 半角変換モード |
1093 | 1222 | *===================================================*/ |