From c52dcaf040959ca15e9be98e62a092fc7b42c09d Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 26 May 2025 17:41:26 +0600 Subject: [PATCH 1/5] Localisation and csv updates --- grub-parameters.csv | 8 ++- grub-terminal-input.csv | 8 +-- grub-terminal-output.csv | 10 ++-- locale/grub-parameters.pot | 6 ++ locale/grub-parameters_ru.po | 92 +++++++++++-------------------- locale/grub-terminal-input.pot | 25 +++------ locale/grub-terminal-input_ru.po | 25 ++++++--- locale/grub-terminal-output.pot | 29 ++++------ locale/grub-terminal-output_ru.po | 31 +++++------ source/ubl-settings-bootloader.h | 2 - source/ubl-strings.h | 1 + 11 files changed, 100 insertions(+), 137 deletions(-) diff --git a/grub-parameters.csv b/grub-parameters.csv index db8a5d4..e9dd6c6 100644 --- a/grub-parameters.csv +++ b/grub-parameters.csv @@ -1,4 +1,4 @@ -Option|Description +OPTION|DESCRIPTION noplymouth|Disable Plymouth rd.plymouth=0|Disable Plymouth plymouth.enable=0|Disable Plymouth @@ -12,7 +12,7 @@ nouveau.modeset=0|Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = h nouveau.noaccel|Disable kernel/abi16 acceleration (int) i915.modeset=1|Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int) i915.enable_fbc=0|Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int) -i915.enable_dc=0|Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int) +i915.enable_dc=0|Enable power-saving display C-states. (-1=auto [default], 0=disable, 1=up to DC5, 2=up to DC6, 3=up to DC5 with DC3CO, 4=up to DC6 with DC3CO) (int) i915.enable_psr=0|Enable PSR (0=disabled, 1=enabled) (int) i915.disable_power_well=1|Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int) i915.enable_ips=N|Enable IPS (default: true) (int) @@ -32,4 +32,6 @@ intel_idle.max_cstate=3|Eliminates flickering laptop display on Ultra Voltage pr intel_idle.max_cstate=4|Eliminates flickering laptop display on Ultra Voltage processors (int) intel_idle.states_off=1|Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (uint) usbcore.autosuspend=-1|Default autosuspend delay (-1=disabled) (int) -modprobe.blacklist=nouveau|Force dont`t load nouveau driver video for Nvidia \ No newline at end of file +modprobe.blacklist=nouveau|Force dont`t load nouveau driver video for Nvidia +libata.noacpi=1|Disabling ACPI support for libata driver +loglevel=3|Displays only errors and higher priority messages \ No newline at end of file diff --git a/grub-terminal-input.csv b/grub-terminal-input.csv index 46fac01..868710a 100644 --- a/grub-terminal-input.csv +++ b/grub-terminal-input.csv @@ -1,6 +1,6 @@ -Option|Description -console|PC BIOS & EFI console -serial|Serial terminal -ofconsole|Open Firmware Console +OPTION|DESCRIPTION +console|PC BIOS & EFI Console +serial|Serial Terminal +ofconsole|Console Open Firmware at_keyboard|PC AT Keyboard (Coreboot) usb_keyboard|USB Keyboard (HID Boot protocol) \ No newline at end of file diff --git a/grub-terminal-output.csv b/grub-terminal-output.csv index 0f5eabd..4978186 100644 --- a/grub-terminal-output.csv +++ b/grub-terminal-output.csv @@ -1,6 +1,6 @@ -Option|Description -console|PC BIOS & EFI console -serial|Serial terminal -ofconsole|Open Firmware Console -gfxterm|Output in graphical mode +OPTION|DESCRIPTION +console|PC BIOS & EFI Console +serial|Serial Terminal +ofconsole|Console Open Firmware +gfxterm|Output in graphics mode vga_text|VGA text output (Coreboot) \ No newline at end of file diff --git a/locale/grub-parameters.pot b/locale/grub-parameters.pot index 058276b..517b2d6 100644 --- a/locale/grub-parameters.pot +++ b/locale/grub-parameters.pot @@ -144,3 +144,9 @@ msgstr "" #: grub-parameters.csv:35 msgid "Force dont`t load nouveau driver video for Nvidia" msgstr "" + +msgid "Disabling ACPI support for libata driver" +msgstr "" + +msgid "Displays only errors and higher priority messages" +msgstr "" \ No newline at end of file diff --git a/locale/grub-parameters_ru.po b/locale/grub-parameters_ru.po index 8a7b8be..993029b 100644 --- a/locale/grub-parameters_ru.po +++ b/locale/grub-parameters_ru.po @@ -1,4 +1,4 @@ -# Russian translations grub-parameters.csv for ubl-settings-bootloader package. +# Russian translations for ubl-settings-bootloader package. # Copyright (C) 2025, UBTech LLC # This file is distributed under the same license as the ubl-settings-bootloader package. # UBLinux Team , 2025 @@ -6,137 +6,109 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader_grub-parameters.csv 1.0\n" +"Project-Id-Version: ubl-settings-bootloader 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" -"PO-Revision-Date: 2025-04-17 23:28+0600\n" -"Last-Translator: ublinux \n" -"Language-Team: Russian - UBLinux Team \n" +"POT-Creation-Date: 2025-04-25 15:27+0600\n" +"PO-Revision-Date: 2025-02-22 23:28+0600\n" +"Last-Translator: ublinux \n" +"Language-Team: Russian - UBLinux Team \n" "Language: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: grub-parameters.csv:3 -#: grub-parameters.csv:4 -#: grub-parameters.csv:2 msgid "Disable Plymouth" msgstr "Отключить Plymouth" -#: grub-parameters.csv:5 msgid "Write debug output into /var/log/plymouth-debug.log" -msgstr "Записать отладочный вывод в /var/log/plywright-debug.log" +msgstr "Записывать вывод отладки в /var/log/plymouth-debug.log" -#: grub-parameters.csv:6 msgid "Disable ACPI" msgstr "Отключить ACPI" -#: grub-parameters.csv:7 msgid "Disable APIC" msgstr "Отключить APIC" -#: grub-parameters.csv:8 msgid "Disable local APIC" msgstr "Отключить локальный APIC" -#: grub-parameters.csv:9 msgid "Single User Mode" msgstr "Однопользовательский режим" -#: grub-parameters.csv:10 msgid "Disable kernel selection and loading of video drivers" msgstr "Отключить выбор ядра и загрузку видеодрайверов" -#: grub-parameters.csv:11 msgid "Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int)" -msgstr "Включить драйвер (по умолчанию: auto, 0 = отключен, 1 = включен, 2 = headless) (int)" +msgstr "Включить драйвер (по умолчанию: auto, 0 = отключено, 1 = включено, 2 = без интерфеса) (int)" -#: grub-parameters.csv:12 msgid "Disable kernel/abi16 acceleration (int)" msgstr "Отключить ускорение ядра/abi16 (int)" -#: grub-parameters.csv:13 msgid "Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)" -msgstr "Использовать режим настройки ядра [KMS] (0 = отключить, 1 = включить, -1 = принудительно использовать предпочтение консоли VGA [по умолчанию]) (int)" +msgstr "Использовать установку режима ядра [KMS] (0=выключить, 1=включить, -1=принудительно использовать предпочтение VGA консоли [по умолчанию]) (int)" -#: grub-parameters.csv:14 msgid "Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)" -msgstr "Включить сжатие буфера кадра для экономии энергии (по умолчанию: -1 (использовать настройки для каждого чипа)) (int)" +msgstr "Включить сжатие кадрового буфера для экономии энергии (по умолчанию: -1 (использовать значение по умолчанию для чипа)) (int)" -#: grub-parameters.csv:15 -msgid "Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (int)" -msgstr "Включить энергосберегающие режимы C-состояния дисплея. (-1 = auto [по умолчанию], 0 = отключить, 1 = до DC5, 2 = до DC6, 3 = до DC5 с DC3CO, 4 = до DC6 с DC3CO) (int)" +msgid "Enable power-saving display C-states. (-1=auto [default], 0=disable, 1=up to DC5, 2=up to DC6, 3=up to DC5 with DC3CO, 4=up to DC6 with DC3CO) (int)" +msgstr "Включить режимы энергосбережения для дисплея C-состояний. (-1=авто [по умолчанию], 0=выключить, 1=до DC5, 2=до DC6, 3=до DC5 с DC3CO, 4=до DC6 с DC3CO) (int)" -#: grub-parameters.csv:16 msgid "Enable PSR (0=disabled, 1=enabled) (int)" -msgstr "Включить PSR (0 = отключен, 1 = включен) (int)" +msgstr "Включить PSR (0=выключено, 1=включено) (int)" -#: grub-parameters.csv:17 msgid "Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)" -msgstr "Отключить питание дисплея, когда возможно (-1 = auto [по умолчанию], 0 = питание всегда включено, 1 = питание отключено, когда возможно) (int)" +msgstr "Отключить энергоснабжение дисплея при возможности (-1=авто [по умолчанию], 0=подача энергии всегда включена, 1=подача энергии отключена при возможности) (int)" -#: grub-parameters.csv:18 msgid "Enable IPS (default: true) (int)" msgstr "Включить IPS (по умолчанию: true) (int)" -#: grub-parameters.csv:19 msgid "Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int)" -msgstr "Попытаться пропустить ненужные настройки режима при загрузке (0 = отключено, 1 = включено) По умолчанию: -1 (использовать настройки для каждого чипа) (int)" +msgstr "Попробовать пропустить ненужные установки режима при загрузке (0=выключено, 1=включено) По умолчанию: -1 (использовать значение по умолчанию для чипа) (int)" -#: grub-parameters.csv:20 msgid "Disable display (default: false) (bool)" msgstr "Отключить дисплей (по умолчанию: false) (bool)" -#: grub-parameters.csv:21 msgid "Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int)" -msgstr "Включить загрузку GuC для отправки GuC и/или загрузки HuC. Необходимую функциональность можно выбрать с помощью битовой маски. (-1 = auto [по умолчанию], 0 = отключить, 1 = отправка GuC, 2 = загрузка HuC) (int)" +msgstr "Включить загрузку GuC для подачи GuC и/или загрузки HuC. Необходимую функциональность можно выбрать с помощью значений битовой маски. (-1=авто [по умолчанию], 0=выключить, 1=подача GuC, 2=загрузка HuC) (int)" -#: grub-parameters.csv:22 msgid "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)" -msgstr "Включить мультипотоковую передачу (MST) для новых устройств DisplayPort (по умолчанию: true) (bool)" +msgstr "Включить многопотоковую передачу (MST) для новых дисплеев DisplayPort. (по умолчанию: true) (bool)" -#: grub-parameters.csv:23 msgid "Enable support for Intel GVT-g graphics virtualization host support (default:false) (bool)" -msgstr "Включить поддержку виртуализации графики Intel GVT-g (по умолчанию: false) (bool)" +msgstr "Включить поддержку виртуализации графики Intel GVT-g для хостов (по умолчанию: false) (bool)" -#: grub-parameters.csv:24 msgid "Marvell SATA via AHCI (1 = enabled) (int)" msgstr "Marvell SATA через AHCI (1 = включено) (int)" -#: grub-parameters.csv:25 msgid "Default LPM policy for mobile chipsets (default:-1) (int)" msgstr "Политика LPM по умолчанию для мобильных чипсетов (по умолчанию: -1) (int)" -#: grub-parameters.csv:26 msgid "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (int)" -msgstr "Принудительно использовать драйвер DSP для Intel DSP (0 = auto, 1 = legacy, 2 = SST, 3 = SOF) (int)" +msgstr "Принудительно включить драйвер DSP для Intel DSP (0=авто, 1=legacy, 2=SST, 3=SOF) (int)" -#: grub-parameters.csv:27 msgid "Do not use ACPI _CST for building the idle states list (default:N) (bool)" -msgstr "Не использовать ACPI _CST для построения списка состояний бездействия (по умолчанию: N) (bool)" +msgstr "Не использовать ACPI _CST для построения списка состояний простоя (по умолчанию: N) (bool)" -#: grub-parameters.csv:28 msgid "Use ACPI _CST for building the idle states list (default:N) (bool)" -msgstr "Использовать ACPI _CST для построения списка состояний бездействия (по умолчанию: N) (bool)" +msgstr "Использовать ACPI _CST для построения списка состояний простоя (по умолчанию: N) (bool)" -#: grub-parameters.csv:29 msgid "Prevents the processor from going into a deep sleep state (default:9) (int)" -msgstr "Предотвратить переход процессора в глубокий режим сна (по умолчанию: 9) (int)" +msgstr "Предотвращает переход процессора в глубокое состояние сна (по умолчанию: 9) (int)" -#: grub-parameters.csv:30 -#: grub-parameters.csv:31 -#: grub-parameters.csv:32 msgid "Eliminates flickering laptop display on Ultra Voltage processors (int)" -msgstr "Устранить мерцание экрана ноутбука на процессорах Ultra Voltage (int)" +msgstr "Устраняет мерцание дисплея ноутбука на процессорах с Ultra Voltage (int)" -#: grub-parameters.csv:33 msgid "Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (uint)" -msgstr "Маска отключенных состояний бездействия (0 = отключено, 1 = включено) По умолчанию: 0 (uint)" +msgstr "Маска отключенных состояний простоя (0=выключено, 1=включено) По умолчанию: 0 (uint)" -#: grub-parameters.csv:34 msgid "Default autosuspend delay (-1=disabled) (int)" -msgstr "Задержка автоотключения по умолчанию (-1 = отключено) (int)" +msgstr "Задержка автоматической приостановки по умолчанию (-1=выключено) (int)" -#: grub-parameters.csv:35 msgid "Force dont`t load nouveau driver video for Nvidia" -msgstr "Принудительно не загружать драйвер nouveau для видео Nvidia" +msgstr "Принудительно не загружать видеодрайвер nouveau для Nvidia" + +msgid "Disabling ACPI support for libata driver" +msgstr "Отключение поддержки ACPI для драйвера libata" + +msgid "Displays only errors and higher priority messages" +msgstr "Отображать только ошибки и сообщения более высокого приоритета" diff --git a/locale/grub-terminal-input.pot b/locale/grub-terminal-input.pot index ea36fea..a0c614c 100644 --- a/locale/grub-terminal-input.pot +++ b/locale/grub-terminal-input.pot @@ -1,4 +1,4 @@ -# Language translations grub-terminal-input.csv for ubl-settings-bootloader package. +# Language translations for ubl-settings-bootloader package. # Copyright (C) 2025, UBTech LLC # This file is distributed under the same license as the ubl-settings-bootloader package. # UBLinux Team , 2025 @@ -6,37 +6,28 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader_grub-terminal-input.csv 1.0\n" +"Project-Id-Version: ubl-settings-bootloader 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" -"PO-Revision-Date: 2025-01-01 00:00+0600\n" -"Last-Translator: ublinux \n" +"POT-Creation-Date: 2025-05-21 00:00+0600\n" +"PO-Revision-Date: 2025-05-21 00:00+0600\n" +"Last-Translator: UBLinux Team \n" "Language-Team: UBLinux Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: grub-terminal-input.csv:1 -msgid "Description" +msgid "PC BIOS & EFI Console" msgstr "" -#: grub-terminal-input.csv:2 -msgid "PC BIOS & EFI console" +msgid "Serial Terminal" msgstr "" -#: grub-terminal-input.csv:3 -msgid "Serial terminal" +msgid "Console Open Firmware" msgstr "" -#: grub-terminal-input.csv:4 -msgid "Open Firmware Console" -msgstr "" - -#: grub-terminal-input.csv:5 msgid "PC AT Keyboard (Coreboot)" msgstr "" -#: grub-terminal-input.csv:6 msgid "USB Keyboard (HID Boot protocol)" msgstr "" diff --git a/locale/grub-terminal-input_ru.po b/locale/grub-terminal-input_ru.po index 1290a1f..512ce2b 100644 --- a/locale/grub-terminal-input_ru.po +++ b/locale/grub-terminal-input_ru.po @@ -1,4 +1,4 @@ -# Russian translations grub-terminal-input.csv for ubl-settings-bootloader package. +# Russian translations for ubl-settings-bootloader package. # Copyright (C) 2025, UBTech LLC # This file is distributed under the same license as the ubl-settings-bootloader package. # UBLinux Team , 2025 @@ -6,21 +6,28 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader_grub-terminal-input.csv 1.0\n" +"Project-Id-Version: ubl-settings-bootloader 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" -"PO-Revision-Date: 2025-04-17 23:28+0600\n" -"Last-Translator: ublinux \n" -"Language-Team: Russian - UBLinux Team \n" +"POT-Creation-Date: 2025-05-21 00:00+0600\n" +"PO-Revision-Date: 2025-05-21 00:00+0600\n" +"Last-Translator: ublinux \n" +"Language-Team: Russian - UBLinux Team \n" "Language: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: grub-terminal-input.csv:5 +msgid "PC BIOS & EFI Console" +msgstr "PC BIOS & консоль EFI" + +msgid "Serial Terminal" +msgstr "Последовательный терминал" + +msgid "Console Open Firmware" +msgstr "Консоль Open Firmware" + msgid "PC AT Keyboard (Coreboot)" msgstr "Клавиатура PC AT (Coreboot)" -#: grub-terminal-input.csv:6 msgid "USB Keyboard (HID Boot protocol)" -msgstr "USB клавиатура (HID протокол загрузки)" +msgstr "USB клавиатура (HID протокол загрузки)" \ No newline at end of file diff --git a/locale/grub-terminal-output.pot b/locale/grub-terminal-output.pot index 4172777..b325567 100644 --- a/locale/grub-terminal-output.pot +++ b/locale/grub-terminal-output.pot @@ -1,4 +1,4 @@ -# Language translations grub-terminal-output.csv for ubl-settings-bootloader package. +# Language translations for ubl-settings-bootloader package. # Copyright (C) 2025, UBTech LLC # This file is distributed under the same license as the ubl-settings-bootloader package. # UBLinux Team , 2025 @@ -6,37 +6,28 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader_grub-terminal-output.csv 1.0\n" +"Project-Id-Version: ubl-settings-bootloader 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" -"PO-Revision-Date: 2025-01-01 00:00+0600\n" -"Last-Translator: ublinux \n" +"POT-Creation-Date: 2025-05-21 00:00+0600\n" +"PO-Revision-Date: 2025-05-21 00:00+0600\n" +"Last-Translator: UBLinux Team \n" "Language-Team: UBLinux Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: grub-terminal-output.csv:1 -msgid "Description" +msgid "PC BIOS & EFI Console" msgstr "" -#: grub-terminal-output.csv:2 -msgid "PC BIOS & EFI console" +msgid "Serial Terminal" msgstr "" -#: grub-terminal-output.csv:3 -msgid "Serial terminal" +msgid "Console Open Firmware" msgstr "" -#: grub-terminal-output.csv:4 -msgid "Open Firmware Console" +msgid "Output in graphics mode" msgstr "" -#: grub-terminal-output.csv:5 -msgid "Output in graphical mode" -msgstr "" - -#: grub-terminal-output.csv:6 msgid "VGA text output (Coreboot)" -msgstr "" +msgstr "" \ No newline at end of file diff --git a/locale/grub-terminal-output_ru.po b/locale/grub-terminal-output_ru.po index 19ab053..8fef79c 100644 --- a/locale/grub-terminal-output_ru.po +++ b/locale/grub-terminal-output_ru.po @@ -1,4 +1,4 @@ -# Russian translations grub-terminal-output.csv for ubl-settings-bootloader package. +# Russian translations for ubl-settings-bootloader package. # Copyright (C) 2025, UBTech LLC # This file is distributed under the same license as the ubl-settings-bootloader package. # UBLinux Team , 2025 @@ -6,33 +6,28 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader_grub-terminal-output.csv 1.0\n" +"Project-Id-Version: ubl-settings-bootloader 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" -"PO-Revision-Date: 2025-04-17 23:28+0600\n" -"Last-Translator: ublinux \n" -"Language-Team: Russian - UBLinux Team \n" +"POT-Creation-Date: 2025-05-21 00:00+0600\n" +"PO-Revision-Date: 2025-05-21 00:00+0600\n" +"Last-Translator: ublinux \n" +"Language-Team: Russian - UBLinux Team \n" "Language: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: grub-terminal-output.csv:2 -msgid "PC BIOS & EFI console" -msgstr "PC BIOS & EFI консоль" +msgid "PC BIOS & EFI Console" +msgstr "PC BIOS & консоль EFI" -#: grub-terminal-output.csv:3 -msgid "Serial terminal" -msgstr "Терминал Serial" +msgid "Serial Terminal" +msgstr "Последовательный терминал" -#: grub-terminal-output.csv:4 -msgid "Open Firmware Console" +msgid "Console Open Firmware" msgstr "Консоль Open Firmware" -#: grub-terminal-output.csv:5 -msgid "Output in graphical mode" +msgid "Output in graphics mode" msgstr "Вывод в графическом режиме" -#: grub-terminal-output.csv:6 msgid "VGA text output (Coreboot)" -msgstr "Текстовый вывод VGA (Coreboot)" +msgstr "Текстовый вывод VGA (Coreboot)" \ No newline at end of file diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index b435921..12c3342 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -15,8 +15,6 @@ #endif #include "ubl-strings.h" -#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-bootloader" - #define _(String) gettext(String) #define glade_path "/com/ublinux/ui/ubl-settings-bootloader.glade" diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 930f63a..38408e6 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -1,6 +1,7 @@ #define TITLE_LABEL _("System boot") #define TITLE_INFO_LABEL _("Configuring system boot parameters") +#define WIKI_LINK _("https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-bootloader") #define BOOT_MENU_LABEL _("Boot menu") #define BOOT_SELECTION_LABEL _("Boot selection menu timer:") From ed4a703ab9f225920b05968bcacd848ae060d91f Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 26 May 2025 17:55:41 +0600 Subject: [PATCH 2/5] Wiki link added to localisation --- locale/ubl-settings-bootloader.pot | 118 ++++++++++++++------------- locale/ubl-settings-bootloader_ru.po | 118 ++++++++++++++------------- source/ubl-settings-bootloader.c | 15 ++-- 3 files changed, 130 insertions(+), 121 deletions(-) diff --git a/locale/ubl-settings-bootloader.pot b/locale/ubl-settings-bootloader.pot index 8155bc4..b876a89 100644 --- a/locale/ubl-settings-bootloader.pot +++ b/locale/ubl-settings-bootloader.pot @@ -25,226 +25,232 @@ msgstr "" msgid "Configuring system boot parameters" msgstr "" -#: source/ubl-strings.h:5 -msgid "Boot menu" +#: source/ubl-strings.h:4 +msgid "" +"https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/" +"ubl-settings-bootloader" msgstr "" #: source/ubl-strings.h:6 -msgid "Boot selection menu timer:" +msgid "Boot menu" msgstr "" #: source/ubl-strings.h:7 -msgid "seconds" +msgid "Boot selection menu timer:" msgstr "" #: source/ubl-strings.h:8 -msgid "Default" +msgid "seconds" msgstr "" #: source/ubl-strings.h:9 -msgid "Default OS:" +msgid "Default" msgstr "" #: source/ubl-strings.h:10 -msgid "Load screen display mode:" +msgid "Default OS:" msgstr "" #: source/ubl-strings.h:11 -msgid "Boot Menu Users" +msgid "Load screen display mode:" msgstr "" #: source/ubl-strings.h:12 -msgid "Startup ringtone" +msgid "Boot Menu Users" msgstr "" #: source/ubl-strings.h:13 -msgid "Parameters passed to the kernel" +msgid "Startup ringtone" msgstr "" #: source/ubl-strings.h:14 -msgid "Command line parameters:" +msgid "Parameters passed to the kernel" msgstr "" #: source/ubl-strings.h:15 -msgid "Input terminal" +msgid "Command line parameters:" msgstr "" #: source/ubl-strings.h:16 +msgid "Input terminal" +msgstr "" + +#: source/ubl-strings.h:17 msgid "Output terminal" msgstr "" -#: source/ubl-strings.h:18 source/ubl-strings.h:56 +#: source/ubl-strings.h:19 source/ubl-strings.h:57 msgid "Administrator" msgstr "" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:20 msgid "Name" msgstr "" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:21 source/ubl-strings.h:61 msgid "User" msgstr "" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "Password" msgstr "" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Melody code" msgstr "" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Option" msgstr "" -#: source/ubl-strings.h:24 +#: source/ubl-strings.h:25 msgid "Description" msgstr "" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Add" msgstr "" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:28 msgid "Edit" msgstr "" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:29 msgid "Remove" msgstr "" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:31 msgid "Accept" msgstr "" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:32 msgid "Cancel" msgstr "" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:34 msgid "Boot animation with log" msgstr "" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:35 msgid "Boot animation without log" msgstr "" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:36 msgid "No boot animation with log" msgstr "" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:37 msgid "No boot animation with shortened log" msgstr "" -#: source/ubl-strings.h:37 +#: source/ubl-strings.h:38 msgid "Back" msgstr "" -#: source/ubl-strings.h:38 +#: source/ubl-strings.h:39 msgid "Default (Use last succeeded)" msgstr "" -#: source/ubl-strings.h:40 +#: source/ubl-strings.h:41 msgid "Password input" msgstr "" -#: source/ubl-strings.h:41 source/ubl-strings.h:48 +#: source/ubl-strings.h:42 source/ubl-strings.h:49 msgid "Repeat password:" msgstr "" -#: source/ubl-strings.h:42 source/ubl-strings.h:50 +#: source/ubl-strings.h:43 source/ubl-strings.h:51 msgid "Password hash:" msgstr "" -#: source/ubl-strings.h:43 source/ubl-strings.h:49 +#: source/ubl-strings.h:44 source/ubl-strings.h:50 msgid "Do not encrypt password" msgstr "" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:45 msgid "Password contain special symbols" msgstr "" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:46 msgid "Empty important field" msgstr "" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:47 msgid "Password mismatch" msgstr "" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:48 msgid "Password:" msgstr "" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:52 msgid "Password must be at least" msgstr "" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:52 msgid "characters" msgstr "" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:54 msgid "Add user" msgstr "" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:55 msgid "Edit user" msgstr "" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:56 msgid "Delete user" msgstr "" -#: source/ubl-strings.h:57 +#: source/ubl-strings.h:58 msgid "User name:" msgstr "" -#: source/ubl-strings.h:58 +#: source/ubl-strings.h:59 msgid "User password:" msgstr "" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:60 msgid "Are you sure you want to remove user" msgstr "" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:60 msgid "from boot menu users" msgstr "" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:61 msgid "is already exists. Do you really want to save user" msgstr "" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:63 msgid "Add ringtone" msgstr "" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:64 msgid "Edit ringtone" msgstr "" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:65 msgid "Delete ringtone" msgstr "" -#: source/ubl-strings.h:65 +#: source/ubl-strings.h:66 msgid "Chosen" msgstr "" -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:67 msgid "Name:" msgstr "" -#: source/ubl-strings.h:67 +#: source/ubl-strings.h:68 msgid "Melody code:" msgstr "" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:69 msgid "Are you sure you want to remove ringtone" msgstr "" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:70 msgid "This ringtone name is already used by standard ringtone" msgstr "" diff --git a/locale/ubl-settings-bootloader_ru.po b/locale/ubl-settings-bootloader_ru.po index 5c4b348..7558c4f 100644 --- a/locale/ubl-settings-bootloader_ru.po +++ b/locale/ubl-settings-bootloader_ru.po @@ -25,226 +25,232 @@ msgstr "Загрузка системы" msgid "Configuring system boot parameters" msgstr "Настройка параметров загрузки системы" -#: source/ubl-strings.h:5 +#: source/ubl-strings.h:4 +msgid "" +"https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/" +"ubl-settings-bootloader" +msgstr "" + +#: source/ubl-strings.h:6 msgid "Boot menu" msgstr "Меню загрузки" -#: source/ubl-strings.h:6 +#: source/ubl-strings.h:7 msgid "Boot selection menu timer:" msgstr "Таймер меню выбора варианта загрузки:" -#: source/ubl-strings.h:7 +#: source/ubl-strings.h:8 msgid "seconds" msgstr "секунд" -#: source/ubl-strings.h:8 +#: source/ubl-strings.h:9 msgid "Default" msgstr "По умолчанию" -#: source/ubl-strings.h:9 +#: source/ubl-strings.h:10 msgid "Default OS:" msgstr "Загрузка по умолчанию:" -#: source/ubl-strings.h:10 +#: source/ubl-strings.h:11 msgid "Load screen display mode:" msgstr "Режим отображения экрана загрузки:" -#: source/ubl-strings.h:11 +#: source/ubl-strings.h:12 msgid "Boot Menu Users" msgstr "Пользователи меню загрузчика" -#: source/ubl-strings.h:12 +#: source/ubl-strings.h:13 msgid "Startup ringtone" msgstr "Мелодия при запуске" -#: source/ubl-strings.h:13 +#: source/ubl-strings.h:14 msgid "Parameters passed to the kernel" msgstr "Параметры, передаваемые ядру" -#: source/ubl-strings.h:14 +#: source/ubl-strings.h:15 msgid "Command line parameters:" msgstr "Параметры командной строки:" -#: source/ubl-strings.h:15 +#: source/ubl-strings.h:16 msgid "Input terminal" msgstr "Терминал для ввода" -#: source/ubl-strings.h:16 +#: source/ubl-strings.h:17 msgid "Output terminal" msgstr "Терминал для вывода" -#: source/ubl-strings.h:18 source/ubl-strings.h:56 +#: source/ubl-strings.h:19 source/ubl-strings.h:57 msgid "Administrator" msgstr "Администратор" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:20 msgid "Name" msgstr "Название" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:21 source/ubl-strings.h:61 msgid "User" msgstr "Пользователь" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "Password" msgstr "Пароль" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Melody code" msgstr "Код мелодии" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Option" msgstr "Опция" -#: source/ubl-strings.h:24 +#: source/ubl-strings.h:25 msgid "Description" msgstr "Описание" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Add" msgstr "Добавить" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:28 msgid "Edit" msgstr "Редактировать" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:29 msgid "Remove" msgstr "Удалить" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:31 msgid "Accept" msgstr "Принять" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:32 msgid "Cancel" msgstr "Отменить" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:34 msgid "Boot animation with log" msgstr "Анимация загрузки с журналом" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:35 msgid "Boot animation without log" msgstr "Анимация загрузки без журнала" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:36 msgid "No boot animation with log" msgstr "Отсутствие анимации загрузки с выводом журнала" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:37 msgid "No boot animation with shortened log" msgstr "Отсутствие анимации загрузки с выводом сокращённого журнала" -#: source/ubl-strings.h:37 +#: source/ubl-strings.h:38 msgid "Back" msgstr "Назад" -#: source/ubl-strings.h:38 +#: source/ubl-strings.h:39 msgid "Default (Use last succeeded)" msgstr "По умолчанию (Последняя удачная загрузка)" -#: source/ubl-strings.h:40 +#: source/ubl-strings.h:41 msgid "Password input" msgstr "Ввод пароля" -#: source/ubl-strings.h:41 source/ubl-strings.h:48 +#: source/ubl-strings.h:42 source/ubl-strings.h:49 msgid "Repeat password:" msgstr "Подтвердите ввод пароля:" -#: source/ubl-strings.h:42 source/ubl-strings.h:50 +#: source/ubl-strings.h:43 source/ubl-strings.h:51 msgid "Password hash:" msgstr "Хэш пароля" -#: source/ubl-strings.h:43 source/ubl-strings.h:49 +#: source/ubl-strings.h:44 source/ubl-strings.h:50 msgid "Do not encrypt password" msgstr "Не шифровать пароль" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:45 msgid "Password contain special symbols" msgstr "Пароль содержит специальные символы" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:46 msgid "Empty important field" msgstr "Пустое важное поле" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:47 msgid "Password mismatch" msgstr "Пароли не совпадают" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:48 msgid "Password:" msgstr "Пароль:" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:52 msgid "Password must be at least" msgstr "Пароль состоять из по крайней мере" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:52 msgid "characters" msgstr "символов" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:54 msgid "Add user" msgstr "Добавить пользователя" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:55 msgid "Edit user" msgstr "Редактировать пользователя" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:56 msgid "Delete user" msgstr "Удалить пользователя" -#: source/ubl-strings.h:57 +#: source/ubl-strings.h:58 msgid "User name:" msgstr "Имя пользователя:" -#: source/ubl-strings.h:58 +#: source/ubl-strings.h:59 msgid "User password:" msgstr "Пароль пользователя:" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:60 msgid "Are you sure you want to remove user" msgstr "Вы уверены, что хотите удалить пользователя" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:60 msgid "from boot menu users" msgstr "из пользователей меню загрузчика" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:61 msgid "is already exists. Do you really want to save user" msgstr "уже существует. Вы действительно хотите сохранить пользователя" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:63 msgid "Add ringtone" msgstr "Добавить мелодию" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:64 msgid "Edit ringtone" msgstr "Изменение мелодии" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:65 msgid "Delete ringtone" msgstr "Удалить мелодию" -#: source/ubl-strings.h:65 +#: source/ubl-strings.h:66 msgid "Chosen" msgstr "Выбран" -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:67 msgid "Name:" msgstr "Название:" -#: source/ubl-strings.h:67 +#: source/ubl-strings.h:68 msgid "Melody code:" msgstr "Код мелодии:" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:69 msgid "Are you sure you want to remove ringtone" msgstr "Вы уверены, что хотите удалить мелодию" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:70 msgid "This ringtone name is already used by standard ringtone" msgstr "Название этой мелодии уже используется для одной из стандартных" diff --git a/source/ubl-settings-bootloader.c b/source/ubl-settings-bootloader.c index d4d7786..54cedad 100644 --- a/source/ubl-settings-bootloader.c +++ b/source/ubl-settings-bootloader.c @@ -57,7 +57,6 @@ void on_config_local_save(GtkWidget *, main_window *){ if (window){ yon_save_window_hide_passwords(window); }; - } void on_config_global_save(GtkWidget *, main_window *){ @@ -66,7 +65,6 @@ void on_config_global_save(GtkWidget *, main_window *){ if (window){ yon_save_window_hide_passwords(window); }; - } void on_config_custom_save(GtkWidget *, main_window *){ @@ -78,16 +76,15 @@ void on_config_custom_save(GtkWidget *, main_window *){ } void on_config_local_load(GtkWidget *,main_window *widgets){ - yon_load_proceed(YON_CONFIG_LOCAL); - yon_interface_update(widgets); - main_config.load_mode=YON_CONFIG_LOCAL; + yon_load_proceed(YON_CONFIG_LOCAL); + yon_interface_update(widgets); + main_config.load_mode=YON_CONFIG_LOCAL; } void on_config_global_load(GtkWidget *,main_window *widgets){ - yon_load_proceed(YON_CONFIG_GLOBAL); - yon_interface_update(widgets); - main_config.load_mode=YON_CONFIG_GLOBAL; - + yon_load_proceed(YON_CONFIG_GLOBAL); + yon_interface_update(widgets); + main_config.load_mode=YON_CONFIG_GLOBAL; } void on_config_custom_load(GtkWidget *,main_window *widgets){ From fa817936ca2564a0b32be52c6c99cb4f505b0b27 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 29 May 2025 09:55:11 +0600 Subject: [PATCH 3/5] Template update --- Makefile | 6 +- ...blinux.ubl-settings-bootloader.checked.svg | 327 ------------------ ...blinux.ubl-settings-bootloader.warning.svg | 55 --- .../com.ublinux.ubl-settings-bootloader.svg | 0 locale/grub-parameters_ru.po | 2 +- locale/grub-terminal-input.pot | 2 +- locale/grub-terminal-input_ru.po | 2 +- locale/grub-terminal-output.pot | 2 +- locale/grub-terminal-output_ru.po | 2 +- logo-background.png | Bin 33872 -> 0 bytes ubl-settings-bootloader-banner.png | Bin 33872 -> 0 bytes 11 files changed, 6 insertions(+), 392 deletions(-) delete mode 100644 com.ublinux.ubl-settings-bootloader.checked.svg delete mode 100644 com.ublinux.ubl-settings-bootloader.warning.svg rename com.ublinux.ubl-settings-bootloader.svg => icons/apps/com.ublinux.ubl-settings-bootloader.svg (100%) delete mode 100644 logo-background.png delete mode 100644 ubl-settings-bootloader-banner.png diff --git a/Makefile b/Makefile index 96706b7..21263cf 100644 --- a/Makefile +++ b/Makefile @@ -120,12 +120,8 @@ install: check uninstall done @for SIZE in 16 32 48; do \ install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \ - rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ + rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "icons/apps/com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ done - @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg" - @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" \ - "com.ublinux.${PKGNAME}.checked.svg" \ - "com.ublinux.${PKGNAME}.warning.svg" @for FILE_ICON in $(wildcard icons/*/*.svg); do \ SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \ install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}" $${FILE_ICON}; \ diff --git a/com.ublinux.ubl-settings-bootloader.checked.svg b/com.ublinux.ubl-settings-bootloader.checked.svg deleted file mode 100644 index e3cab42..0000000 --- a/com.ublinux.ubl-settings-bootloader.checked.svg +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/com.ublinux.ubl-settings-bootloader.warning.svg b/com.ublinux.ubl-settings-bootloader.warning.svg deleted file mode 100644 index 9a90dba..0000000 --- a/com.ublinux.ubl-settings-bootloader.warning.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/com.ublinux.ubl-settings-bootloader.svg b/icons/apps/com.ublinux.ubl-settings-bootloader.svg similarity index 100% rename from com.ublinux.ubl-settings-bootloader.svg rename to icons/apps/com.ublinux.ubl-settings-bootloader.svg diff --git a/locale/grub-parameters_ru.po b/locale/grub-parameters_ru.po index 993029b..e1c782d 100644 --- a/locale/grub-parameters_ru.po +++ b/locale/grub-parameters_ru.po @@ -6,7 +6,7 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader 1.0\n" +"Project-Id-Version: ubl-settings-bootloader_grub-parameters.csv 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" "POT-Creation-Date: 2025-04-25 15:27+0600\n" "PO-Revision-Date: 2025-02-22 23:28+0600\n" diff --git a/locale/grub-terminal-input.pot b/locale/grub-terminal-input.pot index a0c614c..da85254 100644 --- a/locale/grub-terminal-input.pot +++ b/locale/grub-terminal-input.pot @@ -6,7 +6,7 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader 1.0\n" +"Project-Id-Version: ubl-settings-bootloader_grub-terminal-input.csv 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" "POT-Creation-Date: 2025-05-21 00:00+0600\n" "PO-Revision-Date: 2025-05-21 00:00+0600\n" diff --git a/locale/grub-terminal-input_ru.po b/locale/grub-terminal-input_ru.po index 512ce2b..9bffd26 100644 --- a/locale/grub-terminal-input_ru.po +++ b/locale/grub-terminal-input_ru.po @@ -6,7 +6,7 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader 1.0\n" +"Project-Id-Version: ubl-settings-bootloader_grub-terminal-input.csv 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" "POT-Creation-Date: 2025-05-21 00:00+0600\n" "PO-Revision-Date: 2025-05-21 00:00+0600\n" diff --git a/locale/grub-terminal-output.pot b/locale/grub-terminal-output.pot index b325567..66cb1a8 100644 --- a/locale/grub-terminal-output.pot +++ b/locale/grub-terminal-output.pot @@ -6,7 +6,7 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader 1.0\n" +"Project-Id-Version: ubl-settings-bootloader_grub-terminal-output.csv 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" "POT-Creation-Date: 2025-05-21 00:00+0600\n" "PO-Revision-Date: 2025-05-21 00:00+0600\n" diff --git a/locale/grub-terminal-output_ru.po b/locale/grub-terminal-output_ru.po index 8fef79c..18c028a 100644 --- a/locale/grub-terminal-output_ru.po +++ b/locale/grub-terminal-output_ru.po @@ -6,7 +6,7 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ubl-settings-bootloader 1.0\n" +"Project-Id-Version: ubl-settings-bootloader_grub-terminal-output.csv 1.0\n" "Report-Msgid-Bugs-To: support@ublinux.com\n" "POT-Creation-Date: 2025-05-21 00:00+0600\n" "PO-Revision-Date: 2025-05-21 00:00+0600\n" diff --git a/logo-background.png b/logo-background.png deleted file mode 100644 index 8eb67cbc38babeaf498d981356cf7e77e2741f12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33872 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 z Date: Thu, 29 May 2025 10:55:19 +0000 Subject: [PATCH 4/5] csv rename --- gresource.xml | 5 +---- grub-parameters.csv => grub-cmdline-linux.csv | 0 locale/{grub-parameters.pot => grub-cmdline-linux.pot} | 0 locale/{grub-parameters_ru.po => grub-cmdline-linux_ru.po} | 0 source/CMakeLists.txt | 3 +-- source/ubl-settings-bootloader.h | 2 +- 6 files changed, 3 insertions(+), 7 deletions(-) rename grub-parameters.csv => grub-cmdline-linux.csv (100%) rename locale/{grub-parameters.pot => grub-cmdline-linux.pot} (100%) rename locale/{grub-parameters_ru.po => grub-cmdline-linux_ru.po} (100%) diff --git a/gresource.xml b/gresource.xml index ef6c431..bda515b 100644 --- a/gresource.xml +++ b/gresource.xml @@ -11,11 +11,8 @@ ubl-settings-bootloader.css - - ubl-settings-bootloader-banner.png - - grub-parameters.csv + grub-cmdline-linux.csv grub-terminal-input.csv grub-terminal-output.csv grub-melody.csv diff --git a/grub-parameters.csv b/grub-cmdline-linux.csv similarity index 100% rename from grub-parameters.csv rename to grub-cmdline-linux.csv diff --git a/locale/grub-parameters.pot b/locale/grub-cmdline-linux.pot similarity index 100% rename from locale/grub-parameters.pot rename to locale/grub-cmdline-linux.pot diff --git a/locale/grub-parameters_ru.po b/locale/grub-cmdline-linux_ru.po similarity index 100% rename from locale/grub-parameters_ru.po rename to locale/grub-cmdline-linux_ru.po diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 37dad89..e1d0565 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -37,12 +37,11 @@ set(DEPENDFILES ../ubl-settings-bootloader-ringtone.glade ../ubl-settings-bootloader-menu.glade ../ubl-settings-bootloader-menu-item.glade - ../grub-parameters.csv + ../grub-cmdline-linux.csv ../grub-terminal-input.csv ../grub-terminal-output.csv ../grub-melody.csv ../gresource.xml - ../ubl-settings-bootloader-banner.png ../ubl-settings-bootloader.css ) diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 12c3342..3eef6a1 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -27,7 +27,7 @@ #define CssPath "/com/ublinux/css/ubl-settings-bootloader.css" #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define icon_path "com.ublinux.ubl-settings-bootloader" -#define kernel_options_path "resource:///com/ublinux/csv/grub-parameters.csv" +#define kernel_options_path "resource:///com/ublinux/csv/grub-cmdline-linux.csv" #define terminal_input_path "resource:///com/ublinux/csv/grub-terminal-input.csv" #define terminal_output_path "resource:///com/ublinux/csv/grub-terminal-output.csv" #define melody_path "resource:///com/ublinux/csv/grub-melody.csv" From 4b0e1bb5a139e76e90896d198723e9db12e08530 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 29 May 2025 10:57:48 +0000 Subject: [PATCH 5/5] csv updates --- grub-cmdline-linux.csv | 74 ++++++++++++++++---------------- grub-melody.csv | 4 +- grub-terminal-input.csv | 12 +++--- grub-terminal-output.csv | 12 +++--- source/ubl-settings-bootloader.c | 6 +-- 5 files changed, 54 insertions(+), 54 deletions(-) diff --git a/grub-cmdline-linux.csv b/grub-cmdline-linux.csv index e9dd6c6..75946bf 100644 --- a/grub-cmdline-linux.csv +++ b/grub-cmdline-linux.csv @@ -1,37 +1,37 @@ -OPTION|DESCRIPTION -noplymouth|Disable Plymouth -rd.plymouth=0|Disable Plymouth -plymouth.enable=0|Disable Plymouth -plymouth.debug|Write debug output into /var/log/plymouth-debug.log -acpi=off|Disable ACPI -noapic|Disable APIC -nolapic|Disable local APIC -single|Single User Mode -nomodeset|Disable kernel selection and loading of video drivers -nouveau.modeset=0|Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int) -nouveau.noaccel|Disable kernel/abi16 acceleration (int) -i915.modeset=1|Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int) -i915.enable_fbc=0|Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int) -i915.enable_dc=0|Enable power-saving display C-states. (-1=auto [default], 0=disable, 1=up to DC5, 2=up to DC6, 3=up to DC5 with DC3CO, 4=up to DC6 with DC3CO) (int) -i915.enable_psr=0|Enable PSR (0=disabled, 1=enabled) (int) -i915.disable_power_well=1|Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int) -i915.enable_ips=N|Enable IPS (default: true) (int) -i915.fastboot=1|Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int) -i915.disable_display=Y|Disable display (default: false) (bool) -i915.enable_guc=0|Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int) -i915.enable_dp_mst=N|Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool) -i915.enable_gvt=Y|Enable support for Intel GVT-g graphics virtualization host support (default:false) (bool) -ahci.marvell_enable=1|Marvell SATA via AHCI (1 = enabled) (int) -ahci.mobile_lpm_policy=1|Default LPM policy for mobile chipsets (default:-1) (int) -snd-intel-dspcfg.dsp_driver=1|Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (int) -intel_idle.no_acpi=Y|Do not use ACPI _CST for building the idle states list (default:N) (bool) -intel_idle.use_acpi=Y|Use ACPI _CST for building the idle states list (default:N) (bool) -intel_idle.max_cstate=1|Prevents the processor from going into a deep sleep state (default:9) (int) -intel_idle.max_cstate=2|Eliminates flickering laptop display on Ultra Voltage processors (int) -intel_idle.max_cstate=3|Eliminates flickering laptop display on Ultra Voltage processors (int) -intel_idle.max_cstate=4|Eliminates flickering laptop display on Ultra Voltage processors (int) -intel_idle.states_off=1|Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (uint) -usbcore.autosuspend=-1|Default autosuspend delay (-1=disabled) (int) -modprobe.blacklist=nouveau|Force dont`t load nouveau driver video for Nvidia -libata.noacpi=1|Disabling ACPI support for libata driver -loglevel=3|Displays only errors and higher priority messages \ No newline at end of file +OPTION;DESCRIPTION +noplymouth;Disable Plymouth +rd.plymouth=0;Disable Plymouth +plymouth.enable=0;Disable Plymouth +plymouth.debug;Write debug output into /var/log/plymouth-debug.log +acpi=off;Disable ACPI +noapic;Disable APIC +nolapic;Disable local APIC +single;Single User Mode +nomodeset;Disable kernel selection and loading of video drivers +nouveau.modeset=0;Enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int) +nouveau.noaccel;Disable kernel/abi16 acceleration (int) +i915.modeset=1;Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int) +i915.enable_fbc=0;Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int) +i915.enable_dc=0;Enable power-saving display C-states. (-1=auto [default], 0=disable, 1=up to DC5, 2=up to DC6, 3=up to DC5 with DC3CO, 4=up to DC6 with DC3CO) (int) +i915.enable_psr=0;Enable PSR (0=disabled, 1=enabled) (int) +i915.disable_power_well=1;Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int) +i915.enable_ips=N;Enable IPS (default: true) (int) +i915.fastboot=1;Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int) +i915.disable_display=Y;Disable display (default: false) (bool) +i915.enable_guc=0;Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int) +i915.enable_dp_mst=N;Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool) +i915.enable_gvt=Y;Enable support for Intel GVT-g graphics virtualization host support (default:false) (bool) +ahci.marvell_enable=1;Marvell SATA via AHCI (1 = enabled) (int) +ahci.mobile_lpm_policy=1;Default LPM policy for mobile chipsets (default:-1) (int) +snd-intel-dspcfg.dsp_driver=1;Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF) (int) +intel_idle.no_acpi=Y;Do not use ACPI _CST for building the idle states list (default:N) (bool) +intel_idle.use_acpi=Y;Use ACPI _CST for building the idle states list (default:N) (bool) +intel_idle.max_cstate=1;Prevents the processor from going into a deep sleep state (default:9) (int) +intel_idle.max_cstate=2;Eliminates flickering laptop display on Ultra Voltage processors (int) +intel_idle.max_cstate=3;Eliminates flickering laptop display on Ultra Voltage processors (int) +intel_idle.max_cstate=4;Eliminates flickering laptop display on Ultra Voltage processors (int) +intel_idle.states_off=1;Mask of disabled idle states (0=disabled, 1=enabled) Default: 0 (uint) +usbcore.autosuspend=-1;Default autosuspend delay (-1=disabled) (int) +modprobe.blacklist=nouveau;Force dont`t load nouveau driver video for Nvidia +libata.noacpi=1;Disabling ACPI support for libata driver +loglevel=3;Displays only errors and higher priority messages \ No newline at end of file diff --git a/grub-melody.csv b/grub-melody.csv index 070f201..661100d 100644 --- a/grub-melody.csv +++ b/grub-melody.csv @@ -1,2 +1,2 @@ -Option|Tone code -ubbeep|480 900 2 1000 2 800 2 400 2 600 3 \ No newline at end of file +OPTION;TONE_CODE +ubbeep;480 900 2 1000 2 800 2 400 2 600 3 \ No newline at end of file diff --git a/grub-terminal-input.csv b/grub-terminal-input.csv index 868710a..b4cfc9b 100644 --- a/grub-terminal-input.csv +++ b/grub-terminal-input.csv @@ -1,6 +1,6 @@ -OPTION|DESCRIPTION -console|PC BIOS & EFI Console -serial|Serial Terminal -ofconsole|Console Open Firmware -at_keyboard|PC AT Keyboard (Coreboot) -usb_keyboard|USB Keyboard (HID Boot protocol) \ No newline at end of file +OPTION;DESCRIPTION +console;PC BIOS & EFI Console +serial;Serial Terminal +ofconsole;Console Open Firmware +at_keyboard;PC AT Keyboard (Coreboot) +usb_keyboard;USB Keyboard (HID Boot protocol) \ No newline at end of file diff --git a/grub-terminal-output.csv b/grub-terminal-output.csv index 4978186..bbfb92f 100644 --- a/grub-terminal-output.csv +++ b/grub-terminal-output.csv @@ -1,6 +1,6 @@ -OPTION|DESCRIPTION -console|PC BIOS & EFI Console -serial|Serial Terminal -ofconsole|Console Open Firmware -gfxterm|Output in graphics mode -vga_text|VGA text output (Coreboot) \ No newline at end of file +OPTION;DESCRIPTION +console;PC BIOS & EFI Console +serial;Serial Terminal +ofconsole;Console Open Firmware +gfxterm;Output in graphics mode +vga_text;VGA text output (Coreboot) \ No newline at end of file diff --git a/source/ubl-settings-bootloader.c b/source/ubl-settings-bootloader.c index 54cedad..9d10b6d 100644 --- a/source/ubl-settings-bootloader.c +++ b/source/ubl-settings-bootloader.c @@ -230,7 +230,7 @@ void yon_interface_update(main_window *widgets){ config_str parameters = yon_char_parse(parameter,&size," "); for (int i=1;iKernelParametersList,&iter); gtk_list_store_set(widgets->KernelParametersList,&iter,0,yon_char_parsed_check_exist(parameters,size,cur_parameter)>-1,1,cur_parameter,2,_(description),-1); } @@ -245,7 +245,7 @@ void yon_interface_update(main_window *widgets){ config_str parameters = yon_char_parse(parameter,&size," "); for (int i=1;iInputTerminalList,&iter); gtk_list_store_set(widgets->InputTerminalList,&iter,0,yon_char_parsed_check_exist(parameters,size,cur_parameter)>-1,1,cur_parameter,2,_(description),-1); } @@ -260,7 +260,7 @@ void yon_interface_update(main_window *widgets){ config_str parameters = yon_char_parse(parameter,&size," "); for (int i=1;iOutputTerminalList,&iter); gtk_list_store_set(widgets->OutputTerminalList,&iter,0,yon_char_parsed_check_exist(parameters,size,cur_parameter)>-1,1,cur_parameter,2,_(description),-1); }