From ef035440618cf3ac141ed7a228287502b60f6aca Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 29 Apr 2025 17:14:24 +0600 Subject: [PATCH] Localisation changes; Added default item at OS menu --- source/ubl-settings-bootloader-menu.c | 19 ++++- source/ubl-settings-bootloader.c | 2 +- source/ubl-strings.h | 2 + ubl-settings-bootloader.pot | 100 ++++++++++++++------------ ubl-settings-bootloader_ru.po | 98 +++++++++++++------------ 5 files changed, 128 insertions(+), 93 deletions(-) diff --git a/source/ubl-settings-bootloader-menu.c b/source/ubl-settings-bootloader-menu.c index bceac2b..c928c6c 100644 --- a/source/ubl-settings-bootloader-menu.c +++ b/source/ubl-settings-bootloader-menu.c @@ -3,7 +3,11 @@ void on_menu_chosen(GtkWidget *, yon_menu_item *item){ - gtk_entry_set_text(GTK_ENTRY(item->widgets->OSDefaultEntry),item->target); + if (strcmp(item->target,DEFAULT_MENU_ITEM_LABEL)){ + gtk_entry_set_text(GTK_ENTRY(item->widgets->OSDefaultEntry),item->target); + } else { + gtk_entry_set_text(GTK_ENTRY(item->widgets->OSDefaultEntry),DEFAULT_MENU_ITEM_LABEL); + } GdkDisplay *display = gdk_display_get_default(); GdkSeat *seat = gdk_display_get_default_seat(display); if (item->window->seat_grab) @@ -37,6 +41,19 @@ void on_submenu_open(GtkWidget *,yon_menu_item *item){ yon_menu_window *yon_menu_window_open(GtkWidget *, main_window *widgets){ yon_menu_window *window = yon_menu_window_new(); gtk_window_set_transient_for(GTK_WINDOW(window->MenuWindow),GTK_WINDOW(widgets->Window)); + { + yon_menu_item *item = yon_menu_item_new(); + item->widgets=widgets; + item->window=window; + item->children=NULL; + gtk_label_set_text(GTK_LABEL(item->MenuTextLabel),DEFAULT_MENU_ITEM_LABEL); + item->target=yon_char_new(DEFAULT_MENU_ITEM_LABEL); + gtk_list_box_insert(GTK_LIST_BOX(window->ItemsListBox),item->MenuItemBox,-1); + yon_dictionary_add_or_create_if_exists_with_data(window->menu_items,DEFAULT_MENU_ITEM_LABEL,item); + gtk_widget_show(item->MenuItemBox); + gtk_widget_hide(item->NextIconButton); + g_signal_connect(G_OBJECT(item->MenuButton),"clicked",G_CALLBACK(on_menu_chosen),item); + } int size; config_str parsed = yon_config_load(get_menus_entry_command,&size); for (int i=0;iOSDefaultEntry){ char *os = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->OSDefaultEntry)); - if (!yon_char_is_empty(os)){ + if (!yon_char_is_empty(os)&&strcmp(os,DEFAULT_MENU_ITEM_LABEL)){ yon_config_register(GRUB_DEFAULT_parameter,GRUB_DEFAULT_command,os); } else { yon_config_remove_by_key(GRUB_DEFAULT_parameter); diff --git a/source/ubl-strings.h b/source/ubl-strings.h index c369810..2909e66 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -5,6 +5,7 @@ #define BOOT_MENU_LABEL _("Boot menu") #define BOOT_SELECTION_LABEL _("Boot selection menu timer:") #define SECONDS_LABEL _("seconds") +#define DEFAULT_LABEL _("Default") #define DEFAULT_OS_LABEL _("Default OS:") #define LOAD_DISPLAY_MODE_LABEL _("Load screen display mode:") #define BOOT_USERS_LABEL _("Boot Menu Users") @@ -34,6 +35,7 @@ #define NO_BOOT_LOG_LABEL _("No boot animation with log") #define NO_BOOT_NO_LOG_LABEL _("No boot animation with shortened log") #define BACK_LABEL _("Back") +#define DEFAULT_MENU_ITEM_LABEL _("Default (Use last succeeded)") #define PASSWORD_TITLE_LABEL _("Password input") #define PASSWORD_REPEAT_LABEL _("Repeat password:") diff --git a/ubl-settings-bootloader.pot b/ubl-settings-bootloader.pot index 62f4718..d7dafc2 100644 --- a/ubl-settings-bootloader.pot +++ b/ubl-settings-bootloader.pot @@ -38,189 +38,197 @@ msgid "seconds" msgstr "" #: source/ubl-strings.h:8 -msgid "Default OS:" +msgid "Default" msgstr "" #: source/ubl-strings.h:9 -msgid "Load screen display mode:" +msgid "Default OS:" msgstr "" #: source/ubl-strings.h:10 -msgid "Boot Menu Users" +msgid "Load screen display mode:" msgstr "" #: source/ubl-strings.h:11 -msgid "Startup ringtone" +msgid "Boot Menu Users" msgstr "" #: source/ubl-strings.h:12 -msgid "Parameters passed to the kernel" +msgid "Startup ringtone" msgstr "" #: source/ubl-strings.h:13 -msgid "Command line parameters:" +msgid "Parameters passed to the kernel" msgstr "" #: source/ubl-strings.h:14 -msgid "Input terminal" +msgid "Command line parameters:" msgstr "" #: source/ubl-strings.h:15 +msgid "Input terminal" +msgstr "" + +#: source/ubl-strings.h:16 msgid "Output terminal" msgstr "" -#: source/ubl-strings.h:17 source/ubl-strings.h:53 +#: source/ubl-strings.h:18 source/ubl-strings.h:55 msgid "Administrator" msgstr "" -#: source/ubl-strings.h:18 +#: source/ubl-strings.h:19 msgid "Name" msgstr "" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:20 msgid "User" msgstr "" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:21 msgid "Password" msgstr "" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "Melody code" msgstr "" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Option" msgstr "" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Description" msgstr "" -#: source/ubl-strings.h:25 +#: source/ubl-strings.h:26 msgid "Add" msgstr "" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Edit" msgstr "" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:28 msgid "Remove" msgstr "" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:30 msgid "Accept" msgstr "" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:31 msgid "Cancel" msgstr "" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:33 msgid "Boot animation with log" msgstr "" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:34 msgid "Boot animation without log" msgstr "" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:35 msgid "No boot animation with log" msgstr "" -#: source/ubl-strings.h:35 -msgid "No boot animation without log" +#: source/ubl-strings.h:36 +msgid "No boot animation with shortened log" msgstr "" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:37 msgid "Back" msgstr "" #: source/ubl-strings.h:38 +msgid "Default (Use last succeeded)" +msgstr "" + +#: source/ubl-strings.h:40 msgid "Password input" msgstr "" -#: source/ubl-strings.h:39 source/ubl-strings.h:46 +#: source/ubl-strings.h:41 source/ubl-strings.h:48 msgid "Repeat password:" msgstr "" -#: source/ubl-strings.h:40 source/ubl-strings.h:48 +#: source/ubl-strings.h:42 source/ubl-strings.h:50 msgid "Password hash:" msgstr "" -#: source/ubl-strings.h:41 source/ubl-strings.h:47 +#: source/ubl-strings.h:43 source/ubl-strings.h:49 msgid "Do not encrypt password" msgstr "" -#: source/ubl-strings.h:42 +#: source/ubl-strings.h:44 msgid "Password contain special symbols" msgstr "" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:45 msgid "Empty important field" msgstr "" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:46 msgid "Password mismatch" msgstr "" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:47 msgid "Password:" msgstr "" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:51 msgid "Password must be at least" msgstr "" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:51 msgid "characters" msgstr "" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:53 msgid "Add user" msgstr "" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:54 msgid "Edit user" msgstr "" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:56 msgid "User name:" msgstr "" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:57 msgid "User password:" msgstr "" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:58 msgid "Are you sure you want to remove user" msgstr "" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:58 msgid "from boot menu users" msgstr "" -#: source/ubl-strings.h:58 +#: source/ubl-strings.h:60 msgid "Add ringtone" msgstr "" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:61 msgid "Edit ringtone" msgstr "" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:62 msgid "Chosen" msgstr "" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:63 msgid "Name:" msgstr "" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "Melody code:" msgstr "" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:65 msgid "Are you sure you want to remove ringtone" msgstr "" diff --git a/ubl-settings-bootloader_ru.po b/ubl-settings-bootloader_ru.po index b42af90..a16236a 100644 --- a/ubl-settings-bootloader_ru.po +++ b/ubl-settings-bootloader_ru.po @@ -38,190 +38,198 @@ msgid "seconds" msgstr "секунд" #: source/ubl-strings.h:8 +msgid "Default" +msgstr "По умлочанию" + +#: source/ubl-strings.h:9 msgid "Default OS:" msgstr "Загрузка по умлочанию:" -#: source/ubl-strings.h:9 +#: source/ubl-strings.h:10 msgid "Load screen display mode:" msgstr "Режим отображения экрана загрузки:" -#: source/ubl-strings.h:10 +#: source/ubl-strings.h:11 msgid "Boot Menu Users" msgstr "Пользователи меню загрузчика" -#: source/ubl-strings.h:11 +#: source/ubl-strings.h:12 msgid "Startup ringtone" msgstr "Мелодия при запуске" -#: source/ubl-strings.h:12 +#: source/ubl-strings.h:13 msgid "Parameters passed to the kernel" msgstr "Параметры, передаваемые ядру" -#: source/ubl-strings.h:13 +#: source/ubl-strings.h:14 msgid "Command line parameters:" msgstr "Параметры командной строки:" -#: source/ubl-strings.h:14 +#: source/ubl-strings.h:15 msgid "Input terminal" msgstr "Терминал для ввода" -#: source/ubl-strings.h:15 +#: source/ubl-strings.h:16 msgid "Output terminal" msgstr "Терминал для вывода" -#: source/ubl-strings.h:17 source/ubl-strings.h:53 +#: source/ubl-strings.h:18 source/ubl-strings.h:55 msgid "Administrator" msgstr "Администратор" -#: source/ubl-strings.h:18 +#: source/ubl-strings.h:19 msgid "Name" msgstr "Название" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:20 msgid "User" msgstr "Пользователь" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:21 msgid "Password" msgstr "Пароль" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "Melody code" msgstr "Код мелодии" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Option" msgstr "Опция" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Description" msgstr "Описание" -#: source/ubl-strings.h:25 +#: source/ubl-strings.h:26 msgid "Add" msgstr "Добавить" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Edit" msgstr "Редактировать" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:28 msgid "Remove" msgstr "Удалить" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:30 msgid "Accept" msgstr "Принять" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:31 msgid "Cancel" msgstr "Отменить" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:33 msgid "Boot animation with log" msgstr "Анимация загрузки с журналом" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:34 msgid "Boot animation without log" msgstr "Анимация загрузки без журнала" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:35 msgid "No boot animation with log" msgstr "Отсутствие анимации загрузки с выводом журнала" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:36 msgid "No boot animation with shortened log" msgstr "Отсутствие анимации загрузки б выводом сокращённого журнала" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:37 msgid "Back" msgstr "Назад" #: source/ubl-strings.h:38 +msgid "Default (Use last succeeded)" +msgstr "По умолчанию (Последняя удачная загрузка)" + +#: source/ubl-strings.h:40 msgid "Password input" msgstr "Ввод пароля" -#: source/ubl-strings.h:39 source/ubl-strings.h:46 +#: source/ubl-strings.h:41 source/ubl-strings.h:48 msgid "Repeat password:" msgstr "Подтвердите ввод пароля:" -#: source/ubl-strings.h:40 source/ubl-strings.h:48 +#: source/ubl-strings.h:42 source/ubl-strings.h:50 msgid "Password hash:" msgstr "Хэш пароля" -#: source/ubl-strings.h:41 source/ubl-strings.h:47 +#: source/ubl-strings.h:43 source/ubl-strings.h:49 msgid "Do not encrypt password" msgstr "Не шифровать пароль" -#: source/ubl-strings.h:42 +#: source/ubl-strings.h:44 msgid "Password contain special symbols" msgstr "Пароль содержит специальные символы" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:45 msgid "Empty important field" msgstr "Пустое важное поле" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:46 msgid "Password mismatch" msgstr "Пароли не совпадают" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:47 msgid "Password:" msgstr "Пароль:" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:51 msgid "Password must be at least" msgstr "Пароль состоять из по крайней мере" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:51 msgid "characters" msgstr "символов" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:53 msgid "Add user" msgstr "Добавить пользователя" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:54 msgid "Edit user" msgstr "Редактировать пользователя" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:56 msgid "User name:" msgstr "Имя пользователя:" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:57 msgid "User password:" msgstr "Пароль пользователя:" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:58 msgid "Are you sure you want to remove user" msgstr "Вы уверены что хотите удалить пользователя" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:58 msgid "from boot menu users" msgstr "из пользователей меню загрузчика" -#: source/ubl-strings.h:58 +#: source/ubl-strings.h:60 msgid "Add ringtone" msgstr "Добавить мелодию" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:61 msgid "Edit ringtone" msgstr "Изменение мелодии" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:62 msgid "Chosen" msgstr "Выбран" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:63 msgid "Name:" msgstr "Название:" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "Melody code:" msgstr "Код мелодии:" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:65 msgid "Are you sure you want to remove ringtone" msgstr "Вы уверены что хотите удалить мелодию"