1 /******************************************************************************
4 * Copyright (c) 2020, longpanda <admin@ventoy.net>
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 3 of the
9 * License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
21 #ifndef __LANGUAGE_H__
22 #define __LANGUAGE_H__
30 STR_INCORRECT_DIR
, //3
31 STR_INCORRECT_TREE_DIR
, //4
44 STR_INSTALL_SUCCESS
,//14
45 STR_INSTALL_FAILED
,//15
46 STR_UPDATE_SUCCESS
,//16
47 STR_UPDATE_FAILED
,//17
52 STR_MENU_SECURE_BOOT
,//20
54 STR_MENU_PART_CFG
,//21
57 STR_PRESERVE_SPACE
,//24
58 STR_SPACE_VAL_INVALID
,//25
61 STR_CLEAR_SUCCESS
, //27
62 STR_CLEAR_FAILED
, //28
63 STR_MENU_PART_STYLE
, //29
64 STR_DISK_2TB_MBR_ERROR
,//30
66 STR_SHOW_ALL_DEV
, //31
67 STR_PART_ALIGN_4KB
, //32
68 STR_WEB_COMMUNICATION_ERR
, //33
69 STR_WEB_REMOTE_ABNORMAL
, //34
70 STR_WEB_REQUEST_TIMEOUT
, //35
71 STR_WEB_SERVICE_UNAVAILABLE
, //36
72 STR_WEB_TOKEN_MISMATCH
, //37
73 STR_WEB_SERVICE_BUSY
, //38
78 extern BOOL g_SecureBoot
;
80 #define VTOY_MENU_SECURE_BOOT 0xA000
81 #define VTOY_MENU_PART_CFG 0xA001
82 #define VTOY_MENU_CLEAN 0xA002
83 #define VTOY_MENU_PART_STYLE 0xA003
84 #define VTOY_MENU_PART_MBR 0xA004
85 #define VTOY_MENU_PART_GPT 0xA005
86 #define VTOY_MENU_ALL_DEV 0xA006
89 typedef enum OPT_SUBMENU
91 OPT_SUBMENU_SECURE_BOOT
= 0,
92 OPT_SUBMENU_PART_STYLE
,
101 #define VTOY_MENU_LANGUAGE_BEGIN 0xB000
104 #define VENTOY_LANGUAGE_INI TEXT(".\\ventoy\\languages.ini")
105 #define VENTOY_LANGUAGE_JSON TEXT(".\\ventoy\\languages.json")
106 #define VENTOY_LANGUAGE_INI_A ".\\ventoy\\languages.ini"
107 #define VENTOY_LANGUAGE_JSON_A ".\\ventoy\\languages.json"
109 #define VENTOY_CFG_INI TEXT(".\\Ventoy2Disk.ini")
110 #define VENTOY_CFG_INI_A ".\\Ventoy2Disk.ini"
111 #define VENTOY_MAX_LANGUAGE 200
113 #define GET_INI_STRING(Section, Key, Buf) GetPrivateProfileString(Section, Key, TEXT("#"), Buf, sizeof(Buf), VENTOY_LANGUAGE_INI)
117 typedef struct VENTOY_LANGUAGE
120 WCHAR FontFamily
[64];
123 WCHAR StrId
[STR_ID_MAX
][64];
124 WCHAR MsgString
[STR_ID_MAX
][1024];
128 extern VENTOY_LANGUAGE
*g_cur_lang_data
;
130 const TCHAR
* GetString(enum STR_ID ID
);
132 #define _G(a) GetString(a)
134 typedef enum UNICODE_ICON
140 const UINT16
* GetUnicodeIcon(icon
);
141 #define _UICON(i) GetUnicodeIcon(i)