Commit 44a3e237 authored by longpanda's avatar longpanda
Browse files

Optimization for the implement of menu languages.

parent 9c3e1a68
/* echo.c - Command to display a line of text */
/*
* GRUB -- GRand Unified Bootloader
* Copyright (C) 2006,2007,2010 Free Software Foundation, Inc.
*
* GRUB is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GRUB is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
#include <grub/dl.h>
#include <grub/misc.h>
#include <grub/extcmd.h>
#include <grub/i18n.h>
#include <grub/term.h>
GRUB_MOD_LICENSE ("GPLv3+");
extern const char *ventoy_get_vmenu_title(const char *vMenu);
static const struct grub_arg_option options[] =
{
{0, 'n', 0, N_("Do not output the trailing newline."), 0, 0},
{0, 'e', 0, N_("Enable interpretation of backslash escapes."), 0, 0},
{0, 'v', 0, N_("ventoy menu language."), 0, 0},
{0, 'V', 0, N_("ventoy menu language with pre-newline."), 0, 0},
{0, 0, 0, 0, 0, 0}
};
static grub_err_t
grub_cmd_echo (grub_extcmd_context_t ctxt, int argc, char **args)
{
struct grub_arg_list *state = ctxt->state;
char ch;
int vtmenu = 0;
int newline = 1;
int i;
/* Check if `-n' was used. */
if (state[0].set)
newline = 0;
if (state[2].set || state[3].set)
vtmenu = 1;
for (i = 0; i < argc; i++)
{
char *arg = *args;
/* Unescaping results in a string no longer than the original. */
char *unescaped = grub_malloc (grub_strlen (arg) + 1);
char *p = unescaped;
args++;
if (!unescaped)
return grub_errno;
while (*arg)
{
/* In case `-e' is used, parse backslashes. */
if (*arg == '\\' && state[1].set)
{
arg++;
if (*arg == '\0')
break;
switch (*arg)
{
case '\\':
*p++ = '\\';
break;
case 'a':
*p++ = '\a';
break;
case 'c':
newline = 0;
break;
case 'f':
*p++ = '\f';
break;
case 'n':
*p++ = '\n';
break;
case 'r':
*p++ = '\r';
break;
case 't':
*p++ = '\t';
break;
case 'v':
*p++ = '\v';
break;
}
arg++;
continue;
}
/* This was not an escaped character, or escaping is not
enabled. */
*p++ = *arg;
arg++;
}
*p = '\0';
if (vtmenu && grub_strncmp(unescaped, "VTMENU_", 7) == 0)
{
p = unescaped;
while ((*p >= 'A' && *p <= 'Z') || *p == '_')
{
p++;
}
ch = *p;
*p = 0;
if (state[3].set)
{
grub_xputs("\n");
}
grub_xputs(ventoy_get_vmenu_title(unescaped));
*p = ch;
grub_xputs(p);
}
else
{
grub_xputs (unescaped);
}
grub_free (unescaped);
/* If another argument follows, insert a space. */
if ((0 == vtmenu) && (i != argc - 1))
grub_printf (" " );
}
if (newline)
grub_printf ("\n");
grub_refresh ();
return 0;
}
static grub_extcmd_t cmd;
GRUB_MOD_INIT(echo)
{
cmd = grub_register_extcmd ("echo", grub_cmd_echo,
GRUB_COMMAND_ACCEPT_DASH
| GRUB_COMMAND_OPTIONS_AT_START,
N_("[-e|-n] STRING"), N_("Display a line of text."),
options);
}
GRUB_MOD_FINI(echo)
{
grub_unregister_extcmd (cmd);
}
...@@ -25,10 +25,6 @@ ...@@ -25,10 +25,6 @@
#include <grub/i18n.h> #include <grub/i18n.h>
#include <grub/normal.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[] = static const struct grub_arg_option options[] =
{ {
{"class", 1, GRUB_ARG_OPTION_REPEATABLE, {"class", 1, GRUB_ARG_OPTION_REPEATABLE,
...@@ -90,8 +86,6 @@ grub_normal_add_menu_entry (int argc, const char **args, ...@@ -90,8 +86,6 @@ grub_normal_add_menu_entry (int argc, const char **args,
char *menu_title = NULL; char *menu_title = NULL;
char *menu_sourcecode = NULL; char *menu_sourcecode = NULL;
char *menu_id = NULL; char *menu_id = NULL;
const char *vmenu = NULL;
const char *vaddr = NULL;
struct grub_menu_entry_class *menu_classes = NULL; struct grub_menu_entry_class *menu_classes = NULL;
grub_menu_t menu; grub_menu_t menu;
...@@ -151,17 +145,7 @@ grub_normal_add_menu_entry (int argc, const char **args, ...@@ -151,17 +145,7 @@ grub_normal_add_menu_entry (int argc, const char **args,
goto fail; goto fail;
} }
if (!g_pfvmenu_title) { menu_title = grub_strdup (args[0]);
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) if (! menu_title)
goto fail; goto fail;
......
...@@ -232,6 +232,10 @@ label_set_property (void *vself, const char *name, const char *value) ...@@ -232,6 +232,10 @@ label_set_property (void *vself, const char *name, const char *value)
} }
else if (grub_strcmp (value, "@VTOY_HOTKEY_TIP@") == 0) { else if (grub_strcmp (value, "@VTOY_HOTKEY_TIP@") == 0) {
value = g_ventoy_hotkey_tip; value = g_ventoy_hotkey_tip;
} else if (value[0] == '@' && value[1] == '@' && value[2]) {
value = grub_env_get(value + 2);
if (!value)
value = " ";
} }
self->template = grub_strdup (value); self->template = grub_strdup (value);
......
/* env.c - Environment variables */
/*
* GRUB -- GRand Unified Bootloader
* Copyright (C) 2003,2005,2006,2007,2008,2009 Free Software Foundation, Inc.
*
* GRUB is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GRUB is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
#include <grub/env.h>
#include <grub/env_private.h>
#include <grub/misc.h>
#include <grub/mm.h>
/* The initial context. */
static struct grub_env_context initial_context;
/* The current context. */
struct grub_env_context *grub_current_context = &initial_context;
static grub_env_read_hook_t vtoy_menu_lang_read_hook;
/* Return the hash representation of the string S. */
static unsigned int
grub_env_hashval (const char *s)
{
unsigned int i = 0;
/* XXX: This can be done much more efficiently. */
while (*s)
i += 5 * *(s++);
return i % HASHSZ;
}
static struct grub_env_var *
grub_env_find (const char *name)
{
struct grub_env_var *var;
int idx = grub_env_hashval (name);
/* Look for the variable in the current context. */
for (var = grub_current_context->vars[idx]; var; var = var->next)
if (grub_strcmp (var->name, name) == 0)
return var;
return 0;
}
static void
grub_env_insert (struct grub_env_context *context,
struct grub_env_var *var)
{
int idx = grub_env_hashval (var->name);
/* Insert the variable into the hashtable. */
var->prevp = &context->vars[idx];
var->next = context->vars[idx];
if (var->next)
var->next->prevp = &(var->next);
context->vars[idx] = var;
}
static void
grub_env_remove (struct grub_env_var *var)
{
/* Remove the entry from the variable table. */
*var->prevp = var->next;
if (var->next)
var->next->prevp = var->prevp;
}
grub_err_t
grub_env_set (const char *name, const char *val)
{
struct grub_env_var *var;
/* If the variable does already exist, just update the variable. */
var = grub_env_find (name);
if (var)
{
char *old = var->value;
if (var->write_hook)
var->value = var->write_hook (var, val);
else
var->value = grub_strdup (val);
if (! var->value)
{
var->value = old;
return grub_errno;
}
grub_free (old);
return GRUB_ERR_NONE;
}
/* The variable does not exist, so create a new one. */
var = grub_zalloc (sizeof (*var));
if (! var)
return grub_errno;
var->name = grub_strdup (name);
if (! var->name)
goto fail;
var->value = grub_strdup (val);
if (! var->value)
goto fail;
grub_env_insert (grub_current_context, var);
return GRUB_ERR_NONE;
fail:
grub_free (var->name);
grub_free (var->value);
grub_free (var);
return grub_errno;
}
const char *
grub_env_get (const char *name)
{
struct grub_env_var *var;
if (name && vtoy_menu_lang_read_hook && grub_strncmp(name, "VTLANG_", 7) == 0)
return vtoy_menu_lang_read_hook(NULL, name);
var = grub_env_find (name);
if (! var)
return 0;
if (var->read_hook)
return var->read_hook (var, var->value);
return var->value;
}
void
grub_env_unset (const char *name)
{
struct grub_env_var *var;
var = grub_env_find (name);
if (! var)
return;
if (var->read_hook || var->write_hook)
{
grub_env_set (name, "");
return;
}
grub_env_remove (var);
grub_free (var->name);
grub_free (var->value);
grub_free (var);
}
struct grub_env_var *
grub_env_update_get_sorted (void)
{
struct grub_env_var *sorted_list = 0;
int i;
/* Add variables associated with this context into a sorted list. */
for (i = 0; i < HASHSZ; i++)
{
struct grub_env_var *var;
for (var = grub_current_context->vars[i]; var; var = var->next)
{
struct grub_env_var *p, **q;
for (q = &sorted_list, p = *q; p; q = &((*q)->sorted_next), p = *q)
{
if (grub_strcmp (p->name, var->name) > 0)
break;
}
var->sorted_next = *q;
*q = var;
}
}
return sorted_list;
}
grub_err_t
grub_register_variable_hook (const char *name,
grub_env_read_hook_t read_hook,
grub_env_write_hook_t write_hook)
{
struct grub_env_var *var = grub_env_find (name);
if (! var)
{
if (grub_env_set (name, "") != GRUB_ERR_NONE)
return grub_errno;
var = grub_env_find (name);
/* XXX Insert an assertion? */
}
var->read_hook = read_hook;
var->write_hook = write_hook;
return GRUB_ERR_NONE;
}
grub_err_t
grub_register_vtoy_menu_lang_hook(grub_env_read_hook_t read_hook)
{
vtoy_menu_lang_read_hook = read_hook;
return GRUB_ERR_NONE;
}
grub_err_t
grub_env_export (const char *name)
{
struct grub_env_var *var;
var = grub_env_find (name);
if (! var)
{
grub_err_t err;
err = grub_env_set (name, "");
if (err)
return err;
var = grub_env_find (name);
}
var->global = 1;
return GRUB_ERR_NONE;
}
...@@ -269,12 +269,14 @@ static int ventoy_hwinfo_init(void) ...@@ -269,12 +269,14 @@ static int ventoy_hwinfo_init(void)
grub_snprintf(str, sizeof(str), "%ld", (long)(total_mem / VTOY_SIZE_1MB)); grub_snprintf(str, sizeof(str), "%ld", (long)(total_mem / VTOY_SIZE_1MB));
ventoy_env_export("grub_total_ram", str); ventoy_env_export("grub_total_ram", str);
#ifdef GRUB_MACHINE_EFI #ifdef GRUB_MACHINE_EFI
ventoy_get_uefi_version(str, sizeof(str)); ventoy_get_uefi_version(str, sizeof(str));
ventoy_env_export("grub_uefi_version", str); ventoy_env_export("grub_uefi_version", str);
#else
ventoy_env_export("grub_uefi_version", "NA");
#endif #endif
return 0; return 0;
} }
......
...@@ -618,13 +618,13 @@ grub_err_t ventoy_cmd_browser_disk(grub_extcmd_context_t ctxt, int argc, char ** ...@@ -618,13 +618,13 @@ grub_err_t ventoy_cmd_browser_disk(grub_extcmd_context_t ctxt, int argc, char **
{ {
browser_ssprintf(&mbuf, "menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n " browser_ssprintf(&mbuf, "menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n}\n", "<--", " echo 'return ...' \n}\n", "<--",
ventoy_get_vmenu_title("VTMENU_BROWER_RETURN")); ventoy_get_vmenu_title("VTLANG_BROWER_RETURN"));
} }
else else
{ {
browser_ssprintf(&mbuf, "menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n " browser_ssprintf(&mbuf, "menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n}\n", " echo 'return ...' \n}\n",
ventoy_get_vmenu_title("VTMENU_BROWER_RETURN")); ventoy_get_vmenu_title("VTLANG_BROWER_RETURN"));
} }
grub_disk_dev_iterate(ventoy_browser_iterate_disk, &mbuf); grub_disk_dev_iterate(ventoy_browser_iterate_disk, &mbuf);
......
...@@ -148,6 +148,8 @@ static char g_iso_vd_id_application[130]; ...@@ -148,6 +148,8 @@ static char g_iso_vd_id_application[130];
static int g_pager_flag = 0; static int g_pager_flag = 0;
static char g_old_pager[32]; static char g_old_pager[32];
static char g_vtoy_gfxmode[64];
const char *g_menu_class[img_type_max] = const char *g_menu_class[img_type_max] =
{ {
"vtoyiso", "vtoywim", "vtoyefi", "vtoyimg", "vtoyvhd", "vtoyvtoy" "vtoyiso", "vtoywim", "vtoyefi", "vtoyimg", "vtoyvhd", "vtoyvtoy"
...@@ -2355,14 +2357,14 @@ static int ventoy_dynamic_tree_menu(img_iterator_node *node) ...@@ -2355,14 +2357,14 @@ static int ventoy_dynamic_tree_menu(img_iterator_node *node)
vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos, vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos,
"menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n " "menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n" " echo 'return ...' \n"
"}\n", "<--", ventoy_get_vmenu_title("VTMENU_RET_TO_LISTVIEW")); "}\n", "<--", ventoy_get_vmenu_title("VTLANG_RET_TO_LISTVIEW"));
} }
else else
{ {
vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos, vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos,
"menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n " "menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n" " echo 'return ...' \n"
"}\n", ventoy_get_vmenu_title("VTMENU_RET_TO_LISTVIEW")); "}\n", ventoy_get_vmenu_title("VTLANG_RET_TO_LISTVIEW"));
} }
} }
...@@ -2943,7 +2945,7 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char ...@@ -2943,7 +2945,7 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
vtoy_ssprintf(g_list_script_buf, g_list_script_pos, vtoy_ssprintf(g_list_script_buf, g_list_script_pos,
"menuentry \"%s [%s]\" --class=\"vtoyret\" VTOY_RET {\n " "menuentry \"%s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
" echo 'return ...' \n" " echo 'return ...' \n"
"}\n", "<--", ventoy_get_vmenu_title("VTMENU_RET_TO_TREEVIEW")); "}\n", "<--", ventoy_get_vmenu_title("VTLANG_RET_TO_TREEVIEW"));
} }
for (cur = g_ventoy_img_list; cur; cur = cur->next) for (cur = g_ventoy_img_list; cur; cur = cur->next)
...@@ -3712,14 +3714,14 @@ static grub_err_t ventoy_cmd_sel_auto_install(grub_extcmd_context_t ctxt, int ar ...@@ -3712,14 +3714,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, "set timeout=%d\n", node->timeout);
} }
vtoy_ssprintf(buf, pos, "menuentry \"@VTMENU_NO_AUTOINS_SCRIPT\" --class=\"sel_auto_install\" {\n" vtoy_ssprintf(buf, pos, "menuentry \"$VTLANG_NO_AUTOINS_SCRIPT\" --class=\"sel_auto_install\" {\n"
" echo %s\n}\n", ""); " echo %s\n}\n", "");
for (i = 0; i < node->templatenum; i++) for (i = 0; i < node->templatenum; i++)
{ {
vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_auto_install\" {\n" vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_auto_install\" {\n"
" echo \"\"\n}\n", " echo \"\"\n}\n",
ventoy_get_vmenu_title("VTMENU_AUTOINS_USE"), ventoy_get_vmenu_title("VTLANG_AUTOINS_USE"),
node->templatepath[i].path); node->templatepath[i].path);
} }
...@@ -3819,14 +3821,14 @@ static grub_err_t ventoy_cmd_sel_persistence(grub_extcmd_context_t ctxt, int arg ...@@ -3819,14 +3821,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, "set timeout=%d\n", node->timeout);
} }
vtoy_ssprintf(buf, pos, "menuentry \"@VTMENU_NO_PERSISTENCE\" --class=\"sel_persistence\" {\n" vtoy_ssprintf(buf, pos, "menuentry \"$VTLANG_NO_PERSISTENCE\" --class=\"sel_persistence\" {\n"
" echo %s\n}\n", ""); " echo %s\n}\n", "");
for (i = 0; i < node->backendnum; i++) for (i = 0; i < node->backendnum; i++)
{ {
vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_persistence\" {\n" vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_persistence\" {\n"
" echo \"\"\n}\n", " echo \"\"\n}\n",
ventoy_get_vmenu_title("VTMENU_PERSIST_USE"), ventoy_get_vmenu_title("VTLANG_PERSIST_USE"),
node->backendpath[i].path); node->backendpath[i].path);
} }
...@@ -6082,26 +6084,26 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int ...@@ -6082,26 +6084,26 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int
fsize = grub_strtoull(args[2], NULL, 10); fsize = grub_strtoull(args[2], NULL, 10);
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_NORMAL_MODE", "second_normal"); seldata[n++] = 1; vtoy_dummy_menuentry(cmd, pos, len, "$VTLANG_NORMAL_MODE", "second_normal"); seldata[n++] = 1;
if (grub_strcmp(args[1], "Unix") != 0) if (grub_strcmp(args[1], "Unix") != 0)
{ {
if (grub_strcmp(args[1], "Windows") == 0) if (grub_strcmp(args[1], "Windows") == 0)
{ {
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_WIMBOOT_MODE", "second_wimboot"); seldata[n++] = 2; vtoy_dummy_menuentry(cmd, pos, len, "$VTLANG_WIMBOOT_MODE", "second_wimboot"); seldata[n++] = 2;
} }
else else
{ {
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_GRUB2_MODE", "second_grub2"); seldata[n++] = 3; vtoy_dummy_menuentry(cmd, pos, len, "$VTLANG_GRUB2_MODE", "second_grub2"); seldata[n++] = 3;
} }
if (fsize <= VTOY_SIZE_1GB) if (fsize <= VTOY_SIZE_1GB)
{ {
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_MEMDISK_MODE", "second_memdisk"); seldata[n++] = 4; vtoy_dummy_menuentry(cmd, pos, len, "$VTLANG_MEMDISK_MODE", "second_memdisk"); seldata[n++] = 4;
} }
} }
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_FILE_CHKSUM", "second_checksum"); seldata[n++] = 5; vtoy_dummy_menuentry(cmd, pos, len, "$VTLANG_FILE_CHKSUM", "second_checksum"); seldata[n++] = 5;
do { do {
g_ventoy_menu_esc = 1; g_ventoy_menu_esc = 1;
...@@ -6202,6 +6204,29 @@ static grub_err_t ventoy_cmd_load_menu_lang(grub_extcmd_context_t ctxt, int argc ...@@ -6202,6 +6204,29 @@ static grub_err_t ventoy_cmd_load_menu_lang(grub_extcmd_context_t ctxt, int argc
VENTOY_CMD_RETURN(0); VENTOY_CMD_RETURN(0);
} }
static const char * ventoy_menu_lang_read_hook(struct grub_env_var *var, const char *val)
{
(void)var;
return ventoy_get_vmenu_title(val);
}
static const char * ventoy_gfxmode_read_hook(struct grub_env_var *var, const char *val)
{
(void)var;
(void)val;
return g_vtoy_gfxmode;
}
static char * ventoy_gfxmode_write_hook(struct grub_env_var *var, const char *val)
{
(void)var;
grub_strncpy(g_vtoy_gfxmode, val, sizeof(g_vtoy_gfxmode) - 1);
return grub_strdup(val);
}
int ventoy_env_init(void) int ventoy_env_init(void)
{ {
int i; int i;
...@@ -6209,6 +6234,9 @@ int ventoy_env_init(void) ...@@ -6209,6 +6234,9 @@ int ventoy_env_init(void)
grub_env_set("vtdebug_flag", ""); grub_env_set("vtdebug_flag", "");
grub_register_variable_hook("gfxmode", ventoy_gfxmode_read_hook, ventoy_gfxmode_write_hook);
grub_register_vtoy_menu_lang_hook(ventoy_menu_lang_read_hook);
g_part_list_buf = grub_malloc(VTOY_PART_BUF_LEN); g_part_list_buf = grub_malloc(VTOY_PART_BUF_LEN);
g_tree_script_buf = grub_malloc(VTOY_MAX_SCRIPT_BUF); g_tree_script_buf = grub_malloc(VTOY_MAX_SCRIPT_BUF);
g_list_script_buf = grub_malloc(VTOY_MAX_SCRIPT_BUF); g_list_script_buf = grub_malloc(VTOY_MAX_SCRIPT_BUF);
...@@ -6248,6 +6276,10 @@ int ventoy_env_init(void) ...@@ -6248,6 +6276,10 @@ int ventoy_env_init(void)
grub_env_set("VTOY_VMENU_FUNC_ADDR", buf); grub_env_set("VTOY_VMENU_FUNC_ADDR", buf);
grub_env_export("VTOY_VMENU_FUNC_ADDR"); grub_env_export("VTOY_VMENU_FUNC_ADDR");
grub_snprintf(buf, sizeof(buf), "%s-%s", GRUB_TARGET_CPU, GRUB_PLATFORM);
grub_env_set("grub_cpu_platform", buf);
grub_env_export("grub_cpu_platform");
return 0; return 0;
} }
...@@ -6417,6 +6449,7 @@ static cmd_para ventoy_cmds[] = ...@@ -6417,6 +6449,7 @@ static cmd_para ventoy_cmds[] =
{ "vt_load_menu_lang", ventoy_cmd_load_menu_lang, 0, NULL, "", "", NULL }, { "vt_load_menu_lang", ventoy_cmd_load_menu_lang, 0, NULL, "", "", NULL },
{ "vt_init_menu_lang", ventoy_cmd_init_menu_lang, 0, NULL, "", "", NULL }, { "vt_init_menu_lang", ventoy_cmd_init_menu_lang, 0, NULL, "", "", NULL },
{ "vt_cur_menu_lang", ventoy_cmd_cur_menu_lang, 0, NULL, "", "", NULL }, { "vt_cur_menu_lang", ventoy_cmd_cur_menu_lang, 0, NULL, "", "", NULL },
}; };
int ventoy_register_all_cmd(void) int ventoy_register_all_cmd(void)
......
...@@ -3371,7 +3371,7 @@ grub_err_t ventoy_cmd_select_theme_cfg(grub_extcmd_context_t ctxt, int argc, cha ...@@ -3371,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, pos += grub_snprintf(buf + pos, bufsize - pos,
"menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {\n" "menuentry \"$VTLANG_RETURN_PREVIOUS\" --class=vtoyret VTOY_RET {\n"
"echo 'Return ...'\n" "echo 'Return ...'\n"
"}\n"); "}\n");
...@@ -3521,11 +3521,11 @@ int ventoy_plugin_load_menu_lang(int init, const char *lang) ...@@ -3521,11 +3521,11 @@ int ventoy_plugin_load_menu_lang(int init, const char *lang)
if (g_default_menu_mode == 0) 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")); grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTLANG_STR_HOTKEY_TREE"));
} }
else else
{ {
grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTMENU_STR_HOTKEY_LIST")); grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTLANG_STR_HOTKEY_LIST"));
} }
if (init == 0) if (init == 0)
......
/*
* GRUB -- GRand Unified Bootloader
* Copyright (C) 2003,2005,2006,2007,2009 Free Software Foundation, Inc.
*
* GRUB is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GRUB is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef GRUB_ENV_HEADER
#define GRUB_ENV_HEADER 1
#include <grub/symbol.h>
#include <grub/err.h>
#include <grub/types.h>
#include <grub/menu.h>
struct grub_env_var;
typedef const char *(*grub_env_read_hook_t) (struct grub_env_var *var,
const char *val);
typedef char *(*grub_env_write_hook_t) (struct grub_env_var *var,
const char *val);
struct grub_env_var
{
char *name;
char *value;
grub_env_read_hook_t read_hook;
grub_env_write_hook_t write_hook;
struct grub_env_var *next;
struct grub_env_var **prevp;
struct grub_env_var *sorted_next;
int global;
};
grub_err_t EXPORT_FUNC(grub_env_set) (const char *name, const char *val);
const char *EXPORT_FUNC(grub_env_get) (const char *name);
void EXPORT_FUNC(grub_env_unset) (const char *name);
struct grub_env_var *EXPORT_FUNC(grub_env_update_get_sorted) (void);
#define FOR_SORTED_ENV(var) for (var = grub_env_update_get_sorted (); var; var = var->sorted_next)
grub_err_t EXPORT_FUNC(grub_register_variable_hook) (const char *name,
grub_env_read_hook_t read_hook,
grub_env_write_hook_t write_hook);
grub_err_t EXPORT_FUNC(grub_register_vtoy_menu_lang_hook) (grub_env_read_hook_t read_hook);
grub_err_t grub_env_context_open (void);
grub_err_t grub_env_context_close (void);
grub_err_t EXPORT_FUNC(grub_env_export) (const char *name);
void grub_env_unset_menu (void);
grub_menu_t grub_env_get_menu (void);
void grub_env_set_menu (grub_menu_t nmenu);
grub_err_t
grub_env_extractor_open (int source);
grub_err_t
grub_env_extractor_close (int source);
#endif /* ! GRUB_ENV_HEADER */
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then
set default=0 set default=0
menuentry "@VTMENU_CHKSUM_MD5_CALC_CHK" --class=checksum_md5 { menuentry "$VTLANG_CHKSUM_MD5_CALC_CHK" --class=checksum_md5 {
md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" vtReadChecksum vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" vtReadChecksum
...@@ -14,21 +14,21 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then ...@@ -14,21 +14,21 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then
echo "$vtReadChecksum" echo "$vtReadChecksum"
fi fi
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
else else
menuentry "@VTMENU_CHKSUM_MD5_CALC" --class=checksum_md5 { menuentry "$VTLANG_CHKSUM_MD5_CALC" --class=checksum_md5 {
md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
fi fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then
set default=1 set default=1
menuentry "@VTMENU_CHKSUM_SHA1_CALC_CHK" --class=checksum_sha1 { menuentry "$VTLANG_CHKSUM_SHA1_CALC_CHK" --class=checksum_sha1 {
sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" vtReadChecksum vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" vtReadChecksum
...@@ -41,14 +41,14 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then ...@@ -41,14 +41,14 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then
echo "$vtReadChecksum" echo "$vtReadChecksum"
fi fi
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
else else
menuentry "@VTMENU_CHKSUM_SHA1_CALC" --class=checksum_sha1 { menuentry "$VTLANG_CHKSUM_SHA1_CALC" --class=checksum_sha1 {
sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
fi fi
...@@ -57,7 +57,7 @@ fi ...@@ -57,7 +57,7 @@ fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then
set default=2 set default=2
menuentry "@VTMENU_CHKSUM_SHA256_CALC_CHK" --class=checksum_sha256 { menuentry "$VTLANG_CHKSUM_SHA256_CALC_CHK" --class=checksum_sha256 {
sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" vtReadChecksum vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" vtReadChecksum
...@@ -70,14 +70,14 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then ...@@ -70,14 +70,14 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then
echo "$vtReadChecksum" echo "$vtReadChecksum"
fi fi
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
else else
menuentry "@VTMENU_CHKSUM_SHA256_CALC" --class=checksum_sha256 { menuentry "$VTLANG_CHKSUM_SHA256_CALC" --class=checksum_sha256 {
sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
fi fi
...@@ -86,7 +86,7 @@ fi ...@@ -86,7 +86,7 @@ fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then
set default=3 set default=3
menuentry "@VTMENU_CHKSUM_SHA512_CALC_CHK" --class=checksum_sha512{ menuentry "$VTLANG_CHKSUM_SHA512_CALC_CHK" --class=checksum_sha512{
sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" vtReadChecksum vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" vtReadChecksum
...@@ -99,19 +99,19 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then ...@@ -99,19 +99,19 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then
echo "$vtReadChecksum" echo "$vtReadChecksum"
fi fi
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
else else
menuentry "@VTMENU_CHKSUM_SHA512_CALC" --class=checksum_sha512{ menuentry "$VTLANG_CHKSUM_SHA512_CALC" --class=checksum_sha512{
sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}" sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
fi fi
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET { menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo 'Return ...' echo 'Return ...'
} }
submenu "@VTMENU_MENU_LANG" --class=debug_menu_lang --class=F5tool { submenu "$VTLANG_MENU_LANG" --class=debug_menu_lang --class=F5tool {
source $prefix/menulang.cfg source $prefix/menulang.cfg
} }
source $prefix/power.cfg source $prefix/power.cfg
source $prefix/hwinfo.cfg source $prefix/hwinfo.cfg
source $prefix/keyboard.cfg source $prefix/keyboard.cfg
submenu "@VTMENU_RESOLUTION_CFG" --class=debug_resolution --class=F5tool { submenu "$VTLANG_RESOLUTION_CFG" --class=debug_resolution --class=F5tool {
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET { menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo 'Return ...' echo "Return ..."
} }
vt_update_cur_video_mode VT_CUR_MODE vt_update_cur_video_mode VT_CUR_MODE
...@@ -31,185 +31,185 @@ submenu "@VTMENU_RESOLUTION_CFG" --class=debug_resolution --class=F5tool { ...@@ -31,185 +31,185 @@ submenu "@VTMENU_RESOLUTION_CFG" --class=debug_resolution --class=F5tool {
done done
} }
submenu "@VTMENU_SCREEN_MODE" --class=debug_screen_mode --class=F5tool { submenu "$VTLANG_SCREEN_MODE" --class=debug_screen_mode --class=F5tool {
menuentry '@VTMENU_SCREEN_TEXT_MODE' --class=debug_text_mode --class=debug_screen_mode --class=F5tool { menuentry "$VTLANG_SCREEN_TEXT_MODE" --class=debug_text_mode --class=debug_screen_mode --class=F5tool {
terminal_output console terminal_output console
} }
menuentry '@VTMENU_SCREEN_GUI_MODE' --class=debug_gui_mode --class=debug_screen_mode --class=F5tool { menuentry "$VTLANG_SCREEN_GUI_MODE" --class=debug_gui_mode --class=debug_screen_mode --class=F5tool {
terminal_output gfxterm terminal_output gfxterm
} }
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET { menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo 'Return ...' echo "Return ..."
} }
} }
if [ -n "$VTOY_THEME_COUNT" -a $VTOY_THEME_COUNT -gt 1 ]; then if [ -n "$VTOY_THEME_COUNT" -a $VTOY_THEME_COUNT -gt 1 ]; then
submenu "@VTMENU_THEME_SELECT" --class=debug_theme_select --class=F5tool { submenu "$VTLANG_THEME_SELECT" --class=debug_theme_select --class=F5tool {
vt_select_theme_cfg vt_select_theme_cfg
} }
fi fi
if [ "$grub_platform" != "pc" ]; then if [ "$grub_platform" != "pc" ]; then
submenu 'Ventoy UEFI Utilities' --class=debug_util --class=F5tool { submenu "$VTLANG_UEFI_UTIL" --class=debug_util --class=F5tool {
menuentry '@VTMENU_UTIL_SHOW_EFI_DRV' --class=debug_util_efidrv --class=debug_util --class=F5tool { menuentry "$VTLANG_UTIL_SHOW_EFI_DRV" --class=debug_util_efidrv --class=debug_util --class=F5tool {
vt_push_pager vt_push_pager
chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=show_efi_drivers chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=show_efi_drivers
boot boot
vt_pop_pager vt_pop_pager
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
menuentry '@VTMENU_UTIL_FIX_BLINIT_FAIL' --class=debug_util_blinit --class=debug_util --class=F5tool { menuentry "$VTLANG_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 chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=fix_windows_mmap
boot boot
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET { menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo 'Return ...' echo "Return ..."
} }
} }
fi fi
submenu '@VTMENU_JSON_CHK_JSON' --class=debug_json --class=F5tool { submenu "$VTLANG_JSON_CHK_JSON" --class=debug_json --class=F5tool {
menuentry '@VTMENU_JSON_CHK_CONTROL' --class=debug_control --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_CONTROL" --class=debug_control --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path control $vtoy_iso_part vt_check_plugin_json $vt_plugin_path control $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_THEME' --class=debug_theme --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_THEME" --class=debug_theme --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path theme $vtoy_iso_part vt_check_plugin_json $vt_plugin_path theme $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_AUTOINS' --class=debug_autoinstall --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_AUTOINS" --class=debug_autoinstall --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_PERSIST' --class=debug_persistence --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_PERSIST" --class=debug_persistence --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path persistence $vtoy_iso_part vt_check_plugin_json $vt_plugin_path persistence $vtoy_iso_part
echo -e "\n############### dump persistence ###############" echo -e "\n############### dump persistence ###############"
vt_dump_persistence vt_dump_persistence
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_MENU_ALIAS' --class=debug_menualias --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_MENU_ALIAS" --class=debug_menualias --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path menu_alias $vtoy_iso_part vt_check_plugin_json $vt_plugin_path menu_alias $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_MENU_TIP' --class=debug_menutip --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_MENU_TIP" --class=debug_menutip --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path menu_tip $vtoy_iso_part vt_check_plugin_json $vt_plugin_path menu_tip $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_MENU_CLASS' --class=debug_menuclass --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_MENU_CLASS" --class=debug_menuclass --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path menu_class $vtoy_iso_part vt_check_plugin_json $vt_plugin_path menu_class $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_INJECTION' --class=debug_injection --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_INJECTION" --class=debug_injection --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path injection $vtoy_iso_part vt_check_plugin_json $vt_plugin_path injection $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_AUTO_MEMDISK' --class=debug_automemdisk --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_AUTO_MEMDISK" --class=debug_automemdisk --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path auto_memdisk $vtoy_iso_part vt_check_plugin_json $vt_plugin_path auto_memdisk $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_IMG_LIST' --class=debug_imagelist --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_IMG_LIST" --class=debug_imagelist --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path image_list $vtoy_iso_part vt_check_plugin_json $vt_plugin_path image_list $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_IMG_BLIST' --class=debug_imageblacklist --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_IMG_BLIST" --class=debug_imageblacklist --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path image_blacklist $vtoy_iso_part vt_check_plugin_json $vt_plugin_path image_blacklist $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_CONF_REPLACE' --class=debug_bootconf_replace --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_CONF_REPLACE" --class=debug_bootconf_replace --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path conf_replace $vtoy_iso_part vt_check_plugin_json $vt_plugin_path conf_replace $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_DUD' --class=debug_dud --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_DUD" --class=debug_dud --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path dud $vtoy_iso_part vt_check_plugin_json $vt_plugin_path dud $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_JSON_CHK_PASSWORD' --class=debug_pwd --class=debug_json --class=F5tool { menuentry "$VTLANG_JSON_CHK_PASSWORD" --class=debug_pwd --class=debug_json --class=F5tool {
set pager=1 set pager=1
vt_check_plugin_json $vt_plugin_path password $vtoy_iso_part vt_check_plugin_json $vt_plugin_path password $vtoy_iso_part
echo -Vn "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
unset pager unset pager
} }
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET { menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo 'Return ...' echo "Return ..."
} }
} }
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET { menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo 'Return ...' echo "Return ..."
} }
...@@ -91,7 +91,7 @@ function ventoy_ext_menu { ...@@ -91,7 +91,7 @@ function ventoy_ext_menu {
unset ventoy_new_context unset ventoy_new_context
else else
echo "ventoy_grub.cfg NOT exist." echo "ventoy_grub.cfg NOT exist."
echo -V "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
fi fi
} }
...@@ -1501,7 +1501,7 @@ function iso_common_menuentry { ...@@ -1501,7 +1501,7 @@ function iso_common_menuentry {
echo -e "\n $vt_volume_space $vt_chosen_size $vt_chosen_size_mod\n" echo -e "\n $vt_volume_space $vt_chosen_size $vt_chosen_size_mod\n"
echo -e "\n The size of the iso file \"$vt_chosen_size\" is invalid. File corrupted ?\n" echo -e "\n The size of the iso file \"$vt_chosen_size\" is invalid. File corrupted ?\n"
echo -e " 此ISO文件的大小 \"$vt_chosen_size\" 有问题,请确认文件是否损坏。\n" echo -e " 此ISO文件的大小 \"$vt_chosen_size\" 有问题,请确认文件是否损坏。\n"
echo -v "VTMENU_ENTER_CONTINUE ..." echo -en "\n$VTLANG_ENTER_CONTINUE ..."
read vtInputKey read vtInputKey
fi fi
fi fi
...@@ -1589,7 +1589,7 @@ function miso_common_menuentry { ...@@ -1589,7 +1589,7 @@ function miso_common_menuentry {
function common_unsupport_menuentry { function common_unsupport_menuentry {
echo -e "\n The name of the iso file could NOT contain space or non-ascii characters. \n" echo -e "\n The name of the iso file could NOT contain space or non-ascii characters. \n"
echo -e " 文件名中不能有中文或空格 \n" echo -e " 文件名中不能有中文或空格 \n"
echo -V "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
...@@ -1736,7 +1736,7 @@ function vhd_common_menuentry { ...@@ -1736,7 +1736,7 @@ function vhd_common_menuentry {
echo -e "!!! WARNING !!!\n" echo -e "!!! WARNING !!!\n"
echo -e "\nPartition1 ($vtoy_iso_fs) is NOT ntfs, the VHD(x) file may not boot normally \n" echo -e "\nPartition1 ($vtoy_iso_fs) is NOT ntfs, the VHD(x) file may not boot normally \n"
echo -e "\nVHD(x) 文件所在分区不是 ntfs 格式, 可能无法正常启动 \n\n" echo -e "\nVHD(x) 文件所在分区不是 ntfs 格式, 可能无法正常启动 \n\n"
echo -vn "VTMENU_ENTER_CONTINUE ..." echo -en "\n$VTLANG_ENTER_CONTINUE ..."
read vtInputKey read vtInputKey
fi fi
fi fi
...@@ -1845,7 +1845,7 @@ function vtoy_unsupport_menuentry { ...@@ -1845,7 +1845,7 @@ function vtoy_unsupport_menuentry {
function only_uefi_tip { function only_uefi_tip {
echo -e "\n This IMG file is only supported in UEFI mode. \n" echo -e "\n This IMG file is only supported in UEFI mode. \n"
echo -V "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
...@@ -2103,7 +2103,7 @@ function ventoy_img_openwrt { ...@@ -2103,7 +2103,7 @@ function ventoy_img_openwrt {
ventoy_gui_console ventoy_gui_console
echo -e "\n ventoy_openwrt.xz not found. Please refer https://www.ventoy.net/en/doc_openwrt.html.\n" echo -e "\n ventoy_openwrt.xz not found. Please refer https://www.ventoy.net/en/doc_openwrt.html.\n"
echo -e " 未找到 ventoy_openwrt.xz 文件。请参考 https://www.ventoy.net/cn/doc_openwrt.html\n" echo -e " 未找到 ventoy_openwrt.xz 文件。请参考 https://www.ventoy.net/cn/doc_openwrt.html\n"
echo -V "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
ventoy_cli_console ventoy_cli_console
return return
...@@ -2235,7 +2235,7 @@ function ventoy_img_memtest86 { ...@@ -2235,7 +2235,7 @@ function ventoy_img_memtest86 {
function img_unsupport_tip { function img_unsupport_tip {
echo -e "\n This IMG file is NOT supported now. \n" echo -e "\n This IMG file is NOT supported now. \n"
echo -e " 当前不支持启动此 IMG 文件 \n" echo -e " 当前不支持启动此 IMG 文件 \n"
echo -V "VTMENU_ENTER_EXIT ..." echo -en "\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
......
menuentry '@VTMENU_HWINFO' --class=debug_hwinfo --class=F5tool { menuentry "$VTLANG_HWINFO" --class=debug_hwinfo --class=F5tool {
smbios -t 4 -s 0x10 --set=cpu_brand smbios -t 4 -s 0x10 --set=cpu_brand
set system_vendor="-"; set system_vendor="-";
...@@ -56,6 +56,6 @@ menuentry '@VTMENU_HWINFO' --class=debug_hwinfo --class=F5tool { ...@@ -56,6 +56,6 @@ menuentry '@VTMENU_HWINFO' --class=debug_hwinfo --class=F5tool {
echo "BIOS ROM Size $bios_size" echo "BIOS ROM Size $bios_size"
echo -ven "\n\n\n" "VTMENU_ENTER_EXIT ..." echo -en "\n\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey read vtInputKey
} }
submenu "@VTMENU_KEYBRD_LAYOUT" --class=debug_krdlayout --class=F5tool { submenu "$VTLANG_KEYBRD_LAYOUT" --class=debug_krdlayout --class=F5tool {
menuentry QWERTY_USA --class=debug_kbd --class=debug_krdlayout --class=F5tool { menuentry QWERTY_USA --class=debug_kbd --class=debug_krdlayout --class=F5tool {
set_keyboard_layout QWERTY_USA set_keyboard_layout QWERTY_USA
} }
......
if [ "$grub_platform" = "pc" ]; then if [ "$grub_platform" = "pc" ]; then
menuentry '@VTMENU_LB_SBOOT_WINDOWS' --class=boot_windows --class=F4boot { menuentry "$VTLANG_LB_SBOOT_WINDOWS" --class=boot_windows --class=F4boot {
set partid=3 set partid=3
while [ $partid -le 128 ]; do while [ $partid -le 128 ]; do
...@@ -38,7 +38,7 @@ if [ "$grub_platform" = "pc" ]; then ...@@ -38,7 +38,7 @@ if [ "$grub_platform" = "pc" ]; then
fi fi
} }
menuentry '@VTMENU_LB_SBOOT_G4D' --class=boot_g4d --class=F4boot { menuentry "$VTLANG_LB_SBOOT_G4D" --class=boot_g4d --class=F4boot {
if search -n -s -f /grldr; then if search -n -s -f /grldr; then
ntldr /grldr ntldr /grldr
else else
...@@ -46,19 +46,19 @@ if [ "$grub_platform" = "pc" ]; then ...@@ -46,19 +46,19 @@ if [ "$grub_platform" = "pc" ]; then
fi fi
} }
menuentry '@VTMENU_LB_SBOOT_HDD1' --class=boot_disk --class=F4boot { menuentry "$VTLANG_LB_SBOOT_HDD1" --class=boot_disk --class=F4boot {
set root=(hd0,1) set root=(hd0,1)
chainloader +1 chainloader +1
boot boot
} }
menuentry '@VTMENU_LB_SBOOT_HDD2' --class=boot_disk --class=F4boot { menuentry "$VTLANG_LB_SBOOT_HDD2" --class=boot_disk --class=F4boot {
set root=(hd1,1) set root=(hd1,1)
chainloader +1 chainloader +1
boot boot
} }
menuentry '@VTMENU_LB_SBOOT_HDD3' --class=boot_disk --class=F4boot { menuentry "$VTLANG_LB_SBOOT_HDD3" --class=boot_disk --class=F4boot {
set root=(hd2,1) set root=(hd2,1)
chainloader +1 chainloader +1
boot boot
...@@ -66,7 +66,7 @@ if [ "$grub_platform" = "pc" ]; then ...@@ -66,7 +66,7 @@ if [ "$grub_platform" = "pc" ]; then
else else
menuentry '@VTMENU_LB_SBOOT_WINDOWS' --class=boot_windows --class=F4boot { menuentry "$VTLANG_LB_SBOOT_WINDOWS" --class=boot_windows --class=F4boot {
set partid=3 set partid=3
while [ $partid -le 128 ]; do while [ $partid -le 128 ]; do
...@@ -102,7 +102,7 @@ else ...@@ -102,7 +102,7 @@ else
} }
if [ "$grub_cpu" = "i386" ]; then if [ "$grub_cpu" = "i386" ]; then
menuentry '@VTMENU_LB_SBOOT_IA32EFI' --class=boot_uefi --class=F4boot { menuentry "$VTLANG_LB_SBOOT_IA32EFI" --class=boot_uefi --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1 set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/boot/bootia32.efi; then if search -n -s -f /efi/boot/bootia32.efi; then
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
...@@ -115,7 +115,7 @@ else ...@@ -115,7 +115,7 @@ else
fi fi
} }
menuentry '@VTMENU_LB_SBOOT_XORBOOT' --class=boot_xorboot --class=F4boot { menuentry "$VTLANG_LB_SBOOT_XORBOOT" --class=boot_xorboot --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1 set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/xorboot/xorboot32.xor; then if search -n -s -f /efi/xorboot/xorboot32.xor; then
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
...@@ -132,7 +132,7 @@ else ...@@ -132,7 +132,7 @@ else
fi fi
} }
elif [ "$grub_cpu" = "arm64" ]; then elif [ "$grub_cpu" = "arm64" ]; then
menuentry '@VTMENU_LB_SBOOT_AA64EFI' --class=boot_uefi --class=F4boot { menuentry "$VTLANG_LB_SBOOT_AA64EFI" --class=boot_uefi --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1 set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/boot/bootaa64.efi; then if search -n -s -f /efi/boot/bootaa64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
...@@ -145,7 +145,7 @@ else ...@@ -145,7 +145,7 @@ else
fi fi
} }
else else
menuentry '@VTMENU_LB_SBOOT_X64EFI' --class=boot_uefi --class=F4boot { menuentry "$VTLANG_LB_SBOOT_X64EFI" --class=boot_uefi --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1 set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/boot/bootx64.efi; then if search -n -s -f /efi/boot/bootx64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
...@@ -158,7 +158,7 @@ else ...@@ -158,7 +158,7 @@ else
fi fi
} }
menuentry '@VTMENU_LB_SBOOT_XORBOOT' --class=boot_xorboot --class=F4boot { menuentry "$VTLANG_LB_SBOOT_XORBOOT" --class=boot_xorboot --class=F4boot {
set VTOY_SEARCH_NO_VTOYEFI=1 set VTOY_SEARCH_NO_VTOYEFI=1
if search -n -s -f /efi/xorboot/xorboot.xor; then if search -n -s -f /efi/xorboot/xorboot.xor; then
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
...@@ -179,6 +179,6 @@ else ...@@ -179,6 +179,6 @@ else
fi fi
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET { menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo 'Return ...' echo "Return ..."
} }
{ {
"VTMENU_LANGUAGE_NAME": "Arabic (العربية)", "VTLANG_LANGUAGE_NAME": "Arabic (العربية)",
"VTMENU_STR_HOTKEY_LIST": "L: لغه F1: مساعدة F2: تصفح F3: عرض قائمه F4: اقلا محلي F5: أدوات F6: عوده", "VTLANG_STR_HOTKEY_LIST": "L: لغه F1: مساعدة F2: تصفح F3: عرض قائمه F4: اقلا محلي F5: أدوات F6: عوده",
"VTMENU_STR_HOTKEY_TREE": "L: لغه F1: مساعدة F2: تصفح F3: عرض تصنيف F4: اقلاع محلي F5: أدوات F6: عوده", "VTLANG_STR_HOTKEY_TREE": "L: لغه F1: مساعدة F2: تصفح F3: عرض تصنيف F4: اقلاع محلي F5: أدوات F6: عوده",
"VTMENU_RETURN_PREVIOUS": "عودة إلى القائمة السابقة [Esc]", "VTLANG_RETURN_PREVIOUS": "عودة إلى القائمة السابقة [Esc]",
"VTMENU_MENU_LANG": "اختيار اللغة في القائمة", "VTLANG_MENU_LANG": "اختيار اللغة في القائمة",
"VTMENU_LB_SBOOT_WINDOWS": "البحث والإقلاع على ويندوز", "VTLANG_LB_SBOOT_WINDOWS": "البحث والإقلاع على ويندوز",
"VTMENU_LB_SBOOT_G4D": "البحث والإقلاع على Grub4dos", "VTLANG_LB_SBOOT_G4D": "البحث والإقلاع على Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "الإقلاع على القرص المحلي الأول", "VTLANG_LB_SBOOT_HDD1": "الإقلاع على القرص المحلي الأول",
"VTMENU_LB_SBOOT_HDD2": "الإقلاع على القرص المحلي الثاني", "VTLANG_LB_SBOOT_HDD2": "الإقلاع على القرص المحلي الثاني",
"VTMENU_LB_SBOOT_HDD3": "الإقلاع على القرص المحلي الثالث", "VTLANG_LB_SBOOT_HDD3": "الإقلاع على القرص المحلي الثالث",
"VTMENU_LB_SBOOT_X64EFI": "البحث والإقلاع على BOOTX64.EFI", "VTLANG_LB_SBOOT_X64EFI": "البحث والإقلاع على BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "البحث والإقلاع على BOOTIA32.EFI", "VTLANG_LB_SBOOT_IA32EFI": "البحث والإقلاع على BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "البحث والإقلاع على BOOTAA64.EFI", "VTLANG_LB_SBOOT_AA64EFI": "البحث والإقلاع على BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "البحث والإقلاع على xorboot", "VTLANG_LB_SBOOT_XORBOOT": "البحث والإقلاع على xorboot",
"VTMENU_FILE_CHKSUM": "مجموعة التحقق من الملفات", "VTLANG_FILE_CHKSUM": "مجموعة التحقق من الملفات",
"VTMENU_CHKSUM_MD5_CALC": "حساب md5sum", "VTLANG_CHKSUM_MD5_CALC": "حساب md5sum",
"VTMENU_CHKSUM_SHA1_CALC": "حساب sha1sum", "VTLANG_CHKSUM_SHA1_CALC": "حساب sha1sum",
"VTMENU_CHKSUM_SHA256_CALC": "حساب sha256sum", "VTLANG_CHKSUM_SHA256_CALC": "حساب sha256sum",
"VTMENU_CHKSUM_SHA512_CALC": "حساب sha512sum", "VTLANG_CHKSUM_SHA512_CALC": "حساب sha512sum",
"VTMENU_CHKSUM_MD5_CALC_CHK": "حساب وتحقق md5sum", "VTLANG_CHKSUM_MD5_CALC_CHK": "حساب وتحقق md5sum",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "حساب وتحقق sha1sum", "VTLANG_CHKSUM_SHA1_CALC_CHK": "حساب وتحقق sha1sum",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "حساب وتحقق sha256sum", "VTLANG_CHKSUM_SHA256_CALC_CHK": "حساب وتحقق sha256sum",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "حساب وتحقق sha512sum", "VTLANG_CHKSUM_SHA512_CALC_CHK": "حساب وتحقق sha512sum",
"VTMENU_POWER": "الطاقة", "VTLANG_POWER": "الطاقة",
"VTMENU_POWER_REBOOT": "إعادة التشغيل", "VTLANG_POWER_REBOOT": "إعادة التشغيل",
"VTMENU_POWER_HALT": "إيقاف", "VTLANG_POWER_HALT": "إيقاف",
"VTMENU_POWER_BOOT_EFIFW": "إعادة التشغيل إلى إعداد EFI", "VTLANG_POWER_BOOT_EFIFW": "إعادة التشغيل إلى إعداد EFI",
"VTMENU_KEYBRD_LAYOUT": "تخطيطات لوحة المفاتيح", "VTLANG_KEYBRD_LAYOUT": "تخطيطات لوحة المفاتيح",
"VTMENU_HWINFO": "معلومات الأجهزة الأساسية", "VTLANG_HWINFO": "معلومات الأجهزة الأساسية",
"VTMENU_RESOLUTION_CFG": "تكوين الدقة", "VTLANG_RESOLUTION_CFG": "تكوين الدقة",
"VTMENU_SCREEN_MODE": "وضع عرض الشاشة", "VTLANG_SCREEN_MODE": "وضع عرض الشاشة",
"VTMENU_SCREEN_TEXT_MODE": "القيام بتحديد وضع النص", "VTLANG_SCREEN_TEXT_MODE": "القيام بتحديد وضع النص",
"VTMENU_SCREEN_GUI_MODE": "القيام بتحديد وضع الرسومات", "VTLANG_SCREEN_GUI_MODE": "القيام بتحديد وضع الرسومات",
"VTMENU_THEME_SELECT": "اختيار الموضوع", "VTLANG_THEME_SELECT": "اختيار الموضوع",
"VTMENU_UTIL_SHOW_EFI_DRV": "عرض برامج تشغيل EFI", "VTLANG_UEFI_UTIL": "Ventoy UEFI Utilities",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "إصلاح فشل تهيئة Windows BlinitializeLibrary", "VTLANG_UTIL_SHOW_EFI_DRV": "عرض برامج تشغيل EFI",
"VTMENU_JSON_CHK_JSON": "التحقق من تكوين json للبرنامج الإضافي (ventoy.json)", "VTLANG_UTIL_FIX_BLINIT_FAIL": "إصلاح فشل تهيئة Windows BlinitializeLibrary",
"VTMENU_JSON_CHK_CONTROL": "التحقق من تكوين برنامج الإضافي العام للتحكم", "VTLANG_JSON_CHK_JSON": "التحقق من تكوين json للبرنامج الإضافي (ventoy.json)",
"VTMENU_JSON_CHK_THEME": "التحقق من تكوين برنامج الإضافي الخاص بالموضوع", "VTLANG_JSON_CHK_CONTROL": "التحقق من تكوين برنامج الإضافي العام للتحكم",
"VTMENU_JSON_CHK_AUTOINS": "التحقق من تكوين برنامج الإضافي للتثبيت التلقائي", "VTLANG_JSON_CHK_THEME": "التحقق من تكوين برنامج الإضافي الخاص بالموضوع",
"VTMENU_JSON_CHK_PERSIST": "التحقق من تكوين برنامج الإضافي المستمر", "VTLANG_JSON_CHK_AUTOINS": "التحقق من تكوين برنامج الإضافي للتثبيت التلقائي",
"VTMENU_JSON_CHK_MENU_ALIAS": "التحقق من تكوين برنامج الإضافي الخاص بالقائمة المستعارة", "VTLANG_JSON_CHK_PERSIST": "التحقق من تكوين برنامج الإضافي المستمر",
"VTMENU_JSON_CHK_MENU_TIP": "التحقق من تكوين برنامج الإضافي الخاص بتلميح القائمة", "VTLANG_JSON_CHK_MENU_ALIAS": "التحقق من تكوين برنامج الإضافي الخاص بالقائمة المستعارة",
"VTMENU_JSON_CHK_MENU_CLASS": "التحقق من تكوين برنامج الإضافي الخاص بفئة القائمة", "VTLANG_JSON_CHK_MENU_TIP": "التحقق من تكوين برنامج الإضافي الخاص بتلميح القائمة",
"VTMENU_JSON_CHK_INJECTION": "التحقق من تكوين برنامج الإضافي الخاص بالتدخل", "VTLANG_JSON_CHK_MENU_CLASS": "التحقق من تكوين برنامج الإضافي الخاص بفئة القائمة",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "التحقق من تكوين برنامج الإضافي الخاص بالتثبيت التلقائي لـ memdisk", "VTLANG_JSON_CHK_INJECTION": "التحقق من تكوين برنامج الإضافي الخاص بالتدخل",
"VTMENU_JSON_CHK_IMG_LIST": "التحقق من تكوين برنامج الإضافي الخاص بقائمة الصور", "VTLANG_JSON_CHK_AUTO_MEMDISK": "التحقق من تكوين برنامج الإضافي الخاص بالتثبيت التلقائي لـ memdisk",
"VTMENU_JSON_CHK_IMG_BLIST": "التحقق من تكوين برنامج الإضافي الخاص بقائمة سوداء للصور", "VTLANG_JSON_CHK_IMG_LIST": "التحقق من تكوين برنامج الإضافي الخاص بقائمة الصور",
"VTMENU_JSON_CHK_CONF_REPLACE": "التحقق من تكوين برنامج الإضافي الخاص باستبدال ملف التكوين للإقلاع", "VTLANG_JSON_CHK_IMG_BLIST": "التحقق من تكوين برنامج الإضافي الخاص بقائمة سوداء للصور",
"VTMENU_JSON_CHK_DUD": "التحقق من تكوين برنامج الإضافي الخاص بـ dud", "VTLANG_JSON_CHK_CONF_REPLACE": "التحقق من تكوين برنامج الإضافي الخاص باستبدال ملف التكوين للإقلاع",
"VTMENU_JSON_CHK_PASSWORD": "التحقق من تكوين برنامج الإضافي الخاص بكلمة المرور", "VTLANG_JSON_CHK_DUD": "التحقق من تكوين برنامج الإضافي الخاص بـ dud",
"VTMENU_NORMAL_MODE": "الإقلاع في الوضع العادي", "VTLANG_JSON_CHK_PASSWORD": "التحقق من تكوين برنامج الإضافي الخاص بكلمة المرور",
"VTMENU_WIMBOOT_MODE": "الإقلاع في وضع wimboot", "VTLANG_NORMAL_MODE": "الإقلاع في الوضع العادي",
"VTMENU_GRUB2_MODE": "الإقلاع في وضع grub2", "VTLANG_WIMBOOT_MODE": "الإقلاع في وضع wimboot",
"VTMENU_MEMDISK_MODE": "الإقلاع في وضع memdisk", "VTLANG_GRUB2_MODE": "الإقلاع في وضع grub2",
"VTMENU_RET_TO_LISTVIEW": "العودة إلى ListView", "VTLANG_MEMDISK_MODE": "الإقلاع في وضع memdisk",
"VTMENU_RET_TO_TREEVIEW": "العودة إلى TreeView", "VTLANG_RET_TO_LISTVIEW": "العودة إلى ListView",
"VTMENU_NO_AUTOINS_SCRIPT": "الإقلاع بدون قالب التثبيت التلقائي", "VTLANG_RET_TO_TREEVIEW": "العودة إلى TreeView",
"VTMENU_AUTOINS_USE": "الإقلاع مع", "VTLANG_NO_AUTOINS_SCRIPT": "الإقلاع بدون قالب التثبيت التلقائي",
"VTMENU_NO_PERSIST": "الإقلاع بدون الاستمرارية", "VTLANG_AUTOINS_USE": "الإقلاع مع",
"VTMENU_PERSIST_USE": "الإقلاع مع", "VTLANG_NO_PERSIST": "الإقلاع بدون الاستمرارية",
"VTMENU_BROWER_RETURN": "العودة", "VTLANG_PERSIST_USE": "الإقلاع مع",
"VTLANG_BROWER_RETURN": "العودة",
"VTMENU_ENTER_EXIT": "اضغط على مفتاح Enter للخروج", "VTLANG_ENTER_EXIT": "اضغط على مفتاح Enter للخروج",
"VTMENU_ENTER_REBOOT": "اضغط على مفتاح Enter لإعادة التشغيل", "VTLANG_ENTER_REBOOT": "اضغط على مفتاح Enter لإعادة التشغيل",
"VTMENU_ENTER_CONTINUE": "اضغط على مفتاح Enter للمتابعة", "VTLANG_ENTER_CONTINUE": "اضغط على مفتاح Enter للمتابعة",
"MENU_STR_XXX": "" "MENU_STR_XXX": ""
} }
{ {
"VTMENU_LANGUAGE_NAME": "Bengali (বাংলা)", "VTLANG_LANGUAGE_NAME": "Bengali (বাংলা)",
"VTMENU_STR_HOTKEY_LIST": "L:ভাষা F1:সাহায্য F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu", "VTLANG_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", "VTLANG_STR_HOTKEY_TREE": "L:ভাষা F1:সাহায্য F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "পূর্ববর্তী মেনুতে ফিরে যান [Esc]", "VTLANG_RETURN_PREVIOUS": "পূর্ববর্তী মেনুতে ফিরে যান [Esc]",
"VTMENU_MENU_LANG": "মেনু ভাষা নির্বাচন করুন", "VTLANG_MENU_LANG": "মেনু ভাষা নির্বাচন করুন",
"VTMENU_LB_SBOOT_WINDOWS": "Windows অনুসন্ধান করুন এবং বুট করুন", "VTLANG_LB_SBOOT_WINDOWS": "Windows অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_G4D": "Grub4dos অনুসন্ধান করুন এবং বুট করুন", "VTLANG_LB_SBOOT_G4D": "Grub4dos অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_HDD1": "১ম(1st) স্থানীয় ডিস্ক বুট করুন", "VTLANG_LB_SBOOT_HDD1": "১ম(1st) স্থানীয় ডিস্ক বুট করুন",
"VTMENU_LB_SBOOT_HDD2": "২য়(2nd) স্থানীয় ডিস্ক বুট করুন", "VTLANG_LB_SBOOT_HDD2": "২য়(2nd) স্থানীয় ডিস্ক বুট করুন",
"VTMENU_LB_SBOOT_HDD3": "3য়(3rd) স্থানীয় ডিস্ক বুট করুন", "VTLANG_LB_SBOOT_HDD3": "3য়(3rd) স্থানীয় ডিস্ক বুট করুন",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI অনুসন্ধান করুন এবং বুট করুন", "VTLANG_LB_SBOOT_X64EFI": "BOOTX64.EFI অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI অনুসন্ধান করুন এবং বুট করুন", "VTLANG_LB_SBOOT_IA32EFI": "BOOTIA32.EFI অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI অনুসন্ধান করুন এবং বুট করুন", "VTLANG_LB_SBOOT_AA64EFI": "BOOTAA64.EFI অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_LB_SBOOT_XORBOOT": "xorboot অনুসন্ধান করুন এবং বুট করুন", "VTLANG_LB_SBOOT_XORBOOT": "xorboot অনুসন্ধান করুন এবং বুট করুন",
"VTMENU_FILE_CHKSUM": "ফাইল চেকসাম", "VTLANG_FILE_CHKSUM": "ফাইল চেকসাম",
"VTMENU_CHKSUM_MD5_CALC": "md5sum গণনা করুন", "VTLANG_CHKSUM_MD5_CALC": "md5sum গণনা করুন",
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum গণনা করুন", "VTLANG_CHKSUM_SHA1_CALC": "sha1sum গণনা করুন",
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum গণনা করুন", "VTLANG_CHKSUM_SHA256_CALC": "sha256sum গণনা করুন",
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum গণনা করুন", "VTLANG_CHKSUM_SHA512_CALC": "sha512sum গণনা করুন",
"VTMENU_CHKSUM_MD5_CALC_CHK": "গণনা করুন এবং md5sum চেক করুন", "VTLANG_CHKSUM_MD5_CALC_CHK": "গণনা করুন এবং md5sum চেক করুন",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "গণনা করুন এবং sha1sum চেক করুন", "VTLANG_CHKSUM_SHA1_CALC_CHK": "গণনা করুন এবং sha1sum চেক করুন",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "গণনা করুন এবং sha256sum চেক করুন", "VTLANG_CHKSUM_SHA256_CALC_CHK": "গণনা করুন এবং sha256sum চেক করুন",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "গণনা করুন এবং sha512sum চেক করুন", "VTLANG_CHKSUM_SHA512_CALC_CHK": "গণনা করুন এবং sha512sum চেক করুন",
"VTMENU_POWER": "পাওয়ার", "VTLANG_POWER": "পাওয়ার",
"VTMENU_POWER_REBOOT": "রিবুট", "VTLANG_POWER_REBOOT": "রিবুট",
"VTMENU_POWER_HALT": "হল্ট", "VTLANG_POWER_HALT": "হল্ট",
"VTMENU_POWER_BOOT_EFIFW": "EFI সেটআপে রিবুট করুন", "VTLANG_POWER_BOOT_EFIFW": "EFI সেটআপে রিবুট করুন",
"VTMENU_KEYBRD_LAYOUT": "কীবোর্ড লেআউট", "VTLANG_KEYBRD_LAYOUT": "কীবোর্ড লেআউট",
"VTMENU_HWINFO": "হার্ডওয়্যার তথ্য", "VTLANG_HWINFO": "হার্ডওয়্যার তথ্য",
"VTMENU_RESOLUTION_CFG": "রেজোলিউশন কনফিগারেশন", "VTLANG_RESOLUTION_CFG": "রেজোলিউশন কনফিগারেশন",
"VTMENU_SCREEN_MODE": "Screen Display মোড", "VTLANG_SCREEN_MODE": "Screen Display মোড",
"VTMENU_SCREEN_TEXT_MODE": "Force Text মোড", "VTLANG_SCREEN_TEXT_MODE": "Force Text মোড",
"VTMENU_SCREEN_GUI_MODE": "Force Graphics মোড", "VTLANG_SCREEN_GUI_MODE": "Force Graphics মোড",
"VTMENU_THEME_SELECT": "থিম নির্বাচন করুন", "VTLANG_THEME_SELECT": "থিম নির্বাচন করুন",
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI ড্রাইভার দেখান", "VTLANG_UEFI_UTIL": "Ventoy UEFI Utilities",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary ব্যর্থতার সমাধান করুন", "VTLANG_UTIL_SHOW_EFI_DRV": "EFI ড্রাইভার দেখান",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary ব্যর্থতার সমাধান করুন",
"VTMENU_JSON_CHK_JSON": "প্লাগইন json কনফিগারেশন পরীক্ষা করুন (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "গ্লোবাল কন্ট্রোল প্লাগইন কনফিগারেশন চেক করুন", "VTLANG_JSON_CHK_JSON": "প্লাগইন json কনফিগারেশন পরীক্ষা করুন (ventoy.json)",
"VTMENU_JSON_CHK_THEME": "থিম প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_CONTROL": "গ্লোবাল কন্ট্রোল প্লাগইন কনফিগারেশন চেক করুন",
"VTMENU_JSON_CHK_AUTOINS": "অটো ইন্সটল প্লাগইন কনফিগারেশন চেক করুন", "VTLANG_JSON_CHK_THEME": "থিম প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_PERSIST": "persistence প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_AUTOINS": "অটো ইন্সটল প্লাগইন কনফিগারেশন চেক করুন",
"VTMENU_JSON_CHK_MENU_ALIAS": "menu alias প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_PERSIST": "persistence প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_MENU_TIP": "menu tip প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_MENU_ALIAS": "menu alias প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_MENU_CLASS": "menu class প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_MENU_TIP": "menu tip প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_INJECTION": "injection প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_MENU_CLASS": "menu class প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "auto memdisk প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_INJECTION": "injection প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_IMG_LIST": "image list প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_AUTO_MEMDISK": "auto memdisk প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_IMG_BLIST": "image blacklist প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_IMG_LIST": "image list প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_CONF_REPLACE": "boot conf replace প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_IMG_BLIST": "image blacklist প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_DUD": "dud প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_CONF_REPLACE": "boot conf replace প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_JSON_CHK_PASSWORD": "password প্লাগইন কনফিগারেশন পরীক্ষা করুন", "VTLANG_JSON_CHK_DUD": "dud প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTLANG_JSON_CHK_PASSWORD": "password প্লাগইন কনফিগারেশন পরীক্ষা করুন",
"VTMENU_NORMAL_MODE": "সাধারণ মোডে বুট করুন",
"VTMENU_WIMBOOT_MODE": "wimboot মোডে বুট করুন", "VTLANG_NORMAL_MODE": "সাধারণ মোডে বুট করুন",
"VTMENU_GRUB2_MODE": "grub2 মোডে বুট করুন", "VTLANG_WIMBOOT_MODE": "wimboot মোডে বুট করুন",
"VTMENU_MEMDISK_MODE": "memdisk মোডে বুট করুন", "VTLANG_GRUB2_MODE": "grub2 মোডে বুট করুন",
"VTLANG_MEMDISK_MODE": "memdisk মোডে বুট করুন",
"VTMENU_RET_TO_LISTVIEW": "ListView-এ ফিরে যান",
"VTMENU_RET_TO_TREEVIEW": "TreeView-এ ফিরে যান", "VTLANG_RET_TO_LISTVIEW": "ListView-এ ফিরে যান",
"VTLANG_RET_TO_TREEVIEW": "TreeView-এ ফিরে যান",
"VTMENU_NO_AUTOINS_SCRIPT": "auto install মোড বিনা বুট করুন",
"VTMENU_AUTOINS_USE": "দিয়ে বুট করুন", "VTLANG_NO_AUTOINS_SCRIPT": "auto install মোড বিনা বুট করুন",
"VTLANG_AUTOINS_USE": "দিয়ে বুট করুন",
"VTMENU_NO_PERSIST": "persistence বিনা বুট করুন",
"VTMENU_PERSIST_USE": "দিয়ে বুট করুন", "VTLANG_NO_PERSIST": "persistence বিনা বুট করুন",
"VTLANG_PERSIST_USE": "দিয়ে বুট করুন",
"VTMENU_BROWER_RETURN": "ফিরে",
"VTLANG_BROWER_RETURN": "ফিরে",
"VTMENU_ENTER_EXIT": "প্রস্থান করার জন্য এন্টার কী টিপুন",
"VTMENU_ENTER_REBOOT": "রিবুট করতে এন্টার কী টিপুন", "VTLANG_ENTER_EXIT": "প্রস্থান করার জন্য এন্টার কী টিপুন",
"VTMENU_ENTER_CONTINUE": "চালিয়ে যেতে এন্টার কী টিপুন", "VTLANG_ENTER_REBOOT": "রিবুট করতে এন্টার কী টিপুন",
"VTLANG_ENTER_CONTINUE": "চালিয়ে যেতে এন্টার কী টিপুন",
"MENU_STR_XXX": "" "MENU_STR_XXX": ""
} }
{ {
"VTMENU_LANGUAGE_NAME": "German (Deutsch)", "VTLANG_LANGUAGE_NAME": "German (Deutsch)",
"VTMENU_STR_HOTKEY_LIST": "L:Sprache F1:Hilfe F2:Browser F3:Listenansicht F4:Lokaler Start F5:Werkzeuge F6:Erweitert", "VTLANG_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", "VTLANG_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]", "VTLANG_RETURN_PREVIOUS": "Zu vorherigem Menü [Esc]",
"VTMENU_MENU_LANG": "Menüsprache auswählen", "VTLANG_MENU_LANG": "Menüsprache auswählen",
"VTMENU_LB_SBOOT_WINDOWS": "Windows suchen und starten", "VTLANG_LB_SBOOT_WINDOWS": "Windows suchen und starten",
"VTMENU_LB_SBOOT_G4D": "Grub4dos suchen und starten", "VTLANG_LB_SBOOT_G4D": "Grub4dos suchen und starten",
"VTMENU_LB_SBOOT_HDD1": "Vom ersten lokalen Datenträger starten", "VTLANG_LB_SBOOT_HDD1": "Vom ersten lokalen Datenträger starten",
"VTMENU_LB_SBOOT_HDD2": "Vom zweiten lokalen Datenträger starten", "VTLANG_LB_SBOOT_HDD2": "Vom zweiten lokalen Datenträger starten",
"VTMENU_LB_SBOOT_HDD3": "Vom dritten lokalen Datenträger starten", "VTLANG_LB_SBOOT_HDD3": "Vom dritten lokalen Datenträger starten",
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI suchen und starten", "VTLANG_LB_SBOOT_X64EFI": "BOOTX64.EFI suchen und starten",
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI suchen und starten", "VTLANG_LB_SBOOT_IA32EFI": "BOOTIA32.EFI suchen und starten",
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI suchen und starten", "VTLANG_LB_SBOOT_AA64EFI": "BOOTAA64.EFI suchen und starten",
"VTMENU_LB_SBOOT_XORBOOT": "xorboot suchen und starten", "VTLANG_LB_SBOOT_XORBOOT": "xorboot suchen und starten",
"VTMENU_FILE_CHKSUM": "Dateiprüfsumme", "VTLANG_FILE_CHKSUM": "Dateiprüfsumme",
"VTMENU_CHKSUM_MD5_CALC": "md5sum berechnen", "VTLANG_CHKSUM_MD5_CALC": "md5sum berechnen",
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum berechnen", "VTLANG_CHKSUM_SHA1_CALC": "sha1sum berechnen",
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum berechnen", "VTLANG_CHKSUM_SHA256_CALC": "sha256sum berechnen",
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum berechnen", "VTLANG_CHKSUM_SHA512_CALC": "sha512sum berechnen",
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum berechnen und prüfen", "VTLANG_CHKSUM_MD5_CALC_CHK": "md5sum berechnen und prüfen",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum berechnen und prüfen", "VTLANG_CHKSUM_SHA1_CALC_CHK": "sha1sum berechnen und prüfen",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum berechnen und prüfen", "VTLANG_CHKSUM_SHA256_CALC_CHK": "sha256sum berechnen und prüfen",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum berechnen und prüfen", "VTLANG_CHKSUM_SHA512_CALC_CHK": "sha512sum berechnen und prüfen",
"VTMENU_POWER": "Power", "VTLANG_POWER": "Power",
"VTMENU_POWER_REBOOT": "Neustart", "VTLANG_POWER_REBOOT": "Neustart",
"VTMENU_POWER_HALT": "Herunterfahren", "VTLANG_POWER_HALT": "Herunterfahren",
"VTMENU_POWER_BOOT_EFIFW": "Neustart in EFI-Konfiguration", "VTLANG_POWER_BOOT_EFIFW": "Neustart in EFI-Konfiguration",
"VTMENU_KEYBRD_LAYOUT": "Tastaturlayout", "VTLANG_KEYBRD_LAYOUT": "Tastaturlayout",
"VTMENU_HWINFO": "Hardwareinformationen", "VTLANG_HWINFO": "Hardwareinformationen",
"VTMENU_RESOLUTION_CFG": "Auflösungseinstellungen", "VTLANG_RESOLUTION_CFG": "Auflösungseinstellungen",
"VTMENU_SCREEN_MODE": "Bildschirmanzeigemodus", "VTLANG_SCREEN_MODE": "Bildschirmanzeigemodus",
"VTMENU_SCREEN_TEXT_MODE": "Textmodus erzwingen", "VTLANG_SCREEN_TEXT_MODE": "Textmodus erzwingen",
"VTMENU_SCREEN_GUI_MODE": "Grafikmodus erzwingen", "VTLANG_SCREEN_GUI_MODE": "Grafikmodus erzwingen",
"VTMENU_THEME_SELECT": "Design auswählen", "VTLANG_THEME_SELECT": "Design auswählen",
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI-Treiber anzeigen", "VTLANG_UEFI_UTIL": "Ventoy UEFI-Dienstprogramme",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary Fehler beheben", "VTLANG_UTIL_SHOW_EFI_DRV": "EFI-Treiber anzeigen",
"VTLANG_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", "VTLANG_JSON_CHK_JSON": "Konfiguration des JSON-Plugins prüfen (ventoy.json)",
"VTMENU_JSON_CHK_THEME": "Konfiguration des Design-Plugins prüfen", "VTLANG_JSON_CHK_CONTROL": "Konfiguration des Plugins für die allgemeine Kontrolle prüfen",
"VTMENU_JSON_CHK_AUTOINS": "Konfiguration des Plugins für die automatische Installation prüfen", "VTLANG_JSON_CHK_THEME": "Konfiguration des Design-Plugins prüfen",
"VTMENU_JSON_CHK_PERSIST": "Konfiguration des Persistenz-Plugins prüfen", "VTLANG_JSON_CHK_AUTOINS": "Konfiguration des Plugins für die automatische Installation prüfen",
"VTMENU_JSON_CHK_MENU_ALIAS": "Konfiguration des Menü-Alias-Plugin prüfen", "VTLANG_JSON_CHK_PERSIST": "Konfiguration des Persistenz-Plugins prüfen",
"VTMENU_JSON_CHK_MENU_TIP": "Konfiguration des Menütipp-Plugins prüfen", "VTLANG_JSON_CHK_MENU_ALIAS": "Konfiguration des Menü-Alias-Plugin prüfen",
"VTMENU_JSON_CHK_MENU_CLASS": "Konfiguration des Menüklassen-Plugins prüfen", "VTLANG_JSON_CHK_MENU_TIP": "Konfiguration des Menütipp-Plugins prüfen",
"VTMENU_JSON_CHK_INJECTION": "Konfiguration des Injektions-Plugins prüfen", "VTLANG_JSON_CHK_MENU_CLASS": "Konfiguration des Menüklassen-Plugins prüfen",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Konfiguration des auto-memdisk-Plugins prüfen", "VTLANG_JSON_CHK_INJECTION": "Konfiguration des Injektions-Plugins prüfen",
"VTMENU_JSON_CHK_IMG_LIST": "Konfiguration des Abbild-Listen-Plugins prüfen", "VTLANG_JSON_CHK_AUTO_MEMDISK": "Konfiguration des auto-memdisk-Plugins prüfen",
"VTMENU_JSON_CHK_IMG_BLIST": "Konfiguration des Abbild-Sperrlisten-Plugins prüfen", "VTLANG_JSON_CHK_IMG_LIST": "Konfiguration des Abbild-Listen-Plugins prüfen",
"VTMENU_JSON_CHK_CONF_REPLACE": "Konfiguration des Boot-Conf-Replace-Plugins prüfen", "VTLANG_JSON_CHK_IMG_BLIST": "Konfiguration des Abbild-Sperrlisten-Plugins prüfen",
"VTMENU_JSON_CHK_DUD": "Konfiguration des dud-Plugins prüfen", "VTLANG_JSON_CHK_CONF_REPLACE": "Konfiguration des Boot-Conf-Replace-Plugins prüfen",
"VTMENU_JSON_CHK_PASSWORD": "Konfiguration des Passwort-Plugins prüfen", "VTLANG_JSON_CHK_DUD": "Konfiguration des dud-Plugins prüfen",
"VTLANG_JSON_CHK_PASSWORD": "Konfiguration des Passwort-Plugins prüfen",
"VTMENU_NORMAL_MODE": "In Normal-Modus starten",
"VTMENU_WIMBOOT_MODE": "In wimboot-Modus starten", "VTLANG_NORMAL_MODE": "In Normal-Modus starten",
"VTMENU_GRUB2_MODE": "In grub2-Modus starten", "VTLANG_WIMBOOT_MODE": "In wimboot-Modus starten",
"VTMENU_MEMDISK_MODE": "In memdisk-Modus starten", "VTLANG_GRUB2_MODE": "In grub2-Modus starten",
"VTLANG_MEMDISK_MODE": "In memdisk-Modus starten",
"VTMENU_RET_TO_LISTVIEW": "Zurück zur Listenansicht",
"VTMENU_RET_TO_TREEVIEW": "Zurück zur Baumansicht", "VTLANG_RET_TO_LISTVIEW": "Zurück zur Listenansicht",
"VTLANG_RET_TO_TREEVIEW": "Zurück zur Baumansicht",
"VTMENU_NO_AUTOINS_SCRIPT": "Ohne Vorlage für die automatische Installation starten",
"VTMENU_AUTOINS_USE": "Start mit", "VTLANG_NO_AUTOINS_SCRIPT": "Ohne Vorlage für die automatische Installation starten",
"VTLANG_AUTOINS_USE": "Start mit",
"VTMENU_NO_PERSIST": "Ohne Persistenz starten",
"VTMENU_PERSIST_USE": "Start mit", "VTLANG_NO_PERSIST": "Ohne Persistenz starten",
"VTLANG_PERSIST_USE": "Start mit",
"VTMENU_BROWER_RETURN": "Zurück",
"VTLANG_BROWER_RETURN": "Zurück",
"VTMENU_ENTER_EXIT": "Drücken Sie zum Beenden die Eingabetaste",
"VTMENU_ENTER_REBOOT": "Drücken Sie die Eingabetaste, um neu zu starten", "VTLANG_ENTER_EXIT": "Drücken Sie zum Beenden die Eingabetaste",
"VTMENU_ENTER_CONTINUE": "Drücken Sie die Eingabetaste, um fortzufahren", "VTLANG_ENTER_REBOOT": "Drücken Sie die Eingabetaste, um neu zu starten",
"VTLANG_ENTER_CONTINUE": "Drücken Sie die Eingabetaste, um fortzufahren",
"MENU_STR_XXX": "" "MENU_STR_XXX": ""
} }
{ {
"VTMENU_LANGUAGE_NAME": "English (English)", "VTLANG_LANGUAGE_NAME": "English (English)",
"VTMENU_STR_HOTKEY_LIST": "L:Language F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu", "VTLANG_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", "VTLANG_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]", "VTLANG_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTMENU_MENU_LANG": "Menu Language Select", "VTLANG_MENU_LANG": "Menu Language Select",
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows", "VTLANG_LB_SBOOT_WINDOWS": "Search and boot Windows",
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos", "VTLANG_LB_SBOOT_G4D": "Search and boot Grub4dos",
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk", "VTLANG_LB_SBOOT_HDD1": "Boot the 1st local disk",
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk", "VTLANG_LB_SBOOT_HDD2": "Boot the 2nd local disk",
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk", "VTLANG_LB_SBOOT_HDD3": "Boot the 3rd local disk",
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI", "VTLANG_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI", "VTLANG_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI", "VTLANG_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot", "VTLANG_LB_SBOOT_XORBOOT": "Search and boot xorboot",
"VTMENU_FILE_CHKSUM": "File checksum", "VTLANG_FILE_CHKSUM": "File checksum",
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum", "VTLANG_CHKSUM_MD5_CALC": "Calculate md5sum",
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum", "VTLANG_CHKSUM_SHA1_CALC": "Calculate sha1sum",
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum", "VTLANG_CHKSUM_SHA256_CALC": "Calculate sha256sum",
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum", "VTLANG_CHKSUM_SHA512_CALC": "Calculate sha512sum",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum", "VTLANG_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum", "VTLANG_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum", "VTLANG_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum", "VTLANG_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
"VTMENU_POWER": "Power", "VTLANG_POWER": "Power",
"VTMENU_POWER_REBOOT": "Reboot", "VTLANG_POWER_REBOOT": "Reboot",
"VTMENU_POWER_HALT": "Halt", "VTLANG_POWER_HALT": "Halt",
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup", "VTLANG_POWER_BOOT_EFIFW": "Reboot to EFI setup",
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts", "VTLANG_KEYBRD_LAYOUT": "Keyboard Layouts",
"VTMENU_HWINFO": "Hardware Information", "VTLANG_HWINFO": "Hardware Information",
"VTMENU_RESOLUTION_CFG": "Resolution Configuration", "VTLANG_RESOLUTION_CFG": "Resolution Configuration",
"VTMENU_SCREEN_MODE": "Screen Display Mode", "VTLANG_SCREEN_MODE": "Screen Display Mode",
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode", "VTLANG_SCREEN_TEXT_MODE": "Force Text Mode",
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode", "VTLANG_SCREEN_GUI_MODE": "Force Graphics Mode",
"VTMENU_THEME_SELECT": "Theme Select", "VTLANG_THEME_SELECT": "Theme Select",
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers", "VTLANG_UEFI_UTIL": "Ventoy UEFI Utilities",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure", "VTLANG_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
"VTLANG_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", "VTLANG_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration", "VTLANG_JSON_CHK_CONTROL": "Check global control plugin configuration",
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration", "VTLANG_JSON_CHK_THEME": "Check theme plugin configuration",
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration", "VTLANG_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration", "VTLANG_JSON_CHK_PERSIST": "Check persistence plugin configuration",
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration", "VTLANG_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration", "VTLANG_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration", "VTLANG_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration", "VTLANG_JSON_CHK_INJECTION": "Check injection plugin configuration",
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration", "VTLANG_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration", "VTLANG_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration", "VTLANG_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration", "VTLANG_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration", "VTLANG_JSON_CHK_DUD": "Check dud plugin configuration",
"VTLANG_JSON_CHK_PASSWORD": "Check password plugin configuration",
"VTMENU_NORMAL_MODE": "Boot in normal mode",
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode", "VTLANG_NORMAL_MODE": "Boot in normal mode",
"VTMENU_GRUB2_MODE": "Boot in grub2 mode", "VTLANG_WIMBOOT_MODE": "Boot in wimboot mode",
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode", "VTLANG_GRUB2_MODE": "Boot in grub2 mode",
"VTLANG_MEMDISK_MODE": "Boot in memdisk mode",
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView", "VTLANG_RET_TO_LISTVIEW": "Return to ListView",
"VTLANG_RET_TO_TREEVIEW": "Return to TreeView",
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTMENU_AUTOINS_USE": "Boot with", "VTLANG_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
"VTLANG_AUTOINS_USE": "Boot with",
"VTMENU_NO_PERSIST": "Boot without persistence",
"VTMENU_PERSIST_USE": "Boot with", "VTLANG_NO_PERSIST": "Boot without persistence",
"VTLANG_PERSIST_USE": "Boot with",
"VTMENU_BROWER_RETURN": "Return",
"VTLANG_BROWER_RETURN": "Return",
"VTMENU_ENTER_EXIT": "press Enter key to exit",
"VTMENU_ENTER_REBOOT": "press Enter key to reboot", "VTLANG_ENTER_EXIT": "press Enter key to exit",
"VTMENU_ENTER_CONTINUE": "press Enter key to continue", "VTLANG_ENTER_REBOOT": "press Enter key to reboot",
"VTLANG_ENTER_CONTINUE": "press Enter key to continue",
"MENU_STR_XXX": "" "MENU_STR_XXX": ""
} }
{ {
"VTMENU_LANGUAGE_NAME": "French (Français)", "VTLANG_LANGUAGE_NAME": "French (Français)",
"VTMENU_STR_HOTKEY_LIST": "L:Langue F1:Aide F2:Parcourir F3:Affichage liste F4:Démarrage local F5:Outils F6:Menu étendu", "VTLANG_STR_HOTKEY_LIST": "L:Langue F1:Aide F2:Parcourir F3:Affichage liste F4:Démarrage local F5:Outils F6:Menu étendu",
"VTMENU_STR_HOTKEY_TREE": "L:Langue F1:Aide F2:Parcourir F3:Affichage arborescence F4:Démarrage local F5:Outils F6:Menu étendu", "VTLANG_STR_HOTKEY_TREE": "L:Langue F1:Aide F2:Parcourir F3:Affichage arborescence F4:Démarrage local F5:Outils F6:Menu étendu",
"VTMENU_RETURN_PREVIOUS": "Retour au menu précédent [Echap]", "VTLANG_RETURN_PREVIOUS": "Retour au menu précédent [Echap]",
"VTMENU_MENU_LANG": "Sélection de la langue des menus", "VTLANG_MENU_LANG": "Sélection de la langue des menus",
"VTMENU_LB_SBOOT_WINDOWS": "Rechercher et démarrer Windows", "VTLANG_LB_SBOOT_WINDOWS": "Rechercher et démarrer Windows",
"VTMENU_LB_SBOOT_G4D": "Rechercher et démarrer GRUB4DOS", "VTLANG_LB_SBOOT_G4D": "Rechercher et démarrer GRUB4DOS",
"VTMENU_LB_SBOOT_HDD1": "Démarrer depuis le 1er disque local", "VTLANG_LB_SBOOT_HDD1": "Démarrer depuis le 1er disque local",
"VTMENU_LB_SBOOT_HDD2": "Démarrer depuis le 2e disque local", "VTLANG_LB_SBOOT_HDD2": "Démarrer depuis le 2e disque local",
"VTMENU_LB_SBOOT_HDD3": "Démarrer depuis le 3e disque local", "VTLANG_LB_SBOOT_HDD3": "Démarrer depuis le 3e disque local",
"VTMENU_LB_SBOOT_X64EFI": "Rechercher et démarrer BOOTX64.EFI", "VTLANG_LB_SBOOT_X64EFI": "Rechercher et démarrer BOOTX64.EFI",
"VTMENU_LB_SBOOT_IA32EFI": "Rechercher et démarrer BOOTIA32.EFI", "VTLANG_LB_SBOOT_IA32EFI": "Rechercher et démarrer BOOTIA32.EFI",
"VTMENU_LB_SBOOT_AA64EFI": "Rechercher et démarrer BOOTAA64.EFI", "VTLANG_LB_SBOOT_AA64EFI": "Rechercher et démarrer BOOTAA64.EFI",
"VTMENU_LB_SBOOT_XORBOOT": "Rechercher et démarrer xorboot", "VTLANG_LB_SBOOT_XORBOOT": "Rechercher et démarrer xorboot",
"VTMENU_FILE_CHKSUM": "Somme de contrôle du fichier", "VTLANG_FILE_CHKSUM": "Somme de contrôle du fichier",
"VTMENU_CHKSUM_MD5_CALC": "Calculer MD5", "VTLANG_CHKSUM_MD5_CALC": "Calculer MD5",
"VTMENU_CHKSUM_SHA1_CALC": "Calculer SHA1", "VTLANG_CHKSUM_SHA1_CALC": "Calculer SHA1",
"VTMENU_CHKSUM_SHA256_CALC": "Calculer SHA256", "VTLANG_CHKSUM_SHA256_CALC": "Calculer SHA256",
"VTMENU_CHKSUM_SHA512_CALC": "Calculer SHA512", "VTLANG_CHKSUM_SHA512_CALC": "Calculer SHA512",
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculer et vérifier MD5", "VTLANG_CHKSUM_MD5_CALC_CHK": "Calculer et vérifier MD5",
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculer et vérifier SHA1", "VTLANG_CHKSUM_SHA1_CALC_CHK": "Calculer et vérifier SHA1",
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculer et vérifier SHA256", "VTLANG_CHKSUM_SHA256_CALC_CHK": "Calculer et vérifier SHA256",
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculer et vérifier SHA512", "VTLANG_CHKSUM_SHA512_CALC_CHK": "Calculer et vérifier SHA512",
"VTMENU_POWER": "Extinction", "VTLANG_POWER": "Extinction",
"VTMENU_POWER_REBOOT": "Redémarrer", "VTLANG_POWER_REBOOT": "Redémarrer",
"VTMENU_POWER_HALT": "Éteindre", "VTLANG_POWER_HALT": "Éteindre",
"VTMENU_POWER_BOOT_EFIFW": "Redémarrer et accéder au menu EFI", "VTLANG_POWER_BOOT_EFIFW": "Redémarrer et accéder au menu EFI",
"VTMENU_KEYBRD_LAYOUT": "Dispositions de clavier", "VTLANG_KEYBRD_LAYOUT": "Dispositions de clavier",
"VTMENU_HWINFO": "Informations sur le matériel", "VTLANG_HWINFO": "Informations sur le matériel",
"VTMENU_RESOLUTION_CFG": "Configuration de la résolution", "VTLANG_RESOLUTION_CFG": "Configuration de la résolution",
"VTMENU_SCREEN_MODE": "Mode d’affichage", "VTLANG_SCREEN_MODE": "Mode d’affichage",
"VTMENU_SCREEN_TEXT_MODE": "Mode texte", "VTLANG_SCREEN_TEXT_MODE": "Mode texte",
"VTMENU_SCREEN_GUI_MODE": "Mode graphique", "VTLANG_SCREEN_GUI_MODE": "Mode graphique",
"VTMENU_THEME_SELECT": "Sélection du thème", "VTLANG_THEME_SELECT": "Sélection du thème",
"VTMENU_UTIL_SHOW_EFI_DRV": "Afficher les pilotes EFI", "VTLANG_UEFI_UTIL": "Utilitaires UEFI de Ventoy",
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Contourner l’échec de Windows BlinitializeLibrary", "VTLANG_UTIL_SHOW_EFI_DRV": "Afficher les pilotes EFI",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Contourner l’échec de Windows BlinitializeLibrary",
"VTMENU_JSON_CHK_JSON": "Afficher le fichiers de configuration (ventoy.json)",
"VTMENU_JSON_CHK_CONTROL": "Afficher la configuration du plugin de contrôle global", "VTLANG_JSON_CHK_JSON": "Afficher le fichiers de configuration (ventoy.json)",
"VTMENU_JSON_CHK_THEME": "Afficher la configuration du plugin de thème", "VTLANG_JSON_CHK_CONTROL": "Afficher la configuration du plugin de contrôle global",
"VTMENU_JSON_CHK_AUTOINS": "Afficher la configuration du plugin d’installation automatique", "VTLANG_JSON_CHK_THEME": "Afficher la configuration du plugin de thème",
"VTMENU_JSON_CHK_PERSIST": "Afficher la configuration du plugin de persistance", "VTLANG_JSON_CHK_AUTOINS": "Afficher la configuration du plugin d’installation automatique",
"VTMENU_JSON_CHK_MENU_ALIAS": "Afficher la configuration du plugin des alias du menu", "VTLANG_JSON_CHK_PERSIST": "Afficher la configuration du plugin de persistance",
"VTMENU_JSON_CHK_MENU_TIP": "Afficher la configuration du plugin des astuces du menu", "VTLANG_JSON_CHK_MENU_ALIAS": "Afficher la configuration du plugin des alias du menu",
"VTMENU_JSON_CHK_MENU_CLASS": "Afficher la configuration du plugin des classes du menu", "VTLANG_JSON_CHK_MENU_TIP": "Afficher la configuration du plugin des astuces du menu",
"VTMENU_JSON_CHK_INJECTION": "Afficher la configuration du plugin d’injection", "VTLANG_JSON_CHK_MENU_CLASS": "Afficher la configuration du plugin des classes du menu",
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Afficher la configuration du plugin memdisk automatique", "VTLANG_JSON_CHK_INJECTION": "Afficher la configuration du plugin d’injection",
"VTMENU_JSON_CHK_IMG_LIST": "Afficher la configuration du plugin de liste des images", "VTLANG_JSON_CHK_AUTO_MEMDISK": "Afficher la configuration du plugin memdisk automatique",
"VTMENU_JSON_CHK_IMG_BLIST": "Afficher la configuration du plugin de liste noire des images", "VTLANG_JSON_CHK_IMG_LIST": "Afficher la configuration du plugin de liste des images",
"VTMENU_JSON_CHK_CONF_REPLACE": "Afficher la configuration du plugin de substitution des fichiers de démarrage", "VTLANG_JSON_CHK_IMG_BLIST": "Afficher la configuration du plugin de liste noire des images",
"VTMENU_JSON_CHK_DUD": "Afficher la configuration du plugin de disques de mise à jour des pilotes", "VTLANG_JSON_CHK_CONF_REPLACE": "Afficher la configuration du plugin de substitution des fichiers de démarrage",
"VTMENU_JSON_CHK_PASSWORD": "Afficher la configuration du plugin de mots de passe", "VTLANG_JSON_CHK_DUD": "Afficher la configuration du plugin de disques de mise à jour des pilotes",
"VTLANG_JSON_CHK_PASSWORD": "Afficher la configuration du plugin de mots de passe",
"VTMENU_NORMAL_MODE": "Démarrer en mode normal",
"VTMENU_WIMBOOT_MODE": "Démarrer en mode WimBoot", "VTLANG_NORMAL_MODE": "Démarrer en mode normal",
"VTMENU_GRUB2_MODE": "Démarrer en mode GRUB 2", "VTLANG_WIMBOOT_MODE": "Démarrer en mode WimBoot",
"VTMENU_MEMDISK_MODE": "Démarrer en mode Memdisk", "VTLANG_GRUB2_MODE": "Démarrer en mode GRUB 2",
"VTLANG_MEMDISK_MODE": "Démarrer en mode Memdisk",
"VTMENU_RET_TO_LISTVIEW": "Revenir à l’affichage en liste",
"VTMENU_RET_TO_TREEVIEW": "Revenir à l’affichage en arborescence", "VTLANG_RET_TO_LISTVIEW": "Revenir à l’affichage en liste",
"VTLANG_RET_TO_TREEVIEW": "Revenir à l’affichage en arborescence",
"VTMENU_NO_AUTOINS_SCRIPT": "Démarrer en ignorant le modèle d’auto-installation",
"VTMENU_AUTOINS_USE": "Démarrer en chargeant le modèle d’auto-installation", "VTLANG_NO_AUTOINS_SCRIPT": "Démarrer en ignorant le modèle d’auto-installation",
"VTLANG_AUTOINS_USE": "Démarrer en chargeant le modèle d’auto-installation",
"VTMENU_NO_PERSIST": "Démarrer sans persistance",
"VTMENU_PERSIST_USE": "Démarrer avec la persistance", "VTLANG_NO_PERSIST": "Démarrer sans persistance",
"VTLANG_PERSIST_USE": "Démarrer avec la persistance",
"VTMENU_BROWER_RETURN": "Retour",
"VTLANG_BROWER_RETURN": "Retour",
"VTMENU_ENTER_EXIT": "appuyez sur la touche Entrée pour quitter",
"VTMENU_ENTER_REBOOT": "appuyez sur la touche Entrée pour redémarrer", "VTLANG_ENTER_EXIT": "appuyez sur la touche Entrée pour quitter",
"VTMENU_ENTER_CONTINUE": "appuyez sur la touche Entrée pour continuer", "VTLANG_ENTER_REBOOT": "appuyez sur la touche Entrée pour redémarrer",
"VTLANG_ENTER_CONTINUE": "appuyez sur la touche Entrée pour continuer",
"MENU_STR_XXX": "" "MENU_STR_XXX": ""
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment