X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/05a1b863a66bf72b26e5d87570c4e0e61b9736cd..5bfddae81d440409e618f76d9ed26a896d840e6d:/Ventoy2Disk/Ventoy2Disk/Language.h diff --git a/Ventoy2Disk/Ventoy2Disk/Language.h b/Ventoy2Disk/Ventoy2Disk/Language.h index 478188f..57cb021 100644 --- a/Ventoy2Disk/Ventoy2Disk/Language.h +++ b/Ventoy2Disk/Ventoy2Disk/Language.h @@ -1,57 +1,162 @@ -/****************************************************************************** - * Language.h - * - * Copyright (c) 2020, longpanda - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - * - */ - -#ifndef __LANGUAGE_H__ -#define __LANGUAGE_H__ - -typedef enum STR_ID -{ - STR_ERROR = 0, - STR_WARNING, - STR_INFO, - STR_INCORRECT_DIR, - - STR_DEVICE, - STR_LOCAL_VER, - STR_DISK_VER, - STR_STATUS, - STR_INSTALL, - STR_UPDATE, - - STR_UPDATE_TIP, - STR_INSTALL_TIP, - STR_INSTALL_TIP2, - - STR_INSTALL_SUCCESS, - STR_INSTALL_FAILED, - STR_UPDATE_SUCCESS, - STR_UPDATE_FAILED, - - STR_WAIT_PROCESS, - - - STR_ID_MAX -}STR_ID; - -const TCHAR * GetString(enum STR_ID ID); - -#define _G(a) GetString(a) - -#endif +/****************************************************************************** + * Language.h + * + * Copyright (c) 2020, longpanda + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + */ + +#ifndef __LANGUAGE_H__ +#define __LANGUAGE_H__ + + +typedef enum STR_ID +{ + STR_ERROR = 0, + STR_WARNING, // 1 + STR_INFO, // 2 + STR_INCORRECT_DIR, //3 + STR_INCORRECT_TREE_DIR, //4 + + STR_DEVICE, //5 + STR_LOCAL_VER, //6 + STR_DISK_VER, //7 + STR_STATUS, //8 + STR_INSTALL, //9 + STR_UPDATE, //10 + + STR_UPDATE_TIP, //11 + STR_INSTALL_TIP, //12 + STR_INSTALL_TIP2,//13 + + STR_INSTALL_SUCCESS,//14 + STR_INSTALL_FAILED,//15 + STR_UPDATE_SUCCESS,//16 + STR_UPDATE_FAILED,//17 + + STR_WAIT_PROCESS,//18 + + STR_MENU_OPTION,//19 + STR_MENU_SECURE_BOOT,//20 + + STR_MENU_PART_CFG,//21 + STR_BTN_OK,//22 + STR_BTN_CANCEL,//23 + STR_PRESERVE_SPACE,//24 + STR_SPACE_VAL_INVALID,//25 + + STR_MENU_CLEAR, //26 + STR_CLEAR_SUCCESS, //27 + STR_CLEAR_FAILED, //28 + STR_MENU_PART_STYLE, //29 + STR_DISK_2TB_MBR_ERROR,//30 + + STR_SHOW_ALL_DEV, //31 + STR_PART_ALIGN_4KB, //32 + STR_WEB_COMMUNICATION_ERR, //33 + STR_WEB_REMOTE_ABNORMAL, //34 + STR_WEB_REQUEST_TIMEOUT, //35 + STR_WEB_SERVICE_UNAVAILABLE, //36 + STR_WEB_TOKEN_MISMATCH, //37 + STR_WEB_SERVICE_BUSY, //38 + + STR_MENU_VTSI_CREATE, //39 + STR_VTSI_CREATE_TIP, //40 + STR_VTSI_CREATE_SUCCESS, //41 + STR_VTSI_CREATE_FAILED, //42 + + STR_MENU_PART_RESIZE,//43 + STR_PART_RESIZE_TIP,//44 + STR_PART_RESIZE_SUCCESS,//45 + STR_PART_RESIZE_FAILED,//46 + STR_PART_RESIZE_UNSUPPORTED,//47 + + STR_INSTALL_YES_TIP1,//48 + STR_INSTALL_YES_TIP2,//49 + + STR_PART_VENTOY_FS, //50 + + STR_PART_FS, //51 + STR_PART_CLUSTER, //52 + STR_PART_CLUSTER_DEFAULT, //53 + + STR_DONATE, //54 + + STR_4KN_UNSUPPORTED, //55 + + STR_ID_MAX +}STR_ID; + +extern BOOL g_SecureBoot; + +#define VTOY_MENU_SECURE_BOOT 0xA000 +#define VTOY_MENU_PART_CFG 0xA001 +#define VTOY_MENU_CLEAN 0xA002 +#define VTOY_MENU_PART_STYLE 0xA003 +#define VTOY_MENU_PART_MBR 0xA004 +#define VTOY_MENU_PART_GPT 0xA005 +#define VTOY_MENU_ALL_DEV 0xA006 +#define VTOY_MENU_VTSI 0xA007 +#define VTOY_MENU_PART_RESIZE 0xA008 + + +typedef enum OPT_SUBMENU +{ + OPT_SUBMENU_SECURE_BOOT = 0, + OPT_SUBMENU_PART_STYLE, + OPT_SUBMENU_PART_CFG, + OPT_SUBMENU_CLEAR, + OPT_SUBMENU_ALL_DEV, + OPT_SUBMENU_VTSI, + OPT_SUBMENU_PART_RESIZE, + + OPT_SUBMENU_MAX +}OPT_SUBMENU; + + +#define VTOY_MENU_LANGUAGE_BEGIN 0xB000 + + +#define VENTOY_LANGUAGE_INI TEXT(".\\ventoy\\languages.ini") +#define VENTOY_LANGUAGE_JSON TEXT(".\\ventoy\\languages.json") +#define VENTOY_LANGUAGE_INI_A ".\\ventoy\\languages.ini" +#define VENTOY_LANGUAGE_JSON_A ".\\ventoy\\languages.json" + +#define VENTOY_CFG_INI TEXT(".\\Ventoy2Disk.ini") +#define VENTOY_CFG_INI_A ".\\Ventoy2Disk.ini" +#define VENTOY_MAX_LANGUAGE 200 + +#define GET_INI_STRING(Section, Key, Buf) GetPrivateProfileString(Section, Key, TEXT("#"), Buf, sizeof(Buf), VENTOY_LANGUAGE_INI) + + + +typedef struct VENTOY_LANGUAGE +{ + WCHAR Name[256]; + WCHAR FontFamily[128]; + int FontSize; + + WCHAR StrId[STR_ID_MAX][64]; + WCHAR MsgString[STR_ID_MAX][1024]; + +}VENTOY_LANGUAGE; + +extern VENTOY_LANGUAGE *g_cur_lang_data; + +const TCHAR * GetString(enum STR_ID ID); + +#define _G(a) GetString(a) + +#endif