Merge branch 'CloverHackyColor:master' into master

This commit is contained in:
Steve Zheng 2021-05-24 06:56:30 +08:00
commit 8f1bf62d7a
49 changed files with 1697 additions and 600 deletions

View File

@ -218,11 +218,11 @@ Install to /EFI/CLOVER/themes/steampunkblack";
"BootLoaderChooser_title" = "BootLoaderChooser";
"BootLoaderChooser_description" = "BootLoaderChooser by jief,
This tool is a menu that allows you to choose which bootloader you want to load.
Will replace your BOOX64.efi, you can choose between Clover and OpenCore.
Will replace your BOOTX64.efi, you can choose between several bootloader versions.
The first time, you'll get the menu. Choose one bootloader.
The next times, it'll immediately load the bootloader you chose before.
When you need the menu back, just boot your computer with a key pressed.
INSTALL ONLY IF YOU KNOW WHAT ARE YOU DOING !!!
INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!
More infos https://github.com/jief666/BootloaderChooser. ";
// ============================================================================

View File

@ -4,18 +4,14 @@ echo "==============================================="
echo "BootLoaderChooser Post-Install Script"
echo "==============================================="
#echo "DEBUG: $ 1 = Full path to the installation package the installer app is processing: " $1
#echo "DEBUG: $ 2 = Full path to the installation destination: " $2
#echo "DEBUG: $ 3 = Installation volume (mountpoint) to receive the payload: " $3
#echo "DEBUG: $ 4 = Root directory for the system: " $4
echo "preinstall: Path to installer....... $1"
echo "preinstall: Path to destination..... $2"
echo "preinstall: Path to dest volume..... $3"
echo "preinstall: Root of system folder... $4"
#############################################################################
echo "postinstall: Path to installer....... $1"
echo "postinstall: Path to destination..... $2"
echo "postinstall: Path to dest volume..... $3"
echo "postinstall: Root of system folder... $4"
######################################################
# If target volume root of current system then replace
# / with volume name.
DEST_VOL="${3}"
EFI_ROOT_DIR=$(cd "${DEST_VOL}"/Private/tmp/EFIROOTDIR; pwd -P)
CLOVER_INSTALLER_PLIST_NEW="${DEST_VOL}@CLOVER_INSTALLER_PLIST_NEW@"
@ -29,4 +25,3 @@ cloverEFIFile='@CLOVER_BOOT_FILE@'
# Mark that the option was selected
/usr/libexec/PlistBuddy -c "Add $installer_choice bool true" "$CLOVER_INSTALLER_PLIST_NEW" >/dev/null

View File

@ -4,26 +4,19 @@ echo "==============================================="
echo "CloverConfigPlistValidator Post-Install Script"
echo "==============================================="
#echo "DEBUG: $ 1 = Full path to the installation package the installer app is processing: " $1
#echo "DEBUG: $ 2 = Full path to the installation destination: " $2
#echo "DEBUG: $ 3 = Installation volume (mountpoint) to receive the payload: " $3
#echo "DEBUG: $ 4 = Root directory for the system: " $4
echo "preinstall: Path to installer....... $1"
echo "preinstall: Path to destination..... $2"
echo "preinstall: Path to dest volume..... $3"
echo "preinstall: Root of system folder... $4"
echo "postinstall: Path to installer....... $1"
echo "postinstall: Path to destination..... $2"
echo "postinstall: Path to dest volume..... $3"
echo "postinstall: Root of system folder... $4"
######################################################
# If target volume root of current system then replace
# / with volume name.
if [ "$2" == "/" ]; then
if [ "$3" == "/" ]; then
DEST_VOL="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' )
else
DEST_VOL="$2"
DEST_VOL="$3"
fi
#############################################################################
CLOVER_INSTALLER_PLIST_NEW="${DEST_VOL}@CLOVER_INSTALLER_PLIST_NEW@"
install_log="${DEST_VOL}/Private/tmp/Clover_Install_Log.txt"
installer_choice="@INSTALLER_CHOICE@"

View File

@ -6,8 +6,8 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Clover r5134\n"
"POT-Creation-Date: 2021-05-06 18:23+0300\n"
"Project-Id-Version: Clover r5135\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -933,14 +933,51 @@ msgid ""
"//Install to /Applications"
msgstr ""
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, no-wrap
msgid "BootLoaderChooser"
msgstr ""
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to "
"load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader "
"versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr ""
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -948,13 +985,13 @@ msgid ""
msgstr ""
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr ""
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid ""
"Install all RC scripts on all internal bootable OSX volumes other than the "
@ -962,19 +999,19 @@ msgid ""
msgstr ""
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr ""
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr ""
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid ""
"Disable the mDNSResponder sleep proxy client service. This will prevent the "
@ -982,13 +1019,13 @@ msgid ""
msgstr ""
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr ""
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2020-03-08 18:53+0100\n"
"Last-Translator: vector sigma\n"
"Language-Team: ge <ge@li.org>\n"
@ -1014,14 +1014,50 @@ msgstr ""
"Diese App hält Deine Clover Themen aktuell, entfernt oder installiert diese aus einer umfangreichen Sammlung.\n"
"Die App wird standardmäßig im Ordner 'Programme' installiert"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "RC Skripte auf dem Ziellaufwerk installieren"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1031,43 +1067,43 @@ msgstr ""
"Das Ziellaufwerk muss ein bootfähiges macOS System enthalten."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "RC Skripte auf allen bootfähigen macOS Laufwerken installieren"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "RC Skripte werden auf allen internen bootfähigen macOS Laufwerken, außer dem Ziellaufwerk installiert."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "RC Skripte (optional)"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Deaktiviere den sleep proxy Client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Deaktiviere den mDNSResponder sleep proxy client Dienst. Verhindert das aufwachen des Systems zu jeder Stunde"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Clover Systemeinstellungen"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: vector sigma\n"
"Language-Team: en <en@li.org>\n"
@ -1011,14 +1011,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Boot Sectors"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Install RC scripts on target volume"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1028,43 +1064,43 @@ msgstr ""
"The target volume must be a bootable OSX system volume."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Install RC scripts on other volumes"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Install system RC scripts on all internal bootable OSX volumes other than the target volume."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Optional RC Scripts"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hour."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Install Clover Preference Pane"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:38+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: es <es@li.org>\n"
@ -1023,14 +1023,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Gestor de arranque"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Instalar los scripts RC en el volumen seleccionado"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1040,43 +1076,43 @@ msgstr ""
"El volumen seleccionado debe ser una partición del sistema OSX arrancable."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Instalar los scripts RC en todo volumen OSX arrancable"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Instala los scripts RC en todo volumen OSX interno y arrancable, además del volumen seleccionado."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Scripts RC opcionales"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Desactiva el servicio mDNSResponder durante el reposo. Esto evitará que el sistema salga del reposo por sí mismo"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Instalar el Panel de Preferencias de Clover"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 5.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: vector sigma\n"
"Language-Team: en <en@li.org>\n"
@ -1014,14 +1014,50 @@ msgstr ""
"\n"
"Sinstalle dans le dossier /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Secteurs de boot"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "RC scripts sur le volume de destination"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1032,43 +1068,43 @@ msgstr ""
"Le volume de destination doit être un volume macOS bootable."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "RC scripts sur tous les autres volumes macOS bootables"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Installation de tous les RC scripts sur tous les volumes internes macOS bootables autre que le volume de destination."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "RC Scripts optionnels"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Désactive le client proxy de mise en veille."
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Script pour désactiver le service Bonjour 'sleep proxy client' afin déviter que le système ne se réveille toutes les heures."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Installe le panneau de préférence de Clover"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:39+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: hr <hr@li.org>\n"
@ -1019,14 +1019,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Pokretač sustava"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Instaliraj RC skripte na odabrani disk"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1036,43 +1072,43 @@ msgstr ""
"Mora biti odabran OSX bootabilni sistemski disk."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Instaliraj sve RC skripte na sve OSX bootabilne diskove"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Instalira sve RC skripte na sve interne OSX bootabilne diskove."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Opcionalne RC skripte"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Isključuje mDNSResponder spavajuči proxy client service.Ovo sprečava da se sistem budi iz sleepa svakih nekoliko sati"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Instaliraj Clover Preference Pane"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2019-07-20 10:15+0700\n"
"Last-Translator: Badruzeus\n"
"Language-Team: id <id@li.org>\n"
@ -1027,14 +1027,50 @@ msgstr ""
"Menjamin Themes Anda up to date. Hapus / perbarui dari repo.\n"
"Install ke /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Boot Sectors (Legacy)"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Install rc.scripts di Volume Tujuan"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1044,13 +1080,13 @@ msgstr ""
"Harus berupa Volume Sistem OSX yang bootable."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Install rc.scripts di semua Volumes OSX"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr ""
@ -1058,19 +1094,19 @@ msgstr ""
"selain Volume Tujuan."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Install rc.scripts Opsional"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Matikan Sleep Proxy Client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr ""
@ -1078,13 +1114,13 @@ msgstr ""
"Ini mencegah Sistem agar tidak Wake dari Sleep tiap jam."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Install Panel Preferensi Clover"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2019-07-13 10:25+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: it <it@li.org>\n"
@ -1021,14 +1021,50 @@ msgstr ""
"CloverThemeManager.app by blackosx tiene i tuoi temi aggiornati, li rimuove o li installa scegliendo da una grande selezione.\n"
"Installa in /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Script RC sul volume di destinazione"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1038,43 +1074,43 @@ msgstr ""
"Il volume di destinazione deve essere un volume OSX avviabile."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Script RC su tutti gli altri volumi OSX avviabili"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Installa tutti gli script RC su tutti i volumi interni OSX avviabili oltre al volume di destinazione."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Script RC Opzionali"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disabilita il servizio sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Script che disabilita il servizio BONJOUR (sleep proxy client). Eviterà che il sistema, in caso di standby, si risvegli a tutte le ore."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Installare Pannello Preferenze"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:41+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: \n"
@ -1018,14 +1018,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader (ブートローダー)"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "RCスクリプトをターゲットボリュームにインストール"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1035,43 +1071,43 @@ msgstr ""
"ターゲットボリュームは起動可能なOSXシステムボリュームであることが必要。"
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "RCスクリプトを他のすべてのOSXボリュームにインストール"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "RCスクリプトを、ターゲットボリューム以外のOSXを起動可能なすべての内蔵ボリュームにインストールします。"
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "オプションのRCスクリプト"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "mDNSResponder sleep proxy client serviceを無効化します。これにより、1時間ごとにスリープから復帰する問題を解決します。"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Clover環境設定をインストール"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: vector sigma\n"
"Language-Team: ko <ko@li.org>\n"
@ -1021,14 +1021,50 @@ msgstr ""
"blackosx의 CloverThemeManager.app는 테마를 최신 상태로 유지하고 다양한 테마를 선택하여 제거하거나 설치합니다.\n"
"다음에 설치합니다: /응용 프로그램"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "부트 섹터"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "선택한 볼륨에 RC 스크립트 설치"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1038,43 +1074,43 @@ msgstr ""
"선택한 볼륨은 반드시 macOS 시스템 볼륨이어야 합니다."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "부팅 가능한 모든 macOS 볼륨에 RC 스크립트 설치"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "선택한 볼륨을 제외한 모든 내장 macOS 볼륨에 모든 RC 스크립트를 설치합니다."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "선택적 RC 스크립트"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "잠자기 프록시 클라이언트 비활성화"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "mDNSResponder 잠자기 프록시 클라이언트 서비스를 비활성화합니다. 매 시간 잠자기에서 깨어나는 문제를 방지할 수 있습니다."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Clover 환경설정 패널 설치"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:42+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: \n"
@ -1027,14 +1027,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Ielādētājs"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Instalēt sistēmas RC skriptus pamata nodalījumā"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1044,43 +1080,43 @@ msgstr ""
"Nodalījumam ir jābūt instalētai OSX."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Instalēt RC skriptus uz visiem OSX nodalījumiem"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Instalēt RC skriptus uz visiem nodalījumiem, izņēmot izvēlēto."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Papildus RC skripri"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Aizliegt mDNSResponder sleep proxy client service. Tas aptūr sistēmas pamošanu ik katru stundu"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Instalēt Clover vadības paneli"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2019-07-14 12:37+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: \n"
@ -1016,14 +1016,50 @@ msgstr ""
"hou je themas up-to-date, verwijder een thema of installeer een nieuwe uit een brede selectie.\n"
"Installeer in /Applicaties"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Opstartlader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Installeert RC scripts op het doel volume"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1033,43 +1069,43 @@ msgstr ""
"Het doelvolume moet een opstart mogelijk OSX systeem volume zijn."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Installeer alle RC scripts op alle andere opstart mogelijke OSX volumes"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Installeer alle RC scripts op alle interne opstart mogelijke OSX volumes dan de doelvolume."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Optionele RC Scripts"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Schakel sleep proxy client uit"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Schakel de mDNSResponder sleep proxy client service uit. Dit voorkomt dat het systeem ontwaakt uit slaap elk uur"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Installeer Clover Voorkeur Paneel"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:43+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: pl <pl@li.org>\n"
@ -1029,14 +1029,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Instaluj skrypty RC na dysku docelowym"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1046,43 +1082,43 @@ msgstr ""
"Dysk docelowy musi być bootlowalnym dyskiem systemowym OSX."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Instaluj wszystkie skrypty RC na wszystkich bootowalnych dyskach systemowych OSX."
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Instaluj wszystkie skrypty RC na wszystkich wewnętrznych bootowalnych dyskach systemowych OSX."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Opcjonalne skrypty RC"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Wyłącz mDNSResponder - usługi klienta proxy sleepu. Zapobiega to automatycznemu wybudzaniu ze sleepu co godzinę."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Zainstaluj panel preferencji Clover"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:44+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: pt <pt@li.org>\n"
@ -1020,14 +1020,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Instalar RC scripts no Volume alvo"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1037,43 +1073,43 @@ msgstr ""
"O volume alvo necessita ser um Volume do sistema OS X inicializável."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Instala todos os RC scripts em todos os Volumes Inicializáveis do OSX"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Instala todos os RC scripts em todos os Volumes Internos Inicializáveis do OSX diferentes do Volume Alvo."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Opcional RC Scripts"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Desabilita o serviço mDNSResponder sleep proxy client. Isso irá impedir que o systema retorne do Sleep a cada hora"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Instalar o Painel de Preferências do Clover"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2019-07-19 10:48+0100\n"
"Last-Translator: vector sigma\n"
"Language-Team: pt <pt@li.org>\n"
@ -1006,14 +1006,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Instalar RC scripts no Volume selecionado"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1023,43 +1059,43 @@ msgstr ""
"O volume selecionado necessita ser um Volume do sistema OS X inicializável."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Instala todos os RC scripts em todos os Volumes Inicializáveis do OSX"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Instala todos os RC scripts em todos os Volumes Internos Inicializáveis do OSX diferentes do Volume selecionado."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "RC Scripts Opcionais"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Desabilita cliente sleep proxy"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Desabilita o serviço mDNSResponder sleep proxy cliente. Isso irá impedir que o sistema retorne do Sleep a cada hora"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Instalar Clover Painel Preferências"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2019-07-14 21:16+0300\n"
"Last-Translator: vector sigma\n"
"Language-Team: ro <ro@li.org>\n"
@ -1018,14 +1018,50 @@ msgstr ""
"Sterge sau instaleaza selectand dintr-o lista foarte variata de teme.\n"
"Se instaleaza in /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Instaleaza script-uri RC pe volumul tinta"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1035,43 +1071,43 @@ msgstr ""
"Volumul selectat trebuie sa fie unul sistem functional OSX."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Instaleaza toate script-urile RC pe toate volumele OSX boot-abile"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Instaleaza toate script-urile RC pe toate partitiile OSX initiabile, altele decat partitia tinta."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Script-uri RC optionale"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Dezactiveaza Sleep Proxy"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Dezactiveaza serviciul proxy de Sleep mDNSResponder. Asta va preveni sistemul din a porni automat in fiecare ora"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Instaleaza panoul de preferinte pentru Clover"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 5.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: vector sigma\n"
"Language-Team: ru <ru@li.org>\n"
@ -1005,14 +1005,50 @@ msgstr ""
"Приложение CloverThemeManager от blackosx для управления Темами оформления.\n"
"Установка будет выполнена в папку Программы."
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Загрузочные секторы"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Системные RC-скрипты целевого раздела"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1020,43 +1056,43 @@ msgid ""
msgstr "Устанавливает системные скрипты на целевой раздел. Этот раздел должен быть загрузочным для macOS."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Системные RC-скрипты других разделов"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Устанавливает RC-скрипты на все внутренние загрузочные разделы macOS, кроме целевого."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Дополнительные RC-скрипты"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Отключение Sleep Proxy Client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Отключает сервис Sleep Proxy Client для предотвращаения периодического пробуждения системы во время сна."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Панель Настроек Clover"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:46+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: \n"
@ -1020,14 +1020,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Önyükleyici"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Hedef bölüme RC scriptlerini yükle"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1037,43 +1073,43 @@ msgstr ""
"Hedef bölüm önyüklenebilir bir OS X sistem bölümü olmalıdır."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "RC scriptlerini bütün diğer OS X bölümlerine yükle"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "RC scriptlerini hedef bölüm hariç diğer bütün dahili önyüklenebilir OS X bölümlerine yükle."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "İsteğe bağlı RC scriptleri"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "mDNSResponder vekil uyku istemcisi servisini devre dışı bırak. Bu, sistemin her saat uykudan uyanmasını engelleyecektir."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Clover Tercih Panosunu yükle"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:47+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: ua <ua@li.org>\n"
@ -1033,14 +1033,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Завантажувач"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Встановити системні RC скріпти на цільовий розділ"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1050,43 +1086,43 @@ msgstr ""
"Розділ повинен бути завантажувальний в OSX."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Встановити скрипти RC на всі інші завантажувальні розділи OSX"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Встановити скрипти RC на всі внутрішні завантажувальні розділи OSX, окрім цільового розділу"
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Додаткові RC скрипти"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Заборонити mDNSResponder sleep proxy client service. Це запобігає пробудження системи кожної години"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Встановити Контрольну Панель Clover "
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:47+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: ua <ua@li.org>\n"
@ -1033,14 +1033,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Завантажувач"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Встановити системні RC скріпти на цільовий розділ"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1050,43 +1086,43 @@ msgstr ""
"Розділ повинен бути завантажувальний в OSX."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Встановити скрипти RC на всі інші завантажувальні розділи OSX"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Встановити скрипти RC на всі внутрішні завантажувальні розділи OSX, окрім цільового розділу"
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "Додаткові RC скрипти"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Заборонити mDNSResponder sleep proxy client service. Це запобігає пробудження системи кожної години"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Встановити Контрольну Панель Clover "
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:47+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: en <en@li.org>\n"
@ -1027,14 +1027,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bộ khởi động"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "Cài đặt RC scripts vào phân vùng đích."
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1044,43 +1080,43 @@ msgstr ""
"Phân vùng đích phải là phân vùng OS X khởi động được."
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "Cài đặt tất cả các RC Scripts vào các phân vùng OS X có thể khởi động khác."
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "Cài đặt tất cả các RC scripts vào tất cả các phân vùng OS X khởi động được thay vì chỉ phân vùng đích."
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "RC Scripts không bắt buộc."
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "Tắt mDNSResponder sleep proxy client service để ngăn không cho hệ thống wake mỗi giờ khi đang sleep."
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "Cài đặt Clover Preference Pane"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2019-08-09 19:03-0400\n"
"Last-Translator: vector sigma\n"
"Language-Team: zh_CN <zh_CN@li.org>\n"
@ -997,14 +997,50 @@ msgstr ""
"保持你的主题为最新, 也可以移除主题, 或者从花样繁多的主题库中选择一个安装。\n"
"安装位置 /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "引导器"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "安装 RC 脚本 到目标宗卷"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1014,43 +1050,43 @@ msgstr ""
"目标宗卷必须是 可启动的 OSX 系统宗卷。"
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "安装全部 RC 脚本 到全部可启动的 OSX 宗卷"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "安装全部 RC 脚本 到全部内置可启动的 OSX 宗卷。"
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "选择安装 RC 脚本"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "停用 sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "停用 mDNSResponder sleep proxy client 服务。可以避免系统休眠时, 每小时自动唤醒"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "安装 Clover 系统偏好设置 面板"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Clover 2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-22 13:02+0300\n"
"POT-Creation-Date: 2021-05-15 18:25+0300\n"
"PO-Revision-Date: 2018-10-02 11:48+0200\n"
"Last-Translator: vector sigma\n"
"Language-Team: zh_TW <zh_TW@li.org>\n"
@ -1021,14 +1021,50 @@ msgstr ""
"CloverThemeManager.app by blackosx keeps your Themes up to date, remove or install them by choosing from a wide selection.\n"
"Install to /Applications"
#. type: "BootLoaderChooser_title"
#: Resources/templates/Localizable.strings:218
#, fuzzy, no-wrap
#| msgid "Bootloader"
msgid "BootLoaderChooser"
msgstr "Bootloader"
#. type: "BootLoaderChooser_description"
#: Resources/templates/Localizable.strings:219
#, no-wrap
msgid ""
"BootLoaderChooser by jief,\n"
"This tool is a menu that allows you to choose which bootloader you want to load.\n"
"Will replace your BOOTX64.efi, you can choose between several bootloader versions.\n"
"The first time, you'll get the menu. Choose one bootloader.\n"
"The next times, it'll immediately load the bootloader you chose before.\n"
"When you need the menu back, just boot your computer with a key pressed.\n"
"INSTALL ONLY IF YOU KNOW WHAT YOU ARE DOING !!!\n"
"More infos https://github.com/jief666/BootloaderChooser. "
msgstr ""
#. type: "CloverConfigPlistValidator_title"
#: Resources/templates/Localizable.strings:231
#, no-wrap
msgid "CloverConfigPlistValidator"
msgstr ""
#. type: "CloverConfigPlistValidator_description"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid ""
"CloverConfigPlistValidator by jief,\n"
"Verify sanity of your config.plist keeps it clean and up to date.\n"
"Installs to /usr/local/bin and will be available as 'ccpv' "
msgstr ""
#. type: "rc.scripts.on.target_title"
#: Resources/templates/Localizable.strings:217
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Install RC scripts on target volume"
msgstr "安裝 RC scripts 到目標磁區"
#. type: "rc.scripts.on.target_description"
#: Resources/templates/Localizable.strings:218
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid ""
"Install all RC scripts on target volume.\n"
@ -1038,43 +1074,43 @@ msgstr ""
"目標磁區必須是 可開機的 OSX 磁區。"
#. type: "rc.scripts.on.all.volumes_title"
#: Resources/templates/Localizable.strings:220
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Install all RC scripts on all other bootable OSX volumes"
msgstr "安裝全部 RC scripts 到全部可開機的 OSX 磁區"
#. type: "rc.scripts.on.all.volumes_description"
#: Resources/templates/Localizable.strings:221
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Install all RC scripts on all internal bootable OSX volumes other than the target volume."
msgstr "安裝全部 RC scripts 到全部內置可開機的 OSX 磁區。"
#. type: "OptionalRCScripts"
#: Resources/templates/Localizable.strings:222
#: Resources/templates/Localizable.strings:244
#, no-wrap
msgid "Optional RC Scripts"
msgstr "選擇安裝 RC Scripts"
#. type: "disable_sleep_proxy_client_title"
#: Resources/templates/Localizable.strings:223
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Disable sleep proxy client"
msgstr "Disable sleep proxy client"
#. type: "disable_sleep_proxy_client_description"
#: Resources/templates/Localizable.strings:224
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Disable the mDNSResponder sleep proxy client service. This will prevent the system waking from sleep every hours"
msgstr "停用 mDNSResponder 休眠 proxy client 服務,可以避免系統休眠時,每小時自動喚醒。"
#. type: "CloverPrefpane_title"
#: Resources/templates/Localizable.strings:229
#: Resources/templates/Localizable.strings:251
#, no-wrap
msgid "Install Clover Preference Pane"
msgstr "安裝 Clover 系統偏好設定 面板"
#. type: "CloverPrefpane_description"
#: Resources/templates/Localizable.strings:230
#: Resources/templates/Localizable.strings:252
#, no-wrap
msgid ""
"Install Clover Preference Pane on target volume.\n"

@ -1 +1 @@
Subproject commit 4564c8abf1436f6ca3ba9a65b193ffd7c86d7cf7
Subproject commit 704c042bdb9be1e14d207276403127b7b46f4007

View File

@ -0,0 +1,37 @@
#!/bin/bash
#
# Install.sh
# alternate build for buldpkg
# Created on: May 12, 2021
# Author: LAbyOne
#
cd "$(dirname $([ -L $0 ] && readlink $0 || echo $0))"
declare -r ROOT="$PWD"
declare -r CLOVERROOT=$(dirname $(dirname $ROOT))
declare -r BUILD_PATH="${CLOVERROOT}"/Xcode/CloverConfigPlistValidator/build
declare -r CCPV_PATH="${BUILD_PATH}"/ccpv
declare -r INSTALL_DIR="$CLOVERROOT/CloverPackage/CloverConfigPlistValidator"
buildccpv() {
echo "- Building ccpv..."
cd "${CLOVERROOT}"/Xcode/CloverConfigPlistValidator
/usr/bin/xcodebuild -project 'CloverConfigPlistValidator.xcodeproj' \
-configuration 'Release' \
CONFIGURATION_BUILD_DIR=${BUILD_PATH} \
EPLOYMENT_LOCATION=NO \
ARCHS=x86_64 VALID_ARCHS=x86_64 ONLY_ACTIVE_ARCH=YES >/dev/null
# remove old and recreate directory
rm -Rf "$INSTALL_DIR"
mkdir -p "$INSTALL_DIR"
# Install files
mv "$BUILD_PATH"/CloverConfigPlistValidator "$INSTALL_DIR"/ccpv
# clean up
rm -Rf "$BUILD_PATH"
}
buildccpv

View File

@ -0,0 +1,18 @@
#
# Makefile
# alternate build for buldpkg
# Created on: May 12, 2021
# Author: LAbyOne
#
CloverConfigPlistValidator:
@echo [XCODE] $(PROGRAMS)
@$(CURDIR)/Install.sh
clean:
@/usr/bin/xcodebuild -project 'CloverConfigPlistValidator.xcodeproj' clean >/dev/null
@rm -rf build *~
@echo [CLEAN] $(PROGRAMS)
.PHONY: CloverConfigPlistValidator clean

View File

@ -61,7 +61,7 @@ extern "C" int main(int argc, const char * argv[])
//path = "/JiefLand/5.Devel/Clover/user config/BS.plist";
//path = "/JiefLand/5.Devel/Clover/user config/maclinuxG4/config.plist";
//path = "/JiefLand/5.Devel/Clover/user config/MICKHAEL/EFI_Github/CLOVER/config.plist";
path = "/JiefLand/5.Devel/Clover/user config/Slice/2021-04-29/config.plist";
path = "/JiefLand/5.Devel/Clover/user config/MacKonsti/2021-05-17/config-test.plist";
#endif
if ( !path ) {

194
buildme
View File

@ -105,6 +105,11 @@ else
fi
}
export DIR_OUT=${DIR_OUT:-"$CLOVERROOT"/toolchain/tools/output}
if [[ ! -d "${DIR_OUT}" ]]; then
mkdir -p "${DIR_OUT}"
fi
updateClover() {
echo "[UPDATE CLOVER]"
cd "${CLOVERROOT}"
@ -143,15 +148,8 @@ fi
}
buildCCPV() {
revision=r$(git describe --tags $(git rev-list --tags --max-count=1))
if [[ -d "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator ]]; then
rm -Rf "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator
fi
mkdir -p "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator
cd "${CLOVERROOT}"/Xcode/CloverConfigPlistValidator
xcodebuild -project ./CloverConfigPlistValidator.xcodeproj -quiet CONFIGURATION_BUILD_DIR="${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator
mv -f "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/CloverConfigPlistValidator "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/ccpv
rm -r "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/*.dSYM
make
}
BLC() {
@ -160,7 +158,6 @@ if [[ ! -d "${CLOVERROOT}"/CloverPackage/BootLoaderChooser ]]; then
fi
curl -sLq https://github.com/jief666/BootloaderChooser/releases/download/0.5/BootX64.efi > "${CLOVERROOT}"/CloverPackage/BootLoaderChooser/BootX64.efi
chmod 775 "${CLOVERROOT}"/CloverPackage/BootLoaderChooser/BootX64.efi
#open "${CLOVERROOT}"/CloverPackage/BootLoaderChooser
}
buildClover() {
@ -204,6 +201,31 @@ if [[ -x "${DIR_TOOLS}"/Scripts/postbuild.sh ]]; then
fi
}
buildtestsix() {
checkTools
# to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation.
rm -rf "$CLOVERROOT"/Conf
mkdir "$CLOVERROOT"/Conf
cd "${CLOVERROOT}"
echo "[BUILD CLOVERDB]"
./hebuild.sh
}
buildtestsev() {
checkTools
# to force recreation of the Conf folder. You can still use a custom CONF_PATH if you don't want recreation.
rm -rf "$CLOVERROOT"/Conf
mkdir "$CLOVERROOT"/Conf
cd "${CLOVERROOT}"
echo "[BUILD CLOVERDB]"
./ebuild.sh -t GCC53 -mc
}
buildCloverTest() {
checkTools
@ -263,22 +285,24 @@ make iso
}
checkStatus() {
revision=r$(git describe --tags $(git rev-list --tags --max-count=1))
cd "${CLOVERROOT}"
if [[ -d .git ]]; then
git fetch --recurse-submodules origin
git log -n 1
git status
git submodule foreach --recursive "git log -n 1 && git status"
git log -n 1 > "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt
git status >> "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt
git submodule foreach --recursive "git log -n 1 && git status" >> "${DIR_OUT}"/status_${revision}-$(date +%Y%m%d-%H.%M.%S).txt && open "${DIR_OUT}"/status_${revision}-*.txt
else
echo "Error: this is not a git repository, can't get info!"
fi
}
showdiff() {
revision=r$(git describe --tags $(git rev-list --tags --max-count=1))
cd "${CLOVERROOT}"
if [[ -d .git ]]; then
git fetch --recurse-submodules origin
git diff
git diff > "${DIR_OUT}"/diff_${revision}-$(date +%Y%m%d-%H.%M.%S).txt && open "${DIR_OUT}"/diff_${revision}-*.txt
else
echo "Error: this is not a git repository, can't get info!"
fi
@ -297,6 +321,7 @@ if [[ -d "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator ]]; then
fi
mkdir -p "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator
cd "${CLOVERROOT}"/Xcode/CloverConfigPlistValidator
checkXCODE
xcodebuild -project ./CloverConfigPlistValidator.xcodeproj -quiet CONFIGURATION_BUILD_DIR="${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator
mv -f "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/CloverConfigPlistValidator "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/CloverConfigPlistValidator_${revision}
rm -r "${CLOVERROOT}"/CloverPackage/CloverConfigPlistValidator/*.dSYM
@ -404,6 +429,100 @@ fi
cd $HOME/Desktop/ClovUtils && git clone -q https://github.com/corpnewt/gibMacOS && open $HOME/Desktop/ClovUtils
}
testing() {
clear
echo
echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET
cd "${CLOVERROOT}"
local lsha1="not a git repo"
if [[ -d .git ]]; then
lsha1=$(git rev-parse --short HEAD)
fi
echo -e " 🍀$COL_GREEN Clover r$(git describe --tags $(git rev-list --tags --max-count=1))$COL_WHITE (SHA: $lsha1)"$COL_RESET
echo -e $COL_CYAN" $COL_CYAN Test Builds "$COL_RESET
echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET
echo -e "\n\n\n\n\n\n\n\n\n\n\n"
PS3='
Please enter your choice: '
options=( 'test Clover with boot6'
'test Clover with boot7'
'test build (no autogen, no boot files)'
'back to buildme'
'quit')
select opt in "${options[@]}"
do
case $opt in
"test Clover with boot6")
buildtestsix
break
;;
"test Clover with boot7")
buildtestsev
break
;;
"test build (no autogen, no boot files)")
Hackintool
break
;;
"Get BitmaskDecode")
BitmaskDecode
break
;;
"Get MaciASL")
MaciASL
break
;;
"Get dmidecode")
dmidecode
break
;;
"Get IOReg-Devices")
Get-IOReg-Devices
break
;;
"Get NativeDisplayBrightness")
NDBrightness
break
;;
"Get SSDTTime")
SSDTTime
break
;;
"Get USBMap")
USBMap
break
;;
"Get QtiASL")
QtiASL
break
;;
"Get CsrDecode")
CsrDecode
break
;;
"Get gibMacOS")
gibMacOS
break
;;
"back to buildme")
menu
break
;;
"quit")
exit
break
;;
*)
echo "invalid option $REPLY"
break
;;
esac
done
testing
}
Utilities() {
echo
echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET
@ -415,11 +534,7 @@ fi
echo -e " 🍀$COL_GREEN Clover r$(git describe --tags $(git rev-list --tags --max-count=1))$COL_WHITE (SHA: $lsha1)"$COL_RESET
echo -e $COL_CYAN" $COL_CYAN Utilities "$COL_RESET
echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET
echo && echo
echo && echo
echo && echo
echo && echo
echo
echo -e "\n\n\n\n\n\n\n\n"
PS3='
Files will be put on Desktop/ClovUtils: '
@ -436,7 +551,8 @@ options=( 'Get CloverConfigPlistValidator'
'Get QtiASL'
'Get CsrDecode'
'Get gibMacOS'
'back to buildme')
'back to buildme'
'quit')
select opt in "${options[@]}"
do
case $opt in
@ -496,6 +612,10 @@ select opt in "${options[@]}"
menu
break
;;
"quit")
exit
break
;;
*)
echo "invalid option $REPLY"
break
@ -519,19 +639,19 @@ fi
echo -e " 🍀$COL_GREEN Clover r$(git describe --tags $(git rev-list --tags --max-count=1))$COL_WHITE (SHA: $lsha1)"$COL_RESET
echo -e "$COL_CYAN TOOLCHAIN: $MYTOOLCHAIN (override example: './buildme XCODE8')"
echo -e $COL_GREEN"-----------------------------------------------------------"$COL_RESET
echo -e "\n\n\n\n\n\n\n\n"
PS3='
Please enter your choice: '
options=( 'build Clover'
'update Clover'
'build Clover with HFSPlus'
'make pkg'
'make app'
'make app (with Clover)'
'make iso'
'build all'
'test build (no autogen, no boot files)'
'test Clover'
'status'
'update Clover'
'show diff'
'open CloverV2/EFI/CLOVER directory'
'update Clover (reset changes)'
@ -546,6 +666,10 @@ do
buildClover
break
;;
"update Clover")
updateClover
break
;;
"build Clover with HFSPlus")
buildCloverHFSPlus
break
@ -569,28 +693,16 @@ do
break
;;
"build all")
buildClover
buildCCPV
BLC
buildClover
buildPkg
buildIso
buildApp
break
;;
"test build (no autogen, no boot files)")
buildCloverTest
break
;;
"update Clover")
updateClover
break
;;
"update Clover (reset changes)")
read -p "Are you sure? (type y to confirm or any other to negate) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
updateResetClover
fi
"test Clover")
testing
break
;;
"status")
@ -610,6 +722,14 @@ do
fi
break
;;
"update Clover (reset changes)")
read -p "Are you sure? (type y to confirm or any other to negate) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
updateResetClover
fi
break
;;
"clean BaseTools")
read -p "Are you sure? (type y to confirm or any other to negate) " -n 1 -r
echo

View File

@ -399,7 +399,7 @@ BOOLEAN FixAsciiTableHeader(UINT8 *Str, UINTN Len)
BOOLEAN PatchTableHeader(EFI_ACPI_DESCRIPTION_HEADER *Header)
{
BOOLEAN Ret1, Ret2, Ret3;
if (!(gSettings.ACPI.DSDT.FixDsdt & FIX_HEADERS) && !gSettings.ACPI.FixHeaders) {
if ( !gSettings.ACPI.FixHeaders ) {
return FALSE;
}
Ret1 = FixAsciiTableHeader((UINT8*)&Header->CreatorId, 4);
@ -438,7 +438,7 @@ void PatchAllTables()
}
EFI_ACPI_DESCRIPTION_HEADER* NewTable = (EFI_ACPI_DESCRIPTION_HEADER*)(UINTN)BufferPtr;
CopyMem(NewTable, Table, Len);
if ((gSettings.ACPI.DSDT.FixDsdt & FIX_HEADERS) || gSettings.ACPI.FixHeaders) {
if ( gSettings.ACPI.FixHeaders ) {
// Merged tables already have the header patched, so no need to do it again
if (!IsXsdtEntryMerged(IndexFromXsdtEntryPtr(Ptr))) {
// table header NOT already patched

View File

@ -964,9 +964,17 @@ LoadLatestNvramPlist()
if (!EFI_ERROR(Status) && HandleCount > 0) {
for (UINTN indexHandle = 0; indexHandle < HandleCount; indexHandle++) {
RootDir = EfiLibOpenRoot(Handles[indexHandle]);
if ( RootDir == NULL ) {
DBG(" - [%lld] cannot open - skipping!\n", indexHandle);
continue;
}
Status = RootDir->Open(RootDir, &FileHandle, L"nvram.plist", EFI_FILE_MODE_READ, 0);
if (EFI_ERROR(Status)) {
DBG(" - [%lld] no nvram.plist - skipping!\n", indexHandle);
if ( Status == EFI_NOT_FOUND ) {
DBG(" - [%lld] no nvram.plist\n", indexHandle);
}else{
DBG(" - [%lld] Cannot open nvram.plist - %s\n", indexHandle, efiStrError(Status));
}
continue;
}
FileInfo = EfiLibFileInfo(FileHandle);
@ -1077,7 +1085,7 @@ LoadLatestNvramPlist()
// DBG(" nvram.plist not found!\n");
// }
#endif
DBG("loaded Status=%s\n", efiStrError(Status));
DBG("LoadLatestNvramPlist loaded Status=%s\n", efiStrError(Status));
return Status;
}
@ -1096,7 +1104,7 @@ PutNvramPlistToRtVars ()
if (gNvramDict == NULL) {
/*Status = */LoadLatestNvramPlist();
if (gNvramDict == NULL) {
DBG("PutNvramPlistToRtVars: nvram.plist not found\n");
DBG("PutNvramPlistToRtVars: no nvram.plist\n");
return;
}
}

View File

@ -1086,7 +1086,7 @@ public:
ResetAddr = configPlist.dgetResetAddr();
ResetVal = configPlist.dgetResetVal();
SlpSmiEnable = configPlist.dgetSlpSmiEnable();
FixHeaders = configPlist.dgetFixHeaders();
FixHeaders = configPlist.dgetFixHeaders() || configPlist.DSDT.Fixes.dgetFixHeaders();
FixMCFG = configPlist.dgetFixMCFG();
NoASPM = configPlist.dgetNoASPM();
smartUPS = configPlist.dgetsmartUPS();

View File

@ -15,12 +15,6 @@
#include "../Settings/Self.h"
#include "../Platform/guid.h"
//Slice - if I set NEW_LOG to 0 then I will work with debug.log as in 5103
// but it is not working somehow.
// my purpose is to make debug.log open and close every second to see crashes.
// currently it is not happen. debug.log is not created at crash.
#define NEW_LOG 1
#ifndef DEBUG_ALL
#define DEBUG_BOOTLOG 0
#else
@ -82,6 +76,8 @@ static XStringW debugLogFileName;
static EFI_FILE_PROTOCOL* gLogFile = NULL;
// Do not keep a pointer to MemLogBuffer. Because a reallocation, it could become invalid.
int g_OpeningLogFile = 0;
// Avoid debug looping. TO be able to call DBG from inside function that DBG calls, we need to suspend callback to avoid a loop.
// Just instanciante this, the destructor will restore the callback.
@ -99,7 +95,6 @@ public:
#if DEBUG_BOOTLOG == 0
#define DGB_nbCallback(...)
#else
//Slice - it crashes at legacy boot
#define DGB_nbCallback(...) do { SuspendMemLogCallback smc; DBG(__VA_ARGS__); } while (0)
#endif
@ -116,7 +111,13 @@ void closeDebugLog()
//DGB_nbCallback("closeDebugLog() -> %s\n", efiStrError(Status));
}
#if NEW_LOG
/*
* Use (or not) self.getCloverDir() to open log file.
* Not using self has the advantage of being able to generate a log even after uninitreflib().
* The only thing needed is gImageHandle. But because it's a parameter to main entry point, value can't be wrong.
* Drawback is that code to find current working directory has to be duplicated.
*/
//#define USE_SELF_INSTANCE
static UINTN GetDebugLogFile()
{
EFI_STATUS Status;
@ -124,21 +125,11 @@ static UINTN GetDebugLogFile()
if ( gLogFile ) return 0;
// // get RootDir from device we are loaded from
// Status = gBS->HandleProtocol(gImageHandle, &gEfiLoadedImageProtocolGuid, (VOID **) &LoadedImage);
// if (EFI_ERROR(Status)) {
// DGB_nbCallback(" GetDebugLogFile() -> HandleProtocol : %s\n", efiStrError(Status));
// }
// RootDir = EfiLibOpenRoot(LoadedImage->DeviceHandle);
// if (RootDir == NULL) {
// DGB_nbCallback(" GetDebugLogFile() -> EfiLibOpenRoot : %s\n", efiStrError(Status));
// }
//
// // Open log file from current root
// Status = RootDir->Open(RootDir, &LogFile, SWPrintf("%ls\\%ls", self.getCloverDirFullPath().wc_str(), DEBUG_LOG).wc_str(),
// EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE, 0);
#ifdef USE_SELF_INSTANCE
if ( !self.isInitialized() ) return 0;
#endif
if ( !self.isInitialized() ) return 0;
g_OpeningLogFile = 1;
EFI_TIME Now;
Status = gRT->GetTime(&Now, NULL);
@ -146,27 +137,40 @@ static UINTN GetDebugLogFile()
DBG("GetTime return %s\n", efiStrError(Status));
}
#ifdef USE_SELF_INSTANCE
const EFI_FILE_PROTOCOL& CloverDir = self.getCloverDir();
const XString& efiFileName = self.getCloverEfiFileName();
#else
XStringW efiFileName;
const EFI_FILE_PROTOCOL* CloverDirPtr = Self::getCloverDirAndEfiFileName(gImageHandle, &efiFileName);
if ( CloverDirPtr == NULL ) return 0;
const EFI_FILE_PROTOCOL& CloverDir = *CloverDirPtr;
#endif
if ( debugLogFileName.isEmpty() )
{
debugLogFileName = S8Printf("misc\\%04d-%02d-%02d_%02d-%02d_%ls.log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, self.getCloverEfiFileName().wc_str());
Status = self.getCloverDir().Open(&self.getCloverDir(), &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ, 0);
debugLogFileName = S8Printf("misc\\%04d-%02d-%02d_%02d-%02d_%ls.log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, efiFileName.wc_str());
Status = CloverDir.Open(&CloverDir, &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ, 0);
if ( !EFI_ERROR(Status) ) LogFile->Close(LogFile); // DO NOT modify Status here.
INTN i=1;
while ( Status != EFI_NOT_FOUND && (i < MAX_INTN) ) {
debugLogFileName = S8Printf("misc\\%04d-%02d-%02d_%02d-%02d_%ls(%lld).log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, self.getCloverEfiFileName().wc_str(), i);
Status = self.getCloverDir().Open(&self.getCloverDir(), &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ, 0);
debugLogFileName = S8Printf("misc\\%04d-%02d-%02d_%02d-%02d_%ls(%lld).log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, efiFileName.wc_str(), i);
Status = CloverDir.Open(&CloverDir, &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ, 0);
if ( !EFI_ERROR(Status) ) LogFile->Close(LogFile); // DO NOT modify Status here.
}
if ( Status != EFI_NOT_FOUND ) {
DBG("Cannot find a free debug log file name\n"); // I can't imagine that to happen...
debugLogFileName.setEmpty(); // To allow to retry at the next call
g_OpeningLogFile = 0;
return 0;
}
Status = self.getCloverDir().Open(&self.getCloverDir(), &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0);
Status = CloverDir.Open(&CloverDir, &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0);
gLogFile = LogFile;
g_OpeningLogFile = 0;
return 0;
}else{
Status = self.getCloverDir().Open(&self.getCloverDir(), &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE, 0);
Status = CloverDir.Open(&CloverDir, &LogFile, debugLogFileName.wc_str(), EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE, 0);
g_OpeningLogFile = 0;
//// Jief : Instead of EfiLibFileInfo, let's use SetPosition to get the size.
// if (!EFI_ERROR(Status)) {
@ -200,79 +204,7 @@ static UINTN GetDebugLogFile()
return 0;
}
}
#else
EFI_FILE_PROTOCOL* GetDebugLogFile()
{
EFI_STATUS Status;
EFI_LOADED_IMAGE *LoadedImage;
EFI_FILE_PROTOCOL *RootDir;
EFI_FILE_PROTOCOL *LogFile;
// get RootDir from device we are loaded from
Status = gBS->HandleProtocol(gImageHandle, &gEfiLoadedImageProtocolGuid, (VOID **) &LoadedImage);
if (EFI_ERROR(Status)) {
return NULL;
}
RootDir = EfiLibOpenRoot(LoadedImage->DeviceHandle);
if (RootDir == NULL) {
return NULL;
}
// Open log file from current root
Status = RootDir->Open(RootDir, &LogFile, debugLogFileName.wc_str(),
EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE, 0);
// If the log file is not found try to create it
if (Status == EFI_NOT_FOUND) {
Status = RootDir->Open(RootDir, &LogFile, debugLogFileName.wc_str(),
EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0);
}
RootDir->Close(RootDir);
RootDir = NULL;
if (EFI_ERROR(Status)) {
// try on first EFI partition
Status = egFindESP(&RootDir);
if (!EFI_ERROR(Status)) {
Status = RootDir->Open(RootDir, &LogFile, debugLogFileName.wc_str(),
EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE, 0);
// If the log file is not found try to create it
if (Status == EFI_NOT_FOUND) {
Status = RootDir->Open(RootDir, &LogFile, debugLogFileName.wc_str(),
EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0);
}
RootDir->Close(RootDir);
RootDir = NULL;
}
}
if (EFI_ERROR(Status)) {
LogFile = NULL;
}
return LogFile;
}
// Jief : do we need that ?
// if (EFI_ERROR(Status)) {
// // try on first EFI partition
// Status = egFindESP(&RootDir);
// if (!EFI_ERROR(Status)) {
// Status = RootDir->Open(RootDir, &LogFile, SWPrintf("%ls\\%ls", self.getCloverDirFullPath().wc_str(), DEBUG_LOG).wc_str(),
// EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE, 0);
// // If the log file is not found try to create it
// if (Status == EFI_NOT_FOUND) {
// Status = RootDir->Open(RootDir, &LogFile, SWPrintf("%ls\\%ls", self.getCloverDirFullPath().wc_str(), DEBUG_LOG).wc_str(),
// EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0);
// }
// RootDir->Close(RootDir);
// RootDir = NULL;
// }
// }
#endif
#if NEW_LOG
VOID SaveMessageToDebugLogFile(IN CHAR8 *LastMessage)
{
EFI_STATUS Status;
@ -308,45 +240,6 @@ VOID SaveMessageToDebugLogFile(IN CHAR8 *LastMessage)
// Not all Firmware implements Flush. So we have to close every time to force flush.
closeDebugLog();
}
#else
VOID SaveMessageToDebugLogFile(IN CHAR8 *LastMessage)
{
STATIC BOOLEAN FirstTimeSave = TRUE;
// STATIC UINTN Position = 0;
CHAR8 *MemLogBuffer;
UINTN MemLogLen;
CHAR8 *Text;
UINTN TextLen;
EFI_FILE_HANDLE LogFile;
MemLogBuffer = GetMemLogBuffer();
MemLogLen = GetMemLogLen();
Text = LastMessage;
TextLen = AsciiStrLen(LastMessage);
/*UINTN lastWrittenOffset = GetDebugLogFile();*/
LogFile = GetDebugLogFile();
// Write to the log file
if (LogFile != NULL) {
// Advance to the EOF so we append
EFI_FILE_INFO *Info = EfiLibFileInfo(LogFile);
if (Info) {
LogFile->SetPosition(LogFile, Info->FileSize);
// If we haven't had root before this write out whole log
if (FirstTimeSave) {
Text = MemLogBuffer;
TextLen = MemLogLen;
FirstTimeSave = FALSE;
}
// Write out this message
LogFile->Write(LogFile, &TextLen, Text);
}
LogFile->Close(LogFile);
}
}
#endif
void EFIAPI MemLogCallback(IN INTN DebugMode, IN CHAR8 *LastMessage)
{
@ -380,28 +273,12 @@ void EFIAPI DebugLog(IN INTN DebugMode, IN CONST CHAR8 *FormatString, ...)
MemLogfVA(TRUE, DebugMode, FormatString, Marker);
VA_END(Marker);
}
#if NEW_LOG
void InitBooterLog(void)
{
SetMemLogCallback(MemLogCallback);
}
#else
void InitBooterLog(void)
{
EFI_TIME Now;
EFI_STATUS Status;
Status = gRT->GetTime(&Now, NULL);
if (!EFI_ERROR(Status)) {
debugLogFileName = SWPrintf("misc\\%d-%d-%d_%d-%d-%d_%ls.log", Now.Year, Now.Month, Now.Day, Now.Hour, Now.Minute, Now.Second, self.getCloverEfiFileName().wc_str());
} else {
debugLogFileName = L"misc\\debug.log"_XSW;
}
SetMemLogCallback(MemLogCallback);
}
#endif
EFI_STATUS SetupBooterLog(BOOLEAN AllowGrownSize)
{

View File

@ -526,7 +526,11 @@ EFI_STATUS LoadPlist(const XStringW& ConfName, C* plist)
XmlLiteParser xmlLiteParser;
bool parsingOk = plist->parse((const CHAR8*)ConfigPtr, Size, ""_XS8, &xmlLiteParser);
if ( xmlLiteParser.getErrorsAndWarnings().size() ) {
DebugLog(2, "There is problems in plist '%ls'\n", configPlistPath.wc_str());
if ( xmlLiteParser.getErrorsAndWarnings().size() > 1 ) {
DebugLog(2, "There are problems in plist '%ls'\n", configPlistPath.wc_str());
}else{
DebugLog(2, "There is a problem in plist '%ls'\n", configPlistPath.wc_str());
}
for ( size_t idx = 0 ; idx < xmlLiteParser.getErrorsAndWarnings().size() ; idx++ ) {
const XmlParserMessage& xmlMsg = xmlLiteParser.getErrorsAndWarnings()[idx];
DebugLog(2, "%s: %s\n", xmlMsg.isError ? "Error" : "Warning", xmlMsg.msg.c_str());
@ -883,7 +887,10 @@ EFI_STATUS ConfigManager::LoadConfig(const XStringW& ConfName)
log_technical_bug("%s : !selfOem.isInitialized()", __PRETTY_FUNCTION__);
}
EFI_STATUS Status = LoadConfigPlist(ConfName);
if ( EFI_ERROR(Status) ) return Status;
if ( EFI_ERROR(Status) ) {
DBG("LoadConfigPlist return %s. Config not loaded\n", efiStrError(Status));
return Status;
}
/*Status = */ LoadSMBIOSPlist(L"smbios"_XSW); // we don't need Status. If not loaded correctly, smbiosPlist is !defined and will be ignored by AssignOldNewSettings()

View File

@ -101,6 +101,28 @@ public:
virtual void getFields(XmlDictField** fields, size_t* nb) override { *fields = m_fields; *nb = sizeof(m_fields)/sizeof(m_fields[0]); };
virtual bool validate(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, const XmlParserPosition& keyPos, bool generateErrors) override {
if ( !super::validate(xmlLiteParser, xmlPath, keyPos, generateErrors) ) return false;
if ( !isDefined() ) return true;
if ( LString8(ACPI.DSDT.Fixes.ACPI_DSDT_Fixe_Array[29].getNewName()) != "FixHeaders_20000000"_XS8 ) {
log_technical_bug("ACPI_DSDT_Fixe_Array[29].getNewName() != \"FixHeaders_20000000\"");
}
if ( ACPI.getFixHeaders().isDefined() && ACPI.DSDT.Fixes.ACPI_DSDT_Fixe_Array[29].isDefined() ) {
if ( ACPI.getFixHeaders().value() == ACPI.DSDT.Fixes.ACPI_DSDT_Fixe_Array[29].dgetEnabled() ) {
xmlLiteParser->addWarning(generateErrors, S8Printf("FixHeaders exists in ACPI and ACPI/DSDT/Fixes. Delete FixHeaders from ACPI/DSDT/Fixes."));
}else{
if ( ACPI.getFixHeaders().value() || ACPI.DSDT.Fixes.ACPI_DSDT_Fixe_Array[29].dgetEnabled() ) {
if ( ACPI.getFixHeaders().value() ) {
xmlLiteParser->addWarning(generateErrors, S8Printf("FixHeaders exists in ACPI and ACPI/DSDT/Fixes with a different value. Using value of ACPI/FixHeaders. Delete FixHeaders from ACPI/DSDT/Fixes."));
}else{
xmlLiteParser->addWarning(generateErrors, S8Printf("FixHeaders exists in ACPI and ACPI/DSDT/Fixes with a different value. Using value of ACPI/DSDT/Fixes/FixHeaders. Delete FixHeaders from ACPI/DSDT/Fixes and set ACPI/FixHeaders to true."));
}
}
}
}
return true;
}
const decltype(DisableDrivers)::ValueType& dgetDisabledDriverArray() const { return DisableDrivers.isDefined() ? DisableDrivers.value() : DisableDrivers.nullValue; };
const decltype(SMBIOS)& getSMBIOS() const { return SMBIOS; };

View File

@ -170,6 +170,9 @@ public:
if ( dgetResetAddr() == 0xCF9) return 0x06;
return 0;
}
const decltype(FixHeaders)& getFixHeaders() const { return FixHeaders; };
bool dgetSlpSmiEnable() const { return HaltEnabler.isDefined() ? HaltEnabler.value() : false; };
bool dgetFixHeaders() const { return FixHeaders.isDefined() ? FixHeaders.value() : false; };
bool dgetFixMCFG() const { return FixMCFG.isDefined() ? FixMCFG.value() : false; };

View File

@ -14,6 +14,11 @@
XmlAbstractType& ConfigPlistClass::ACPI_Class::DSDT_Class::ACPI_DSDT_Fixes_Class::parseValueFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, bool generateErrors, const XmlParserPosition &keyPos, const char *keyValue, size_t keyValueLength, bool* keyFound)
{
#ifdef JIEF_DEBUG
if ( strncmp(keyValue, "FixHeaders", strlen("FixHeaders")) == 0 ) {
NOP;
}
#endif
for ( size_t idx = 0 ; idx < sizeof(ACPI_DSDT_Fixe_Array)/sizeof(ACPI_DSDT_Fixe_Array[0]) ; idx++ )
{
if ( ACPI_DSDT_Fixe_Array[idx].getNewName() && strnIsEqualIC(keyValue, keyValueLength, ACPI_DSDT_Fixe_Array[idx].getNewName()) ) {
@ -27,6 +32,7 @@ XmlAbstractType& ConfigPlistClass::ACPI_Class::DSDT_Class::ACPI_DSDT_Fixes_Class
ACPI_DSDT_Fixe_Array[idx].newEnabled.reset();
}
ACPI_DSDT_Fixe_Array[idx].newEnabled.parseFromXmlLite(xmlLiteParser, xmlPath, true);
ACPI_DSDT_Fixe_Array[idx].setDefined();
*keyFound = true;
return ACPI_DSDT_Fixe_Array[idx].newEnabled;
}else
@ -41,6 +47,7 @@ XmlAbstractType& ConfigPlistClass::ACPI_Class::DSDT_Class::ACPI_DSDT_Fixes_Class
ACPI_DSDT_Fixe_Array[idx].oldEnabled.reset();
}
ACPI_DSDT_Fixe_Array[idx].oldEnabled.parseFromXmlLite(xmlLiteParser, xmlPath, true);
ACPI_DSDT_Fixe_Array[idx].setDefined();
*keyFound = true;
return ACPI_DSDT_Fixe_Array[idx].oldEnabled;
}

View File

@ -18,29 +18,33 @@ class DSDT_Class : public XmlDict
public:
class ACPI_DSDT_Fixes_Class;
class ACPI_DSDT_Fix : public XmlBool
class ACPI_DSDT_Fix : public XmlAbstractType
{
using super = XmlBool;
using super = XmlAbstractType;
friend class ACPI_DSDT_Fixes_Class;
protected:
const CHAR8* m_newName = NULL;
const CHAR8* m_oldName = NULL;
UINT32 m_bitData = 0;
XmlBool oldEnabled = XmlBool();
XmlBool newEnabled = XmlBool();
XmlBool oldEnabled {};
XmlBool newEnabled {};
public:
ACPI_DSDT_Fix(const CHAR8* newName, const CHAR8* oldName, UINT32 bitData ) : XmlBool(), m_newName(newName), m_oldName(oldName), m_bitData(bitData) {};
constexpr ACPI_DSDT_Fix(const CHAR8* newName, const CHAR8* oldName, UINT32 bitData ) : m_newName(newName), m_oldName(oldName), m_bitData(bitData), oldEnabled(), newEnabled() {};
ACPI_DSDT_Fix(const ACPI_DSDT_Fix&) { panic("copy ctor"); }; // can't do "=delete" because clang thinks it will be called at initialization "ACPI_DSDT_Fixes_Class Fixes = ACPI_DSDT_Fixes_Class();"
ACPI_DSDT_Fix& operator = (const ACPI_DSDT_Fix&) = delete; // { panic("copy ctor"); }; // = delete;
virtual const char* getDescription() override { panic("not defined"); };
virtual bool isTheNextTag(XmlLiteParser* xmlLiteParser) override { panic("not defined"); };
virtual bool parseFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, bool generateErrors) override { panic("not defined"); };
virtual void reset() override {
super::reset();
oldEnabled.reset();
newEnabled.reset();
};
const CHAR8* getNewName() const { return m_newName; }
constexpr const CHAR8* getNewName() const { return m_newName; }
const CHAR8* getOldName() const { return m_oldName; }
uint32_t getBitData() const { return m_bitData; }
@ -57,7 +61,7 @@ public:
class ACPI_DSDT_Fixes_Class : public XmlDict
{
using super = XmlDict;
protected:
public:
ACPI_DSDT_Fix ACPI_DSDT_Fixe_Array[31] = { // CAREFUL not to declare too much
{ "AddDTGP_0001", "AddDTGP", FIX_DTGP },
{ "FixDarwin_0002", "FixDarwin", FIX_WARNING },
@ -88,7 +92,7 @@ public:
{ "FIX_ACST_4000000", "FixACST", FIX_ACST },
{ "AddHDMI_8000000", "AddHDMI", FIX_HDMI },
{ "FixRegions_10000000", "FixRegions", FIX_REGIONS },
{ "FixHeaders_20000000", "FixHeaders", FIX_HEADERS },
{ "FixHeaders_20000000", "FixHeaders", FIX_HEADERS_DEPRECATED },
{ NULL, "FixMutex", FIX_MUTEX }
};
@ -99,9 +103,31 @@ public:
ACPI_DSDT_Fixe_Array[idx].reset();
}
};
// virtual bool parseFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, bool generateErrors) override;
virtual XmlAbstractType& parseValueFromXmlLite(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, bool generateErrors, const XmlParserPosition &keyPos, const char *keyValue, size_t keyValueLength, bool* keyFound) override;
virtual bool validate(XmlLiteParser* xmlLiteParser, const XString8& xmlPath, const XmlParserPosition& keyPos, bool generateErrors) override {
if ( !super::validate(xmlLiteParser, xmlPath, keyPos, generateErrors) ) return false;
if ( !isDefined() ) return true;
// if ( LString8(ACPI_DSDT_Fixe_Array[29].getNewName()) != "FixHeaders_20000000"_XS8 ) {
// log_technical_bug("ACPI_DSDT_Fixe_Array[29].getNewName() != \"FixHeaders_20000000\"");
// return true; // Bug in ACPI_DSDT_Fixe_Array. We don't want to reset all the values, so return true.
// }
// if ( ACPI_DSDT_Fixe_Array[29].isDefined() ) {
// xmlLiteParser->addWarning(generateErrors, S8Printf("FixHeaders is ACPI/DSDT in deprecated. Move it to ACPI."));
// return true; // return true because we handle this value anyway.
// }
return true;
}
const ACPI_DSDT_Fix& getFixHeaders() const {
// FixHeaders is bit 29, but that's a coincidence with the index of the array. ACPI_DSDT_Fixe_Array[FIX_HEADERS_DEPRECATED] would be wrong.
if ( LString8(ACPI_DSDT_Fixe_Array[29].getNewName()) != "FixHeaders_20000000"_XS8 ) {
log_technical_bug("ACPI_DSDT_Fixe_Array[29].getNewName() != \"FixHeaders_20000000\"");
}
return ACPI_DSDT_Fixe_Array[29];
}
uint32_t dgetFixBiosDsdt() const {
uint32_t FixDsdt = 0;
for (size_t Index = 0; Index < sizeof(ACPI_DSDT_Fixe_Array)/sizeof(ACPI_DSDT_Fixe_Array[0]); Index++) {
@ -109,6 +135,9 @@ public:
}
return FixDsdt;
}
bool dgetFixHeaders() const {
return getFixHeaders().dgetEnabled();
}
};
class ACPI_DSDT_Patch_Class : public XmlDict

View File

@ -21,6 +21,105 @@
#define DBG(...) DebugLog(DEBUG_SELF, __VA_ARGS__)
#endif
EFI_STATUS Self::__initialize(EFI_HANDLE SelfImageHandle, EFI_LOADED_IMAGE** SelfLoadedImagePtr, EFI_SIMPLE_FILE_SYSTEM_PROTOCOL** SelfSimpleVolumePtr, EFI_FILE** SelfVolumeRootDirPtr, XStringW* CloverDirFullPathPtr, XStringW* efiFileNamePtr, EFI_FILE** CloverDirPtr)
{
EFI_STATUS Status;
Status = gBS->HandleProtocol(SelfImageHandle, &gEfiLoadedImageProtocolGuid, (void **)SelfLoadedImagePtr);
if ( EFI_ERROR(Status) ) {
*SelfLoadedImagePtr = NULL;
return RETURN_LOAD_ERROR;
}
EFI_LOADED_IMAGE* SelfLoadedImage = *SelfLoadedImagePtr;
if ( SelfLoadedImage->DeviceHandle == NULL ) {
*SelfLoadedImagePtr = NULL;
return RETURN_LOAD_ERROR;
}
Status = gBS->HandleProtocol(SelfLoadedImage->DeviceHandle, &gEfiSimpleFileSystemProtocolGuid, (void**)SelfSimpleVolumePtr);
if ( EFI_ERROR(Status) ) {
*SelfSimpleVolumePtr = NULL;
return RETURN_LOAD_ERROR;
}
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL* SelfSimpleVolume = *SelfSimpleVolumePtr;
Status = SelfSimpleVolume->OpenVolume(SelfSimpleVolume, SelfVolumeRootDirPtr);
if ( EFI_ERROR(Status) ) {
*SelfVolumeRootDirPtr = NULL;
return RETURN_LOAD_ERROR;
}
EFI_FILE* SelfVolumeRootDir = *SelfVolumeRootDirPtr;
#ifdef JIEF_DEBUG
DBG("SelfVolumeRootDir = %lld\n", uintptr_t(SelfVolumeRootDir));
#endif
// find the current directory
*CloverDirFullPathPtr = FileDevicePathToXStringW(SelfLoadedImage->FilePath);
if ( CloverDirFullPathPtr->isEmpty() ) {
return RETURN_LOAD_ERROR;
}
XStringW& CloverDirFullPath = *CloverDirFullPathPtr;
// Do this before the next check.
if ( !CloverDirFullPath.startWith('\\') ) {
// Some firmware seems to not put a '\' at the begining. Do not panic anymore, just add it.
CloverDirFullPath.insertAtPos('\\', 0);
}
*efiFileNamePtr = CloverDirFullPath.basename();
#ifdef JIEF_DEBUG
XStringW& efiFileName = *efiFileNamePtr;
DBG("efiFileName=%ls\n", efiFileName.wc_str());
#endif
// History : if this Clover was started as BootX64.efi, redirect to /EFI/CLOVER
if ( CloverDirFullPath.isEqualIC("\\EFI\\Boot\\BootX64.efi") ) { // keep getCloverDir() in sync !
CloverDirFullPath.takeValueFrom("\\EFI\\CLOVER\\CloverX64.efi"); // keep getCloverDir() in sync !
}
if ( CloverDirFullPath.lastChar() == U'\\' ) { // keep getCloverDir() in sync !
log_technical_bug("CloverDirFullPath.lastChar() == U'\\'"); // Just to see if that happens.
CloverDirFullPath.deleteCharsAtPos(CloverDirFullPath.length()-1, 1);
}
size_t i = CloverDirFullPath.rindexOf(U'\\', SIZE_T_MAX-1); // keep getCloverDir() in sync !
if ( i != SIZE_T_MAX && i > 0 ) CloverDirFullPath.deleteCharsAtPos(i, SIZE_T_MAX); // keep getCloverDir() in sync !
#ifdef JIEF_DEBUG
DBG("SelfDirPath = %ls\n", CloverDirFullPath.wc_str());
#endif
Status = SelfVolumeRootDir->Open(SelfVolumeRootDir, CloverDirPtr, CloverDirFullPath.wc_str(), EFI_FILE_MODE_READ, 0);
if ( EFI_ERROR(Status) ) {
*CloverDirPtr = NULL;
return RETURN_LOAD_ERROR;
}
#ifdef JIEF_DEBUG
EFI_FILE* CloverDir = *CloverDirPtr;
DBG("CloverDir = %lld\n", uintptr_t(CloverDir));
#endif
return EFI_SUCCESS;
}
const EFI_FILE_PROTOCOL* Self::getCloverDirAndEfiFileName(EFI_HANDLE ImageHandle, XStringW* efiFileName)
{
EFI_LOADED_IMAGE* SelfLoadedImage; // this efi.
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL* SelfSimpleVolume; // Volume containing this efi.
EFI_FILE* SelfVolumeRootDir; // Root dir of the volume containing this efi.
XStringW CloverDirFullPath; // full path of folder containing this efi.
EFI_FILE* CloverDir; // opened folder containing this efi
/*EFI_STATUS Status = */__initialize(ImageHandle, &SelfLoadedImage, &SelfSimpleVolume, &SelfVolumeRootDir, &CloverDirFullPath, efiFileName, &CloverDir);
if ( efiFileName->isEmpty() ) {
if ( CloverDir != NULL ) CloverDir->Close(CloverDir);
return NULL;
}
return CloverDir;
}
Self self;
@ -42,81 +141,106 @@ EFI_STATUS Self::_openDir(const XStringW& path, bool* b, EFI_FILE** efiDir)
EFI_STATUS Self::_initialize()
{
EFI_STATUS Status;
// EFI_STATUS Status;
Status = gBS->HandleProtocol(m_SelfImageHandle, &gEfiLoadedImageProtocolGuid, (void **)&m_SelfLoadedImage);
#ifdef DEBUG
if ( EFI_ERROR(Status) ) panic("Cannot get SelfLoadedImage");
if ( m_SelfLoadedImage->DeviceHandle == NULL ) panic("m_SelfLoadedImage->DeviceHandle == NULL");
m_SelfDevicePath = DuplicateDevicePath(DevicePathFromHandle(m_SelfLoadedImage->DeviceHandle));
if ( m_SelfDevicePath == NULL ) panic("m_SelfDevicePath == NULL");
#else
if ( EFI_ERROR(Status) ) return Status;
if ( m_SelfLoadedImage->DeviceHandle == NULL ) return EFI_NOT_FOUND;
m_SelfDevicePath = DuplicateDevicePath(DevicePathFromHandle(m_SelfLoadedImage->DeviceHandle));
if ( m_SelfDevicePath == NULL ) return EFI_NOT_FOUND;
#endif
/*Status = */__initialize(m_SelfImageHandle, &m_SelfLoadedImage, &m_SelfSimpleVolume, &m_SelfVolumeRootDir, &m_CloverDirFullPath, &m_efiFileName, &m_CloverDir);
if ( m_SelfLoadedImage == NULL ) log_technical_bug("Cannot get SelfLoadedImage");
if ( m_SelfLoadedImage->DeviceHandle == NULL ) log_technical_bug("m_SelfLoadedImage->DeviceHandle == NULL");
if ( m_SelfSimpleVolume == NULL ) log_technical_bug("Cannot get m_SelfSimpleVolume");
if ( m_SelfVolumeRootDir == NULL ) log_technical_bug("Cannot get m_SelfVolumeRootDir");
if ( m_CloverDirFullPath.isEmpty() ) log_technical_bug("Cannot get m_CloverDirFullPath");
if ( m_efiFileName.isEmpty() ) log_technical_bug("Cannot get m_efiFileName");
if ( m_CloverDir == NULL ) panic("Cannot open getSelfRootDir()"); // We have to panic, nothing would work without m_CloverDir
#ifdef JIEF_DEBUG
DBG("Self DevicePath()=%ls @%llX\n", FileDevicePathToXStringW(m_SelfDevicePath).wc_str(), (uintptr_t)m_SelfLoadedImage->DeviceHandle);
#endif
Status = gBS->HandleProtocol(m_SelfLoadedImage->DeviceHandle, &gEfiSimpleFileSystemProtocolGuid, (void**)&m_SelfSimpleVolume);
#ifdef DEBUG
if ( EFI_ERROR(Status) ) panic("Cannot get m_SelfSimpleVolume");
Status = m_SelfSimpleVolume->OpenVolume(m_SelfSimpleVolume, &m_SelfVolumeRootDir);
if ( EFI_ERROR(Status) ) panic("Cannot get m_SelfRootDir");
#else
if ( EFI_ERROR(Status) ) return Status;
Status = m_SelfSimpleVolume->OpenVolume(m_SelfSimpleVolume, &m_SelfVolumeRootDir);
if ( EFI_ERROR(Status) ) return Status;
#endif
// find the current directory
m_CloverDirFullPath = FileDevicePathToXStringW(m_SelfLoadedImage->FilePath);
// Do this before the next check.
if ( !m_CloverDirFullPath.startWith('\\') ) {
//CHAR16* f = ConvertDevicePathToText(m_SelfLoadedImage->FilePath, TRUE, TRUE);
//panic("Bad format for m_CloverDirFullPath(%ls). It must start with a '\\'.\nConvertDevicePathToText=%ls", m_CloverDirFullPath.wc_str(), f);
//
// Somefirmware seems to not put a '\' at the begining. Do not panic anymore, just add it.
m_CloverDirFullPath.insertAtPos('\\', 0);
m_SelfDevicePath = NULL;
if ( m_SelfLoadedImage && m_SelfLoadedImage->DeviceHandle ) {
m_SelfDevicePath = FileDevicePath(m_SelfLoadedImage->DeviceHandle, m_CloverDirFullPath + '\\' + m_efiFileName);
}
m_efiFileName = m_CloverDirFullPath.basename();
// History : if this Clover was started as BootX64.efi, redirect to /EFI/CLOVER
if ( m_CloverDirFullPath.isEqualIC("\\EFI\\Boot\\BootX64.efi") ) {
m_CloverDirFullPath.takeValueFrom("\\EFI\\CLOVER\\CloverX64.efi");
if ( m_SelfDevicePath == NULL ) {
log_technical_bug("m_SelfDevicePath == NULL"); // not sure what can work without m_SelfDevicePath
}else{
#ifdef JIEF_DEBUG
DBG("Self DevicePath()=%ls @%llX\n", FileDevicePathToXStringW(m_SelfDevicePath).wc_str(), (uintptr_t)m_SelfLoadedImage->DeviceHandle);
#endif
}
#ifdef DEBUG
if ( m_CloverDirFullPath.isEmpty() ) panic("m_CloverDirFullPath.isEmpty()");
#else
if ( m_CloverDirFullPath.isEmpty() ) return EFI_NOT_FOUND;
#endif
m_SelfDevicePath = FileDevicePath(m_SelfLoadedImage->DeviceHandle, m_CloverDirFullPath);
m_SelfDevicePathAsXStringW = FileDevicePathToXStringW(m_SelfDevicePath);
#ifdef DEBUG
if ( m_CloverDirFullPath.lastChar() == U'\\' ) panic("m_CloverDirFullPath.lastChar() == U'\\'");
//if ( m_CloverDirFullPath.endsWith('\\') ) panic("m_CloverDirFullPath.endsWith('\\')");
#else
if ( m_CloverDirFullPath.lastChar() == U'\\' ) return EFI_NOT_FOUND;
#endif
size_t i = m_CloverDirFullPath.rindexOf(U'\\', SIZE_T_MAX-1);
if ( i != SIZE_T_MAX && i > 0 ) m_CloverDirFullPath.deleteCharsAtPos(i, SIZE_T_MAX);
#ifdef JIEF_DEBUG
DBG("SelfDirPath = %ls\n", m_CloverDirFullPath.wc_str());
#endif
Status = m_SelfVolumeRootDir->Open(m_SelfVolumeRootDir, &m_CloverDir, m_CloverDirFullPath.wc_str(), EFI_FILE_MODE_READ, 0);
if ( EFI_ERROR(Status) ) panic("Cannot open getSelfRootDir()");
// m_SelfDevicePathAsXStringW = FileDevicePathToXStringW(m_SelfDevicePath);
_openDir(THEMES_DIRNAME, &m_ThemesDirExists, &m_ThemesDir); // don't need to check returned status as it's ok to not have a themes dir.
return EFI_SUCCESS;
//
//
// Status = gBS->HandleProtocol(m_SelfImageHandle, &gEfiLoadedImageProtocolGuid, (void **)&m_SelfLoadedImage);
// if ( EFI_ERROR(Status) ) panic("Cannot get SelfLoadedImage"); // We have to panic, nothing would work without m_CloverDir, and m_SelfImageHandle is needed to get it
// if ( m_SelfLoadedImage->DeviceHandle == NULL ) panic("m_SelfLoadedImage->DeviceHandle == NULL"); // We have to panic, nothing would work without m_CloverDir, and m_SelfLoadedImage->DeviceHandle is needed to get it
// m_SelfDevicePath = DuplicateDevicePath(DevicePathFromHandle(m_SelfLoadedImage->DeviceHandle));
// if ( m_SelfDevicePath == NULL ) {
// log_technical_bug("m_SelfDevicePath == NULL"); // not sure what can work without m_SelfDevicePath
// }
//
//#ifdef JIEF_DEBUG
// DBG("Self DevicePath()=%ls @%llX\n", FileDevicePathToXStringW(m_SelfDevicePath).wc_str(), (uintptr_t)m_SelfLoadedImage->DeviceHandle);
//#endif
//
// Status = gBS->HandleProtocol(m_SelfLoadedImage->DeviceHandle, &gEfiSimpleFileSystemProtocolGuid, (void**)&m_SelfSimpleVolume);
// if ( EFI_ERROR(Status) ) panic("Cannot get m_SelfSimpleVolume"); // We have to panic, nothing would work without m_CloverDir, and m_SelfSimpleVolume is needed to get it
// Status = m_SelfSimpleVolume->OpenVolume(m_SelfSimpleVolume, &m_SelfVolumeRootDir);
// if ( EFI_ERROR(Status) ) panic("Cannot get m_SelfVolumeRootDir"); // We have to panic, nothing would work without m_CloverDir, and m_SelfVolumeRootDir is needed to get it
//
//#ifdef JIEF_DEBUG
// DBG("m_SelfVolumeRootDir = %lld\n", uintptr_t(m_SelfVolumeRootDir));
//#endif
//
// // find the current directory
// m_CloverDirFullPath = FileDevicePathToXStringW(m_SelfLoadedImage->FilePath);
//
// // Do this before the next check.
// if ( !m_CloverDirFullPath.startWith('\\') ) {
// //CHAR16* f = ConvertDevicePathToText(m_SelfLoadedImage->FilePath, TRUE, TRUE);
// //panic("Bad format for m_CloverDirFullPath(%ls). It must start with a '\\'.\nConvertDevicePathToText=%ls", m_CloverDirFullPath.wc_str(), f);
// //
// // Some firmware seems to not put a '\' at the begining. Do not panic anymore, just add it.
// m_CloverDirFullPath.insertAtPos('\\', 0);
// }
//
// m_efiFileName = m_CloverDirFullPath.basename();
//#ifdef JIEF_DEBUG
// DBG("m_efiFileName=%ls\n", m_efiFileName.wc_str());
//#endif
//
// // Code to find m_CloverDirFullPath is duplicated in BootLog.cpp in case USE_SELF_INSTANCE is not defined
//
// // History : if this Clover was started as BootX64.efi, redirect to /EFI/CLOVER
// if ( m_CloverDirFullPath.isEqualIC("\\EFI\\Boot\\BootX64.efi") ) { // keep getCloverDir() in sync !
// m_CloverDirFullPath.takeValueFrom("\\EFI\\CLOVER\\CloverX64.efi"); // keep getCloverDir() in sync !
// }
// if ( m_CloverDirFullPath.isEmpty() ) log_technical_bug("m_CloverDirFullPath.isEmpty()");
// m_SelfDevicePath = FileDevicePath(m_SelfLoadedImage->DeviceHandle, m_CloverDirFullPath);
//// m_SelfDevicePathAsXStringW = FileDevicePathToXStringW(m_SelfDevicePath);
//
// if ( m_CloverDirFullPath.lastChar() == U'\\' ) { // keep getCloverDir() in sync !
// log_technical_bug("m_CloverDirFullPath.lastChar() == U'\\'"); // Just to see if that happens.
// m_CloverDirFullPath.deleteCharsAtPos(m_CloverDirFullPath.length()-1, 1);
// }
//
// size_t i = m_CloverDirFullPath.rindexOf(U'\\', SIZE_T_MAX-1); // keep getCloverDir() in sync !
// if ( i != SIZE_T_MAX && i > 0 ) m_CloverDirFullPath.deleteCharsAtPos(i, SIZE_T_MAX); // keep getCloverDir() in sync !
//
//#ifdef JIEF_DEBUG
// DBG("SelfDirPath = %ls\n", m_CloverDirFullPath.wc_str());
//#endif
// Status = m_SelfVolumeRootDir->Open(m_SelfVolumeRootDir, &m_CloverDir, m_CloverDirFullPath.wc_str(), EFI_FILE_MODE_READ, 0);
// if ( EFI_ERROR(Status) ) panic("Cannot open getSelfRootDir()"); // We have to panic, nothing would work without m_CloverDir
//#ifdef JIEF_DEBUG
// DBG("m_CloverDir = %lld\n", uintptr_t(m_CloverDir));
//#endif
//
//
// _openDir(THEMES_DIRNAME, &m_ThemesDirExists, &m_ThemesDir); // don't need to check returned status as it's ok to not have a themes dir.
//
// return EFI_SUCCESS;
}
EFI_STATUS Self::initialize(EFI_HANDLE ImageHandle)

View File

@ -18,34 +18,34 @@ extern "C" {
class Self
{
// Class method, usable even without any instance of Self.
protected:
EFI_HANDLE m_SelfImageHandle; // this efi.
EFI_LOADED_IMAGE* m_SelfLoadedImage; // this efi.
EFI_DEVICE_PATH* m_SelfDevicePath; // path to device containing this efi.
XStringW m_SelfDevicePathAsXStringW; // path to device containing this efi.
static EFI_STATUS __initialize(EFI_HANDLE m_SelfImageHandle, EFI_LOADED_IMAGE** m_SelfLoadedImage, EFI_SIMPLE_FILE_SYSTEM_PROTOCOL** m_SelfSimpleVolumePtr, EFI_FILE** m_SelfVolumeRootDirPtr, XStringW* m_CloverDirFullPathPtr, XStringW* m_efiFileNamePtr, EFI_FILE** m_CloverDirPtr);
public:
static const EFI_FILE_PROTOCOL* getCloverDirAndEfiFileName(EFI_HANDLE ImageHandle, XStringW* efiFileName);
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *m_SelfSimpleVolume; // Volume containing this efi.
EFI_FILE* m_SelfVolumeRootDir; // Root dir of the volume containing this efi.
protected:
EFI_HANDLE m_SelfImageHandle {}; // this efi.
EFI_LOADED_IMAGE* m_SelfLoadedImage {}; // this efi.
EFI_DEVICE_PATH* m_SelfDevicePath {}; // path to device containing this efi.
// XStringW m_SelfDevicePathAsXStringW; // path to device containing this efi.
XStringW m_efiFileName = L""_XSW;
EFI_DEVICE_PATH* m_CloverDirFullDevicePath; // full path, including device, of the folder containing this efi.
EFI_FILE* m_CloverDir; // opened folder containing this efi
XStringW m_CloverDirFullPath; // full path of folder containing this efi.
// XStringW m_CloverDirPath; // dirname containing this efi (contains just the dir, not the device path)
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL* m_SelfSimpleVolume {}; // Volume containing this efi.
EFI_FILE* m_SelfVolumeRootDir {}; // Root dir of the volume containing this efi.
// bool m_OemDirExists;
// EFI_FILE *m_OemDir;
XStringW m_efiFileName = {};
EFI_DEVICE_PATH* m_CloverDirFullDevicePath {}; // full path, including device, of the folder containing this efi.
EFI_FILE* m_CloverDir {}; // opened folder containing this efi
XStringW m_CloverDirFullPath {}; // full path of folder containing this efi.
bool m_ThemesDirExists;
EFI_FILE *m_ThemesDir;
bool m_ThemesDirExists {};
EFI_FILE *m_ThemesDir {};
EFI_STATUS _openDir(const XStringW& path, bool* b, EFI_FILE** efiDir);
EFI_STATUS _initialize();
public:
Self () : m_SelfImageHandle(NULL), m_SelfLoadedImage(NULL), m_SelfDevicePath(NULL), m_SelfDevicePathAsXStringW(),
m_SelfSimpleVolume(NULL), m_SelfVolumeRootDir(NULL),
m_CloverDirFullDevicePath(NULL), m_CloverDir(NULL), m_CloverDirFullPath()/*, m_CloverDirPath()*/, m_ThemesDirExists(false), m_ThemesDir(0) {};
Self () {};
Self(const Self&) = delete;
Self& operator = (const Self&) = delete;
@ -77,10 +77,6 @@ public:
const EFI_DEVICE_PATH& getCloverDirFullDevicePath() { checkInitialized(); return *m_CloverDirFullDevicePath; }
const EFI_FILE& getCloverDir() { checkInitialized(); return *m_CloverDir; }
const XStringW& getCloverDirFullPath() { checkInitialized(); return m_CloverDirFullPath; }
// const XStringW& getCloverDirPath() { checkInitialized(); return m_CloverDirPath; } // returns path containing this efi. Like \\EFI\\CLOVER
// bool oemDirExists() { checkInitialized(); return m_OemDirExists; }
// const EFI_FILE& getOemDir() { checkInitialized(); return *m_OemDir; } // Oem dir name under SelfDir. Like "OEM\\MyBoard"
bool themesDirExists() { checkInitialized(); return m_ThemesDirExists; }
const EFI_FILE& getThemesDir() { checkInitialized(); return *m_ThemesDir; }

View File

@ -43,7 +43,7 @@ private:
bool m_isDefined;
public:
XmlAbstractType() : m_isDefined(false) {};
constexpr XmlAbstractType() : m_isDefined(false) {};
virtual ~XmlAbstractType() {};
virtual const char* getDescription() = 0;
@ -98,8 +98,8 @@ public:
protected:
bool booll = false;
public:
XmlStrictBool() : super() {};
XmlStrictBool(bool b) : booll(b) { /*if (b) b = 1;*/ }
constexpr XmlStrictBool() : super() {};
constexpr XmlStrictBool(bool b) : booll(b) { /*if (b) b = 1;*/ }
virtual void reset() override { super::reset(); booll = 0; };
virtual const char* getDescription() override { return "boolean"; };

View File

@ -506,8 +506,8 @@ int documentation_test1()
class MyDictClass : public XmlDict
{
public:
XmlBool aBool;
XmlInt32 anInt32;
XmlBool aBool {};
XmlInt32 anInt32 {};
XmlDictField m_fields[2] = {
{"KeyNameForBool", aBool},
@ -548,8 +548,8 @@ int documentation_test2()
class MyInsideDictClass : public XmlDict
{
public:
XmlBool aBool;
XmlInt32 anInt32;
XmlBool aBool {};
XmlInt32 anInt32 {};
XmlDictField m_fields[2] = {
{"KeyNameForBool", aBool},
@ -561,7 +561,7 @@ int documentation_test2()
class MyTopLevelDictClass : public ConfigPlistAbstractClass
{
public:
MyInsideDictClass inside1;
MyInsideDictClass inside1 {};
XmlDictField m_fields[1] = {
{"KeyNameForInsideDict", inside1},
@ -600,8 +600,8 @@ int documentation_test3()
class MyPlist : public ConfigPlistAbstractClass
{
public:
XmlBool aBool;
XmlInt32 anInt32;
XmlBool aBool {};
XmlInt32 anInt32 {};
class CountClass : public XmlInt64
{
using super = XmlInt64;
@ -678,9 +678,9 @@ int documentation_test4()
{
using super = XmlDict;
public:
MyXmlType type; // this is a subclass of XmlUInt8 that check that type is 1 or 2
MyXmlSubType subType; // this is a subclass of XmlUInt8 that check that subtype is 11 or 12
XmlString8 name; // as many other field that there is in this dict
MyXmlType type {}; // this is a subclass of XmlUInt8 that check that type is 1 or 2
MyXmlSubType subType {}; // this is a subclass of XmlUInt8 that check that subtype is 11 or 12
XmlString8 name {}; // as many other field that there is in this dict
XmlDictField m_fields[2] = {
{"Type", type},
@ -737,9 +737,9 @@ int documentation_test5()
{
using super = XmlDict;
public:
XmlUInt8 type; // no validation except that the value is an unsigned 8 bits int
XmlUInt8 subType; // no validation except that the value is an unsigned 8 bits int
XmlString8 name; // as many other field that there is in this dict
XmlUInt8 type {}; // no validation except that the value is an unsigned 8 bits int
XmlUInt8 subType {}; // no validation except that the value is an unsigned 8 bits int
XmlString8 name {}; // as many other field that there is in this dict
XmlDictField m_fields[2] = {
{"Type", type},
@ -806,7 +806,7 @@ int documentation_test6()
class MyDictClass : public ConfigPlistAbstractClass
{
public:
XmlArray<XmlBool> aBoolArray;
XmlArray<XmlBool> aBoolArray {};
XmlDictField m_fields[1] = {
{"KeyNameForBoolArray", aBoolArray},
@ -844,7 +844,7 @@ int documentation_test7()
class MyDictClass : public ConfigPlistAbstractClass
{
public:
XmlRepeatingDict<XmlAddKey<XmlKey, XmlInt32>> keyIntPairs;
XmlRepeatingDict<XmlAddKey<XmlKey, XmlInt32>> keyIntPairs {};
XmlDictField m_fields[1] = {
{"KeyNameForKeyIntPairs", keyIntPairs},

View File

@ -45,7 +45,7 @@
#define FIX_ACST bit(26)
#define FIX_HDMI bit(27)
#define FIX_REGIONS bit(28)
#define FIX_HEADERS bit(29)
#define FIX_HEADERS_DEPRECATED bit(29) // deprecated !!
#define FIX_MUTEX bit(30)

View File

@ -99,7 +99,10 @@ ImageNight.FromPNG(ACCESS_EMB_DATA(dark), ACCESS_EMB_SIZE(dark)); \
}
XIcon::~XIcon() {}
XIcon::~XIcon()
{
// memory leak : we can't free (yet?) ImageSVG and ImageSVGnight because operator might have copied it
}
XIcon::XIcon(INTN Index, bool TakeEmbedded) : Id(Index), Name(), Image(), ImageNight(), Native(false),
ImageSVG(nullptr), ImageSVGnight(nullptr), Empty(0)
@ -121,16 +124,13 @@ XIcon& XIcon::operator=(const XIcon& src)
{
Id = src.Id;
Name = src.Name;
if (!src.isEmpty()) {
Image = src.Image;
if (!src.ImageNight.isEmpty()) {
ImageNight = src.ImageNight;
}
setFilled();
//this moment we copy pointers. Later it will be class variables
ImageSVG = src.ImageSVG;
ImageSVGnight = src.ImageSVGnight;
}
Image = src.Image;
ImageNight = src.ImageNight;
Native = src.Native;
Empty = src.Empty;
//this moment we copy pointers. Later it will be class variables
ImageSVG = src.ImageSVG;
ImageSVGnight = src.ImageSVGnight;
return *this;
}

View File

@ -272,7 +272,9 @@ void XTheme::Init()
CharWidth = 9;
SelectionColor = 0x80808080;
SelectionBackgroundPixel = { 0xef, 0xef, 0xef, 0xff };
FontFileName.setEmpty();
FontFileName.setEmpty();
Icons.setEmpty();
// Theme.takeValueFrom("embedded");
embedded = false;
BannerFileName.setEmpty();
@ -329,6 +331,7 @@ void XTheme::Init()
Cinema.setEmpty();
}
TagDict* XTheme::LoadTheme(const XStringW& TestTheme)
{
EFI_STATUS Status = EFI_UNSUPPORTED;

View File

@ -183,7 +183,9 @@ static EFI_STATUS LoadEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
goto bailout;
}else{
DBG("\n");
#ifdef JIEF_DEBUG
DBG("ChildImaheHandle=%llx\n", uintptr_t(ChildImageHandle));
#endif
}
if (!EFI_ERROR(ReturnStatus)) { //why unload driver?!
@ -193,9 +195,9 @@ static EFI_STATUS LoadEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
#ifdef JIEF_DEBUG
EFI_LOADED_IMAGE_PROTOCOL* loadedBootImage = NULL;
if (!EFI_ERROR(Status = gBS->HandleProtocol(ChildImageHandle, &gEfiLoadedImageProtocolGuid, (void**)(&loadedBootImage)))) {
DBG("%ls : Image base = 0x%llx", ImageTitle.wc_str(), (uintptr_t)loadedBootImage->ImageBase); // Jief : Do not change this, it's used by grep to feed the debugger
DBG("%ls : Image base = 0x%llx\n", ImageTitle.wc_str(), (uintptr_t)loadedBootImage->ImageBase); // Jief : Do not change this, it's used by grep to feed the debugger
}else{
DBG("Can't get loaded image protocol");
DBG("Can't get loaded image protocol\n");
}
#endif
goto bailout;
@ -689,6 +691,9 @@ void debugStartImageWithOC()
}
}
#endif
//const UINT32 standardMask[4] = {0xFF, 0xFF, 0xFF, 0xFF};
void LOADER_ENTRY::DelegateKernelPatches()
{
XObjArray<ABSTRACT_KEXT_OR_KERNEL_PATCH> selectedPathArray;
@ -707,6 +712,17 @@ void LOADER_ENTRY::DelegateKernelPatches()
mOpenCoreConfiguration.Kernel.Patch.ValueSize = sizeof(__typeof_am__(**mOpenCoreConfiguration.Kernel.Patch.Values));
mOpenCoreConfiguration.Kernel.Patch.Values = (__typeof_am__(*mOpenCoreConfiguration.Kernel.Patch.Values)*)malloc(mOpenCoreConfiguration.Kernel.Patch.AllocCount*sizeof(__typeof_am__(*mOpenCoreConfiguration.Kernel.Patch.Values)));
memset(mOpenCoreConfiguration.Kernel.Patch.Values, 0, mOpenCoreConfiguration.Kernel.Patch.AllocCount*sizeof(*mOpenCoreConfiguration.Kernel.Patch.Values));
UINT32 FakeCPU = gSettings.KernelAndKextPatches.FakeCPUID;
// for (size_t Idx = 0; Idx < 4; Idx++) {
// mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Data[Idx] = FakeCPU & 0xFF;
// mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Mask[Idx] = 0xFF;
// FakeCPU >>= 8;
// }
memset(mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Data, 0, sizeof(mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Data));
memset(mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Mask, 0, sizeof(mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Mask));
mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Data[0] = FakeCPU;
mOpenCoreConfiguration.Kernel.Emulate.Cpuid1Mask[0] = 0xFFFFFFFF;
for (size_t kextPatchIdx = 0 ; kextPatchIdx < selectedPathArray.size() ; kextPatchIdx++ )
{
@ -2033,8 +2049,8 @@ void DisconnectSomeDevices(void)
// EFI_FILE_PROTOCOL *RootFP = NULL;
// EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *VolumeFS = NULL;
PCI_TYPE00 Pci;
CHAR16 *DriverName;
EFI_COMPONENT_NAME_PROTOCOL *CompName;
CHAR16 *DriverName = NULL;
EFI_COMPONENT_NAME_PROTOCOL *CompName = NULL;
if (gDriversFlags.PartitionLoaded) {
DBG("Partition driver loaded: ");
@ -2102,6 +2118,11 @@ void DisconnectSomeDevices(void)
// DBG("CompName %s\n", efiStrError(Status));
continue;
}
// 2021-05, Jief : PG7 had a crash. In some cases, CompName->GetDriverName == NULL.
if ( CompName->GetDriverName == NULL ) {
DBG("DisconnectSomeDevices: GetDriverName CompName=%lld, CompName->GetDriverName=NULL\n", uintptr_t(CompName));
continue;
}
Status = CompName->GetDriverName(CompName, "eng", &DriverName);
if (EFI_ERROR(Status)) {
continue;
@ -2110,7 +2131,7 @@ void DisconnectSomeDevices(void)
for (Index2 = 0; Index2 < ControllerHandleCount; Index2++) {
Status = gBS->DisconnectController(ControllerHandles[Index2],
Handles[Index], NULL);
// DBG("Disconnect [%ls] from %X: %s\n", DriverName, ControllerHandles[Index2], efiStrError(Status));
//DBG("Disconnect [%ls] from %llX: %s\n", DriverName, uintptr_t(ControllerHandles[Index2]), efiStrError(Status));
}
}
}

View File

@ -448,6 +448,8 @@ void FillInputs(BOOLEAN New)
InputItems[InputItemsCount++].SValue.SWPrintf("%04hhu", gSettings.Quirks.OcBooterQuirks.ProvideMaxSlide);
InputItems[InputItemsCount].ItemType = BoolValue; //123
InputItems[InputItemsCount++].BValue = gSettings.GUI.ProvideConsoleGop;
InputItems[InputItemsCount].ItemType = BoolValue; //124
InputItems[InputItemsCount++].BValue = gSettings.ACPI.FixHeaders;
@ -1067,6 +1069,11 @@ void ApplyInputs(void)
gSettings.GUI.ProvideConsoleGop = InputItems[i].BValue;
DBG("applied ConsoleGopEnable=%s\n", gSettings.GUI.ProvideConsoleGop ? "Y" : "N" );
}
i++; //124
if (InputItems[i].Valid) {
gSettings.ACPI.FixHeaders = InputItems[i].BValue;
DBG("applied gSettings.ACPI.FixHeaders=%s\n", gSettings.ACPI.FixHeaders ? "Y" : "N" );
}
if (NeedSave) {
@ -1078,6 +1085,7 @@ void ApplyInputs(void)
void AboutRefit(void)
{
if (AboutMenu.Entries.size() == 0) {
AboutMenu.Daylight = ThemeX.Daylight;
if (!(ThemeX.HideUIFlags & HIDEUI_FLAG_MENU_TITLE_IMAGE)) {
AboutMenu.TitleImage = ThemeX.GetIcon(BUILTIN_ICON_FUNC_ABOUT);
}
@ -1135,6 +1143,7 @@ void AboutRefit(void)
void HelpRefit(void)
{
if (HelpMenu.Entries.size() == 0) {
HelpMenu.Daylight = ThemeX.Daylight;
if (!(ThemeX.HideUIFlags & HIDEUI_FLAG_MENU_TITLE_IMAGE)) {
HelpMenu.TitleImage = ThemeX.GetIcon(BUILTIN_ICON_FUNC_HELP);
}
@ -2062,7 +2071,7 @@ REFIT_ABSTRACT_MENU_ENTRY* SubMenuDsdtFix()
SubScreen->AddMenuCheck("Rename ACST", FIX_ACST, 67);
SubScreen->AddMenuCheck("Add HDMI", FIX_HDMI, 67);
SubScreen->AddMenuCheck("Fix Regions", FIX_REGIONS, 67);
SubScreen->AddMenuCheck("Fix Headers", FIX_HEADERS, 67);
// SubScreen->AddMenuCheck("Fix Headers", FIX_HEADERS_DEPRECATED, 67);
SubScreen->AddMenuCheck("Fix Mutex", FIX_MUTEX, 67);
SubScreen->AddMenuEntry(&MenuEntryReturn, false);
@ -2144,6 +2153,7 @@ REFIT_ABSTRACT_MENU_ENTRY* SubMenuACPI()
SubScreen->AddMenuEntry(SubMenuDsdtFix(), true);
SubScreen->AddMenuEntry(SubMenuDSDTPatches(), true);
SubScreen->AddMenuItemInput(49, "Fix MCFG", FALSE);
SubScreen->AddMenuItemInput(124, "Fix Headers", gSettings.ACPI.FixHeaders);
SubScreen->AddMenuEntry(&MenuEntryReturn, false);
return Entry;
@ -2598,12 +2608,10 @@ void OptionsMenu(OUT REFIT_ABSTRACT_MENU_ENTRY **ChosenEntry)
gThemeOptionsChanged = FALSE;
if (OptionMenu.Entries.size() == 0) {
OptionMenu.Daylight = ThemeX.Daylight;
if (!(ThemeX.HideUIFlags & HIDEUI_FLAG_MENU_TITLE_IMAGE)) {
OptionMenu.TitleImage = ThemeX.GetIcon(BUILTIN_ICON_FUNC_OPTIONS);
}
//else {
// OptionMenu.TitleImage.setEmpty();
//}
gThemeOptionsChanged = TRUE;
OptionMenu.ID = SCREEN_OPTIONS;
OptionMenu.GetAnime(); //FALSE;