Compare commits

..

62 Commits

Author SHA1 Message Date
longpanda
e85c02756b 1.0.83 release 2022-12-04 13:15:18 +08:00
wiz64
c1d68bd787 Add Russian Tranlsation (json/txt) grub menu (#2022) 2022-12-04 11:18:33 +08:00
wiz64
a35a822723 add Bengali (bn_BN.json/txt) (#2019) 2022-12-04 09:22:26 +08:00
Tayfun Akkoyun
05137c83e2 Update tr_TR.txt (#2020)
tr_TR.txt Help file is updated.
2022-12-04 09:21:58 +08:00
VenusGirl❤
8058856182 Update ko_KR.json (#2021) 2022-12-04 09:21:36 +08:00
longpanda
33b958e112 Update language json files 2022-12-03 21:37:09 +08:00
Tayfun Akkoyun
9eb50a85e4 Update tr_TR.json (#2018)
Master hi!
I translated lines again. Can you UPDATE this file again?
2022-12-03 20:17:13 +08:00
Steve
3cc7e3772e german translation (grub and related help) (#2016)
* updated german translation

translated the new strings

* german translation updated

* fixed STR_INSTALL_YES_TIP2

* german translation

* fix for F6

* german translation
2022-12-03 20:16:31 +08:00
longpanda
9c8292867f Update menu langauge json file 2022-12-03 17:53:42 +08:00
wiz64
a4053d2d05 add grub/menu hi.json (hindi) (#2014)
* add grub/menu hi.json (hindi)

* Update hi.json

* Update hotkey and rename

* Update and rename hi_HI.json to hi.json

* Rename hi.json to hi_HI.json

* Update hi_HI.json

* add grub/help/hi_HI.txt (hindi)
2022-12-03 17:45:47 +08:00
longpanda
5c14ea0a4a Add some menu language xx.json template. (copy from English) 2022-12-03 16:51:03 +08:00
longpanda
194e948cb6 Remove VTOY_HELP_TXT_LANGUAGE option from Global Control Plugin. 2022-12-03 14:33:52 +08:00
K.B.Dharun Krishna
c896c03efe language.json: Update Tamil translation (#2009) 2022-12-03 13:52:47 +08:00
wiz64
574b4d850c Update French [languages.json] (#2015) 2022-12-03 13:52:23 +08:00
wiz64
68a98325e6 Update German [languages.json] (#2006) 2022-12-03 13:52:08 +08:00
longpanda
25b055bb0f Hotkey change:
1. Change F1 from Memdisk to help
2. Add d/Ctrl+d for Memdisk
3. Add L for Language selection

So update the help txt files and menu json files at the same time.
2022-12-03 13:44:46 +08:00
longpanda
bda74cd89b VentoyPlugson supports multi-language menu option. 2022-12-02 20:46:57 +08:00
longpanda
511b8091eb Add muli-languages support for Ventoy menu.
F5 ---> Menu Language Select
Language files are in INSTALL/grub/menu/ directory.
2022-12-02 20:35:59 +08:00
VenusGirl❤
3be4aacd78 Update languages.json (#2003) 2022-12-02 20:26:34 +08:00
wiz64
2d8b27b172 Update Hindi & Bengali languages (#2002) 2022-12-02 20:26:21 +08:00
wiz64
c174410d35 Update Romanian Translation (#2001)
Co-authored-by: cezarlacatus 42448787+cezarlacatus@users.noreply.github.com
2022-12-02 20:26:06 +08:00
wiz64
f83e84f868 Fixed syntax errors for recent PRs (#1999) 2022-12-02 20:25:50 +08:00
dmitrygribenchuk
a39078b87a add belarussian and update ukranian and russian (#1998) 2022-12-02 11:42:59 +08:00
Tayfun Akkoyun
2576235f97 Turkish update_language.json (#1996)
New Turkish translate rows are completed
2022-12-02 11:42:31 +08:00
longpanda
ee04af5243 Ventoy2Disk update:
1. Add UDF filesytem option.
2. Add Cluster Size option.
3. Support FAT32 for disk bigger than 32GB.
4. Fix the format fail issue.
5. Add a tip bubble with cluster size when mouse hover on the file system type string.
6. The secure boot lock character can not show in early Windows, change it to a yellow icon.
2022-11-30 21:12:43 +08:00
Ida Bagus
118bedd546 Indonesian translation update (#1978)
translating STR_PART_VENTOY_FS row & little change
2022-11-30 20:54:37 +08:00
longpanda
44ff3dd8d4 VentoyPlugson: Fix the garbled preview json for unicode characters. 2022-11-23 14:27:58 +08:00
wiz64
9da5a6ce65 Update Romanian Translation (languages.json) (#1968)
* Updated Romanian (languages.json)

Co-authored-by: cezarlacatus <42448787+cezarlacatus@users.noreply.github.com>

* Updated Romanian (languages.json)

Co-authored-by: cezarlacatus <42448787+cezarlacatus@users.noreply.github.com>

Co-authored-by: cezarlacatus <42448787+cezarlacatus@users.noreply.github.com>
2022-11-19 19:17:38 +08:00
marcellogianola
604b25ec82 Update languages.json (#1965) 2022-11-19 19:17:14 +08:00
Vasilis
0918355035 Update languages.json (#1963)
Updated Greek translation
2022-11-18 15:28:32 +08:00
wiz64
ce76fd5649 Update German, French (#1962)
Co-authored-by: galaxy2211 <56916688+galaxy2211@users.noreply.github.com>

Co-authored-by: galaxy2211 <56916688+galaxy2211@users.noreply.github.com>
2022-11-18 15:28:17 +08:00
MELERIX
42535f35bc Update Spanish (Latinoamérica) translation (#1961)
* Update Spanish (Latinoamérica) translation

* Delete languages.json.bak
2022-11-18 15:25:38 +08:00
longpanda
68a9cebe19 1.0.82 release 2022-11-17 17:56:11 +08:00
wiz64
cc77c74bf4 Update Russian, Hindi, Bengali (languages.json) (#1959) 2022-11-17 17:15:29 +08:00
Tayfun Akkoyun
ee952e3f69 Turkish update.json (#1960) 2022-11-17 17:15:01 +08:00
longpanda
b11a499939 Update BOOT/BOOTX64.EFI and mm efi files from Fedora 37. 2022-11-16 22:34:37 +08:00
longpanda
fdf4693433 Ventoy2Disk.exe update.
1. Add exFAT/NTFS/FAT32 option when install Ventoy
2. Display Ventoy partition file system in physical disk
3. String "Status x%" is missing for translations (#1667)
2022-11-16 20:33:14 +08:00
VenusGirl❤
ac65c0fb24 Update languages.json (#1957) 2022-11-16 19:45:15 +08:00
wiz64
ea0afe7c8b Update Bengali Translation (#1956) 2022-11-16 19:44:58 +08:00
wiz64
f8ca8b13d3 Update Hindi Translation (#1941) 2022-11-16 17:56:04 +08:00
longpanda
678a2abdf1 Fix the disk display error when pCloud virtual disk is installed in Windows OS. 2022-11-13 19:29:49 +08:00
longpanda
e645301713 Optimization for Windows unattended install process. 2022-11-10 10:10:10 +08:00
longpanda
43b415c032 Fix an issue that CGI backup tool can not open in WePE. 2022-11-08 15:27:08 +08:00
longpanda
311d2961ca Fix the issue that help line disappears when auto-going to a submenu. (#1939) 2022-11-02 20:13:12 +08:00
longpanda
1d66584190 Change Ventoy LiveCD GUI default language to English (#1938) 2022-10-31 09:40:10 +08:00
longpanda
553c853865 Fix the issue that Linux WEB/GUI does not restore MBR when updating. (#1935) 2022-10-30 13:39:19 +08:00
longpanda
7d90912a09 Add VTOY_SHOW_PASSWORD_ASTERISK option in global control plugon. (#1931) 2022-10-26 15:27:51 +08:00
longpanda
c2336f555a 1.0.81 release 2022-10-25 19:58:10 +08:00
longpanda
87391e8b32 Update BOOTX64.EFI MMX64.EFI 2022-10-23 21:41:05 +08:00
longpanda
f9c56c6686 update vtoyjump 2022-10-22 19:54:54 +08:00
longpanda
1ab1799b72 Code Optimization 2022-10-22 16:13:03 +08:00
longpanda
4a42bdfce7 Add support for easyOS easy-4.4.2-amd64.img. (#1926) 2022-10-22 15:28:16 +08:00
longpanda
3f09fb9a23 VentoyPlugson Update:
1. Add preview json feature
2. Add reset button
3. Add configuration active identifier for each tab
4. Bug fix
2022-10-21 16:06:13 +08:00
longpanda
c87ad1d734 Fix VentoyPlugson issue when ISO partition has a drive label with a space. (#1901) 2022-10-09 09:24:16 +08:00
longpanda
5590208885 Fix the issue that rockcluster, part of config missing during install. (#1900) 2022-10-08 10:07:39 +08:00
longpanda
09a6d33d62 Add _VTNORMAL identifier. 2022-10-07 17:28:31 +08:00
longpanda
9852252aba Merge branch 'master' of https://github.com/ventoy/Ventoy 2022-10-07 11:18:04 +08:00
longpanda
0585d83a8f Fix the issue that VTOY_LINUX_REMOUNT=1 does not work with Batocera 35 (#1878) 2022-10-07 11:16:45 +08:00
A1ive
ebe0b7d282 show asterisks ('*') when typing password (#1868)
* show asterisks ('*') when typing password

* add function ventoy_password_get
2022-09-25 12:31:32 +08:00
MELERIX
261ddcef45 added Spanish (Latinoamérica) translation (#1865)
* added Spanish (Latinoamérica) translation

* Update languages.json
2022-09-25 10:14:02 +08:00
longpanda
ebc5e2e993 1. Disable Fn hotkey during secondary boot menu.
2. Recover boot mode after boot fail from secondary boot menu.
2022-09-24 21:06:29 +08:00
longpanda
d58bd8c3f7 update README.md 2022-09-23 11:32:39 +08:00
150 changed files with 4757 additions and 840 deletions

View File

@@ -21,7 +21,7 @@ body:
attributes:
label: Ventoy Version
description: What version of ventoy are you running?
placeholder: 1.0.80
placeholder: 1.0.83
validations:
required: true
- type: dropdown

View File

@@ -25,6 +25,10 @@
#include <grub/i18n.h>
#include <grub/normal.h>
typedef const char * (*get_vmenu_title_pf)(const char *vMenu);
static get_vmenu_title_pf g_pfvmenu_title = NULL;
static const struct grub_arg_option options[] =
{
{"class", 1, GRUB_ARG_OPTION_REPEATABLE,
@@ -86,6 +90,8 @@ grub_normal_add_menu_entry (int argc, const char **args,
char *menu_title = NULL;
char *menu_sourcecode = NULL;
char *menu_id = NULL;
const char *vmenu = NULL;
const char *vaddr = NULL;
struct grub_menu_entry_class *menu_classes = NULL;
grub_menu_t menu;
@@ -145,7 +151,17 @@ grub_normal_add_menu_entry (int argc, const char **args,
goto fail;
}
menu_title = grub_strdup (args[0]);
if (!g_pfvmenu_title) {
vaddr = grub_env_get("VTOY_VMENU_FUNC_ADDR");
if (vaddr)
g_pfvmenu_title = (get_vmenu_title_pf)(unsigned long)grub_strtoul(vaddr, NULL, 16);
}
if (g_pfvmenu_title && grub_strncmp(args[0], "@VTMENU_", 8) == 0)
vmenu = g_pfvmenu_title(args[0] + 1);
menu_title = grub_strdup (vmenu ? vmenu : args[0]);
if (! menu_title)
goto fail;

View File

@@ -31,6 +31,7 @@ extern int g_ventoy_iso_raw;
extern int g_ventoy_grub2_mode;
extern int g_ventoy_wimboot_mode;
extern int g_ventoy_iso_uefi_drv;
extern char g_ventoy_hotkey_tip[256];
static const char *align_options[] =
{
@@ -230,10 +231,7 @@ label_set_property (void *vself, const char *name, const char *value)
value = g_ventoy_iso_uefi_drv ? grub_env_get("VTOY_ISO_UEFI_DRV_STR") : " ";
}
else if (grub_strcmp (value, "@VTOY_HOTKEY_TIP@") == 0) {
value = grub_env_get("VTOY_HOTKEY_TIP");
if (value == NULL) {
value = _(" ");
}
value = g_ventoy_hotkey_tip;
}
self->template = grub_strdup (value);

View File

@@ -48,10 +48,35 @@ int g_ventoy_suppress_esc = 0;
int g_ventoy_suppress_esc_default = 1;
int g_ventoy_menu_esc = 0;
int g_ventoy_fn_mutex = 0;
int g_ventoy_secondary_menu_on = 0;
int g_ventoy_terminal_output = 0;
char g_ventoy_hotkey_tip[256];
static int g_vt_key_num = 0;
static int g_vt_key_code[128];
static int ventoy_menu_pop_key(void)
{
if (g_vt_key_num > 0 && g_vt_key_num < (int)(sizeof(g_vt_key_code) / sizeof(g_vt_key_code[0])))
{
g_vt_key_num--;
return g_vt_key_code[g_vt_key_num];
}
return -1;
}
int ventoy_menu_push_key(int code)
{
if (g_vt_key_num >= 0 && g_vt_key_num < (int)(sizeof(g_vt_key_code) / sizeof(g_vt_key_code[0])))
{
g_vt_key_code[g_vt_key_num++] = code;
return 0;
}
return -1;
}
#define VTOY_COMM_HOTKEY(cmdkey) \
if (0 == g_ventoy_fn_mutex) { \
if (0 == g_ventoy_fn_mutex && 0 == g_ventoy_secondary_menu_on) { \
cmdstr = grub_env_get(cmdkey); \
if (cmdstr) \
{ \
@@ -795,7 +820,11 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
return default_entry;
}
c = grub_getkey_noblock ();
if (g_vt_key_num > 0) {
c = ventoy_menu_pop_key();
} else {
c = grub_getkey_noblock ();
}
/* Negative values are returned on error. */
if ((c != GRUB_TERM_NO_KEY) && (c > 0))
@@ -933,70 +962,99 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
goto refresh;
case GRUB_TERM_KEY_F1:
case '1':
menu_fini ();
g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode;
g_ventoy_menu_refresh = 1;
goto refresh;
case (GRUB_TERM_CTRL | 'i'):
case 'i':
menu_fini ();
g_ventoy_iso_raw = 1 - g_ventoy_iso_raw;
g_ventoy_menu_refresh = 1;
goto refresh;
case (GRUB_TERM_CTRL | 'r'):
case 'r':
menu_fini ();
g_ventoy_grub2_mode = 1 - g_ventoy_grub2_mode;
g_ventoy_menu_refresh = 1;
goto refresh;
case (GRUB_TERM_CTRL | 'w'):
case 'w':
menu_fini ();
g_ventoy_wimboot_mode = 1 - g_ventoy_wimboot_mode;
g_ventoy_menu_refresh = 1;
goto refresh;
case (GRUB_TERM_CTRL | 'u'):
case 'u':
menu_fini ();
g_ventoy_iso_uefi_drv = 1 - g_ventoy_iso_uefi_drv;
g_ventoy_menu_refresh = 1;
goto refresh;
case (GRUB_TERM_CTRL | 'h'):
case 'h':
{
cmdstr = grub_env_get("VTOY_HELP_CMD");
if (cmdstr)
if (0 == g_ventoy_secondary_menu_on)
{
cmdstr = grub_env_get("VTOY_HELP_CMD");
if (cmdstr)
{
grub_script_execute_sourcecode(cmdstr);
while (grub_getkey() != GRUB_TERM_ESC)
;
menu_fini ();
goto refresh;
}
}
break;
case (GRUB_TERM_CTRL | 'd'):
case 'd':
if (0 == g_ventoy_secondary_menu_on)
{
grub_script_execute_sourcecode(cmdstr);
while (grub_getkey() != GRUB_TERM_ESC)
;
menu_fini ();
g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode;
g_ventoy_menu_refresh = 1;
goto refresh;
}
break;
case (GRUB_TERM_CTRL | 'i'):
case 'i':
if (0 == g_ventoy_secondary_menu_on)
{
menu_fini ();
g_ventoy_iso_raw = 1 - g_ventoy_iso_raw;
g_ventoy_menu_refresh = 1;
goto refresh;
}
break;
case (GRUB_TERM_CTRL | 'r'):
case 'r':
if (0 == g_ventoy_secondary_menu_on)
{
menu_fini ();
g_ventoy_grub2_mode = 1 - g_ventoy_grub2_mode;
g_ventoy_menu_refresh = 1;
goto refresh;
}
break;
case (GRUB_TERM_CTRL | 'w'):
case 'w':
if (0 == g_ventoy_secondary_menu_on)
{
menu_fini ();
g_ventoy_wimboot_mode = 1 - g_ventoy_wimboot_mode;
g_ventoy_menu_refresh = 1;
goto refresh;
}
break;
case (GRUB_TERM_CTRL | 'u'):
case 'u':
if (0 == g_ventoy_secondary_menu_on)
{
menu_fini ();
g_ventoy_iso_uefi_drv = 1 - g_ventoy_iso_uefi_drv;
g_ventoy_menu_refresh = 1;
goto refresh;
}
break;
case (GRUB_TERM_CTRL | 'l'):
case (GRUB_TERM_CTRL | 'L'):
case (GRUB_TERM_SHIFT | 'l'):
case (GRUB_TERM_SHIFT | 'L'):
case 'l':
case 'L':
{
VTOY_COMM_HOTKEY("VTOY_LANG_CMD");
break;
}
case (GRUB_TERM_CTRL | 'm'):
case 'm':
{
if (g_ventoy_cur_img_path)
{
grub_env_set("VTOY_CHKSUM_FILE_PATH", g_ventoy_cur_img_path);
cmdstr = grub_env_get("VTOY_CHKSUM_CMD");
if (cmdstr)
if (0 == g_ventoy_secondary_menu_on)
{
if (g_ventoy_cur_img_path)
{
menu_fini();
grub_script_execute_sourcecode(cmdstr);
goto refresh;
grub_env_set("VTOY_CHKSUM_FILE_PATH", g_ventoy_cur_img_path);
cmdstr = grub_env_get("VTOY_CHKSUM_CMD");
if (cmdstr)
{
menu_fini();
grub_script_execute_sourcecode(cmdstr);
goto refresh;
}
}
else
{
grub_env_set("VTOY_CHKSUM_FILE_PATH", "X");
}
}
else
{
grub_env_set("VTOY_CHKSUM_FILE_PATH", "X");
}
break;
}

View File

@@ -31,6 +31,8 @@
static grub_uint8_t grub_color_menu_normal;
static grub_uint8_t grub_color_menu_highlight;
extern char g_ventoy_hotkey_tip[256];
struct menu_viewer_data
{
int first, offset;
@@ -204,7 +206,7 @@ command-line or ESC to discard edits and return to the GRUB menu."),
ret += grub_print_message_indented_real(szLine, STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run);
ret += grub_print_message_indented_real("\n", STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run);
ret += grub_print_message_indented_real(grub_env_get("VTOY_HOTKEY_TIP"),
ret += grub_print_message_indented_real(g_ventoy_hotkey_tip,
3, 6, term, dry_run);
}
}

View File

@@ -188,6 +188,21 @@ void * ventoy_alloc_chain(grub_size_t size)
return p;
}
void ventoy_memfile_env_set(const char *prefix, const void *buf, unsigned long long len)
{
char name[128];
char val[64];
grub_snprintf(name, sizeof(name), "%s_addr", prefix);
grub_snprintf(val, sizeof(val), "0x%llx", (ulonglong)(ulong)buf);
grub_env_set(name, val);
grub_snprintf(name, sizeof(name), "%s_size", prefix);
grub_snprintf(val, sizeof(val), "%llu", len);
grub_env_set(name, val);
return;
}
static int ventoy_arch_mode_init(void)
{

View File

@@ -616,13 +616,15 @@ grub_err_t ventoy_cmd_browser_disk(grub_extcmd_context_t ctxt, int argc, char **
if (g_tree_view_menu_style == 0)
{
browser_ssprintf(&mbuf, "menuentry \"%-10s [Return]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n}\n", "<--");
browser_ssprintf(&mbuf, "menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n}\n", "<--",
ventoy_get_vmenu_title("VTMENU_BROWER_RETURN"));
}
else
{
browser_ssprintf(&mbuf, "menuentry \"[Return]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n}\n");
browser_ssprintf(&mbuf, "menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n}\n",
ventoy_get_vmenu_title("VTMENU_BROWER_RETURN"));
}
grub_disk_dev_iterate(ventoy_browser_iterate_disk, &mbuf);

View File

@@ -158,6 +158,8 @@ const char *g_menu_prefix[img_type_max] =
"iso", "wim", "efi", "img", "vhd", "vtoy"
};
static int g_vtoy_secondary_need_recover = 0;
static int g_vtoy_load_prompt = 0;
static char g_vtoy_prompt_msg[64];
@@ -1034,8 +1036,6 @@ static grub_err_t ventoy_cmd_concat_efi_iso(grub_extcmd_context_t ctxt, int argc
int totlen = 0;
int offset = 0;
grub_file_t file;
char name[32];
char value[32];
char *buf = NULL;
char *data = NULL;
ventoy_iso9660_override *dirent;
@@ -1095,13 +1095,7 @@ static grub_err_t ventoy_cmd_concat_efi_iso(grub_extcmd_context_t ctxt, int argc
grub_file_read(file, data + sizeof(ventoy_chain_head) + len, file->size);
grub_file_close(file);
grub_snprintf(name, sizeof(name), "%s_addr", args[1]);
grub_snprintf(value, sizeof(value), "0x%llx", (ulonglong)(ulong)data);
grub_env_set(name, value);
grub_snprintf(name, sizeof(name), "%s_size", args[1]);
grub_snprintf(value, sizeof(value), "%d", (int)(totlen));
grub_env_set(name, value);
ventoy_memfile_env_set(args[1], data, (ulonglong)totlen);
return 0;
}
@@ -1168,8 +1162,6 @@ grub_ssize_t ventoy_load_file_with_prompt(grub_file_t file, void *buf, grub_ssiz
static grub_err_t ventoy_cmd_load_file_to_mem(grub_extcmd_context_t ctxt, int argc, char **args)
{
int rc = 1;
char name[32];
char value[32];
char *buf = NULL;
grub_file_t file;
enum grub_file_type type;
@@ -1220,13 +1212,7 @@ static grub_err_t ventoy_cmd_load_file_to_mem(grub_extcmd_context_t ctxt, int ar
grub_file_read(file, buf, file->size);
}
grub_snprintf(name, sizeof(name), "%s_addr", args[2]);
grub_snprintf(value, sizeof(value), "0x%llx", (unsigned long long)(unsigned long)buf);
grub_env_set(name, value);
grub_snprintf(name, sizeof(name), "%s_size", args[2]);
grub_snprintf(value, sizeof(value), "%llu", (unsigned long long)file->size);
grub_env_set(name, value);
ventoy_memfile_env_set(args[2], buf, (ulonglong)(file->size));
grub_file_close(file);
rc = 0;
@@ -1238,8 +1224,6 @@ static grub_err_t ventoy_cmd_load_img_memdisk(grub_extcmd_context_t ctxt, int ar
{
int rc = 1;
int headlen;
char name[32];
char value[32];
char *buf = NULL;
grub_file_t file;
@@ -1271,13 +1255,7 @@ static grub_err_t ventoy_cmd_load_img_memdisk(grub_extcmd_context_t ctxt, int ar
grub_file_read(file, buf + headlen, file->size);
grub_snprintf(name, sizeof(name), "%s_addr", args[1]);
grub_snprintf(value, sizeof(value), "0x%llx", (unsigned long long)(unsigned long)buf);
grub_env_set(name, value);
grub_snprintf(name, sizeof(name), "%s_size", args[1]);
grub_snprintf(value, sizeof(value), "%llu", (unsigned long long)file->size);
grub_env_set(name, value);
ventoy_memfile_env_set(args[1], buf, (ulonglong)(file->size));
grub_file_close(file);
rc = 0;
@@ -2181,6 +2159,74 @@ int ventoy_fill_data(grub_uint32_t buflen, char *buffer)
return len;
}
static int
ventoy_password_get (char buf[], unsigned buf_size)
{
unsigned i, cur_len = 0;
int key;
struct grub_term_coordinate *pos = grub_term_save_pos ();
while (1)
{
key = grub_getkey ();
if (key == '\n' || key == '\r')
break;
if (key == GRUB_TERM_ESC)
{
cur_len = 0;
break;
}
if (key == '\b')
{
if (cur_len)
{
grub_term_restore_pos (pos);
for (i = 0; i < cur_len; i++)
grub_xputs (" ");
grub_term_restore_pos (pos);
cur_len--;
for (i = 0; i < cur_len; i++)
grub_xputs ("*");
grub_refresh ();
}
continue;
}
if (!grub_isprint (key))
continue;
if (cur_len + 2 < buf_size)
buf[cur_len++] = key;
grub_xputs ("*");
grub_refresh ();
}
grub_memset (buf + cur_len, 0, buf_size - cur_len);
grub_xputs ("\n");
grub_refresh ();
grub_free (pos);
return (key != GRUB_TERM_ESC);
}
static int ventoy_get_password(char buf[], unsigned buf_size)
{
const char *env = NULL;
env = grub_env_get("VTOY_SHOW_PASSWORD_ASTERISK");
if (env && env[0] == '0' && env[1] == 0)
{
return grub_password_get(buf, buf_size);
}
else
{
return ventoy_password_get(buf, buf_size);
}
}
int ventoy_check_password(const vtoy_password *pwd, int retry)
{
int offset;
@@ -2196,7 +2242,7 @@ int ventoy_check_password(const vtoy_password *pwd, int retry)
if (pwd->type == VTOY_PASSWORD_TXT)
{
grub_password_get(input, 128);
ventoy_get_password(input, 128);
if (grub_strcmp(pwd->text, input) == 0)
{
return 0;
@@ -2204,7 +2250,7 @@ int ventoy_check_password(const vtoy_password *pwd, int retry)
}
else if (pwd->type == VTOY_PASSWORD_MD5)
{
grub_password_get(input, 128);
ventoy_get_password(input, 128);
grub_crypto_hash(GRUB_MD_MD5, md5, input, grub_strlen(input));
if (grub_memcmp(pwd->md5, md5, 16) == 0)
{
@@ -2214,7 +2260,7 @@ int ventoy_check_password(const vtoy_password *pwd, int retry)
else if (pwd->type == VTOY_PASSWORD_SALT_MD5)
{
offset = (int)grub_snprintf(input, 128, "%s", pwd->salt);
grub_password_get(input + offset, 128);
ventoy_get_password(input + offset, 128);
grub_crypto_hash(GRUB_MD_MD5, md5, input, grub_strlen(input));
if (grub_memcmp(pwd->md5, md5, 16) == 0)
@@ -2300,16 +2346,16 @@ static int ventoy_dynamic_tree_menu(img_iterator_node *node)
if (g_tree_view_menu_style == 0)
{
vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos,
"menuentry \"%-10s [Return to ListView]\" --class=\"vtoyret\" VTOY_RET {\n "
"menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n"
"}\n", "<--");
"}\n", "<--", ventoy_get_vmenu_title("VTMENU_RET_TO_LISTVIEW"));
}
else
{
vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos,
"menuentry \"[Return to ListView]\" --class=\"vtoyret\" VTOY_RET {\n "
"menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n"
"}\n");
"}\n", ventoy_get_vmenu_title("VTMENU_RET_TO_LISTVIEW"));
}
}
@@ -2888,9 +2934,9 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
if (g_default_menu_mode == 1)
{
vtoy_ssprintf(g_list_script_buf, g_list_script_pos,
"menuentry \"%s [Return to TreeView]\" --class=\"vtoyret\" VTOY_RET {\n "
"menuentry \"%s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n"
"}\n", "<--");
"}\n", "<--", ventoy_get_vmenu_title("VTMENU_RET_TO_TREEVIEW"));
}
for (cur = g_ventoy_img_list; cur; cur = cur->next)
@@ -3659,13 +3705,14 @@ static grub_err_t ventoy_cmd_sel_auto_install(grub_extcmd_context_t ctxt, int ar
vtoy_ssprintf(buf, pos, "set timeout=%d\n", node->timeout);
}
vtoy_ssprintf(buf, pos, "menuentry \"Boot without auto installation template\" --class=\"sel_auto_install\" {\n"
vtoy_ssprintf(buf, pos, "menuentry \"@VTMENU_NO_AUTOINS_SCRIPT\" --class=\"sel_auto_install\" {\n"
" echo %s\n}\n", "");
for (i = 0; i < node->templatenum; i++)
{
vtoy_ssprintf(buf, pos, "menuentry \"Boot with %s\" --class=\"sel_auto_install\" {\n"
vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_auto_install\" {\n"
" echo \"\"\n}\n",
ventoy_get_vmenu_title("VTMENU_AUTOINS_USE"),
node->templatepath[i].path);
}
@@ -3765,13 +3812,14 @@ static grub_err_t ventoy_cmd_sel_persistence(grub_extcmd_context_t ctxt, int arg
vtoy_ssprintf(buf, pos, "set timeout=%d\n", node->timeout);
}
vtoy_ssprintf(buf, pos, "menuentry \"Boot without persistence\" --class=\"sel_persistence\" {\n"
vtoy_ssprintf(buf, pos, "menuentry \"@VTMENU_NO_PERSISTENCE\" --class=\"sel_persistence\" {\n"
" echo %s\n}\n", "");
for (i = 0; i < node->backendnum; i++)
{
vtoy_ssprintf(buf, pos, "menuentry \"Boot with %s\" --class=\"sel_persistence\" {\n"
vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_persistence\" {\n"
" echo \"\"\n}\n",
ventoy_get_vmenu_title("VTMENU_PERSIST_USE"),
node->backendpath[i].path);
}
@@ -5970,9 +6018,11 @@ static grub_err_t ventoy_cmd_need_secondary_menu(grub_extcmd_context_t ctxt, int
return 1;
}
if (ventoy_check_mode_by_name(args[0], "vtmemdisk") ||
ventoy_check_mode_by_name(args[0], "vtgrub2") ||
ventoy_check_mode_by_name(args[0], "vtwimboot"))
if (ventoy_check_mode_by_name(args[0], "vtgrub2") ||
ventoy_check_mode_by_name(args[0], "vtwimboot") ||
ventoy_check_mode_by_name(args[0], "vtmemdisk") ||
ventoy_check_mode_by_name(args[0], "vtnormal")
)
{
return 1;
}
@@ -6009,6 +6059,7 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int
return 1;
}
g_vtoy_secondary_need_recover = 0;
grub_env_unset("VTOY_CHKSUM_FILE_PATH");
env = grub_env_get("VTOY_SECONDARY_TIMEOUT");
@@ -6024,50 +6075,55 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int
fsize = grub_strtoull(args[2], NULL, 10);
vtoy_dummy_menuentry(cmd, pos, len, "Boot in normal mode", "second_normal"); seldata[n++] = 1;
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_NORMAL_MODE", "second_normal"); seldata[n++] = 1;
if (grub_strcmp(args[1], "Unix") != 0)
{
if (grub_strcmp(args[1], "Windows") == 0)
{
vtoy_dummy_menuentry(cmd, pos, len, "Boot in wimboot mode", "second_wimboot"); seldata[n++] = 2;
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_WIMBOOT_MODE", "second_wimboot"); seldata[n++] = 2;
}
else
{
vtoy_dummy_menuentry(cmd, pos, len, "Boot in grub2 mode", "second_grub2"); seldata[n++] = 3;
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_GRUB2_MODE", "second_grub2"); seldata[n++] = 3;
}
if (fsize <= VTOY_SIZE_1GB)
{
vtoy_dummy_menuentry(cmd, pos, len, "Boot in memdisk mode", "second_memdisk"); seldata[n++] = 4;
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_MEMDISK_MODE", "second_memdisk"); seldata[n++] = 4;
}
}
vtoy_dummy_menuentry(cmd, pos, len, "File checksum", "second_checksum"); seldata[n++] = 5;
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_FILE_CHKSUM", "second_checksum"); seldata[n++] = 5;
do {
g_ventoy_menu_esc = 1;
g_ventoy_suppress_esc = 1;
g_ventoy_suppress_esc_default = 0;
g_ventoy_secondary_menu_on = 1;
grub_snprintf(cfgfile, sizeof(cfgfile), "configfile mem:0x%llx:size:%d", (ulonglong)(ulong)cmd, pos);
grub_script_execute_sourcecode(cfgfile);
g_ventoy_menu_esc = 0;
g_ventoy_suppress_esc = 0;
g_ventoy_suppress_esc_default = 1;
g_ventoy_secondary_menu_on = 0;
select = seldata[g_ventoy_last_entry];
if (select == 2)
{
g_ventoy_wimboot_mode = 1;
g_vtoy_secondary_need_recover = 1;
}
else if (select == 3)
{
g_ventoy_grub2_mode = 1;
g_vtoy_secondary_need_recover = 2;
}
else if (select == 4)
{
g_ventoy_memdisk_mode = 1;
g_vtoy_secondary_need_recover = 3;
}
else if (select == 5)
{
@@ -6080,6 +6136,30 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int
return 0;
}
static grub_err_t ventoy_cmd_secondary_recover_mode(grub_extcmd_context_t ctxt, int argc, char **args)
{
(void)ctxt;
(void)argc;
(void)args;
if (g_vtoy_secondary_need_recover == 1)
{
g_ventoy_wimboot_mode = 0;
}
else if (g_vtoy_secondary_need_recover == 2)
{
g_ventoy_grub2_mode = 0;
}
else if (g_vtoy_secondary_need_recover == 3)
{
g_ventoy_memdisk_mode = 0;
}
g_vtoy_secondary_need_recover = 0;
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
}
static grub_err_t ventoy_cmd_fs_ignore_case(grub_extcmd_context_t ctxt, int argc, char **args)
{
(void)ctxt;
@@ -6097,6 +6177,15 @@ static grub_err_t ventoy_cmd_fs_ignore_case(grub_extcmd_context_t ctxt, int argc
return 0;
}
static grub_err_t ventoy_cmd_load_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args)
{
(void)ctxt;
(void)argc;
ventoy_plugin_load_menu_lang(args[0]);
VENTOY_CMD_RETURN(0);
}
int ventoy_env_init(void)
{
int i;
@@ -6138,6 +6227,10 @@ int ventoy_env_init(void)
grub_snprintf(buf, sizeof(buf), "0x%lx", (ulong)ventoy_chain_file_read);
grub_env_set("vtoy_chain_file_read", buf);
grub_env_export("vtoy_chain_file_read");
grub_snprintf(buf, sizeof(buf), "0x%lx", (ulong)ventoy_get_vmenu_title);
grub_env_set("VTOY_VMENU_FUNC_ADDR", buf);
grub_env_export("VTOY_VMENU_FUNC_ADDR");
return 0;
}
@@ -6303,6 +6396,10 @@ static cmd_para ventoy_cmds[] =
{ "vt_show_secondary_menu", ventoy_cmd_show_secondary_menu, 0, NULL, "", "", NULL },
{ "vt_fs_ignore_case", ventoy_cmd_fs_ignore_case, 0, NULL, "", "", NULL },
{ "vt_systemd_menu", ventoy_cmd_linux_systemd_menu, 0, NULL, "", "", NULL },
{ "vt_limine_menu", ventoy_cmd_linux_limine_menu, 0, NULL, "", "", NULL },
{ "vt_secondary_recover_mode", ventoy_cmd_secondary_recover_mode, 0, NULL, "", "", NULL },
{ "vt_load_menu_lang", ventoy_cmd_load_menu_lang, 0, NULL, "", "", NULL },
{ "vt_cur_menu_lang", ventoy_cmd_cur_menu_lang, 0, NULL, "", "", NULL },
};
int ventoy_register_all_cmd(void)

View File

@@ -623,6 +623,7 @@ grub_uint32_t ventoy_get_iso_boot_catlog(grub_file_t file);
int ventoy_has_efi_eltorito(grub_file_t file, grub_uint32_t sector);
grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, char **args);
grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, char **args);
grub_err_t ventoy_cmd_linux_limine_menu(grub_extcmd_context_t ctxt, int argc, char **args);
grub_err_t ventoy_cmd_linux_locate_initrd(grub_extcmd_context_t ctxt, int argc, char **args);
grub_err_t ventoy_cmd_initrd_count(grub_extcmd_context_t ctxt, int argc, char **args);
grub_err_t ventoy_cmd_valid_initrd_count(grub_extcmd_context_t ctxt, int argc, char **args);
@@ -1039,6 +1040,7 @@ typedef struct menu_password
}menu_password;
extern int g_ventoy_menu_esc;
extern int g_ventoy_secondary_menu_on;
extern int g_ventoy_suppress_esc;
extern int g_ventoy_suppress_esc_default;
extern int g_ventoy_last_entry;
@@ -1051,6 +1053,9 @@ extern int g_ventoy_case_insensitive;
extern int g_ventoy_fn_mutex;
extern grub_uint8_t g_ventoy_chain_type;
extern int g_vhdboot_enable;
extern int g_default_menu_mode;
extern char g_ventoy_hotkey_tip[256];
extern int g_ventoy_menu_refresh;
#define VENTOY_IMG_WHITE_LIST 1
#define VENTOY_IMG_BLACK_LIST 2
@@ -1256,6 +1261,10 @@ grub_err_t ventoy_cmd_browser_disk(grub_extcmd_context_t ctxt, int argc, char **
int ventoy_get_fs_type(const char *fs);
int ventoy_img_name_valid(const char *filename, grub_size_t namelen);
void * ventoy_alloc_chain(grub_size_t size);
int ventoy_plugin_load_menu_lang(const char *lang);
const char *ventoy_get_vmenu_title(const char *vMenu);
grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args);
extern int ventoy_menu_push_key(int code);
#endif /* __VENTOY_DEF_H__ */

View File

@@ -1572,7 +1572,6 @@ grub_err_t ventoy_cmd_trailer_cpio(grub_extcmd_context_t ctxt, int argc, char **
grub_uint8_t *bufend;
cpio_newc_header *head;
grub_file_t file;
char value[64];
const grub_uint8_t trailler[124] = {
0x30, 0x37, 0x30, 0x37, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
@@ -1643,11 +1642,8 @@ grub_err_t ventoy_cmd_trailer_cpio(grub_extcmd_context_t ctxt, int argc, char **
name = (char *)(head + 1);
}
}
grub_snprintf(value, sizeof(value), "0x%llx", (ulonglong)(ulong)g_ventoy_cpio_buf);
ventoy_set_env("ventoy_cpio_addr", value);
grub_snprintf(value, sizeof(value), "%d", bufsize);
ventoy_set_env("ventoy_cpio_size", value);
ventoy_memfile_env_set("ventoy_cpio", g_ventoy_cpio_buf, (ulonglong)bufsize);
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
}
@@ -1669,7 +1665,6 @@ grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, cha
const char *pLastChain = NULL;
const char *compatible;
ventoy_chain_head *chain;
char envbuf[64];
(void)ctxt;
(void)argc;
@@ -1757,10 +1752,7 @@ grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, cha
return 1;
}
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
grub_env_set("vtoy_chain_mem_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
grub_env_set("vtoy_chain_mem_size", envbuf);
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
grub_memset(chain, 0, sizeof(ventoy_chain_head));
@@ -1921,8 +1913,6 @@ out:
grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, char **args)
{
static char *buf = NULL;
char name[128];
char value[64];
grub_fs_t fs;
char *device_name = NULL;
grub_device_t dev = NULL;
@@ -1967,13 +1957,7 @@ grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, c
ctx.len = VTOY_LINUX_SYSTEMD_MENU_MAX_BUF;
fs->fs_dir(dev, "/loader/entries", ventoy_systemd_conf_hook, &ctx);
grub_snprintf(name, sizeof(name), "%s_addr", args[1]);
grub_snprintf(value, sizeof(value), "0x%llx", (ulonglong)(ulong)buf);
grub_env_set(name, value);
grub_snprintf(name, sizeof(name), "%s_size", args[1]);
grub_snprintf(value, sizeof(value), "%d", ctx.pos);
grub_env_set(name, value);
ventoy_memfile_env_set(args[1], buf, (ulonglong)(ctx.pos));
end:
grub_check_free(device_name);
@@ -1981,3 +1965,147 @@ end:
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
}
static int ventoy_limine_path_convert(char *path)
{
char newpath[256] = {0};
if (grub_strncmp(path, "boot://2/", 9) == 0)
{
grub_snprintf(newpath, sizeof(newpath), "(vtimghd,2)/%s", path + 9);
}
else if (grub_strncmp(path, "boot://1/", 9) == 0)
{
grub_snprintf(newpath, sizeof(newpath), "(vtimghd,1)/%s", path + 9);
}
if (newpath[0])
{
grub_snprintf(path, 1024, "%s", newpath);
}
return 0;
}
grub_err_t ventoy_cmd_linux_limine_menu(grub_extcmd_context_t ctxt, int argc, char **args)
{
int pos = 0;
int sub = 0;
int len = VTOY_LINUX_SYSTEMD_MENU_MAX_BUF;
char *filebuf = NULL;
char *start = NULL;
char *nextline = NULL;
grub_file_t file = NULL;
char *title = NULL;
char *kernel = NULL;
char *initrd = NULL;
char *param = NULL;
static char *buf = NULL;
(void)ctxt;
(void)argc;
if (!buf)
{
buf = grub_malloc(len + 4 * 1024);
if (!buf)
{
goto end;
}
}
title = buf + len;
kernel = title + 1024;
initrd = kernel + 1024;
param = initrd + 1024;
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, args[0]);
if (!file)
{
return 0;
}
filebuf = grub_zalloc(file->size + 8);
if (!filebuf)
{
goto end;
}
grub_file_read(file, filebuf, file->size);
grub_file_close(file);
title[0] = kernel[0] = initrd[0] = param[0] = 0;
for (start = filebuf; start; start = nextline)
{
nextline = ventoy_get_line(start);
while (ventoy_isspace(*start))
{
start++;
}
if (start[0] == ':')
{
if (start[1] == ':')
{
grub_snprintf(title, 1024, "%s", start + 2);
}
else
{
if (sub)
{
vtoy_len_ssprintf(buf, pos, len, "}\n");
sub = 0;
}
if (nextline && nextline[0] == ':' && nextline[1] == ':')
{
vtoy_len_ssprintf(buf, pos, len, "submenu \"[+] %s\" {\n", start + 2);
sub = 1;
title[0] = 0;
}
else
{
grub_snprintf(title, 1024, "%s", start + 1);
}
}
}
else if (grub_strncmp(start, "KERNEL_PATH=", 12) == 0)
{
grub_snprintf(kernel, 1024, "%s", start + 12);
}
else if (grub_strncmp(start, "MODULE_PATH=", 12) == 0)
{
grub_snprintf(initrd, 1024, "%s", start + 12);
}
else if (grub_strncmp(start, "KERNEL_CMDLINE=", 15) == 0)
{
grub_snprintf(param, 1024, "%s", start + 15);
}
if (title[0] && kernel[0] && initrd[0] && param[0])
{
ventoy_limine_path_convert(kernel);
ventoy_limine_path_convert(initrd);
vtoy_len_ssprintf(buf, pos, len, "menuentry \"%s\" {\n", title);
vtoy_len_ssprintf(buf, pos, len, " echo \"Downloading kernel ...\"\n linux %s %s\n", kernel, param);
vtoy_len_ssprintf(buf, pos, len, " echo \"Downloading initrd ...\"\n initrd %s\n", initrd);
vtoy_len_ssprintf(buf, pos, len, "}\n");
title[0] = kernel[0] = initrd[0] = param[0] = 0;
}
}
if (sub)
{
vtoy_len_ssprintf(buf, pos, len, "}\n");
sub = 0;
}
ventoy_memfile_env_set(args[1], buf, (ulonglong)pos);
end:
grub_check_free(filebuf);
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
}

View File

@@ -56,12 +56,14 @@ static injection_config *g_injection_head = NULL;
static auto_memdisk *g_auto_memdisk_head = NULL;
static image_list *g_image_list_head = NULL;
static conf_replace *g_conf_replace_head = NULL;
static VTOY_JSON *g_menu_lang_json = NULL;
static int g_theme_id = 0;
static int g_theme_num = 0;
static theme_list *g_theme_head = NULL;
static int g_theme_random = vtoy_theme_random_boot_second;
static char g_theme_single_file[256];
static char g_cur_menu_language[32] = {0};
static int ventoy_plugin_is_parent(const char *pat, int patlen, const char *isopath)
{
@@ -3369,7 +3371,7 @@ grub_err_t ventoy_cmd_select_theme_cfg(grub_extcmd_context_t ctxt, int argc, cha
}
pos += grub_snprintf(buf + pos, bufsize - pos,
"menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {\n"
"menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {\n"
"echo 'Return ...'\n"
"}\n");
@@ -3467,3 +3469,94 @@ grub_err_t ventoy_cmd_set_theme_path(grub_extcmd_context_t ctxt, int argc, char
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
}
const char *ventoy_get_vmenu_title(const char *vMenu)
{
return vtoy_json_get_string_ex(g_menu_lang_json->pstChild, vMenu);
}
int ventoy_plugin_load_menu_lang(const char *lang)
{
int ret = 1;
grub_file_t file = NULL;
char *buf = NULL;
if (grub_strcmp(lang, g_cur_menu_language) == 0)
{
debug("Same menu lang %s\n", lang);
return 0;
}
grub_snprintf(g_cur_menu_language, sizeof(g_cur_menu_language), "%s", lang);
debug("Load menu lang %s\n", g_cur_menu_language);
if (g_menu_lang_json)
{
vtoy_json_destroy(g_menu_lang_json);
g_menu_lang_json = NULL;
}
g_menu_lang_json = vtoy_json_create();
if (!g_menu_lang_json)
{
goto end;
}
file = ventoy_grub_file_open(GRUB_FILE_TYPE_LINUX_INITRD, "(vt_menu_tarfs)/menu/%s.json", lang);
if (!file)
{
goto end;
}
buf = grub_malloc(file->size + 1);
if (!buf)
{
grub_printf("Failed to malloc memory %lu.\n", (ulong)(file->size + 1));
goto end;
}
buf[file->size] = 0;
grub_file_read(file, buf, file->size);
vtoy_json_parse(g_menu_lang_json, buf);
if (g_default_menu_mode == 0)
{
grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTMENU_STR_HOTKEY_TREE"));
}
else
{
grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTMENU_STR_HOTKEY_LIST"));
}
ventoy_menu_push_key(GRUB_TERM_ESC);
ventoy_menu_push_key(GRUB_TERM_ESC);
g_ventoy_menu_refresh = 1;
ret = 0;
end:
check_free(file, grub_file_close);
grub_check_free(buf);
return ret;
}
grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args)
{
(void)ctxt;
(void)argc;
if (argc > 0)
{
grub_env_set(args[0], g_cur_menu_language);
}
else
{
grub_printf("%s\n", g_cur_menu_language);
grub_printf("%s\n", g_ventoy_hotkey_tip);
grub_refresh();
}
VENTOY_CMD_RETURN(0);
}

View File

@@ -1118,7 +1118,6 @@ grub_err_t ventoy_cmd_unix_chain_data(grub_extcmd_context_t ctxt, int argc, char
const char *pLastChain = NULL;
const char *compatible;
ventoy_chain_head *chain;
char envbuf[64];
(void)ctxt;
(void)argc;
@@ -1197,10 +1196,7 @@ grub_err_t ventoy_cmd_unix_chain_data(grub_extcmd_context_t ctxt, int argc, char
return 1;
}
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
grub_env_set("vtoy_chain_mem_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
grub_env_set("vtoy_chain_mem_size", envbuf);
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
grub_memset(chain, 0, sizeof(ventoy_chain_head));

View File

@@ -305,7 +305,6 @@ grub_err_t ventoy_cmd_patch_vhdboot(grub_extcmd_context_t ctxt, int argc, char *
int patchoffset[2];
ventoy_patch_vhd *patch1;
ventoy_patch_vhd *patch2;
char envbuf[64];
(void)ctxt;
(void)argc;
@@ -356,15 +355,9 @@ grub_err_t ventoy_cmd_patch_vhdboot(grub_extcmd_context_t ctxt, int argc, char *
/* set buffer and size */
#ifdef GRUB_MACHINE_EFI
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (ulong)g_vhdboot_totbuf);
grub_env_set("vtoy_vhd_buf_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%d", (int)(g_vhdboot_isolen + sizeof(ventoy_chain_head)));
grub_env_set("vtoy_vhd_buf_size", envbuf);
ventoy_memfile_env_set("vtoy_vhd_buf", g_vhdboot_totbuf, (ulonglong)(g_vhdboot_isolen + sizeof(ventoy_chain_head)));
#else
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (ulong)g_vhdboot_isobuf);
grub_env_set("vtoy_vhd_buf_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%d", g_vhdboot_isolen);
grub_env_set("vtoy_vhd_buf_size", envbuf);
ventoy_memfile_env_set("vtoy_vhd_buf", g_vhdboot_isobuf, (ulonglong)g_vhdboot_isolen);
#endif
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
@@ -645,7 +638,6 @@ grub_err_t ventoy_cmd_raw_chain_data(grub_extcmd_context_t ctxt, int argc, char
grub_disk_t disk;
const char *pLastChain = NULL;
ventoy_chain_head *chain;
char envbuf[64];
(void)ctxt;
(void)argc;
@@ -695,10 +687,7 @@ grub_err_t ventoy_cmd_raw_chain_data(grub_extcmd_context_t ctxt, int argc, char
return 1;
}
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
grub_env_set("vtoy_chain_mem_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
grub_env_set("vtoy_chain_mem_size", envbuf);
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
grub_env_export("vtoy_chain_mem_addr");
grub_env_export("vtoy_chain_mem_size");

View File

@@ -2033,7 +2033,6 @@ grub_err_t ventoy_cmd_windows_wimboot_data(grub_extcmd_context_t ctxt, int argc,
grub_uint8_t *param = NULL;
grub_uint8_t *exe_data = NULL;
ventoy_windows_data *rtdata = NULL;
char envbuf[64] = {0};
char exename[128] = {0};
wim_tail wim_data;
@@ -2076,13 +2075,7 @@ grub_err_t ventoy_cmd_windows_wimboot_data(grub_extcmd_context_t ctxt, int argc,
rtdata = (ventoy_windows_data *)(param + jump_align + sizeof(ventoy_os_param));
ventoy_fill_windows_rtdata(rtdata, chain->os_param.vtoy_img_path, dataflag);
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (ulong)param);
grub_env_set("vtoy_wimboot_mem_addr", envbuf);
debug("vtoy_wimboot_mem_addr: %s\n", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%u", wim_data.bin_align_len);
grub_env_set("vtoy_wimboot_mem_size", envbuf);
debug("vtoy_wimboot_mem_size: %s\n", envbuf);
ventoy_memfile_env_set("vtoy_wimboot_mem", param, (ulonglong)(wim_data.bin_align_len));
grub_env_set(args[1], exename);
grub_env_set(args[2], wim64 ? "64" : "32");
@@ -2105,7 +2098,6 @@ grub_err_t ventoy_cmd_windows_chain_data(grub_extcmd_context_t ctxt, int argc, c
const char *pLastChain = NULL;
const char *compatible;
ventoy_chain_head *chain;
char envbuf[64];
(void)ctxt;
(void)argc;
@@ -2200,10 +2192,7 @@ grub_err_t ventoy_cmd_windows_chain_data(grub_extcmd_context_t ctxt, int argc, c
return 1;
}
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
grub_env_set("vtoy_chain_mem_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
grub_env_set("vtoy_chain_mem_size", envbuf);
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
grub_memset(chain, 0, sizeof(ventoy_chain_head));
@@ -2437,7 +2426,6 @@ static grub_err_t ventoy_vlnk_wim_chain_data(grub_file_t wimfile)
ventoy_img_chunk *chunknode;
ventoy_override_chunk *override;
ventoy_img_chunk_list wimchunk;
char envbuf[128];
debug("vlnk wim chain data begin <%s> ...\n", wimfile->name);
@@ -2494,10 +2482,7 @@ static grub_err_t ventoy_vlnk_wim_chain_data(grub_file_t wimfile)
return 1;
}
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
grub_env_set("vtoy_chain_mem_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
grub_env_set("vtoy_chain_mem_size", envbuf);
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
grub_memset(chain, 0, sizeof(ventoy_chain_head));
@@ -2602,7 +2587,6 @@ static grub_err_t ventoy_normal_wim_chain_data(grub_file_t wimfile)
ventoy_img_chunk *chunknode;
ventoy_override_chunk *override;
ventoy_img_chunk_list wimchunk;
char envbuf[128];
debug("normal wim chain data begin <%s> ...\n", wimfile->name);
@@ -2659,10 +2643,7 @@ static grub_err_t ventoy_normal_wim_chain_data(grub_file_t wimfile)
return 1;
}
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
grub_env_set("vtoy_chain_mem_addr", envbuf);
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
grub_env_set("vtoy_chain_mem_size", envbuf);
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
grub_memset(chain, 0, sizeof(ventoy_chain_head));

View File

@@ -304,6 +304,7 @@ grub_uint64_t grub_udf_get_last_file_attr_offset
grub_uint64_t *fe_entry_size_offset
);
int ventoy_is_efi_os(void);
void ventoy_memfile_env_set(const char *prefix, const void *buf, unsigned long long len);
#endif /* __VENTOY_H__ */

View File

@@ -51,6 +51,9 @@ if is_inotify_ventoy_part $3; then
if [ -e /sbin/anaconda-diskroot ]; then
vtlog "set anaconda-diskroot ..."
#busybox cp doesn't support -t option (issue 1900)
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
/sbin/anaconda-diskroot /dev/ventoy
fi

View File

@@ -39,6 +39,9 @@ fi
if [ -e /sbin/anaconda-diskroot ]; then
vtlog "set anaconda-diskroot /dev/ventoy ..."
#busybox cp doesn't support -t option (issue 1900)
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
/sbin/anaconda-diskroot /dev/ventoy
fi

View File

@@ -70,6 +70,9 @@ if is_inotify_ventoy_part $3; then
if [ -e /sbin/anaconda-diskroot ]; then
vtlog "set anaconda-diskroot ..."
#busybox cp doesn't support -t option (issue 1900)
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
/sbin/anaconda-diskroot /dev/ventoy
fi

View File

@@ -39,6 +39,9 @@ fi
if [ -e /sbin/anaconda-diskroot ]; then
vtlog "set anaconda-diskroot /dev/ventoy ..."
#busybox cp doesn't support -t option (issue 1900)
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
/sbin/anaconda-diskroot /dev/ventoy
fi

View File

@@ -37,9 +37,38 @@ if [ "$vtdiskname" = "unknown" ]; then
fi
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
ventoy_create_dev_ventoy_part
if ventoy_need_dm_patch; then
vtlog "extract a ko file"
mkdir -p /ventoy/tmpmnt1 /ventoy/tmpmnt2
mount /dev/ventoy1 /ventoy/tmpmnt1
mount /ventoy/tmpmnt1/boot/batocera /ventoy/tmpmnt2
vtKV=$(uname -r)
mkdir -p /lib/modules/$vtKV/kernel/
vtKO=$(find "/ventoy/tmpmnt2/lib/modules/$vtKV/kernel/fs/" -name "*.ko*" | head -n1)
cp -a $vtKO /lib/modules/$vtKV/kernel/
vtlog "vtKV=$vtKV vtKO=$vtKO"
umount /ventoy/tmpmnt2
umount /ventoy/tmpmnt1
vtPartid=1
cat /vtoy_dm_table | while read vtline; do
dmsetup remove ventoy$vtPartid
vtPartid=$(expr $vtPartid + 1)
done
dmsetup remove ventoy
vtlog "Recreate device-mapper"
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
ventoy_create_dev_ventoy_part
fi
PATH=$VTPATH_OLD
set_ventoy_hook_finish

View File

@@ -23,6 +23,9 @@ $SED "/find drives/i $BUSYBOX_PATH/sh $VTOY_PATH/loop/easyos/ventoy-disk.sh; vtD
$SED "1a boot_dev=ventoy1;wkg_dev=ventoy2" -i /init
$SED 's#\(dd *if=/dev/.*WKG_DRV.* *of=/dev/null.*skip\)=[0-9]*#\1=1048576#' -i /init
$SED "s#WKG_DEV=\"\"#WKG_DEV=ventoy2#g" -i /init
#check for ssd will read /sys/block/ventoy, will no exist, need a workaround
$SED "s#/sys/block/\${WKG_DRV}/#/sys/block/\$vtDM/#g" -i /init

View File

@@ -75,6 +75,10 @@ ventoy_get_os_type() {
echo 'openwrt'; return
fi
if $GREP -q 'easyos' /proc/cmdline; then
echo 'easyos'; return
fi
if [ -e /BOOT_SPECS ]; then
if $GREP -q 'easyos' /BOOT_SPECS; then
echo 'easyos'; return

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
INSTALL/EFI/BOOT/grub.efi Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -163,7 +163,7 @@ fi
PART1=$(get_disk_part_name $DISK 1)
if grep -q "^$PART1 " /proc/mounts; then
mtpnt=$(grep "^$PART1 " /proc/mounts | awk '{print $2}')
mtpnt=$(grep "^$PART1 " /proc/mounts | awk '{print $2}' | sed 's/\\040/ /g')
fstype=$(grep "^$PART1 " /proc/mounts | awk '{print $3}')
if echo $fstype | grep -q -i 'fuse'; then

View File

@@ -1,7 +1,7 @@
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then
set default=0
menuentry "Calculate and check md5sum" --class=checksum_md5 {
menuentry "@VTMENU_CHKSUM_MD5_CALC_CHK" --class=checksum_md5 {
md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" vtReadChecksum
@@ -18,7 +18,7 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then
read vtInputKey
}
else
menuentry "Calculate md5sum" --class=checksum_md5 {
menuentry "@VTMENU_CHKSUM_MD5_CALC" --class=checksum_md5 {
md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -e "\n\npress ENTER to exit ..."
@@ -28,7 +28,7 @@ fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then
set default=1
menuentry "Calculate and check sha1sum" --class=checksum_sha1 {
menuentry "@VTMENU_CHKSUM_SHA1_CALC_CHK" --class=checksum_sha1 {
sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" vtReadChecksum
@@ -45,7 +45,7 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then
read vtInputKey
}
else
menuentry "Calculate sha1sum" --class=checksum_sha1 {
menuentry "@VTMENU_CHKSUM_SHA1_CALC" --class=checksum_sha1 {
sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -e "\n\npress ENTER to exit ..."
@@ -57,7 +57,7 @@ fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then
set default=2
menuentry "Calculate and check sha256sum" --class=checksum_sha256 {
menuentry "@VTMENU_CHKSUM_SHA256_CALC_CHK" --class=checksum_sha256 {
sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" vtReadChecksum
@@ -74,7 +74,7 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then
read vtInputKey
}
else
menuentry "Calculate sha256sum" --class=checksum_sha256 {
menuentry "@VTMENU_CHKSUM_SHA256_CALC" --class=checksum_sha256 {
sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -e "\n\npress ENTER to exit ..."
@@ -86,7 +86,7 @@ fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then
set default=3
menuentry "Calculate and check sha512sum" --class=checksum_sha512{
menuentry "@VTMENU_CHKSUM_SHA512_CALC_CHK" --class=checksum_sha512{
sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" vtReadChecksum
@@ -103,7 +103,7 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then
read vtInputKey
}
else
menuentry "Calculate sha512sum" --class=checksum_sha512{
menuentry "@VTMENU_CHKSUM_SHA512_CALC" --class=checksum_sha512{
sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -e "\n\npress ENTER to exit ..."
@@ -112,6 +112,6 @@ else
fi
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}

View File

@@ -1,10 +1,13 @@
submenu "@VTMENU_MENU_LANG" --class=debug_menu_lang --class=F5tool {
source $prefix/menulang.cfg
}
source $prefix/power.cfg
source $prefix/hwinfo.cfg
source $prefix/keyboard.cfg
submenu "Resolution Configuration" --class=debug_resolution --class=F5tool {
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
submenu "@VTMENU_RESOLUTION_CFG" --class=debug_resolution --class=F5tool {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}
@@ -28,27 +31,27 @@ submenu "Resolution Configuration" --class=debug_resolution --class=F5tool {
done
}
submenu "Screen Display Mode" --class=debug_screen_mode --class=F5tool {
menuentry 'Force Text Mode' --class=debug_text_mode --class=debug_screen_mode --class=F5tool {
submenu "@VTMENU_SCREEN_MODE" --class=debug_screen_mode --class=F5tool {
menuentry '@VTMENU_SCREEN_TEXT_MODE' --class=debug_text_mode --class=debug_screen_mode --class=F5tool {
terminal_output console
}
menuentry 'Force Graphics Mode' --class=debug_gui_mode --class=debug_screen_mode --class=F5tool {
menuentry '@VTMENU_SCREEN_GUI_MODE' --class=debug_gui_mode --class=debug_screen_mode --class=F5tool {
terminal_output gfxterm
}
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}
}
if [ $VTOY_THEME_COUNT -gt 1 ]; then
submenu "Theme Select" --class=debug_theme_select --class=F5tool {
if [ -n "$VTOY_THEME_COUNT" -a $VTOY_THEME_COUNT -gt 1 ]; then
submenu "@VTMENU_THEME_SELECT" --class=debug_theme_select --class=F5tool {
vt_select_theme_cfg
}
fi
if [ "$grub_platform" != "pc" ]; then
submenu 'Ventoy UEFI Utilities' --class=debug_util --class=F5tool {
menuentry 'Show EFI Drivers' --class=debug_util_efidrv --class=debug_util --class=F5tool {
menuentry '@VTMENU_UTIL_SHOW_EFI_DRV' --class=debug_util_efidrv --class=debug_util --class=F5tool {
vt_push_pager
chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=show_efi_drivers
boot
@@ -57,22 +60,22 @@ if [ "$grub_platform" != "pc" ]; then
read vtInputKey
}
menuentry 'Fixup Windows BlinitializeLibrary Failure' --class=debug_util_blinit --class=debug_util --class=F5tool {
menuentry '@VTMENU_UTIL_FIX_BLINIT_FAIL' --class=debug_util_blinit --class=debug_util --class=F5tool {
chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=fix_windows_mmap
boot
echo -e "\npress ENTER to exit ..."
read vtInputKey
}
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}
}
fi
submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --class=F5tool {
menuentry 'Check global control plugin configuration' --class=debug_control --class=debug_json --class=F5tool {
submenu '@VTMENU_JSON_CHK_JSON' --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_CONTROL' --class=debug_control --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path control $vtoy_iso_part
@@ -81,7 +84,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check theme plugin configuration' --class=debug_theme --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_THEME' --class=debug_theme --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path theme $vtoy_iso_part
@@ -90,7 +93,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check auto install plugin configuration' --class=debug_autoinstall --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_AUTOINS' --class=debug_autoinstall --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part
@@ -99,7 +102,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check persistence plugin configuration' --class=debug_persistence --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_PERSIST' --class=debug_persistence --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path persistence $vtoy_iso_part
@@ -111,7 +114,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check menu alias plugin configuration' --class=debug_menualias --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_MENU_ALIAS' --class=debug_menualias --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path menu_alias $vtoy_iso_part
@@ -120,7 +123,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check menu tip plugin configuration' --class=debug_menutip --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_MENU_TIP' --class=debug_menutip --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path menu_tip $vtoy_iso_part
@@ -129,7 +132,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check menu class plugin configuration' --class=debug_menuclass --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_MENU_CLASS' --class=debug_menuclass --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path menu_class $vtoy_iso_part
@@ -138,7 +141,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check injection plugin configuration' --class=debug_injection --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_INJECTION' --class=debug_injection --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path injection $vtoy_iso_part
@@ -147,7 +150,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check auto memdisk plugin configuration' --class=debug_automemdisk --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_AUTO_MEMDISK' --class=debug_automemdisk --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path auto_memdisk $vtoy_iso_part
@@ -156,7 +159,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check image list plugin configuration' --class=debug_imagelist --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_IMG_LIST' --class=debug_imagelist --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path image_list $vtoy_iso_part
@@ -165,7 +168,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check image blacklist plugin configuration' --class=debug_imageblacklist --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_IMG_BLIST' --class=debug_imageblacklist --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path image_blacklist $vtoy_iso_part
@@ -174,7 +177,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check boot conf replace plugin configuration' --class=debug_bootconf_replace --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_CONF_REPLACE' --class=debug_bootconf_replace --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path conf_replace $vtoy_iso_part
@@ -183,7 +186,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check dud plugin configuration' --class=debug_dud --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_DUD' --class=debug_dud --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path dud $vtoy_iso_part
@@ -192,7 +195,7 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check password plugin configuration' --class=debug_pwd --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_PASSWORD' --class=debug_pwd --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path password $vtoy_iso_part
@@ -201,21 +204,12 @@ submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --cla
unset pager
}
menuentry 'Check custom boot plugin configuration' --class=debug_custom_boot --class=debug_json --class=F5tool {
set pager=1
vt_check_plugin_json $vt_plugin_path custom_boot $vtoy_iso_part
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}
}
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}

View File

@@ -65,6 +65,10 @@ function ventoy_vcfg_proc {
fi
}
function ventoy_language {
configfile $prefix/menulang.cfg
}
function ventoy_diagnosis {
vt_enum_video_mode
configfile $prefix/debug.cfg
@@ -99,8 +103,9 @@ function ventoy_show_help {
fi
loopback vt_help_tarfs mem:${vtoy_help_txt_mem_addr}:size:${vtoy_help_txt_mem_size}
if [ -f "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt" ]; then
cat "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt"
vt_cur_menu_lang vtCurLang
if [ -f "(vt_help_tarfs)/help/${vtCurLang}.txt" ]; then
cat "(vt_help_tarfs)/help/${vtCurLang}.txt"
else
cat "(vt_help_tarfs)/help/en_US.txt"
fi
@@ -108,6 +113,11 @@ function ventoy_show_help {
fi
}
function ventoy_load_menu_lang_file {
vt_load_file_to_mem "auto" $vtoy_efi_part/grub/menu.tar.gz vtoy_menu_lang_mem
loopback vt_menu_tarfs mem:${vtoy_menu_lang_mem_addr}:size:${vtoy_menu_lang_mem_size}
}
function get_os_type {
set vtoy_os=Linux
@@ -936,6 +946,7 @@ function uefi_iso_menu_func {
vt_show_secondary_menu "$vt_chosen_path" "$vtoy_os" $vt_chosen_size
if vt_check_mode 0 "$vt_chosen_name"; then
uefi_iso_memdisk $vtoy_iso_part "$vt_chosen_path"
vt_secondary_recover_mode
return
fi
fi
@@ -957,6 +968,7 @@ function uefi_iso_menu_func {
fi
ventoy_gui_console
vt_secondary_recover_mode
}
function uefi_iso_memdisk {
@@ -1368,6 +1380,7 @@ function legacy_iso_menu_func {
vt_show_secondary_menu "$vt_chosen_path" "$vtoy_os" $vt_chosen_size
if vt_check_mode 0 "$vt_chosen_name"; then
legacy_iso_memdisk $vtoy_iso_part "$vt_chosen_path"
vt_secondary_recover_mode
return
fi
fi
@@ -1387,6 +1400,7 @@ function legacy_iso_menu_func {
vt_check_compatible_linux (loop)
legacy_linux_menu_func "$1" "${chosen_path}"
fi
vt_secondary_recover_mode
}
function legacy_iso_memdisk {
@@ -1843,6 +1857,41 @@ function ventoy_img_easyos {
loopback -d easysfs
}
function ventoy_img_easyos2 {
vt_load_cpio $vtoy_path "${vt_chosen_path}" ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
vt_trailer_cpio ${vtoy_iso_part} "${vt_chosen_path}" noinit
if [ -e (vtimghd,2)/easyos/easy.sfs ]; then
loopback easysfs (vtimghd,2)/easyos/easy.sfs
elif [ -d (vtimghd,2)/easyos/releases ]; then
vt_fs_enum_1st_dir (vtimghd,2) /easyos/releases/ vt_dir_name
loopback easysfs (vtimghd,2)/easyos/releases/$vt_dir_name/easy.sfs
fi
vt_get_lib_module_ver (easysfs) /lib/modules/ vt_module_ver
if [ -n "$vt_module_ver" ]; then
for mod in "kernel/drivers/md/dm-mod.ko" "kernel/drivers/dax/dax.ko"; do
if [ -e (easysfs)/lib/modules/$vt_module_ver/$mod ]; then
vt_img_extra_initrd_append (easysfs)/lib/modules/$vt_module_ver/$mod
fi
done
fi
ventoy_debug_pause
#boot image file
vt_set_boot_opt rdinit=/vtoy/vtoy
vt_img_hook_root
vt_limine_menu (vtimghd,1)/limine.cfg vt_sys_menu_mem
configfile "mem:${vt_sys_menu_mem_addr}:size:${vt_sys_menu_mem_size}"
vt_img_unhook_root
vt_unset_boot_opt
loopback -d easysfs
}
function ventoy_img_volumio {
vt_load_cpio $vtoy_path "${vt_chosen_path}" ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
vt_trailer_cpio ${vtoy_iso_part} "${vt_chosen_path}" noinit
@@ -2258,6 +2307,8 @@ function img_common_menuentry {
ventoy_img_esysrescue
elif [ -e (vtimghd,1)/easy.sfs ]; then
ventoy_img_easyos
elif [ -d (vtimghd,2)/easyos ]; then
ventoy_img_easyos2
elif [ -e (vtimghd,1)/volumio.initrd ]; then
ventoy_img_volumio
elif [ -f (vtimghd,2)/loader/entries/ubos.conf ]; then
@@ -2303,7 +2354,7 @@ function img_unsupport_menuentry {
#############################################################
#############################################################
set VENTOY_VERSION="1.0.80"
set VENTOY_VERSION="1.0.83"
#ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1
@@ -2327,6 +2378,7 @@ set VTOY_HELP_CMD="ventoy_show_help"
set VTOY_CHKSUM_CMD="ventoy_checksum"
set VTOY_HELP_TXT_LANGUAGE="en_US"
set VTOY_CHKSUM_FILE_PATH="X"
set VTOY_LANG_CMD="ventoy_language"
if [ "$grub_platform" = "pc" ]; then
@@ -2392,6 +2444,9 @@ fi
#Load Partition Table
vt_load_part_table $vtoydev
#Load menu lang file
ventoy_load_menu_lang_file
#Load Plugin
if [ -f $vtoy_iso_part/ventoy/ventoy.json ]; then
clear
@@ -2401,6 +2456,12 @@ else
vt_check_json_path_case $vtoy_iso_part
fi
if [ -n "$VTOY_MENU_LANGUAGE" ]; then
vt_load_menu_lang "$VTOY_MENU_LANGUAGE"
else
vt_load_menu_lang en_US
fi
if [ -n "$VTOY_MENU_TIMEOUT" ]; then
set timeout=$VTOY_MENU_TIMEOUT
else
@@ -2422,10 +2483,8 @@ fi
if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then
set VTOY_F3_CMD="vt_dynamic_menu 1 1"
set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu"
else
set VTOY_F3_CMD="vt_dynamic_menu 1 0"
set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu"
fi
terminal_output console
@@ -2534,6 +2593,7 @@ export VTOY_HELP_CMD
export VTOY_CHKSUM_CMD
export VTOY_HELP_TXT_LANGUAGE
export VTOY_CHKSUM_FILE_PATH
export VTOY_LANG_CMD
#colect all image files (iso files)

View File

@@ -0,0 +1,19 @@
L - ভাষা নির্বাচন করুন
F1 - এই সাহায্য তথ্য প্রদর্শন করুন
F2 - স্থানীয় ডিস্কে ফাইলটি browse করুন এবং boot করুন
F3 - Treeview <-> ListView এর মধ্যে মেনু মোড পরিবর্তন করুন
F4 - স্থানীয় ডিস্কে Windows/Linux boot করুন
F5 - ইউটিলিটিস
F6 - কাস্টম Grub2 মেনু লোড করুন
F7 - GUI মোড <-> TEXT মোডের মধ্যে স্যুইচ করুন
m/Ctrl+m - চেকসাম ইমেজ ফাইল (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk মোড (শুধুমাত্র ছোট WinPE/LiveCD ISO/IMG জন্য)
w/Ctrl+w - WIMBOOT মোড (শুধুমাত্র standard Windows ISO জন্য)
r/Ctrl+r - Grub2 মোড (শুধুমাত্র কিছু Linux distro জন্য)
i/Ctrl+i - Compatible মোড (শুধুমাত্র debug জন্য)
u/Ctrl+u - ISO efi ড্রাইভার লোড করুন (শুধুমাত্র debug জন্য, সরকারীভাবে ব্যবহার করা যাবে না)
ফিরে আসতে ESC টিপুন ......

View File

@@ -1,18 +1,19 @@
h - Zeigt dieses Hilfe Menu
F1 - Memdisk Modus (Nur für kleine WinPE/LiveCD ISO/IMG)
F2 - Browse and boot files in local disk
F3 - Menu wechsel zwischen Baum <-> Listen Ansicht
F4 - Windows/Linux vom lokalem Datenträger starten
F5 - Dienstprogramme
L - Sprache auswählen
F1 - Zeigt dieses Hilfemenü
F2 - Durchsuchen und starten von Dateien auf lokalem Datenträger
F3 - Wechsel zwischen Baum-/Listenansicht
F4 - Windows/Linux von lokalem Datenträger starten
F5 - Werkzeuge
F6 - Benutzerdefiniertes Grub2-Menü laden
F7 - Wechseln zwischen GUI-Modus <-> TEXT-Modus
F7 - Wechseln zwischen Grafik-/Text-Modus
m - Prüfsummencheck Image Dateien (md5/sha1/sha256/sha512)
w/Ctrl+w - WIMBOOT Modus (Nur für Standard Windows ISO)
r/Ctrl+r - Grub2 Modus (Nur für einige Linux distros)
i/Ctrl+i - Kompatibilitäts Modus (Nur für Fehleranalyse)
u/Ctrl+u - Lade ISO efi Treiber (Nur für Fehleranalyse, darf nicht offiziel benutzt werden)
m/Strg+m - Prüfsumme von Abbilddatei prüfen (md5/sha1/sha256/sha512)
d/Strg+d - Memdisk-Modus (Nur für kleine WinPE/LiveCD ISO/IMG)
w/Strg+w - WIMBOOT-Modus (Nur für Standard Windows ISO)
r/Strg+r - Grub2-Modus (Nur für einige Linux-Distributionen)
i/Strg+i - Kompatibilitäts-Modus (Nur für Fehleranalyse)
u/Strg+u - ISO EFI-Treiber laden (Nur für Fehleranalyse, darf offiziell nicht benutzt werden)
Drücke ESC für Zurück ......
ESC für Zurück drücken......

View File

@@ -1,5 +1,5 @@
h - Display this help information
F1 - Memdisk Mode (Only for small WinPE/LiveCD ISO/IMG)
L - Language Select
F1 - Display this help information
F2 - Browse and boot files in local disk
F3 - Switch menu mode between Treeview <-> ListView
F4 - Boot Windows/Linux in local disk
@@ -7,7 +7,8 @@ F5 - Utilities
F6 - Load Custom Grub2 Menu
F7 - Switch between GUI Mode <-> TEXT Mode
m - Checksum image files (md5/sha1/sha256/sha512)
m/Ctrl+m - Checksum image files (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk Mode (Only for small WinPE/LiveCD ISO/IMG)
w/Ctrl+w - WIMBOOT Mode (Only for standard Windows ISO)
r/Ctrl+r - Grub2 Mode (Only for some Linux distros)
i/Ctrl+i - Compatible Mode (Just only for debug)

View File

@@ -1,5 +1,5 @@
h - Afficher cette aide
F1 - Mode Memdisk (Seulement pour WinPE/LiveCD ISO/IMG)
L - Sélection de la langue
F1 - Afficher cette aide
F2 - Browse and boot files in local disk
F3 - Basculer l'affichage 'Vue en arbre' <-> 'Vue en liste'
F4 - Démarrer le système Windows/Linux local
@@ -7,10 +7,13 @@ F5 - Utilitaires
F6 - Charger le menu Grub2 personnalisé
F7 - Basculer entre le mode graphique <-> mode texte
m - Somme de contrôle des images (md5/sha1/sha256/sha512)
m/Ctrl+m - Somme de contrôle des images (md5/sha1/sha256/sha512)
d/Ctrl+d - Mode Memdisk (Seulement pour WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Mode WIMBOOT (seulement pour les images standards Windows)
r/Ctrl+r - Mode Grub2 (seulement pour quelques Linux)
i/Ctrl+i - Mode Compatible (seulement à fins de tests)
u/Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially)
Appuyer sur Echap pour sortir ......

View File

@@ -0,0 +1,19 @@
L - भाषा का चयन
F1 - इस सहायता जानकारी को प्रदर्शित करें
F2 - स्थानीय डिस्क में फ़ाइलें ब्राउज़ करें और बूट करें
F3 - TreeView <-> ListView के बीच मेन्यू मोड स्विच करें
F4 - स्थानीय डिस्क में Windows/Linux बूट करें
F5 - यूटिलिटीज
F6 - कस्टम Grub2 मेनू लोड करें
F7 - GUI मोड <-> Text मोड के बीच स्विच करें
m/Ctrl+m - चेकसम इमेज फाइल्स (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk मोड (केवल small WinPE/LiveCD ISO/IMG के लिए)
w/Ctrl+w - WIMBOOT मोड (केवल standard Windows ISO के लिए)
r/Ctrl+r - Grub2 मोड (केवल कुछ Linux distros के लिए)
i/Ctrl+i - Compatible मोड (केवल डिबग के लिए)
u/Ctrl+u - ISO efi ड्राइवर लोड करें (केवल debug के लिए, आधिकारिक तौर पर इस्तेमाल नहीं किया जा सकता)
वापस जाने के लिए ESC दबाएं ......

View File

@@ -1,5 +1,5 @@
h - Prikazuje ove informacije
F1 - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove)
L - Izaberite jezik
F1 - Prikazuje ove informacije
F2 - Pokreće imidž fajlove na lokalnom disku
F3 - Mijenja meni između TreeView <-> ListView
F4 - Pokreće Windows/Linux na lokalnom disku
@@ -7,7 +7,8 @@ F5 - Alati
F6 - Učitava prilagođen GRUB2 meni
F7 - Mijenja između GUI <-> TEXT načina rada
m - Generira heš odabranog imidž fajla (md5/sha1/sha256/sha512)
m/Ctrl+m - Generira heš odabranog imidž fajla (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove)
w/Ctrl+w - WIMBOOT način rada (samo za standardne Windows imidž fajlove)
r/Ctrl+r - GRUB2 način rada (samo za neke Linux distribucije)
i/Ctrl+i - Kompatibilni način rada (samo za testiranje)

View File

@@ -1,5 +1,5 @@
h - Tampilkan bantuan informasi ini
F1 - Mode Memdisk (Hanya untuk ukuran WinPE/LiveCD ISO/IMG yang kecil)
L - Pilih Bahasa
F1 - Tampilkan bantuan informasi ini
F2 - Browse and boot files in local disk
F3 - Beralih mode menu antara Treeview <-> ListView
F4 - Jalankan (boot) Windows/Linux pada disk lokal
@@ -7,7 +7,8 @@ F5 - Alat Utilitas
F6 - Memuat ubah suai Grub2 Menu
F7 - Beralih antara mode GUI <-> Mode TEXT
m - Periksa berkas files (md5/sha1/sha256/sha512)
m/Ctrl+m - Periksa berkas files (md5/sha1/sha256/sha512)
d/Ctrl+d - Mode Memdisk (Hanya untuk ukuran WinPE/LiveCD ISO/IMG yang kecil)
w/Ctrl+w - Mode WIMBOOT (Hanya untuk berkas ISO Windows standar)
r/Ctrl+r - Mode Grub2 (Hanya untuk distro Linux tertentu)
i/Ctrl+i - Mode Kompatibel/Compatible (Hanya untuk debug saja)

View File

@@ -1,5 +1,5 @@
h - この画面を表示する
F1 - 主記憶装置上に記憶域を作成する容量の小さなWinPE・LiveCD専用
L - 言語を選択
F1 - この画面を表示する
F2 - 手元の記憶装置にある起動ファイルを選択して実行する
F3 - 表示形式を切り替える(一覧 ↔ 階層)
F4 - 手元の記憶装置にあるWindowsまたはLinuxを起動する
@@ -7,7 +7,8 @@ F5 - 諸機能
F6 - Grub2の構成を読み込む
F7 - 操作形式を切り替えるGUI ↔ CUI
m - イメージの検査合計を計算する (md5/sha1/sha256/sha512)
m/Ctrl+m - イメージの検査合計を計算する (md5/sha1/sha256/sha512)
d/Ctrl+d - 主記憶装置上に記憶域を作成する容量の小さなWinPE・LiveCD専用
w/Ctrl+w - WIMBOOTモード標準的なWindows ISO専用
r/Ctrl+r - Grub2モード一部のLinuxディストリビューション専用
i/Ctrl+i - 互換モード(開発用)

View File

@@ -1,5 +1,5 @@
h - 이 도움말 정보 표시
F1 - Memdisk 모드 (작은 WinPE/LiveCD ISO/IMG 전용)
L - 언어 선택
F1 - 이 도움말 정보 표시
F2 - 로컬 디스크에서 파일 찾아보기 및 부팅
F3 - 트리보기 <-> 목록보기 간에 메뉴 모드 전환
F4 - 로컬 디스크에서 Windows/Linux 부팅
@@ -7,8 +7,9 @@ F5 - 유틸리티
F6 - 사용자 지정 Grub2 메뉴 로드
F7 - GUI 모드 <-> TEXT 모드 간에 전환
m - 체크섬 이미지 파일 (md5/sha1/sha256/sha512)
w/Ctrl+w - WIMBOOT 모드 (표준 Windows ISO 전용)
m/Ctrl+m - 체크섬 이미지 파일 (md5/sha1/sha256/sha512)
d/Ctrl+d - WIMBOOT 모드 (표준 Windows ISO 전용)
w/Ctrl+w - Memdisk 모드 (작은 WinPE/LiveCD ISO/IMG 전용)
r/Ctrl+r - Grub2 모드 (일부 Linux 배포판에만 해당)
i/Ctrl+i - 호환 모드 (디버그 전용)
u/Ctrl+u - ISO eFi 드라이버 로드 (디버그 전용, 공식적으로 사용할 수 없음)

View File

@@ -1,5 +1,5 @@
h - Mostra esta informação de ajuda
F1 - Modo Memdisk (Apenas para pequenos WinPE/LiveCD ISO/IMG)
L - Selecionar Idioma
F1 - Mostra esta informação de ajuda
F2 - Browse and boot files in local disk
F3 - Alternar o modo menu entre Vista de árvore <-> Vista de lista
F4 - Arrancar o Windows/Linux em disco local
@@ -7,7 +7,8 @@ F5 - Utilitários
F6 - Carregar menu Grub2 personalizado
F7 - Alternar entre Modo GUI <-> Modo TEXTO
m - Checksum ficheiros de imagem (md5/sha1/sha256/sha512)
m/Ctrl+m - Checksum ficheiros de imagem (md5/sha1/sha256/sha512)
d/Ctrl+d - Modo Memdisk (Apenas para pequenos WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Modo WIMBOOT (Apenas para Windows ISO padrão)
r/Ctrl+r - Modo Grub2 (Apenas para algumas distros Linux)
i/Ctrl+i - Modo Compatível (Apenas para depuração)

View File

@@ -0,0 +1,19 @@
L - Выбор языка
F1 - Показать эту справочную информацию
F2 - Просмотр и загрузка файлов на локальном диске
F3 - Переключить режим меню между Treeview <-> ListView
F4 - Загрузка Windows/Linux с локального диска
F5 - Утилиты
F6 - Загрузить пользовательское меню Grub2
F7 - Переключиться между режимом GUI <-> режимом TEXT
m/Ctrl+m - Проверить контрольную сумму файлов образа диска (md5/sha1/sha256/sha512)
d/Ctrl+d - Режим Memdisk (Только для небольших WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Режим WIMBOOT (Только для стандартного Windows ISO)
r/Ctrl+r - Режим Grub2 (Только для некоторых дистрибутивов Linux)
i/Ctrl+i - Совместимый режим (Только для отладки)
u/Ctrl+u - Загрузить драйвер ISO EFI (Только для отладки, нельзя использовать официально)
Нажмите ESC, чтобы вернуться ......

View File

@@ -1,5 +1,5 @@
h - Приказује ове информације
F1 - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове)
L - Изаберите језик
F1 - Приказује ове информације
F2 - Покреће имиџ фајлове на локалном диску
F3 - Мења мени између TreeView <-> ListView
F4 - Покреће Windows/Linux на локалном диску
@@ -7,7 +7,8 @@ F5 - Алати
F6 - Учитава прилагођен GRUB2 мени
F7 - Мења између GUI <-> TEXT начина рада
m - Генерира хеш одабраног имиџ фајла (md5/sha1/sha256/sha512)
m/Ctrl+m - Генерира хеш одабраног имиџ фајла (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове)
w/Ctrl+w - WIMBOOT начин рада (само за стандардне Windows имиџ фајлове)
r/Ctrl+r - GRUB2 начин рада (само за неке Linux дистрибуције)
i/Ctrl+i - Компатибилни начин рада (само за тестирање)

View File

@@ -1,17 +1,19 @@
h - Yardım bilgilerini göster
F1 - Memdisk Modu başlatır(Yalnızca küçük WinPE/LiveCD ISO/IMG ler için bu modu kullanabilirsiniz)
F2 - Yerel diskteki dosyalara GÖZAT ve ÖNYÜKLE'meyi sağlar
L - Dil Seçimi
F1 - Yardım bilgilerini göster
F2 - Yerel diskteki önyükleme dosyalarına GÖZAT ve yerel diskten Önyükleme yap
F3 - Ventoy Menü modu olarak,Klasör görünümü(Treeview) ile Liste görünümü(ListView) arasında geçiş yapmayı sağlar.
F4 - Bilgisayarınızda yüklü olan Windows yada Linux işletim sistemini, sabit diskten başlatır.
F5 - Ventoy Araçlar menüsü
F6 - Özelleştirilmiş Grub2 menüsünü yükler
F7 - Grafik Modu(GUI Mode) ile Metin Modu(Text Mode) arasında geçiş yapmayı sağlar
F7 - Grafik Modu(GUI Mode) <--> Metin Modu(Text Mode) arasında geçiş yapmayı sağlar
m - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md5/sha1/sha256/sha512" değerlerini kontrol etmeyi sağlar
m/Ctrl+m - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md5/sha1/sha256/sha512" değerlerini kontrol etmeyi sağlar
d/Ctrl+d - Memdisk Modu başlatır(Yalnızca küçük WinPE/LiveCD ISO/IMG ler için bu modu kullanabilirsiniz)
w/Ctrl+w - WIMBOOT Modu çalıştırmayı sağlar(Sadece normal Windows ISO ları için)
r/Ctrl+r - Grub2 Modu çalıştırmayı sağlar (Sadece bazı Linux dağıtımları için)
i/Ctrl+i - Uyumluluk Modu'nu (Compatible Mode) çalıştırmayı sağlar (Sadece hata ayıklama için bu modu kullanabilirsiniz)
u/Ctrl+u - ISO efi sürücüsünü yükler(Sadece hata ayıklama için bu mod kullanılabilir, resmi olarak kullanılamaz)
Geriye dönmek için ESC tuşuna basınız......

View File

@@ -1,5 +1,5 @@
h - 显示本帮助信息
F1 - 把文件加载到内存启动(只适用于文件很小的 WinPE/LiveCD等
L - 选择语言
F1 - 显示本帮助信息
F2 - 浏览并启动本地硬盘中的镜像文件
F3 - 菜单显示模式切换。可在列表模式和目录模式之间自由切换。
F4 - 启动本地硬盘上的 Windows/Linux 等系统。
@@ -7,7 +7,8 @@ F5 - 各类工具
F6 - 加载自定义 GRUB2 菜单。
F7 - 界面在文本模式和图形模式之间切换。
m - 计算文件校验值md5/sha1/sha256/sha512
m/Ctrl+m - 计算文件校验值md5/sha1/sha256/sha512
d/Ctrl+d - MEMDISK 模式,把文件加载到内存启动(只适用于文件很小的 WinPE/LiveCD等
w/Ctrl+w - WIMBOOT 模式 (只适用于标准的 Windows ISO文件
r/Ctrl+r - Grub2 模式 (只适用于常见的一些 Linux 系统ISO文件
i/Ctrl+i - 兼容模式 (只用作调试目的,不能正式使用)

View File

@@ -1,4 +1,4 @@
menuentry 'Hardware Information' --class=debug_hwinfo --class=F5tool {
menuentry '@VTMENU_HWINFO' --class=debug_hwinfo --class=F5tool {
smbios -t 4 -s 0x10 --set=cpu_brand
set system_vendor="-";

View File

@@ -1,4 +1,4 @@
submenu "Keyboard Layouts" --class=debug_krdlayout --class=F5tool {
submenu "@VTMENU_KEYBRD_LAYOUT" --class=debug_krdlayout --class=F5tool {
menuentry QWERTY_USA --class=debug_kbd --class=debug_krdlayout --class=F5tool {
set_keyboard_layout QWERTY_USA
}

View File

@@ -1,6 +1,6 @@
if [ "$grub_platform" = "pc" ]; then
menuentry 'Search and boot Windows' --class=boot_windows --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_WINDOWS' --class=boot_windows --class=F4boot {
set partid=3
while [ $partid -le 128 ]; do
@@ -38,7 +38,7 @@ if [ "$grub_platform" = "pc" ]; then
fi
}
menuentry 'Search and boot Grub4dos' --class=boot_g4d --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_G4D' --class=boot_g4d --class=F4boot {
if search -n -s -f /grldr; then
ntldr /grldr
else
@@ -46,19 +46,19 @@ if [ "$grub_platform" = "pc" ]; then
fi
}
menuentry 'Boot the 1st local disk' --class=boot_disk --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_HDD1' --class=boot_disk --class=F4boot {
set root=(hd0,1)
chainloader +1
boot
}
menuentry 'Boot the 2nd local disk' --class=boot_disk --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_HDD2' --class=boot_disk --class=F4boot {
set root=(hd1,1)
chainloader +1
boot
}
menuentry 'Boot the 3rd local disk' --class=boot_disk --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_HDD3' --class=boot_disk --class=F4boot {
set root=(hd2,1)
chainloader +1
boot
@@ -66,7 +66,7 @@ if [ "$grub_platform" = "pc" ]; then
else
menuentry 'Search and boot Windows' --class=boot_windows --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_WINDOWS' --class=boot_windows --class=F4boot {
set partid=3
while [ $partid -le 128 ]; do
@@ -102,7 +102,7 @@ else
}
if [ "$grub_cpu" = "i386" ]; then
menuentry 'Search and boot BOOTIA32.EFI' --class=boot_uefi --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_IA32EFI' --class=boot_uefi --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/boot/bootia32.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
@@ -115,7 +115,7 @@ else
fi
}
menuentry 'Search and boot xorboot' --class=boot_xorboot --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_XORBOOT' --class=boot_xorboot --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/xorboot/xorboot32.xor; then
unset VTOY_SEARCH_NO_VTOYEFI
@@ -132,7 +132,7 @@ else
fi
}
elif [ "$grub_cpu" = "arm64" ]; then
menuentry 'Search and boot BOOTAA64.EFI' --class=boot_uefi --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_AA64EFI' --class=boot_uefi --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/boot/bootaa64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
@@ -145,7 +145,7 @@ else
fi
}
else
menuentry 'Search and boot BOOTX64.EFI' --class=boot_uefi --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_X64EFI' --class=boot_uefi --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/boot/bootx64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
@@ -158,7 +158,7 @@ else
fi
}
menuentry 'Search and boot xorboot' --class=boot_xorboot --class=F4boot {
menuentry '@VTMENU_LB_SBOOT_XORBOOT' --class=boot_xorboot --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/xorboot/xorboot.xor; then
unset VTOY_SEARCH_NO_VTOYEFI
@@ -179,6 +179,6 @@ else
fi
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Bengali (বাংলা)",
"VTMENU_STR_HOTKEY_LIST": "L:ভাষা F1:সাহায্য F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:ভাষা F1:সাহায্য F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "পূর্ববর্তী মেনুতে ফিরে যান [Esc]",
"VTMENU_MENU_LANG": "মেনু ভাষা নির্বাচন করুন",
"VTMENU_LB_SBOOT_WINDOWS": "Windows অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_G4D": "Grub4dos অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_HDD1": "১ম(1st) স্থানীয় ডিস্ক বুট করুন",
"VTMENU_LB_SBOOT_HDD2": "২য়(2nd) স্থানীয় ডিস্ক বুট করুন",
"VTMENU_LB_SBOOT_HDD3": "3য়(3rd) স্থানীয় ডিস্ক বুট করুন",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_XORBOOT": "xorboot অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_FILE_CHKSUM": "ফাইল চেকসাম",
"VTMENU_CHKSUM_MD5_CALC": "md5sum গণনা করুন",
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum গণনা করুন",
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum গণনা করুন",
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum গণনা করুন",
"VTMENU_CHKSUM_MD5_CALC_CHK": "গণনা করুন এবং md5sum চেক করুন",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "গণনা করুন এবং sha1sum চেক করুন",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "গণনা করুন এবং sha256sum চেক করুন",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "গণনা করুন এবং sha512sum চেক করুন",
"VTMENU_POWER": "পাওয়ার",
"VTMENU_POWER_REBOOT": "রিবুট",
"VTMENU_POWER_HALT": "হল্ট",
"VTMENU_POWER_BOOT_EFIFW": "EFI সেটআপে রিবুট করুন",
"VTMENU_KEYBRD_LAYOUT": "কীবোর্ড লেআউট",
"VTMENU_HWINFO": "হার্ডওয়্যার তথ্য",
"VTMENU_RESOLUTION_CFG": "রেজোলিউশন কনফিগারেশন",
"VTMENU_SCREEN_MODE": "Screen Display মোড",
"VTMENU_SCREEN_TEXT_MODE": "Force Text মোড",
"VTMENU_SCREEN_GUI_MODE": "Force Graphics মোড",
"VTMENU_THEME_SELECT": "থিম নির্বাচন করুন",
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI ড্রাইভার দেখান",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary ব্যর্থতার সমাধান করুন",
"VTMENU_JSON_CHK_JSON": "প্লাগইন json কনফিগারেশন পরীক্ষা করুন (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "গ্লোবাল কন্ট্রোল প্লাগইন কনফিগারেশন চেক করুন",
"VTMENU_JSON_CHK_THEME": "থিম প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_AUTOINS": "অটো ইন্সটল প্লাগইন কনফিগারেশন চেক করুন",
"VTMENU_JSON_CHK_PERSIST": "persistence প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_MENU_ALIAS": "menu alias প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_MENU_TIP": "menu tip প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_MENU_CLASS": "menu class প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_INJECTION": "injection প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "auto memdisk প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_IMG_LIST": "image list প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_IMG_BLIST": "image blacklist প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_CONF_REPLACE": "boot conf replace প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_DUD": "dud প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_PASSWORD": "password প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_NORMAL_MODE": "সাধারণ মোডে বুট করুন",
"VTMENU_WIMBOOT_MODE": "wimboot মোডে বুট করুন",
"VTMENU_GRUB2_MODE": "grub2 মোডে বুট করুন",
"VTMENU_MEMDISK_MODE": "memdisk মোডে বুট করুন",
"VTMENU_RET_TO_LISTVIEW": "ListView-এ ফিরে যান",
"VTMENU_RET_TO_TREEVIEW": "TreeView-এ ফিরে যান",
"VTMENU_NO_AUTOINS_SCRIPT": "auto install মোড বিনা বুট করুন",
"VTMENU_AUTOINS_USE": "দিয়ে বুট করুন",
"VTMENU_NO_PERSIST": "persistence বিনা বুট করুন",
"VTMENU_PERSIST_USE": "দিয়ে বুট করুন",
"VTMENU_BROWER_RETURN": "ফিরে",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "German (Deutsch)",
"VTMENU_STR_HOTKEY_LIST": "L:Sprache F1:Hilfe F2:Browser F3:Listenansicht F4:Lokaler Start F5:Werkzeuge F6:Erweitert",
"VTMENU_STR_HOTKEY_TREE": "L:Sprache F1:Hilfe F2:Browser F3:Listenansicht F4:Lokaler Start F5:Werkzeuge F6:Erweitert",
"VTMENU_RETURN_PREVIOUS": "Zu vorherigem Menü [Esc]",
"VTMENU_MENU_LANG": "Menüsprache auswählen",
"VTMENU_LB_SBOOT_WINDOWS": "Windows suchen und starten",
"VTMENU_LB_SBOOT_G4D": "Grub4dos suchen und starten",
"VTMENU_LB_SBOOT_HDD1": "Vom ersten lokalen Datenträger starten",
"VTMENU_LB_SBOOT_HDD2": "Vom zweiten lokalen Datenträger starten",
"VTMENU_LB_SBOOT_HDD3": "Vom dritten lokalen Datenträger starten",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI suchen und starten",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI suchen und starten",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI suchen und starten",
"VTMENU_LB_SBOOT_XORBOOT": "xorboot suchen und starten",
"VTMENU_FILE_CHKSUM": "Dateiprüfsumme",
"VTMENU_CHKSUM_MD5_CALC": "md5sum berechnen",
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum berechnen",
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum berechnen",
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum berechnen",
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum berechnen und prüfen",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum berechnen und prüfen",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum berechnen und prüfen",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum berechnen und prüfen",
"VTMENU_POWER": "Power",
"VTMENU_POWER_REBOOT": "Neustart",
"VTMENU_POWER_HALT": "Herunterfahren",
"VTMENU_POWER_BOOT_EFIFW": "Neustart in EFI-Konfiguration",
"VTMENU_KEYBRD_LAYOUT": "Tastaturlayout",
"VTMENU_HWINFO": "Hardwareinformationen",
"VTMENU_RESOLUTION_CFG": "Auflösungseinstellungen",
"VTMENU_SCREEN_MODE": "Bildschirmanzeigemodus",
"VTMENU_SCREEN_TEXT_MODE": "Textmodus erzwingen",
"VTMENU_SCREEN_GUI_MODE": "Grafikmodus erzwingen",
"VTMENU_THEME_SELECT": "Design auswählen",
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI-Treiber anzeigen",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary Fehler beheben",
"VTMENU_JSON_CHK_JSON": "Konfiguration des JSON-Plugins prüfen (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Konfiguration des Plugins für die allgemeine Kontrolle prüfen",
"VTMENU_JSON_CHK_THEME": "Konfiguration des Design-Plugins prüfen",
"VTMENU_JSON_CHK_AUTOINS": "Konfiguration des Plugins für die automatische Installation prüfen",
"VTMENU_JSON_CHK_PERSIST": "Konfiguration des Persistenz-Plugins prüfen",
"VTMENU_JSON_CHK_MENU_ALIAS": "Konfiguration des Menü-Alias-Plugin prüfen",
"VTMENU_JSON_CHK_MENU_TIP": "Konfiguration des Menütipp-Plugins prüfen",
"VTMENU_JSON_CHK_MENU_CLASS": "Konfiguration des Menüklassen-Plugins prüfen",
"VTMENU_JSON_CHK_INJECTION": "Konfiguration des Injektions-Plugins prüfen",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Konfiguration des auto-memdisk-Plugins prüfen",
"VTMENU_JSON_CHK_IMG_LIST": "Konfiguration des Abbild-Listen-Plugins prüfen",
"VTMENU_JSON_CHK_IMG_BLIST": "Konfiguration des Abbild-Sperrlisten-Plugins prüfen",
"VTMENU_JSON_CHK_CONF_REPLACE": "Konfiguration des Boot-Conf-Replace-Plugins prüfen",
"VTMENU_JSON_CHK_DUD": "Konfiguration des dud-Plugins prüfen",
"VTMENU_JSON_CHK_PASSWORD": "Konfiguration des Passwort-Plugins prüfen",
"VTMENU_NORMAL_MODE": "In Normal-Modus starten",
"VTMENU_WIMBOOT_MODE": "In wimboot-Modus starten",
"VTMENU_GRUB2_MODE": "In grub2-Modus starten",
"VTMENU_MEMDISK_MODE": "In memdisk-Modus starten",
"VTMENU_RET_TO_LISTVIEW": "Zurück zur Listenansicht",
"VTMENU_RET_TO_TREEVIEW": "Zurück zur Baumansicht",
"VTMENU_NO_AUTOINS_SCRIPT": "Ohne Vorlage für die automatische Installation starten",
"VTMENU_AUTOINS_USE": "Start mit",
"VTMENU_NO_PERSIST": "Ohne Persistenz starten",
"VTMENU_PERSIST_USE": "Start mit",
"VTMENU_BROWER_RETURN": "Zurück",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "English (English)",
"VTMENU_STR_HOTKEY_LIST": "L:Language F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:Language F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTMENU_MENU_LANG": "Menu Language Select",
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows",
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk",
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk",
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk",
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot",
"VTMENU_FILE_CHKSUM": "File checksum",
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum",
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum",
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum",
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
"VTMENU_POWER": "Power",
"VTMENU_POWER_REBOOT": "Reboot",
"VTMENU_POWER_HALT": "Halt",
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup",
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts",
"VTMENU_HWINFO": "Hardware Information",
"VTMENU_RESOLUTION_CFG": "Resolution Configuration",
"VTMENU_SCREEN_MODE": "Screen Display Mode",
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode",
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode",
"VTMENU_THEME_SELECT": "Theme Select",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
"VTMENU_NORMAL_MODE": "Boot in normal mode",
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode",
"VTMENU_GRUB2_MODE": "Boot in grub2 mode",
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode",
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTMENU_AUTOINS_USE": "Boot with",
"VTMENU_NO_PERSIST": "Boot without persistence",
"VTMENU_PERSIST_USE": "Boot with",
"VTMENU_BROWER_RETURN": "Return",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "French (Français)",
"VTMENU_STR_HOTKEY_LIST": "L:Langue F1:Aider F2:Parcourir F3:AffichageListe F4:Localboot F5:Outils F6:Menu étendu",
"VTMENU_STR_HOTKEY_TREE": "L:Langue F1:Aider F2:Parcourir F3:AffichageListe F4:Localboot F5:Outils F6:Menu étendu",
"VTMENU_RETURN_PREVIOUS": "Retour au menu précédent [Esc]",
"VTMENU_MENU_LANG": "Sélection de la langue des menus",
"VTMENU_LB_SBOOT_WINDOWS": "Rechercher et démarrer Windows",
"VTMENU_LB_SBOOT_G4D": "Rechercher et démarrer Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Démarrez le 1er disque local",
"VTMENU_LB_SBOOT_HDD2": "Démarrez le 2ème disque local",
"VTMENU_LB_SBOOT_HDD3": "Démarrez le 3ème disque local",
"VTMENU_LB_SBOOT_X64EFI": "Rechercher et démarrer BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Rechercher et démarrer BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Rechercher et démarrer BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Rechercher et démarrer xorboot",
"VTMENU_FILE_CHKSUM": "Somme de contrôle du fichier",
"VTMENU_CHKSUM_MD5_CALC": "Calculer MD5",
"VTMENU_CHKSUM_SHA1_CALC": "Calculer SHA1",
"VTMENU_CHKSUM_SHA256_CALC": "Calculer SHA256",
"VTMENU_CHKSUM_SHA512_CALC": "Calculer SHA512",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculer et vérifier MD5",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculer et vérifier SHA1",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculer et vérifier SHA256",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculer et vérifier SHA512",
"VTMENU_POWER": "Source d'alimentation",
"VTMENU_POWER_REBOOT": "Redémarrer",
"VTMENU_POWER_HALT": "Éteindre",
"VTMENU_POWER_BOOT_EFIFW": "Redémarrez avec la configuration EFI",
"VTMENU_KEYBRD_LAYOUT": "Dispositions de clavier",
"VTMENU_HWINFO": "Informations sur le matériel",
"VTMENU_RESOLUTION_CFG": "Configuration de la résolution",
"VTMENU_SCREEN_MODE": "Mode d'affichage",
"VTMENU_SCREEN_TEXT_MODE": "Mode texte",
"VTMENU_SCREEN_GUI_MODE": "Mode graphique",
"VTMENU_THEME_SELECT": "Sélection de thème",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
"VTMENU_NORMAL_MODE": "Démarrez en mode normal",
"VTMENU_WIMBOOT_MODE": "Démarrez en mode wimboot",
"VTMENU_GRUB2_MODE": "Démarrez en mode grub2",
"VTMENU_MEMDISK_MODE": "Démarrez en mode memdisk",
"VTMENU_RET_TO_LISTVIEW": "Revenir à ListView",
"VTMENU_RET_TO_TREEVIEW": "Revenir à TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTMENU_AUTOINS_USE": "Boot with",
"VTMENU_NO_PERSIST": "Boot without persistence",
"VTMENU_PERSIST_USE": "Boot with",
"VTMENU_BROWER_RETURN": "Revenir",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Hindi (हिन्दी)",
"VTMENU_STR_HOTKEY_LIST": "L:भाषा F1:मदद F2:ब्राउज़र F3:ListView F4:स्थानीयबूट F5:उपकरण F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:भाषा F1:मदद F2:ब्राउज़र F3:TreeView F4:स्थानीयबूट F5:उपकरण F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "पिछले मेनू पर लौटें [Esc]",
"VTMENU_MENU_LANG": "मेनू भाषा का चयन करें",
"VTMENU_LB_SBOOT_WINDOWS": "Windows खोजें और बूट करें",
"VTMENU_LB_SBOOT_G4D": "Grub4dos खोजें और बूट करें",
"VTMENU_LB_SBOOT_HDD1": "पहली(1st) स्थानीय डिस्क को बूट करें",
"VTMENU_LB_SBOOT_HDD2": "दूसरी(2nd) स्थानीय डिस्क बूट करें",
"VTMENU_LB_SBOOT_HDD3": "तीसरी(3rd) स्थानीय डिस्क बूट करें",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI खोजें और बूट करें",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI खोजें और बूट करें",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI खोजें और बूट करें",
"VTMENU_LB_SBOOT_XORBOOT": "xorboot खोजें और बूट करें",
"VTMENU_FILE_CHKSUM": "फ़ाइल चेकसम",
"VTMENU_CHKSUM_MD5_CALC": "Md5sum की गणना करें",
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum की गणना करें",
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum की गणना करें",
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum की गणना करें",
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum की गणना और जाँच करें",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum की गणना और जाँच करें",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum की गणना और जाँच करें",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum की गणना और जाँच करें",
"VTMENU_POWER": "पावर",
"VTMENU_POWER_REBOOT": "रीबूट",
"VTMENU_POWER_HALT": "हाल्ट",
"VTMENU_POWER_BOOT_EFIFW": "EFI सेटअप के लिए रीबूट करें",
"VTMENU_KEYBRD_LAYOUT": "कीबोर्ड लेआउट",
"VTMENU_HWINFO": "हार्डवेयर की जानकारी",
"VTMENU_RESOLUTION_CFG": "रिज़ॉल्यूशन कॉन्फ़िगरेशन",
"VTMENU_SCREEN_MODE": "Screen Display मोड",
"VTMENU_SCREEN_TEXT_MODE": "फोर्स Text मोड",
"VTMENU_SCREEN_GUI_MODE": "फोर्स Graphics मोड",
"VTMENU_THEME_SELECT": "थीम का चयन",
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI ड्राइवर्स दिखाएं",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary विफलता को ठीक करें",
"VTMENU_JSON_CHK_JSON": "प्लगइन json विन्यास की जाँच करें (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "global control प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_THEME": "theme प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_AUTOINS": "auto install प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_PERSIST": "persistence प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_MENU_ALIAS": "menu alias प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_MENU_TIP": "menu tip प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_MENU_CLASS": "menu class प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_INJECTION": "injection प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "auto memdisk प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_IMG_LIST": "image list प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_IMG_BLIST": "image blacklist प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_CONF_REPLACE": "boot conf replace प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_DUD": "dud प्लगइन विन्यास की जाँच करें",
"VTMENU_JSON_CHK_PASSWORD": "password प्लगइन विन्यास की जाँच करें",
"VTMENU_NORMAL_MODE": "सामान्य मोड में बूट करें",
"VTMENU_WIMBOOT_MODE": "wimboot मोड में बूट करें",
"VTMENU_GRUB2_MODE": "grub2 मोड में बूट करें",
"VTMENU_MEMDISK_MODE": "memdisk मोड में बूट करें",
"VTMENU_RET_TO_LISTVIEW": "ListView पर वापस जाएँ",
"VTMENU_RET_TO_TREEVIEW": "TreeView पर वापस जाएँ",
"VTMENU_NO_AUTOINS_SCRIPT": "ऑटो इंस्टॉलेशन टेम्पलेट के बिना बूट करें",
"VTMENU_AUTOINS_USE": "के साथ बूट करें",
"VTMENU_NO_PERSIST": "बिना persistence के बूट करें",
"VTMENU_PERSIST_USE": "के साथ बूट करें",
"VTMENU_BROWER_RETURN": "लौटें",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Croatian (Hrvatski)",
"VTMENU_STR_HOTKEY_LIST": "L:Jezik F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:Jezik F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTMENU_MENU_LANG": "Menu Language Select",
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows",
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk",
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk",
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk",
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot",
"VTMENU_FILE_CHKSUM": "File checksum",
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum",
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum",
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum",
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
"VTMENU_POWER": "Power",
"VTMENU_POWER_REBOOT": "Reboot",
"VTMENU_POWER_HALT": "Halt",
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup",
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts",
"VTMENU_HWINFO": "Hardware Information",
"VTMENU_RESOLUTION_CFG": "Resolution Configuration",
"VTMENU_SCREEN_MODE": "Screen Display Mode",
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode",
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode",
"VTMENU_THEME_SELECT": "Theme Select",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
"VTMENU_NORMAL_MODE": "Boot in normal mode",
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode",
"VTMENU_GRUB2_MODE": "Boot in grub2 mode",
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode",
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTMENU_AUTOINS_USE": "Boot with",
"VTMENU_NO_PERSIST": "Boot without persistence",
"VTMENU_PERSIST_USE": "Boot with",
"VTMENU_BROWER_RETURN": "Return",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Indonesian (Bahasa Indonesia)",
"VTMENU_STR_HOTKEY_LIST": "L:Bahasa F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:Bahasa F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTMENU_MENU_LANG": "Menu Language Select",
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows",
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk",
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk",
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk",
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot",
"VTMENU_FILE_CHKSUM": "File checksum",
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum",
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum",
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum",
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
"VTMENU_POWER": "Power",
"VTMENU_POWER_REBOOT": "Reboot",
"VTMENU_POWER_HALT": "Halt",
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup",
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts",
"VTMENU_HWINFO": "Hardware Information",
"VTMENU_RESOLUTION_CFG": "Resolution Configuration",
"VTMENU_SCREEN_MODE": "Screen Display Mode",
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode",
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode",
"VTMENU_THEME_SELECT": "Theme Select",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
"VTMENU_NORMAL_MODE": "Boot in normal mode",
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode",
"VTMENU_GRUB2_MODE": "Boot in grub2 mode",
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode",
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTMENU_AUTOINS_USE": "Boot with",
"VTMENU_NO_PERSIST": "Boot without persistence",
"VTMENU_PERSIST_USE": "Boot with",
"VTMENU_BROWER_RETURN": "Return",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Japanese (日本語)",
"VTMENU_STR_HOTKEY_LIST": "L:言語 F1:ヘルプ F2:ブラウズ F3:リストビュー F4:Localboot F5:ツール F6:拡張メニュー",
"VTMENU_STR_HOTKEY_TREE": "L:言語 F1:ヘルプ F2:ブラウズ F3:ツリー表示 F4:Localboot F5:ツール F6:拡張メニュー",
"VTMENU_RETURN_PREVIOUS": "前のメニューに戻る [Esc]",
"VTMENU_MENU_LANG": "メニュー言語選択",
"VTMENU_LB_SBOOT_WINDOWS": "Windows を検索して起動する",
"VTMENU_LB_SBOOT_G4D": "Grub4dos を検索して起動する",
"VTMENU_LB_SBOOT_HDD1": "最初のローカル ディスクを起動します",
"VTMENU_LB_SBOOT_HDD2": "2 番目のローカル ディスクを起動する",
"VTMENU_LB_SBOOT_HDD3": "3 番目のローカル ディスクを起動する",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI を検索して起動する",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI を検索して起動する",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI を検索して起動する",
"VTMENU_LB_SBOOT_XORBOOT": "xorboot を検索して起動する",
"VTMENU_FILE_CHKSUM": "ファイルのチェックサム",
"VTMENU_CHKSUM_MD5_CALC": "MD5 を計算する",
"VTMENU_CHKSUM_SHA1_CALC": "SHA1 を計算する",
"VTMENU_CHKSUM_SHA256_CALC": "SHA256 を計算する",
"VTMENU_CHKSUM_SHA512_CALC": "SHA512 を計算する",
"VTMENU_CHKSUM_MD5_CALC_CHK": "MD5 を計算して確認する",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "SHA1 を計算して確認する",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "SHA256 を計算して確認する",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "SHA512 を計算して確認する",
"VTMENU_POWER": "電源",
"VTMENU_POWER_REBOOT": "リブート",
"VTMENU_POWER_HALT": "電源を切る",
"VTMENU_POWER_BOOT_EFIFW": "再起動して EFI セットアップ",
"VTMENU_KEYBRD_LAYOUT": "キーボード・レイアウト",
"VTMENU_HWINFO": "ハードウェア情報",
"VTMENU_RESOLUTION_CFG": "画面の解像度",
"VTMENU_SCREEN_MODE": "ディスプレイモード",
"VTMENU_SCREEN_TEXT_MODE": "テキストモード",
"VTMENU_SCREEN_GUI_MODE": "グラフィックモード",
"VTMENU_THEME_SELECT": "テーマを選ぶ",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
"VTMENU_JSON_CHK_JSON": "プラグインの json 構成を確認する (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Global Control プラグインの構成を確認する",
"VTMENU_JSON_CHK_THEME": "Theme プラグインの構成を確認する",
"VTMENU_JSON_CHK_AUTOINS": "Auto install プラグインの構成を確認する",
"VTMENU_JSON_CHK_PERSIST": "Persistence プラグインの構成を確認する",
"VTMENU_JSON_CHK_MENU_ALIAS": "Menu alias プラグインの構成を確認する",
"VTMENU_JSON_CHK_MENU_TIP": "Menu tip プラグインの構成を確認する",
"VTMENU_JSON_CHK_MENU_CLASS": "Menu class プラグインの構成を確認する",
"VTMENU_JSON_CHK_INJECTION": "Injection プラグインの構成を確認する",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Auto memdisk プラグインの構成を確認する",
"VTMENU_JSON_CHK_IMG_LIST": "Image list プラグインの構成を確認する",
"VTMENU_JSON_CHK_IMG_BLIST": "Image black list プラグインの構成を確認する",
"VTMENU_JSON_CHK_CONF_REPLACE": "Boot conf replace プラグインの構成を確認する",
"VTMENU_JSON_CHK_DUD": "DUD プラグインの構成を確認する",
"VTMENU_JSON_CHK_PASSWORD": "Password プラグインの構成を確認する",
"VTMENU_NORMAL_MODE": "通常モードで起動",
"VTMENU_WIMBOOT_MODE": "wimboot モードで起動",
"VTMENU_GRUB2_MODE": "grub2 モードで起動",
"VTMENU_MEMDISK_MODE": "memdisk モードで起動",
"VTMENU_RET_TO_LISTVIEW": "リストビューに戻る",
"VTMENU_RET_TO_TREEVIEW": "ツリー ビューに戻る",
"VTMENU_NO_AUTOINS_SCRIPT": "自動インストール テンプレートを使用しない",
"VTMENU_AUTOINS_USE": "使用する",
"VTMENU_NO_PERSIST": "データ永続性を使用しない",
"VTMENU_PERSIST_USE": "使用する",
"VTMENU_BROWER_RETURN": "戻る",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Korean (한국어)",
"VTMENU_STR_HOTKEY_LIST": "L:언어 F1:도움말 F2:찾아보기 F3:목록 보기 F4:로컬 부트 F5:도구 F6:확장 메뉴",
"VTMENU_STR_HOTKEY_TREE": "L:언어 F1:도움말 F2:찾아보기 F3:목록 보기 F4:로컬 부트 F5:도구 F6:확장 메뉴",
"VTMENU_RETURN_PREVIOUS": "이전 메뉴로 돌아가기 [Esc]",
"VTMENU_MENU_LANG": "메뉴 언어 선택 (번역: 비너스걸)",
"VTMENU_LB_SBOOT_WINDOWS": "Windows 검색 및 부트",
"VTMENU_LB_SBOOT_G4D": "Grub4dos 검색 및 부트",
"VTMENU_LB_SBOOT_HDD1": "첫 번째 로컬 디스크 부트",
"VTMENU_LB_SBOOT_HDD2": "두 번째 로컬 디스크 부트",
"VTMENU_LB_SBOOT_HDD3": "세 번째 로컬 디스크 부트",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI 검색 및 부트",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI 검색 및 부트",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI 검색 및 부트",
"VTMENU_LB_SBOOT_XORBOOT": "xorboot 검색 및 부트",
"VTMENU_FILE_CHKSUM": "파일 체크섬",
"VTMENU_CHKSUM_MD5_CALC": "md5sum 계산",
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum 계산",
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum 계산",
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum 계산",
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum 계산 및 확인",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum 계산 및 확인",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum 계산 및 확인",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum 계산 및 확인",
"VTMENU_POWER": "전원",
"VTMENU_POWER_REBOOT": "다시 부트",
"VTMENU_POWER_HALT": "끄기",
"VTMENU_POWER_BOOT_EFIFW": "EFI 설정으로 재부트",
"VTMENU_KEYBRD_LAYOUT": "키보드 레이아웃",
"VTMENU_HWINFO": "하드웨어 정보",
"VTMENU_RESOLUTION_CFG": "해상도 구성",
"VTMENU_SCREEN_MODE": "화면 표시 모드",
"VTMENU_SCREEN_TEXT_MODE": "강제 텍스트 모드",
"VTMENU_SCREEN_GUI_MODE": "강제 그래픽 모드",
"VTMENU_THEME_SELECT": "테마 선택",
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI 드라이버 표시",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows 초기화 라이브러리 오류 복구",
"VTMENU_JSON_CHK_JSON": "플러그인 json 구성 확인 (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "전역 제어 플러그인 구성 확인",
"VTMENU_JSON_CHK_THEME": "테마 플러그인 구성 확인",
"VTMENU_JSON_CHK_AUTOINS": "자동 설치 플러그인 구성 확인",
"VTMENU_JSON_CHK_PERSIST": "지속성 플러그인 구성 확인",
"VTMENU_JSON_CHK_MENU_ALIAS": "메뉴 별칭 플러그인 구성 확인",
"VTMENU_JSON_CHK_MENU_TIP": "메뉴 팁 플러그인 구성 확인",
"VTMENU_JSON_CHK_MENU_CLASS": "메뉴 클래스 플러그인 구성 확인",
"VTMENU_JSON_CHK_INJECTION": "주입 플러그인 구성 확인",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "자동 메모리 디스크 플러그인 구성 확인",
"VTMENU_JSON_CHK_IMG_LIST": "이미지 목록 플러그인 구성 확인",
"VTMENU_JSON_CHK_IMG_BLIST": "이미지 블랙리스트 플러그인 구성 확인",
"VTMENU_JSON_CHK_CONF_REPLACE": "부팅 구성 대체 플러그인 구성 확인",
"VTMENU_JSON_CHK_DUD": "드라이버 디스크 업데이트 플러그인 구성 확인",
"VTMENU_JSON_CHK_PASSWORD": "암호 플러그인 구성 확인",
"VTMENU_NORMAL_MODE": "정상 모드로 부트",
"VTMENU_WIMBOOT_MODE": "wimboot 모드로 부트",
"VTMENU_GRUB2_MODE": "grub2 모드로 부팅",
"VTMENU_MEMDISK_MODE": "memdisk 모드로 부트",
"VTMENU_RET_TO_LISTVIEW": "목록 보기로 돌아가기",
"VTMENU_RET_TO_TREEVIEW": "트리 보기로 돌아가기",
"VTMENU_NO_AUTOINS_SCRIPT": "자동 설치 템플릿 없이 부트",
"VTMENU_AUTOINS_USE": "부팅 대상",
"VTMENU_NO_PERSIST": "지속성 없는 부트",
"VTMENU_PERSIST_USE": "부트 대상",
"VTMENU_BROWER_RETURN": "돌아가기",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Portuguese (Português de Portugal)",
"VTMENU_STR_HOTKEY_LIST": "L:Língua F1:Ajuda F2:Navegar F3:Exibição de lista F4:Inicialização local F5:Ferramentas F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:Língua F1:Ajuda F2:Navegar F3:TreeView F4:Inicialização local F5:Ferramentas F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTMENU_MENU_LANG": "Seleção de idioma do menu",
"VTMENU_LB_SBOOT_WINDOWS": "Pesquise e inicialize o Windows",
"VTMENU_LB_SBOOT_G4D": "Pesquise e inicialize o Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Inicialize o 1º disco local",
"VTMENU_LB_SBOOT_HDD2": "Inicialize o segundo disco local",
"VTMENU_LB_SBOOT_HDD3": "Inicialize o terceiro disco local",
"VTMENU_LB_SBOOT_X64EFI": "Pesquise e inicialize o BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Pesquise e inicialize o BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Pesquise e inicialize o BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Pesquise e inicialize o xorboot",
"VTMENU_FILE_CHKSUM": "Soma de verificação do arquivo",
"VTMENU_CHKSUM_MD5_CALC": "Calcular MD5",
"VTMENU_CHKSUM_SHA1_CALC": "Calcular SHA1",
"VTMENU_CHKSUM_SHA256_CALC": "Calcular SHA256",
"VTMENU_CHKSUM_SHA512_CALC": "Calcular SHA512",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calcular e verificar MD5",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calcular e verificar SHA1",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calcular e verificar SHA256",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calcular e verificar SHA512",
"VTMENU_POWER": "Fonte de energia",
"VTMENU_POWER_REBOOT": "Reinício",
"VTMENU_POWER_HALT": "Desligar",
"VTMENU_POWER_BOOT_EFIFW": "Reinicie a configuração EFI",
"VTMENU_KEYBRD_LAYOUT": "Layouts de teclado",
"VTMENU_HWINFO": "Informações de hardware",
"VTMENU_RESOLUTION_CFG": "Configuração de resolução",
"VTMENU_SCREEN_MODE": "Screen Modo de exibição",
"VTMENU_SCREEN_TEXT_MODE": "Modo de texto",
"VTMENU_SCREEN_GUI_MODE": "Modo gráfico",
"VTMENU_THEME_SELECT": "Seleção de tema",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
"VTMENU_NORMAL_MODE": "Inicializar no modo normal",
"VTMENU_WIMBOOT_MODE": "Inicializar no modo wimboot",
"VTMENU_GRUB2_MODE": "Inicializar no modo grub2",
"VTMENU_MEMDISK_MODE": "Inicializar no modo memdisk",
"VTMENU_RET_TO_LISTVIEW": "Retornar para ListView",
"VTMENU_RET_TO_TREEVIEW": "Retornar para TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTMENU_AUTOINS_USE": "Boot with",
"VTMENU_NO_PERSIST": "Boot without persistence",
"VTMENU_PERSIST_USE": "Boot with",
"VTMENU_BROWER_RETURN": "Retornar",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Russian (Русский)",
"VTMENU_STR_HOTKEY_LIST": "L:Язык F1:Помощь F2:Просмотр F3:ListView F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
"VTMENU_STR_HOTKEY_TREE": "L:Язык F1:Помощь F2:Просмотр F3:TreeView F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
"VTMENU_RETURN_PREVIOUS": "Вернуться в предыдущее меню [Esc]",
"VTMENU_MENU_LANG": "Выбор языка меню",
"VTMENU_LB_SBOOT_WINDOWS": "Найти и загрузить Windows",
"VTMENU_LB_SBOOT_G4D": "Найти и загрузить Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Загрузить 1-й локальный диск",
"VTMENU_LB_SBOOT_HDD2": "Загрузить 2-й локальный диск",
"VTMENU_LB_SBOOT_HDD3": "Загрузить 3-й локальный диск",
"VTMENU_LB_SBOOT_X64EFI": "Найти и загрузить OOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Найти и загрузить BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Найти и загрузить BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Найти и загрузить xorboot",
"VTMENU_FILE_CHKSUM": "Контрольная сумма файла",
"VTMENU_CHKSUM_MD5_CALC": "Вычислить md5sum",
"VTMENU_CHKSUM_SHA1_CALC": "Вычислить sha1sum",
"VTMENU_CHKSUM_SHA256_CALC": "Вычислить sha256sum",
"VTMENU_CHKSUM_SHA512_CALC": "Вычислить sha512sum",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Вычислить и проверить md5sum",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Вычислить и проверить sha1sum",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Вычислить и проверить sha256sum",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Вычислить и проверить sha512sum",
"VTMENU_POWER": "Включить",
"VTMENU_POWER_REBOOT": "Перезагрузить",
"VTMENU_POWER_HALT": "Остановить",
"VTMENU_POWER_BOOT_EFIFW": "Перезагрузиться в настройку EFI",
"VTMENU_KEYBRD_LAYOUT": "Раскладки клавиатуры",
"VTMENU_HWINFO": "Информация об оборудовании",
"VTMENU_RESOLUTION_CFG": "Конфигурация разрешения",
"VTMENU_SCREEN_MODE": "Режим Screen Display",
"VTMENU_SCREEN_TEXT_MODE": "Выбрать текстовый режим",
"VTMENU_SCREEN_GUI_MODE": "Выбрать графический режим",
"VTMENU_THEME_SELECT": "Выбор темы",
"VTMENU_UTIL_SHOW_EFI_DRV": "Показать драйверы EFI",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Исправить ошибку Windows BlinitializeLibrary",
"VTMENU_JSON_CHK_JSON": "Проверить конфигурацию плагина json (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Проверить конфигурацию плагина global control",
"VTMENU_JSON_CHK_THEME": "Проверить конфигурацию плагина theme",
"VTMENU_JSON_CHK_AUTOINS": "Проверить конфигурацию плагина auto install",
"VTMENU_JSON_CHK_PERSIST": "Проверить конфигурацию плагина persistence",
"VTMENU_JSON_CHK_MENU_ALIAS": "Проверить конфигурацию плагина menu alias",
"VTMENU_JSON_CHK_MENU_TIP": "Проверить конфигурацию плагина menu tip",
"VTMENU_JSON_CHK_MENU_CLASS": "Проверить конфигурацию плагина menu class",
"VTMENU_JSON_CHK_INJECTION": "Проверить конфигурацию плагина injection",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Проверить конфигурацию плагина auto memdisk",
"VTMENU_JSON_CHK_IMG_LIST": "Проверить конфигурацию плагина image list",
"VTMENU_JSON_CHK_IMG_BLIST": "Проверить конфигурацию плагина image blacklist",
"VTMENU_JSON_CHK_CONF_REPLACE": "Проверить конфигурацию плагина boot conf replace",
"VTMENU_JSON_CHK_DUD": "Проверить конфигурацию плагина dud",
"VTMENU_JSON_CHK_PASSWORD": "Проверить конфигурацию плагина password",
"VTMENU_NORMAL_MODE": "Загрузиться в обычном режиме",
"VTMENU_WIMBOOT_MODE": "Загрузиться в режиме wimboot",
"VTMENU_GRUB2_MODE": "Загрузиться в режиме grub2",
"VTMENU_MEMDISK_MODE": "Загрузиться в режиме memdisk",
"VTMENU_RET_TO_LISTVIEW": "Вернуться к ListView",
"VTMENU_RET_TO_TREEVIEW": "Вернуться к TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Загрузка без шаблона автоматической установки",
"VTMENU_AUTOINS_USE": "Загрузиться с",
"VTMENU_NO_PERSIST": "Загрузка без персистентности",
"VTMENU_PERSIST_USE": "Загрузиться с",
"VTMENU_BROWER_RETURN": "Вернуться",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Serbian Latin (Srpski)",
"VTMENU_STR_HOTKEY_LIST": "L:Језик F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:Језик F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTMENU_MENU_LANG": "Menu Language Select",
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows",
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk",
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk",
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk",
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot",
"VTMENU_FILE_CHKSUM": "File checksum",
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum",
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum",
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum",
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
"VTMENU_POWER": "Power",
"VTMENU_POWER_REBOOT": "Reboot",
"VTMENU_POWER_HALT": "Halt",
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup",
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts",
"VTMENU_HWINFO": "Hardware Information",
"VTMENU_RESOLUTION_CFG": "Resolution Configuration",
"VTMENU_SCREEN_MODE": "Screen Display Mode",
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode",
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode",
"VTMENU_THEME_SELECT": "Theme Select",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
"VTMENU_NORMAL_MODE": "Boot in normal mode",
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode",
"VTMENU_GRUB2_MODE": "Boot in grub2 mode",
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode",
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTMENU_AUTOINS_USE": "Boot with",
"VTMENU_NO_PERSIST": "Boot without persistence",
"VTMENU_PERSIST_USE": "Boot with",
"VTMENU_BROWER_RETURN": "Return",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Turkish (Türkçe)",
"VTMENU_STR_HOTKEY_LIST": "L:Dil F1:Yardım F2:Gözat F3:Liste Görünümü F4:Önyükleme Seçenekleri F5:Araçlar F6:Grub2 Menü",
"VTMENU_STR_HOTKEY_TREE": "L:Dil F1:Yardım F2:Gözat F3:Ağaç Görünümü F4:Önyükleme Seçenekleri F5:Araçlar F6:Grub2 Menü",
"VTMENU_RETURN_PREVIOUS": "Önceki menüye geri dön [Esc]",
"VTMENU_MENU_LANG": "Menü Dili Seçimi",
"VTMENU_LB_SBOOT_WINDOWS": "Windows'u bul ve Önyükle",
"VTMENU_LB_SBOOT_G4D": "Grub4dos'u bul ve Önyükle",
"VTMENU_LB_SBOOT_HDD1": "1. Yerel diskten Önyükleme yap",
"VTMENU_LB_SBOOT_HDD2": "2. Yerel diskten Önyükleme yap",
"VTMENU_LB_SBOOT_HDD3": "3. Yerel diskten Önyükleme yap",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI'yi bul ve Önyükleme yap",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI'yi bul ve Önyükleme yap",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI'yi bul ve Önyükleme yap",
"VTMENU_LB_SBOOT_XORBOOT": "XORBOOT'u bul ve Önyükleme yap",
"VTMENU_FILE_CHKSUM": "Dosya Doğrulama",
"VTMENU_CHKSUM_MD5_CALC": "md5sum değerini hesapla",
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum değerini hesapla",
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum değerini hesapla",
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum değerini hesapla",
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum hesapla ve kontrol et",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum hesapla ve kontrol et",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum hesapla ve kontrol et",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum hesapla ve kontrol et",
"VTMENU_POWER": "Güç Seçenekleri",
"VTMENU_POWER_REBOOT": "Yeniden Başlat",
"VTMENU_POWER_HALT": "Bilgisayarı Kapat",
"VTMENU_POWER_BOOT_EFIFW": "EFI BIOS Ayarları ile Yeniden Başlat",
"VTMENU_KEYBRD_LAYOUT": "Klavye düzenleri",
"VTMENU_HWINFO": "Donanım Bilgisi",
"VTMENU_RESOLUTION_CFG": "Çözünürlük Yapılandırması",
"VTMENU_SCREEN_MODE": "Ekran Görüntüleme Modu",
"VTMENU_SCREEN_TEXT_MODE": "Metin Modu'nu Dene",
"VTMENU_SCREEN_GUI_MODE": "Grafik Modu'nu Dene",
"VTMENU_THEME_SELECT": "Tema Seçimi",
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI Sürücülerini Göster",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary Hatasını Düzelt",
"VTMENU_JSON_CHK_JSON": "json (ventoy.json) Yapılandırma Dosyası Ayarlarını kontrol et",
"VTMENU_JSON_CHK_CONTROL": "(Global Control Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_THEME": "(Theme Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_AUTOINS": "(Auto Install Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_PERSIST": "(Persistence Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_MENU_ALIAS": "(Menu Alias Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_MENU_TIP": "(Menu Tip Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_MENU_CLASS": "(Menu Class Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_INJECTION": "(Injection Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "(Auto Memdisk Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_IMG_LIST": "(Image List Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_IMG_BLIST": "(Image Blacklist Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_CONF_REPLACE": "(Check Boot Conf Replace Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_DUD": "(Dud Plugin) yapılandırma ayarları",
"VTMENU_JSON_CHK_PASSWORD": "(Password Plugin) yapılandırma ayarları",
"VTMENU_NORMAL_MODE": "NORMAL(ISO) Mod'da ÖnYükleme Yap",
"VTMENU_WIMBOOT_MODE": "WIMBOOT(WIM) Mod'da Önyükleme Yap",
"VTMENU_GRUB2_MODE": "GRUB2 Mod'da Önyükleme Yap",
"VTMENU_MEMDISK_MODE": "MEMDISK Modunda ÖnYükleme Yap",
"VTMENU_RET_TO_LISTVIEW": "Liste Görünümü Moduna Geri Dön",
"VTMENU_RET_TO_TREEVIEW": "Ağaç Görünümü Moduna Geri Dön",
"VTMENU_NO_AUTOINS_SCRIPT": "Otomatik yükleme şablonu(autoinstalltemplate.xml) olmadan Önyükleme yap",
"VTMENU_AUTOINS_USE": "ile Önyükleme Yap",
"VTMENU_NO_PERSIST": "Kalıcı ayar dosyası(persistence.dat) olmadan Önyükleme Yap",
"VTMENU_PERSIST_USE": "ile Önyükleme Yap",
"VTMENU_BROWER_RETURN": "Geri Dön",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1,81 @@
{
"VTMENU_LANGUAGE_NAME": "Chinese Simplified (简体中文)",
"VTMENU_STR_HOTKEY_LIST": "L:语言 F1:帮助 F2:本地浏览 F3:列表模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTMENU_STR_HOTKEY_TREE": "L:语言 F1:帮助 F2:本地浏览 F3:树形模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTMENU_RETURN_PREVIOUS": "返回上一级菜单 [Esc]",
"VTMENU_MENU_LANG": "菜单语言",
"VTMENU_LB_SBOOT_WINDOWS": "搜索并启动 Windows",
"VTMENU_LB_SBOOT_G4D": "搜索并启动 Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "启动本地硬盘1中的系统",
"VTMENU_LB_SBOOT_HDD2": "启动本地硬盘2中的系统",
"VTMENU_LB_SBOOT_HDD3": "启动本地硬盘3中的系统",
"VTMENU_LB_SBOOT_X64EFI": "搜索并启动 BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "搜索并启动 BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "搜索并启动 BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "搜索并启动 xorboot",
"VTMENU_FILE_CHKSUM": "文件校验",
"VTMENU_CHKSUM_MD5_CALC": "计算 MD5 校验值",
"VTMENU_CHKSUM_SHA1_CALC": "计算 SHA1 校验值",
"VTMENU_CHKSUM_SHA256_CALC": "计算 SHA256 校验值",
"VTMENU_CHKSUM_SHA512_CALC": "计算 SHA512 校验值",
"VTMENU_CHKSUM_MD5_CALC_CHK": "计算并检查 MD5 校验值",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "计算并检查 SHA1 校验值",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "计算并检查 SHA256 校验值",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "计算并检查 SHA512 校验值",
"VTMENU_POWER": "电源",
"VTMENU_POWER_REBOOT": "重启",
"VTMENU_POWER_HALT": "关机",
"VTMENU_POWER_BOOT_EFIFW": "重启进入 UEFI 设置菜单",
"VTMENU_KEYBRD_LAYOUT": "键盘布局",
"VTMENU_HWINFO": "硬件信息",
"VTMENU_RESOLUTION_CFG": "屏幕分辨率",
"VTMENU_SCREEN_MODE": "显示模式",
"VTMENU_SCREEN_TEXT_MODE": "文本模式",
"VTMENU_SCREEN_GUI_MODE": "图形模式",
"VTMENU_THEME_SELECT": "主题选择",
"VTMENU_UTIL_SHOW_EFI_DRV": "显示 UEFI 驱动",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "修复 Windows BlinitializeLibrary 错误",
"VTMENU_JSON_CHK_JSON": "检查插件配置文件 (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "配置检查 —— 全局控制插件",
"VTMENU_JSON_CHK_THEME": "配置检查 —— 主题插件",
"VTMENU_JSON_CHK_AUTOINS": "配置检查 —— 自动安装插件",
"VTMENU_JSON_CHK_PERSIST": "配置检查 —— 持久化插件",
"VTMENU_JSON_CHK_MENU_ALIAS": "配置检查 —— 菜单别名插件",
"VTMENU_JSON_CHK_MENU_TIP": "配置检查 —— 菜单提示插件",
"VTMENU_JSON_CHK_MENU_CLASS": "配置检查 —— 菜单类型插件",
"VTMENU_JSON_CHK_INJECTION": "配置检查 —— 文件注入插件",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "配置检查 —— 自动内存盘模式插件",
"VTMENU_JSON_CHK_IMG_LIST": "配置检查 —— 文件列表插件(白名单)",
"VTMENU_JSON_CHK_IMG_BLIST": "配置检查 —— 文件列表插件(黑名单)",
"VTMENU_JSON_CHK_CONF_REPLACE": "配置检查 —— 启动配置替换插件",
"VTMENU_JSON_CHK_DUD": "配置检查 —— Driver Update Disk插件",
"VTMENU_JSON_CHK_PASSWORD": "配置检查 —— 密码插件",
"VTMENU_NORMAL_MODE": "以正常模式启动",
"VTMENU_WIMBOOT_MODE": "以 wimboot 模式启动",
"VTMENU_GRUB2_MODE": "以 grub2 模式启动",
"VTMENU_MEMDISK_MODE": "以内存盘模式启动",
"VTMENU_RET_TO_LISTVIEW": "返回到列表模式",
"VTMENU_RET_TO_TREEVIEW": "返回到树形模式",
"VTMENU_NO_AUTOINS_SCRIPT": "不使用自动安装脚本",
"VTMENU_AUTOINS_USE": "使用",
"VTMENU_NO_PERSIST": "不使用持久化数据文件",
"VTMENU_PERSIST_USE": "使用",
"VTMENU_BROWER_RETURN": "返回",
"MENU_STR_XXX": ""
}

View File

@@ -0,0 +1 @@
#ventoy_pack.sh will generate menuentry here

View File

@@ -1,25 +1,25 @@
submenu "Power" --class=debug_power --class=F5tool {
menuentry Reboot --class=debug_reboot --class=debug_power --class=F5tool {
submenu "@VTMENU_POWER" --class=debug_power --class=F5tool {
menuentry "@VTMENU_POWER_REBOOT" --class=debug_reboot --class=debug_power --class=F5tool {
echo -e '\n\nSystem is rebooting ... \n'
sleep 1
reboot
}
menuentry Halt --class=debug_halt --class=debug_power --class=F5tool {
menuentry "@VTMENU_POWER_HALT" --class=debug_halt --class=debug_power --class=F5tool {
echo -e '\n\nSystem is halting ... \n'
sleep 1
halt
}
if [ "$grub_platform" != "pc" ]; then
menuentry 'Reboot to EFI setup' --class=debug_efisetup --class=debug_power --class=F5tool {
menuentry '@VTMENU_POWER_BOOT_EFIFW' --class=debug_efisetup --class=debug_power --class=F5tool {
echo -e '\n\nRebooting to enter UEFI firmware setup ... \n'
sleep 1
fwsetup
}
fi
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
echo 'Return ...'
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -88,6 +88,30 @@ tar czf help.tar.gz ./help/
rm -rf ./help
cd ../../
#tar menu txt & update menulang.cfg
cd $tmpmnt/grub/
vtlangtitle=$(grep VTMENU_LANGUAGE_NAME menu/zh_CN.json | awk -F\" '{print $4}')
echo "menuentry \"zh_CN - $vtlangtitle\" --class=menu_lang_item --class=debug_menu_lang --class=F5tool {" >> menulang.cfg
echo " vt_load_menu_lang zh_CN" >> menulang.cfg
echo "}" >> menulang.cfg
ls -1 menu/ | grep -v 'zh_CN' | sort | while read vtlang; do
vtlangname=${vtlang%.*}
vtlangtitle=$(grep VTMENU_LANGUAGE_NAME menu/$vtlang | awk -F\" '{print $4}')
echo "menuentry \"$vtlangname - $vtlangtitle\" --class=menu_lang_item --class=debug_menu_lang --class=F5tool {" >> menulang.cfg
echo " vt_load_menu_lang $vtlangname" >> menulang.cfg
echo "}" >> menulang.cfg
done
echo "menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {" >> menulang.cfg
echo " echo 'Return ...'" >> menulang.cfg
echo "}" >> menulang.cfg
tar czf menu.tar.gz ./menu/
rm -rf ./menu
cd ../../
cp $OPT ./ventoy $tmpmnt/
cp $OPT ./EFI $tmpmnt/
@@ -202,6 +226,7 @@ cp $OPT VentoyVlnk.exe $tmpdir/
cp $OPT FOR_X64_ARM.txt $tmpdir/
mkdir -p $tmpdir/altexe
cp $OPT Ventoy2Disk_*.exe $tmpdir/altexe/
cp $OPT VentoyPlugson_*.exe $tmpdir/altexe/

View File

@@ -8,10 +8,24 @@ fi
gcc -DFOR_VTOY_JSON_CHECK $VTOY_PATH/Ventoy2Disk/Ventoy2Disk/VentoyJson.c -I $VTOY_PATH/Ventoy2Disk/Ventoy2Disk/ -o checkjson
RET=0
./checkjson $VTOY_PATH/LANGUAGES/languages.json
ret=$?
if [ $ret -eq 0 ]; then
for i in $(ls $VTOY_PATH/INSTALL/grub/menu); do
echo "check INSTALL/grub/menu/$i ..."
./checkjson $VTOY_PATH/INSTALL/grub/menu/$i
ret=$?
if [ $ret -ne 0 ]; then
echo "INSTALL/grub/menu/$i invalid json format"
break
fi
done
else
echo "languages.json invalid json format"
fi
rm -f ./checkjson
[ $ret -eq 0 ]

View File

@@ -55,6 +55,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"توقفت عملية تثبيت Ventoy بدون تهيئة لعدم استيفاء بعض الشروط. تفقد ملف log.txt للتفاصيل.",
"STR_INSTALL_YES_TIP1":"تحذير: سيتم فقدان البيانات!",
"STR_INSTALL_YES_TIP2":"يرجى إدخال YES في مربع النص في الأسفل للتأكيد بأنك تريد عمل تثبيت جديد بدلاً من التحديث.",
"STR_PART_VENTOY_FS":"نظام الملفات لقسم Ventoy",
"STR_PART_FS":"نظام الملفات",
"STR_PART_CLUSTER":"حجم الكتلة",
"STR_PART_CLUSTER_DEFAULT":"القيمة الافتراضية للنظام",
"STRXXX":""
},
@@ -114,6 +118,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"ZƏrərsiz Ventoy quraşdırması dayandırıldı, belə ki, bəzi şərtlər yerinə yetirilə bilməd. Daha ətraflı məlumat üçün.txt jurnal faylına baxın.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -126,8 +135,8 @@
"STR_ERROR":"오류",
"STR_WARNING":"경고",
"STR_INFO":"정보",
"STR_INCORRECT_DIR":"올바른 디렉리에서 실행하십시오!",
"STR_INCORRECT_TREE_DIR":"여기서 실행하지 말고, 출시된 설치 패키지를 다운로드한 다음 거기서 실행십시오.",
"STR_INCORRECT_DIR":"올바른 디렉리에서 실행하십시오!",
"STR_INCORRECT_TREE_DIR":"여기서 프로그램 (INSTALL 디렉터리)을 실행하지 말고 설치 패키지를 다운로드하여 압축을 푼 후 그곳에서 실행해 주십시오.",
"STR_DEVICE":"장치",
"STR_LOCAL_VER":"패키지의 Ventoy 버전",
"STR_DISK_VER":"장치 내부의 Ventoy 버전",
@@ -173,7 +182,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"일부 조건을 충족할 수 없기 때문에 Ventoy 비파괴 설치가 중지되었습니다. 자세한 내용은 log.txt를 확인하십시오.",
"STR_INSTALL_YES_TIP1":"경고: 데이터가 손실됩니다!",
"STR_INSTALL_YES_TIP2":"업그레이드 대신 새로 설치할지 확인하려면 아래 입력란에 YES를 입력하십시오.",
"STR_PART_VENTOY_FS":"Ventoy 파티션용 파일 시스템",
"STR_PART_FS":"파일 시스템",
"STR_PART_CLUSTER":"클러스터 크기",
"STR_PART_CLUSTER_DEFAULT":"시스템 기본값",
"STRXXX":""
},
{
@@ -232,7 +245,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"条件不满足,无法进行无损安装。详细信息请查阅 log.txt 文件。",
"STR_INSTALL_YES_TIP1":"警告: 所有数据将会丢失!",
"STR_INSTALL_YES_TIP2":"请在下面文本框中输入 YES 以确认你是要进行安装而不是升级。",
"STR_PART_VENTOY_FS":"Ventoy 分区文件系统类型",
"STR_PART_FS":"文件系统",
"STR_PART_CLUSTER":"簇大小",
"STR_PART_CLUSTER_DEFAULT":"系统默认值",
"STRXXX":""
},
{
@@ -291,7 +308,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -349,6 +370,11 @@
"STR_VTSI_CREATE_FAILED": "გაფრთხილება: მონაცემები დაიკარგება!",
"STR_MENU_PART_RESIZE": "გთხოვთ, შეიყვანოთ YES ქვემოთ მოცემულ ტექსტურ ველში, რათა დაადასტუროთ... გსურთ განახლების ნაცვლად განახორციელოთ ახალი ინსტალაცია.",
"STR_PART_RESIZE_TIP": "Ventoy ჩეეცდება დააყენოს არა-დესტრუქციული რამდენადაც შეეცდება. გსურს გაგრძელება?",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX": ""
},
{
@@ -407,7 +433,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -466,7 +496,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Nieniszcząca instalacja Ventoy została zatrzymana, ponieważ niektóre wymagania nie zostały spełnione. Sprawdź log.txt po szczegóły.",
"STR_INSTALL_YES_TIP1":"Ostrzeżenie: Dane zostaną utracone!",
"STR_INSTALL_YES_TIP2":"Wpisz YES w poniższym polu tekstowym, aby potwierdzić, że naprawdę chcesz przeprowadzić nową instalację zamiast aktualizacji.",
"STR_PART_VENTOY_FS":"System plików dla partycji Ventoy",
"STR_PART_FS":"System plików",
"STR_PART_CLUSTER":"Wielkość klastra",
"STR_PART_CLUSTER_DEFAULT":"Wartość domyślna systemu",
"STRXXX":""
},
{
@@ -525,7 +559,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Instalação não destrutiva do Ventoy interrompida devido fato desconhecido. Cheque o arquivo log.txt para detalhes.",
"STR_INSTALL_YES_TIP1":"Aviso: Os dados serão perdidos!",
"STR_INSTALL_YES_TIP2":"Por favor, digite YES na caixa de texto abaixo para confirmar que você realmente quer fazer uma nova instalação em vez de atualização.",
"STR_PART_VENTOY_FS":"Sistema de arquivos para partição Ventoy",
"STR_PART_FS":"Sistema de arquivo",
"STR_PART_CLUSTER":"Tamanho do cluster",
"STR_PART_CLUSTER_DEFAULT":"Valor padrão do sistema",
"STRXXX":""
},
{
@@ -584,14 +622,18 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy Tahribatsız Kurulum, bazı koşullar sağlanmadığı için durduruldu. Ayrıntılı bilgi için log.txt dosyasını kontrol edin.",
"STR_INSTALL_YES_TIP1":"Uyarı: Tüm verileriniz kaybolacak!",
"STR_INSTALL_YES_TIP2":"Güncelleme yapmak yerine,yeni bir kurulum yapmak istediğinizi doğrulamak için lütfen aşağıdaki metin kutusuna YES yazın.",
"STR_PART_VENTOY_FS":"Ventoy bölümü Dosya Sistemi",
"STR_PART_FS":"Dosya Sistemi",
"STR_PART_CLUSTER":"Sektör Boyutu",
"STR_PART_CLUSTER_DEFAULT":"Sistem varsayılan değeri",
"STRXXX":""
},
{
"name":"German (Deutsch)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"luzea & u!^DEV",
"Author":"luzea & u!^DEV, wiz64",
"STR_ERROR":"Fehler",
"STR_WARNING":"Warnung",
@@ -643,7 +685,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Installation ohne vorherige Formatierung wurde auf Grund einiger nicht erfüllbarer Bedingungen gestoppt. Für Details die log.txt prüfen.",
"STR_INSTALL_YES_TIP1":"Warnung: Die Daten gehen verloren!",
"STR_INSTALL_YES_TIP2":"Bitte bestätigen Sie in der unteren Textbox mit YES, dass Sie anstelle eines Upgrades eine frische Installation durchführen möchten.",
"STR_PART_VENTOY_FS":"Dateisystem für die Ventoy-Partition",
"STR_PART_FS":"Dateisystem",
"STR_PART_CLUSTER":"Clustergröße",
"STR_PART_CLUSTER_DEFAULT":"Systemstandardwert",
"STRXXX":""
},
{
@@ -702,14 +748,18 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
"name":"French (Français)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"vboucard, Silejonu",
"Author":"vboucard, Silejonu, wiz64",
"STR_ERROR":"Erreur",
"STR_WARNING":"Avertissement",
@@ -761,6 +811,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"L'installation non destructive de Ventoy s'est arrêtée car certaines conditions ne peuvent pas être remplies. Consultez log.txt pour plus de détails.",
"STR_INSTALL_YES_TIP1":"Attention : les données seront perdues !",
"STR_INSTALL_YES_TIP2":"Veuillez saisir YES dans la zone de texte ci-dessous pour confirmer que vous souhaitez bien effectuer une nouvelle installation au lieu d'une mise à niveau.",
"STR_PART_VENTOY_FS":"Système de fichiers pour la partition Ventoy",
"STR_PART_FS":"Système de fichiers",
"STR_PART_CLUSTER":"Taille de cluster",
"STR_PART_CLUSTER_DEFAULT":"Valeur par défaut du système",
"STRXXX":""
},
@@ -820,6 +874,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"Nedestruktivní instalace Ventoy selhala, protože některé podmínky pro ni nemohly být splněny. Pro podrobnosti se podívejte do souboru log.txt.",
"STR_INSTALL_YES_TIP1":"Varování: Data budou ztracena!",
"STR_INSTALL_YES_TIP2":"Do níže uvedeného textového pole zadejte YES a potvrďte, že skutečně chcete provést novou instalaci namísto aktualizace.",
"STR_PART_VENTOY_FS":"Souborový systém pro Ventoy Partition",
"STR_PART_FS":"Souborový systém",
"STR_PART_CLUSTER":"Velikost clusteru",
"STR_PART_CLUSTER_DEFAULT":"Výchozí hodnota systému",
"STRXXX":""
},
@@ -878,11 +936,78 @@
"STR_PART_RESIZE_UNSUPPORTED":"Nedeštruktívna inštalácia Ventoy zlyhala, lebo niektoré podmienky nemohli byť splnené. Podrobnosti nájdete v súbore log.txt.",
"STR_INSTALL_YES_TIP1":"Varovanie: Dôjde k strate údajov!",
"STR_INSTALL_YES_TIP2":"Prosím, zadajte YES v textovom poli nižšie, čím potvrdíte, že naozaj chcete vykonať novú inštaláciu miesto aktualizácie.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
"name":"Spanish (Español)",
"name":"Spanish (Latinoamérica)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"MELERIX",
"STR_ERROR":"Error",
"STR_WARNING":"Advertencia",
"STR_INFO":"Información",
"STR_INCORRECT_DIR":"¡Por favor, ejecuta bajo el directorio correcto!",
"STR_INCORRECT_TREE_DIR":"No me ejecutes aquí, por favor descarga el paquete de instalación lanzado, y ejecútalo allí.",
"STR_DEVICE":"Dispositivo",
"STR_LOCAL_VER":"Ventoy En Paquete",
"STR_DISK_VER":"Ventoy En Dispositivo",
"STR_STATUS":"Estado - LISTO",
"STR_INSTALL":"Instalar",
"STR_UPDATE":"Actualizar",
"STR_UPDATE_TIP":"La operación de actualización es segura, Los archivo ISO no se modificarán.#@¿Continuar?",
"STR_INSTALL_TIP":"El dispositivo será formateado y todos los datos se perderán.#@¿Continuar?",
"STR_INSTALL_TIP2":"El dispositivo será formateado y todos los datos se perderán.#@¿Continuar? (Doble Comprobación)",
"STR_INSTALL_SUCCESS":"¡Felicitaciones!#@Ventoy ha sido instalado exitosamente en el dispositivo.",
"STR_INSTALL_FAILED":"Ocurrió un error durante la instalación. Puedes reinsertar el dispositivo USB e intentar de nuevo. Comprueba log.txt para detalles. Si siempre falla, consulta las PF en el sitio web oficial.",
"STR_UPDATE_SUCCESS":"¡Felicitaciones!#@Ventoy ha sido actualizado exitosamente en el dispositivo.",
"STR_UPDATE_FAILED":"Ocurrió un error durante la actualización. Puedes reinsertar el dispositivo USB e intentar de nuevo. Comprueba log.txt para detalles. Si siempre falla, consulta las PF en el sitio web oficial.",
"STR_WAIT_PROCESS":"Un hilo está ejecutándose, por favor espera...",
"STR_MENU_OPTION":"Opción",
"STR_MENU_SECURE_BOOT":"Soporte De Arranque Seguro",
"STR_MENU_PART_CFG":"Configuración De Partición",
"STR_BTN_OK":"Aceptar",
"STR_BTN_CANCEL":"Cancelar",
"STR_PRESERVE_SPACE":"Preservar algo de espacio al final del dispositivo",
"STR_SPACE_VAL_INVALID":"Valor inválido para espacio reservado",
"STR_MENU_CLEAR":"Limpiar Ventoy",
"STR_CLEAR_SUCCESS":"Ventoy ha sido removido exitosamente desde el dispositivo.",
"STR_CLEAR_FAILED":"Ocurrió un error al remover Ventoy del dispositivo. Puedes reinsertar el dispositivo USB e intentar de nuevo. Comprueba log.txt para detalles.",
"STR_MENU_PART_STYLE":"Estilo De Partición",
"STR_DISK_2TB_MBR_ERROR":"Por favor selecciona GPT para dispositivos sobre 2TB",
"STR_SHOW_ALL_DEV":"Mostrar Todos Los Dispositivos",
"STR_PART_ALIGN_4KB":"Alinear particiones con 4KB",
"STR_WEB_COMMUNICATION_ERR":"Error de comunicación:",
"STR_WEB_REMOTE_ABNORMAL":"Error de comunicación: anormal remoto",
"STR_WEB_REQUEST_TIMEOUT":"Error de comunicación: Tiempo de espera agotado",
"STR_WEB_SERVICE_UNAVAILABLE":"Error de comunicación: Servicio No Disponible",
"STR_WEB_TOKEN_MISMATCH":" Estado del daemon actualizado, por favor reintenta más tarde.",
"STR_WEB_SERVICE_BUSY":" El servicio está ocupado, por favor reintenta más tarde.",
"STR_MENU_VTSI_CREATE":"Generar Archivo VTSI",
"STR_VTSI_CREATE_TIP":"Esta vez no se escribirá al dispositivo, pero solo generará un archivo VTSI#@¿Continuar?",
"STR_VTSI_CREATE_SUCCESS":"¡Archivo VTSI creado exitosamente!#@Puedes usar Rufus(3.15+) para escribirlo al dispositivo a fin de completar la instalación de Ventoy.",
"STR_VTSI_CREATE_FAILED":"Fallo en el archivo VTSI creado.",
"STR_MENU_PART_RESIZE":"Instalación no destructiva",
"STR_PART_RESIZE_TIP":"Ventoy intentará una instalación no destructiva si es posible. #@¿Continuar?",
"STR_PART_RESIZE_SUCCESS":"¡Felicitaciones!#@La instalación no destructiva de Ventoy a finalizado exitosamente.",
"STR_PART_RESIZE_FAILED":"Instalación no destructiva fallida, Comprueba log.txt para detalles.",
"STR_PART_RESIZE_UNSUPPORTED":"Instalación no destructiva de Ventoy detenida porque algunas condiciones no se pueden cumplir. Comprueba log.txt para detalles.",
"STR_INSTALL_YES_TIP1":"Advertencia: ¡Los datos se perderán!",
"STR_INSTALL_YES_TIP2":"Por favor ingresa YES en el cuadro de texto a continuación para confirmar que realmente quieres realizar una instalación nueva en vez de actualizar.",
"STR_PART_VENTOY_FS":"Sistema de archivos para partición de Ventoy",
"STR_PART_FS":"Sistema de archivos",
"STR_PART_CLUSTER":"Tamaño de cluster",
"STR_PART_CLUSTER_DEFAULT":"Valor predeterminado del sistema",
"STRXXX":""
},
{
"name":"Spanish (España)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"Carlos Sánchez, MELERIX, shulkalala",
@@ -937,14 +1062,18 @@
"STR_PART_RESIZE_UNSUPPORTED":"La instalación no destructiva de Ventoy se ha detenido porque no se han cumplido todos los prerrequisitos.#@Compruebe el archivo log.txt para más información.",
"STR_INSTALL_YES_TIP1":"Advertencia: ¡Los datos se perderán!",
"STR_INSTALL_YES_TIP2":"Por favor, escriba YES en el cuadro de texto a continuación para confirmar que realmente quiere realizar una nueva instalación de Ventoy en vez de actualizarlo.",
"STR_PART_VENTOY_FS":"Sistema de archivos para partición de Ventoy",
"STR_PART_FS":"Sistema de archivos",
"STR_PART_CLUSTER":"Tamaño de cluster",
"STR_PART_CLUSTER_DEFAULT":"Valor predeterminado del sistema",
"STRXXX":""
},
{
"name":"Russian (Pусский)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"BL4CKH47H4CK3R, Teraskull, thehugonote",
"Author":"BL4CKH47H4CK3R, Teraskull, thehugonote, wiz64, dmitrygribenchuk",
"STR_ERROR":"Ошибка",
"STR_WARNING":"Предупреждение",
@@ -994,8 +1123,12 @@
"STR_PART_RESIZE_SUCCESS":"Поздравляем!#@Неразрушающая установка Ventoy успешно завершена.",
"STR_PART_RESIZE_FAILED":"Не удалось выполнить неразрушающую установку, проверьте файл log.txt для получения подробной информации.",
"STR_PART_RESIZE_UNSUPPORTED":"Неразрушающая установка Ventoy остановлена, поскольку некоторые условия не могут быть выполнены. Проверьте файл log.txt для получения подробной информации.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_INSTALL_YES_TIP1":"Предупреждение: Данные будут потеряны!",
"STR_INSTALL_YES_TIP2":"Пожалуйста, введите YES в текстовое поле ниже, чтобы подтвердить, что вы действительно хотите выполнить новую установку вместо обновления.",
"STR_PART_VENTOY_FS":"Файловая система для Ventoy раздела",
"STR_PART_FS":"Файловая система",
"STR_PART_CLUSTER":"Размер кластера",
"STR_PART_CLUSTER_DEFAULT":"Системное значение по умолчанию",
"STRXXX":""
},
@@ -1003,7 +1136,7 @@
"name":"Bengali (বাংলা)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"BL4CKH47H4CK3R",
"Author":"BL4CKH47H4CK3R, wiz64",
"STR_ERROR":"ত্রুটি",
"STR_WARNING":"সতর্কতা",
@@ -1036,33 +1169,37 @@
"STR_CLEAR_FAILED":"ডিস্ক থেকে Ventoy সাফ করার সময় একটি ত্রুটি ঘটেছে। আপনি USB পুনরায় প্লাগ করতে পারেন এবং আবার চেষ্টা করতে পারেন। বিস্তারিত জানার জন্য log.txt পরীক্ষা করুন।",
"STR_MENU_PART_STYLE":"পার্টিশন স্টাইল",
"STR_DISK_2TB_MBR_ERROR":"2TB এর বেশি ডিস্কের জন্য দয়া করে GPT নির্বাচন করুন",
"STR_SHOW_ALL_DEV":"Show All Devices",
"STR_PART_ALIGN_4KB":"Align partitions with 4KB",
"STR_WEB_COMMUNICATION_ERR":"Communication error:",
"STR_WEB_REMOTE_ABNORMAL":"Communication error: remote abnormal",
"STR_WEB_REQUEST_TIMEOUT":"Communication error: Request timed out",
"STR_WEB_SERVICE_UNAVAILABLE":"Communication error: Service Unavailable",
"STR_WEB_TOKEN_MISMATCH":"Daemon status updated, please retry later.",
"STR_WEB_SERVICE_BUSY":"Service is busy, please retry later.",
"STR_MENU_VTSI_CREATE":"Generate VTSI File",
"STR_VTSI_CREATE_TIP":"This time will not write to the device, but only generate a VTSI file#@Continue?",
"STR_VTSI_CREATE_SUCCESS":"VTSI file created successfully!#@You can use Rufus(3.15+) to write it to the device so as to complete the installation of Ventoy.",
"STR_VTSI_CREATE_FAILED":"VTSI file created failed.",
"STR_MENU_PART_RESIZE":"Non-destructive Install",
"STR_PART_RESIZE_TIP":"Ventoy will try non-destructive installation if possible. #@Continue?",
"STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
"STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_SHOW_ALL_DEV":"সমস্ত ডিভাইস দেখান",
"STR_PART_ALIGN_4KB":"4KB দিয়ে পার্টিশন সারিবদ্ধ করুন",
"STR_WEB_COMMUNICATION_ERR":"যোগাযোগে ত্রুটি:",
"STR_WEB_REMOTE_ABNORMAL":"যোগাযোগ ত্রুটি: দূরবর্তী অস্বাভাবিক",
"STR_WEB_REQUEST_TIMEOUT":"যোগাযোগ ত্রুটি: অনুরোধের সময় শেষ হয়েছে৷",
"STR_WEB_SERVICE_UNAVAILABLE":"যোগাযোগ ত্রুটি: পরিষেবা অনুপলব্ধ৷",
"STR_WEB_TOKEN_MISMATCH":"ডেমন স্ট্যাটাস আপডেট হয়েছে, অনুগ্রহ করে পরে আবার চেষ্টা করুন।",
"STR_WEB_SERVICE_BUSY":"পরিষেবা ব্যস্ত, পরে আবার চেষ্টা করুন।",
"STR_MENU_VTSI_CREATE":"VTSI ফাইল তৈরি করুন",
"STR_VTSI_CREATE_TIP":"এই সময় ডিভাইসে লিখবেন না, তবে শুধুমাত্র একটি VTSI ফাইল তৈরি করবেন#@চালিয়ে যান?",
"STR_VTSI_CREATE_SUCCESS":"VTSI ফাইলটি সফলভাবে তৈরি হয়েছে!#@ আপনি Rufus(3.15+) ব্যবহার করে এটিকে ডিভাইসে লিখতে পারেন যাতে Ventoy-এর ইনস্টলেশন সম্পূর্ণ করা যায়।",
"STR_VTSI_CREATE_FAILED":"VTSI ফাইল তৈরি করা ব্যর্থ হয়েছে৷",
"STR_MENU_PART_RESIZE":"অ-ধ্বংসাত্মক ইনস্টল",
"STR_PART_RESIZE_TIP":"Ventoy সম্ভব হলে অ-ধ্বংসাত্মক ইনস্টলেশন চেষ্টা করবে। #@চালিয়ে যান?",
"STR_PART_RESIZE_SUCCESS":"অভিনন্দন!#@Ventoy অ-ধ্বংসাত্মক ইনস্টলেশন সফলভাবে শেষ হয়েছে।",
"STR_PART_RESIZE_FAILED":"অ-ধ্বংসাত্মক ইনস্টলেশন ব্যর্থ হয়েছে, বিস্তারিত জানার জন্য log.txt চেক করুন।",
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy অ-ধ্বংসাত্মক ইনস্টলেশন বন্ধ করা হয়েছে কারণ কিছু শর্ত পূরণ করা যাবে না। বিস্তারিত জানার জন্য log.txt দেখুন।",
"STR_INSTALL_YES_TIP1":"সতর্কতা: ডেটা হারিয়ে যাবে!",
"STR_INSTALL_YES_TIP2":"আপনি আপগ্রেড করার পরিবর্তে একটি নতুন ইনস্টল করতে চান তা নিশ্চিত করতে দয়া করে নীচের পাঠ্য বাক্সে Yes লিখুন৷।",
"STR_PART_VENTOY_FS":"Ventoy পার্টিশনের জন্য ফাইল সিস্টেম",
"STR_PART_FS":"ফাইল সিস্টেম",
"STR_PART_CLUSTER":"ক্লাস্টারের আকার",
"STR_PART_CLUSTER_DEFAULT":"সিস্টেমের ডিফল্ট মান",
"STRXXX":""
},
{
"name":"Hindi (हिन्दी)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"BL4CKH47H4CK3R",
"Author":"BL4CKH47H4CK3R, wiz64",
"STR_ERROR":"त्रुटि",
"STR_WARNING":"चेतावनी",
@@ -1095,26 +1232,30 @@
"STR_CLEAR_FAILED":"डिस्क से Ventoy को साफ़ करते समय एक त्रुटि हुई। आप USB को पुन: भर सकते हैं और पुनः प्रयास कर सकते हैं। विस्तार के लिए log.txt की जाँच करें।",
"STR_MENU_PART_STYLE":"विभाजन शैली",
"STR_DISK_2TB_MBR_ERROR":"कृपया 2TB से अधिक डिस्क के लिए GPT का चयन करें",
"STR_SHOW_ALL_DEV":"Show All Devices",
"STR_PART_ALIGN_4KB":"Align partitions with 4KB",
"STR_WEB_COMMUNICATION_ERR":"Communication error:",
"STR_WEB_REMOTE_ABNORMAL":"Communication error: remote abnormal",
"STR_WEB_REQUEST_TIMEOUT":"Communication error: Request timed out",
"STR_WEB_SERVICE_UNAVAILABLE":"Communication error: Service Unavailable",
"STR_WEB_TOKEN_MISMATCH":"Daemon status updated, please retry later.",
"STR_WEB_SERVICE_BUSY":"Service is busy, please retry later.",
"STR_MENU_VTSI_CREATE":"Generate VTSI File",
"STR_VTSI_CREATE_TIP":"This time will not write to the device, but only generate a VTSI file#@Continue?",
"STR_VTSI_CREATE_SUCCESS":"VTSI file created successfully!#@You can use Rufus(3.15+) to write it to the device so as to complete the installation of Ventoy.",
"STR_VTSI_CREATE_FAILED":"VTSI file created failed.",
"STR_MENU_PART_RESIZE":"Non-destructive Install",
"STR_PART_RESIZE_TIP":"Ventoy will try non-destructive installation if possible. #@Continue?",
"STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
"STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_SHOW_ALL_DEV":"सभी डिवाइस दिखाएं",
"STR_PART_ALIGN_4KB":"4KB के साथ partitions संरेखित करें",
"STR_WEB_COMMUNICATION_ERR":"संपर्क त्रुटि:",
"STR_WEB_REMOTE_ABNORMAL":"संचार त्रुटि: remote असामान्य",
"STR_WEB_REQUEST_TIMEOUT":"संचार त्रुटि: अनुरोध समयबाह्य (request timeout)",
"STR_WEB_SERVICE_UNAVAILABLE":"संचार त्रुटि: सेवा अनुपलब्ध",
"STR_WEB_TOKEN_MISMATCH":"Daemon की स्थिति अपडेट की गई, कृपया बाद में पुन: प्रयास करें।",
"STR_WEB_SERVICE_BUSY":"सेवा व्यस्त है, कृपया बाद में पुनः प्रयास करें।",
"STR_MENU_VTSI_CREATE":"VTSI File उत्पन्न करें",
"STR_VTSI_CREATE_TIP":"इस बार डिवाइस पर नहीं लिखा जाएगा, लेकिन केवल एक VTSI File उत्पन्न होगी#@जारी रखें?",
"STR_VTSI_CREATE_SUCCESS":"VTSI फ़ाइल सफलतापूर्वक बनाई गई!#@ आप इसे डिवाइस पर लिखने के लिए Rufus(3.15+) का उपयोग कर सकते हैं ताकि Ventoy की स्थापना को पूरा किया जा सके।",
"STR_VTSI_CREATE_FAILED":"बनाई गई VTSI file विफल रही।",
"STR_MENU_PART_RESIZE":"गैर-विनाशकारी इंस्टॉल",
"STR_PART_RESIZE_TIP":"यदि संभव हो तो Ventoy गैर-विनाशकारी स्थापना का प्रयास करेगा। #@जारी रखना?",
"STR_PART_RESIZE_SUCCESS":"बधाई हो!#@Ventoy गैर-विनाशकारी स्थापना सफलतापूर्वक समाप्त हो गई।",
"STR_PART_RESIZE_FAILED":"गैर-विनाशकारी स्थापना विफल, विवरण के लिए log.txt की जाँच करें।",
"STR_PART_RESIZE_UNSUPPORTED":"वेंटोय गैर-विनाशकारी स्थापना रोक दी गई, कुछ शर्तों को पूरा नहीं किया जा सकता है। विवरण के लिए log.txt की जाँच करें।",
"STR_INSTALL_YES_TIP1":"चेतावनी: डेटा खो जाएगा!",
"STR_INSTALL_YES_TIP2":"यह पुष्टि करने के लिए कि आप वास्तव में अपग्रेड के बजाय एक नया इंस्टॉल करना चाहते हैं, कृपया नीचे दिए टेक्स्ट बॉक्स में Yes दर्ज करें।",
"STR_PART_VENTOY_FS":"Ventoy विभाजन के लिए फाइल सिस्टम",
"STR_PART_FS":"फाइल सिस्टम",
"STR_PART_CLUSTER":"क्लस्टर साइज",
"STR_PART_CLUSTER_DEFAULT":"सिस्टम डिफ़ॉल्ट मान",
"STRXXX":""
},
{
@@ -1173,14 +1314,18 @@
"STR_PART_RESIZE_UNSUPPORTED":"De niet-destructieve installatie van Ventoy is gestopt omdat aan sommige voorwaarden niet kan worden voldaan. Controleer log.txt voor details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"Bestandssysteem voor Ventoy-partitie",
"STR_PART_FS":"Bestandssysteem",
"STR_PART_CLUSTER":"Clustergrootte",
"STR_PART_CLUSTER_DEFAULT":"Standaardwaarde systeem",
"STRXXX":""
},
{
"name":"Romanian (Română)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"DorinMol",
"Author":"DorinMol, cezarlacatus, wiz64",
"STR_ERROR":"Eroare",
"STR_WARNING":"Avertisment",
@@ -1208,31 +1353,35 @@
"STR_BTN_CANCEL":"Anulare",
"STR_PRESERVE_SPACE":"Păstrați puțin spațiu în partea de jos a discului",
"STR_SPACE_VAL_INVALID":"Valoare nevalidă pentru spațiul rezervat",
"STR_MENU_CLEAR":"Clear Ventoy",
"STR_CLEAR_SUCCESS":"Ventoy has been successfully removed from the device.",
"STR_CLEAR_FAILED":"An error occurred when clear Ventoy from disk. You can replug the USB and try again. Check log.txt for detail.",
"STR_MENU_PART_STYLE":"Partition Style",
"STR_DISK_2TB_MBR_ERROR":"Please select GPT for disk over 2TB",
"STR_SHOW_ALL_DEV":"Show All Devices",
"STR_PART_ALIGN_4KB":"Align partitions with 4KB",
"STR_WEB_COMMUNICATION_ERR":"Communication error:",
"STR_WEB_REMOTE_ABNORMAL":"Communication error: remote abnormal",
"STR_WEB_REQUEST_TIMEOUT":"Communication error: Request timed out",
"STR_WEB_SERVICE_UNAVAILABLE":"Communication error: Service Unavailable",
"STR_WEB_TOKEN_MISMATCH":"Daemon status updated, please retry later.",
"STR_WEB_SERVICE_BUSY":"Service is busy, please retry later.",
"STR_MENU_VTSI_CREATE":"Generate VTSI File",
"STR_VTSI_CREATE_TIP":"This time will not write to the device, but only generate a VTSI file#@Continue?",
"STR_VTSI_CREATE_SUCCESS":"VTSI file created successfully!#@You can use Rufus(3.15+) to write it to the device so as to complete the installation of Ventoy.",
"STR_VTSI_CREATE_FAILED":"VTSI file created failed.",
"STR_MENU_PART_RESIZE":"Non-destructive Install",
"STR_PART_RESIZE_TIP":"Ventoy will try non-destructive installation if possible. #@Continue?",
"STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
"STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_MENU_CLEAR":"Curata Ventoy",
"STR_CLEAR_SUCCESS":"Ventoy a fost eliminat cu succes de pe dispozitiv.",
"STR_CLEAR_FAILED":"A apărut o eroare la ștergerea Ventoy de pe disc. Puteți reconecta USB-ul și încerca din nou. Verificați log.txt pentru detalii.",
"STR_MENU_PART_STYLE":"Stil partiție",
"STR_DISK_2TB_MBR_ERROR":"Vă rugăm să selectați GPT pentru disc de peste 2 TB",
"STR_SHOW_ALL_DEV":"Afișați toate dispozitivele",
"STR_PART_ALIGN_4KB":"Aliniați partițiile cu 4KB",
"STR_WEB_COMMUNICATION_ERR":"Eroare de comunicare:",
"STR_WEB_REMOTE_ABNORMAL":"Eroare de comunicare: remote abnormal",
"STR_WEB_REQUEST_TIMEOUT":"Eroare de comunicare: Solicitarea a expirat",
"STR_WEB_SERVICE_UNAVAILABLE":"Eroare de comunicare: Serviciu indisponibil",
"STR_WEB_TOKEN_MISMATCH":"Starea demonului a fost actualizată, vă rugăm să reîncercați mai târziu.",
"STR_WEB_SERVICE_BUSY":"Serviciul este ocupat, vă rugăm să reîncercați mai târziu.",
"STR_MENU_VTSI_CREATE":"Generați fișierul VTSI",
"STR_VTSI_CREATE_TIP":"De data aceasta nu va scrie pe dispozitiv, ci va genera doar un fișier VTSI#@Continuați?",
"STR_VTSI_CREATE_SUCCESS":"Fișierul VTSI creat cu succes!#@Puteți folosi Rufus(3.15+) pentru a-l scrie pe dispozitiv, astfel încât să finalizați instalarea Ventoy.",
"STR_VTSI_CREATE_FAILED":"Fișierul VTSI creat a eșuat.",
"STR_MENU_PART_RESIZE":"Instalare nedistructivă",
"STR_PART_RESIZE_TIP":"Ventoy va încerca instalarea nedistructivă, dacă este posibil. #@Continuă?",
"STR_PART_RESIZE_SUCCESS":"Felicitări!#@Ventoy instalarea nedistructivă s-a încheiat cu succes.",
"STR_PART_RESIZE_FAILED":"Instalarea nedistructivă a eșuat. Verificați log.txt pentru detalii.",
"STR_PART_RESIZE_UNSUPPORTED":"Instalarea nedistructivă Ventoy a fost oprită deoarece unele condiții nu pot fi îndeplinite. Verificați log.txt pentru detalii.",
"STR_INSTALL_YES_TIP1":"Atenție: Datele se vor pierde!",
"STR_INSTALL_YES_TIP2":"Introduceți DA în caseta de text de mai jos pentru a confirma că într-adevăr doriți să faceți o nouă instalare în loc să faceți upgrade.",
"STR_PART_VENTOY_FS":"Sistem de fișiere pentru partiția Ventoy",
"STR_PART_FS":"Sistemul de fișiere",
"STR_PART_CLUSTER":"Dimensiunea clusterului",
"STR_PART_CLUSTER_DEFAULT":"Valoarea implicită a sistemului",
"STRXXX":""
},
{
@@ -1291,7 +1440,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoyを非破壊的に導入できませんでした。非破壊的導入にあたっての要件が満たされていません。詳細な記録はlog.txtにあります。",
"STR_INSTALL_YES_TIP1":"警告: データが消去されます",
"STR_INSTALL_YES_TIP2":"Ventoyを更新するのではなく新規に導入するということを確認するために下の入力欄に「YES」と入力してください。",
"STR_PART_VENTOY_FS":"Ventoy パーティションのファイル システム",
"STR_PART_FS":"ファイルシステム",
"STR_PART_CLUSTER":"クラスターサイズ",
"STR_PART_CLUSTER_DEFAULT":"システムのデフォルト値",
"STRXXX":""
},
{
@@ -1306,8 +1459,8 @@
"STR_INCORRECT_DIR":"Eseguilo nella cartella corretta",
"STR_INCORRECT_TREE_DIR":"Non eseguirlo qui.#@Scarica il pacchetto di installazione ed avvialo.",
"STR_DEVICE":"Dispositivo",
"STR_LOCAL_VER":"Versione locale di Ventoy",
"STR_DISK_VER":"Ventoy nel dispositivo",
"STR_LOCAL_VER":"Versione locale",
"STR_DISK_VER":"Versione nel dispositivo",
"STR_STATUS":"Stato - PRONTO",
"STR_INSTALL":"Installa",
"STR_UPDATE":"Aggiorna",
@@ -1326,7 +1479,7 @@
"STR_BTN_CANCEL":"Annulla",
"STR_PRESERVE_SPACE":"Riserva spazio nella parte finale del dispositivo",
"STR_SPACE_VAL_INVALID":"Quantità di spazio da riservare non valida",
"STR_MENU_CLEAR":"Rimuovi Ventoy",
"STR_MENU_CLEAR":"Rimuovi Ventoy dal dispositivo",
"STR_CLEAR_SUCCESS":"Rimozione di Ventoy dal dispositivo completata.",
"STR_CLEAR_FAILED":"Si è verificato un errore durante la rimozione di Ventoy dal dispositivo.#@Riconnetti il dispositivo e riprova.#@Per i dettagli controlla il file log.txt.",
"STR_MENU_PART_STYLE":"Stile tabella partizioni",
@@ -1350,7 +1503,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"L'installazione non distruttiva di Ventoy è stata interrotta perché alcune condizioni non possono essere soddisfatte.#@Per i dettagli controlla il file log.txt.",
"STR_INSTALL_YES_TIP1":"Attenzione: i dati verranno persi!",
"STR_INSTALL_YES_TIP2":"Digita YES nella casella di testo qui sotto per confermare che vuoi davvero eseguire un'installazione pulita anziché un aggiornamento.",
"STR_PART_VENTOY_FS":"File system per la partizione Ventoy",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Dimensione del grappolo",
"STR_PART_CLUSTER_DEFAULT":"Valore predefinito di sistema",
"STRXXX":""
},
{
@@ -1409,7 +1566,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -1468,7 +1629,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"A Ventoy rombolásmentes telepítése leállt, mert bizonyos feltételek nem teljesíthetők. A részleteket lásd a log.txt fájlban.",
"STR_INSTALL_YES_TIP1":"Figyelmeztetés: Az adatok elvesznek!",
"STR_INSTALL_YES_TIP2":"Írja a YES szót az alábbi szövegmezőbe, hogy megerősítse, valóban új telepítést szeretne végrehajtani a frissítés helyett.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -1527,7 +1692,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy 無損安裝已中止因為未滿足部分條件。詳細訊息請檢視 log.txt 檔案。",
"STR_INSTALL_YES_TIP1":"警告:資料將會遺失!",
"STR_INSTALL_YES_TIP2":"請在下方的文字輸入框輸入 YES 來證實您想要進行全新安裝取代升級。",
"STR_PART_VENTOY_FS":"Ventoy 分割區文件系統",
"STR_PART_FS":"文件系統",
"STR_PART_CLUSTER":"簇的大小",
"STR_PART_CLUSTER_DEFAULT":"系統默認值",
"STRXXX":""
},
{
@@ -1586,7 +1755,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -1645,7 +1818,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -1704,6 +1881,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -1763,6 +1944,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -1822,6 +2007,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Cài Ventoy theo cách cài đặt không phá hủy đã bị dừng lại vì chưa đúng điều kiện. Xem chi tiết ở tệp log.txt.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -1880,7 +2070,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -1939,6 +2133,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"Недеструктивната инсталација на Ventoy е запрена бидејќи некои услови не се исполнети. Проверете го log.txt за детали.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -1998,7 +2196,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -2057,6 +2259,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -2091,7 +2297,7 @@
"STR_BTN_OK":"OK",
"STR_BTN_CANCEL":"Batal",
"STR_PRESERVE_SPACE":"Menyisakan sejumlah ruang penyimpanan pada disk di bawah ini",
"STR_SPACE_VAL_INVALID":"Nilai penyisaan ruang tidak valid",
"STR_SPACE_VAL_INVALID":"Nilai sisa ruang tidak valid",
"STR_MENU_CLEAR":"Bersihkan Ventoy",
"STR_CLEAR_SUCCESS":"Ventoy telah berhasil dihapus pada perangkat ini.",
"STR_CLEAR_FAILED":"Terjadi kesalahan ketika penghapusan berlangsung. Anda perlu mencabut-pasang ulang USB dan coba lagi. Periksa berkas log.txt untuk detil.",
@@ -2107,7 +2313,7 @@
"STR_WEB_SERVICE_BUSY":"Layanan sedang sibuk, silakan coba lagi nanti.",
"STR_MENU_VTSI_CREATE":"Membuat berkas VTSI",
"STR_VTSI_CREATE_TIP":"Saat ini tidak akan menuliskan di perangkat, tetapi hanya membuat berkas VTSI #@Lanjutkan?",
"STR_VTSI_CREATE_SUCCESS":"Berkas VTSI berhasil dibuat#@Anda bisa menggunakan Rufus(3.15+) untuk menulisnya ke perangkat untuk menyelesaikan pemasangan Ventoy.",
"STR_VTSI_CREATE_SUCCESS":"Berkas VTSI berhasil dibuat#@Anda bisa menggunakan Rufus(3.15+) untuk menuliskannya ke perangkat untuk menyelesaikan pemasangan Ventoy.",
"STR_VTSI_CREATE_FAILED":"Berkas VTSI gagal dibuat.",
"STR_MENU_PART_RESIZE":"Pemasangan tanpa merusakkan",
"STR_PART_RESIZE_TIP":"Ventoy akan mencoba pemasangan tanpa merusakkan apabila memungkinkan. #@Lanjutkan?",
@@ -2116,7 +2322,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Pemasangan tanpa merusakkan Ventoy terhenti karena beberapa kondisi yang tidak mendukung. Periksa berkas log.txt untuk detil.",
"STR_INSTALL_YES_TIP1":"Peringatan: Data akan hilang!",
"STR_INSTALL_YES_TIP2":"Silakan ketik YES pada kotak tulis di bawah untuk meyakinkan bahwa anda memang untuk melakukan pemasangan baru ketimbang memperbaruinya",
"STR_PART_VENTOY_FS":"Berkas Sistem Untuk Partisi Ventoy",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -2175,14 +2385,18 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
"name":"Ukrainian (Українська)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"Teraskull, thehugonote",
"Author":"Teraskull, thehugonote, dmitrygribenchuk",
"STR_ERROR":"Помилка",
"STR_WARNING":"Попередження",
@@ -2232,9 +2446,13 @@
"STR_PART_RESIZE_SUCCESS":"Вітаємо!#@Неруйнівна установка Ventoy успішно завершена.",
"STR_PART_RESIZE_FAILED":"Збій неруйнівної установки, перевірте log.txt для отримання детальної інформації.",
"STR_PART_RESIZE_UNSUPPORTED":"Неруйнівна установка Ventoy зупинена через неможливість виконання деяких умов. Перевірте log.txt для отримання детальної інформації.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_INSTALL_YES_TIP1":"Попередження: дані будуть втрачені!",
"STR_INSTALL_YES_TIP2":"Будь ласка, введіть ТАК у текстове поле нижче, щоб підтвердити, що ви справді бажаєте виконати нове встановлення замість оновлення.",
"STR_PART_VENTOY_FS":"Файлова система для розділу Ventoy",
"STR_PART_FS":"Файлова система",
"STR_PART_CLUSTER":"Розмір кластера",
"STR_PART_CLUSTER_DEFAULT":"Системне значення за умовчанням",
"STRXXX":""
},
{
@@ -2282,18 +2500,22 @@
"STR_WEB_SERVICE_UNAVAILABLE":"Σφάλμα επικοινωνίας: υπηρεσία μη διαθέσιμη",
"STR_WEB_TOKEN_MISMATCH":"Η κατάσταση του δαίμονα επικαιροποιήθηκε. Παρακαλώ δοκιμάστε αργότερα.",
"STR_WEB_SERVICE_BUSY":"Η υπηρεσία είναι απασχολημένη. Παρακαλώ δοκιμάστε αργότερα.",
"STR_MENU_VTSI_CREATE":"Generate VTSI File",
"STR_VTSI_CREATE_TIP":"This time will not write to the device, but only generate a VTSI file#@Continue?",
"STR_VTSI_CREATE_SUCCESS":"VTSI file created successfully!#@You can use Rufus(3.15+) to write it to the device so as to complete the installation of Ventoy.",
"STR_VTSI_CREATE_FAILED":"VTSI file created failed.",
"STR_MENU_PART_RESIZE":"Non-destructive Install",
"STR_PART_RESIZE_TIP":"Ventoy will try non-destructive installation if possible. #@Continue?",
"STR_PART_RESIZE_SUCCESS":"Congratulations!#@Ventoy non-destructive installation successfully finished.",
"STR_PART_RESIZE_FAILED":"Non-destructive installation failed, Check log.txt for details.",
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_MENU_VTSI_CREATE":"Δημιουργία αρχείου VTSI",
"STR_VTSI_CREATE_TIP":"Αυτή τη φορά δεν θα γράψει στη συσκευή, αλλά θα δημιουργήσει μόνο ένα αρχείο VTSI#@Συνέχεια;",
"STR_VTSI_CREATE_SUCCESS":"Το αρχείο VTSI δημιουργήθηκε με επιτυχία!#@Μπορείτε να χρησιμοποιήσετε το Rufus(3.15+) για να το γράψετε στη συσκευή ώστε να ολοκληρώσετε την εγκατάσταση του Ventoy.",
"STR_VTSI_CREATE_FAILED":"Αποτυχία δημιουργίας αρχείου VTSI.",
"STR_MENU_PART_RESIZE":"Μη καταστροφική εγκατάσταση",
"STR_PART_RESIZE_TIP":"Το Ventoy θα δοκιμάσει μη καταστροφική εγκατάσταση, αν είναι δυνατόν. #@Συνέχεια;",
"STR_PART_RESIZE_SUCCESS":"Συγχαρητήρια!#@Η μη καταστροφική εγκατάσταση του Ventoy ολοκληρώθηκε με επιτυχία.",
"STR_PART_RESIZE_FAILED":"Η μη καταστροφική εγκατάσταση απέτυχε. Ελέγξτε το log.txt για λεπτομέρειες.",
"STR_PART_RESIZE_UNSUPPORTED":"Η μη καταστρεπτική εγκατάσταση του Ventoy σταμάτησε επειδή δεν μπορούν να τηρηθούν ορισμένες προϋποθέσεις. Ελέγξτε το log.txt για λεπτομέρειες.",
"STR_INSTALL_YES_TIP1":"Προειδοποίηση: Τα δεδομένα θα χαθούν!",
"STR_INSTALL_YES_TIP2":"Εισαγάγετε ΝΑΙ στο παρακάτω πλαίσιο κειμένου για να επιβεβαιώσετε ότι όντως θέλετε να κάνετε μια νέα εγκατάσταση αντί για αναβάθμιση.",
"STR_PART_VENTOY_FS":"Σύστημα αρχείων για το διαμέρισμα Ventoy",
"STR_PART_FS":"Σύστημα αρχείων",
"STR_PART_CLUSTER":"Μέγεθος συμπλέγματος",
"STR_PART_CLUSTER_DEFAULT":"Προεπιλεγμένη τιμή συστήματος",
"STRXXX":""
},
{
@@ -2352,7 +2574,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Icke-förstörande installation stoppades eftersom vissa villkor inte kunde uppfyllas. Mer information finns i log.txt.",
"STR_INSTALL_YES_TIP1":"Varning: Data kommer att gå förlorade!",
"STR_INSTALL_YES_TIP2":"Skriv YES i textrutan nedan för att bekräfta att du verkligen vill göra en nyinstallation i stället för att uppgradera.",
"STR_PART_VENTOY_FS":"Filsystem för Ventoy-partition",
"STR_PART_FS":"Filsystem",
"STR_PART_CLUSTER":"Klusterstorlek",
"STR_PART_CLUSTER_DEFAULT":"Systemets standardvärde",
"STRXXX":""
},
{
@@ -2411,7 +2637,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy je ustavil inštalacijo ker nekateri pogoji niso zadostni. Preveri log.txt a podrobnosti.",
"STR_INSTALL_YES_TIP1":"Pozor: Podatki bodo izbrisani!",
"STR_INSTALL_YES_TIP2":"Prosim vtipkajte YES v spodnje okno da potrdite čisto inštalacijo in ne zgolj nadgradnje.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -2470,6 +2700,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"Неразрушителното инсталиране на Ventoy е спряна, защото някои от условията не могат да бъдат изпълнени. Проверете log.txt за подробности.",
"STR_INSTALL_YES_TIP1":"Внимание: Ще има загуба на данни!",
"STR_INSTALL_YES_TIP2":"Въведете „YES“ в полето отдолу, за да потвърдите, че искате да извършите нова инсталация вместо обновяване.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -2529,7 +2763,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -2588,7 +2826,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoyn ei-tuhoisa asennus pysähtyi koska jotkut ehdot eivät täyttyneet. Tarkista log.txt nähdäksesi yksityiskohdat.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -2647,7 +2889,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"Instalación non destructiva do Ventoy interrompida porque non se poden cumprir algunhas condicións. Revisa o arquivo log.txt para mais detalles.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
{
@@ -2706,7 +2952,11 @@
"STR_PART_RESIZE_UNSUPPORTED":"La instal·lació no destructiva de Ventoy no ha estat possible perquè els requeriments no es compleixen. Comproveu el fitxer log.txt per a més detalls.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -2766,6 +3016,10 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.",
"STR_INSTALL_YES_TIP1":"Warning: Data will be lost!",
"STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STRXXX":""
},
@@ -2825,7 +3079,74 @@
"STR_PART_RESIZE_UNSUPPORTED":"சில நிபந்தனைகளை பூர்த்தி செய்ய முடியாததால், வென்டோய் அழிவில்லாத நிறுவல் நிறுத்தப்பட்டது. விவரங்களுக்கு log.txt ஐப் பார்க்கவும்.",
"STR_INSTALL_YES_TIP1":"எச்சரிக்கை: தரவு தொலைந்து போகும்!",
"STR_INSTALL_YES_TIP2":"மேம்படுத்துவதற்குப் பதிலாக புதிதாக நிறுவ விரும்புகிறீர்கள் என்பதை உறுதிப்படுத்த, கீழே உள்ள உரைப் பெட்டியில் ஆம் என உள்ளிடவும்.",
"STR_PART_VENTOY_FS":"வென்டோய் பகிர்வுக்கான கோப்பு முறைமை",
"STR_PART_FS":"கோப்பு முறைமை",
"STR_PART_CLUSTER":"கொத்து அளவு",
"STR_PART_CLUSTER_DEFAULT":"கணினி இயல்புநிலை மதிப்பு",
"STRXXX":""
},
{
"name":"Belarussian (Беларуская)",
"FontFamily":"Courier New",
"FontSize":16,
"Author": "dmitrygribenchuk",
"STR_ERROR":"Памылка",
"STR_WARNING":"Папярэджанне",
"STR_INFO":"Інфармацыя",
"STR_INCORRECT_DIR":"Калі ласка, запусціце ў іншым каталогу!",
"STR_INCORRECT_TREE_DIR":"Не запускайце мяне тут, калі ласка, загрузіце выпушчаны ўсталявальны пакет і запусціце яго ў іншым месцы.",
"STR_DEVICE":"Прылада",
"STR_LOCAL_VER":"Ventoy у пакеце",
"STR_DISK_VER":"Ventoy на прыладзе",
"STR_STATUS":"Статус - ГАТОВЫ",
"STR_INSTALL":"Усталяваць",
"STR_UPDATE":"Абнавіць",
"STR_UPDATE_TIP":"Абнаўленне бяспечна, ISO-файлы застануцца без змен. #@Працягнуць?",
"STR_INSTALL_TIP":"Дыск будзе адфарматаваны і ўсе дадзеныя будуць страчаныя. #@Працягнуць?",
"STR_INSTALL_TIP2":"Дыск будзе адфарматаваны і ўсе дадзеныя будуць страчаныя. #@ Вы сапраўды жадаеце працягнуць?",
"STR_INSTALL_SUCCESS":"Віншуем! # @ Ventoy быў паспяхова ўстаноўлены на прыладу.",
"STR_INSTALL_FAILED":"Падчас усталёўкі Ventoy адбылася памылка. Перападлучыце прыладу і паспрабуйце зноў. Праверце файл log.txt для атрымання падрабязнай інфармацыі.",
"STR_UPDATE_SUCCESS":"Віншуем! # @ Ventoy быў паспяхова абноўлены на прыладзе.",
"STR_UPDATE_FAILED":"Падчас абнаўлення Ventoy адбылася памылка. Перападлучыце прыладу і паспрабуйце зноў. Праверце файл log.txt для атрымання падрабязнай інфармацыі.",
"STR_WAIT_PROCESS":"Працэс запушчаны, калі ласка пачакайце...",
"STR_MENU_OPTION":"Параметры",
"STR_MENU_SECURE_BOOT":"Падтрымка Secure Boot",
"STR_MENU_PART_CFG":"Дадатковы раздзел",
"STR_BTN_OK":"ОК",
"STR_BTN_CANCEL":"Адмена",
"STR_PRESERVE_SPACE":"Стварыць дадатковы раздзел ў канцы дыска",
"STR_SPACE_VAL_INVALID":"Няправільнае значэнне памеру раздзела",
"STR_MENU_CLEAR":"Выдалiць Ventoy",
"STR_CLEAR_SUCCESS":"Ventoy быў паспяхова выдалены з прылады.",
"STR_CLEAR_FAILED":"Падчас выдалення Ventoy адбылася памылка. Перападлучыце прыладу і паспрабуйце зноў. Праверце файл log.txt для атрымання падрабязнай інфармацыі.",
"STR_MENU_PART_STYLE":"Стыль разметкі раздзелаў",
"STR_DISK_2TB_MBR_ERROR":"Калі ласка, абярыце GPT для дыскаў больш за 2ТБ",
"STR_SHOW_ALL_DEV":"Паказаць усе прылады",
"STR_PART_ALIGN_4KB":"Выраўнаваць раздзелы з памерам 4КБ",
"STR_WEB_COMMUNICATION_ERR":"Памылка сувязі:",
"STR_WEB_REMOTE_ABNORMAL":"Памылка сувязі: Выдаленае злучэнне несапраўдна",
"STR_WEB_REQUEST_TIMEOUT":"Памылка сувязі: Скончыўся час чакання запыту",
"STR_WEB_SERVICE_UNAVAILABLE":"Памылка сувязі: Служба недаступная",
"STR_WEB_TOKEN_MISMATCH":"Статус дэмана абноўлены. Паўтарыце спробу пазней.",
"STR_WEB_SERVICE_BUSY":"Служба занятая, паспрабуйце пазней.",
"STR_MENU_VTSI_CREATE":"Стварыць файл VTSI",
"STR_VTSI_CREATE_TIP":"На гэты раз Ventoy не будзе ўсталяваны на прыладу, а будзе толькі створаны файл VTSI#@Працягнуць?",
"STR_VTSI_CREATE_SUCCESS":"Файл VTSI створаны паспяхова! # @ Вы можаце выкарыстоўваць Rufus (3.15 +), каб запісаць яго на прыладу, для завяршэння ўстаноўкі Ventoy.",
"STR_VTSI_CREATE_FAILED":"Памылка стварэння файла VTSI.",
"STR_MENU_PART_RESIZE":"Неразбуральная ўстаноўка",
"STR_PART_RESIZE_TIP":"Ventoy паспрабуе неразбуральную ўстаноўку, калі гэта магчыма. #@Працягнуць?",
"STR_PART_RESIZE_SUCCESS":"Віншуем! # @ Неразбуральная ўстаноўка Ventoy паспяхова завершана.",
"STR_PART_RESIZE_FAILED":"Не атрымалася выканаць неразбуральную ўстаноўку, праверце файл log.txt для атрымання падрабязнай інфармацыі.",
"STR_PART_RESIZE_UNSUPPORTED":"Неразбуральная ўстаноўка Ventoy спынена, паколькі некаторыя ўмовы не могуць быць выкананы. Праверце файл log.txt для атрымання падрабязнай інфармацыі.",
"STR_INSTALL_YES_TIP1":"Папярэджанне: Дадзеныя будуць страчаныя!",
"STR_INSTALL_YES_TIP2":"Калі ласка, увядзіце YES у тэкставае поле ніжэй, каб пацвердзіць, што вы сапраўды хочаце выканаць новую ўстаноўку замест абнаўлення.",
"STR_PART_VENTOY_FS":"Файлавая сістэма для Ventoy раздзела",
"STR_PART_FS":"Файлавая сістэма",
"STR_PART_CLUSTER":"Памер кластара",
"STR_PART_CLUSTER_DEFAULT":"Сістэмнае значэнне па змаўчанні",
"STRXXX":""
}
]

View File

@@ -50,6 +50,7 @@ int ventoy_read_file_to_buf(const char *FileName, int ExtLen, void **Bufer, int
const char * ventoy_get_local_version(void);
int ventoy_fill_gpt(uint64_t size, uint64_t reserve, int align4k, VTOY_GPT_INFO *gpt);
int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, MBR_HEAD *pMBR);
int VentoyGetLocalBootImg(MBR_HEAD *pMBR);
#endif /* __VENTOY_UTIL_H__ */

View File

@@ -683,10 +683,45 @@ static int ventoy_write_gpt_part_table(int fd, uint64_t disksize, VTOY_GPT_INFO
return 0;
}
static int ventoy_mbr_need_update(ventoy_disk *disk, MBR_HEAD *mbr)
{
int update = 0;
int partition_style;
MBR_HEAD LocalMBR;
partition_style = disk->vtoydata.partition_style;
memcpy(mbr, &(disk->vtoydata.gptinfo.MBR), 512);
VentoyGetLocalBootImg(&LocalMBR);
memcpy(LocalMBR.BootCode + 0x180, mbr->BootCode + 0x180, 16);
if (partition_style)
{
LocalMBR.BootCode[92] = 0x22;
}
if (memcmp(LocalMBR.BootCode, mbr->BootCode, 440))
{
memcpy(mbr->BootCode, LocalMBR.BootCode, 440);
vlog("MBR boot code different, must update it.\n");
update = 1;
}
if (partition_style == 0 && mbr->PartTbl[0].Active == 0)
{
mbr->PartTbl[0].Active = 0x80;
mbr->PartTbl[1].Active = 0;
mbr->PartTbl[2].Active = 0;
mbr->PartTbl[3].Active = 0;
vlog("set MBR partition 1 active flag enabled\n");
update = 1;
}
return update;
}
static void * ventoy_update_thread(void *data)
{
int fd;
int updateMBR;
ssize_t len;
off_t offset;
MBR_HEAD MBR;
@@ -744,34 +779,17 @@ static void * ventoy_update_thread(void *data)
len = write(fd, disk->vtoydata.rsvdata, sizeof(disk->vtoydata.rsvdata));
vlog("Writing reserve data offset:%llu len:%llu ...\n", (_ull)offset, (_ull)len);
updateMBR = 0;
memcpy(&MBR, &(disk->vtoydata.gptinfo.MBR), 512);
if (disk->vtoydata.partition_style == 0 && MBR.PartTbl[0].Active == 0)
{
MBR.PartTbl[0].Active = 0x80;
MBR.PartTbl[1].Active = 0;
MBR.PartTbl[2].Active = 0;
MBR.PartTbl[3].Active = 0;
updateMBR = 1;
vlog("set MBR partition 1 active flag enabled\n");
}
if (MBR.BootCode[0x190] != 0x56 || MBR.BootCode[0x191] != 0x54)
{
vlog("set VT data %02x %02x\n", MBR.BootCode[0x190], MBR.BootCode[0x191]);
MBR.BootCode[0x190] = 0x56;
MBR.BootCode[0x191] = 0x54;
updateMBR = 1;
}
if (updateMBR)
if (ventoy_mbr_need_update(disk, &MBR))
{
offset = lseek(fd, 0, SEEK_SET);
len = write(fd, &MBR, 512);
vlog("update MBR offset:%llu len:%llu\n", (_ull)offset, (_ull)len);
}
else
{
vlog("No need to update MBR\n");
}
g_current_progress = PT_SYNC_DATA1;
vlog("fsync data1...\n");

View File

@@ -5,7 +5,6 @@ hsetroot -fill /usr/share/wallpapers/wallpaper.png
INIFILE=/ventoy/Ventoy2Disk.ini
echo "[Ventoy]" >> $INIFILE
echo "Language=Chinese Simplified (简体中文)" >> $INIFILE
echo "PartStyle=0" >> $INIFILE
echo "ShowAllDevice=0" >> $INIFILE

View File

@@ -8,14 +8,14 @@ build_func() {
libsuffix=$2
toolDir=$3
XXFLAG='-std=gnu99 -D_FILE_OFFSET_BITS=64'
XXFLAG='-std=gnu99 -D_FILE_OFFSET_BITS=64 -O2'
XXLIB=""
echo "CC=$1 libsuffix=$libsuffix toolDir=$toolDir"
echo "CC civetweb.o"
$1 $XXFLAG -c -Wall -Wextra -Wshadow -Wformat-security -Winit-self \
-Wmissing-prototypes -O2 -DLINUX \
-Wmissing-prototypes -DLINUX \
-I./src/Lib/libhttp/include \
-DNDEBUG -DNO_CGI -DNO_CACHING -DNO_SSL -DSQLITE_DISABLE_LFS -DSSL_ALREADY_INITIALIZED \
-DUSE_STACK_SIZE=102400 -DNDEBUG -fPIC \
@@ -23,7 +23,7 @@ build_func() {
-o ./civetweb.o
echo "CC plugson.o"
$1 $XXFLAG -O2 $exopt -Wall -Wno-unused-function -DSTATIC=static -DINIT= \
$1 $XXFLAG $exopt -Wall -Wno-unused-function -DSTATIC=static -DINIT= \
-I./src \
-I./src/Core \
-I./src/Web \
@@ -45,6 +45,7 @@ build_func() {
src/Core/ventoy_json.c \
src/Core/ventoy_log.c \
src/Core/ventoy_md5.c \
src/Core/ventoy_utf.c \
src/Core/ventoy_util.c \
src/Core/ventoy_util_linux.c \
src/Web/*.c \
@@ -71,7 +72,6 @@ build_func() {
}
build_func "gcc" '64' 'x86_64'
build_func "gcc -m32" '32' 'i386'
build_func "aarch64-linux-gnu-gcc" 'aa64' 'aarch64'
build_func "mips-linux-gnu-gcc -mips64r2 -mabi=64" 'm64e' 'mips64el'

View File

@@ -13,6 +13,11 @@ if [ ! -f ./vs/VentoyPlugson/Release/VentoyPlugson.exe ]; then
exit 1
fi
if [ ! -f ./vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe ]; then
echo "NO VentoyPlugson_X64.exe found"
exit 1
fi
if [ -f ./www.tar.xz ]; then
rm -f ./www.tar.xz
fi
@@ -21,6 +26,10 @@ fi
ls -1 ../INSTALL/grub/help/ | while read line; do
echo -n ${line:0:5} >> ./www/helplist
done
[ -f ./www/menulist ] && rm -f ./www/menulist
ls -1 ../INSTALL/grub/menu/ | while read line; do
echo -n ${line:0:5} >> ./www/menulist
done
echo -n "$plugson_verion" > ./www/buildtime
tar cf www.tar www
@@ -29,6 +38,10 @@ xz --check=crc32 www.tar
rm -f ../INSTALL/VentoyPlugson.exe
cp -a ./vs/VentoyPlugson/Release/VentoyPlugson.exe ../INSTALL/VentoyPlugson.exe
rm -f ../INSTALL/VentoyPlugson_X64.exe
cp -a ./vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe ../INSTALL/VentoyPlugson_X64.exe
rm -f ../INSTALL/tool/plugson.tar.xz
mv ./www.tar.xz ../INSTALL/tool/plugson.tar.xz

View File

@@ -311,12 +311,24 @@ uint64_t ventoy_get_disk_size_in_byte(const char *disk)
int ventoy_get_disk_vendor(const char *name, char *vendorbuf, int bufsize)
{
return ventoy_get_sys_file_line(vendorbuf, bufsize, "/sys/block/%s/device/vendor", name);
if (strncmp(name, "loop", 4) == 0)
{
scnprintf(vendorbuf, bufsize, "Local");
return 0;
}
return ventoy_get_sys_file_line(vendorbuf, bufsize, "/sys/block/%s/device/vendor", name);
}
int ventoy_get_disk_model(const char *name, char *modelbuf, int bufsize)
{
return ventoy_get_sys_file_line(modelbuf, bufsize, "/sys/block/%s/device/model", name);
if (strncmp(name, "loop", 4) == 0)
{
scnprintf(modelbuf, bufsize, "Loop Device");
return 0;
}
return ventoy_get_sys_file_line(modelbuf, bufsize, "/sys/block/%s/device/model", name);
}
static int fatlib_media_sector_read(uint32 sector, uint8 *buffer, uint32 sector_count)
@@ -576,9 +588,9 @@ int ventoy_get_disk_info(char **argv)
char model[128];
char *disk = argv[4];
if (strncmp(argv[4], "/dev/", 4) == 0)
if (strncmp(argv[4], "/dev/", 5) == 0)
{
disk += 4;
disk += 5;
}
ventoy_get_disk_vendor(disk, vendor, sizeof(vendor));
ventoy_get_disk_model(disk, model, sizeof(model));

View File

@@ -425,7 +425,7 @@ int vtoy_json_parse(VTOY_JSON *pstJson, const char *szJsonData)
char *pcNewBuf = NULL;
const char *pcEnd = NULL;
uiMemSize = strlen(szJsonData) + 1;
uiMemSize = (uint32_t)strlen(szJsonData) + 1;
pcNewBuf = (char *)malloc(uiMemSize);
if (NULL == pcNewBuf)
{

Some files were not shown because too many files have changed in this diff Show More