grub-customizer-5.1.0/0000755000175000017500000000000013360360026014127 5ustar danieldanielgrub-customizer-5.1.0/translation/0000755000175000017500000000000013360360026016465 5ustar danieldanielgrub-customizer-5.1.0/translation/translation-th.mo0000644000175000017500000003012313360360026021770 0ustar danieldanieleDl E # ( 2 > L [ e % &  / ' 6 /C %s !  M   q'   &  $ 2 A G X u  9  % ( 61 h {  . &I*8U #);LRc w     /5Ug~   X%=~* (?MA#Sw*6af~!ZiFu'&bNp-"PSWL`s(]*.i to!%0CV0!yl[ d "$!7G!%!Q!!]#8$s4%e%&:'@'3(L( ](1k(:((!(-)"?)4b)))))). *.;*%j*+**%**]+3c+E+E+#,%<,2b,K,G,!)-"K-n--2.].3U////7/H 0,]SBbD =@\dIXa)+YG`cR!-A&#6 ^4'eM9TJ_(V8HNKCO<0WF[U:Q;2$" *5>1 ?L.E/ %P3Z7(incoming Entries of %1)(incoming Entries)(script code)AND: your modifications are still unsaved, update will save them too!An error occurredBURGBURG ModeBURG found!Boot sequenceChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuDo you want to configure BURG instead of grub2?Do you want to save your modifications?Entry editorError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryOtherPath to iso filePlease type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)RenameReverts the list to the default orderSave configuration and generate a new %1Script updates found. Click save to apply the changes!Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly._Appearance settings_Change Environment …_Device: _Edit_File_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Save & Quit_Show details_Type:_Update & Quit_Viewadd this entry to a new submenuadvanced settingscannot move this entrycontinue (risk data loss)currentdefault name: %1installing the bootloader…loading configuration…loading script %2/%3 (%1)menuentrypartition: %1placeholderplease Inform the author about this problem. The following information could be helpful:reloads the configuration. Unsaved changes will be preserved.remove this entry from the current submenusave this configurationscriptscript: %1submenuumount failed!updating configurationProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-02-18 15:22+0000 Last-Translator: Pongsathorn Sra-uthai (Touch) Language-Team: Thai MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) (ระเบียนที่กำลังเข้ามาของ %1)(ระเบียนที่กำลังเข้ามา)(รหัสสคริปท์)AND: การแก้ไขของคุณยังคงไม่ได้บันทึก การอัพเดทจะเป็นการบันทึกไปด้วย!เกิดข้อผิดพลาดBURGรูปแบบ BURGตรวจพบ BURG!ลำดับการบูตเลือกไฟล์...เลือก...การปรับแต่งได้รับการบันทึกแล้วไม่สามารถเมาท์พาร์ทิชั่นที่เลือกไว้ไม่สามารถเลิกเมาท์พาร์ทิชั่นที่เลือกไว้สร้างเมนูย่อยคุณต้องการปรับแต่ง BURG แทน Grub2 หรือไม่?คุณต้องการบันทึกการแก้ไขของคุณหรือไม่?ตัวแก้ไขระเบียนเกิดข้อผิดพลาดขณะกำลังสร้างลำดับการบูต โปรดตรวจสอบตัวแปร!เกิดข้อผิดพลาดขณะติดตั้ง bootloaderการบันทึกการปรับแต่ง Grub ล้มเหลวGrub 2Grub Customizer เป็นหน้าตาแบบกราฟิคสำหรับใช้เพื่อปรับแต่งการตั้งค่า grub2/burgไฟล์ ISO: ไฟล์ _ISOติดตั้ง bootloader ใน MBR และเพิ่มบางไฟล์ ลงในไดเร็กทอรีของ bootloader (ถ้าไม่มีไฟล์นั้นอยู่)ติดตั้งไปยัง MBRตัวแปรเคอร์เนลไฟล์ Memtest: การเมาท์ล้มเหลว!ย้ายลงย้ายระเบียนหรือสคริปท์ที่เลือกไว้ลงย้ายขึ้นย้ายระเบียนหรือสคริปท์ที่เลือกไว้ขึ้นชื่อระเบียนอื่น ๆพาธไปหาไฟล์ ISOโปรดระบุข้อความอุปกรณ์!ไม่พบ Proxy binaryลบออกจากเมนูย่อยลบระเบียนที่เลือกไว้ (คุณสามารถกู้คืนได้จากถังขยะ)เปลี่ยนชื่อกลับไปใช้การจัดเรียงรายการแบบพื้นฐานบันทึกการปรับแต่งและสร้าง %1 ใหม่ตรวจพบการปรับปรุงสคริปท์ คลิกที่บันทึกเพื่อนำการเปลี่ยนแปลงไปใช้!แสดง_ช่องใส่แสดงระเบียนที่_ซ่อนจุดเมาท์ย่อย:ได้ติดตั้ง bootloader เรียบร้อยแล้วการปรับแต่งที่ได้สร้างขึ้นไม่เท่ากับการปรับแต่งเริ่มต้นที่บันทึกไว้ สิ่งที่คุณเห็นในตอนนี้คุณจะยังไม่เห็นจนกว่าจะเริ่มระบบ PC ของคุณใหม่ เพื่อแก้ไขสิ่งนี้ คลิกอัพเดท!การปรับแต่ง Grub ไม่ได้รับการบันทึกสิ่งที่คุณได้แก้ไขเสร็จไปแล้วนั้นจะมีผลต่อการแสดงระเบียน โปรดเรียกข้อมูลใหม่อีกครั้ง!การปรับแต่งที่บันทึกไว้ยังไม่ได้อัพเดท!ดูเหมือนจะไม่ใช่ระบบไฟล์ root (ไม่พบ fstab)คุณจะได้เห็นระเบียนทั้งหมด (ที่ไม่ได้ปรับแต่ง) เมื่อคุณสั่ง Grub ทำงาน เมื่อมีข้อผิดพลาดนี้ขึ้น(เป็นส่วนใหญ่) นั่นคือคุณไม่ได้ติดตั้ง grub customizer อย่างถูกต้องการ_ตั้งค่าการแสดงผลเ_ปลี่ยนลักษณะแวดล้อม...อุป_กรณ์: แ_ก้ไขไ_ฟล์_การตั้งค่าทั่วไป_จัดกลุ่มด้วยสคริปท์_วิธีใช้เ_รียกใช้ ramdisk_ติดตั้งไปยัง MBR ...ไฟล์_ลินุกซ์การปรับแต่ง_รายการไฟล์_Memtestไฟล์ _Memtest_ชื่อ:_พาร์ทิชัน_พาร์ทิชัน:_ออกโดยไม่บันทึก_ออกโดยไม่อัพเดท_บันทึกและออกแ_สดงรายละเอียด_ชนิด:_อัพเดทและออกมุม_มองเพิ่มระเบียนนี้เป็นเมนูย่อยใหม่การตั้งค่าขั้นสูงไม่สามารถย้ายระเบียนนี้ทำต่อไป (เสี่ยงข้อมูลหาย)ปัจจุบันชื่อพื้นฐาน: %1กำลังติดตั้ง bootloader...กำลังเรียกใช้การปรับแต่ง...กำลังเรียกใช้สคริปท์ %2/%3 (%1)ระเบียนเมนูพาร์ทิชั่น: %1ช่องใส่โปรดแจ้งผู้จัดทำเกี่ยวกับปัญหานี้ ข้อมูลต่อไปนี้อาจช่วยได้:เรียกใช้การปรับแต่งใหม่ การแก้ไขที่ยังไม่ได้บันทึกจะถูกเรียกมาด้วยลบระเบียนนี้จากเมนูย่อยปัจจุบันบันทึกการปรับแต่งสคริปท์สคริปท์: %1เมนูย่อยยกเลิกเมาท์ล้มเหลว!กำลังปรับปรุงการปรับแต่งgrub-customizer-5.1.0/translation/translation-sv.mo0000644000175000017500000005174013360360026022015 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0b0(202K2\2v2 2 22QQ3 333 336V6 6)6)787 =7 H7'U7 }7 7 7 77(7*78/8.L88{888868(.9&W9~9/99\9):B:S: g: t:o::;; ;!;);:; R;%]; ;%; ;;;;;<<<==@5=v==>>)->+W>%>L>>???(?/@F@( A$6AM[A0A AAC CCF:CGA~GVGHH IIII II J JJ6JMJUJfJ xJJJJJJ J JJJ K'K:KPKWK]KtKzK'KK KKKKK L"L;LCLYL ^L hLuLVLLLLMM =MGMWM `MjM sM }MMMMMMMM N"N 2NZ@NNlR}RR@RRR/S2SQS XScS rS |S SSSS SSS |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-11-28 04:16+0000 Last-Translator: Åke Engelbrektson Language-Team: Svenska Språkfiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Language: sv %1 kunde inte startas. Felmeddelande: %2(Anpassade inställningar)(Första posten)(Inkommande poster av %1)(Inkommande poster)(Annat ...)(Skriptläge)En grupp med andra operativsystem. Visas i grub som en normal menypost men när du klickar på den, öppnas en undermeny där du kan välja en av de ingående menyposterna.OCH: Dina ändringar har fortfarande inte sparats, uppdatering sparar dem också!U_tseendeOm menyposttypernaLägg till post från skräpAlla filerSom ett alternativ till det enkla tema som tillhandahåller alternativ som färg, bakgrundsbild och teckensnitt, kan du installera ett mer komplext temapaket för att få en startmeny som ser bättre ut. Det finns flera nedladdningskällor som den här tråden på ubuntuforums.org: %1 (konto krävs) eller sök efter "%2" på%3 Ladda bara ner ett paket (oftast tar.gz-format) och lägg till det i listan över tillgängliga teman, med knappen intill temaväljaren. Efter ändring av tema, ser du en enkel redigerare där du kan förhandsgranska bilder och hantera vissa filer. Ändrat temainnehåll sparas när du trycker på "Spara".Ett fel inträffadeEn menypost som är synlig i grub-menyn och startar ett operativsystem vid aktivering.ArkivfilerVill du verkligen ta bort det här temat?Är du säker?BURGBURG-lägeBURG hittad!Starta standardposten efter %1 sekunderStartsekvensChainloaderVälj fil ...Välj ...Inställningarna har sparatsKunde inte montera den valda partitionenKunde inte avmontera den valda partitionenSkapa undermenyAnpassade temainställningarVill du konfigurera BURG istället för grub2?Vill du fortsätta utan att spara aktuell konfiguration?Vill du spara dina ändringar?PostredigerareMiljöinställningarKunde inte skapa startsekvens. Kontrollera parametrar!Fel under installation av starthanterareKunde inte spara grub-konfigurationen!ArkivFilbytet misslyckades. Välj en temafil först!Grub 2Grub Customizer är ett grafiskt gränssnitt för att konfigurera grub2-/burg-inställningarGrub-teckensnitt kan vara skadliga (Info)Belyst: BakgrundBelyst: TeckensnittISO-avbild: I_SO-avbildInstallera starthanteraren i MBR och placera några filer i starthanterarens datamapp (om de inte redan finns).Installera i MBRKärnparametrarLinuxLinux-ISOMemtestMemtest-avbild: Montering misslyckades!Flytta nerFlytta ner markerad post eller skriptFlytta uppFlytta upp markerad post eller skriptNamnge postenNormal: BakgrundNormal: TeckensnittAnnatSökväg till iso-filVälj en bakgrundsbild!Ta gärna en titt på kommandoradens utdata nedan. Om du tror att detta är ett fel i Grub Customizer, får du gärna skapa en felrapport på %1! Generellt bör Grub Customizer förhindra fel som det här.Skriv en enhetssträng!Proxy-binär hittades inte!Ta bort från undermenyTa bort markerade poster (kan återställas från papperskorgen)Borttagna objektBorttaget skript kan orsaka problem vid försök att starta poster som är beroende av det. Vill du verkligen göra det ändå?Byt namnÅterställ markerade posterÅterställer listan till standardordningSpara konfigurationen och generera en ny %1Kunde inte spara teman fullständigt!Skriptuppdateringar hittades. Tryck "Spara" för att tillämpa ändringarna!Skript genererar menyposterna. Så varje menypost tillhör ett skript. De visas som toppnivågrupper vid aktivering, men till skillnad från undermenyer, visas de inte på startmenyn.Visa _platshållareVisa _dolda posterUndermonteringspunkter:Starthanteraren har installerats korrektDen valda filen kan inte läsas in som ett temaDen genererade konfigurationen stämde inte överens med den sparade, vid uppstart. Så vad du ser nu, kanske inte är det du ser när du startar om din dator. Tryck "Uppdatera" för att fixa detta.Det angivna filnamnet kan inte användasGrub-konfigurationen kan inte sparasDe ändringar du gjort, påverkar de synliga posterna. Läs in posterna igen.Den sparade konfigurationen är inte uppdaterad!TemainnehållDet finns två typer av denna specialpost. Inkommande poster är den plats där Grub Customizer placerar de nya operativsystem som identifieras av grub, men som ännu inte konfigurerats med Grub Customizer. Skriptkoden är kod genererad av grub, som inte ser ut som en menypost. I de flesta fall används den för att konfigurera grub. Du bör inte röra den, om du inte vet vad den gör. Platshållare är dolda, som standard.Det finns osparade ändringar!Detta tar bort följande poster:Detta alternativ låter dig avgöra vilket operativsystem som skall väljas vid systemstart. Som standard är det alltid det första. Detta alternativ innebär att standardstartposten förblir densamma även om andra operativsystem placeras först. I motsats till det första alternativet, identifieras de andra efter namn. Så standardstarten ändras inte när det flyttas till en annan position. Vill du använda en annan referens, som "peka alltid till den andra posten" kan du använda det sista alternativet som låter dig skriva en anpassad referens. Användningsexempel: 1 = "Peka alltid till den andra posten" (numreringen börjar med 0) test > 0 = "Peka alltid till den första posten i en undermeny som heter test"Detta alternativ fungerar inte när skriptet "os-prober" hittar andra operativsystem. Inaktivera "%1", om du inte behöver starta andra operativsystem.Detta tar bort alla liständringar i starthanteringsmenyn!Detta verkar inte vara något root-filsystem (ingen fstab hittas)Detta tema innehåller ingen %1. Leta upp config-filen och ändra dess namn till "%1"!Du kommer att se alla poster (ej anpassade) när grub körs. Detta fel framträder (i de flesta fall) när Grub Customizer inte installerats korrekt.Du försöker ta bort en post tillhörande det nuvarande aktiva systemet. Tillse att det finns andra fungerande poster för detta system! Om du bara vill ta bort gamla Linux-kärnor, är det bättre att avinstallera dem istället för att dölja dem i startmenyn._Avancerat_Utseendeinställningar_Ändra miljö ..._Enhet: _Redigera_Arkiv_Teckensnitt_Allmänt_Allmänna inställningar_Gruppera efter skript_Hjälp_Initial ramdisk_Installera i MBR_Linux-avbild_Listkonfiguration_Läs in fil: _Memtest-avbild_Memtest-avbild_Namn:_Partition_Partition:_Avsluta utan att spara_Avsluta utan att uppdatera_Återställ_Spara och avsluta_Visa detaljerad info_Tema:_Typ:_Uppdatera och avsluta_VisaLägg till temaLägg till denna post i en ny undermenyAvancerade inställningarBakgrundsbildSvartBlåBrunKan inte flytta den här postenVälj temafilFortsätt (risk för dataförlust)AktuellAktuell upplösning: CyanMörkgråStandardpostStandardnamn: %1Ta bort poster permanent - Denna åtgärd är endast tillgänglig på anpassade posterTa bort detta temaFilnamnGenerera återställningsposterGrönInstallerar starthanterare ...är aktivKärnparametrarLjusblåLjus cyanLjusgråLjusgrönLjus magentaLjusrödLäser in konfiguration ...Läser in skript %2/%3 (%1)Sök efter andra operativsystemMagentaMenypostNamnPartition: %1Ta bort markerade poster permanentPlatshållareInformera gärna utvecklaren om detta problem. Följande information kan vara till hjälp:Notera att stora teckensnitt i kombination med låg startskärmsresolution kan innebära problem med startskärmen. Eftersom problemet beror på det valda teckensnittet, är det inte möjligt att sätta ett generellt maxvärde. När du väljer en större teckenstorlek, bör du göra det stegvis, i små steg (starta om och kontrollera resultatet). Problemet framträder när grub-elementen (kanter, beskrivning) inte får plats på skärmen. Så länge det finns horisontell plats, kan du prova en större teckenstorlek. Antalet menyposter är inget problem, de skrollas vid behov. Problemet resulterar i en ändlös starttid för grub2. Du behöver en Live-CD för att fixa detta: * Ta bort teckensnittet från (MOUNT)/boot/grub/unicode.pf2 * Starta om systemet (menyn skall visas med standardteckensnitt) * Öppna /etc/default/grub som root, och placera ett "#" i början på raden som innehåller GRUB_FONT * Starta sedan Grub Customizer och välj önskat teckensnittFördefinierat: Tidigare _startade posterRödLäser in konfigurationen på nytt. Osparade ändringar bevaras.Ta bort bakgrundTa bort teckensnittTa bort den här posten från aktuell undermenySpara den här konfigurationenSkriptSkript: %1InställningarVisa menyUndermenyTransparentAvmontering misslyckades!Uppdaterar konfigurationenVärdeSynlighetVitGulgrub-customizer-5.1.0/translation/translation-sr.mo0000644000175000017500000006567413360360026022024 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0tb0U1--2[2o2222,2y4 {44#444!99 E:AR:::::A:"; 8;#D;h;9w;L;P;O<4m<@<c<CG==%=b=<0>Bm>>s>5?vPkP Ud$VyVWWX=Z$OZtZZ ZZ Z Z Z'Z [3,[`[ }[&[ [[[ [\\+\%K\ q\}\\ \\\ \\7 ]%E]k]] ] ]:],]@^O^-`^ ^^#^)^^__3_ _$_`!3`U`m`````-`,a7Jaaa aa5a!b#bb>i.\i iuij,jMBj0jjjjjkk-0k-^kk kkk |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-06-05 21:30+0000 Last-Translator: Anaximandar Language-Team: Serbian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 не може се извршити успешно. Порука грешке: %2(Прилагођење Подешавања)(први унос)(долазни Уноси %1)(долазни Уноси)(остали )(код скрипте)Група других оперативних система. GRUB их приказује као нормалне уносе менија, али када кликнете на њих отвара се други мени који вам омогућава избор садржаја менија.AND: ваше измене још увек нису сачуване, ажурирање ће сачувати и њих!И_згледО типовима уносаДодај унос из смећаСве датотекеАлтернативно једноставнији начин избора теме која пружа неке опције као што су боје, позадина и фонт, је инсталација пакете тема да добитијете још лепши изглед менија за покретање система. Постоји више извора преузимања попут овог на ubuntuforums.org: %1 (потребан је налог) или потражите '%2' at %3 Једноставно преузмите неки пакет (који је у 'tar.gz' формату у већини случајева) и додајте га у листу доступних тема користећи дугме 'додај' из бирача тема. Након промене теме видећете једноставан едитор који вам даје преглед слика и омогућава једноставно управљање датотекама. Модификовани садржај теме биће сачуван када притиснете дугме 'сачувај'.Дошло је до грешкеСтавка менија која се види у менију 'grub' и покреће оперативни систем биће активна.АрхивеСигурно желите да уклоните ову темуЈесте ли сигурни?BURGBURG РежимBURG пронађен!Покрени задани унос након %1 секундиBoot секвенцаChainloaderИзаберите датотекуИзабериКонфигурација ће бити сачуванаНије могуће монтирање одабране партицијеНије могуће демонтирање одабране партицијеКреирај подмениПрилагођење теме подешавањаЗелите ли да подесите BURG уместо grub2?Желит ли наставити без чувања тренутне конфигурације?Да ли желите да сачувате ваше измене?Уређивач уносаПодешавања окружењаГрешка при креирању boot секвенце. Проверите параметре!Грешка током инсталације bootloader-аНеуспешно снимање GRUB конфигурације!ДатотекаЗамена датотеке неуспешна. Молим изаберите прво датотеку теме!Grub 2Grub Customizer је графичко окружење за конфигурисање grub2/burg подешавањаGrub фонтови могу изазвати проблеме (информација)Наглашена: ПозадинаНаглашени: ФонтISO-слика: I_SO сликаИнсталирај bootloader у MBR и стави неке податке у bootloader директотијум (ако већ не постоје).Инсталирај у MBRПараметри кернелаЛинуксLinux-ISOMemtestMemtest-слика: Монтирање није успело!Помери нанижеПомакните доле изабрани унос или скриптуПомери навишеПомакните горе изабрани унос или скриптуНазив уносаУобичајена: ПозадинаУобичајени: ФонтОсталоПутања до iso датотекеИзаберите слику позадине!Молим погледајте излаз командне линије испод. Ако мислите да је грешка у Grub Customizer-у, направите један %1! Уопштено Grub Customizer би требало спречити грешке попут ове.Молим унесите ознаку уређаја!Proxy бинаран није пронађен!Уклони из подменијаУклони изабране уносе (можете их вратити из смећа)Уклоњене ставкеУклањање кода скрипте може проузроковати проблеме при покушатју покретања boot уноса који се односе на њу. Сигурно то желите да урадите?ПреименујВрати изабране уносеВраћа листу на подразумевани редоследСачувај конфигурацију и направи нову %1Чување тема није успело у потпуности!Ажурирање скрипти је пронађено. Кликните на 'сачувај' да примените измене!Скрипте генеришу меније уноса. Стога сваки мени уноса припада скрипти. Они су приказани на врху групе када су активни. Међутим, за разлику од подменија они нису приказани у менију за покретање (boot menu).Прикажи _резервисана местаПрикажи _скривене уносеТачке подмонтирања:Bootloader је инсталиан успешноИзабрана датотека не може бити учитана као темаНачињена конфигурација није једнака сачуваним конфигурацијама при покретању. Стога оно што видите сада можда нећете видети након поновног покретања рачунара. Да поправите ово, кликните на 'ажурирање'!Задани назив датотеке не може се користитиGRUB конфигурација неће бити сачуванаПромене које сте учинили имају утицај на приказ. Молим поново учитајте!Сачуване конфигурације нису ажурне!Садржај темеПостоје две врсте посебних уноса: Долазни унос је место где Grub Customizer смешта нови оперативни систем који је пронашао 'grub', али још увек није конфигурисан Grub Customizer-ом. Код скрипте, је код генерисан од 'grub'-а који не изгледа као мени уноса. У већини случајева користи се за конфигурацију 'grub'-а. Требали би га користити само када знате чему служи. Позиције места су скривене по стандардном подешавању.Постоје несачуване измене!Ово брише следеће уносе:Ова опција омогућава избор оперативног система, који од њих ће бити изабран код покретања. Уобичајено то је увек први. Ова опција значи да подразумевани изабрани унос остаје исти, до постављања другог оперативног система на то место. За разлику од прве опције остали избори се наводе по имену. Тако да подразумевани систем не мења место када се померите на неки други. Ако желите да користите неку другу одредницу, као "увек упути на други унос" можете да користите задњу опцију која омогућује прилагођено уписивање уноса. Примери коришћења: 1 = "увек упути на други унос" (рачунајући звездице од 0) test>0 = "увек упути на први унос подменија под називом тест"Ова опција не ради док "os-prober" скрипта претражује остале оперативне системе. Онемогући "%1" ако немате потребу да покренете друге оперативне системе.Ово ће уклонити вашу целу листу измена у 'bootloader' менију!Изгледа да ово није корени систем датотека (root) , (fstab није пронађен)Ова тема не садржи %1. Погледајте конфигурациону датотеку и преименујте је у "%1"!Видећете све уносе (неприлагођене) када покренете GRUB. Ова грешка настаје (у већини случајева), када 'grub gustomizer' није коректно инсталиран.Покушавате да уклоните унос на тренутно покренутом систему. Уверите се да ли постоји и други фунционалан уноси на систему! Ако само желите да уклоните старе кернеле (језгра): бољи начин је деинсталација, уместо да их сакријете у boot менију._Напредно_Подешавања изгледа_Измена окружења_Уређај: _Уреди_Датотека_Фонт_Опште_Општа подешавања_Групиши по скриптама_Помоћ_Иницијализација ramdisk-а (initrd)_инсталирај у MBR_Linux slika_Листа конфигурација_Учитај датотрку: _Memtest slika_Memtest-слика_Назив:_Партиција_Партиција:_Изађи без чувања_Изађи без ажурирања_Врати_Сачувај & Изађи_Прикажи детаље_Тема:_Тип:_Ажурирај и изађи_Приказдодај темудодај овај унос у нови подменинапредна подешавањаслика позадинецрнаплавабраонније могуће помакнути овај уносизаберите датотеку теменастави (ризик од губитка података)тренутноприлагођење резолуције: цијантамно-сиваподразумевани уносподразумевани назив: %1обриши уносе трајно - ова радња је доступан само на прилагођеним уносимаобриши ову темуназив датотекегенериши ставке за опоравакзеленаинсталирање bootloader-аје активнопараметри кернеласветло-плавасветло-цијансветло-сивасветло-зеленасветло-љубичастасветло-црвенаучитавање конфигурацијеучитавање скрипте %2/%3 (%1)види друге оперативне системељубичастамени уносаназивпартиција: %1трајно обриши изабране уносерезервација местамолим, обавестите аутора о овом проблему. Следеће информације би биле од помоћи:напомена: већи фонтови на нижим резолуцијама екрана могу покварит 'boot' приказ Зато што тај проблем зависи од изабраног фонта, није могуће одредити га као општи максимум. Када покушатвате да одаберете већи фонт, учините то у мањим корацима (поново покрените систем и проверите резултате). Проблем настаје када елементи 'grub' графичког окружења (ивице, описии) не могу стати у екран. Стога док постоји довољно вертикалног простора, можете пробати да увећате фонт. Многобројност менија није проблем - јер се они померају по потреби. Неисправни подаци могу довести до бескрајног времена учитавања grub2. Да би то поправили потрбан вам је неки live-cd: * обришите фонт из (MOUNT)/boot/grub/unicode.pf2 * поново покрените ваш систем (мени би требало да се појаве са стандардним фонтовима) * отворите /etc/default/grub са root привилегијама, и ставите '#' на почетак реда који садржи GRUB_FONT * затим покрените 'grub customizer' да одаберете фонт који сте користили препре_дефинисано: претходно_покренути уносцрвенапоново учитај конфигурацију. Несачване измене ће бити сачуване.уклони позадинууклони фонтуклоните овај унос из тренутног подменијасачувај ову конфигурацијускриптаскрипта: %1подешавањаприкажи мениподменипрозирнодемонтирање није успело!ажурирање конфигурацијевредностприказбелажутаgrub-customizer-5.1.0/translation/translation-ro.mo0000644000175000017500000000304613360360026022001 0ustar danieldaniel%@A Sah w%& !,39AGKR[azh %"6Y'n        An error occurredAre you sure?Grub 2Install to MBRMount failed!Reverts the list to the default orderShow _PlaceholdersThe grub configuration cannot be savedTheme contents_Edit_File_Help_List configuration_Name:_Partition_Type:_ViewcurrentgreenredscriptsettingswhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-10-24 20:53+0000 Last-Translator: Motzulaky Adrian Language-Team: Romanian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) A intervenit o eroareSunteți sigur ?Grub 2Instalează în MBRMontare eșuatăRevine lista la ordinea implicităArată _PlaceholdersConfigurația grub nu poate fi salvatăConținutul temeiEdi_tareFişier帮助(_H)_Configurare listă_Nume:_Partiție_Scrie_Vederecurentverderoșuscriptsetărialbgalbengrub-customizer-5.1.0/translation/translation-ro.po0000644000175000017500000004634313360360026022013 0ustar danieldaniel# Romanian translation for grub-customizer # Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2017. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-10-24 20:53+0000\n" "Last-Translator: Motzulaky Adrian \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "curent" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Scrie" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nume:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partiție" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Montare eșuată" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "A intervenit o eroare" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "" #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalează în MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "Fişier" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "Edi_tare" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Vedere" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "帮助(_H)" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Arată _Placeholders" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Configurare listă" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Revine lista la ordinea implicită" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Configurația grub nu poate fi salvată" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Sunteți sigur ?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "" #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "setări" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "alb" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "galben" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "verde" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "roșu" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Conținutul temei" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "" grub-customizer-5.1.0/translation/translation-th.po0000644000175000017500000006343113360360026022003 0ustar danieldaniel# Thai translation for grub-customizer # Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2017. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-02-18 15:22+0000\n" "Last-Translator: Pongsathorn Sra-uthai (Touch) \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "ชื่อระเบียน" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "ไม่สามารถย้ายระเบียนนี้" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "การปรับแต่งได้รับการบันทึกแล้ว" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "กำลังปรับปรุงการปรับแต่ง" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer เป็นหน้าตาแบบกราฟิคสำหรับใช้เพื่อปรับแต่งการตั้งค่า " "grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "สคริปท์" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "เมนูย่อย" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "ช่องใส่" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "ระเบียนเมนู" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "สคริปท์: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "ชื่อพื้นฐาน: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "พาร์ทิชั่น: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ไฟล์ ISO: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "ไฟล์ Memtest: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "ปัจจุบัน" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_ชนิด:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "ลำดับการบูต" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_ชื่อ:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "เกิดข้อผิดพลาดขณะกำลังสร้างลำดับการบูต\n" "โปรดตรวจสอบตัวแปร!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "ตัวแก้ไขระเบียน" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "เลือก..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "อื่น ๆ" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(รหัสสคริปท์)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "เลือกไฟล์..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_พาร์ทิชัน" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "เ_รียกใช้ ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "ไฟล์_ลินุกซ์" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "ไฟล์_Memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "พาธไปหาไฟล์ ISO" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "ตัวแปรเคอร์เนล" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "ไฟล์ _ISO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "ไฟล์ _Memtest" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_พาร์ทิชัน:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "จุดเมาท์ย่อย:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "บันทึกการปรับแต่ง" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "การเมาท์ล้มเหลว!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "ยกเลิกเมาท์ล้มเหลว!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "ดูเหมือนจะไม่ใช่ระบบไฟล์ root (ไม่พบ fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "ไม่สามารถเมาท์พาร์ทิชั่นที่เลือกไว้" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "ไม่สามารถเลิกเมาท์พาร์ทิชั่นที่เลือกไว้" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "เกิดข้อผิดพลาด" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "โปรดแจ้งผู้จัดทำเกี่ยวกับปัญหานี้ ข้อมูลต่อไปนี้อาจช่วยได้:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "ทำต่อไป (เสี่ยงข้อมูลหาย)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "ติดตั้ง bootloader ใน MBR และเพิ่มบางไฟล์\n" "ลงในไดเร็กทอรีของ bootloader\n" "(ถ้าไม่มีไฟล์นั้นอยู่)" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "อุป_กรณ์: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "ติดตั้งไปยัง MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "ได้ติดตั้ง bootloader เรียบร้อยแล้ว" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "เกิดข้อผิดพลาดขณะติดตั้ง bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "กำลังติดตั้ง bootloader..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "โปรดระบุข้อความอุปกรณ์!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "ไ_ฟล์" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "แ_ก้ไข" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "มุม_มอง" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_วิธีใช้" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_ติดตั้งไปยัง MBR ..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "แ_สดงรายละเอียด" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "แสดงระเบียนที่_ซ่อน" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_จัดกลุ่มด้วยสคริปท์" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "แสดง_ช่องใส่" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "ตรวจพบ BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "การตั้งค่าขั้นสูง" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "สิ่งที่คุณได้แก้ไขเสร็จไปแล้วนั้นจะมีผลต่อการแสดงระเบียน " "โปรดเรียกข้อมูลใหม่อีกครั้ง!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "ตรวจพบการปรับปรุงสคริปท์ คลิกที่บันทึกเพื่อนำการเปลี่ยนแปลงไปใช้!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "การปรับแต่ง_รายการ" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "ลบระเบียนที่เลือกไว้ (คุณสามารถกู้คืนได้จากถังขยะ)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "ย้ายระเบียนหรือสคริปท์ที่เลือกไว้ขึ้น" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "ย้ายระเบียนหรือสคริปท์ที่เลือกไว้ลง" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "ลบระเบียนนี้จากเมนูย่อยปัจจุบัน" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "เพิ่มระเบียนนี้เป็นเมนูย่อยใหม่" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "กลับไปใช้การจัดเรียงรายการแบบพื้นฐาน" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "เรียกใช้การปรับแต่งใหม่ การแก้ไขที่ยังไม่ได้บันทึกจะถูกเรียกมาด้วย" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "เปลี่ยนชื่อ" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "ย้ายขึ้น" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "ย้ายลง" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "ลบออกจากเมนูย่อย" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "สร้างเมนูย่อย" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "เ_ปลี่ยนลักษณะแวดล้อม..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "คุณต้องการปรับแต่ง BURG แทน Grub2 หรือไม่?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_การตั้งค่าทั่วไป" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "การ_ตั้งค่าการแสดงผล" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "รูปแบบ BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "บันทึกการปรับแต่งและสร้าง %1 ใหม่" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "กำลังเรียกใช้การปรับแต่ง..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "กำลังเรียกใช้สคริปท์ %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "ไม่พบ Proxy binary" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "คุณจะได้เห็นระเบียนทั้งหมด (ที่ไม่ได้ปรับแต่ง) เมื่อคุณสั่ง Grub ทำงาน " "เมื่อมีข้อผิดพลาดนี้ขึ้น(เป็นส่วนใหญ่) นั่นคือคุณไม่ได้ติดตั้ง grub " "customizer อย่างถูกต้อง" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(ระเบียนที่กำลังเข้ามาของ %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(ระเบียนที่กำลังเข้ามา)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "การปรับแต่งที่บันทึกไว้ยังไม่ได้อัพเดท!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "การปรับแต่งที่ได้สร้างขึ้นไม่เท่ากับการปรับแต่งเริ่มต้นที่บันทึกไว้ " "สิ่งที่คุณเห็นในตอนนี้คุณจะยังไม่เห็นจนกว่าจะเริ่มระบบ PC ของคุณใหม่ " "เพื่อแก้ไขสิ่งนี้ คลิกอัพเดท!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_ออกโดยไม่อัพเดท" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_อัพเดทและออก" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "คุณต้องการบันทึกการแก้ไขของคุณหรือไม่?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_ออกโดยไม่บันทึก" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_บันทึกและออก" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "AND: การแก้ไขของคุณยังคงไม่ได้บันทึก การอัพเดทจะเป็นการบันทึกไปด้วย!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "การบันทึกการปรับแต่ง Grub ล้มเหลว" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "การปรับแต่ง Grub ไม่ได้รับการบันทึก" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "" #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "" grub-customizer-5.1.0/translation/translation-sv.po0000644000175000017500000006715313360360026022025 0ustar danieldaniel# Swedish translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR Åke Engelbrektson , 2016. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-11-28 04:16+0000\n" "Last-Translator: Åke Engelbrektson \n" "Language-Team: Svenska Språkfiler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" "Language: sv\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Namnge posten" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "Kan inte flytta den här posten" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Inställningarna har sparats" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "Uppdaterar konfigurationen" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer är ett grafiskt gränssnitt för att konfigurera grub2-/burg-" "inställningar" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "Skript" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "Undermeny" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "Platshållare" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "Menypost" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "Skript: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "Standardnamn: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "Partition: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-avbild: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-avbild: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "Aktuell" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Typ:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Startsekvens" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Namn:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Kunde inte skapa startsekvens.\n" "Kontrollera parametrar!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Postredigerare" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Välj ..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Annat" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(Skriptläge)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Välj fil ..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partition" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Initial ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux-avbild" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest-avbild" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Sökväg till iso-fil" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kärnparametrar" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO-avbild" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-avbild" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partition:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Undermonteringspunkter:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "Spara den här konfigurationen" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Montering misslyckades!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Avmontering misslyckades!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Detta verkar inte vara något root-filsystem (ingen fstab hittas)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Kunde inte montera den valda partitionen" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Kunde inte avmontera den valda partitionen" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Ett fel inträffade" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Informera gärna utvecklaren om detta problem. Följande information kan vara " "till hjälp:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "Fortsätt (risk för dataförlust)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Installera starthanteraren i MBR och placera\n" "några filer i starthanterarens datamapp\n" "(om de inte redan finns)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Enhet: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Installera i MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Starthanteraren har installerats korrekt" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Fel under installation av starthanterare" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Installerar starthanterare ..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Skriv en enhetssträng!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Arkiv" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Redigera" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Visa" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Hjälp" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Installera i MBR" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Visa detaljerad info" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Visa _dolda poster" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Gruppera efter skript" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Visa _platshållare" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG hittad!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Avancerade inställningar" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "De ändringar du gjort, påverkar de synliga posterna. Läs in posterna igen." #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Skriptuppdateringar hittades. Tryck \"Spara\" för att tillämpa ändringarna!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Listkonfiguration" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Ta bort markerade poster (kan återställas från papperskorgen)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Flytta upp markerad post eller skript" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Flytta ner markerad post eller skript" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Ta bort den här posten från aktuell undermeny" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Lägg till denna post i en ny undermeny" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Återställer listan till standardordning" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Läser in konfigurationen på nytt. Osparade ändringar bevaras." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Byt namn" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Flytta upp" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Flytta ner" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Ta bort från undermeny" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Skapa undermeny" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Ändra miljö ..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Vill du konfigurera BURG istället för grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Allmänna inställningar" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Utseendeinställningar" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG-läge" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Spara konfigurationen och generera en ny %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Läser in konfiguration ..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Läser in skript %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy-binär hittades inte!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Du kommer att se alla poster (ej anpassade) när grub körs. Detta fel " "framträder (i de flesta fall) när Grub Customizer inte installerats korrekt." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Inkommande poster av %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Inkommande poster)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Den sparade konfigurationen är inte uppdaterad!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Den genererade konfigurationen stämde inte överens med den sparade, vid " "uppstart. Så vad du ser nu, kanske inte är det du ser när du startar om din " "dator. Tryck \"Uppdatera\" för att fixa detta." #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Avsluta utan att uppdatera" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Uppdatera och avsluta" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Vill du spara dina ändringar?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Avsluta utan att spara" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Spara och avsluta" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "OCH: Dina ändringar har fortfarande inte sparats, uppdatering sparar dem " "också!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Kunde inte spara grub-konfigurationen!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Grub-konfigurationen kan inte sparas" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Ta gärna en titt på kommandoradens utdata nedan. Om du tror att detta är ett " "fel i Grub Customizer, får du gärna skapa en felrapport på %1! Generellt bör " "Grub Customizer förhindra fel som det här." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 kunde inte startas. Felmeddelande:\n" "%2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Miljöinställningar" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Vill du fortsätta utan att spara aktuell konfiguration?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Det finns osparade ändringar!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Borttaget skript kan orsaka problem vid försök att starta poster som är " "beroende av det. Vill du verkligen göra det ändå?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Du försöker ta bort en post tillhörande det nuvarande aktiva systemet. " "Tillse att det finns andra fungerande poster för detta system!\n" "Om du bara vill ta bort gamla Linux-kärnor, är det bättre att avinstallera " "dem istället för att dölja dem i startmenyn." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "En menypost som är synlig i grub-menyn och startar ett operativsystem vid " "aktivering." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "En grupp med andra operativsystem. Visas i grub som en normal menypost men " "när du klickar på den, öppnas en undermeny där du kan välja en av de " "ingående menyposterna." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Det finns två typer av denna specialpost. Inkommande poster är den plats där " "Grub Customizer placerar de nya operativsystem som identifieras av grub, men " "som ännu inte konfigurerats med Grub Customizer. Skriptkoden är kod " "genererad av grub, som inte ser ut som en menypost. I de flesta fall används " "den för att konfigurera grub. Du bör inte röra den, om du inte vet vad den " "gör. Platshållare är dolda, som standard." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Skript genererar menyposterna. Så varje menypost tillhör ett skript. De " "visas som toppnivågrupper vid aktivering, men till skillnad från " "undermenyer, visas de inte på startmenyn." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Om menyposttyperna" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Är du säker?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Detta tar bort alla liständringar i starthanteringsmenyn!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "Fördefinierat: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "Tidigare _startade poster" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Standardpost" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Synlighet" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "Visa meny" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Kärnparametrar" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "Generera återställningsposter" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "Sök efter andra operativsystem" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "Aktuell upplösning: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "Inställningar" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Allmänt" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "U_tseende" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avancerat" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "är aktiv" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Namn" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "Värde" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Starta standardposten efter %1 sekunder" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(Första posten)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(Annat ...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Detta alternativ fungerar inte när skriptet \"os-prober\" hittar andra " "operativsystem. Inaktivera \"%1\", om du inte behöver starta andra " "operativsystem." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Detta alternativ låter dig avgöra vilket operativsystem som skall väljas vid " "systemstart. Som standard är det alltid det första. Detta alternativ innebär " "att standardstartposten förblir densamma även om andra operativsystem " "placeras först.\n" "\n" "I motsats till det första alternativet, identifieras de andra efter namn. Så " "standardstarten ändras inte när det flyttas till en annan position.\n" "\n" "Vill du använda en annan referens, som \"peka alltid till den andra posten\" " "kan du använda det sista alternativet som låter dig skriva en anpassad " "referens. Användningsexempel:\n" "1 = \"Peka alltid till den andra posten\" (numreringen börjar med 0)\n" "test > 0 = \"Peka alltid till den första posten i en undermeny som heter " "test\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "Vit" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "Gul" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "Ljus cyan" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "Cyan" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "Ljusblå" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "Blå" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "Ljusgrön" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "Grön" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "Ljus magenta" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "Magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "Ljusröd" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "Röd" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "Brun" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "Ljusgrå" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "Mörkgrå" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "Transparent" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "Svart" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Läs in fil: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Bakgrundsbild" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Välj en bakgrundsbild!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Teckensnitt" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "Välj temafil" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Temainnehåll" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Anpassade temainställningar" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal: Teckensnitt" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: Bakgrund" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Belyst: Teckensnitt" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Belyst: Bakgrund" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Arkiv" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Lägg till tema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "Ta bort detta tema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Arkivfiler" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Alla filer" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "Ta bort teckensnitt" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "Ta bort bakgrund" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Anpassade inställningar)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Den valda filen kan inte läsas in som ett tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Det angivna filnamnet kan inte användas" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Detta tema innehåller ingen %1. Leta upp config-filen och ändra dess namn " "till \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Kunde inte spara teman fullständigt!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Filbytet misslyckades. Välj en temafil först!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "Filnamn" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "Notera att stora teckensnitt i kombination med låg startskärmsresolution kan " "innebära problem med startskärmen.\n" "Eftersom problemet beror på det valda teckensnittet, är det inte möjligt att " "sätta ett generellt maxvärde. När du väljer en större teckenstorlek, bör du " "göra det stegvis, i små steg (starta om och kontrollera resultatet).\n" "Problemet framträder när grub-elementen (kanter, beskrivning) inte får plats " "på skärmen. Så länge det finns horisontell plats, kan du prova en större " "teckenstorlek. Antalet menyposter är inget problem, de skrollas vid behov.\n" "\n" "Problemet resulterar i en ändlös starttid för grub2. Du behöver en Live-CD " "för att fixa detta:\n" " * Ta bort teckensnittet från (MOUNT)/boot/grub/unicode.pf2\n" " * Starta om systemet (menyn skall visas med standardteckensnitt)\n" " * Öppna /etc/default/grub som root, och placera ett \"#\" i början på raden " "som innehåller GRUB_FONT\n" " * Starta sedan Grub Customizer och välj önskat teckensnitt" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub-teckensnitt kan vara skadliga (Info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Vill du verkligen ta bort det här temat?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Som ett alternativ till det enkla tema som tillhandahåller alternativ som " "färg, bakgrundsbild och teckensnitt, kan du installera ett mer komplext " "temapaket för att få en startmeny som ser bättre ut.\n" "\n" "Det finns flera nedladdningskällor som den här tråden på ubuntuforums.org:\n" "%1 (konto krävs)\n" "eller sök efter \"%2\" på%3\n" "\n" "Ladda bara ner ett paket (oftast tar.gz-format) och lägg till det i listan " "över tillgängliga teman, med knappen intill temaväljaren.\n" "\n" "Efter ändring av tema, ser du en enkel redigerare där du kan förhandsgranska " "bilder och hantera vissa filer. Ändrat temainnehåll sparas när du trycker på " "\"Spara\"." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Lägg till post från skräp" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Borttagna objekt" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Återställ" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Återställ markerade poster" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Ta bort markerade poster permanent" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "Ta bort poster permanent - Denna åtgärd är endast tillgänglig på anpassade " "poster" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Detta tar bort följande poster:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-ar.po0000644000175000017500000005147413360360026021776 0ustar danieldaniel# Arabic translation for grub-customizer # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: thamermousa \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "اسم الدخول" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "لا يمكن نقل هذا الدخول" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "تم حفظ الإعداد" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "تحديث الإعداد" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "مُعدّل GRUB هو واجهة رسومية لإعداد GRUB2\\burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "الحالي" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "ال_نوع:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "محرر المدخلات" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "أخرى" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_قسم" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "المسار لملف الآيسو" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_قسم:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "نقاط الضم الفرعية:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "حفظ هذه الإعدادات" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "GRUB2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "فشل في الضم !" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "فشل إلغاء الضم !" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "يبدو أنه ليس نظام الجذر (لم يُعثرعلى fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "غير قادر على ضم القسم المحدد" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "غير قادر على إلغاء ضم القسم المحدد" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "حدث خطأ ما" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "الرجاء إبلاغ المؤلف عن هذه المشكلة. قد تكون المعلومات الأتية مفيدة :" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "استمر (مخاطرة لفقد البيانات)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "ثبّت محمل الإقلاع إلى MBR \n" "وضع بعض الملفات في مجلد بيانات\n" " محمل الإقلاع (لو لم تكن موجودة)" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "ال_جهاز: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "ثبت إلى MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "تم تثبيت محمل الإقلاع بنجاح" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "حدث خطأ أثناء تثبيت محمل الإقلاع" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "تثبيت محمل الإقلاع..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "يرجى كتابة سلسلة الجهاز!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_ملف" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_تحرير" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_عرض" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_مساعدة" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "العثور BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "الإعدادات المتقدمة" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "التعديلات قمت به يؤثر على إدخالات مرئية. يرجى تحميل!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "العثور على تحديثات النصي. انقر فوق حفظ لتطبيق التغييرات!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "إزالة الإدخالات المحددة (يمكنك استعادتها من سلة المهملات)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "تتحرك صعودا دخول أو النصي المحدد" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "تتحرك نزولا أو النصي المحدد" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "إزالة هذا الإدخال من القائمة الفرعية الحالية" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "إضافة هذا الإدخال إلى قائمة فرعية جديدة" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "" #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "لينكس" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "لينكس-آيزو" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader-لودر سلسلة" #: src/main/client.cpp:101 msgid "Memtest" msgstr "اختبارالذاكرة" grub-customizer-5.1.0/translation/translation-it.po0000644000175000017500000007057713360360026022015 0ustar danieldaniel# Italian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2018-01-22 11:11+0000\n" "Last-Translator: Fabrizio Aliberti \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Inserisci la Voce" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "Impossibile spostare questa voce" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "La configurazione è stata salvata" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "sto aggiornando la configurazione" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer è un'interfaccia grafica per configurare le impostazioni di " "GRUB2/BURG" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "sottomenù" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "segnaposto" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "voce di menù" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "nome predefinito: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partizione: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Immagine-ISO: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Immagine-Memtest: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "attuale" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tipo:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Sequenza di avvio" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nome:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Errore durante la creazione della sequenza di avvio.\n" "Controlla i parametri!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor di voci" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Scegli..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Altro" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(codice dello script)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Scegli il file..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partizione" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "Ramdisk _iniziale" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Immagine _Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Immagine _Memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Percorso del file ISO" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parametri del kernel" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "Immagine I_SO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "Immagine _Memtest" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partizione:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Punti di Submount:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "Salva questa configurazione" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Montaggio non riuscito!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Smontaggio non riuscito!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Non sembra essere un file system radice (nessun fstab trovato)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Impossibile montare la partizione selezionata" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Impossibile smontare la partizione selezionata" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Si è verificato un errore" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Informa l'autore su questo problema. Le seguenti informazioni potrebbero " "essere utili:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "Continua (i dati potrebbero andare persi)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Installa il bootloader nell'MBR ed inserisci dei\n" "file nella cartella dei dati dei bootloader\n" "(se non esistono già)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Dispositivo: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Installa nell'MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Il bootloader è stato installato con successo" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Errore durante l'installazione del bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "sto installando il bootloader..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Inserisci il nome del dispositivo!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_File" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Modifica" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Visualizza" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Aiuto" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Installa nell'MBR..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Mostra i dettagli" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Mostra voci _nascoste" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Raggruppa per Script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Mostra i _Segnaposti" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG trovato!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Opzioni avanzate" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Le modifiche effettuate riguardano le voci visibili. Ricarica la pagina!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Trovati aggiornamenti degli Script. Fai clic su Salva per applicare le " "modifiche!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Elenco della configurazione" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Rimuovi le voci selezionate (puoi ripristinarle dal cestino)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Sposta in alto la voce o lo script selezionato" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Sposta in alto la voce o lo script selezionato" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Rimuovi questa voce dal sottomenù corrente" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Aggiungi questa voce ad un nuovo sottomenù" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Riporta l'elenco all'ordine predefinito" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "Ricarica la configurazione. Le modifiche non salvate verranno conservate." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Rinomina" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Sposta in alto" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Sposta in basso" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Rimuovi dal sottomenù" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Crea un sottomenù" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Cambia Ambiente…" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Vuoi configurare BURG invece di grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Impostazioni _generali" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Impostazione dell'_Aspetto" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Modalità BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Salva la configurazione e genera un nuovo %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Sto caricando la configurazione..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Sto caricando lo script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy binario non trovato!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Quando avvierai GRUB vedrai tutte le voci (non personalizzate). Questo " "errore si verifica (nella maggior parte dei casi) quando non hai installato " "correttamente Grub Customizer." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Voci in entrata di %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Voci immesse)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "La configurazione salvata non è aggiornata!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "La configurazione generata non corrispondeva a quella salvata all'avvio. Ciò " "che vedi adesso potrebbe non essere quello che vedrai quando riavvii il pc. " "Per risolvere questo problema, clicca su Aggiorna!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Esci senza aggiornare" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Aggiorna ed Esci" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Vuoi salvare le tue modifiche?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Esci senza salvare" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Salva ed Esci" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "E: le tue modifiche non sono state ancora salvate, l'aggiornamento salverà " "anche quelle!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Impossibile salvare la configurazione di grub!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "La configurazione di grub non può essere salvata" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Dai un'occhiata all'output della riga di comando qui sotto. Se pensi che " "questo sia un bug di Grub Customizer, invia un rapporto a %1! Generalmente " "Grub Customizer dovrebbe prevenire errori come questo." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 non è stato eseguito correttamente. Messaggio di errore:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Impostazioni d'ambiente" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Vuoi procedere senza salvare la configurazione attuale?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Ci sono modifiche non salvate!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "La rimozione del Codice dello Script può causare problemi quando si tenta di " "avviare le voci che dipendono da esso. Sei sicuro di volerlo fare comunque?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Stai tentando di rimuovere una voce del sistema attualmente in esecuzione. " "Assicurati che non siano in esecuzione altre voci di questo sistema!\n" "Se vuoi solo rimuovere i vecchi kernel, il modo migliore è disinstallarli " "invece di nasconderli dal menù di avvio." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Una voce di menù che è visibile nel menù di Grub ed avvia un sistema " "operativo se viene attivata." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Un gruppo di altri sistemi operativi. Grub lo mostra come una normale voce " "di menù, ma cliccando su di esso, carica un altro menu che consente di " "scegliere una delle voci del menù che sono contenute." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Esistono due tipi di questa particolare voce: le voci immesse sono il luogo " "in cui Grub Customizer colloca i nuovi sistemi operativi trovati da grub ma " "non ancora configurati usando Grub Customizer. Il codice Script è un codice " "generato da grub che non sembra una voce di menù. Nella maggior parte dei " "casi viene usato per configurare grub. Dovresti modificarlo solo se sai cosa " "stai facendo. I segnaposti sono nascosti per impostazione predefinita." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Gli script stanno generando le voci di menu. Ogni voce di menu appartiene ad " "uno script. Se attivati, vengono mostrati come gruppi di primo livello. " "Tuttavia, a differenza dei sottomenù, non vengono mostrati nel menu di avvio." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Informazioni sui tipi di voci" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Sei sicuro di voler procedere?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Questo cancellerà tutte le modifiche all'elenco del menù del bootloader!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pre_definito: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "voce precedentemente _avviata" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Voce predefinita" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Visibilità" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "mostra il menù" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Parametri del Kernel" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "genera le voci di ripristino" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "cerca altri sistemi operativi" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "Personalizza la risoluzione: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "impostazioni" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Generale" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "As_petto" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avanzate" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "è attiva" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Nome" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "valore" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "voce predefinita di avvio dopo %1 secondi" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(prima voce)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(altro...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Questa opzione non funziona quando lo script \"os-prober\" trova altri " "sistemi operativi. Disabilita \"%1\" se non è necessario avviare altri " "sistemi operativi." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Questa opzione consente di scegliere il sistema operativo che dovrebbe " "essere selezionato all'avvio. Di default questo è sempre il primo. Questa " "opzione indica che la selezione della voce predefinita rimane la stessa " "quando si posizionano altri sistemi operativi.\n" "\n" "A differenza della prima opzione le altre scelte sono referenziate per nome. " "Quindi il sistema predefinito non viene cambiato quando ci si sposta in " "un'altra posizione.\n" "\n" "Se vuoi utilizzare un altro riferimento come \"punta sempre alla seconda " "voce\", è possibile utilizzare l'ultima opzione che consente di scrivere un " "riferimento personalizzato. Esempi di utilizzo:\n" " 1 = \"punta sempre alla seconda voce\" (il conteggio inizia da 0)\n" " test>0 = \"punta sempre alla prima voce di un sottomenù chiamato test\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "Bianco" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "Giallo" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "Ciano chiaro" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "Ciano" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "Blu chiaro" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "Blu" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "Verde chiaro" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "Verde" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "Magenta chiaro" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "Magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "Rosso chiaro" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "Rosso" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "Marrone" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "Grigio chiaro" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "Grigio scuro" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "Transparente" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "Nero" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Carica i file: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Immagine di sfondo" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Scegli un'immagine di sfondo!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Carattere" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "Scegli il file del tema" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Contenuti del tema" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Impostazioni del Tema Personalizzato" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normale: Carattere" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normale: Sfondo" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Evidenziato: Font" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Evidenziato: Sfondo" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "File" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Aggiungi tema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "Cancella questo tema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "File archivio" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Tutti i file" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "Rimuovi il carattere" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "Rimuovi lo sfondo" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Impostazioni Personalizzate)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Il file selezionato non può essere caricato come tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Il nome del file fornito non può essere utilizzato" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Questo tema non contiene %1. Cerca il file di configurazione e rinominalo " "\"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Il salvataggio dei temi non è riuscito completamente!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "La sostituzione del file non è riuscita. Prima seleziona un file del tema!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "nome del file" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "NOTA BENE: i caratteri grandi con la risoluzione dello schermo di avvio " "bassa può danneggiare la schermata di avvio\n" "Poiché questo problema dipende dal carattere scelto, non è possibile " "definire un massimo in generale. Quando stai cercando di selezionare un " "carattere più grande, occorre farlo a piccoli passi (riavvio e verifica dei " "risultati).\n" "Il problema si verifica quando gli elementi dell'interfaccia di grub (bordi, " "descrizione) non si adattano allo schermo. Così, se c'è spazio verticale " "sufficiente si può provare un font più grande. L'insieme di voci del menù " "non è un problema - se necessario, esse scorreranno.\n" "\n" "Il danneggiamento si traduce in un tempo di caricamento infinito di grub2. " "Hai bisogno di un live cd per risolvere questo problema:\n" " * elimina il font da (MOUNT)/boot/grub/unicode.pf2\n" " * riavvia il sistema (il menù dovrebbe presentarsi con i font predefiniti)\n" " * apri /etc/default/grub con i permessi di root e metti un '#' davanti alla " "riga contenente GRUB_FONT\n" "\n" " * quindi esegui Grub Customizer per scegliere il tipo di carattere " "utilizzato prima." #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "I caratteri di Grub possono essere dannosi (Informazioni)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Sei sicuro di voler rimuovere questo tema?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "In alternativa al metodo del tema semplice che fornisce alcune opzioni come " "colore, sfondo e font si possono installare i pacchetti dei temi complessi " "per ottenere un menù di avvio ancora più bello.\n" "\n" "Ci sono diverse fonti di download come questo thread su ubuntuforums.org:\n" "%1 (necessita di un account)\n" "oppure cercare '%2' presso %3\n" "\n" "Basta scaricare un pacchetto (che nella maggior parte dei casi è in formato " "tar.gz) e aggiungerlo all'elenco dei temi disponibili usando il pulsante " "Aggiungi nel selettore del tema.\n" "\n" "Dopo aver cambiato il tema vedrete un semplice editor che dà un'anteprima " "delle immagini e permette una sommaria gestione dei file. I contenuti dei " "temi modificati verranno salvati premendo il pulsante Salva." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Aggiungi una voce dal cestino" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Voci rimosse" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Ripristina" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Ripristina le voci selezionate" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Elimina definitivamente le voci selezionate" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "Elimina le voci permanentemente - questa azione è disponibile solo per le " "voci personalizzate" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Le voci seguenti verranno cancellate:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "ISO Linux" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memory test" grub-customizer-5.1.0/translation/translation-ast.po0000644000175000017500000005245713360360026022165 0ustar danieldaniel# Asturian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: enolp \n" "Language-Team: Asturian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nome d'Entrada" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "nun pue movese esta entrada" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Guardóse la configuración" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "anovando configuración" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer ye una interfaz gráfica pa configurar los axustes de " "Grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "nome por defeutu: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partición: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "actual" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Triba:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor d'entrada" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Otru" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(códigu de script)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partición" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Discu ram inicial" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Imaxe Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Camín al ficheru iso" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parámetros del kernel" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partición:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "¡Montaxe fallíu!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "¡Desmontaxe fallíu!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Esto nun paez ser un sistema de ficheros (fstab non atopáu)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nun pue montase la partición esbillada" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nun pue desmontase la partición esbillada" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instalar el bootloader a MBR y poner dalgunos\n" "ficheros nel direutoriu de datos de bootloaders\n" "(si nun esisten yá)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Preséu: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalar a MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "El bootloader instalóse correutamente" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Fallu mientres s'instalaba'l bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "instalando'l bootloader" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "¡Por favor escribi una cadena preseos!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Ficheru" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Editar" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Ver" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Ayuda" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instalar a MBR..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "¡BURG atopáu!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Xubir pa enriba la entrada o script esbillaos" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Baxar pa embaxo la entrada o script esbillaos" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "esniciar esta entrada del somenú d'aguaño" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "añader esta entrada al nuevu somenú" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "¿Quies configurar BURG en cuentes de grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Mou BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "cargando configuración..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "¡Proxy binariu non atopáu!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Vas ver toles entraes (non personalizaes) cuando anicies Grub. Esti fallu " "sal (na mayoría de los casos), cuando nun instalaste Grub Customizer " "correutamente." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "¡La configuración guardada nun ta anovada!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Los axustes xeneraos nun son iguales a los guardaos nel aniciu. Asina que lo " "que güeyes agora nun va ser lo mesmo cuando reanicies el PC. Pa esclariar " "esti problema, ¡Primi n'anovar!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Colar ensin anovar" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Anovar y Colar" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "¿Quies guardar los tos cambeos?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Colar ensin guardar" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Guardar y Quitar" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "Y: Les tos modificaciones entá nun se guardaron. Al anovar van guardase " "tamién!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 nun pue ser executáu ensin torges. mensax d'erru:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pre_definío " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "Entrada aniciada _postreramente" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "entrada por defeutu" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "visibilidá" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "amosar menú" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Parámetros kernel" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "xenerar entraes recuperaes" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "restolar por otros sistemes" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "resolución personalizada: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "axustes" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Xeneral" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Aspeutu" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avanzao" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "ta activu" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "nome" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "valor" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Esta opción nun furrula cuando'l script \"os-prober\" atopa otros sistemes. " "Desactiva \"%1\" si nun necesites aniciar otros sistemes." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "blancu" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "mariellu" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "cian claru" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cian" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "azul claru" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "azul" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "verde claru" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "verde" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "maxenta claru" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "maxenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "bermeyu claru" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "bermeyu" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "castañu" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "buxu claru" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "buxu escuru" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "tresparente" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "prietu" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "semeya de fondu" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Fonte" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "esniciar fonte" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "desaniciar fondu" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-et.po0000644000175000017500000004566713360360026022013 0ustar danieldaniel# Estonian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "" #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "" #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "" grub-customizer-5.1.0/translation/translation-fi.mo0000644000175000017500000004731713360360026021770 0ustar danieldaniell 081j| Em  \ *% P^ c m#y  %&,;/Q@' % !2T:YM  "q4    &$"GV iv|!g9 yry%+6.)Eo! &BIi* #@^ 8 i! ["e"z" """""""""" ## &#3# B# M#Y#n## # ##### ###$$$#$)$@$R$l$t$$ $ $$L$%%%8%>% [%e% w% % % % % %%% %& &"& '&#5& Y&Xe&{& :*H*a*=e** ****+ + ++ &+2+A+X+ ^+i+o+tv+5,!--4-$b---R^. ..'..)/22jA2212 22 3 313 O3\3 p3{3"3"3333 4AA4'444+4'5)5B25u5P|5,556r$6666 6 66 6=6 87>F777777 78"8 89P5999,:3:8K:0:T: ;; <$(<,M<+z<<)y=!=F=& >3>D>'@,F@s@FAF[AAABWCgC|CCC C C CC CC$C"D2DFDYDkDDDDDDDDEEE -E 7E;EEE EEEE*EE&EF"F 8F DFRFiFaxFF FFG G ?GMGbGrGGGGGG)G#H:H MHZH_H"hHHZH@H M"N KPX|}2gL]S+$5i 3Q&6)1HIz[x:; (`-M%1 couldn't be executed successfully. error message: %2(Custom Settings)(incoming Entries of %1)(incoming Entries)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSaving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptsettingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-02-14 09:13+0000 Last-Translator: Elias Ojala Language-Team: Finnish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 ei voitu suorittaa onnistuneesti. Virheviesti: %2Muokatut asetukset(sisääntulevat käynnistysvalikot %1 :sta)(sisääntulevat käynnistysvalikot)(komentosarja koodi)Ryhmä muita käyttöjärjestelmiä. Grub näyttää sen normaalina menu-valikkona kun sitä klikataan, se lataa toisen valikon, joka antaa sinun valita yhden siellä olevista menu-valikoista.JA: Muokkauksesi ovat vielä tallentamatta, nyt päivitys tallentaa nekin samalla!_UlkonäköValikkotyypeistäLisää käynnistysvalikko roskakoristaKaikki tiedostotVaihtoehtona yksinkertaiseen teema-menetelmään, mikä mahdollistaa joitakin määrityksiä kuten värin, taustapaperin ja fontin, sinä voit asentaa monimutkaisen ja tiiviin teemapaketin saadaksesi paremmalta näyttävän käynnistysvalikon. On olemassa useita lähteitä näiden lataamiseen, kuten tässä ubuntuforums.org:ssa : %1 (tarvitsee käyttäjätunnuksen) tai etsi '%2' sijainnista %3 Lataa sopiva paketti (joka on useimmissa tapauksissa tar.gz muodossa) ja lisää se mahdollisiin teemoihisi käyttämällä lisää nappia teema valitsijan vieressä. Kun olet muuttanut teeeman, näet yksinkertaisen editorin, jossa voit esikatsella kuvia ja joissa voit tehdä jotain tiedoston käsittelyä. Muokatun teeman sisältö tallennetaan kun painat tallenna nappia.Tapahtui virheMenu-valikko, joka on näkyvissä grub valikossa ja joka aktivoituna käynnistää käyttöjärjestelmän.ArkistotiedostotOletko varma, että haluat poistaa tämän teemanOletko varma?BURGBURG tilassaBURG löytyi!Käynnistyy oletusvalinnalla %1 sekunnin kuluttuaKetjulataajaValitse tiedosto...Valitse…Asetukset on tallennettuEi voitu liittää valittua osiotaEi voitu irroittaa valittua osiotaLuo alavalikko (submenu)Säädä teeman asetuksiaHaluatko tehdä asetukset BURG:iin eikä grub2:een?Haluatko edetä ilman, että olet tallentanut nykyiset asetukset?Haluatko tallentaa tekemäsi muutokset?Käynnistä muokkausYmpäristöasetuksetVirhe kesken käynnistyslataimen asennusta.Grub asetuksien tallennus epäonnistui!TiedostoTiedoston korvaaminen epäonnistui. Valitse ensin teema -tiedosto!Grub 2Grub Customizer on graafinen liittymä, jolla säädetään grub2/burg asetuksiaGrubin fontit voivat olla haitallisia (info)Korostettuna: TaustaKorostettuna: FonttiAsenna boot-lataaja MBR:lle sekä asenna tiedostoja boot-lataajan data-hakemistoon (jos ne eivät jo ole siellä).Asenna MBR:lleKernel muuttujatLinuxLinux-ISOMuistitestausKiinnitys epäonnistui!Siirrä alasSiirrä alas valittu käynnistysrivi (entry) tai komentosarjaSiirrä ylösSiirrä ylös valittu käynnistysrivi (entry) tai komentosarjaNimeä käynnistysrivi (entry)Normaali: TaustaNormaali: FonttiMuupolku ISO-tiedostolleOle hyvä ja valitse taustakuva!Ole hyvä ja katso alempana komentorivin tulostusta. Jos epäilet, että tämä on Grub Customerin virhe (bugi), niin luo yksi %1:ssä! Yleensä Grub Customizerin pitäisi ehkäistä tämän tyyppiset virheet.Ole hyvä, kirjoita laitteen nimi!Binääristä Proxya ei löydy !Poista alavalikosta (submenu)Poista valitsemasi käynnistysrivit "entries" (voit palauttaa ne roskakorista)Poistetut kohdatKomentosarjan poistaminen voi aiheuttaa ongelmia käynnistysvalikoihin, jotka liittyvät tähän. Oletko varma, että haluat tehdä tämän poiston?NimeäPalauta valitut valikotTekee käänteisen listauksen nykyiselle järjestykselleTeemojen tallennus ei onnistunut täydellisesti!_Komentosarjan päivityksiä löytyy. Paina tallenna, jotta saat muutokset voimaan.Käskyrivit (scripts) tekevät menu-valikoita. Jokainen menu-valikko kuuluu johonkin käskyriviin. Nämä näytetään ylimmän tason ryhminä, kun ne on aktivoituna. Verrattuna alavalikoihin, näitä ei näytetä käynnistysvalikossa.Näytä _paikkamerkitNäytä _piilotetut kohdatAlakiinnityskohdat (Submountpoints):Käynnistyslatain on asennettu onnistuneestiValittua tiedostoa ei voida ladata teemaksiTehty asetus ei ole samanlainen kuin tallennettu asetus käynnistyksessä. Joten se mitä näet nyt, ei ehkä ole samaa kuin mitä näet, kun käynnistät PC:n uudelleen. Korjaa tämä klikkaamalla 'päivitys'!Annettua tiedostonimeä ei voi käyttääGrub asetuksia ei voida tallentaaTekemäsi muutokset vaikuttavat näkyviin valikoihin. Lataa uudelleen!Tallennettu asetus ei ole päivitetty!Teeman sisältöOn olemassa kahden tyyppisiä erityisiä valikoita: Sisääntulevat valikot ovat paikka, jossa Grub Customizer sijoittaa uudet grubin löytämät käyttöjärjestelmät, mutta joiden asetuksia ei ole määritelty Grub Customizerilla. Grub tekee käskykoodin (script code), mikä ei näytä menu-valikolta. Useimmissa tapauksissa sitä käytetään grubin asetuksiin. Sinun ei tule koskea koodiin, ellet ole varma, mitä se koodi tekee. Paikkamerkit ovat oletusarvona piilotettuina.On tallentamattomia muutoksia!Tämä poistaa seuraavat käynnistysvalikot:Tämä vaihtoehto ei toimi, jos "os-prober" komentosarja löytää toisen käyttöjärjestelmän. Kytke pois "%1", jos et tarvitse muita käyttöjärjestelmiä.Tämä poistaa kaikki sinun listaus muutokset boot-lataajan valikosta!Tämä ei näytä olevan juuri tiedostojärjestelmä (fstab ei löydy)Näet kaikki käynnistysvaihtoehdot (muokkaamattomat), kun suoritat grubia. Tämä virhe ilmenee (useinmiten), jos et ole asentanut grub customizer:ia oikein.Yrität poistaa käynnistysvalikkoa toiminnassa olevasta järjestelmästä. Varmista, että on muita toimivia käynnistyvalintoja tähän järjestelmään! Jos haluat vain poistaa vanhat kernelit: Parempi tapa on poistaa ne (uninstall) kuin vain piilottaa ne boot-valikoissa._Lisäasetukset_Ulkonäköasetukset_Muuta ympäristö ..._Laite: M_uokkaa_TiedostoKi_rjasin_Yleistä_Yleiset asetukset_Ryhmittele komentosarjan mukaanO_hje_alustava ram-levy (initial ramdisk)_Asenna MBR:lle_Linux-kuva (image)_Näytä asetukset_Lataa tiedosto: _Muistitestauksen kuva (image)_Osio_Osio:_Lopeta ilman tallentamista_Lopeta ilman päivittämistä_Palauta_Tallenna ja lopeta_Näytä yksityiskohdat_Teema:_Tyyppi:_Päivitä ja lopeta_Näkymälisää teemaLisää tämä käynnistysrivi (entry) uudeksi alavalikoksilisäasetuksettaustakuvamustasininenruskeaen voi siirtää käynnistysriviä (entry)valitse teema tiedostojatka (on riski tietojen menetykselle)nykyinensäädä resoluutio: sinivihreätumman harmaaoletus käynnistysrivioletusnimi: %1Pyyhi lopullisesti valitut valikot - tämä toiminto on käytössä vain mukautetuille valikoillepoista tämä teematiedostonimiluo toipumiseen käskyrivivihreäasennetaan käynnistyslatainta..on aktiivinenkernel määrityksetvaalean sininenvaalea sinivihreä (cyan)vaalean harmaavaalean vihreävaalea violetti (magenta)vaalean punainenladataan asetukset...ladataan komentosarja (script) %2/%3 (%1)Etsi toista käyttöjärjestelmäävioletti (magenta)menu-valikkonimiosio: %1Pyyhi lopullisesti valitut valikotpaikan kiinnittäjäole hyvä ja ilmoita ohjelman kirjoittajalle virheestä. Seuraava tieto voisi olla avuksi:Huomio: isot fontit voivat häiritä käynnistysnäyttöä pieniresoluutioisella käynnistysruudulla. Koska tämä ongelma on riippuvainen valitusta fontista, niin ei ole mahdollista määritellä yleistä suurinta kokoa. Kun yrität valita suuremman fontin, niin tee se pienin askelin (käynnistä kone aina uudelleen ja tarkista tulos). Tämä ongelma ilmenee, kun grub gui osat (rajat, määritykset) eivät sovi ruudulle. Joten, jos ruudulla on riittävästi vaakasuoraa tilaa, voit yrittää kokeilla suuremmalla fontilla. Valikkorivien lukumäärä ei ole ongelma - niitä voi tarvittaessa vierittää alaspäin. Valikoiden vaurio johtaa loputtomaan grub2 lataamiseen. Tällöin tarvitset asian korjaamiseen live CD:n : * pyyhi fontti (MOUNT)/boot/grub/unicode.pf2 -tiedostosta. * käynnistä koneesi uudelleen (käynnistävalikko pitäisi näkyä oletusarvoisilla fonteilla) * avaa /etc/default/grub pääkäyttäjän (root) oikeuksilla ja kirjoita '#' GRUB_FONT -tekstiä sisältävän rivin alkuun. * käynnistä sitten grub customizer valitaksesi aiemmin käytetyn fontin.esi_valittu: aiemmin valittu _käynnistysrivipunainenLataa uudelleen asetukset. Tallentamattomat muutokset tallennetaan.poista taustapoiosta kirjaintyyppi (font)Poista tämä käynnistysrivi (entry) nykyisestä alavalikostatallenna nämä asetuksetkomentosarjaasetuksetnäytä valikkoalavalikkoläpinäkyväirroitus epäonnistui!päivitetään asetuksiaarvonäkyvyysvalkoinenkeltainengrub-customizer-5.1.0/translation/translation-bg.po0000644000175000017500000005527613360360026021770 0ustar danieldaniel# Bulgarian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Име на записа" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Конфигурацията беше запазена" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "обновяване на конфигурацията" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer е графичен интерфейс за конфигуриране настройките на " "grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Монтирането се провали!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Демонтирането се провали!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Изглежда, че това не е главен дял (не открит файл fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Избраният дял не може да бъде монтиран" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Избраният дял не може да бъде демонтиран" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Инсталиране на програмата за начално зареждане в MBR\n" "и поставяне на някои файлове в папката и с данни\n" "(ако те вече не съществуват)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Устройство: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Инсталиране в MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Програмата за начално зареждане беше инсталирана успешно" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Грешка при инсталиране на програмата за начално зареждане" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Инсталиране на програмата за начално зареждане..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Моля въведете устройство!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Файл" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Редактиране" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Изглед" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Помощ" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Инсталиране в MBR …" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Открита е програмата BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Преместване нагоре на избрания запис или скрипт" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Преместване надолу на избрания запис или скрипт" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Желаете ли да настроите BURG вместо grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG режим" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "зареждане на конфигурацията..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Двоичния файл на посредника не е открит!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Когато пуснете grub ще видите всички записи (непроменени). Тази грешка се " "получава (в повечето случаи), когато не сте инсталирали правилно grub " "gustomizer." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Запазената конфигурация не е актуална!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Генерираната конфигурация не е еднаква със запазената при пускане на " "програмата. Това, което виждате тук не е това, което ще видите при " "рестартиране на компютъра. За да оправите това натиснете обновяване!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Изход без обновяване" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Обновяване и изход" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Желаете ли да запазите промените?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Изход без запазване" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Запис и изход" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "_предварително зададен: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "пос_ледно зареден запис" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "стандартен запис" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "видимост" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "Показване на меню" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "параметри на ядрото" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "генериране на авариен запис" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "търсене за други операционни системи" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "потребителска разделителна способност: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "настройки" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Общи" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Външен вид" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Разширени" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "активен" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "име" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "стойност" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Тази опция не работи, когато скриптът \"os-prober\" намери други операционни " "системи. Изключете \"%1\", ако нямате нужда да зареждате други операционни " "системи." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "бяло" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "жълто" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "светло синьозелено" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "синьозелено" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "светло синьо" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "синьо" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "светло зелено" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "зелено" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "светло пурпурно" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "пурпурно" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "светло червено" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "червено" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "кафяво" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "светло сиво" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "тъмно сиво" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "прозрачен" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "черно" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "фоново изображение" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "премахване на фона" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "" grub-customizer-5.1.0/translation/translation-hu.po0000644000175000017500000006646013360360026022011 0ustar danieldaniel# Hungarian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: Lukacsi Karoly \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "A bejegyzés neve" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "Ezt a bejegyzést nem lehet áthelyezni" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Konfiguráció elmentve" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "konfiguráció frissítése" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "Grub Customizer egy grafikus interfész a grub2/burg beállításához" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "almenü" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "helyőrző" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "menüpont" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "aktuális" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Típus:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Szerkesztő" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Más" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "Kód írása" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partíció" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Kezdeti ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux kép" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memteszt kép" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "ISO fájl elérése" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kernel paraméter" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partíció:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Al csatolási pontok:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "Konfiguráció mentése" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Felcsatlakoztatás sikertelen!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "lecsatolás sikertelen!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Úgy tűnik ez nem root fájl rendszer (fstab nem található)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nem csatlakoztatható fel a kiválasztott partíció" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nem csatlakoztatható le a kiválasztott partíció" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Hiba történt" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Kérjük, tájékoztassa a készítőt erről a problémáról. Az alábbi információk " "hasznosak lehetnek:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "folytatás (adatvesztés lehet)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Boottöltő telepítése az MBR-be és néhány\n" "fájl létrehozása a boottöltő adatmappájába\n" "(ha még nem léteznek)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Eszköz: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "MBR-be telepítés" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "A boottöltő sikeresen telepítve" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Hiba a boottöltő telepítése során" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "boottöltő telepítése..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Kérem gépeljen be egy eszköz stringet!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Fájl" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Szerkesztés" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Nézet" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Súgó" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Telepítés az MBR-be..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Részletek" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Mutassa a _rejtett bejegyzéseket" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Script csoport" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "A helyőrzők _mutatása" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG megtalálva!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Haladó beállítások" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Az elvégzett módosítások érintik a látható bejegyzéseket. Kérjük, újra " "betölteni!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Parancsfájl frissítések találhatók. Katt a Mentés gombra a változtatások " "elfogadásához!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Lista beállítása" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Kiválasztott bejegyzések törlése (vissza lehet állítani őket a kukából)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "A kiválasztott bejegyzés vagy script feljebb mozgatása" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "A kiválasztott bejegyzés vagy script lejjebb mozgatása" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Bejegyzés eltávolítása ebből az almenüből" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Bejegyzés hozzáadása az almenühöz" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Alapértelmezett lista visszaállítása" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "konfiguráció újratöltése. A nem mentett módosítások megmaradnak." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Átnevezés" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Fel" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Le" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Vegyük ki az almenüből" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Hozzon létre almenüt" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Környezet változtatása ..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Szeretné a BURG-ot konfigurálni a grub2 helyett?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Általános beállítások" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_A megjelenítés beállításai" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG Mód" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "konfiguráció betöltése..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "script betöltése %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy nem található!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Az összes bejegyzést így fogja látni (nincs testre szabva), amikor futtatja " "a grub-ot. Ez a hiba akkor fordul elő (a legtöbb esetben), amikor a grub " "customizer nincs helyesen telepítve." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(bejegyzések %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(bejegyzések)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Az elmentett konfiguráció nem naprakész!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "A generált konfiguráció nem egyezett meg az elmentett konfigurációval " "induláskor. Tehát amit most lát nem ugyanaz mit akkor fog látni mikor újra " "indítja a számítógépét. Hogy javítsa ezt, kattintson a frissítésre!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Kilépés frissítés nélkül" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Frissítés & Kilépés" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Szeretné menteni a módosításokat?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "K_ilépés mentés nélkül" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Mentés & Kilépés" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "ÉS: a módosítások még nincsenek mentve, a frissítés menteni is fogja őket!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "A grub beállításainak mentése nem sikerült!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "A grub konfiguráció nem menthető" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Kérjük, vessen egy pillantást a parancssori kimenetre alább. Ha úgy " "gondolja, hogy ez egy bug a Grub Customizerben, kérjük hozzon létre egy %1! " "Általában az ehhez hasonló hibákat a Grub Customizer elkerüli." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "A(z) %1 végrhajtása sikertelen. A hibeüzenet a következő:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Környezet beállításai" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Szeretné folytatni mentés nélkül az aktuális konfigurációt?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Nem mentett módosítások!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Script kód eltávolítása problémát okozhat, amikor megpróbál a bejegyzésekre " "támaszkodva bootolni. Biztos benne, hogy ezt szeretné?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Megpróbálsz eltávolítani egy épp futó rendszerbejegyzést. Ügyelj arra, hogy " "ne legyen más futó munka a rendszerben!\n" "Ha eltávolítani akarod a régi kerneleket: jobb ha csak elrejted a boot " "menüben." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Egy menü bejegyzést, ami látható a grub menüben és bootban egy operációs " "rendszer, ha aktiválva van." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Több operációs rendszer van. A Grub megjeleníti azt,mint egy normál " "menüpont, de amikor rákattint akkor betölti másik menüből, amely lehetővé " "teszi, hogy válasszon egyet az azt tartalmazó menüpontokból." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Két típusa létezik ennek a különleges bejegyzésnek: Bejövő bejegyzések az a " "hely, ahova a Grub Customizer helyezi az új operációs rendszert, amely " "megtalálható a grubban, de még mindig nem állította be a Grub Customizer. A " "Script kód által generált kód grubja ami nem úgy néz ki mint egy menüpont. A " "legtöbb esetben ez konfigurálásra grub. Csak akkor nyúljon hozzá, ha tudja " "mit csinál. Helyőrzők alapértelmezés szerint rejtve vannak." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Szkripteket generáló menüpontok. Szóval minden menüponthoz tartozik egy " "script. Ezek jelennek meg, ha felső szintű csoportok aktiválva vannak. " "Ellentétben az almenük nem jelennek meg a bootmenüben." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "A belépési típusokról" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Ezt akarod?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Ez eltávolítja a lista módosításokat a bootloader menüben!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "előre_definiált: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "előzetesen _bootolt bejegyzés" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "alapértelmezett bejegyzés" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "láthatóság" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "menü mutatása" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "kernel paraméterek" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "helyreállító bejegyzés generálása" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "más operációs rendszer keresése" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "egyéni felbontás: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "beállítások" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "Á_ltalános" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Megjelenés" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Speciális" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "aktív" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "név" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "érték" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Betöltés alapértelmezett bejegyzés után %1 másodperc" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Ez az opció nem működik, amikor az \"os-prober\" script talál más operációs " "rendszereket. Tiltsa le \"%1\", ha nem akar bebootolni más operációs " "rendszert." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "fehér" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "sárga" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "világos-ciánkék" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "ciánkék" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "világoskék" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "kék" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "világoszöld" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "zöld" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "világos-magenta" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "világospiros" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "piros" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "barna" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "világosszürke" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "sötétszürke" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "átlátszó" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "fekete" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Fájl betöltése: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Téma:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "háttérkép" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Kérjük, válassz egy háttérképet!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Szöveg" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "témafájl választás" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Téma tartalma" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Egyedi Téma beállítások" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normál: Szöveg" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normál: Háttér" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Kiemelt: Szöveg" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Kiemelt: Háttér" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Fájl" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Téma hozzáadása" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "téma törlése" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Archív fájlok" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Minden fájl" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "szöveg visszaállítása" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "háttér törlése" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Egyéni beállítások)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "A kiválasztott fájlt nem lehet betölteni, mint téma" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "A megadott fájlnevet nem lehet használni" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "A téma mentése csak részben sikerült!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Fájl cseréje meghiúsult. Kérem válasszon főtémafájlt!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "fájlnév" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "kérjük, vedd figyelembe: a nagy betűk alacsony bootkép felbontásnál is " "ronthat a boot képernyőn\n" "Mivel ez a probléma függ a választott betűtípustól, nem lehetséges, hogy " "meghatározzuk a maximumot. Ha kell válassz ki egy nagyobb betűtípust, " "kérjük, ted meg kis lépésekben (újraindítással ellenőrzni az eredményeket.)\n" "A probléma akkor jelentkezik, amikor a grub gui elemek (határok, leírás) " "szokás illeszkednek képernyőt. Tehát miközben van elég függőleges hely " "kipróbálhat egy nagyobb betűtípust. A sok menupont nem probléma - ezeket " "lehet görgetni, ha szükséges.\n" "\n" "A hiba eredménye egy végtelen betöltési idő a grub2-ben. Szükséged van egy " "live cd-re a javításhoz:\n" " * Törölje a betűtípust (Mount) / boot/grub/unicode.pf2\n" "* Indítsa újra a rendszert (menüben meg kell jelennie az alapértelmezett " "betűtípusoknak)\n" " * Open / etc / default / grub root jogosultságokkal, és helyezzük a \"#\" a " "sor elé, amely GRUB_FONT\n" " * Majd futtassa a grub customizert, hogy válaszd ki a használt betűtípust" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub betűtípusok használata káros lehet (Infó)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Biztosan el akarod távolítani ezt a témát" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Alternatív megoldásként az egyszerű téma jobb módszer, amely bizonyos " "lehetőségek, mint a szín, tapéta és font telepíthető bonyolult téma " "csomagok, hogy még szebb boot menüt kapjunk. \n" "\n" "Számos letöltés forrásokat ilyen menet ubuntuforums.org:\n" "% 1 (szükségletek számla)\n" "vagy keressen a '% 2' at % 3 \n" "\n" "Csak letölt egy ilyen csomagot (ami tar.gz formátumban a legtöbb esetben), " "és add hozzá a listához a rendelkezésre álló témák segítségével a hozzáadás " "gombra a téma választó.\n" "\n" "Megváltoztatása után a téma akkor megjelenik egy egyszerű szerkesztő, amely " "ad egy előnézeti képek, és lehetővé teszi néhány fájlkezelő. Módosított téma " "tartalom kerül elmentésre, amikor megnyomja a Mentés gombra." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Bejegyzés hozzáadása a kukából" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Eltávolított elemek" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Visszaállítás" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Visszaállítja a kijelölt bejegyzéseket" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "végleg törölni a kijelölt bejegyzéseket" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "bejegyzések törlése véglegesen - ez csak saját bejegyzéseknél elérhető" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Ez törli a következő bejegyzéseket:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Betöltés folyamatban" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-zh_TW.po0000644000175000017500000005771313360360026022431 0ustar danieldaniel# Chinese (Traditional) translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-03-01 04:25+0000\n" "Last-Translator: Walter Cheuk \n" "Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "命名該項目" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "不能移動這個項目" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "配置已被儲存" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "更新配置" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "Grub Customizer 是用來設置 grub2/burg 設定的圖形介面程式" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "腳本(script)" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "子選單(submenu)" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "佔位符號" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "選單項目(menuentry)" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "腳本:%1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "預設名稱:%1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "分割區:%1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO 映像檔: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest 映像檔: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "目前" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "類型(_T):" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "開機次序" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "名稱(_N):" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "建立開機次序時出錯。\n" "請檢查參數!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "項目編輯器" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "選擇..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "其他" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(腳本代碼)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "選擇檔案…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "分割區(_P)" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "虛擬檔案系統(_I)" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux 映像檔" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "記憶體檢測映像檔(_M)" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "到 ISO 檔的路徑" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "內核參數" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO 映像檔" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest 映像檔" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "分割區(_P):" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "子掛載點:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "儲存這個配置" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "掛載失敗!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "卸載失敗!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "這似乎不是根檔案系統 (找不到 fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "無法掛載選取的分割區" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "無法卸載選取的分割區" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "有錯誤發生" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "關於這個問題,請通知作者。下列資訊可能會有所幫助:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "繼續 (有可能遺失資料)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "安裝開機載入程式至 MBR 及放一些\n" "檔案到開機載入程式資料目錄\n" "(如果還沒有的話)。" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "裝置(_D): " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "安裝到 MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "開機載入程式已經成功安裝" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "安裝開機載入程式時出現錯誤" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "正在安裝開機載入程式..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "請輸入裝置字串!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "檔案(_F)" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "編輯(_E)" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "檢視(_V)" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "求助(_H)" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "安裝到 MBR(_I)..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "顯示詳情(_S)" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "顯示隱藏項目(_H)" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "依腳本分組(_G)" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "顯示佔位符號(_P)" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "找到了 BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "進階設定" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "您所做的修改影響可見的項目。 請重新載入!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "腳本有更新。按「儲存」套用變更!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "清單配置(_L)" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "移除所選項目 (您可以將它們從回收筒還原)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "將選定的項目或腳本向上移動" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "將選定的項目或腳本向下移動" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "從目前的子選單中,移除此項目" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "加入這個項目到一新的子選單" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "還原清單為預設順序" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "重新載入配置。尚未儲存的變更將被保留。" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "重新命名" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "上移" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "下移" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "從子選單移除" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "建立子選單" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "變更環境(_C)..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "您是否想要配置BURG,而不是grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "一般設定(_G)" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "外觀設定(_A)" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG 模式" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "儲存設定並製作新的 %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "正在載入配置..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "載入腳本 %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "當運行 GRUB 時,會看到所有 (沒有修改過的) 項目。若 grub gustomizer 安裝得不正確,此問題通常都會發生。" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(進入項目%1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(進入項目)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "儲存的配置不是最新的!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "產生的設定與啟動時儲存的設定不相符。故重新啟動電腦時看到的,與此處的未必相同。請「更新」來修正此問題!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "結束而不更新(_Q)" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "更新及結束(_U)" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "是否要儲存所做的修改?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "結束而不更新(_Q)" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "儲存及結束(_S)" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "並且:您的修改仍未儲存,更新將連同儲存它們!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "未能儲存 GRUB 設定!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "無法儲存 GRUB 設定" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "請檢視以下指令列的輸出結果。若閣下認為 Grub Customizer 有問題,請於 %1 回報!通常而言 Grub Customizer 不應該會這樣。" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 無法成功執行。錯誤訊息:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "環境設定" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "想繼續執行而不儲存目前配置嗎?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "有未儲存的修改!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "移除腳本代碼可能會導致當試圖啟動依賴於它的項目時發生問題。確定想這樣做嗎?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "正在移除正在運行的系統項目。請先確保本電腦有其他可正常運行的系統項目!\n" "如僅想移除舊內核,應將其解除安裝而非在開機選單隱藏。" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "「選單項目(menuentry)」會出現於 grub 選單;當啟用時會以某個作業系統開機。" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "一組其他的作業系統。點擊時,Grub 會將之顯示為普通選單項目,並載入另一個選單,再從中選擇作業系統。" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "此特殊項目有兩種:Incoming entries are the place where Grub Customizer places new " "operating systems which are found by grub but still not configured using " "Grub Customizer. The Script code is code generated by grub which doesn't " "look like an menuentry. In most cases it's used to configure grub. You " "should only touch it when knowing what it does. 預設會隱藏佔位符號。" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "有關項目類型" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "您確定嗎?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "這將移除您開機選單中所有清單的修改!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "預定(_D): " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "先前啟動的項目(_B)" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "預設項目" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "可見性" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "顯示選單" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "內核參數" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "產生復原項目" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "尋找其他作業系統" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "自訂解析度: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "設定" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "一般(_G)" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "外觀(_P)" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "進階(_A)" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "啟用" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "名稱" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "值" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "在 %1 秒後以預設項目開機" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(首個項目)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(其他…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "白色" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "黃色" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "淺青色" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "青色" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "淡藍色" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "藍色" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "淺綠色" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "綠色" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "淺洋紅色" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "洋紅色" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "淺紅色" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "紅色" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "棕色" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "淺灰色" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "深灰色" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "透明" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "黑色" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "載入檔案(_L): " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "佈景主題(_T):" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "背景圖片" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "請選擇背景圖片!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "字型(_F)" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "選擇佈景主題檔" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "佈景主題內容" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "自訂佈景主題設定" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "正常:字型" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "正常:背景" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "突顯項目:字型" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "突顯項目:背景" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "檔案" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "加入佈景主題" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "刪除此佈景主題" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "封存檔" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "全部檔案" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "移除字型" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "移除背景" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(自訂設定)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "所選檔案不能以佈景主題方式載入" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "不能使用給定的檔案名稱" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "未完全成功儲存佈景主題!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "未能置換檔案。請先選取佈景主題檔!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "檔案名稱" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "GRUB 字型可能對系統有害 (資訊)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "是否確定移除此佈景主題" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "從回收筒加入項目" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "已移除項目" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "還原(_R)" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "還原所選項目" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "永久刪除所選項目" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "永久刪除所選項目 - 此動作只在自訂項目提供" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "這會刪除以下項目:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "記憶體檢測" grub-customizer-5.1.0/translation/translation-ko.mo0000644000175000017500000005346213360360026022001 0ustar danieldaniel| h8i E   ",\ O*]   # %&$KZ/p@' %+!Qs:xM )AqS    &9$Afu !9 y%(+6,c&9N.^)!h&I*&5 # @ 8 W !x! " "## 2#<#B#H#N#W#i#z### ## ## # ##$#$ ,$ 9$G$O$V$e$ k$u$$$$$$$$$ %%(% -% 7%E%LV%%%%%% %& & "& -& 8& D& R&\&u& && && &#& &X'{^' **+=+C+ U+*a+++ ++ ++ +++, ,,,~!,G---./.E.v%/ //)/ //3_3 4'4;4V4 [4g404 4&41485P5n525E54546 E6CS6:66P6*7i172777788 8 8 888@9V9=m9#99999':6:'/;1W;#;Y;<<=#=-A==o=1=i=I> f?!??5?;?81@5jA0AhA>:B yB/B<D2D'ET F\aFyF8G\ H hIsII II I I II I J$J=J\JtJJJ JJ'J- K;KLK`K K KK KK8K LL .L 8LBL+IL#uL4LLL L L MMg*MM M M M,MN0NDNUN fNtNNN-N7N' O 5O ?OMO TO3bOOzO!P6UMU lUfvUUU8V$JV oV|VVV VV$V0VW W!W (Wf^D5UIB-Cu[vN'c]W. M @3w~}8)dF{PL Gz2seSk0Tp+_X<qQi>A,%K;b"*V` $4E?(Y/h #1g=9lo!J\m6jy|xRHtZ rna&:O7%1 couldn't be executed successfully. error message: %2(Custom Settings)(incoming Entries of %1)(incoming Entries)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsChainloaderConfiguration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: B. W. Knight Language-Team: Korean MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1은 성공적으로 실행될 수 없습니다. 오류 메시지: %2(사용자 설정)(%1의 오고 있는 항목)(오고 있는 항목)(스크립트 코드)다른 운영 체제 그룹입니다. Grub은 이를 보통 메뉴 항목으로써 보여주지만 이를 누를 때, 당신이 함유한 메뉴 항목 중 하나를 선택하실 수 있는 다른 메뉴를 불러옵니다.그리고: 당신의 변경 사항은 아직 저장되지 않았으며, 업데이트는 이를 저장할 것입니다!외관(_A)항목 종류 설명휴지통에서 항목을 추가합니다모든 파일당신은 색상, 배경화면 및 글꼴과 같은 몇몇 선택 사항을 제공해주는 간단한 테마 방법 대신에 복잡한 테마 패키지를 설치하셔서 더 멋진 부팅 메뉴를 가지실 수 있습니다. 여기에는 ubuntuforums.org에 있는 이 스레드처럼 여러 내려받기 소스가 있습니다: %1 (계정이 필요합니다) 혹은 %3에서 '%2'를 검색하십시오 패키지만 내려받으시고(대부분의 경우는 tar.gz 형식입니다) 이 패키지를 테마 선택기 옆에 있는 버튼 추가를 사용하셔서 유효한 테마 목록에 추가하십시오. 테마를 바꾸시고 나서 당신은 이미지 미리 보기를 주고 몇몇 파일 관리를 할 수 있도록 해주는 간단한 편집기를 보게 될 것입니다. 변경된 테마 내용은 당신이 저장 버튼을 누르실 때 저장될 것입니다.오류가 발생했습니다메뉴 항목은 grub 메뉴에 보이며 활성화됐을 때 운영 체제를 부팅합니다.압축 파일이 테마를 제거하시겠습니까?정말 확실하십니까?BURGBURG 모드BURG를 찾았습니다!매 %1초마다 기본 항목을 부팅합니다체인로더환경 설정이 저장되었습니다선택한 파티션을 장착할 수 없습니다선택한 파티션을 장착 해제할 수 없습니다하위 메뉴를 만듭니다사용자 테마 설정grub2 대신에 BURG를 설정하고 싶습니까?현재 환경 설정을 저장하지 않고 계속하시겠습니까?당신의 변경 사항을 저장하시겠습니까?항목 편집기환경 설정부트로더를 설치하는 도중에 오류가 발생했습니다grub 환경 설정을 저장하는 걸 실패했습니다!파일파일 교체에 실패했습니다. 먼저 테마 파일을 선택하십시오!Grub 2Grub 커스터마이저는 grub2/burg 설정을 구성해주는 그래픽 인터페이스 도구입니다Grub 글꼴은 해가 될 수 있습니다(정보)강조된: 배경강조된: 글꼴MBR에 부트로더를 설치하고 몇몇 파일을 부트로더 데이터 디렉터리에 넣습니다 (만약 이미 이들이 존재하지 않으면).MBR에 설치합니다커널 매개변수리눅스리눅스-ISOMem테스트장착에 실패했습니다!아래로 이동합니다선택한 항목이나 스크립트를 아래로 이동합니다위로 이동합니다선택한 항목이나 스크립트를 위로 이동합니다항목의 이름을 지으십시오보통: 배경보통: 글꼴그 외 설정iso 파일 경로배경 이미지를 선택하십시오!아래에서 명령 줄 출력을 둘러보십시오. 만약 당신이 이를 Grub 커스터마이저의 버그라고 생각하시면, %1에 만드십시오! 일반적으로 Grub 커스터마이저는 이와 같은 오류를 방지해야 합니다.장치 문자열을 입력하십시오!프락시 바이너리를 찾지 못했습니다!하위 메뉴에서 제거합니다선택한 항목을 제거합니다(휴지통에서 이를 복원하실 수 있습니다)제거된 항목스크립트 코드를 제거하는 것은 이를 의존하는 항목을 부팅하는 걸 시도할 때 문제가 발생할 수 있게 만들 수 있습니다. 정말 당신은 결과가 어쨌든 간에 이를 제거하고 싶습니까?이름을 바꿉니다선택한 항목을 복원합니다기본 순서대로 목록을 되돌립니다환경 설정을 저장하고 새로운 %1을 실행합니다테마가 완전히 저장되지 않았습니다!스크립트 업데이트를 찾았습니다. 저장을 누르셔서 변경 사항을 적용하십시오!스크립트는 메뉴 항목을 실행해줍니다. 그러므로 모든 메뉴 항목은 스크립트에 속합니다. 이들은 활성화될 때 최상위 수준 그룹으로써 보입니다. 그러나 이와 대조적으로 하위 메뉴는 부트 메뉴에 보이지 않습니다.구색맞추미를 봅니다(_P)숨겨진 항목을 봅니다(_h)하위 장착 지점:부트로더가 성공적으로 설치되었습니다선택한 파일은 테마로써 불러올 수 없습니다실행된 환경 설정은 시작할 때 나오는 환경 설정에 저장하는 것과 같지 않습니다. 그러므로 지금 당신이 보고 있는 것은 당신의 PC를 다시 시작할 때 당신이 보고 있는 것이 아닐 수도 있습니다. 이를 고치시려면, 업데이트를 누르십시오!주어진 파일 이름은 사용될 수 없습니다grub 환경 설정은 저장될 수 없습니다당신이 완료한 변경 사항은 보이는 항목에 영향을 끼칩니다. 다시 읽으십시오!저장한 환경 설정이 업데이트되지 않았습니다!테마 내용여기에는 두 종류의 특별 항목이 있습니다: 오고 있는 항목은 Grub 커스터마이저가 grub에 의해 찾았지만, 아직 Grub 커스터마이저를 사용하는 걸 구성하지 않은 새로운 운영 체제를 놓는 장소입니다. 스크립트 코드는 메뉴 항목처럼 생기지 않은 grub에서 실행됩니다. 대부분의 경우는 grub을 구성하는 데 사용됩니다. 당신은 이것이 어떻게 하는지에 대해 알 때에만 사용하셔야 합니다. 구색맞추미는 기본으로 숨겨져 있습니다.여기에 저장하지 않은 변경 사항이 있습니다!이는 다음과 같은 항목을 삭제합니다:이 선택 사항은 "os-프로버" 스크립트가 다른 운영 체제를 찾았을 때 작동되지 않습니다. 만약 당신이 다른 운영 체제로 부팅할 필요가 없으시다면 "%1"을 사용하지 마십시오.이는 당신의 모든 부트로더 메뉴 변경 사항 목록을 제거합니다!이 장치는 루트 파일 시스템이 아닌듯합니다(fstab을 찾지 못했습니다)이 테마는 %1을 함유하고 있지 않습니다. 설정 파일을 찾아보시고 "%1"로 이름을 바꾸십시오!당신이 grub을 실행하실 때 모든 항목(사용자 설정이 되지 않은)을 볼 것입니다. 이 오류는 당신이 grub 커스터마이저를 올바르게 설치하지 않을 때, 발생합니다.당신은 현재 실행 중인 시스템의 항목을 제거하는 걸 시도하고 있습니다. 이 시스템에 실행 중인 다른 항목이 있다는 걸 명심하십시오! 만약 당신이 단지 오래된 커널만 제거하고 싶으시다면: 더 좋은 방법은 부트 메뉴에서 이를 숨기는 대신에 삭제하는 것입니다.고급(_A)외관 설정(_A)환경을 바꿉니다(_G) ...장치(_D): 편집하기(_E)파일(_F)글꼴(_F)일반(_G)일반 설정(_G)스크립트로 묶습니다(_G)도움말(_H)초기 램 디스크(_I)MBR에 설치합니다(_I) ...리눅스 이미지(_L)환경 설정 목록(_L)파일을 불러옵니다(_L): Mem테스트 이미지(_M)파티션(_P)파티션(_P):저장하지 않고 종료합니다(_Q)업데이트하지 않고 종료합니다(_Q)복원하기(_R)저장 & 종료(_S)세부 사항을 봅니다(_S)테마(_T):종류(_T):업데이트 & 종료(_U)보기(_V)테마를 추가합니다이 항목을 새로운 하위 메뉴에 추가합니다고급 설정배경 이미지검은색파란색갈색이 항목을 이동시킬 수 없습니다테마 파일을 선택하십시오계속합니다(데이터 손실을 감수합니다)현재사용자 설정 해상도: 청록색진한-회색기본 항목기본 이름: %1항목을 영구적으로 삭제합니다 - 이 조치는 사용자 설정 항목에만 유효합니다이 테마를 삭제합니다파일 이름항목 복원을 실행합니다초록색부트로더를 설치하는 중입니다...활성화 상태입니다커널 매개변수연한-파란색연한-청록색연한-회색연한-초록색연한-자주색연한-빨간색환경 설정을 불러오는 중입니다...스크립트 %2/%3 (%1)를 불러오는 중입니다...다른 운영 체제를 찾아봅니다자주색메뉴 항목이름파티션: %1선택한 항목을 영구적으로 삭제합니다구색맞추미이 문제에 관한 정보를 저자에게 보고하십시오. 다음과 같은 정보는 도움이 될 수 있습니다:명심하십시오: 낮은 부팅 화면 해상도에서 큰 글꼴을 사용하면 부팅 화면을 손상할 수 있습니다 왜냐하면, 이 문제는 선택한 글꼴에 따라, 일반 최대화를 정의하는 게 가능하지 않기 때문입니다. 당신이 더 큰 글꼴을 선택하는 걸 시도할 때, 작은 과정으로 하십시오(다시 시작 및 결과를 확인합니다). grub 그래픽 사용자 인터페이스 요소(경계, 설명)가 화면에 맞지 않을 때 문제가 발생합니다. 그러므로 여기에 충분한 수직 공간이 있다면 더 큰 글꼴을 시도해보실 수 있습니다. 여러 개의 메뉴 항목은 문제가 아니며 - 만약 필요하다면 이들은 스크롤 됩니다. 잘못된 결과는 grub2를 불러오는 시간을 무한하게 만듭니다. 이를 고치기 위해서는 당신은 라이브 CD가 필요합니다: * (MOUNT)/boot/grub/unicode.pf2에서 글꼴을 삭제하십시오 * 당신의 시스템을 다시 시작하십시오(메뉴는 기본 글꼴과 함께 보여야 합니다) * 루트 권한으로 /etc/default/grub을 여시고 GRUB_FONT를 함유한 줄의 맨 앞부분에 '#'을 놓으십시오 * 그다음에 grub 커스터마이저를 실행하셔서 이전에 사용했던 글꼴을 선택하십시오미리 정의된(_d): 이전에 부팅된 항목(_b)빨간색환경 설정을 다시 읽습니다. 저장하지 않은 변경 사항은 그대로 있을 겁니다.배경을 제거합니다글꼴을 제거합니다현재 하위 메뉴에서 이 항목을 제거합니다이 환경 설정을 저장합니다스크립트스크립트: %1설정메뉴를 봅니다하위 메뉴투명장착 해제에 실패했습니다!환경 설정을 업데이트하는 중입니다값가시성흰색노란색grub-customizer-5.1.0/translation/compile_all.sh0000644000175000017500000000012413360360026021276 0ustar danieldaniel#!/bin/bash for i in *.po do msgfmt -c -o `echo $i | grep -o '^[^.]*'`.mo $i done grub-customizer-5.1.0/translation/translation-ru.po0000644000175000017500000010401413360360026022007 0ustar danieldaniel# Russian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-09-12 01:48+0000\n" "Last-Translator: Vyacheslav Sharmanov \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Название пункта меню" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "не удается переместить этот элемент" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Конфигурация сохранена" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "обновление конфигурации" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer - это графический интерфейс для настройки grub2 и burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "сценарий" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "подменю" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "метка" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "пункт меню" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "скрипт: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "стандартное имя: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "раздел: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Образ ISO " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Образ теста памяти: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "текущий" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Тип:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Очередность загрузки" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Имя" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Ошибка построения очередности загрузки.\n" "Проверьте параметры!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Редактор пунктов." #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Выберите..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Прочее" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(содержимое скрипта)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Выбор файла..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Раздел" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Загрузочный RAM-диск (initrd)" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux-образ" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest-образ" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Путь к файлу ISO" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Параметры ядра" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO-образ" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Образ теста памяти" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Раздел:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Точки монтирования" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "сохранить текущие настройки" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Не примонтировалось!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Не отмонтировалось!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Похоже это не корневая фс (fstab не найден)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Примонтировать выбранный раздел не удалось." #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Отмонтировать выбранный раздел не удалось." #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Обнаружена ошибка" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Проинформируйте авторов о возникшей неполадке. Указанная ниже информация " "может им помочь:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "продолжить (риск потери данных)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Установите загрузчик в MBR и разместите \n" "некоторые файлы в папку данных загрузчика\n" "(если они не созданы)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Устройство: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Установить в MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Загрузчик успешно установлен" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Ошибка при установке загрузчика" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "устанавливаем загрузчик..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Введите строку типа устройства!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Файл" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Править" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Вид" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Справка" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Установить в MBR..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Показать детали" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Показать _скрытые пункты" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Группировать по сценарию" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Показать _метки" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Обнаружен BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "расширенные настройки" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Производимые вами изменения нарушают видимые пункты. Перезагрузите настройки!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "Найдены обновления сценария. Сохраните для применения изменений!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Просмотреть настройки" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Удалить выбранные пункты (можно восстановить из корзины)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Перемещение вверх пункта или сценария" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Перемещение вниз пункта или сценария" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "удалить пункт из текущего подменю" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "добавить этот пункт в новое подменю" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Возвращает список пунктов к стандартной сортировке" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "перезагрузка настроек. Несохраненные изменения будут оставлены." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Переименовать" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Переместить вверх" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Переместить вниз" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Удалить из подменю" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Создать подменю" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Изменить переменные среды..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Вы действительно хотите настроить BURG вместо GRUB2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Основные настройки" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Настройки оформления" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Режим BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Сохранить текущие настройки и сгенерировать новый %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "загрузка настроек..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "загрузка сценария %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Бинарный прокси-файл не найден!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Вы будете видеть все позиции, не переделанные вами, при загрузке grub. Чаще " "всего эта ошибка появляется если grub сustomizer некорректно установлен." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(входящие Пункты %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(входящие Пункты)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Сохраненные настройки устарели!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Сгенерированный файл настроек не соответствует сохранённым при запуске. " "Видимое вами сейчас может не соответствовать тому, что вы будете наблюдать " "после перезагрузки ПК. Для исправления нажмите Обновить!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Выход без обновления" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Обновить и Выйти" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Хотите сохранить внесенные вами изменения?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Выход без сохранения" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Сохранить и выйти" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "И: ваши модификации настроек всё еще не сохранены. Обновление так же " "сохранит их!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Ошибка сохранения настроек grub!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Невозможно сохранить настройки grub" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Ниже изучите вывод командной строки. Если посчитаете, что это ошибка в Grub " "Customizer'е , создайте на %1! Grub Customizer предотвращает появление " "подобных ошибок в большинстве случаев." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 невозможно успешно выполнить. сообщение ошибки:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Настройки окружающей среды" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Вы хотите продолжить без сохранения текущих настроек?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Есть несохраненные изменения!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Удаление кода сценария может привести к проблемам загрузки пунктов, " "ссылающихся на него. Продолжить?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Вы пытаетесь удалить пункт меню, относящийся к запущенной в настоящее время " "системе. Убедитесь, что существуют другие пункты для загрузки текущей " "системы! Если же вы хотите удалить ссылки на устаревшие ядра, то лучшим " "способом будет их полное удаление, а не отключение в меню." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Пункт, видимый в меню загрузчика и загружающий операционную систему когда " "выбирается пользователем." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Группа пунктов меню загрузки операционных систем, выглядящая как обычный " "пункт, раскрывающая список подменю при выборе его пользователем." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Имеются два типа специальных пунктов меню: \r\n" "Входящий пункт меню - это место для размещения записи о загрузке найденной " "GRUB'ом ОС, не редактированной Grub Customizer'ом. \r\n" "Код сценария - созданный GRUB'ом сценарий, не являющийся пунктом меню. " "Используется для настройки GRUB. Изменяйте его в случае наличия навыков " "программирования. Метки по-умолчанию скрыты." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Сценарии генерируют пункты и каждый пункт относится к своему сценарию. Если " "данная возможность используется - они отображаются как группы первого " "уровня, но не отображаются в меню загрузки как подменю." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Сведения о типах пунктов меню" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Вы действительно уверены?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Это действие удаляет весь список изменений, внесенных вами в меню загрузчика!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "пред_установленный: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "ранее _загруженный пункт" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "пункт по умолчанию" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "видимость" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "показать меню" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "параметры ядра" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "сгенерировать пункты меню \"Режим восстановления\"" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "поиск других ОС" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "пользовательское разрешение: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "настройки" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Основные" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "Внешний вид" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Расширенные" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "активирован" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "название" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "значение" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Загрузить стандартый выбор через %1 с." #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(первый пункт)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(другой...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Эта опция не сработает, если скрипт автопоиска найдёт другие ОС. Отключите " "\"%1\", если не хотите использовать автопоиск." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Опция позволяет выбрать стандартно загружаемую ОС. По умолчанию, загружается " "первая по списку. После выполнения скрипта автопоиска стандартно загружаемая " "ОС не меняется.\n" "\n" "В отличие от первой опции, остальные варианты по имени не упоминаются. Да, " "стандартно загружаемая ОС остается прежней даже если ее пункт меню перемещен " "в списке.\n" "\n" "Если желаете использовать иной принцип, например этот - \"всегда указывать " "на второй пункт меню\", можно использовать опцию, позволяющую вводить " "пользовательскую ссылку. Примеры использования:\n" "1 = \"всегда указывать на второй пункт меню\" (нумерация начинается с нуля)\n" "test>0 = \"всегда указывать на второй пункт в подменю с названием test\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "белый" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "жёлтый" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "светло-голубой" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "голубой" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "светло-синий" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "синий" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "светло-зелёный" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "зелёный" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "светло-пурпурный" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "пурпурный" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "розовый" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "красный" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "коричневый" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "светло-серый" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "тёмно-серый" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "прозрачный" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "чёрный" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Загрузить файл: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Тема:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "фон" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Выберите изображение для фона!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Шрифт" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "выберите файл темы" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Содержимое темы" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Пользовательские настройки темы" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Стандартный: Шрифт" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Стандартный: Фон" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Подсвеченный: Шрифт" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Подсвеченный: Фон" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Файл" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "добавить тему" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "удалить эту тему" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Архивные файлы" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Все файлы" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "удалить шрифт" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "удалить фон" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Пользовательские настройки)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Выбранный файл не может быть загружен как тема" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Невозможно использовать выбранное имя файла" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Тема не содержит %1. Найдите файл настроек и переименуйте его в \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Сохранение тем выполнено не полностью!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Замена файла не удалась. Сначала выберите файл темы!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "имя файла" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "ВНИМАНИЕ: чрезмерно крупные символы, при загрузке в пониженном разрешении, " "нарушают функциональность экрана загрузки.\n" "Из-за этой неполадки невозможно определить допустимый максимальный размер " "символов выбранного шрифта. Выбирая крупные символы - увеличивайте размер " "постепенно, перезагружаясь и проверяя результат.\n" "Неполадка проявляется когда GUI-элементы выбранной темы не вписываются в " "экран. То есть, если по-вертикали свободного места достаточно - можно " "увеличивать шрифт. Количество пунктов меню не создает проблем, поскольку " "имеется возможность прокрутки.\n" "\n" "При несоблюдении рекомендаций, загрузчик GRUB2 зацикливается, загружаемся с " "Live-CD вашей OC и выполняем действия по следующему списку:\n" " * удаляем файл шрифта /boot/grub/unicode.pf2\n" " * перезагружаемся (символы в меню начнут отображаться системным шрифтом)\n" " * редактируем /etc/default/grub с правами суперпользователя, помещая символ " "'#' в начало строки GRUB_FONT\n" " * запускаем grub customizer и возвращаем шрифт unicode.pf2" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Шрифты Grub могут привести к неполадкам (Сведения)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Вы уверены что хотите удалить эту тему" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Альтернативно самостоятельному оформлению - изменению цвета, обоев, шрифты - " "можно устанавливать комплексные пакеты тем для кардинального улучшения " "внешнего вида меню загрузки.\n" "\n" "Вот лишь некоторые источники для загрузки таких тем c ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Просто скачайте желаемый пакет в любом приемлемом формате и добавьте его в " "список доступных тем используя кнопку \"Добавить\", расположенную после " "строки выбора тем.\n" "\n" "После смены темы вы сможете воспользоваться простым редактором, который " "предоставляет возможность предпросмотра и управления файлами темы. " "Измененная тема сохраняется при нажатии соотв. кнопки." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Добавить пункт меню из корзины" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Удалённые элементы" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Восстановить" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Восстановить выбранные пункты меню" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "безвозвратно удалить выбранные пункты меню" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "удалить пункты меню безвозвратно - это действие доступно только для пунктов " "меню пользователя" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Будут удалены следующие пункты:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Линукс" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Тест памяти" grub-customizer-5.1.0/translation/translation-es.mo0000644000175000017500000005351013360360026021771 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0b0@1+2D2V2q2 22[2]3 _3k33336Z6 27'?7g7w7 |7717777 8 81484f888+888$&9K9^9Xy9:9L :Z:Jb::\:";3;D; U; b;n;;< < &<2<B<S<f<l<<<< < <<<<='='='>F;>>> ?$#?!H?/j?-?^?'@ @@A3%A=YAA.^B<BbB2-C`CsC!E0HQHR1I_IIJ K KKKKKLLL0LDLKL\L sLLLLLL L LLM M%M6MHMOMVMjMoM(MMMMMMMN+NGNNNlN qN}NNcNO"O!4OVO#\OOO O O O O O OOP P@PHPZPaP3pPPVPQ UUU=U1VAV'YVVV VVVV VVW&W ,W8W?W |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-09-24 19:54+0000 Last-Translator: Xavier Language-Team: Spanish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Language: es %1 no se ha podido ejecutar correctamente. Mensaje de error: %2(Configuración básica)(Primera entrada)(Entradas recibidas de %1)(Entradas recibidas)(Otra…)(Código del script)Entrada del menú del gestor de arranque que carga otro menú con otras entradas del menú.NOTA: Las modificaciones aún no se han guardado, ¡la actualización también las guardará!A_parienciaAcerca de los tipos de entradaAñadir entrada de la papeleraTodos los archivosComo alternativa a la configuración básica de colores, fondo de pantalla y tipo de letra, puede instalar paquetes de tema para obtener un menú de arranque más elegante. Hay varias fuentes de descarga, como este hilo en ubuntuforums.org: %1 (necesita una cuenta) o buscar «%2» en %3. Basta con descargar el paquete (que está en formato tar.gz en la mayoría de los casos) y añadirlo a la lista de temas disponibles mediante el botón de añadir situado junto al selector de temas. Después de seleccionar un tema, se carga un editor sencillo que muestra una vista previa de las imágenes que contiene y permite la gestión de algunos archivos. El contenido del tema modificado se guarda al hacer clic en el botón de guardar.Se ha producido un errorEntrada del menú del gestor de arranque que inicia un sistema operativo cuando se activa.Archivadores¿Seguro que quiere eliminar este tema?¿Está seguro?BURGModo BURG¡BURG encontrado!Arrancar la entrada predeterminada en %1 segundosSecuencia de arranqueCargador en cadenaElegir un archivo…Elegir…Se ha guardado la configuraciónNo se ha podido montar la partición seleccionadaNo se ha podido desmontar la partición seleccionadaCrear submenúConfiguración básica¿Quiere configurar BURG en lugar de GRUB2?¿Quiere continuar sin guardar la configuración actual?¿Quiere guardar las modificaciones?Editor de entradasConfiguración del entornoSe ha producido un error al crear la secuencia de arranque. ¡Compruebe los parámetros!Se ha producido un error al instalar el gestor de arranqueSe ha producido un error al guardar la configuración del gestor de arranqueArchivoSustitución de archivos fallida. ¡Seleccione primero un archivo de tema!GRUB2Grub Customizer es una interfaz gráfica para configurar los gestores de arranque GRUB2/BURGCorrupción del gestor de arranqueResaltado: fondoResaltado: letraImagen ISO: Imagen I_SOInstalar el gestor de arranque en el MBR y guardar algunos archivos en la carpeta de datos del gestor de arranque (si aún no existen)Instalar en el MBRParámetros del núcleoLinuxLinux (ISO)Test de memoriaImagen Memtest: ¡Montaje fallido!BajarBajar el elemento seleccionadoSubirSubir el elemento seleccionadoNombrar la entradaNormal: fondoNormal: letraOtroRuta al archivo ISO¡Elija una imagen de fondo!Consulte la salida de la línea de órdenes siguiente. Si cree que se trata de un error de Grub Customizer, cree un informe de error en %1. Grub Customizer debería evitar este tipo de errores.¡Introduzca el nombre del dispositivo!¡No se ha encontrado el proxy binario!Quitar del submenúQuitar las entradas seleccionadas (se pueden restaurar de la papelera)PapeleraQuitar el código de un script puede causar problemas al intentar arrancar las entradas que dependen de él. ¿Quiere hacerlo de todos modos?RenombrarRestaurar las entradas seleccionadasRevierte todas las modificacionesGuardar la configuración y generar un nuevo %1¡Los temas no se han guardado completamente!Se han encontrado actualizaciones de scripts. ¡Haga clic en guardar para aplicar los cambios!Los scripts generan las entradas de menú. Cada entrada del menú pertenece a un script. En contraste con los submenús, los scripts no se muestran en el menú de arranque.Mostrar _marcadores de posiciónMostrar _entradas ocultasSubpuntos de montaje:Se ha instalado correctamente el gestor de arranqueEl archivo elegido no se puede cargar como un archivo de temaLa configuración generada no es igual a la configuración guardada al inicio. Lo que ve ahora puede que no sea lo que vea cuando reinicie el equipo. ¡Para solucionar esto, haga clic en actualizar!El nombre de archivo dado no se puede utilizarNo se puede guardar la configuración del gestor de arranqueLas modificaciones que se han hecho afectan a las entradas visibles. ¡Recargue la configuración!¡La configuración guardada no está actualizada!Contenido del temaHay dos tipos de esta entrada especial. Las entradas recibidas contienen los sistemas operativos nuevos encontrados por el gestor de arranque que todavía no se han configurado con Grub Customizer. Los códigos de los scripts contienen el código de los scripts que generan las entradas del menú de arranque. Sólo se deben modificar si se conoce su funcionamiento. Los marcadores de posición están ocultos por defecto.¡Hay modificaciones sin guardar!Esta acción eliminará las entradas siguientes:Este menú desplegable permite elegir el sistema operativo que se selecciona automáticamente para arrancar. La opción predefinida selecciona el sistema operativo que indica la primera entrada del menú de arranque. En contraste con la primera opción, las otras opciones permiten elegir la entrada predeterminada por su nombre. Por lo tanto, el sistema operativo que se selecciona no varía cuando su entrada cambia de posición. La última opción de la lista permite elegir la entrada predeterminada con una referencia personalizada. Ejemplos de uso: 1 = la entrada predeterminada es la segunda (el recuento comienza por 0). test> 0 = la entrada predeterminada es la primera entrada del submenú llamado «test».Esta opción no funciona cuando el script «os-prober» encuentra otros sistemas operativos. Desactive «%1» si no necesita arrancar otros sistemas operativos.¡Esta acción elimina todas las modificaciones del menú del gestor de arranque!Esto no parece un sistema de archivos raíz (no se ha encontrado el archivo fstab)Este tema no contiene un 1%. ¡Busque el archivo de configuración y cambie su nombre a «%1»!Cuando se ejecute el cargador de arranque, se mostrarán todas las entradas (sin personalizar). Este error se produce (en la mayoría de los casos) cuando Grub Customizer no se ha instalado correctamente.Está intentando quitar una entrada del sistema en ejecución. ¡Asegúrese de que existen otras entradas operativas para este sistema! Para eliminar núcleos antiguos, es mejor desinstalarlos que quitar sus entradas del menú de arranque._AvanzadaConfiguración de la _apariencia_Cambiar entorno…_Dispositivo: _Editar_Archivo_Tipo de letra_GeneralConfiguración _generalAgrupar por _scriptAy_udaRamdisk _inicial_Instalar en el MBR…Imagen _LinuxConfiguración de la _listaCargar arc_hivo: Imagen _MemtestImagen _Memtest_Nombre:_Partición_Partición:_Salir sin guardar_Salir sin actualizar_Restaurar_Guardar y salir_Mostrar detalles_Tema:_Tipo:_Actualizar y salir_VerAñadir un temaAñadir esta entrada a un submenú nuevoConfiguración avanzadaImagen de fondoNegroAzulMarrónNo se puede mover esta entradaElija un archivo de temaContinuar (con riesgo de pérdida de datos)ActualPersonalizar la resolución: CianGris oscuroEntrada predeterminadaNombre por defecto: %1Eliminar entradas permanentemente (esta acción solo está disponible para entradas personalizadas)Eliminar este temaNombre de archivoGenerar entradas de recuperaciónVerdeInstalando el gestor de arranque…ActivarParámetros del núcleoAzul claroCian claroGris claroVerde claroMagenta claroRojo claroCargando la configuración…Cargando script %2/%3 (%1)Buscar otros sistemas operativosMagentaEntrada del menúNombrePartición: %1Eliminar permanentemente las entradas seleccionadasMarcador de posiciónInforme al autor sobre este problema. La información siguiente puede ser de utilidad:NOTA: Tipos de letra grandes en resoluciones de pantalla bajas pueden corromper la pantalla de arranque. Dado que este problema depende del tipo de letra seleccionado, no es posible definir un tamaño máximo de tipo de letra. Para seleccionar un tipo de letra grande, hágalo en varios pasos (reiniciando y comprobando los resultados). El problema se produce cuando los elementos del menú de arranque (bordes y descripción) no caben en la pantalla. Mientras haya suficiente espacio vertical se puede probar un tipo de letra mayor tamaño. La cantidad de entradas del menú no constituyen un problema; se desplazan si es necesario. La corrupción de la pantalla de arranque resulta en un tiempo de carga infinito para el gestor de arranque. Para solucionar este error, arranque desde un CD y siga estas instrucciones: * Eliminar el archivo de tipo de letra (PUNTO_DE_MONTAJE)/boot/grub/unicode.pf2. * Reiniciar el sistema (el menú de arranque mostrará el tipo de letra predeterminado). * Abrir el archivo /etc/default/grub con permisos de superusuario y colocar un carácter # al principio de la línea que contenga GRUB_FONT. * Ejecutar Grub Customizer para elegir un tipo de letra de menor tamaño._Predefinir: Usar el último arranqueRojoRecarga la configuración (preserva los cambios no guardados)Quitar el fondoQuitar el tipo de letraQuitar esta entrada del submenú actualGuardar esta configuraciónScriptScript: %1ConfiguraciónMostrar el menú de arranqueSubmenúTransparente¡Desmontaje fallido!Actualizando la configuraciónValorVisibilidadBlancoAmarillogrub-customizer-5.1.0/translation/translation-de.po0000644000175000017500000007274613360360026021771 0ustar danieldaniel# German translations for PACKAGE package. # Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Daniel Richter , 2010. # msgid "" msgstr "" "Project-Id-Version: 2.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2013-01-19 19:05+0000\n" "Last-Translator: Daniel Richter \n" "Language-Team: German\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-11-13 17:48+0000\n" "X-Generator: Launchpad (build 16820)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Benennen Sie den Eintrag !" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "Dieser Eintrag kann nicht verschoben werden." #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Die Konfiguration wurde gespeichert" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "Konfiguration wird gespeichert" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer ist eine grafische Benutzeroberfläche, um die GRUB 2 / BURG-" "Einstellungen zu konfigurieren." #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "Skript" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "Untermenü" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "Platzhalter" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "Menü-Eintrag" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "Skript: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "Vorgabetitel: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "Partition: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-Abbild: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-Bootimage: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "dieses System" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Typ:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Konnte Boot-Sequenz nicht generieren.\n" "Bitte prüfen Sie die angegebenen Parameter!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Bootmenüeintrag bearbeiten" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Durchsuchen…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Andere" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(Script-Code)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Datei wählen…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partition" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Initiale RAMdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux-Bootimage" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest-Bootimage" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Pfad zur ISO-Datei" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kernel-Parameter" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO-Abbild" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-Bootimage" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partition" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Wählen Sie alle notwendigen Mountpoints" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "Diese Konfiguration speichern" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "GRUB 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Einhängen fehlgeschlagen !" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Aushängen fehlgeschlagen !" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Dies scheint kein Rootdateisystem zu sein (keine fstab gefunden)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Konnte die ausgewählte Partition nicht einhängen" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Konnte die ausgewählte Partition nicht aushängen" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Es ist ein Fehler aufgetreten" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Bitte informieren Sie den Ersteller dieses Programms über das Problem. Die " "folgende Information könnte hilfreich sein:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "fortfahren (Datenverlust riskieren)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Installieren Sie den Bootloader in den MBR und speichern Sie\n" "ein paar Dateien im Datenverzeichnis des Bootloaders.\n" "(wenn diese nicht schon existieren)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Gerät: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "In den MBR installieren" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Der Bootloader wurde erfolgreich installiert." #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Fehler während der Installation des Bootloaders." #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Der Bootloader wird installiert …" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Bitte geben Sie einen Geräte-Pfad ein !" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Datei" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Bearbeiten" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Ansicht" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Hilfe" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Installiere im MBR ..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Details anzeigen" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "_Ausgeblendete Menüeinträge anzeigen" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "Nach Skripten gruppieren" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "_Platzhalter anzeigen" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG gefunden!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "erweiterte Einstellungen" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Die vorgenommenen Einstellungen verändern das Bootmenü. Bitte neu laden!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Einige Skipte wurden aktualisiert. Klicke speichern, um die Änderungen zu " "übernehmen!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Bootmenü-Konfiguration" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Ausgewählte Einträge löschen (diese können aus dem Papierkorb " "wiederhergestellt werden)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Bewege den ausgewählten Eintrag oder das Skript nach oben" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Bewege den ausgewählten Eintrag oder das Skript nach unten" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Diesen Eintrag aus dem Submenü herausschieben" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Diesen Eintrag in ein neues Submenü schieben" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Bringt die Liste in den Ausgangszustand zurück" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "Lädt die Konfiguration neu. Ungespeicherte Anpassungen gehen dabei *nicht* " "verloren!" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Umbenennen" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Nach oben verschieben" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Nach unten verschieben" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Aus dem Untermenü entfernen" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Neues Untermenü erstellen" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Umgebung wechseln" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Möchten Sie BURG anstelle von GRUB 2 konfigurieren ?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Allgemeine Einstellungen" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Darstellung" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG-Modus" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Konfiguration speichern und eine neue %1 generieren" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Konfiguration wird geladen …" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Lade Skript %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy-Binärdatei nicht gefunden !" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Sie werden alle Einträge (unangepasst) sehen, wenn Sie GRUB ausführen. " "Dieser Fehler tritt (in den meisten Fällen) dann auf, wenn Sie den Grub-" "Customizer nicht korrekt installiert haben." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(hinzukommende Einträge von %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(hinzukommende Einträge)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Die gespeicherte Konfiguration ist nicht aktuell!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Die generierte Konfiguration kommt nicht mit der beim Start abgespeicherten " "gleich - also ist das, was Sie jetzt sehen, eventuell nicht das, was Sie " "sehen, wenn Sie ihren PC neu gestartet haben. Klicken Sie auf \"Update\", um " "das zu beheben !" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Beenden, ohne zu aktualisieren" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Aktualisieren und Beenden" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Möchten Sie ihre Veränderungen speichern ?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Beenden, ohne zu speichern" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Speichern und Beenden" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "UND : Es gibt noch einige ungespeicherte Änderungen, \"update\" wird diese " "auch speichern !" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Speicherung der Konfiguration fehlgeschlagen" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Die Konfiguration kann nicht gespeichert werden" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Siehe Kommandozeilen-Ausgabe. Bitte erstelle einen Bug unter %1 falls du " "denkst, dass es sich um einen Fehler von Grub Customizer handelt. " "Grundsätzlich sollte Grub Customizer solche Fehler verhindern." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 konnte nicht erfolgreich ausgeführt werden. Fehlermeldung :\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Umgebungs-Einstellungen:" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Möchten Sie fortfahren, ohne die aktuelle Konfiguration zu speichern?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Es gibt ungespeicherte Änderungen!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Das Entfernen von Skript-Code kann dazu führen, dass einige Menüeinträge " "nicht mehr korrekt funktionieren. Soll die Aktion trotzdem ausgeführt werden?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Sie versuchen gerade, einen Menü-Eintrag des momentan laufenden Systems zu " "entfernen. Bitte stellen Sie unbedingt sicher, dass es Alternativ-Einträge " "gibt, die funktionieren!\n" "Falls Sie einfach nur alte Kernel entfernen möchten: Grundsätzlich ist es " "besser, diese komplett zu deinstallieren, statt einfach nur deren Bootmenü-" "Einträge auszublenden." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Ein Menüentrag, der im Bootmenü angezeigt wird und ein Betriebssystem " "startet, solald es angeklickt wird." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Eine Gruppe mehrerer Betriebssysteme. Grub zeigt diese als normalen " "Menueintrag an. Bei einem Klick darauf wird jedoch nicht direkt ein " "Betriebssystem gestartet, sondern es wird ein weiteres Menü geladen, welches " "die in dieser Gruppe enthaltenen Menüeinträge anzeigt." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Es gibt 2 Arten dieses speziellen Menüeintrags: hinzukommende Einträge sind " "der Platz, an dem Grub Customizer neue Betriebssysteme platziert, die von " "Grub gefunden aber nicht nicht konfiguriert wurden. Bei Skipt-Code handelt " "es sich hingegen um Code, der von Grub generiert wurde aber nicht nach einem " "normalen Menüeintrag aussieht. Normalerweise dient er dazu, Grub zu " "konfigurieren. Er sollte nur geändert/entfernt werden, wenn die Auswirkungen " "bekannt sind. Platzhalter werden normalerweise nicht angezeigt." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Skripte generieren Menu-Einträge. Jeder Menü-Eintrag ist deshalb mit einem " "Skript verbunden. Wenn aktiviert, bilden sie die höchste Ebene in der Liste " "der Menüeinträge. Im Gegensatz zu Untermenüs werden sie aber dennoch nicht " "im Bootmenü angezeigt." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Information zu den Menüeintrag-Arten" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Sind Sie sicher?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Dies setzt alle Anpassungen des Bootloader-Menüs zurück!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "vor_definiert : " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "vorher _gebooteter Eintrag" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Standardeintrag" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Sichtbarkeit" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "Menü anzeigen" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Kernelparameter" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "Sicherungseinträge generieren" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "Nach anderen Betriebssystemen sehen" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "Auflösung festlegen: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "Einstellungen" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Allgemein" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "E_rscheinungsbild" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "E_rweitert" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "ist aktiv" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Name" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "Wert" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Vorgabe-Menüeintrag nach %1 Sekunden starten" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(erster Eintrag)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(anderer)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Diese Option funktioniert nicht, wenn der \"os-prober\" andere " "Betriebssysteme findet. Schalten Sie \"%1\" aus, wenn Sie die Option, andere " "Betriebsysteme zu booten, nicht benötigen." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second entry" "\" you can use the last option which allows typing a custom reference. Usage " "examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Diese Option ermöglicht es, den Menüeintrag auszuwählen, der bei einem " "Systemstart vorausgewählt werden sollte. Standardmäßig ist dies immer der " "erste Menüeintrag\n" "Diese Option führt dazu, dass immer genau der erste Menüeintrag vorausgewählt bleibt - " "unabhängig davon, was später dort angezeigt wird. " "Die anderen Optionen referenzieren hingegen einen bestimmten Menüeintrag " "anhand des Namens. Ein Verschieben der Menüeinträge führt daher zu keiner " "Veränderung.\n" "\n" "Um andere Varianten einzugeben, z.B. \"wähle immer den 2. Menüeintrag\" dient die letzte Option. " "Diese erleubt die Eingabe einer benutzerdefinierten Referenz. Beispiele:\n" " 1 = \"zeige immer auf den 2. Menüeintrag\" (Zählung beginnt bei 0)\n" " test>0 = \"zeige immer auf den 1. Menüeintrag im Untermenü namens test\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "weiß" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "gelb" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "helles cyan" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cyan" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "hellblau" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "blau" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "hellgrün" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "grün" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "hellmagenta" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "hellrot" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "rot" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "braun" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "hellgrau" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "dunkelgrau" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "Transparent" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "schwarz" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "Datei _laden: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Thema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Hintergrundbild" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Bitte ein Hintergrundbild wählen!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Schriftart" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "Bitte eine Themen-Datei wählen" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Inhalte des Themas" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Einstellungen des benutzerdefinierten Themas" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "normal: Schriftart" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: Hintergrund" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Hervorgehoben: Schriftart" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Hervorgehoben: Hintergrund" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Datei" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Thema hinzufügen" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "Dieses Thema löschen" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Archiv-Dateien" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Alle Dateien" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "Schrift entfernen" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "Hintergrund entfernen" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(benutzerdefinierte Einstellungen)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Die gewählte Datei kann nicht als Thema geladen werden" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Der angegebene Dateiname kann nicht verwendet werden!" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Dieses Thema enthält keine %1. Bitte schaue nach einer Konfigurationsdatei " "und benenne sie um nach \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" "Das Speichern der Themes konnte nicht erfolgreich abgeschlossen werden!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Datei-Ersetzung fehlgeschladen. Bitte wähle zuerst eine Themen-Datei!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "Dateiname" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "Bitte beachte: große Schriften können in Kombination mit niedrigen " "Bildschrim-Auflösungen unbenutzbar machen\n" "Da dieses Problem auch von der Schriftart anhängt, ist es nicht möglich ein " "allgemeines Maximum festzulegen. Daher sollte zunächst eine kleinere Schrift " "gewählt werden, die nach und nach vergrößert wird (zwischendurch immer " "neustarten und prüfen).\n" "Das Problem hängt damit zusammen, dass die GUI-Elemente (Rahmen etc) bei zu " "großer Schrift über den Bildschirm hinausgeht. Solange also noch genug Platz " "frei ist, kann die Schrift schrittweise vergrößert werden. Die Anzahl der " "Menüeinträge ist damit kein Problem. Diese bekommen notfalls einen Scroll-" "Balken.\n" "\n" "Das Problem führt dazu, dass das Bootmenü nicht mehr angezeigt wird - Grub " "hängt sich komplett auf. Für den Notfall sollte also ggf. eine Live-CD " "bereitgehalten werden.\n" "Vorgehensweise im Fehlerfall:\n" " * Schrift-Datei löschen: (MOUNT)/boot/grub/unicode.pf2\n" " * System neustarten (das Menü sollte nun wieder mit der normalen Schrift " "angezeigt werden)\n" " * die Datei /etc/default/grub mit root-Rechten öffnen und ein '#' vor die " "Zeile platzieren, die mit GRUB_FONT beginnt\n" " * Grub Customizer ausführen und eine besser funktionierende Schrift-Art/" "Größe wählen" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub-Schriftarten können unter Umständen gefährlich sein (Information)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Bist du sicher, dass dieses Thema entfernt werden soll?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Alternativ zur einfachen Theming-Methode, welche ein paar Optionen wie " "Farbe, Hintergrundbild und Schrift bietet, können auch komplexe Themen-" "Pakete installiert werden, um ein noch besser aussehendes Bootmenü zu " "erhalten.\n" "\n" "Es gibt mehrere Quellen, z.B. diesen Thread auf ubuntuforums.org:\n" "%1 (Account notwendig)\n" "oder eine Suche nach '%2' unter %3\n" "\n" "Einfach ein Paket herunterladen (in den meisten Fällen eine tar.gz-Datei) " "und zur Liste verfügbarer Themen hinzufügen - durch die Benutzung des " "Hinzufügen-Buttons neben der Themen-Auswahl.\n" "\n" "Nach der Änderung des Themas, wird ein einfacher Editor angezeigt, welcher " "eine Vorschau diverser Dateien und Bilder anzeigt sowie einfaches Datei-" "Management ermöglicht. Geänderte Inhalte werden gespeichert, sobald der " "Speichern-Button gedrückt wird." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Menü-Eintrag aus dem Papierkorb wiederherstellen" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Entfernte Inhalte" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "Wiederherstellen" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "gewählte Einträge wiederherstellen" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "gewählte Einträge permanent entfernen" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "Einträge permanent entfernen - nur bei benutzerdefinierten Einträgen möglich" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Die folgenden Menü-Einträge werden durch diese Aktion gelöscht:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader (Lädt andere Bootloader)" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Speichertest" grub-customizer-5.1.0/translation/translation-pl.po0000644000175000017500000006020413360360026021776 0ustar danieldaniel# Polish translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-02-04 10:52+0000\n" "Last-Translator: Marcin Mikołajczak \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nazwij wpis" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "nie można przenieść tego wpisu" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Zapisano konfigurację" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "Aktualizacja konfiguracji" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer to graficzny interfejs do konfiguracji ustawień grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "skrypt" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "podmenu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "zastępczo" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "wpismenu" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "skrypt: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "nazwa domyślna: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partycja: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Obraz ISO: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Obraz Memtest: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "obecny" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Typ:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Sekwencja uruchamiania" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nazwa:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Wystąpił błąd podczas tworzenia sekwencji uruchamiania.\n" "Sprawdź parametry" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Edycja wpisu" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Wybierz..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Inne" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(kod skryptu)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Wybierz plik.." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partycja" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "Początkowy dysk ram" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Obraz _Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Obraz _Memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Ścieżka pliku iso" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kernel - parametry" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "Obraz I_SO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "Obraz _Memtest" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partycja" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Podpounkty montowania:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "zapisz obecną konfigurację" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Montowanie nie powiodło się!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Odmontowanie nie powiodło się!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "To nie jest system plików root (nie znaleziono fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nie udało się zamontować wybranej partycji" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nie można odmontować wybranej partycji" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Wystąpił błąd" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "proszę poinformuj autora o tym problemie: Poniższe informacje mogą być " "pomocne:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "kontynuuj (ryzyko utraty danych)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instaluje program rozruchowyw MBR i umieszcza\n" "pliki w katalogu danych programu rozruchowego\n" "(jeżeli nie istnieją)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Urządzenie: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalacja w MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Program rozruchowy został zainstalowany pomyślnie" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Błąd w czasie instalacji programu rozruchowego" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Instalacja programu rozruchowego..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Prosze wpisać ciąg dla urzadzenia" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Plik" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Edycja" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Widok" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Pomoc" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instalacja w MBR" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "Pokaż _szczegóły" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "_Pokaż ukryte elementy" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Grupuj według skryptu" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "_Pokaż symbole zastępcze" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Znaleziono BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "ustawienia zaawansowane" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Dokonane modyfikacje mają wpływ na widoczne wpisy. Proszę załadować ponownie!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "Znaleziono aktualizacje skryptu. Naciśnij Zapisz aby zapisać zmiany!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "Konfiguracja _listy" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Usuń wybrane wpisy (można je przywrócić z kosza)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Przenieś w górę wybraną pozycję lub skrypt" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Przenieś w dół wybraną pozycję lub skrypt" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "usuń ten wpis z tego podmenu" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "dodaj ten wpis do nowego podmenu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Przywróć domyślną kolejność listy" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "załaduj konfigurację ponownie. Niezapisane zmiany zostaną zachowane" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Zmień nazwę" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Przesuń w górę" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Przesuń w dół" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Przenieś do podmenu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Utwórz podmenu" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Zmiana środowiska" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Skonfigurować BURG zamiast grub2" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Ustawienia o_gólne" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Ust_awienia wyglądu" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Tryb BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Zapisz konfigurację i generuj nowy %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "ładowanie konfiguracji..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "ładowanie skryptu %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Nie znaleziono binarnego Proxy!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Zobaczysz wszystkie wpisy (niedostosowane), gdy uruchomisz grub. Ten błąd " "występuje (najczęściej), jeżeli nie zainstalowano poprawnie grub customizer." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(następne wpisy %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(następne wpisy)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Zapisana konfiguracja jest przestarzała!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Wygenerowana konfiguracja jest inna niż konfiguracja zapisana podczas " "uruchomienia. Widniejąca konfiguracja może być inna podczas restartu " "komputera. W celu naprawy kliknij aktualizację!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Zamknij bez aktualizacji" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Aktualizuj i zamknij" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Zapisać zmiany?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Zamknij bez zapisywania" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "Zapi_sz i zamknij" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "Modyfikacje nie są zapisane, aktualizacja zapisze zmiany!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Nie udało się zapisać konfiguracji GRUB!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Konfiguracja nie może zostać zapisana" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "Nie udało się uruchomić %1. Komunikat błędu: \n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Ustawienia środowiskowe" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Kontynuować bez zapisywania obecnej konfiguracji?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Istnieją nie zapisane zmiany!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Usunięcie kodu skryptu, może powodować problemy z wpisami od niego " "zależnymi. Kontynuować mimo to?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Próbujesz usunąć wpis aktualnie uruchomionego systemu. Upewnij się, że są " "inne działające wpisy tego systemu!\n" "Jeżeli chcesz usunąć stare wersje jądra: Lepszym rozwiązaniem jest ich " "odinstalowanie niż tylko ukrycie ich w menu boot." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Element menu który jest dostępny w menu GRUB i uruchamia system operacyjny " "kiedy jest aktywny." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "O rodzajach wpisów" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Na pewno?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Powoduje usunięcie wszystkich modyfikacji menu bootloadera!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "wstępnie z_definiowane: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "poprzednio _bootowany wpis" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "domyślny wpis" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "widoczność" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "pokaż menu" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "ustawienia kernela" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "utwórz wpisy odzyskiwania" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "szukaj innych systemów operacyjnych" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "własna rozdzielczość: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "ustawienia" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "O_gólne" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "W_ygląd" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "Z_aawansowane" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "jest aktywne" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "nazwa" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "wartość" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Uruchom domyślny wpis po %1 sekundach" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(pierwszy element)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(inne...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Ta opcja nie działa, gdy skrypt \"os-prober\" znajdzie inne systemy " "operacyjne. Wyłącz \"%1\", jeżeli nie potrzebujesz uruchamiać innych " "systemów operacyjnych." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "biały" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "żółty" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "jasny cyjan" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cyjan" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "jasno-niebieski" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "niebieski" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "jasno-zielony" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "zielony" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "jasny-czerwony" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "jasno-czerwony" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "czerwony" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "brązowy" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "jasno-szary" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "ciemno-szary" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "przezroczystość" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "czarny" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "Ł_aduj plik " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Motyw:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "obrazek tła" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Wybierz obraz tła" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Czcionka" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "wybierz plik z motywem" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Zawartość motywu" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Niestandardowe ustawienia motywu" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normalne: czcionka" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normalne: tło" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Wyróżnienie: czcionka" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Wyróżnienie: tło" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Plik" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "dodaj motyw" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "usuń ten motyw" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Pliki archiwów" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Wszystkie pliki" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "usuń czcionkę" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "usuń tło" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Niestandardowe ustawienia)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Ten plik nie może zostać załadowany jako motyw" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Ta nazwa pliku nie może zostać użyta" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Ten motyw nie zawiera %1. Zajrzyj do pliku konfiguracyjnego i zmień nazwę na " "\"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Zapisywanie motywów zakończone niepowodzeniem!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Zastąpienie pliku nieudane. Proszę wybrać plik motywu!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "nazwa pliku" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Czcionki w GRUB-ie mogą być szkodliwe (informacje)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Czy na pewno chcesz usunąć ten motyw" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Dodaj wpis z kosza" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Usunięte elementy" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "P_rzywróć" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Przywróć zaznaczone wpisy" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Bezpowrotnie usuwa zaznaczone wpisy" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "usuwa elementy nieodwracalnie - ta akcja jest dostępna tylko przy " "niestandardowych wpisach" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Powoduje usunięcie następujących wpisów:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-ar.mo0000644000175000017500000001116213360360026021761 0ustar danieldaniel1C,89K P \h%& %M qZ  &$(M\bs96.I@8   #5LfnX* ' 6 M      35 >i  ;  F K    5 2L ;   " , i(f!2^NH  (0 9FHN#(3 %%{KR ;X1 0%. *!# -( ,/&$+" ')An error occurredBURGBURG found!ChainloaderConfiguration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionEntry editorError while installing the bootloaderGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRLinuxLinux-ISOMemtestMount failed!Move down the selected entry or scriptMove up the selected entry or scriptName the EntryOtherPath to iso filePlease type a device string!Remove selected entries (you can restore them from trash)Script updates found. Click save to apply the changes!Submountpoints:The bootloader has been installed successfullyThe modifications you've done affects the visible entries. Please reload!This seems not to be a root file system (no fstab found)_Device: _Edit_File_Help_Partition_Partition:_Type:_Viewadd this entry to a new submenuadvanced settingscannot move this entrycontinue (risk data loss)currentinstalling the bootloader…please Inform the author about this problem. The following information could be helpful:remove this entry from the current submenusave this configurationumount failed!updating configurationProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: thamermousa Language-Team: Arabic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) حدث خطأ ماBURGالعثور BURG!Chainloader-لودر سلسلةتم حفظ الإعدادغير قادر على ضم القسم المحددغير قادر على إلغاء ضم القسم المحددمحرر المدخلاتحدث خطأ أثناء تثبيت محمل الإقلاعGRUB2مُعدّل GRUB هو واجهة رسومية لإعداد GRUB2\burgثبّت محمل الإقلاع إلى MBR وضع بعض الملفات في مجلد بيانات محمل الإقلاع (لو لم تكن موجودة)ثبت إلى MBRلينكسلينكس-آيزواختبارالذاكرةفشل في الضم !تتحرك نزولا أو النصي المحددتتحرك صعودا دخول أو النصي المحدداسم الدخولأخرىالمسار لملف الآيسويرجى كتابة سلسلة الجهاز!إزالة الإدخالات المحددة (يمكنك استعادتها من سلة المهملات)العثور على تحديثات النصي. انقر فوق حفظ لتطبيق التغييرات!نقاط الضم الفرعية:تم تثبيت محمل الإقلاع بنجاحالتعديلات قمت به يؤثر على إدخالات مرئية. يرجى تحميل!يبدو أنه ليس نظام الجذر (لم يُعثرعلى fstab)ال_جهاز: _تحرير_ملف_مساعدة_قسم_قسم:ال_نوع:_عرضإضافة هذا الإدخال إلى قائمة فرعية جديدةالإعدادات المتقدمةلا يمكن نقل هذا الدخولاستمر (مخاطرة لفقد البيانات)الحاليتثبيت محمل الإقلاع...الرجاء إبلاغ المؤلف عن هذه المشكلة. قد تكون المعلومات الأتية مفيدة :إزالة هذا الإدخال من القائمة الفرعية الحاليةحفظ هذه الإعداداتفشل إلغاء الضم !تحديث الإعدادgrub-customizer-5.1.0/translation/translation-hr.po0000644000175000017500000006734513360360026022011 0ustar danieldaniel# Croatian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-05-14 08:15+0000\n" "Last-Translator: gogo \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" "Language: hr\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Naziv unosa" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "Nemoguće je pomaknuti ovaj unos" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Postavke su spremljene" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "Nadopuna postavki" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub prilagoditelj je grafičko sučelje za podešavanje Grub2/Burg postavki" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "Skripta" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "Podizbornik" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "Rezervirano mjesto" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "Unos izbornika" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "Skripta: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "Zadani naziv: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "Particija: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-slika: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-slika: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "Trenutno" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Vrsta:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Redoslijed pokretanja" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Naziv:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Greška izgradnje redoslijeda pokretanja.\n" "Provjerite parametre!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Uređivač unosa" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Odaberi..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Ostalo" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(Kôd skripte)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Odaberi datoteku…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Particija" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Ramdisk pokretanja" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux slika" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest slika" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Putanja do iso datoteke" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parametri kernela" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO slika" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-slika" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Particija:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Točke-podmontiranja:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "Spremi ova podešavanja" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Montiranje nije uspjelo!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Demontiranje nije uspjelo!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Čini se da ovo nije korijenski (root) datotečni sustav (fstab nije pronađen)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nemoguće montiranje odabrane particije" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nemoguće demontiranje odabrane particije" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Greška se dogodila" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Obavijestite autora o ovom problemu. Sljedeće informacije bi mogle pomoći:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "Nastavi (rizik gubitka podataka)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instaliraj učitač pokretanja u MBR i stavi nešto\n" "datoteka u direktorij podataka učitača pokretanja\n" "(ako već ne postoje)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Uređaj: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instaliraj u MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Učitač pokretanja je instaliran uspješno" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Pogreška tijekom instalacije učitača pokretanja" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Instaliranje učitača pokretanja..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Molim utipkajte niz uređaja!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Datoteka" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Uredi" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Prikaz" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Pomoć" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instaliraj u MBR …" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Prikaži pojedinosti" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Prikaži _skrivene unose" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Razvrstaj prema skripti" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Prikaži _rezervirana mjesta" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG pronađen!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Napredne postavke" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Promjene koje ste učinili zahvaćaju vidljive unose. Ponovno učitajte!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Nadopune skripte su pronađena. Kliknite 'Spremi' za primjenjivanje promjena!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Popis podešavanja" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Ukloni odabrane unose (možete ih vratiti iz smeća)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Pomaknite gore odabrani unos ili skriptu" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Pomaknite dolje odabrani unos ili skriptu" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Ukloni ovaj unos iz trenutnog podizbornika" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Dodaj ovaj unos na novi podizbornik" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Vraća popis na zadani redoslijed" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Ponovno učitaj podešavanje. Nespremljene promjene će biti sačuvane." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Preimenuj" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Pomakni gore" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Pomakni dolje" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Ukloni iz podizbornika" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Stvori podizbornik" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Promjeni okruženje …" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Želite li podesiti BURG umjesto Gruba2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Opće postavke" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Postavke izgleda" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG način" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Spremi podešavanje i stvori novi %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Učitavanje postavki..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Učitavanje skripte %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy binaran nije pronađen!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Vidjet ćete sve unose (neprilagođene) kada pokrenete Grub. Ova greška " "nastaje (u većini slučaja), kada Grub prilagoditelj nije ispravno instaliran." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Nadolazeći unos od %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Nadolazeći unos)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Spremljene postavke nisu nadopunjene!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Stvorene postavke nisu jednake spremljenim postavkama prilikom pokretanja. " "Stoga ono što vidite sada možda nećete vidjeti nakon ponovnog pokretanja " "računala. Kako bi to popravili, kliknite na nadopunjavanje!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Zatvori bez nadopunjavanja" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Nadopuni i zatvori" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Želite li spremiti izmjene?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Zatvori bez spremanja" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Spremi i zatvori" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "I: vaše promjene još uvijek nisu spremljene, nadopunjavanje će spremiti i " "njih!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Neuspjelo spremanje grub podešavanja!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Grub podešavanje ne može biti spremljeno" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Pogledajte ispis naredbenog redka ispod. Ako mislite da je ovo greška Grub " "prilagoditelja, napravite jedan na %1! Uobičajeno Grub prilagoditelj bi " "trebao spriječiti greške poput ove." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 ne može se pokrenuti uspješno. Poruka greške:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Postavke okruženja" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Želite li nastaviti bez spremanja trenutnih podešavanja?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Postoje nespremljene promjene!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Uklanjanje kôda skripte može prouzročiti probleme kada pokušavate pokrenuti " "unose koji ovise o toj skripti. Sigurno to želite učiniti?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Pokušavate ukloniti unos trenutno pokrenutog sustava. Budite sigurni da " "postoje drugi radni unosi ovog sustava!\n" "Ako samo želite ukloniti stare kernele, najbolji način je da ih " "deinstalirate umjesto da ih samo sakrijete u izborniku pokretanja." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Unos izbornika koji je vidljiv u grub izborniku i koji pokreće operativni " "sustav kada je aktivan." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Grupa operativnih sustava. Grub ih prikazuje kao normalne unose izbornika, " "ali kada kliknete na njih otvara se drugi izbornik koji vam dopušta izbor " "pojedinog unosa izbornika." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Postoje dvije vrste posebnih unosa: Nadolazeći unos je mjesto gdje Grub " "prilagoditelj smješta novi operativni sustav koji je pronašao grub ali još " "uvijek nije prilagođen pomoću Grub prilagoditelja. Kôd skripte je kôd " "stvoren pomoću gruba koji ne izgleda kao unos izbornika. U većini slučajeva " "koristi se za prilagodbu gruba. Trebali bi ga koristiti samo kada znate čemu " "služi. Rezervirana mjesta su skrivena po zadanome." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Skripte stvaraju unose izbornika. Stoga svaki unos izbornika pripada " "skripti. Oni su prikazani kao i ostale grupe kada su aktivirane. Međutim u " "usporedbi s podizbornicima oni nisu prikazani u izborniku pokretanja sustava." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "O vrsti unosa" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Jeste li sigurni?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Ovo će ukloniti sve vaše promjene popisa izbornika učitača pokretanja!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "Pred_definirano: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "Prije _učitan unos" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Uobičajeni unos" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Prikaz" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "Prikaži izbornik" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Parametri kernela" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "Stvori unos obnavljanja" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "Potraži druge operativne sustave" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "Prilagođena razlučivost: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "Postavke" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Općenito" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "I_zgled" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Napredno" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "Aktivno" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Naziv" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "Vrijednost" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Pokreni zadani unos nakon %1 sekunda" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(Prvi unos)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(Drugo…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Ova mogućnost ne radi kada \"os-prober\" skripta traži ostale operativne " "sustave. Onemogući \"%1\" ako ne trebate pokrenuti ostale operativne sustave" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Ova mogućnost vam omogućuje odabir operativnog sustava koji bi se trebao " "pokrenuti pri pokretanju računala. Prema zadanom to je uvijek prvi unos. Ova " "mogućnost znači da će zadani odabir unosa ostati isti pri dodavanju drugog " "operativnog sustava.\n" "\n" "U usporedbi s prvom mogućnosti ostali odabiri su odabrani prema nazivu. " "Stoga se zadani sustav ne mijenja kada se pomakne na drugi položaj.\n" "\n" "Ako želite koristiti drugi odabir poput \"always point to the second entry\" " "možete koristiti zadnju mogućnost koja omogućuje prilagođeno upisivanje " "unosa. Primjeri upotrebe:\n" " 1 = \"always point to the second entry\" (brojenje počinje od 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "bijela" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "žuta" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "svijetlo-modra" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "modra" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "svijetlo-plava" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "plava" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "svijetlo-zelena" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "zelena" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "svijetlo-ljubičasta" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "ljubičasta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "svijetlo-crvena" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "crvena" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "smeđa" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "svijetlo-smeđa" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "tamno-siva" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "prozirno" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "crna" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Učitaj datoteku: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Slika pozadine" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Odaberite sliku pozadine!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Slova" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "Odaberi datoteku teme" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Sadržaj teme" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Prilagođene postavke teme" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Uobičajeno: slova" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Uobičajeno: pozadina" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Istaknuto: slova" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Istaknuto: pozadina" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Datoteka" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Dodaj temu" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "Obriši ovu temu" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Arhivirane datoteke" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Sve datoteke" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "Ukloni slova" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "Ukloni pozadinu" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Prilagođene postavke)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Odabrana datoteka ne može biti učitana kao tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Zadani naziv datoteke ne može se koristiti" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Ova tema ne sadrži %1. Pogledajte datoteku podešavanja i preimenujte ju u " "\"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Spremanje teme nije u potpunosti uspjelo!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Zamjena datoteke neuspjela. Odaberite prvo datoteku teme!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "Naziv datoteke" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "Napomena: velika slova na niskoj razlučivosti zaslona pokretanja sustava " "mogu pokvariti zaslon pokretanja sustava\n" "Zbog toga što taj problem ovisi o odabranim slovima, nije moguće odrediti " "najviši maksimum. Kada pokušavate odabrati veća slova, učinite to postepeno " "(ponovnim pokretanjem sustava i provjerom rezultata).\n" "Problem nastaje kada elementi grub grafičkog sučelja (gui) (rubovi, opisi) " "ne pristaju na zaslon. Stoga dok postoji dovoljno okomitog prostora možete " "postaviti veća slova. Mnogobrojnost unosa izbornika nije problem - oni se " "pomiču ako je potrebno.\n" "\n" "Rezultati kvara beskonačnog učitavanja gruba2. Kako bi to popravili potreban " "vam je live cd:\n" " * obrišite slova iz (MOUNT)/boot/grub/unicode.pf2\n" " * ponovno pokrenite vaš sustav (izbornik bi se trebao pojaviti sa " "uobičajenim slovima)\n" " * otvorite /etc/default/grub sa 'root' dozvolama i dodajte '#' na početak " "redka koji sadrži GRUB_FONT\n" " * zatim pokrenite Grub prilagoditelja za odabir slova koji ste koristili " "prije" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub slova mogu biti štetna (informacije)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Sigurno želite ukloniti ovu temu?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Alternativno jednostavnom načinu odabira teme koja pruža neke mogućnosti " "poput boje, slike pozadine i slova, možete instalirati kompleksnije pakete " "tema da bi dobili bolji izgled izbornika pokretanja sustava.\n" "\n" "Postoji nekoliko izvora preuzimanja poput ovog na ubuntuforums.org:\n" "%1 (potreban je račun)\n" "ili potražite '%2' na %3\n" "\n" "Jednostavno preuzmite paket (koji je u tar.gz formatu u većini slučajeva) i " "dodajte ga na popis dostupnih tema koristeći tipku za dodavanje koja se " "nalazi pokraj odabira tema.\n" "\n" "Nakon promjene teme vidjet ćete jednostavan uređivač koji vam daje pregled " "slika i omogućuje jednostavno upravljanje datotekama. Sadržaj promijenjene " "teme biti će spremljen kada pritisnete tipku spremanja." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Dodaj unos iz smeća" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Uklonjene stavke" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Vrati" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Vrati odabrane unose" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Trajno obriši odabrane unose" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "Obriši unose trajno - ova radnja je dostupna samo na prilagođenim unosima" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Ovo briše sljedeće unose:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-kk.po0000644000175000017500000005247513360360026022003 0ustar danieldaniel# Kazakh translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Kazakh \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Мәзір пунктың аты" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "осы мәзір пунктын жылжыту мүмкін емес" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Баптаулама сақталынды" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "баптауламаны жаңарту" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer - grub2 мен burg баптауларын қалыпқа келтіру графикалық " "интерфейсі" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Бөлім" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "осы баптауламаны сақтау" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Тіркеу сәтсіз аяқталды!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "тіркеуден босату сәтсіз аяқталды!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Мүмкін бұл түбірлі (/) бөлім емес шығар (fstab табылмады)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Таңдалған диск бөлімін тіркеу мүмкін емес" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Таңдалған диск бөлімін тіркеуден босату мүмкін емес" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Қате пайда болды" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "Құ_рылғы: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "MBR-ға орнату" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Жүктегіш сәтті орнатылды" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Жүктегіш орнату кезінде қате туындады" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "жүктегіш орнатылуда..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Құрылғы орналасуын көрсетіңіз!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Файл" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "Тү_зету" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "Сырт _көрініс" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Көмек" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "MBR-ға _орнату..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG табылды!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Атын өзгерту" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Жоғары жылжыту" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Төмен жылжыту" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Grub2 орнына BURG қалыпқа келтіруін қалайсыз ба?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Ба_сты баптаулар" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Сыртқы бейнелену баптаулары" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG режимі" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "баптауламаны оқу..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Екілік прокси файлы табылған жоқ!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Сақталынған баптаулама ескерді!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "Жаңартпай _шығу" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Жаңартып шығу" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Өзгерістеріңізді сақтау қажет пе?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "Сақтамай _шығу" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Сақтап шығу" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "қалыптысы" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "көрінетін" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "мәзірді көрсету" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "мәзірге жүйені қайта қалыпқа келтіру режимдер пункттерін қосу" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "басқа операциялық жүйелерді іздеу" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "өзіндік экран өлшемдер қатынасы: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "баптаулар" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Негізгі" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "Сырт _көрініс" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "Кеңейтіл_ген" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "мән" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "ақ" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "сары" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "ашық-көгілдір" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "көгілдір" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "ашық-көк" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "көк" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "ашық-жасыл" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "жасыл" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "ашық-қара қошқыл" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "қара қошқыл" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "ашық-қызыл" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "қызыл" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "қоңыр" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "ашық-қоңыр" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "қара-сұр" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "мөлдір" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "қара" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "фон суреті" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "фон суретін алып тастау" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-eu.po0000644000175000017500000005416213360360026022002 0ustar danieldaniel# Basque translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Izendatu sarrera" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "ezin da sarrera hau mugitu" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Konfigurazioa gorde da" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "konfigurazioa eguneratzen" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer grub2/burg-en ezarpenak konfiguratzeko interfaze grafiko bat " "da" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "azpi-menua" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "leku-marka" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "menu-sarrera" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "unekoa" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Mota:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Sarrera-editorea" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Bestelakoa" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(script kodea)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partizioa" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux irudia" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Iso fitxategirako bidea" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Nukleoaren parametroak" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partizioa:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "gorde konfigurazio hau" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Muntaketak huts egin du!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "desmuntaketak huts egin du!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Hau root fitxategi-sistema bat dela dirudi (ez da fstab-ik aurkitu)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Ezin izan da muntatu hautatutako partizioa" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Ezin izan da desmuntatu hautatutako partizioa" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Errore bat gertatu da" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "mesedez jakinarazi arazo hau autoreari. Informazio hau lagungarri izan " "daiteke:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "jarraitu (datuak galtzeko arriskua)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instalatu abioko kargatzailea MBR-n eta jarri zenbait\n" "fitxategi abioko kargatzailearen datu direktorioan\n" "(dagoeneko existitzen ez badira)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Gailua: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalatu MBR-n" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Abioko kargatzailea behar bezala instalatu da" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Errorea abioko kargatzailea instalatzean" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "abioko kargatzailea instalatzen..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Mesedez, idatzi gailuaren izena!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Fitxategia" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Editatu" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Ikusi" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Laguntza" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instalatu MBR-n" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG aurkitu da!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "ezarpen aurreratuak" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Egin dituzun aldaketek ikusgai dauden sarrerak aldatzen dituzte. Mesedez " "birkargatu!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Kendu hautatutako sarrerak (zakarrontzitik lehenera ditzakezu)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Mugitu gorantz hautatutako sarrera edo script-a" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Mugitu beherantz hautatutako sarrera edo script-a" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "kendu sarrera hau uneko azpimenutik" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "gehitu sarrera hau azpimenu berri bati" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "konfigurazioa kargatzen du. Gorde gabeko aldaketak mantenduko dira." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Berrizendatu" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Eraman gora" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Eraman behera" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Kendu azpi-menutik" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Sortu azpi-menua" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Aldatu ingurunea..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "BURG konfiguratu nahi duzu grub2-ren ordez?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Ezarpen orokorrak" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Itxuraren ezarpenak" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG modua" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "konfigurazioa kargatzen..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Ez da proxy binariorik aurkitu!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Sarrera guztiak ikusiko dituzu (pertsonalizatu gabe) grub abiatzean. Errore " "hau gertatzen da (kasu gehienetan) Grub Customizer behar bezala instalatzen " "ez denean." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Gordetako konfigurazioa ez dago eguneratuta!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Sortutako konfigurazioa ez da abioan gordetako konfigurazioaren berdina. " "Ondorioz, baliteke orain ikusten duzuna eta ordenagailua berrabiaraztean " "ikusiko duzuna bat ez etortzea. Hau konpontzeko, sakatu eguneratu!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Irten eguneratu gabe" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Eguneratu eta irten" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Egindako aldaketak gorde nahi dituzu?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Irten gorde gabe" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Gorde eta irten" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "ETA: zure aldaketak oraindik gorde gabe daude, eguneraketak gordeko ditu " "hauek ere!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "Ezin izan da %1 behar bezala exekutatu. errore mezua:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Ingurune ezarpenak" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Uneko konfigurazioa gorde gabe jarraitu nahi duzu?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Gorde gabeko aldaketak daude!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Ziur zaude?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "aurre_definitua: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "aurretik _kargatutako sarrera" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "sarrera lehenetsia" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "ikusgarritasuna" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "erakutsi menua" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "nukleoaren parametroak" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "sortu berreskuratze sarrerak" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "bilatu beste sistema eragileak" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "bereizmen pertsonalizatua: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "ezarpenak" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Orokorra" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Itxura" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Aurreratua" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "aktibo dago" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "izena" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "balioa" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Aukera honek ez du funtzionatzen \"os-prober\" script-ak beste sistema " "eragileak aurkitzen dituenean. Desgaitu \"%1\" beste sistema eragilerik " "erabili behar ez baduzu." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "zuria" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "horia" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "zian argia" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "ziana" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "urdin argia" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "urdina" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "berde argia" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "berdea" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "magenta argia" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "gorri argia" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "gorria" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "marroia" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "gris argia" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "gris iluna" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "gardena" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "beltza" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "atzeko planoko irudia" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "kendu letra-tipoa" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "kendu atzeko planoa" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Gehitu sarrera zakarrontzitik" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Honek sarrera hauek ezabatzen ditu:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "" grub-customizer-5.1.0/translation/translation-nl.po0000644000175000017500000007205413360360026022002 0ustar danieldaniel# Dutch translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-05-17 14:48+0000\n" "Last-Translator: rob \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Geef de opstartkeuze een naam" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "kan deze opstartkeuze niet verplaatsen" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Configuratie is opgeslagen" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "configuratie bijwerken" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer is een grafische gebruikersinterface om de grub2/burg-" "instellingen te configureren" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "submenu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "placeholder" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "opstartkeuzemenu" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "standaardnaam: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partitie: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-imagebestand: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-imagebestand: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "huidige" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Type:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Opstartvolgorde" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Naam:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Fout bij instellen van de opstartvolgorde.\n" "Controleer de parameters!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Opstartkeuze-editor" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Selecteren…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Anders" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(scriptcode)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Bestand selecteren…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partitie" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Initiële ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux-imagebestand" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest-imagebestand" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Pad naar ISO-bestand" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kernel-parameters" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO-imagebestand" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-imagebestand" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partitie:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Sub-aankoppelpunten:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "deze configuratie opslaan" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Aankoppelen mislukt!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Ontkoppelen mislukt!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Dit lijkt geen root-bestandssysteem te zijn (geen fstab gevonden)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Kon de geselecteerde partitie niet aankoppelen" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Kon de geselecteerde partitie niet ontkoppelen" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Er is een fout opgetreden" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Informeer a.u.b. de ontwikkelaar over dit probleem. Wilt u a.u.b. de " "volgende informatie toevoegen, indien mogelijk:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "doorgaan (kans op dataverlies)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Installeer de opstartlader in MBR en voeg enkele\n" "bestanden toe aan de opstartladerdatamap\n" "(als deze niet reeds aanwezig zijn)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "A_pparaat: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Installeren in MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "De opstartlader is succesvol geïnstalleerd" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Fout bij het installeren van de opstartlader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "De opstartader wordt geïnstalleerd…" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Voer een apparaat in!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Bestand" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "Be_werken" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "Beel_d" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Hulp" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Installeren in MBR …" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "Details _tonen" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "_Verborgen opstartkeuzes tonen" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Groeperen op script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "_Placeholders tonen" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG gevonden!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "geavanceerde instellingen" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "De wijzigingen die u heeft gemaakt hebben effect op de bestaande " "opstartkeuzes. Wilt u a.u.b. herladen!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Er zijn scriptupdates gevonden. Klik op Opslaan om de wijzigingen toe te " "passen!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Lijstconfiguratie" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Geselecteerde opstartkeuzes verwijderen (u kunt deze weer terugzetten vanuit " "de prullenbak)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Opstartkeuze of script omhoog verplaatsen" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Opstartkeuze of script omlaag verplaatsen" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "deze opstartkeuze uit het huidige submenu verwijderen" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "deze opstartkeuze aan een nieuw submenu toevoegen" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Herstelt de lijst naar de oorspronkeijke volgorde" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "herlaadt de configuratie. Niet opgeslagen wijzigingen zullen opgeslagen " "worden." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Hernoemen" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Omhoog verplaatsen" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Omlaag verplaatsen" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Uit submenu verwijderen" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Submenu aanmaken" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "Omgeving _wijzigen …" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Wilt u BURG configureren in plaats van grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Al_gemene instellingen" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Weergave-instellingen" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG-modus" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Configuratie opslaan en een nieuwe %1 genereren" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "configuratie wordt geladen…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Script %2/%3 (%1) laden" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy binary niet gevonden!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Wanneer u grub start zult u alle opstartkeuzes (onaangepast) te zien " "krijgen. Deze fout doet zich (in de meeste gevallen) voor, wanneer grub " "customizer onjuist is geïnstalleerd." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(inkomende opstartkeuzes van %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(inkomende opstartkeuzes van)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "De opgeslagen configuratie is niet up-to-date!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "De gegenereerde configuratie is niet gelijk aan de opgeslagen configuratie " "bij het opstarten. Dus wat u nu ziet hoeft niet noodzakelijkerwijs hetzelfde " "te zijn wat u zult zien wanneer u uw pc herstart. Om dit te herstellen, " "klikt u op Bijwerken!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "A_fsluiten zonder bij te werken" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Bijwerken & afsluiten" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Wilt u uw wijzigingen opslaan?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "A_fsluiten zonder op te slaan" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "Op_slaan & afsluiten" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "EN: uw wijzigingen zijn niet opgeslagen, door bij te werken zullen de " "wijzigingen ook opgeslagen worden!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Opslaan van grub-configuratie is mislukt!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "De grub-configuratie kon niet opgeslagen worden" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Contoleer a.u.b. het opdrachtregelresultaat hieronder. Als u denkt dat dit " "een fout is in Grub Customizer, maak dan een melding op %1! Normaal zou Grub " "Customizer fouten als deze moeten voorkomen." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 kon niet uitgevoerd worden. foutmelding:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Omgevingsinstellingen" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Wilt u doorgaan zonder de huidige configuratie op te slaan?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Er zijn wijzigingen gemaakt die niet opgeslagen zijn!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Het verwijderen van scriptcode kan problemen veroorzaken wanneer een " "opstartkeuze hiervan afhankelijk is. Weet u zeker dat u toch door wilt gaan?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "U probeert een opstartkeuze van het momenteel draaiende systeem te " "verwijderen. Zorg ervoor dat er nog andere opstartkeuzes voor dit systeem " "beschikbaar zijn!\n" "Indien u alleen oude kernels wilt verwijderen, dan kunt u deze beter " "verwijderen in plaats van ze te verbergen in het opstartmenu." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Een opstartkeuze die zichtbaar is in het grub-menu, en een besturingssysteem " "opstart wanneer het geactiveerd wordt." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Een groep andere besturingssystemen. Deze wordt getoond door grub als een " "normale opstartkeuze, wanneer u er echter op klikt zal er een ander menu " "geladen worden, waarin u een van de weergegeven opstartkeuzes kunt " "selecteren." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Er zijn twee types speciale opstartkeuze: Inkomende opstartkeuzes, dit is de " "locatie waar Grub Customizer nieuwe besturingssystemen plaatst die gevonden " "worden door grub, maar die nog niet geconfigureerd zijn om door Grub " "Customizer gebruikt te worden. De scriptcode, dit is code gegenereerd door " "grub, maar die er niet uitziet als een menuopstartkeuze. In de meeste " "gevallen wordt het gebruikt om grub te configureren. U zou hier eigenlijk " "alleen aan moeten komen als u weet wat u doet. Placeholders worden standaard " "verborgen." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Scripts genereren opstartkeuzes. Dus elke opstartkeuze hoort bij een script. " "Ze worden weergegeven als topniveaugroepen wanneer ze geactiveerd worden. In " "tegenstelling tot submenu's worden ze echter niet weergegeven in het " "opstartmenu." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Info over opstartkeuzetypes" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Weet u het zeker?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Uw wijzigingen aan het opstartladermenu zullen niet opgeslagen worden!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "vooringestel_d: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "vorige opge_starte opstartkeuze" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Standaardopstartkeuze" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Zichtbaarheid" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "menu tonen" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Kernel-parameters" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "herstelopstartkeuzes genereren" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "zoek naar andere besturingssystemen" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "aangepaste resolutie: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "instellingen" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "Al_gemeen" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "Wee_rgave" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "Ge_avanceerd" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "is actief" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "naam" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "waarde" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Standaardopstartkeuze opstarten na %1 seconden" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(eerste opstartkeuze)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(ander…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Deze optie werkt niet wanneer het script \"os-prober\" andere " "besturingssytemen vindt. Schakel \"%1\" uit wanneer u geen andere " "besturingssytemen gaat gebruiken." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Met deze optie kunt u het besturingssysteem selecteren om mee op te starten. " "Standaard is dit altijd de eerste. Bij deze optie blijft de " "standaardopstartkeuze dezelfde ook wanneer hier andere besturingssystemen " "geplaatst worden.\n" "\n" "In tegenstelling tot de eerste optie, heeft de opstartkeuze bij deze optie " "een naam. Hierdoor wordt het standaardsysteem niet gewijzigd ook niet " "wanneer deze naar een andere positie verplaatst wordt.\n" "\n" "Wanneer u een aangepaste opstartkeuze wilt gebruiken zoals bijvoorbeeld " "\"altijd de tweede opstartkeuze gebruiken\" dan kunt u de laatste optie " "gebruiken waarbij u de mogelijkheid heeft om een aangepaste opstartkeuze in " "te typen. Voorbeelden hiervan zijn:\n" " 1 = \"altijd de tweede opstartkeuze gebruiken\" (het tellen start bij 0)\n" " test>0 = \"altijd de eerste opstartkeuze gebruiken van een submenu met de " "naam test\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "wit" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "geel" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "lichtcyaan" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cyaan" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "lichtblauw" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "blauw" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "lichtgroen" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "groen" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "lichtmagenta" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "lichtrood" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "rood" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "bruin" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "lichtgrijs" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "donkergrijs" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "doorzichtig" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "zwart" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "Bestand _laden: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Thema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Achtergrondafbeelding" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Selecteer a.u.b. een achtergrondafbeelding!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Lettertype" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "themabestand selecteren" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Thema-inhoud" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Aangepaste thema-instellingen" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normaal: lettertype" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normaal: achtergrond" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Geaccentueerd: lettertype" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Geaccentueerd: achtergrond" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Bestand" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "thema toevoegen" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "dit thema verwijderen" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Archiefbestanden" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Alle bestanden" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "lettertype verwijderen" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "achtergrond verwijderen" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Aangepaste instellingen)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Het geselecteerde bestand kan niet als thema geladen worden" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "De opgegeven bestandsnaam kan niet gebruikt worden" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Dit thema bevat geen %1. Ga a.u.b. naar het configuratiebestand en hernoem " "het naar \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Het opslaan van thema's kon niet geheel voltooid worden!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Vervangen bestand mislukt. Selecteer a.u.b. eerst een themabestand!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "bestandsnaam" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "Pas op: grote lettertypes kunnen problemen opleveren bij opstartschermen met " "een lage resolutie!\n" "Omdat dit probleem afhangt van het gekozen lettertype, is het niet mogelijk " "om een algemene maximale grootte aan te geven. Wanneer u probeert om een " "groter lettertype te gebruiken, doe dit dan in kleine stapjes (herstarten en " "resultaat controleren).\n" "Het probleem doet zich voor wanneer de grub-gebruikersface-elementen " "(randen, omschrijving) niet in een en hetzelfde scherm passen. Wanneer er " "echter genoeg verticale ruimte overblijft kunt u een groter lettertype " "proberen te gebruiken. Het aantal opstartkeuzes is niet een probleem - hier " "kunt u doorheen scrollen indien nodig.\n" "\n" "Het probleem manifesteert zich door het eindeloos laden van grub2. U heeft " "een live-cd nodig om dit te kunnen repareren:\n" " * verwijder het lettertype uit (MOUNT)/boot/grub/unicode.pf2\n" " * herstart uw systeem (menu zou zichtbaar moeten zijn met de " "standaardlettertypes)\n" " * open /etc/default/grub met beheerdersrechten en plaats een '#' vooraf aan " "de regel waarin u GRUB_FONT ziet staan\n" " * open daarna Grub Customizer om het lettertype te kiezen dat voorheen " "gebruikt werd" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub-lettertypes kunnen schadelijk zijn (info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Weet u zeker dat u dit thema wilt verwijderen" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "In tegenstelling tot het simpele thema, waarin u maar enige opties heeft " "voor de kleur, achtergrondafbeelding en lettertype, kunt u ook een " "uitgebreid thema installeren om een nog mooier opstartmenu te verkrijgen.\n" "Er zijn diverse bronnen beschikbaar om deze te downloaden, zoals dit draadje " "op ubuntuforums.org:\n" "%1 (account vereist)\n" "of zoek naar '%2' op %3\n" "\n" "Download zo'n pakket (dat meestal een tar.gz-formaat heeft) en voeg het toe " "aan de lijst met beschikbare thema's door te klikken op de knop Toevoegen " "naast de themakiezer.\n" "\n" "Na het wijzigen van het thema, zal er een simpel bewerkingsprogramma geopend " "worden, dat een voorbeeld van de afbeeldingen zal geven en waarmee u enige " "bestandsbewerkingen kunt uitvoeren. Aangepaste thema's zullen opgeslagen " "worden wanneer u op de knop Opslaan klikt." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Opstartkeuze vanuit de prullenbak toevoegen" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Verwijderde items" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "Te_rugzetten" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Geselecteerde opstartkeuzes terugzetten" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "geselecteerde opstartkeuzes permanent verwijderen" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "geselecteerde opstartkeuzes permanent verwijderen - deze actie is alleen " "beschikbaar voor aangepaste opstartkeuzes" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Dit zal de volgende opstartkeuzes verwijderen:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-ca.po0000644000175000017500000007043113360360026021751 0ustar danieldaniel# Catalan translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-05-18 20:12+0000\n" "Last-Translator: toniem \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" "Language: ca\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nom de l'entrada" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "No es pot moure aquesta entrada" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "S'ha desat la configuració" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "S'està actualitzant la configuració" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "El Grub Customizer és una interfície gràfica per configurar els gestors " "d'arrencada GRUB2/BURG" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "Script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "Submenú" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "Marcador de posició" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "Entrada del menú" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "Script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "Nom per defecte: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "Partició: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Imatge ISO: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Imatge Memtest: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "Actual" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tipus:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Seqüència d'arrencada" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nom:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "S'ha produït un error en crear la seqüència d'arrencada.\n" "Comproveu els paràmetres!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor d'entrades" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Tria…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Un altre" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(Codi de l'script)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Tria un fitxer…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partició" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "Ramdisk _inicial" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Imatge _Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Imatge _Memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Camí al fitxer ISO" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Paràmetres del nucli" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "Imatge I_SO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "Imatge _Memtest" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partició:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Subpunts de muntatge:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "Desa aquesta configuració" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "GRUB2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "¡Muntatge fallit!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "¡Desmuntatge fallit!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Això no sembla un sistema de fitxers arrel (no s'ha trobat el fitxer fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "No s'ha pogut muntar la partició seleccionada" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "No s'ha pogut desmuntar la partició seleccionada" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "S'ha produït un error" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Informeu a l'autor sobre aquest problema. La informació següent pot ser " "d'utilitat:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "Continua (amb risc de pèrdua de dades)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instal·la el gestor d'arrencada al MBR y desa\n" "alguns fitxers a la carpeta de dades del gestor\n" "d'arrencada (si encara no hi són)" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Dispositiu: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instal·la al MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "El gestor d'arrencada s'ha instal·lat correctament" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "S'ha produït un error en instal·lar el gestor d'arrencada" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "S'està instal·lant el gestor de arrencada…" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Introduïu el nom del dispositiu!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Fitxer" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Edita" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Vista" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "Aj_uda" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instal·la al MBR…" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Mostra els detalls" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Mostra les _entrades ocultes" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "Agrupa per _script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Mostra els _marcadors de posició" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "S'ha trobat el BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Configuració avançada" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Les modificacions que s'han fet afecten les entrades visibles. Recarregueu " "la configuració!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "S'han trobat actualitzacions d'scripts. Cliqueu al botó «Desa» per aplicar " "els canvis!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "Configuració de la _llista" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Suprimeix les entrades seleccionades (es poden restaurar de la paperera)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Puja l'element seleccionat" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Baixa l'element seleccionat" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Suprimeix aquesta entrada del submenú actual" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Afegeix aquesta entrada a un submenú nou" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Reverteix totes les modificacions" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Recarrega la configuració (preserva els canvis no desats)" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Reanomena" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Puja" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Baixa" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Suprimeix del submenú" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Crea un submenú" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Canvia l'entorn…" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Voleu configurar el BURG en lloc del GRUB2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Configuració _general" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Configuració de l'_aparença" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Mode BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Desa la configuració i genera un nou %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "S'està carregant la configuració…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Càrrega d'script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "No s'ha trobat el proxy binari!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Quan s'executi el carregador de arrencada, es mostraran totes les entrades " "(sense personalitzar). Aquest error es produeix (en la majoria dels casos) " "quan el Grub Customizer no s'ha instal·lat correctament." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Entrades rebudes de %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Entrades rebudes)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "La configuració desada no està actualitzada!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "La configuració generada no és igual a la configuració desada a l'inici. El " "que es veu ara pot ser que no sigui el que es veurà en reiniciar l'equip. " "Per solucionar això, cliqueu al boto «Actualitza»!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Surt sense actualitzar" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Actualitza i surt" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Voleu desar les modificacions?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Surt sense desar" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Desa i surt" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "NOTA: Les modificacions encara no s'han desat, l'actualització també les " "desarà!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" "S'ha produït un error en desar la configuració del gestor de arrencada!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "No es pot desar la configuració del gestor de arrencada" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Consulteu la sortida de la línia d'ordres següent. Si creu que es tracta " "d'un error del Grub Customizer, creeu un informe d'error a %1. El Grub " "Customizer hauria d'evitar aquest tipus d'errors." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 no s'ha pogut executar correctament. Missatge d'error:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Configuració de l'entorn" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Voleu continuar sense desar la configuració actual?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Hi ha modificacions que no s'han desat!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Retirar el codi d'un script pot causar problemes en intentar arrencar les " "entrades que en depenen. Voleu fer-ho de totes maneres?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Esteu intentant suprimir una entrada del sistema en execució. Assegureu-vos " "que existeixen altres entrades operatives per a aquest sistema!\n" "Per eliminar nuclis antics, és millor desinstal·lar-los que suprimir les " "seves entrades del menú d'arrencada." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Entrada del menú del gestor d'arrencada que inicia un sistema operatiu quan " "s'activa." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Entrada del menú del gestor d'arrencada que carrega un altre menú amb unes " "altres entrades del menú." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Hi ha dos tipus d'aquesta entrada especial. Les entrades rebudes contenen " "els sistemes operatius nous trobats pel gestor de arrencada que encara no " "s'han configurat amb el Grub Customizer. Els codis dels scripts contenen el " "codi dels scripts que generen les entrades del menú de arrencada. Només " "s'han de modificar si es coneix el seu funcionament. Els marcadors de " "posició estan ocults per defecte." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Els scripts generen les entrades de menú. Cada entrada del menú pertany a un " "script. En contrast amb els submenús, els scripts no es mostren al menú de " "arrencada." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Quant als tipus d'entrada" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Esteu segur?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Aquesta acció elimina totes les modificacions del menú del gestor " "d'arrencada!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "_Predefineix: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "_Entrada de l'arrencada anterior" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Entrada predeterminada" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Visibilitat" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "Mostra el menú d'arrencada" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Paràmetres del nucli" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "Genera les entrades de recuperació" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "Busca altres sistemes operatius" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "Personalitza la resolució: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "Configuració" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_General" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "A_parença" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avançada" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "Activada" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Nom" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "Valor" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Arrencar l'entrada predeterminada en %1 segons" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(Primera entrada)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(Una altra…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Aquesta opció no funciona quan l'script «os-prober» troba altres sistemes " "operatius. Desactiveu «%1» si no cal arrencar d'altres sistemes operatius." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Aquest menú desplegable permet triar el sistema operatiu que se selecciona " "automàticament per arrencar. L'opció predefinida selecciona el sistema " "operatiu que indica la primera entrada del menú d'arrencada.\n" "\n" "En contrast amb la primera opció, les altres opcions permeten triar " "l'entrada predeterminada pel seu nom. Per tant, el sistema operatiu que se " "selecciona no varia quan la seva entrada canvia de posició.\n" "\n" "L'última opció de la llista permet triar l'entrada predeterminada amb una " "referència personalitzada. Exemples d'ús:\n" "1 = l'entrada per defecte és la segona (el recompte comença en 0).\n" "test> 0 = l'entrada per defecte és la primera entrada de submenú anomenat " "«test»." #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "Blanc" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "Groc" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "Cian clar" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "Cian" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "Blau clar" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "Blau" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "Verd clar" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "Verd" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "Magenta clar" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "Magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "Vermell clar" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "Vermell" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "Marró" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "Gris clar" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "Gris fosc" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "Transparent" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "Negre" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "Carrega un fit_xer: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Imatge de fons" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Trieu una imatge de fons!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Tipus de lletra" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "Trieu un fitxer de tema" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Contingut del tema" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Configuració bàsica" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal: lletra" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: fons" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Ressaltat: lletra" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Ressaltat: fons" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Fitxer" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Afegeix un tema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "Elimina aquest tema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Arxius" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Tots els fitxers" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "Suprimeix el tipus de lletra" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "Suprimeix el fons" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Configuració bàsica)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "No es pot carregar cap tema del fitxer triat" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "El nom de fitxer donat no es pot usar" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Aquest tema no conté un 1%. Busqueu el fitxer de configuració i canvieu-ne " "el nom a «%1»!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Els temes no s'han desat completament!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "Substitució de fitxers fallida. Seleccioneu primer un fitxer de tema!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "Nom del fitxer" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "NOTA: Tipus de lletra grans en resolucions de pantalla baixes poden " "corrompre la pantalla d'arrencada.\n" "Atès que aquest problema depèn del tipus de lletra seleccionat, no és " "possible definir una mida màxima de tipus de lletra. Per seleccionar un " "tipus de lletra gran, feu-ho en diversos passos (reiniciant i comprovant els " "resultats).\n" "El problema es produeix quan els elements del menú de arrencada (vores i " "descripció) no encaixen a la pantalla. Mentre hi hagi prou espai vertical es " "pot provar un tipus de lletra més gran. La quantitat d'entrades del menú no " "constitueixen un problema; es desplacen si cal.\n" "\n" "La corrupció de la pantalla d'arrencada resulta en un temps de càrrega " "infinit per al gestor de arrencada. Per solucionar aquest error arrenqueu " "des d'un CD i seguiu aquestes instruccions:\n" "* Elimineu el fitxer de tipus de lletra " "(PUNT_DE_MUNTATGE)/boot/grub/unicode.pf2.\n" "* Reinicieu el sistema (el menú d'arrencada mostrarà el tipus de lletra per " "predeterminat).\n" "* Obriu el fitxer /etc/default/grub amb permisos d'administrador i " "col·loqueu un caràcter # al principi de la línia que conté GRUB_FONT.\n" "* Executeu el Grub Customizer per triar una mida més petita de tipus de " "lletra." #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Corrupció del gestor d'arrencada" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Segur que voleu suprimir aquest tema?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Com a alternativa a la configuració bàsica de colors, fons de pantalla i " "tipus de lletra, podeu instal·lar paquets de tema per a obtenir un menú " "d'arrencada més elegant.\n" "\n" "Hi ha diverses fonts de descàrrega, com aquest fil en ubuntuforums.org:\n" "%1 (necessita un compte) o buscar «%2» a %3.\n" "\n" "Només cal descarregar el paquet (que estarà en format tar.gz en la majoria " "dels casos) i afegir-lo a la llista de temes disponibles mitjançant el botó " "«Afegeix un tema» situat al costat del selector de temes.\n" "\n" "Després de seleccionar un tema, es carrega un editor senzill que mostra una " "vista prèvia de les imatges que conté i permet la gestió d'alguns fitxers. " "El contingut del tema modificat es desa en clicar al botó «Desa»." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Afegeix una entrada de la paperera" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Paperera" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Restaura" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Restaura les entrades seleccionades" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Elimina permanentment les entrades seleccionades" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "Elimina entrades permanentment (aquesta acció només està disponible per a " "entrades personalitzades)" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Aquesta acció eliminarà les entrades següents:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux (ISO)" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Carregador en cadena" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Test de memòria" grub-customizer-5.1.0/translation/translation-ast.mo0000644000175000017500000001612213360360026022147 0ustar danieldaniela$,889 rE   % &+ /R ' % M q+   & $ & 5 ; L i . *a 8 Y   0 D Q \h} 0 5 ?M^x~        6> C Q_x| *    "-3|:9QW`iy'*, 6'GQos5D [em--'.&Kr,+X<   & 2?Thz%! &2F[v|       19> M[{+   0 6BII:OA'`!V &6JW-a.\ /7<K8>BEYT" +,RQ=_D4M^([ * G3UP%9]HC;)2#N?1FXLS@ 0$5Z%1 couldn't be executed successfully. error message: %2(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceBURG ModeBURG found!Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionDo you want to configure BURG instead of grub2?Do you want to save your modifications?Entry editorError while installing the bootloaderGrub Customizer is a graphical interface to configure the grub2/burg settingsInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinux-ISOMemtestMount failed!Move down the selected entry or scriptMove up the selected entry or scriptName the EntryOtherPath to iso filePlease type a device string!Proxy binary not found!The bootloader has been installed successfullyThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The saved configuration is not up to date!This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly._Advanced_Device: _Edit_File_Font_General_Help_Initial ramdisk_Install to MBR …_Linux image_Partition_Partition:_Quit without saving_Quit without update_Save & Quit_Type:_Update & Quit_Viewadd this entry to a new submenubackground imageblackbluebrowncannot move this entrycurrentcustom resolution: cyandark-graydefault entrydefault name: %1generate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…look for other operating systemsmagentanamepartition: %1pre_defined: previously _booted entryredremove backgroundremove fontremove this entry from the current submenuscriptscript: %1settingsshow menutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: enolp Language-Team: Asturian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 nun pue ser executáu ensin torges. mensax d'erru: %2(códigu de script)Y: Les tos modificaciones entá nun se guardaron. Al anovar van guardase tamién!_AspeutuMou BURG¡BURG atopáu!Guardóse la configuraciónNun pue montase la partición esbilladaNun pue desmontase la partición esbillada¿Quies configurar BURG en cuentes de grub2?¿Quies guardar los tos cambeos?Editor d'entradaFallu mientres s'instalaba'l bootloaderGrub Customizer ye una interfaz gráfica pa configurar los axustes de Grub2/burgInstalar el bootloader a MBR y poner dalgunos ficheros nel direutoriu de datos de bootloaders (si nun esisten yá).Instalar a MBRParámetros del kernelLinux-ISOMemtest¡Montaxe fallíu!Baxar pa embaxo la entrada o script esbillaosXubir pa enriba la entrada o script esbillaosNome d'EntradaOtruCamín al ficheru iso¡Por favor escribi una cadena preseos!¡Proxy binariu non atopáu!El bootloader instalóse correutamenteLos axustes xeneraos nun son iguales a los guardaos nel aniciu. Asina que lo que güeyes agora nun va ser lo mesmo cuando reanicies el PC. Pa esclariar esti problema, ¡Primi n'anovar!¡La configuración guardada nun ta anovada!Esta opción nun furrula cuando'l script "os-prober" atopa otros sistemes. Desactiva "%1" si nun necesites aniciar otros sistemes.Esto nun paez ser un sistema de ficheros (fstab non atopáu)Vas ver toles entraes (non personalizaes) cuando anicies Grub. Esti fallu sal (na mayoría de los casos), cuando nun instalaste Grub Customizer correutamente._Avanzao_Preséu: _Editar_Ficheru_Fonte_Xeneral_Ayuda_Discu ram inicial_Instalar a MBR..._Imaxe Linux_Partición_Partición:_Colar ensin guardar_Colar ensin anovar_Guardar y Quitar_Triba:_Anovar y Colar_Verañader esta entrada al nuevu somenúsemeya de fonduprietuazulcastañunun pue movese esta entradaactualresolución personalizada: cianbuxu escuruentrada por defeutunome por defeutu: %1xenerar entraes recuperaesverdeinstalando'l bootloaderta activuParámetros kernelazul clarucian clarubuxu claruverde clarumaxenta clarubermeyu clarucargando configuración...restolar por otros sistemesmaxentanomepartición: %1pre_definío Entrada aniciada _postreramentebermeyudesaniciar fonduesniciar fonteesniciar esta entrada del somenú d'aguañoscriptscript: %1axustesamosar menútresparente¡Desmontaxe fallíu!anovando configuraciónvalorvisibilidáblancumariellugrub-customizer-5.1.0/translation/translation-lt.po0000644000175000017500000007107613360360026022013 0ustar danieldaniel# Lithuanian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-12-26 17:51+0000\n" "Last-Translator: Moo \n" "Language-Team: Lithuanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Pavadinkite šį įrašą" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "nepavyko perkelti šio įrašo" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Konfigūracija įrašyta" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "atnaujinama konfigūracija" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub derinimo programa yra grafinis įrankis, skirtas konfigūruoti grub2/burg " "nustatymus" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "scenarijus" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "submeniu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "vietaženklis" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "meniu įrašas" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "scenarijus: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "numatytasis pavadinimas: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "skaidinys: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO atvaizdis: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest atvaizdis: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "esamas" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tipas:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Paleidimo seka" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Pavadinimas:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Klaida, kuriant paleidimo seką.\n" "Patikrinkite parametrus!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Įrašų redaktorius" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Pasirinkti..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Kita" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(scenarijaus kodas)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Pasirinkti failą..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Skaidinys" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "Prad_inis ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux atvaizdis" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest atvaizdis" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Kelias į iso failą" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Branduolio parametrai" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO atvaizdis" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest atvaizdis" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Skaidinys:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Sub-prijungimo taškai:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "įrašyti šią konfigūraciją" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Prijungimas nepavyko!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "atjungimas nepavyko!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Tai, tikriausiai, nėra šaknies failų sistema (neaptiktas fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nepavyko prijungti pasirinkto skaidinio" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nepavyko atjungti pasirinkto skaidinio" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Įvyko klaida" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "prašome apie šią problemą informuoti autorių. Ši informacija galėtų būti " "naudinga:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "tęsti (rizikuoti prarasti duomenis)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Įdiegti paleidyklę į MBR paleidimo įrašą ir įdėti\n" "kai kuriuos failus į paleidyklės duomenų katalogą \n" "(jeigu jų dar ten nėra)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "Į_renginys: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Įdiegti į MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Paleidyklė buvo sėkmingai įdiegta" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Klaida, įdiegiant paleidyklę" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "įdiegiama paleidyklė..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Prašome įrašyti įrenginio eilutę!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Failas" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Taisa" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Rodinys" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Žinynas" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "Į_diegti į MBR ..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Rodyti išsamesnę informaciją" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Rodyti _paslėptus įrašus" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Grupuoti pagal scenarijų" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Rodyti _vietaženklius" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Rasta BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "išplėstiniai nustatymai" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Jūsų atliktos modifikacijos paveikia matomus įrašus. Prašome įkelti iš naujo!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Rasti scenarijaus atnaujinimai. Spustelėkite įrašyti, kad pritaikytumėte " "pakeitimus!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Sąrašo konfigūracija" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Šalinti pasirinktus įrašus (juos galite atkurti iš šiukšlinės)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Pakelti pasirinktą įrašą ar scenarijų" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Nuleisti pasirinktą įrašą ar scenarijų" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "šalinti šį įrašą iš esamo submeniu" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "pridėti šį įrašą į naują submeniu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Sugrąžina sąrašą į numatytąją tvarką" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "iš naujo įkelia konfigūraciją. Neįrašyti pakeitimai išliks." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Pervadinti" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Pakelti" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Nuleisti" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Šalinti iš submeniu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Sukurti submeniu" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Pakeisti aplinką ..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Ar norite vietoj grub2 konfigūruoti BURG?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Bendri nustatymai" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Išvaizdos nustatymai..." #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG veiksena" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Įrašyti konfigūraciją ir generuoti naują %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "įkeliama konfigūracija…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "įkeliamas scenarijus %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Nerasta įgaliotojo serverio dvejetainė!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Kai paleisite grub, matysite visus įrašus (nederintus). Ši klaida " "(dažniausiai) įvyksta, kai grub customizer yra įdiegta neteisingai." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(%1 gaunamieji įrašai)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(gaunamieji įrašai)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Įrašyta konfigūracija yra pasenusi!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Sugeneruota konfigūracija neatitiko tos, kuri buvo įrašyta paleidimo metu. " "Taigi, tai ką matote dabar, gali neatitikti to, ką matysite iš naujo paleidę " "kompiuterį. Norėdami tai pataisyti, spustelėkite \"Atnaujinti\"!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Išeiti neatnaujinant" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Atnaujinti ir išeiti" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Ar norite įrašyti savo modifikacijas?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Išeiti neįrašant" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "Į_rašyti ir išeiti" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "TAIPOGI: jūsų modifikacijos vis dar nėra įrašytos, atnaujinimas jas įrašys!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Nepavyko įrašyti grub konfigūracijos!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Grub konfigūracija negali būti įrašyta" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Prašome pažiūrėti į žemiau esančią komandų eilutės išvestį. Jeigu manote, " "kad tai Grub derinimo programos klaida, sukurkite pranešimą apie klaidą ties " "%1! Bendrai, Grub derinimo programa turėtų neleisti tokių klaidų." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "Nepavyko sėkmingai įvykdyti %1. Klaidos pranešimas:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Aplinkos nustatymai" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Ar norite tęsti, neįrašant esamos konfigūracijos?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Yra neįrašytų modifikacijų!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Scenarijaus kodo šalinimas, kuomet juo pasikliaujant bandoma paleisti " "įrašus, gali sukelti problemų. Ar tikrai vis tiek norite tai atlikti?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Jūs bandote pašalinti šiuo metu vykdomos sistemos įrašą. Įsitikinkite, kad " "yra kitų veikiančių šios sistemos įrašų!\n" "Jeigu tik norite pašalinti senus branduolius: Geresnis būdas yra juos " "pašalinti iš sistemos, o ne tiesiog paslėpti iš paleidimo meniu." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Meniu įrašas, kuris yra matomas grub meniu ir, aktyvavus, paleidžia " "operacinę sistemą." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Kitų operacinių sistemų grupė. Grub rodo ją kaip normalų meniu įrašą, tačiau " "jį spustelėjus, grub įkelia kitą meniu, kuris leidžia jums pasirinkti vieną " "iš ten esančių meniu įrašų." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Yra du šio ypatingo įrašo tipai: Gaunamieji įrašai yra vieta į kurią Grub " "derinimo programa patalpina naujas operacines sistemas, kurios yra rastos " "grub, tačiau vis dar nėra sukonfigūruotos naudojant Grub derinimo programą. " "Scenarijaus kodas yra grub generuojamas kodas, kuris nėra panašus į meniu " "įrašą. Daugelyje atveju jis yra naudojamas grub konfigūravimui. Jūs " "neturėtumėte jo liesti, nebent žinote ką jis daro. Pagal numatymą " "vietaženkliai yra paslėpti." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Scenarijai generuoja meniu įrašus. Taigi, kiekvienas meniu įrašas priklauso " "scenarijui. Aktyvavus, jie yra rodomi kaip aukšto lygio grupės. Kita vertus, " "skirtingai nei submeniu, jie nėra rodomi paleidimo meniu." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Apie įrašų tipus" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Ar tikrai?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Tai pašalina visas jūsų paleidyklės meniu sąrašo modifikacijas!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "iš anksto api_brėžtas: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "ankstesnį kartą paleistas įrašas" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "numatytasis įrašas" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "matomumas" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "rodyti meniu" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "branduolio parametrai" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "generuoti atkūrimo įrašus" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "ieškoti kitų operacinių sistemų" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "pasirinktinė raiška: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "nustatymai" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Bendra" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Išvaizda" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Išplėstiniai" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "yra aktyvus" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "pavadinimas" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "reikšmė" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Paleisti numatytąjį įrašą po %1 sekundžių" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(pirmasis įrašas)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(kitas...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Ši parinktis neveikia kai „os-prober“ scenarijus randa kitas operacines " "sistemas. Išjunkite „%1“ jeigu nereikia paleisti kitas operacines sistemas." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Ši parinktis leidžia pasirinkti operacinę sistemą, kuri turėtų būti " "pasirenkama paleidžiant sistemą. Pagal numatymą, tai visuomet yra pirmoji. " "Ši parinktis reiškia, kad pridedant naujas operacines sistemas, pasirinktas " "numatytasis įrašas visada išliks tas pats.\n" "\n" "Skirtingai nei pirmoji parinktis, į kitus pasirinkimus yra nurodoma pagal " "pavadinimą. Taigi, numatytoji sistema, perkeliant ją į kitą vietą " "nepasikeičia.\n" "\n" "Jeigu jūs norite naudoti kitas nuorodas, kaip pavyzdžiui, \"visada nurodyti " "į antrąjį įrašą\", tuomet galite naudoti paskutinę parinktį, kuri leidžia " "įrašyti pasirinktinę nuorodą. Naudojimo pavyzdžiai:\n" " 1 = \"visada nurodyti į antrąjį įrašą\" (skaičiavimas prasideda nuo 0)\n" " test>0 = \"visada nurodyti į submeniu, kurio pavadinimas \"test\", pirmąjį " "įrašą\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "balta" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "geltona" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "šviesiai žydra" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "žydra" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "šviesiai mėlyna" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "mėlyna" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "šviesiai žalia" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "žalia" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "šviesiai purpurinė" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "purpurinė" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "šviesiai raudona" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "raudona" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "ruda" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "šviesiai pilka" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "tamsiai pilka" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "permatoma" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "juoda" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "Įke_lti failą: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "fono paveikslas" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Prašome pasirinkti fono paveikslą!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "Šri_ftas" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "pasirinkite temos failą" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Temos turinys" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Pasirinktiniai temos nustatymai" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normalus: Šriftas" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normalus: Fonas" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Paryškintas: Šriftas" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Paryškintas: Fonas" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Failas" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "pridėti temą" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "ištrinti šią temą" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Archyvo failai" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Visi failai" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "šalinti šriftą" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "šalinti foną" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Pasirinktiniai nustatymai)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Pasirinktas failas negali būti įkeltas kaip tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Nurodytas failo pavadinimas negali būti naudojamas" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Šioje temoje nėra %1. Prašome surasti konfigūracijos failą ir pervadinti jį " "į \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Temų įrašymas pilnai nepavyko!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "Failo pakeitimas nepavyko. Prašome, iš pradžių, pasirinkti temos failą!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "failo pavadinimas" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "turėkite omenyje: dideli šriftai mažos raiškos paleidimo ekranuose gali " "iškraipyti paleidimo ekraną\n" "Kadangi ši problema priklauso nuo pasirinkto šrifto, nėra įmanoma apibrėžti " "bendrą didžiausią reikšmę. Kai bandote pasirinkti didesnį šriftą, darykite " "tai mažais žingsniais (paleisdami kompiuterį iš naujo ir patikrindami " "rezultatą).\n" "Ši problema atsiranda, kuomet grub naudotojo sąsajos elementai (rėmeliai, " "aprašas) netelpa į ekraną. Taigi, kol yra pakankamai vertikalios vietos, " "galite bandyti didesnį šriftą. Meniu įrašų skaičius nėra problema - jeigu " "reikia, jie yra slenkami.\n" "\n" "Iškraipymas sąlygoja begalinį grub2 įkėlimą. Norint tai pataisyti, jums " "reikės pristatomojo (live) cd disko:\n" " * ištrinkite šriftą iš (PRIJUNGIMAS)/boot/grub/unicode.pf2\n" " * paleiskite savo sistemą iš naujo (turėtų atsirasti meniu su " "numatytaisiais šriftais)\n" " * atverkite /etc/default/grub naudodamiesi root teisėmis ir eilutėje " "priešais GRUB_FONT įrašykite \"#\"\n" " * tuomet paleiskite grub derinimo programą, kad pasirinktumėte anksčiau " "naudotą šriftą" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub šriftai gali būti kenksmingi (Informacija)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Ar tikrai norite pašalinti šią temą" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Kaip kitą alternatyvą paprastam temų metodui, kuris pateikia kai kurias " "parinktis, tokias kaip spalva, fonas ir šriftas, jūs galite įdiegti " "sudėtinius temų paketus, kad atrastumėte dar geriau atrodantį paleidimo " "meniu.\n" "\n" "Yra keli atsisiuntimo šaltiniai, kaip pavyzdžiui, ši gija svetainėje " "ubuntuforums.org:\n" "%1 (reikalauja paskyros)\n" "arba ieškokite \"%2\" per %3\n" "\n" "Tiesiog, atsisiųskite tokį paketą (kuris daugeliu atvejų yra tar.gz formato) " "ir pridėkite jį į prieinamų temų sąrašą, naudodami pridėjimo mygtuką šalia " "temų parinkiklio.\n" "\n" "Pakeitę temą, jūs pamatysite paprastą redaktorių, kuris suteikia paveikslų " "peržiūrą ir leidžia atlikti tam tikrą failų tvarkymą. Modifikuotas temos " "turinys bus įrašytas, kuomet paspausite mygtuką \"Įrašyti\"." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Pridėti įrašą iš šiukšlinės" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Pašalinti elementai" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "Atku_rti" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Atkurti pasirinktus įrašus" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "ištrinti pasirinktus įrašus visiems laikams" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "ištrinti įrašus visiems laikams - šis veiksmas yra prieinamas tik " "pasirinktiniams įrašams" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Tai ištrina šiuos įrašus:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-hu.mo0000644000175000017500000004662113360360026022003 0ustar danieldaniel, 8"4M `nE% kw `\r *   %#1 Ua%~&/@ 'a %!:3M: qE Tb hr z &$ !,N#;9O y%1+W6}.)!&I*R} $#Ei@8> w ! !"" 1";"A"G"M"V"h"y""" "" "" " "" #"# +# 8#F#N#U#d# j#t######### $$'$ ,$ 6$LD$$$$$$ $$ % % % &% 2% @%J%c% }%% %%#% %X%{>& )))=)#* 5**A*l*** ** **** ****B,,,, --R- =.J.#d. ..1m1(2-82 f2r2 w22:22242323f3}323B3%4 54A4&[4044=44F43E5y55z56*6<6 B6L6T6s69v6696677#7(7&<7c7)?8i88P889 9*9(9)9a:{:L;!e;;";7;;*<# =]/=+===?'??@@>@AA B BB B BBC CC5CECMC^C xCCCC C CCCD$D 9DEDMDVDoDwD&DD DDDD'DE&E FEPE eEoE~EOEE E'F,F2FNFUF iFvFF FF FFF#G&G .G8G,=G jGluG#GLL:LH@LLL0LLLMM%M -M9MQMmM uMMMo!+pLRP|=e0O>l)9YcGE.w_u%J/3baF6- h@\A,;"DCsNI'k~V}HXy2xnfg v8[?( MUqW Q7{]^idT:*j$BZm<`r1 K4tS# 5z&%1 couldn't be executed successfully. error message: %2(Custom Settings)(incoming Entries of %1)(incoming Entries)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsChainloaderConfiguration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSaving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydelete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepermanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptsettingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: Lukacsi Karoly Language-Team: Hungarian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) A(z) %1 végrhajtása sikertelen. A hibeüzenet a következő: %2(Egyéni beállítások)(bejegyzések %1)(bejegyzések)Kód írásaTöbb operációs rendszer van. A Grub megjeleníti azt,mint egy normál menüpont, de amikor rákattint akkor betölti másik menüből, amely lehetővé teszi, hogy válasszon egyet az azt tartalmazó menüpontokból.ÉS: a módosítások még nincsenek mentve, a frissítés menteni is fogja őket!_MegjelenésA belépési típusokrólBejegyzés hozzáadása a kukábólMinden fájlAlternatív megoldásként az egyszerű téma jobb módszer, amely bizonyos lehetőségek, mint a szín, tapéta és font telepíthető bonyolult téma csomagok, hogy még szebb boot menüt kapjunk. Számos letöltés forrásokat ilyen menet ubuntuforums.org: % 1 (szükségletek számla) vagy keressen a '% 2' at % 3 Csak letölt egy ilyen csomagot (ami tar.gz formátumban a legtöbb esetben), és add hozzá a listához a rendelkezésre álló témák segítségével a hozzáadás gombra a téma választó. Megváltoztatása után a téma akkor megjelenik egy egyszerű szerkesztő, amely ad egy előnézeti képek, és lehetővé teszi néhány fájlkezelő. Módosított téma tartalom kerül elmentésre, amikor megnyomja a Mentés gombra.Hiba történtEgy menü bejegyzést, ami látható a grub menüben és bootban egy operációs rendszer, ha aktiválva van.Archív fájlokBiztosan el akarod távolítani ezt a témátEzt akarod?BURGBURG MódBURG megtalálva!Betöltés alapértelmezett bejegyzés után %1 másodpercBetöltés folyamatbanKonfiguráció elmentveNem csatlakoztatható fel a kiválasztott partícióNem csatlakoztatható le a kiválasztott partícióHozzon létre almenütEgyedi Téma beállításokSzeretné a BURG-ot konfigurálni a grub2 helyett?Szeretné folytatni mentés nélkül az aktuális konfigurációt?Szeretné menteni a módosításokat?SzerkesztőKörnyezet beállításaiHiba a boottöltő telepítése soránA grub beállításainak mentése nem sikerült!FájlFájl cseréje meghiúsult. Kérem válasszon főtémafájlt!Grub 2Grub Customizer egy grafikus interfész a grub2/burg beállításáhozGrub betűtípusok használata káros lehet (Infó)Kiemelt: HáttérKiemelt: SzövegBoottöltő telepítése az MBR-be és néhány fájl létrehozása a boottöltő adatmappájába (ha még nem léteznek).MBR-be telepítésKernel paraméterLinuxLinux-ISOMemtestFelcsatlakoztatás sikertelen!LeA kiválasztott bejegyzés vagy script lejjebb mozgatásaFelA kiválasztott bejegyzés vagy script feljebb mozgatásaA bejegyzés neveNormál: HáttérNormál: SzövegMásISO fájl eléréseKérjük, válassz egy háttérképet!Kérjük, vessen egy pillantást a parancssori kimenetre alább. Ha úgy gondolja, hogy ez egy bug a Grub Customizerben, kérjük hozzon létre egy %1! Általában az ehhez hasonló hibákat a Grub Customizer elkerüli.Kérem gépeljen be egy eszköz stringet!Proxy nem található!Vegyük ki az almenübőlKiválasztott bejegyzések törlése (vissza lehet állítani őket a kukából)Eltávolított elemekScript kód eltávolítása problémát okozhat, amikor megpróbál a bejegyzésekre támaszkodva bootolni. Biztos benne, hogy ezt szeretné?ÁtnevezésVisszaállítja a kijelölt bejegyzéseketAlapértelmezett lista visszaállításaA téma mentése csak részben sikerült!Parancsfájl frissítések találhatók. Katt a Mentés gombra a változtatások elfogadásához!Szkripteket generáló menüpontok. Szóval minden menüponthoz tartozik egy script. Ezek jelennek meg, ha felső szintű csoportok aktiválva vannak. Ellentétben az almenük nem jelennek meg a bootmenüben.A helyőrzők _mutatásaMutassa a _rejtett bejegyzéseketAl csatolási pontok:A boottöltő sikeresen telepítveA kiválasztott fájlt nem lehet betölteni, mint témaA generált konfiguráció nem egyezett meg az elmentett konfigurációval induláskor. Tehát amit most lát nem ugyanaz mit akkor fog látni mikor újra indítja a számítógépét. Hogy javítsa ezt, kattintson a frissítésre!A megadott fájlnevet nem lehet használniA grub konfiguráció nem menthetőAz elvégzett módosítások érintik a látható bejegyzéseket. Kérjük, újra betölteni!Az elmentett konfiguráció nem naprakész!Téma tartalmaKét típusa létezik ennek a különleges bejegyzésnek: Bejövő bejegyzések az a hely, ahova a Grub Customizer helyezi az új operációs rendszert, amely megtalálható a grubban, de még mindig nem állította be a Grub Customizer. A Script kód által generált kód grubja ami nem úgy néz ki mint egy menüpont. A legtöbb esetben ez konfigurálásra grub. Csak akkor nyúljon hozzá, ha tudja mit csinál. Helyőrzők alapértelmezés szerint rejtve vannak.Nem mentett módosítások!Ez törli a következő bejegyzéseket:Ez az opció nem működik, amikor az "os-prober" script talál más operációs rendszereket. Tiltsa le "%1", ha nem akar bebootolni más operációs rendszert.Ez eltávolítja a lista módosításokat a bootloader menüben!Úgy tűnik ez nem root fájl rendszer (fstab nem található)Az összes bejegyzést így fogja látni (nincs testre szabva), amikor futtatja a grub-ot. Ez a hiba akkor fordul elő (a legtöbb esetben), amikor a grub customizer nincs helyesen telepítve.Megpróbálsz eltávolítani egy épp futó rendszerbejegyzést. Ügyelj arra, hogy ne legyen más futó munka a rendszerben! Ha eltávolítani akarod a régi kerneleket: jobb ha csak elrejted a boot menüben._Speciális_A megjelenítés beállításai_Környezet változtatása ..._Eszköz: _Szerkesztés_Fájl_SzövegÁ_ltalános_Általános beállítások_Script csoport_Súgó_Kezdeti ramdisk_Telepítés az MBR-be..._Linux kép_Lista beállítása_Fájl betöltése: _Memteszt kép_Partíció_Partíció:K_ilépés mentés nélkül_Kilépés frissítés nélkül_Visszaállítás_Mentés & Kilépés_Részletek_Téma:_Típus:_Frissítés & Kilépés_NézetTéma hozzáadásaBejegyzés hozzáadása az almenühözHaladó beállításokháttérképfeketekékbarnaEzt a bejegyzést nem lehet áthelyeznitémafájl választásfolytatás (adatvesztés lehet)aktuálisegyéni felbontás: ciánkéksötétszürkealapértelmezett bejegyzésbejegyzések törlése véglegesen - ez csak saját bejegyzéseknél elérhetőtéma törlésefájlnévhelyreállító bejegyzés generálásazöldboottöltő telepítése...aktívkernel paraméterekvilágoskékvilágos-ciánkékvilágosszürkevilágoszöldvilágos-magentavilágospiroskonfiguráció betöltése...script betöltése %2/%3 (%1)más operációs rendszer keresésemagentamenüpontnévvégleg törölni a kijelölt bejegyzésekethelyőrzőKérjük, tájékoztassa a készítőt erről a problémáról. Az alábbi információk hasznosak lehetnek:kérjük, vedd figyelembe: a nagy betűk alacsony bootkép felbontásnál is ronthat a boot képernyőn Mivel ez a probléma függ a választott betűtípustól, nem lehetséges, hogy meghatározzuk a maximumot. Ha kell válassz ki egy nagyobb betűtípust, kérjük, ted meg kis lépésekben (újraindítással ellenőrzni az eredményeket.) A probléma akkor jelentkezik, amikor a grub gui elemek (határok, leírás) szokás illeszkednek képernyőt. Tehát miközben van elég függőleges hely kipróbálhat egy nagyobb betűtípust. A sok menupont nem probléma - ezeket lehet görgetni, ha szükséges. A hiba eredménye egy végtelen betöltési idő a grub2-ben. Szükséged van egy live cd-re a javításhoz: * Törölje a betűtípust (Mount) / boot/grub/unicode.pf2 * Indítsa újra a rendszert (menüben meg kell jelennie az alapértelmezett betűtípusoknak) * Open / etc / default / grub root jogosultságokkal, és helyezzük a "#" a sor elé, amely GRUB_FONT * Majd futtassa a grub customizert, hogy válaszd ki a használt betűtípustelőre_definiált: előzetesen _bootolt bejegyzéspiroskonfiguráció újratöltése. A nem mentett módosítások megmaradnak.háttér törléseszöveg visszaállításaBejegyzés eltávolítása ebből az almenübőlKonfiguráció mentésescriptbeállításokmenü mutatásaalmenüátlátszólecsatolás sikertelen!konfiguráció frissítéseértékláthatóságfehérsárgagrub-customizer-5.1.0/translation/translation-kk.mo0000644000175000017500000001337013360360026021767 0ustar danieldanielMg    %&/8'h%M  * 2 @JRa~.*8 0 : O Y _ e n            * > C M [ u {    # 5 M V ` l {    w ( A ` e w ) M `Pq>FHO +,F b9=.;B`~4, > LVf  !:NW ^Ei=s! (:"N?q +,+> \>i' F? ;LJH5>:" $7@-14ACD20=( /,M+98#!IGEK3*< B6')% .&A_ppearanceAn error occurredBURGBURG ModeBURG found!ChainloaderConfiguration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionDo you want to configure BURG instead of grub2?Do you want to save your modifications?Error while installing the bootloaderGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsInstall to MBRLinuxLinux-ISOMemtestMount failed!Move downMove upName the EntryPlease type a device string!Proxy binary not found!RenameThe bootloader has been installed successfullyThe saved configuration is not up to date!This seems not to be a root file system (no fstab found)_Advanced_Appearance settings_Device: _Edit_File_General_General settings_Help_Install to MBR …_Partition_Quit without saving_Quit without update_Save & Quit_Update & Quit_Viewbackground imageblackbluebrowncannot move this entrycustom resolution: cyandark-graydefault entrygenerate recovery entriesgreeninstalling the bootloader…light-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…look for other operating systemsmagentaredremove backgroundsave this configurationsettingsshow menutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: FULL NAME Language-Team: Kazakh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Сырт _көрінісҚате пайда болдыBURGBURG режиміBURG табылды!ChainloaderБаптаулама сақталындыТаңдалған диск бөлімін тіркеу мүмкін емесТаңдалған диск бөлімін тіркеуден босату мүмкін емесGrub2 орнына BURG қалыпқа келтіруін қалайсыз ба?Өзгерістеріңізді сақтау қажет пе?Жүктегіш орнату кезінде қате туындадыGrub 2Grub Customizer - grub2 мен burg баптауларын қалыпқа келтіру графикалық интерфейсіMBR-ға орнатуLinuxLinux ISOMemtestТіркеу сәтсіз аяқталды!Төмен жылжытуЖоғары жылжытуМәзір пунктың атыҚұрылғы орналасуын көрсетіңіз!Екілік прокси файлы табылған жоқ!Атын өзгертуЖүктегіш сәтті орнатылдыСақталынған баптаулама ескерді!Мүмкін бұл түбірлі (/) бөлім емес шығар (fstab табылмады)Кеңейтіл_генСыртқы бейнелену баптауларыҚұ_рылғы: Тү_зету_Файл_НегізгіБа_сты баптаулар_КөмекMBR-ға _орнату..._БөлімСақтамай _шығуЖаңартпай _шығу_Сақтап шығу_Жаңартып шығуСырт _көрінісфон суретіқаракөкқоңыросы мәзір пунктын жылжыту мүмкін емесөзіндік экран өлшемдер қатынасы: көгілдірқара-сұрқалыптысымәзірге жүйені қайта қалыпқа келтіру режимдер пункттерін қосужасылжүктегіш орнатылуда...ашық-көкашық-көгілдірашық-қоңырашық-жасылашық-қара қошқылашық-қызылбаптауламаны оқу...басқа операциялық жүйелерді іздеуқара қошқылқызылфон суретін алып тастауосы баптауламаны сақтаубаптаулармәзірді көрсетумөлдіртіркеуден босату сәтсіз аяқталды!баптауламаны жаңартумәнкөрінетінақсарыgrub-customizer-5.1.0/translation/translation-fr.mo0000644000175000017500000004272213360360026021774 0ustar danieldaniel  8: LZs  EV  \ L*Z   #   %"&Ho~/@' -:/O%!:M \}  q0 ?M S]e u &$ !'I69J y %,(R+{6.)Eo! &BIi* #@^8W0     !!!!!2!8!I! ]!j! ~!!!! ! !!!! ! """$"3" 9"C"c"u"""""""""" " ##L$#q##### ## # # # $ $ $*$C$ ]$~$ $$ $#$ $X$ ,%:%S%=W%% %*%%% %& && #&/&>&U& [&f&l&s&A'8(U(i(( (((\) ))-*6*H*}b**4*(+=+ B+L+4[++++ +%+0,32,f,$z,2,B,+-A-T-Op-7-3-,.X4..Z.4.$/>/ Q/ ^/i// 00 $0.060G0_0:u00;011+1;1A1,\113f222]2.3D33&3*$49O4;4[4 !5B5b59{5@55/67-7ce71778,:&B:i:dG;E;e;X<B=]>f>>>>>> >>>>?? 7?D?\?p??? ? ??? ??@ @'@0@ J@U@-g@@@@@@&@@'A=ADAbA gAsAAqAB"B'1BYB*^B BB B B B B B B!BC+0C\CdCtCxC6CC_C/D ?D`DOfDDD,DE1E 8E DEPE aE kEwE EE EEEr7E~ b{"|=Z:- PYJ,}l5 !u@VTze)`h_+HBA v8OKs<>U]a.  %\'$(Gx#?o[Cit2Im/g^Njy*4dnFWX3Lqcf9kQpRSDMw6&;10%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAn error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-05-21 12:45+0000 Last-Translator: Charles Monzat Language-Team: French MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 ne peut pas s’exécuter correctement. Message d'erreur : %2(Paramètres personnalisés)(première entrée)(Entrées entrantes de %1)(Entrées entrantes)(autre...)code de scriptUn groupe d'autres systèmes d'exploitation. Grub le montre comme une entrée de menu normale. Cependant, en cliquant dessus, cela charge un autre menu qui vous permet de choisir une des entrées contenues.AND : Vos modifications ne sont pas enregistrées, la mise à jour le fera automatiquement !A_pparenceÀ propos des types d'entréeAjouter une entrée à partir de la corbeilleTous les fichiersUne erreur s'est produiteUne entrée de menu qui est visible dans le menu de grub et qui démarre un système d'exploitation lorsqu'elle est activée.Fichiers d'archiveÊtes-vous certain(e) de vouloir supprimer ce thèmeÊtes-vous sûr(e) ?BURGmode BURGBURG trouvé !Démarrer l'entrée par défaut après %1 Seconde(s)Séquence d'amorçageChargeur en chaîneChoisir un fichier...Choisir…La configuration a été enregistréeImpossible de monter la partition sélectionnéeImpossible de démonter la partition sélectionnéeCréer un sous-menuParamètres personnalisés de thèmeVoulez-vous configurer BURG à la place de grub2 ?Voulez-vous continuer sans enregistrer la configuration actuelle ?Voulez-vous enregistrer vos modifications ?Éditeur d'entréeParamètres d'environnementErreur de construction de la séquence d'amorçage. Vérifier les paramètres !Erreur durant l'installation du programme de démarrageImpossible d'enregistrer la configuration de grub !FichierÉchec de remplacement du fichier. Veuillez d'abord sélectionner un fichier de thème !Grub 2Grub Customizer est une interface graphique de configuration des paramètres de grub2/burgLes polices de Grub peuvent être dangereuses (Info)Surligné : Arrière-planSurligné : PoliceImage ISO : Image I_SOInstalle le programme de démarrage dans le MBR et copie quelques fichiers dans son répertoire de données (s'ils ne sont pas présents).Installer sur le MBRParamètres du noyauLinuxISO-LinuxMemtestImage Memtest : Le montage a échoué !Déplacer vers le basDéplacer vers le bas l'entrée ou le script sélectionnéDéplacer vers le hautDéplacer vers le haut l'entrée ou le script sélectionnéNommer l'entréeNormal : Arrière-planNormal : PoliceAutreChemin vers le fichier isoVeuillez choisir une image d'arrière-plan !Veuillez vérifier la sortie de ligne de commande ci-dessous. Si vous pensez que c'est un bogue de Grub Customizer, veuillez en créer une à %1 ! Généralement, Grub Customizer devrait prévenir des erreurs de ce type.Veuillez introduire une chaîne de périphérique !Binaire du proxy non trouvé !Supprimer du sous-menuSupprimer les entrées séléctionnées (vous pouvez les restaurer à partir de la corbeille)Éléments supprimésSupprimer le code de script peut occasionner des problèmes lorsque l'on tente de démarrer les entrées s'appuyant sur celui-ci. Êtes-vous certain(e) de vouloir faire cela ?RenommerRestaurer les entrées sélectionnéesReplace la liste selon l'ordre par défautEnregistrer la configuration et générer une nouvelle %1La sauvegarde des thèmes n'a pas complètement réussie !Mises à jour de script trouvées. Cliquer sur enregistrer pour appliquer les changements !_Afficher les espaces réservés_Afficher les entrées cachéesPoints de sous-montage :Le programme de démarrage a été installé avec succèsLe ficher sélectionné ne peut être chargé en tant que thèmeLa configuration générée n'est pas identique à la configuration enregistrée au démarrage. Ainsi, ce que vous voyez maintenant peut ne pas être ce que vous verrez lorsque vous redémarrerez votre ordinateur. Pour corrigez ceci, cliquez sur mettre à jour !Le nom de fichier entré ne peut être utiliséLa configuration de grub ne peut pas être enregistréeLes modifications effectuées ont une incidence sur les entrées visibles. Merci de réactualiser !La configuration enregistrée n'est pas à jour !Contenus de thèmeIl y a deux types de cette entrée spéciale : Les entrées entrantes représentent l'emplacement où Grub Customizer place les nouveaux systèmes d'exploitation qui sont détectés par grub, mais restent non configurés en utilisant Grub Customizer. Le code de script est un code généré par grub qui ne ressemble pas à une entrée de menu. Dans la plupart des cas, il est utilisé pour configurer grub. Utilisez-le uniquement si vous connaissez son fonctionnement. Les espaces réservés sont cachés par défaut.Il y a des modifications non enregistrées !Ceci supprime les entrées suivantes :Cette option ne fonctionne pas lorsque le script de « détection de système » trouve d'autres systèmes d'exploitation. Désactiver « %1 » si vous n'avez pas besoin de démarrer d'autres systèmes d'exploitation.Ceci supprime l'ensemble des modifications de la liste appartenant au menu du chargeur d'amorçage !Cela ne semble pas être un fichier système root (fstab non trouvé)Ce thème ne contient pas de %1. Veuillez vérifier la configuration de fichier et renommez-le "%1" !Vous verrez toutes les entrées (non personnalisées) quand vous lancerez grub. Cette erreur apparaît (dans la plupart des cas), lorsque vous n'avez pas installé grub customizer correctement.Vous essayez de supprimer une entrée provenant du système en cours d'utilisation. Assurez-vous qu'il y ait d'autres entrées fonctionnant sur ce système ! Si vous voulez uniquement supprimer d'anciens noyaux : la meilleure façon est de les désinstaller plutôt que de seulement les masquer dans le menu de démarrage._AvancéParamètres d'_Apparence_Changer d'Environnement..._Périphérique : _Éditer_Fichier_Police_GénéralParamètres _Généraux_Grouper par script_AideDisque virtuel _initial_Installation dans le MBRImage _LinuxConfiguration de _Liste_Charger fichier : Image _MemtestImage _Memtest_Nom :_Partition_Partition :_Quitter sans enregistrer_Quitter sans mettre à jour_Restaurer_Enregistrer & Quitter_Afficher les détails_Thème :_Type :_Mettre à jour & Quitter_Affichageajouter un thèmeajouter cette entrée à un nouveau sous-menuParamètres avancésImage d'arrière-plannoirbleumarronCette entrée ne peut être déplacéechoisir un fichier de thèmecontinuer (risque de perte de données)actuelrésolution personnalisée : cyangris foncéentrée par défautnom par défaut : %1supprimer définitivement les entrées - cette action est uniquement disponible pour les entrées personnaliséessupprimer ce thèmenom de fichiergénère les entrées de récupérationvertInstallation du programme de démarrage...est actifparamètres du noyaubleu claircyan clairgris clairvert clairmagenta clairrouge clairchargement de la configuration...chargement du script %2/%3 (%1)recherche d'autres systèmes d'exploitationmagentaentrée de menuNompartition : %1supprimer définitivement les entrées sélectionnéesespace réservémerci d'informer l'auteur de ce problème. Les informations suivantes pourraient être utiles :pré_défini : entrée précédemment _amorcéerougeActualise la configuration. Les changements non enregistrés seront conservés.supprimer l'arrière-plansupprimer la policesupprimer cette entrée du sous-menu courantsauvegarder cette configurationscriptscript : %1paramètresafficher le menusous-menutransparentLe démontage a échoué !mise à jour de la configurationvaleurvisibilitéblancjaunegrub-customizer-5.1.0/translation/translation-uk.po0000644000175000017500000007772013360360026022015 0ustar danieldaniel# Ukrainian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-07-15 19:12+0000\n" "Last-Translator: Fedik \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Назва Пункту" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "не вдається перемістити цей запис" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Конфігурацію збережено" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "оновлення конфігурації" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "Grub Customizer - це графічна оболонка для конфігурації grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "сценарій" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "підменю" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "заповнювач" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "меню запис" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "скрипт: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "типова назва: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "розділ: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-Образ: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "поточне" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Тип:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Порядок завантаження" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Назва:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Помилка побудови порядку завантаження.\n" "Перевірте параметри!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Редактор запису" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Вибрати…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Інше" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(код сценарію)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Вибрати файл…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Розділ" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Первинний ОЗУ диск" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux образ" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Образ _Тесту пам'яті" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Шлях до файлу образу" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Параметри ядра" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO образ" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Розділ:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Додаткова точка монтування:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "зберегти ці налаштування" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Помилка монтування!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "помилка відмонтування!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Це не основна (root) файлова система (файл fstab не знайдено)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Неможливо змонтувати обраний розділ" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Неможливо відмонтувати обраний розділ" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Сталася помилка" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "будь ласка, повідомте автора про цю проблему. Наступна інформація може бути " "корисна для вирішення проблеми:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "продовжити (є ризик втратити дані)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Встановлення завантажувача до MBR \n" "та переміщення деяких файлів до\n" "його каталогу (якщо їх ще нема)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Пристрій: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Встановити до MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Завантажувач успішно встановлено" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Виникла помилка при встановленні завантажувача" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "встановлюю завантажувач..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Будь ласка, введіть рядок пристрою!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Файл" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Правка" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Вигляд" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Допомога" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Встановити в MBR …" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Детальніше" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Показати _приховані пункти" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Групувати за сценарієм" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Показати _мітки" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Знайдено BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "розширені налаштування" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Зміни які були внесені впливають на видимі записи. Будь ласка, " "перезавантажте!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "Знайдено оновлення сценаріїв. Натисніть, щоб застосувати зміни!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Налаштування списку" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Вилучити обрані записи (є змога відновити їх зі смітника)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Перемістити вгору обраний пункт чи сценарій" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Перемістити вниз обраний пункт чи сценарій" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "вилучити цей запис із поточного підменю" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "додати цей запис до нового підменю" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Повернути стандартне сортування списку" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "перезавантажити налаштування. Незбережені дані буде законсервовано." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Перейменувати" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Перемістити вгору" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Перемістити вниз" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Вилучити з підменю" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Створити підменю" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Змінити середовище …" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Бажаєте налаштувати BURG замість grub2 ?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Загальні налаштування" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Налаштування _вигляду" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Режим BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Зберегти налаштування та генерувати нове %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Завантаження конфігурації..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "завантаження скрипту %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Бінарний код проксі-сервера не знайдено!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Вам будуть видимі всі записи (неналаштовані) під час виконання grub. Ця " "помилка виникає (у більшості випадків), якщо grub gustomizer не було " "встановлено належним чином." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(вхідні Записи %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(вхідні Записи)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Збережена кофігурація застарілої версії!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Створена конфігурація не збігається зі збереженою конфігурацією при запуску. " "Тому те, що ви бачите зараз, може відрізнятися від того, що буде при " "перезавантаженні вашого ПК. Щоб виправити це, натисніть \"Оновити\"!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Вийти без оновлення" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Оновити та Вийти" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Бажаєте зберегти внесені зміни?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Вихід без збереження" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Зберегти та Вийти" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "ТАКОЖ: Ваші зміни все ще не збережені, оновлення збереже їх теж!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Не вдалося зберегти налаштування Grub!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Не вдалося зберегти конфігурацію GRUB" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Будь ласка, перегляньте вивід командного рядка. Якщо Ви вважаєте це помилкою " "Grub Customizer, будь ласка, повідомте про неї на %1! Взагалі Grub " "Customizer повинен уникати подібних помилок." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 не може бути виконаним правильно. Повідомлення про помилку:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Налаштування середовища" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Бажаєте продовжити без збереження поточних налаштувань?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Є незбережені зміни!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Знищення Коду Скрипту може бути причиною проблем завантаження записів, що " "покладаються на нього. Впевнені, що бажаєте продовжити?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Ви намагаєтесь знищити запис поточної системи. Впевніться, що існує " "додатковий робочий запис поточної системи!\n" "Якщо бажаєте лише знищити старі ядра: Найкраще рішення це вилучити їх з " "допомогою менеджера пакунків, замість приховування в меню завантаження." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Видимий та увімкнений пункт меню в GRUB завантажує операційну систему." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Група інших операційних систем. GRUB показує її як стандартний пункт меню, " "клацнувши на якому, відбувається завантаження іншого меню, яке дозволяє вам " "вибрати необхідні пункти меню." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Надаються два типи особливих пунктів меню: пункти, що вводяться - місця " "розміщення нових операційних систем, які були виявлені GRUB, але не " "налаштовані з використанням Grub Customizer. Код сценарію - це код створений " "GRUB, що не становить собою пункт меню. У більшості випадків " "використовується для налаштування GRUB. Ви можете вносити в нього зміни, " "тільки якщо знаєте, що робите . Типово мітки приховані." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Сценарії створюють пункти меню. Таким чином, кожному пункту меню відповідає " "певний сценарій. Вони відображаються в якості груп верхнього рівня, якщо " "така можливість задіяна. Однак на відмінну від підменю, вони не " "відображаються в меню завантаження." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Детальніше про типи пунктів" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Ви впевнені?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Це знищить всі ваші зміни для меню завантаження!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "попередньо _визначений: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "попередній _завантажений запис" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "типовий запис" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "вигляд" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "показувати меню" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "параметри ядра" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "генерувати запис відновлення системи" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "шукати інші операційні системи" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "власне розширення: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "налаштування" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Загальне" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "Зовнішній _вигляд" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "Д_одатково" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "є активним" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "назва" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "значення" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Завантажити пункт меню за умовчанням через %1 секунд" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(перший запис)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(інше…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Цей параметр не працює коли сценарій \"os-prober\" знаходить інші операційні " "системи. Деактивуйте \"%1\" якщо не потрібно завантажувати інші операційні " "системи." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "білий" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "жовтий" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "світло-блакитний" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "блакитний" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "світло-синій" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "синій" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "світло-зелений" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "зелений" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "світло-пурпурний" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "пурпурний" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "світло-червоний" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "червоний" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "коричневий" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "світло-сірий" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "темно-сірий" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "прозорість" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "чорний" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Завантажити файл: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Тема:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "зображення тла" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Будь ласка, виберіть зображення тла!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Шрифт" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "виберіть файл теми" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Вміст теми" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Додаткові налаштування теми" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Стандартний: Шрифт" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Стандартне: Тло" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Виділений: Шрифт" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Виділене: Тло" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Файл" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "додати тему" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "вилучити дану тему" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Архівні файли" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Всі файли" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "вилучити шрифт" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "вилучити тло" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Налаштування користувача)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Обраний файл не може бути завантажений як тема" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Дане ім'я файлу не може бути використано" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Ця тема не містить %1. Будь ласка знайдіть файл налаштувань та перейменуйте " "на \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Збереження теми виконано не повністю!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Помилка заміни файлу. Будь ласка, виберіть файл теми!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "назва файлу" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "примітка: великі шрифти задіяні при завантаженні з низькою роздільною " "здатністю можуть призвести до неможливості використання екрану завантаження\n" "У зв'язку з цією несправністю, в залежності від обраного шрифту, неможливо " "визначити допустимий максимальний шрифт. Коли ви хочете вибрати крупний " "шрифт, збільшуйте його крупність поступово (перезавантажуючи і перевіряючи " "результат).\n" "Несправність відбувається, коли елементи графічного інтерфейсу GRUB (межі, " "опис) не можуть бути розміщені на екрані. Таким чином, коли досить вільного " "місця по вертикалі ви можете спробувати збільшити шрифт. Велика кількість " "пунктів меню не є проблемою, ви можете прокрутити їх.\n" "\n" "Результати несправності полягають в безперервному завантаженні GRUB2. Щоб " "виправити це, Вам знадобитися Live CD:\n" " * вилучити шрифт (MOUNT)/boot/grub/unicode.pf2\n" " * перезавантажте ваш комп'ютер (меню повинно відображатися з використанням " "типових шрифтів)\n" " * відкрийте /etc/default/grub від імені суперкористувача (ROOT) і " "розмістіть '#' на початку рядка GRUB_FONT\n" " * після чого запустіть Grub Customizer, щоб вибрати використаний раніше " "шрифт" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Шрифти Grub можуть призвести до несправностей (Інформація)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Ви справді бажаєте вилучити цю тему" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Додати запис зі смітника" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Вилучені елементи" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Відновити" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Відновити вибрані пункти меню" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "назавжди вилучити вибрані пункти меню" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "вилучити пункти меню назавжди - ця дія доступна лише для пунктів меню " "користувача" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Це вилучить такі записи:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Тест пам'яті" grub-customizer-5.1.0/translation/translation-bs.po0000644000175000017500000005520413360360026021773 0ustar danieldaniel# Bosnian translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Bosnian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Naziv unosa" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "nemoguće je pomaknuti ovaj unos" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Postavke su spremljene" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "Ažuriranje postavki" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Prilagoditelj je grafičko sučelje za podešavanje Grub2/Burg postavki" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "podizbornik" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "rezervirano-mjesto" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "unos-izbornika" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "trenutno" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Vrsta:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Uređivač unosa" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Ostalo" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(kod skripte)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Particija" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Ramdisk pokretanja" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux slika" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest slika" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Putanja do iso datoteke" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parametri kernela" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Particija:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Točke-podmontiranja:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "spremi ova podešavanja" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Montiranje nije uspjelo!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Demontiranje nije uspjelo!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Čini se da ovo nije korijenski (root) datotečni sustav (fstab nije pronađen)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nemoguće montiranje odabrane particije" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nemoguće demontiranje odabrane particije" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Došlo je do pogreške" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Obavijestite autora o ovom problemu. Sljedeće informacije bi mogle pomoći:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "nastavi (rizik gubitka podataka)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instaliraj boot učitavač u MBR i stavi nešto\n" "datoteka u boot učitavačov direktorij podataka\n" "(ako već ne postoje)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Uređaj: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instaliraj u MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Boot učitavač je instaliran uspješno" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Pogreška tijekom instalacije boot učitavača" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Instaliranje boot učitavača..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Molim utipkajte niz uređaja!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Datoteka" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Uredi" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Prikaz" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Pomoć" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instaliraj u MBR …" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG pronađen!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "napredne postavke" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Promjene koje ste učinili zahvaćaju vidljive unose. Ponovno učitajte!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Popis podešavanja" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Ukloni odabrane unose (možete ih vratiti iz smeća)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Pomaknite gore odabrani unos ili skriptu" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Pomaknite dolje odabrani unos ili skriptu" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Ukloni ovaj unos iz trenutnog podizbornika" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Dodaj ovaj unos na novi podizbornik" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Vraća popis na zadani redoslijed" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Ponovno učitaj podešavanje. Nespremljene promjene će biti sačuvane." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Preimenuj" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Pomakni gore" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Pomakni dolje" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Ukloni iz podizbornika" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Stvori podizbornik" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Promjeni okruženje …" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Želite li podesiti BURG umjesto Grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Opće postavke" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Postavke izgleda" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG način" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Učitavanje postavki..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Učitavanje skripte %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy binaran nije pronađen!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Vidjet ćete sve unose (neprilagođene) kada pokrenete Grub. Ova greška " "nastaje (u većini slučaja), kada ne instalirate Grub Prilagoditelja ispravno." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(nadolazeći Unos od %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(nadolazeći Unos)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Spremljene postavke nisu ažurirane!!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Generirane postavke nisu jednake spremljenim postavkama prilikom pokretanja. " "Stoga ono što vidite sada možda nećete vidjeti nakon ponovnog pokretanja " "računala. Da bi to popravili, kliknite na ažuriranje!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Izađi bez ažuriranja" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Ažuriraj i izađi" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Želite li spremiti izmjene?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Izađi bez spremanja" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Spremi i izađi" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "I: vaše promjene još uvijek nisu spremljene, ažuriranje će spremiti i njih!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 ne može se izvršiti uspješno. Poruka greške:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Postavke okruženja" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Želite li nastaviti bez spremanja trenutnih podešavanja?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Postoje nespremljene izmjene!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Uklanjanje koda skripte može prouzročiti probleme kada pokušavate pokrenuti " "unose koji ovise o toj skripti. Sigurno to želite učiniti?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Pokušavate ukloniti unos trenutno pokrenutog sustava. Budite sigurni da " "postoje drugi radni unosi ovog sustava!\n" "Ako samo želite ukloniti stare kernele, najbolji način je da ih " "deinstalirate umjesto da ih samo sakrijete u boot izborniku." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Jeste li sigurni?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Ovo će ukloniti sve vaše promjene popisa bootloader izbornika!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pred_definirano: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "prije _učitan unos" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Uobičajeni unos" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Prikaz" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "prikaži izbornik" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Parametri kernela" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "generiraj unos obnavljanja" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "potraži druge operativne sustave" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "prilagođena rezolucija: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "postavke" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Općenito" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "I_zgled" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Napredno" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "Aktivno" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Naziv" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "Vrijednost" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Ova mogućnost ne radi dok \"os-prober\" skripta traži ostale operativne " "sustave. Onemogući \"%1\" ako ne trebate pokrenuti ostale operativne sustave" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "bijela" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "žuta" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "svijetlo-modra" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "modra" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "svijetlo-plava" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "plava" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "svijetlo-zelena" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "zelena" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "svijetlo-ljubičastocrvena" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "ljubičastocrvena" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "svijetlo-crvena" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "crvena" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "smeđa" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "svijetlo-smeđa" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "tamno-siva" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "prozirno" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "crna" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Slika pozadine" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "ukloni pismo" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "ukloni pozadinu" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Dodaj unos iz smeća" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Ovo briše sljedeće unose:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-zh_TW.mo0000644000175000017500000003546013360360026022421 0ustar danieldaniel 8 + > IWE T`v \ * =K P Z#f   %&'6/L@|' /%7!]:M 5M _ kqv   - ;&El$t !9 $y2%(+6G~.)!&I *S~ %#F@j8u gq    2 ? N ] d o {        !)!:!@!E!K!b!t!!!! ! !!L!%"7"@"Z"`" }"" " " " " " """ #2# :#D# I##W# {#X# ##$= $I$ [$*g$$$ $$ $$ $$$ % %% %'%+&&&'' #'/'>'B' ((/( H(U(ee( (!(() ))"*) M) Z)f) v))))))-)-(*!V*x* *1*'** +3+F+FM+)+++++o , {, ,, ,,,,,', -'-:-J-Z-j-q---;.T.9g..o. !/./A/]/$|/0///0$0-50c0!01=81!v111.3G36c3033V4 55+5?5 N5 Y5 d5 o5z55 555555 6*6 =6 K6Y6j66 6666 66 6 7'7 D7 Q7^7e7l7s777777 7 77< 8I8 _8l88!88 8 8 8 8 8 8 889)9 B9L9d9k9z9 9K999:9: V: c:*p::: :: :::: ;; ;";);jb^K=#[I 4J{"q|T,ga]5$S*G;}@.h!MVR N:8iYo7sZv2c1DwWm3HtQCf'/~\de)< LF-06l ( 9kEApu%P`>nXOyz_ xr&+BU?%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAn error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-03-01 04:25+0000 Last-Translator: Walter Cheuk Language-Team: Chinese (Traditional) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 無法成功執行。錯誤訊息: %2(自訂設定)(首個項目)(進入項目%1)(進入項目)(其他…)(腳本代碼)一組其他的作業系統。點擊時,Grub 會將之顯示為普通選單項目,並載入另一個選單,再從中選擇作業系統。並且:您的修改仍未儲存,更新將連同儲存它們!外觀(_P)有關項目類型從回收筒加入項目全部檔案有錯誤發生「選單項目(menuentry)」會出現於 grub 選單;當啟用時會以某個作業系統開機。封存檔是否確定移除此佈景主題您確定嗎?BURGBURG 模式找到了 BURG!在 %1 秒後以預設項目開機開機次序Chainloader選擇檔案…選擇...配置已被儲存無法掛載選取的分割區無法卸載選取的分割區建立子選單自訂佈景主題設定您是否想要配置BURG,而不是grub2?想繼續執行而不儲存目前配置嗎?是否要儲存所做的修改?項目編輯器環境設定建立開機次序時出錯。 請檢查參數!安裝開機載入程式時出現錯誤未能儲存 GRUB 設定!檔案未能置換檔案。請先選取佈景主題檔!Grub 2Grub Customizer 是用來設置 grub2/burg 設定的圖形介面程式GRUB 字型可能對系統有害 (資訊)突顯項目:背景突顯項目:字型ISO 映像檔: I_SO 映像檔安裝開機載入程式至 MBR 及放一些 檔案到開機載入程式資料目錄 (如果還沒有的話)。安裝到 MBR內核參數LinuxLinux-ISO記憶體檢測Memtest 映像檔: 掛載失敗!下移將選定的項目或腳本向下移動上移將選定的項目或腳本向上移動命名該項目正常:背景正常:字型其他到 ISO 檔的路徑請選擇背景圖片!請檢視以下指令列的輸出結果。若閣下認為 Grub Customizer 有問題,請於 %1 回報!通常而言 Grub Customizer 不應該會這樣。請輸入裝置字串!從子選單移除移除所選項目 (您可以將它們從回收筒還原)已移除項目移除腳本代碼可能會導致當試圖啟動依賴於它的項目時發生問題。確定想這樣做嗎?重新命名還原所選項目還原清單為預設順序儲存設定並製作新的 %1未完全成功儲存佈景主題!腳本有更新。按「儲存」套用變更!顯示佔位符號(_P)顯示隱藏項目(_H)子掛載點:開機載入程式已經成功安裝所選檔案不能以佈景主題方式載入產生的設定與啟動時儲存的設定不相符。故重新啟動電腦時看到的,與此處的未必相同。請「更新」來修正此問題!不能使用給定的檔案名稱無法儲存 GRUB 設定您所做的修改影響可見的項目。 請重新載入!儲存的配置不是最新的!佈景主題內容此特殊項目有兩種:Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. 預設會隱藏佔位符號。有未儲存的修改!這會刪除以下項目:這將移除您開機選單中所有清單的修改!這似乎不是根檔案系統 (找不到 fstab)當運行 GRUB 時,會看到所有 (沒有修改過的) 項目。若 grub gustomizer 安裝得不正確,此問題通常都會發生。正在移除正在運行的系統項目。請先確保本電腦有其他可正常運行的系統項目! 如僅想移除舊內核,應將其解除安裝而非在開機選單隱藏。進階(_A)外觀設定(_A)變更環境(_C)...裝置(_D): 編輯(_E)檔案(_F)字型(_F)一般(_G)一般設定(_G)依腳本分組(_G)求助(_H)虛擬檔案系統(_I)安裝到 MBR(_I)..._Linux 映像檔清單配置(_L)載入檔案(_L): 記憶體檢測映像檔(_M)_Memtest 映像檔名稱(_N):分割區(_P)分割區(_P):結束而不更新(_Q)結束而不更新(_Q)還原(_R)儲存及結束(_S)顯示詳情(_S)佈景主題(_T):類型(_T):更新及結束(_U)檢視(_V)加入佈景主題加入這個項目到一新的子選單進階設定背景圖片黑色藍色棕色不能移動這個項目選擇佈景主題檔繼續 (有可能遺失資料)目前自訂解析度: 青色深灰色預設項目預設名稱:%1永久刪除所選項目 - 此動作只在自訂項目提供刪除此佈景主題檔案名稱產生復原項目綠色正在安裝開機載入程式...啟用內核參數淡藍色淺青色淺灰色淺綠色淺洋紅色淺紅色正在載入配置...載入腳本 %2/%3 (%1)尋找其他作業系統洋紅色選單項目(menuentry)名稱分割區:%1永久刪除所選項目佔位符號關於這個問題,請通知作者。下列資訊可能會有所幫助:預定(_D): 先前啟動的項目(_B)紅色重新載入配置。尚未儲存的變更將被保留。移除背景移除字型從目前的子選單中,移除此項目儲存這個配置腳本(script)腳本:%1設定顯示選單子選單(submenu)透明卸載失敗!更新配置值可見性白色黃色grub-customizer-5.1.0/translation/translation-pt_BR.po0000644000175000017500000007036413360360026022401 0ustar danieldaniel# Brazilian Portuguese translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-08-06 06:18+0000\n" "Last-Translator: Thiago Braga \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nome da Entrada" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "esta entrada não pode ser movida" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "A configuração foi salva" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "atualizando configuração" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer é uma interface gráfica para alterar as configurações do " "grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "submenu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "espaço reservado" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "entrada do menu" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "None padrão: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "Partição : %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Imagem-ISO " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Imagem-Memtest " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "atual" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tipo:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Ordem de boot" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nome:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Erro a criar ordem de boot.\n" "Reveja os parâmetros!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor de entradas" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Escolher..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Outro" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(código de script)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Escolher arquivo..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partição" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Disco de RAM inicial" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Imagem do Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Imgem do Memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Caminho para o arquivo iso" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parâmetros do kernel" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO imagem" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-Imagem" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partição:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Sub pontos de montagem" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "salvar esta configuração" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Falha ao montar!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "falha ao desmontar!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Esse não parece ser o sistema de arquivos raiz (fstab não encontrado)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Impossível montar a partição selecionada" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Impossível desmontar a partição selecionada" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Ocorreu um erro" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "por favor, informe o autor sobre este problema. As informações a seguir " "podem ser úteis:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "continuar (risco de perda de arquivos)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instalar o bootloader na MBR e colocar alguns\n" "arquivos no diretório de dados do bootloader\n" "(se já não existir)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Dispositivo: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalar na MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "O bootloader foi instalado com sucesso" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Erro ao instalar o bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "instalando o bootloader..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Por favor digite o nome do dispositivo!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Arquivo" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Editar" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Exibir" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Ajuda" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instalar na MBR..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Mostrar detalhes" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Mostrar _entradas ocultas" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Agrupar por Script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Mostrar _Espaços reservados" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG encontrado!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "configurações avançadas" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "As modificações que você fez afeta as entradas visíveis. Por favor, volte!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Atualizações de script encontrado. Clique em Salvar para aplicar as " "alterações!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Configuração da lista" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Remover entradas selecionadas (você pode restaurá-las da lixeira)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Mover para cia a entra selecionada ou script" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Mover para baixo a entrada selecionada ou script" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "remover esta entrada do submenu atual" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "adiconar esta entrada ao novo submenu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Reverte a lista para a ordem padrão" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "recarrega a configuração. As alterações não salvas serão preservadas." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Renomear" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Mover para cima" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Mover para baixo" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Remover do submenu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Criar submenu" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Alterar Ambiente" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Você deseja configurar BURG, em vez de grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Configurações gerais" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Configurações da aparência" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Modo \"Burg\"" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Guardar configuração e gerar um novo %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "carregando configuração..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "carregando script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Binário do proxy não encontrado!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Você verá todas as entradas (não personalizada) quando você executar o grub. " "Este erro ocorre (na maioria das vezes), quando você não instala o grub " "customizer corretamente." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Entradas inseridas de %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Entradas inseridas)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "A configuração salva não está atualizada!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "A configuração gerada não é igual a configuração salva na inicialização. " "Então o que você ver agora pode não ser o que você verá quando reiniciar o " "pc. Para corrigir isso, clique em atualizar!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Sair sem atualizar" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Atualizar & Sair" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Você quer salvar suas modificações?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Sair sem salvar" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "Sa_lvar & Sair" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "Suas modificações ainda não foram salvas; a atualização as salvará também!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Falhou ao salvar configuração do Grub!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "A configuração do grub não podem ser salva" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Por favor, dê uma olhada na linha de saída do comando abaixo. Se você acha " "que isso é um bug do Grub Customizer, por favor, crie uma em %1! Geralmente " "Grub Customizer deve evitar erros como este." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 não pode ser executado com sucesso. mensagem de erro:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Configurações de ambiente" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Você quer continuar sem salvar a configuração atual?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Há modificações que não foram salvas!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Removendo o código de script pode causar problemas ao tentar iniciar " "entradas confiando nelas. Tem certeza de que quer fazer isso de qualquer " "maneira?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Você está tentando remover uma entrada do sistema atualmente em execução. " "Verifique se há outras entradas de trabalho deste sistema!\n" "Se você quiser apenas remover kernels antigos: A melhor maneira é desinstalá-" "los em vez de apenas escondê-los no menu de inicialização." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Uma entrada de menu é visível no menu do grub e boot de um sistema " "operacional quando ativado." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Um grupo de outros sistemas operacionais. Grub mostra-o como um item do menu " "normal, no entanto, quando clicar nele, ele carrega um outro menu que " "permite que você escolha uma das entradas que contem no menu" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Existem dois tipos de esta entrada especial: inscrições recebidas são o " "lugar onde Grub Customizer coloca novos sistemas operacionais que são " "encontrados pelo grub, mas ainda não configuradas com Grub Customizer. O " "código de script é o código gerado pelo grub que não se parece com uma " "entrada de menu. Na maioria dos casos ele é usado para configurar o grub. " "Você só deve tocá-lo ao saber que ele faz. Os espaços reservados são ocultas " "por padrão." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Scripts estão gerando entradas do menu. Assim, a cada entrada do menu " "pertence a um script. Eles são apresentados como grupos de alto nível quando " "ativado. No entanto, em contraste com submenus eles não são mostrados no " "menu de inicialização." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Sobre os tipos de entrada" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Você tem certeza?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Isso remove todas as modificações na sua lista de menu bootloader!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pré_definido: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "entrada previamente utilizada: _booted" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "entrada padrão" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "visibilidade" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "mostrar menu" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "parâmetros do kernel" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "gerar entradas de recuperação" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "procurar por outros sistemas operacionais" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "resolução personalizada: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "configurações" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Geral" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "A_parência" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avançado" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "está ativo" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "nome" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "valor" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "boot padrão de inicialização depois de %1 segundos" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(primeira entrada)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(outros…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Essa opção não funciona quando o script \"os-prober\" procura por outros " "sistemas operacionais. Desabilite \"%1\" se você não precisa inicializar " "outros sistemas operacionais." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Esta opção permite escolher o sistema operacional que deve ser selecionado " "durante a inicialização. Por padrão, este é sempre o primeiro. Esta opção " "significa que a seleção de entrada padrão permanece a mesma ao colocar " "outros sistemas operacionais lá.\n" "\n" "Em contraste com a primeira opção, as outras opções são referenciadas por " "nome. Portanto, o sistema padrão não é alterado quando se move para outra " "posição.\n" "\n" "Se você quiser usar outra referência como \"sempre aponte para a segunda " "entrada\" você pode usar a última opção que permite digitar uma referência " "personalizada. Exemplos de uso:\n" " 1 = \"sempre apontar para a segunda entrada\" (contagem começa por 0)\n" " Teste>0 = \"sempre apontar para a primeira entrada de um submenu chamado " "teste\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "branco" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "amarelo" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "ciano-claro" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "ciano" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "azul-claro" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "azul" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "verde-claro" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "verde" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "magenta-claro" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "vermelho-claro" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "vermelho" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "marrom" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "cinza-claro" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "cinza-escuro" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "transparente" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "preto" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Carregar arquivo: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "imagem de fundo" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Por favor escolha uma imagem de fundo!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Fonte" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "Escolha um arquivo de tema" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Conteúdo de tema" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Configurações de tema personalizado" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal: Font" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: Plano de fundo" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Destaque: Fonte" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Destaque:: Plano de fundo" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Arquivo" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Adicionar tema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "Apagar este tema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Arquivos de dados" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Todos os arquivos" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "remover fonte" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "remover plano de fundo" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Configurações Personalizadas)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "O arquivo escolhido não pode ser carregado como tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "O nome dado ao arquivo não pode ser usado" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Este tema não contém um %1. Por favor, procure o arquivo de configuração e " "renomeá-lo para \"% 1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "os temas não foram completamente salvos com sucesso!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "Substituição de arquivo falhou. Por favor, selecione um arquivo de tema em " "primeiro lugar!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "nome do arquivo" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "por favor, note: grandes fontes em resoluções de tela de inicialização baixo " "pode corromper a tela de inicialização\n" "Uma vez que este problema depende da escolha da fonte, que não é possível " "definir um máximo geral. Quando você está tentando selecionar uma fonte " "maior, faça-o em pequenos passos (reinicie e verifique os resultados).\n" "\n" "ele resulta na corrupção em um tempo de carregamento interminável de grub2. " "Você precisa de um LiveCD para corrigir isso:\n" "* Excluir a fonte a partir de (MOUNT) /boot/grub/unicode.pf2\n" "* Reiniciar o sistema (menu deve aparecer com fontes padrão)\n" "* Abrir / etc / default / grub com permissões de root e coloque um '#' na " "frente da linha contendo GRUB_FONT\n" "* Em seguida, executar grub customizer para escolher o tipo de letra usado " "antes" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Fontes no Grub pode ser prejudicial (Info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Tem certeza de que deseja remover este tema?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Em alternativa ao método de temas simples, que fornece algumas opções como " "cor, papel de parede e da fonte que você pode instalar pacotes temáticos " "complexos para obter um menu de inicialização ainda melhor visualmete.\n" "\n" "Existem várias fontes de download como esta discussão em ubuntuforums.org:\n" "%1 (nescessita de uma conta)\n" "ou procure por '%2' até %3\n" "\n" "Basta baixar esse pacote (que é em formato tar.gz na maioria dos casos) e " "adicioná-lo à lista de temas disponíveis, usando o botão Adicionar ao lado " "do seletor de tema\n" "\n" "Depois de mudar o tema, você verá um editor simples que dá uma pré-" "visualização de imagens e permite que alguns de gerenciamento de arquivos. " "Conteúdos temas de modificados será salvo quando você pressionar o botão " "salvar" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Adicionar entrada da lixeira" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Itens removidos" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Restaurar" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Restaurar entradas selecionadas" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Deletar permanentemente estas entradas selecionadas" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "excluir entradas de forma permanente - esta ação está disponível apenas " "entradas personalizadas" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Isso exclui as seguintes entradas:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Carregador" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-es.po0000644000175000017500000007070313360360026021777 0ustar danieldaniel# Spanish translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-09-24 19:54+0000\n" "Last-Translator: Xavier \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" "Language: es\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nombrar la entrada" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "No se puede mover esta entrada" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Se ha guardado la configuración" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "Actualizando la configuración" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer es una interfaz gráfica para configurar los gestores de " "arranque GRUB2/BURG" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "Script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "Submenú" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "Marcador de posición" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "Entrada del menú" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "Script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "Nombre por defecto: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "Partición: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Imagen ISO: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Imagen Memtest: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "Actual" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tipo:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Secuencia de arranque" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nombre:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Se ha producido un error al crear la secuencia de arranque.\n" "¡Compruebe los parámetros!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor de entradas" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Elegir…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Otro" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(Código del script)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Elegir un archivo…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partición" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "Ramdisk _inicial" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Imagen _Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Imagen _Memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Ruta al archivo ISO" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parámetros del núcleo" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "Imagen I_SO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "Imagen _Memtest" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partición:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Subpuntos de montaje:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "Guardar esta configuración" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "GRUB2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "¡Montaje fallido!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "¡Desmontaje fallido!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Esto no parece un sistema de archivos raíz (no se ha encontrado el archivo " "fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "No se ha podido montar la partición seleccionada" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "No se ha podido desmontar la partición seleccionada" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Se ha producido un error" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Informe al autor sobre este problema. La información siguiente puede ser de " "utilidad:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "Continuar (con riesgo de pérdida de datos)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instalar el gestor de arranque en el MBR y guardar\n" "algunos archivos en la carpeta de datos del gestor\n" "de arranque (si aún no existen)" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Dispositivo: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalar en el MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Se ha instalado correctamente el gestor de arranque" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Se ha producido un error al instalar el gestor de arranque" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Instalando el gestor de arranque…" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "¡Introduzca el nombre del dispositivo!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Archivo" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Editar" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Ver" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "Ay_uda" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instalar en el MBR…" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Mostrar detalles" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Mostrar _entradas ocultas" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "Agrupar por _script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Mostrar _marcadores de posición" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "¡BURG encontrado!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Configuración avanzada" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Las modificaciones que se han hecho afectan a las entradas visibles. " "¡Recargue la configuración!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Se han encontrado actualizaciones de scripts. ¡Haga clic en guardar para " "aplicar los cambios!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "Configuración de la _lista" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Quitar las entradas seleccionadas (se pueden restaurar de la papelera)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Subir el elemento seleccionado" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Bajar el elemento seleccionado" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Quitar esta entrada del submenú actual" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Añadir esta entrada a un submenú nuevo" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Revierte todas las modificaciones" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Recarga la configuración (preserva los cambios no guardados)" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Renombrar" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Subir" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Bajar" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Quitar del submenú" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Crear submenú" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Cambiar entorno…" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "¿Quiere configurar BURG en lugar de GRUB2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Configuración _general" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Configuración de la _apariencia" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Modo BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Guardar la configuración y generar un nuevo %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Cargando la configuración…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "Cargando script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "¡No se ha encontrado el proxy binario!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Cuando se ejecute el cargador de arranque, se mostrarán todas las entradas " "(sin personalizar). Este error se produce (en la mayoría de los casos) " "cuando Grub Customizer no se ha instalado correctamente." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Entradas recibidas de %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Entradas recibidas)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "¡La configuración guardada no está actualizada!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "La configuración generada no es igual a la configuración guardada al inicio. " "Lo que ve ahora puede que no sea lo que vea cuando reinicie el equipo. ¡Para " "solucionar esto, haga clic en actualizar!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Salir sin actualizar" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Actualizar y salir" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "¿Quiere guardar las modificaciones?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Salir sin guardar" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Guardar y salir" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "NOTA: Las modificaciones aún no se han guardado, ¡la actualización también " "las guardará!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" "Se ha producido un error al guardar la configuración del gestor de arranque" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "No se puede guardar la configuración del gestor de arranque" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Consulte la salida de la línea de órdenes siguiente. Si cree que se trata de " "un error de Grub Customizer, cree un informe de error en %1. Grub Customizer " "debería evitar este tipo de errores." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 no se ha podido ejecutar correctamente. Mensaje de error:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Configuración del entorno" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "¿Quiere continuar sin guardar la configuración actual?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "¡Hay modificaciones sin guardar!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Quitar el código de un script puede causar problemas al intentar arrancar " "las entradas que dependen de él. ¿Quiere hacerlo de todos modos?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Está intentando quitar una entrada del sistema en ejecución. ¡Asegúrese de " "que existen otras entradas operativas para este sistema!\n" "Para eliminar núcleos antiguos, es mejor desinstalarlos que quitar sus " "entradas del menú de arranque." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Entrada del menú del gestor de arranque que inicia un sistema operativo " "cuando se activa." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Entrada del menú del gestor de arranque que carga otro menú con otras " "entradas del menú." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Hay dos tipos de esta entrada especial. Las entradas recibidas contienen los " "sistemas operativos nuevos encontrados por el gestor de arranque que todavía " "no se han configurado con Grub Customizer. Los códigos de los scripts " "contienen el código de los scripts que generan las entradas del menú de " "arranque. Sólo se deben modificar si se conoce su funcionamiento. Los " "marcadores de posición están ocultos por defecto." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Los scripts generan las entradas de menú. Cada entrada del menú pertenece a " "un script. En contraste con los submenús, los scripts no se muestran en el " "menú de arranque." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Acerca de los tipos de entrada" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "¿Está seguro?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "¡Esta acción elimina todas las modificaciones del menú del gestor de " "arranque!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "_Predefinir: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "Usar el último arranque" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "Entrada predeterminada" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "Visibilidad" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "Mostrar el menú de arranque" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Parámetros del núcleo" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "Generar entradas de recuperación" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "Buscar otros sistemas operativos" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "Personalizar la resolución: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "Configuración" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_General" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "A_pariencia" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avanzada" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "Activar" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Nombre" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "Valor" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Arrancar la entrada predeterminada en %1 segundos" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(Primera entrada)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(Otra…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Esta opción no funciona cuando el script «os-prober» encuentra otros " "sistemas operativos. Desactive «%1» si no necesita arrancar otros sistemas " "operativos." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Este menú desplegable permite elegir el sistema operativo que se selecciona " "automáticamente para arrancar. La opción predefinida selecciona el sistema " "operativo que indica la primera entrada del menú de arranque.\n" "\n" "En contraste con la primera opción, las otras opciones permiten elegir la " "entrada predeterminada por su nombre. Por lo tanto, el sistema operativo que " "se selecciona no varía cuando su entrada cambia de posición.\n" "\n" "La última opción de la lista permite elegir la entrada predeterminada con " "una referencia personalizada. Ejemplos de uso:\n" "1 = la entrada predeterminada es la segunda (el recuento comienza por 0).\n" "test> 0 = la entrada predeterminada es la primera entrada del submenú " "llamado «test»." #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "Blanco" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "Amarillo" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "Cian claro" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "Cian" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "Azul claro" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "Azul" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "Verde claro" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "Verde" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "Magenta claro" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "Magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "Rojo claro" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "Rojo" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "Marrón" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "Gris claro" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "Gris oscuro" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "Transparente" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "Negro" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "Cargar arc_hivo: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Imagen de fondo" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "¡Elija una imagen de fondo!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Tipo de letra" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "Elija un archivo de tema" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Contenido del tema" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Configuración básica" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal: letra" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: fondo" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Resaltado: letra" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Resaltado: fondo" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Archivo" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "Añadir un tema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "Eliminar este tema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Archivadores" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Todos los archivos" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "Quitar el tipo de letra" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "Quitar el fondo" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Configuración básica)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "El archivo elegido no se puede cargar como un archivo de tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "El nombre de archivo dado no se puede utilizar" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Este tema no contiene un 1%. ¡Busque el archivo de configuración y cambie su " "nombre a «%1»!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "¡Los temas no se han guardado completamente!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "Sustitución de archivos fallida. ¡Seleccione primero un archivo de tema!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "Nombre de archivo" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "NOTA: Tipos de letra grandes en resoluciones de pantalla bajas pueden " "corromper la pantalla de arranque.\n" "Dado que este problema depende del tipo de letra seleccionado, no es posible " "definir un tamaño máximo de tipo de letra. Para seleccionar un tipo de letra " "grande, hágalo en varios pasos (reiniciando y comprobando los resultados).\n" "El problema se produce cuando los elementos del menú de arranque (bordes y " "descripción) no caben en la pantalla. Mientras haya suficiente espacio " "vertical se puede probar un tipo de letra mayor tamaño. La cantidad de " "entradas del menú no constituyen un problema; se desplazan si es necesario.\n" "\n" "La corrupción de la pantalla de arranque resulta en un tiempo de carga " "infinito para el gestor de arranque. Para solucionar este error, arranque " "desde un CD y siga estas instrucciones:\n" "* Eliminar el archivo de tipo de letra " "(PUNTO_DE_MONTAJE)/boot/grub/unicode.pf2.\n" "* Reiniciar el sistema (el menú de arranque mostrará el tipo de letra " "predeterminado).\n" "* Abrir el archivo /etc/default/grub con permisos de superusuario y colocar " "un carácter # al principio de la línea que contenga GRUB_FONT.\n" "* Ejecutar Grub Customizer para elegir un tipo de letra de menor tamaño." #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Corrupción del gestor de arranque" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "¿Seguro que quiere eliminar este tema?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Como alternativa a la configuración básica de colores, fondo de pantalla y " "tipo de letra, puede instalar paquetes de tema para obtener un menú de " "arranque más elegante.\n" "\n" "Hay varias fuentes de descarga, como este hilo en ubuntuforums.org:\n" "%1 (necesita una cuenta) o buscar «%2» en %3.\n" "\n" "Basta con descargar el paquete (que está en formato tar.gz en la mayoría de " "los casos) y añadirlo a la lista de temas disponibles mediante el botón de " "añadir situado junto al selector de temas.\n" "\n" "Después de seleccionar un tema, se carga un editor sencillo que muestra una " "vista previa de las imágenes que contiene y permite la gestión de algunos " "archivos. El contenido del tema modificado se guarda al hacer clic en el " "botón de guardar." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Añadir entrada de la papelera" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Papelera" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Restaurar" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Restaurar las entradas seleccionadas" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Eliminar permanentemente las entradas seleccionadas" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "Eliminar entradas permanentemente (esta acción solo está disponible para " "entradas personalizadas)" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Esta acción eliminará las entradas siguientes:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux (ISO)" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Cargador en cadena" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Test de memoria" grub-customizer-5.1.0/translation/translation-zh_CN.mo0000644000175000017500000002552513360360026022370 0ustar danieldaniel  8 R d Er   * .< A KW%t&/@'W %:M \}q (6 <F N \&f$ !"?W9k %+6 CX.h)!rI*  #9]@82k  3=CIOXj{    $ - :HPWf lv ) . 8FXa{        2S[X` =" 4*@k   +{<  ) 6 CPl|  -*Xk {67%$ J Z tj  ! !!"!$)!N!$U! z!!!!!!!!"8,"e" x"""3""##$+#P#!#<$$X$ }$$$$9L%?%% [&f&w&& & & & &&& &&'('9'J'_' v' ''' ''' ' ' ( ( +(*8( c( p(}((((((((( ( )) )*):)A) Z) d) q) {) ) ) ) ))))))?*E*U*l*3s* * ***** * +++ ,+9+@+G+N+7Oy|+QVN;`=MWXa/l }D 5IocG.#*Yd$L>Ctm ^i0RnwT@Je1Eh\'Ab!z KvH~483%r& ],qZP:_-Uuf62?{[xpS)gsB <9"jFk(%1 couldn't be executed successfully. error message: %2(Custom Settings)(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceAdd entry from trashAll filesAn error occurredArchive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError while installing the bootloaderFileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRenameReverts the list to the default orderSaving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Show _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentanameplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptsettingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: Wang Dianjin Language-Team: Chinese (Simplified) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 无法成功执行。错误信息: %2(自定义设置)(脚本代码)还有:修改还没有保存,更新时会进行保存!外观(_P)从回收站添加条目全部文件发生错误归档文件你确定要删除该主题您确定吗?BURGBURG 模式找到 BURG!配置已保存无法挂载选中的分区无法卸载选中的分区创建子菜单自定义主题设置要配置BURG 来代替 Grub2 ?您希望不保存当前配置并继续吗?保存修改吗?条目编辑器环境设置安装引导器时出现错误文件文件替换失败。请先选择一个主题文件!Grub 2Grub Customizer 是配置 grub2/burg 的图形化界面Grub 字体可能会很糟糕(信息)高亮:背景高亮:字体安装启动引导器到 MBR,并将相应的文件 安放到启动引导器数据目录 (如果它们不存在)。安装到 MBR内核参数LinuxLinux-ISOMemtest挂载失败!下移向下移动选中的条目或脚本上移向上移动选中的条目或脚本命名条目常规:背景常规:字体其他iso 文件路径请选择一张背景图片!请输入设备字符串!二进制代理未找到!从子菜单中移除移除选中的条目(您可以从回收站恢复它们)已移除的条目重命名恢复列表到默认顺序主题保存没成功!脚本发现更新,点击保存以应用更改!显示隐藏的条目(_H)子挂载点:引导器安装成功选中的文件无法加载为主题生成的配置不等于启动时已保存的配置。重启动电脑后看到的,不一定是现在你所看到的。要修复这个问题,请点击“更新”!给定的文件名称无法使用您已做的更改会影响可见条目。请重新加载!已保存的配置不是最新的!主题内容尚有未保存的修改!这将删除下列项:如果“os-prober”脚本找到其它的操作系统,本选项无效。如果不需要启动其它的操作系统,请禁用“%1”。这将移除引导器菜单的全部列表更改内容!看起来不像是一个根文件系统(找不到 fstab 文件)在运行 Grub 时会看到全部项目(未自定义)。如果没有正确安装 Grub customizer , (在大多数情况下)会出现这个错误。高级(_A)外观设置(_A)更改环境(_C)...设备(_D): 编辑(_E)文件(_F)字体(_F)常规(_G)常规设置(_G)使用脚本分组(_G)帮助(_H)初始化虚拟硬盘(_I)安装到 MBR(_I)...Linux 镜像(_L)列表配置(_L)加载文件(_L): 内存测试镜像(_M)分区(_P)分区(_P):不保存直接退出(_Q)退出并不更新(_Q)恢复(_R)保存并退出(_S)显示详情(_S)主题(_T):类型(_T):更新并退出(_U)查看(_V)添加主题将该条目添加到一个新的子菜单高级设置背景图像黑色蓝色褐色无法移动该条目选择主题文件继续(有数据丢失风险)当前自定义分辩率: 青色深灰色默认项删除该主题文件名生成恢复项绿色正在安装引导器...活动的内核参数浅蓝色浅青色浅灰色浅绿色浅青色浅红色载入配置中…正在加载脚本 %2/%3 (%1)查找其它操作系统品红名称请将该问题告知作者。下面的信息可能会有用:预定义(_D): 上一个启动项(_B)红色重新加载配置。将保留未保存的更改。删除背景移除字体从子菜单中移除该条目保存该配置脚本设置显示菜单子菜单透明卸载失败!更新配置数值可见白色黄色grub-customizer-5.1.0/translation/translation-bs.mo0000644000175000017500000002462213360360026021770 0ustar danieldaniel4L 8 R k ~ E      " . : %W &}  / @ '$ L Y %n  M q [ jx ~  &$ "?W9ky%&L.\I<* #@8   '; J Uav 9AU Z dr       ) Cd lv {X = I [*g   x7 OPXm  '),'?:g.Lwg  3)A k(x 4T ! '" J H!%d!!!!@X"O""# r$|$$ $$ $ $$$$$ %%1% @% K%W%m%%%%%#%%%%& & & 2&S&\&v& |&&&& &&&&''#'3'N'^'v'!'''''L'>(P(d(Gk(( (*(()) .):)C)^) s)~)))PIFa=x pk`b$ny2_/+Z(#v}3mKeRUM9D,7w^{EB"N!l0zJQjO:s8' ?| Hh ]5Ar1d%WXTqG~fCStg>.[;i- <@\)u4o*YL6&cV%1 couldn't be executed successfully. error message: %2(incoming Entries of %1)(incoming Entries)(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceAdd entry from trashAn error occurredAre you sure?BURGBURG ModeBURG found!ChainloaderConfiguration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError while installing the bootloaderGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryOtherPath to iso filePlease type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removing Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameReverts the list to the default orderSubmountpoints:The bootloader has been installed successfullyThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_General_General settings_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Memtest image_Partition_Partition:_Quit without saving_Quit without update_Save & Quit_Type:_Update & Quit_Viewadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrycontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrygenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynameplaceholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationsettingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: FULL NAME Language-Team: Bosnian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 ne može se izvršiti uspješno. Poruka greške: %2(nadolazeći Unos od %1)(nadolazeći Unos)(kod skripte)I: vaše promjene još uvijek nisu spremljene, ažuriranje će spremiti i njih!I_zgledDodaj unos iz smećaDošlo je do pogreškeJeste li sigurni?BURGBURG načinBURG pronađen!ChainloaderPostavke su spremljeneNemoguće montiranje odabrane particijeNemoguće demontiranje odabrane particijeStvori podizbornikŽelite li podesiti BURG umjesto Grub2?Želite li nastaviti bez spremanja trenutnih podešavanja?Želite li spremiti izmjene?Uređivač unosaPostavke okruženjaPogreška tijekom instalacije boot učitavačaGrub 2Grub Prilagoditelj je grafičko sučelje za podešavanje Grub2/Burg postavkiInstaliraj boot učitavač u MBR i stavi nešto datoteka u boot učitavačov direktorij podataka (ako već ne postoje).Instaliraj u MBRParametri kernelaLinuxLinux-ISOMemtestMontiranje nije uspjelo!Pomakni doljePomaknite dolje odabrani unos ili skriptuPomakni gorePomaknite gore odabrani unos ili skriptuNaziv unosaOstaloPutanja do iso datotekeMolim utipkajte niz uređaja!Proxy binaran nije pronađen!Ukloni iz podizbornikaUkloni odabrane unose (možete ih vratiti iz smeća)Uklanjanje koda skripte može prouzročiti probleme kada pokušavate pokrenuti unose koji ovise o toj skripti. Sigurno to želite učiniti?PreimenujVraća popis na zadani redoslijedTočke-podmontiranja:Boot učitavač je instaliran uspješnoGenerirane postavke nisu jednake spremljenim postavkama prilikom pokretanja. Stoga ono što vidite sada možda nećete vidjeti nakon ponovnog pokretanja računala. Da bi to popravili, kliknite na ažuriranje!Promjene koje ste učinili zahvaćaju vidljive unose. Ponovno učitajte!Spremljene postavke nisu ažurirane!!Postoje nespremljene izmjene!Ovo briše sljedeće unose:Ova mogućnost ne radi dok "os-prober" skripta traži ostale operativne sustave. Onemogući "%1" ako ne trebate pokrenuti ostale operativne sustaveOvo će ukloniti sve vaše promjene popisa bootloader izbornika!Čini se da ovo nije korijenski (root) datotečni sustav (fstab nije pronađen)Vidjet ćete sve unose (neprilagođene) kada pokrenete Grub. Ova greška nastaje (u većini slučaja), kada ne instalirate Grub Prilagoditelja ispravno.Pokušavate ukloniti unos trenutno pokrenutog sustava. Budite sigurni da postoje drugi radni unosi ovog sustava! Ako samo želite ukloniti stare kernele, najbolji način je da ih deinstalirate umjesto da ih samo sakrijete u boot izborniku._Napredno_Postavke izgleda_Promjeni okruženje …_Uređaj: _Uredi_Datoteka_Općenito_Opće postavke_Pomoć_Ramdisk pokretanja_Instaliraj u MBR …_Linux slika_Popis podešavanja_Memtest slika_Particija_Particija:_Izađi bez spremanja_Izađi bez ažuriranja_Spremi i izađi_Vrsta:_Ažuriraj i izađi_PrikazDodaj ovaj unos na novi podizborniknapredne postavkeSlika pozadinecrnaplavasmeđanemoguće je pomaknuti ovaj unosnastavi (rizik gubitka podataka)trenutnoprilagođena rezolucija: modratamno-sivaUobičajeni unosgeneriraj unos obnavljanjazelenaInstaliranje boot učitavača...AktivnoParametri kernelasvijetlo-plavasvijetlo-modrasvijetlo-smeđasvijetlo-zelenasvijetlo-ljubičastocrvenasvijetlo-crvenaUčitavanje postavki...Učitavanje skripte %2/%3 (%1)potraži druge operativne sustaveljubičastocrvenaunos-izbornikaNazivrezervirano-mjestoObavijestite autora o ovom problemu. Sljedeće informacije bi mogle pomoći:pred_definirano: prije _učitan unoscrvenaPonovno učitaj podešavanje. Nespremljene promjene će biti sačuvane.ukloni pozadinuukloni pismoUkloni ovaj unos iz trenutnog podizbornikaspremi ova podešavanjapostavkeprikaži izbornikpodizbornikprozirnoDemontiranje nije uspjelo!Ažuriranje postavkiVrijednostPrikazbijelažutagrub-customizer-5.1.0/translation/translation-tr.mo0000644000175000017500000002613713360360026022014 0ustar danieldanielt 8  E V b w    % & E /T @ '  /%?eMl  qC R` fpx  &$ 7O9cy%D.TI4*~ #@8   3B Q \h}  &@H\ a ky       (A [|   X -=1o *   ( .9?F1 P _j     & %2X2kD/&P65L  s)   . @ -O }    &  E!L!!,! "#$"H"Y:#(###,#$D$=%@% % &&' +' 5'?'E'K'Z'b'y'''''''(('(6(=( O($Z((((( (("((())&)8)K)i)p))) )) ) ))))* :*[* c*q*v* *`**+ +O+o++#++ +++ +, ,,=,D,S,Y,x*w7d9ACV.)&^O> 6IU;SQe1b~ iDP j,0_B$Y-] 3ncGvRt"KH@|:5' fM(\4+o}=<mhs/N[?LZ{!zX 2q8lukFTJ#EWarpgy`%%1 couldn't be executed successfully. error message: %2(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceAdd entry from trashAn error occurredAre you sure?BURGBURG ModeBURG found!Boot sequenceChainloaderChoose file…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryOtherPath to iso filePlease type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removing Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameReverts the list to the default orderSubmountpoints:The bootloader has been installed successfullyThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_General_General settings_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Memtest image_Memtest-Image_Partition_Partition:_Quit without saving_Quit without update_Save & Quit_Type:_Update & Quit_Viewadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrycontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1generate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1placeholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-10-24 09:48+0000 Last-Translator: Mehmet Keçeci Language-Team: Turkish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 başarıyla yürütülemedi. hata mesajı: %2(betik kodu)VE: değiştirmeleriniz hala kaydedilmedi, güncelleme onları da kaydedecektir!GörünümÇöp kutusundan girdi ekleBir hata oluştuEmin misiniz?BURGBURG KipiBURG bulundu!Önyükleme sırasıChainloaderDosya seç...Yapılandırma kaydedildiSeçilen disk bölümü bağlanamıyorSeçilen disk bölümü ayrılamıyorAlt menü oluşturgrub2 yerine BURG'u yapılandırmak ister misiniz?Mevcut yapılandırmanızı kaydetmeden devam etmek istiyor musunuz?Değişikliklerinizi kaydetmek istiyor musunuz?Girdi düzenleyiciOrtam ayarlarıÖnyükleme sırasında hatası yapılandırması. Parametrelerini kontrol edin!Önyükleyicinin yüklenmesi sırasında hata oluştuGrub 2Grub Customizer, grub2/burg ayarlarını yapabilen bir grafiksel arayüzdürISO-imai: I_SO İmajıÖnyükleyiciyi MBR'ye yükle ve gerekli dosyaları önyükleyici veri dizinine yerleştir (eğer mevcut değilse).MBR'ye yükleÇekirdek parametreleriLinuxLinux-ISOMemtestMemtest-imaj: Bağlama başarısız!Aşağı taşıSeçilen girdi ya da betiği aşağıya taşıYukarı taşıSeçilen girdi ya da betiği yukarıya taşıGirdiyi AdlandırDiğerIso dosyası adresiLütfen bir cihaz dizisi girin!Proxy ikili kod programı bulunamadı!Alt menüden kaldırSeçilen girdileri kaldır (çöp kutusundan geri yükleyebilirsiniz)Betik Kodunu kaldırmak koda bağlı girdiler yüklenirken problemlere sebep olabilir. Yine de yapmak istediğinize emin misiniz?Yeniden adlandırListeyi öntanımlı sıralamaya geri çevirAltbağlamanoktaları:Önyükleyici başarıyla yüklendiÜretilen ayarlama, başlangıçtaki kaydedilmiş ayarlamayla aynı değil. O yüzden; şu an gördüğünüz, bilgisayarınızı yeniden başlattığınızda göreceğinizle aynı olmayabilir. Bunu düzeltmek için, güncelle'yi tıklayın!Yaptığınız değişiklikler görünür girdileri etkiliyor. Lütfen yeniden yükleyin!Kayıtlı yapılandırma güncel değil!Kaydedilmemiş değişiklikler var!Bu işlem aşağıdaki girdileri silecektir:Bu seçenek "os-prober" betiği diğer işletim sistemlerini bulduğunda çalışmaz. Diğer işletim sistemlerini önyüklemeye ihtiyaç duymuyorsanız "%1" etkisiz kılın.Önyükleyici menüsündeki tüm değişiklikleriniz kaldırılacak!Bu bir kök dosya sistemi değil (fstab dosyası bulunamadı)grub'ı çalıştırdığınızda tüm girişleri (değiştirilmemiş) bulacaksınız. Bu hata (genelde), grub customizer düzgün kurulamadığı zaman gerçekleşir.Aktif işletim sistemine ait girdiyi kaldırmaya çalışıyorsunuz. Sisteminizdeki diğer girdilerin çalıştığından emin olun! Eğer sadece eski çekirdekleri kaldırmak istiyorsanız: Daha iyi bir yol onları kaldırmak yerine önyükleme menüsünde gizleyin.GelişmişGörünüm _ayarlarıOrtamı değiştir..._Aygıt: Düzenl_eDosyaGenel_Genel ayarlarYardım_Başlangıç ramdiskiMBR'ye yükle..._Linux görüntüsüYapılandırmayı _listele_Memtest görüntüsü_Memtest-ImajıDisk bölümüDisk bölümü:Kaydetmeden çıkGüncellemeden çıkKaydet & Çık_Tür:Güncelle & ÇıkGörünümbu girdiyi yeni bir alt menüye eklegelişmiş ayarlararkaplan resmisiyahmavikahverengibu kayıt kaldırılamıyordevam et (veri kaybetme tehlikesi)mevcutözel çözünürlük: turkuazkoyu-grivarsayılan girdivarsayılan ad: %1kurtarma girdilerini oluşturyeşilönyükleyici kuruluyor…aktifçekirdek parametreleriaçık-maviaçık-turkuazaçık-griaçık-yeşilaçık-eflatunaçık-kırmızıyapılandırma yükleniyor…betük yükleniyor %2/%3 (%1)diğer işletim sistemlerini araeflatunmenü girdisiisimbölüntü: %1yer tutuculütfen geliştiriciyi bu problem hakkında bilgilendirin. Aşağıdaki bilgi yararlı olabilir:öntanımlı: son yüklenen girdikırmızıyapılandırmayı yeniden yükle. Kaydedilmemiş değişiklikler korunacaktır.arkaplanı kaldıryazı tipini kaldırgirdiyi mevcut alt menüden kaldıryapılandırmayı kaydetbetik: %1ayarlarmenüyü gösteralt menüşeffafayırma başarısız!yapılandırma güncelleniyordeğergörünürlükbeyazsarıgrub-customizer-5.1.0/translation/translation-tr.po0000644000175000017500000005605013360360026022014 0ustar danieldaniel# Turkish translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-10-24 09:48+0000\n" "Last-Translator: Mehmet Keçeci \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Girdiyi Adlandır" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "bu kayıt kaldırılamıyor" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Yapılandırma kaydedildi" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "yapılandırma güncelleniyor" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer, grub2/burg ayarlarını yapabilen bir grafiksel arayüzdür" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "alt menü" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "yer tutucu" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "menü girdisi" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "betik: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "varsayılan ad: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "bölüntü: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-imai: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-imaj: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "mevcut" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tür:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Önyükleme sırası" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Önyükleme sırasında hatası yapılandırması.\n" "Parametrelerini kontrol edin!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Girdi düzenleyici" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Diğer" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(betik kodu)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Dosya seç..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "Disk bölümü" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Başlangıç ramdiski" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux görüntüsü" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest görüntüsü" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Iso dosyası adresi" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Çekirdek parametreleri" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO İmajı" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-Imajı" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "Disk bölümü:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Altbağlamanoktaları:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "yapılandırmayı kaydet" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Bağlama başarısız!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "ayırma başarısız!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Bu bir kök dosya sistemi değil (fstab dosyası bulunamadı)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Seçilen disk bölümü bağlanamıyor" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Seçilen disk bölümü ayrılamıyor" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Bir hata oluştu" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "lütfen geliştiriciyi bu problem hakkında bilgilendirin. Aşağıdaki bilgi " "yararlı olabilir:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "devam et (veri kaybetme tehlikesi)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Önyükleyiciyi MBR'ye yükle ve gerekli\n" "dosyaları önyükleyici veri dizinine yerleştir\n" "(eğer mevcut değilse)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Aygıt: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "MBR'ye yükle" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Önyükleyici başarıyla yüklendi" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Önyükleyicinin yüklenmesi sırasında hata oluştu" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "önyükleyici kuruluyor…" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Lütfen bir cihaz dizisi girin!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "Dosya" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "Düzenl_e" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "Görünüm" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "Yardım" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "MBR'ye yükle..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG bulundu!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "gelişmiş ayarlar" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Yaptığınız değişiklikler görünür girdileri etkiliyor. Lütfen yeniden " "yükleyin!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "Yapılandırmayı _listele" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Seçilen girdileri kaldır (çöp kutusundan geri yükleyebilirsiniz)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Seçilen girdi ya da betiği yukarıya taşı" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Seçilen girdi ya da betiği aşağıya taşı" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "girdiyi mevcut alt menüden kaldır" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "bu girdiyi yeni bir alt menüye ekle" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Listeyi öntanımlı sıralamaya geri çevir" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "yapılandırmayı yeniden yükle. Kaydedilmemiş değişiklikler korunacaktır." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Yeniden adlandır" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Yukarı taşı" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Aşağı taşı" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Alt menüden kaldır" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Alt menü oluştur" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "Ortamı değiştir..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "grub2 yerine BURG'u yapılandırmak ister misiniz?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Genel ayarlar" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Görünüm _ayarları" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG Kipi" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "yapılandırma yükleniyor…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "betük yükleniyor %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy ikili kod programı bulunamadı!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "grub'ı çalıştırdığınızda tüm girişleri (değiştirilmemiş) bulacaksınız. Bu " "hata (genelde), grub customizer düzgün kurulamadığı zaman gerçekleşir." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Kayıtlı yapılandırma güncel değil!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Üretilen ayarlama, başlangıçtaki kaydedilmiş ayarlamayla aynı değil. O " "yüzden; şu an gördüğünüz, bilgisayarınızı yeniden başlattığınızda " "göreceğinizle aynı olmayabilir. Bunu düzeltmek için, güncelle'yi tıklayın!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "Güncellemeden çık" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "Güncelle & Çık" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Değişikliklerinizi kaydetmek istiyor musunuz?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "Kaydetmeden çık" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "Kaydet & Çık" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "VE: değiştirmeleriniz hala kaydedilmedi, güncelleme onları da kaydedecektir!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 başarıyla yürütülemedi. hata mesajı:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Ortam ayarları" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Mevcut yapılandırmanızı kaydetmeden devam etmek istiyor musunuz?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Kaydedilmemiş değişiklikler var!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Betik Kodunu kaldırmak koda bağlı girdiler yüklenirken problemlere sebep " "olabilir. Yine de yapmak istediğinize emin misiniz?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Aktif işletim sistemine ait girdiyi kaldırmaya çalışıyorsunuz. " "Sisteminizdeki diğer girdilerin çalıştığından emin olun!\n" "Eğer sadece eski çekirdekleri kaldırmak istiyorsanız: Daha iyi bir yol " "onları kaldırmak yerine önyükleme menüsünde gizleyin." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Emin misiniz?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Önyükleyici menüsündeki tüm değişiklikleriniz kaldırılacak!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "öntanımlı: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "son yüklenen girdi" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "varsayılan girdi" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "görünürlük" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "menüyü göster" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "çekirdek parametreleri" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "kurtarma girdilerini oluştur" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "diğer işletim sistemlerini ara" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "özel çözünürlük: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "ayarlar" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "Genel" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "Görünüm" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "Gelişmiş" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "aktif" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "isim" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "değer" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Bu seçenek \"os-prober\" betiği diğer işletim sistemlerini bulduğunda " "çalışmaz. Diğer işletim sistemlerini önyüklemeye ihtiyaç duymuyorsanız " "\"%1\" etkisiz kılın." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "beyaz" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "sarı" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "açık-turkuaz" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "turkuaz" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "açık-mavi" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "mavi" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "açık-yeşil" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "yeşil" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "açık-eflatun" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "eflatun" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "açık-kırmızı" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "kırmızı" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "kahverengi" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "açık-gri" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "koyu-gri" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "şeffaf" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "siyah" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "arkaplan resmi" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "yazı tipini kaldır" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "arkaplanı kaldır" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Çöp kutusundan girdi ekle" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Bu işlem aşağıdaki girdileri silecektir:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-ru.mo0000644000175000017500000006666613360360026022030 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0}b0_15@2v2"222%2 3 446484%575!99:F:/;I;N;^;Dw;'; ;; <+<QI<O<<< =XF=c=O> S>2t>q>;?8U??_??j?Xi@ @$@AA(AAB B *B4B$JB&oBBDB!BFC&dCC"C CC8C5.D:dE9E"EhE#eFFDGA_G_G`HGbHxHr#IJ-J#J6KU@l4lllllmm$'m-Lmzmm m m |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-09-12 01:48+0000 Last-Translator: Vyacheslav Sharmanov Language-Team: Russian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 невозможно успешно выполнить. сообщение ошибки: %2(Пользовательские настройки)(первый пункт)(входящие Пункты %1)(входящие Пункты)(другой...)(содержимое скрипта)Группа пунктов меню загрузки операционных систем, выглядящая как обычный пункт, раскрывающая список подменю при выборе его пользователем.И: ваши модификации настроек всё еще не сохранены. Обновление так же сохранит их!Внешний видСведения о типах пунктов менюДобавить пункт меню из корзиныВсе файлыАльтернативно самостоятельному оформлению - изменению цвета, обоев, шрифты - можно устанавливать комплексные пакеты тем для кардинального улучшения внешнего вида меню загрузки. Вот лишь некоторые источники для загрузки таких тем c ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Просто скачайте желаемый пакет в любом приемлемом формате и добавьте его в список доступных тем используя кнопку "Добавить", расположенную после строки выбора тем. После смены темы вы сможете воспользоваться простым редактором, который предоставляет возможность предпросмотра и управления файлами темы. Измененная тема сохраняется при нажатии соотв. кнопки.Обнаружена ошибкаПункт, видимый в меню загрузчика и загружающий операционную систему когда выбирается пользователем.Архивные файлыВы уверены что хотите удалить эту темуВы действительно уверены?BURGРежим BURGОбнаружен BURG!Загрузить стандартый выбор через %1 с.Очередность загрузкиChainloaderВыбор файла...Выберите...Конфигурация сохраненаПримонтировать выбранный раздел не удалось.Отмонтировать выбранный раздел не удалось.Создать подменюПользовательские настройки темыВы действительно хотите настроить BURG вместо GRUB2?Вы хотите продолжить без сохранения текущих настроек?Хотите сохранить внесенные вами изменения?Редактор пунктов.Настройки окружающей средыОшибка построения очередности загрузки. Проверьте параметры!Ошибка при установке загрузчикаОшибка сохранения настроек grub!ФайлЗамена файла не удалась. Сначала выберите файл темы!Grub 2Grub Customizer - это графический интерфейс для настройки grub2 и burgШрифты Grub могут привести к неполадкам (Сведения)Подсвеченный: ФонПодсвеченный: ШрифтОбраз ISO I_SO-образУстановите загрузчик в MBR и разместите некоторые файлы в папку данных загрузчика (если они не созданы).Установить в MBRПараметры ядраЛинуксLinux ISOТест памятиОбраз теста памяти: Не примонтировалось!Переместить внизПеремещение вниз пункта или сценарияПереместить вверхПеремещение вверх пункта или сценарияНазвание пункта менюСтандартный: ФонСтандартный: ШрифтПрочееПуть к файлу ISOВыберите изображение для фона!Ниже изучите вывод командной строки. Если посчитаете, что это ошибка в Grub Customizer'е , создайте на %1! Grub Customizer предотвращает появление подобных ошибок в большинстве случаев.Введите строку типа устройства!Бинарный прокси-файл не найден!Удалить из подменюУдалить выбранные пункты (можно восстановить из корзины)Удалённые элементыУдаление кода сценария может привести к проблемам загрузки пунктов, ссылающихся на него. Продолжить?ПереименоватьВосстановить выбранные пункты менюВозвращает список пунктов к стандартной сортировкеСохранить текущие настройки и сгенерировать новый %1Сохранение тем выполнено не полностью!Найдены обновления сценария. Сохраните для применения изменений!Сценарии генерируют пункты и каждый пункт относится к своему сценарию. Если данная возможность используется - они отображаются как группы первого уровня, но не отображаются в меню загрузки как подменю.Показать _меткиПоказать _скрытые пунктыТочки монтированияЗагрузчик успешно установленВыбранный файл не может быть загружен как темаСгенерированный файл настроек не соответствует сохранённым при запуске. Видимое вами сейчас может не соответствовать тому, что вы будете наблюдать после перезагрузки ПК. Для исправления нажмите Обновить!Невозможно использовать выбранное имя файлаНевозможно сохранить настройки grubПроизводимые вами изменения нарушают видимые пункты. Перезагрузите настройки!Сохраненные настройки устарели!Содержимое темыИмеются два типа специальных пунктов меню: Входящий пункт меню - это место для размещения записи о загрузке найденной GRUB'ом ОС, не редактированной Grub Customizer'ом. Код сценария - созданный GRUB'ом сценарий, не являющийся пунктом меню. Используется для настройки GRUB. Изменяйте его в случае наличия навыков программирования. Метки по-умолчанию скрыты.Есть несохраненные изменения!Будут удалены следующие пункты:Опция позволяет выбрать стандартно загружаемую ОС. По умолчанию, загружается первая по списку. После выполнения скрипта автопоиска стандартно загружаемая ОС не меняется. В отличие от первой опции, остальные варианты по имени не упоминаются. Да, стандартно загружаемая ОС остается прежней даже если ее пункт меню перемещен в списке. Если желаете использовать иной принцип, например этот - "всегда указывать на второй пункт меню", можно использовать опцию, позволяющую вводить пользовательскую ссылку. Примеры использования: 1 = "всегда указывать на второй пункт меню" (нумерация начинается с нуля) test>0 = "всегда указывать на второй пункт в подменю с названием test"Эта опция не сработает, если скрипт автопоиска найдёт другие ОС. Отключите "%1", если не хотите использовать автопоиск.Это действие удаляет весь список изменений, внесенных вами в меню загрузчика!Похоже это не корневая фс (fstab не найден)Тема не содержит %1. Найдите файл настроек и переименуйте его в "%1"!Вы будете видеть все позиции, не переделанные вами, при загрузке grub. Чаще всего эта ошибка появляется если grub сustomizer некорректно установлен.Вы пытаетесь удалить пункт меню, относящийся к запущенной в настоящее время системе. Убедитесь, что существуют другие пункты для загрузки текущей системы! Если же вы хотите удалить ссылки на устаревшие ядра, то лучшим способом будет их полное удаление, а не отключение в меню._Расширенные_Настройки оформления_Изменить переменные среды..._Устройство: _Править_Файл_Шрифт_Основные_Основные настройки_Группировать по сценарию_Справка_Загрузочный RAM-диск (initrd)_Установить в MBR..._Linux-образ_Просмотреть настройки_Загрузить файл: _Memtest-образ_Образ теста памяти_Имя_Раздел_Раздел:_Выход без сохранения_Выход без обновления_Восстановить_Сохранить и выйти_Показать детали_Тема:_Тип:_Обновить и Выйти_Виддобавить темудобавить этот пункт в новое подменюрасширенные настройкифончёрныйсинийкоричневыйне удается переместить этот элементвыберите файл темыпродолжить (риск потери данных)текущийпользовательское разрешение: голубойтёмно-серыйпункт по умолчаниюстандартное имя: %1удалить пункты меню безвозвратно - это действие доступно только для пунктов меню пользователяудалить эту темуимя файласгенерировать пункты меню "Режим восстановления"зелёныйустанавливаем загрузчик...активированпараметры ядрасветло-синийсветло-голубойсветло-серыйсветло-зелёныйсветло-пурпурныйрозовыйзагрузка настроек...загрузка сценария %2/%3 (%1)поиск других ОСпурпурныйпункт менюназваниераздел: %1безвозвратно удалить выбранные пункты менюметкаПроинформируйте авторов о возникшей неполадке. Указанная ниже информация может им помочь:ВНИМАНИЕ: чрезмерно крупные символы, при загрузке в пониженном разрешении, нарушают функциональность экрана загрузки. Из-за этой неполадки невозможно определить допустимый максимальный размер символов выбранного шрифта. Выбирая крупные символы - увеличивайте размер постепенно, перезагружаясь и проверяя результат. Неполадка проявляется когда GUI-элементы выбранной темы не вписываются в экран. То есть, если по-вертикали свободного места достаточно - можно увеличивать шрифт. Количество пунктов меню не создает проблем, поскольку имеется возможность прокрутки. При несоблюдении рекомендаций, загрузчик GRUB2 зацикливается, загружаемся с Live-CD вашей OC и выполняем действия по следующему списку: * удаляем файл шрифта /boot/grub/unicode.pf2 * перезагружаемся (символы в меню начнут отображаться системным шрифтом) * редактируем /etc/default/grub с правами суперпользователя, помещая символ '#' в начало строки GRUB_FONT * запускаем grub customizer и возвращаем шрифт unicode.pf2пред_установленный: ранее _загруженный пункткрасныйперезагрузка настроек. Несохраненные изменения будут оставлены.удалить фонудалить шрифтудалить пункт из текущего подменюсохранить текущие настройкисценарийскрипт: %1настройкипоказать менюподменюпрозрачныйНе отмонтировалось!обновление конфигурациизначениевидимостьбелыйжёлтыйgrub-customizer-5.1.0/translation/translation-gl.po0000644000175000017500000005757113360360026022002 0ustar danieldaniel# Galician translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-05-06 17:11+0000\n" "Last-Translator: Marcos Lans \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nomear a entrada" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "non é posíbel mover esta entrada" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Gardouse a configuración" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "actualizando a configuración" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer é unha interface gráfica para configurar as preferencias de " "grub2 e burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "submenú" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "marcador de posición" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "entrada do menu" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "nome predeterminado: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partición: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Imaxe-ISO: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-Image: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "actual" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tipo" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Secuencia de arranque" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nome:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Produciuse un erro construíndo a secuencia de arranque.\n" "Comprobe os parámetros." #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor de entradas" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Seleccionar..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Outro" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(código de script)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Seleccionar ficheiro..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partición" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Disco de RAM inicial" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Imaxe de Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Imaxe da proba de memoria" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Ruta ao ficheiro iso" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parámetros do núcleo" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "Imase I_SO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-Image" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partición:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Subpuntos de montaxe" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "gardar esta configuración" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Fallou ao montar!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "falla ao desmontar!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Isto non parece ser un sistema de ficheiros raíz (non se atopan en fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Non foi posíbel montar a partición seleccionada" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Non foi posíbel desmontar a partición seleccionada" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Produciuse un erro" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Informe por favor ao autor sobre este problema. A información seguinte pode " "ser de axuda:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "continuar (con risco de perda de datos)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instale o cargador de arranque no MBR e poña algúns\n" "ficheiros no directorio de datos dos cargadores de arranque\n" "(se non existe xa)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Dispositivo: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalar no MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "O cargador de arranque instalouse correctamente" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Produciuse un erro ao instalar o cargador de arranque" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Instalando o cargador de arranque..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Escriba un texto para o dispositivo!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Ficheiro" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Editar" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Ver" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Axuda" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instalar no MBR..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Amosar detalles" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Mostrar entradas _ocultas" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Atopouse BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "configuración avanzada" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "As modificacións que fixo aféctanlle ás entradas visíbeis. Recárgeas!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Atopáronse actualizacións para os scripts. Prema gardar para aplicar os " "cambios." #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Configuración da lista" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Retirar as entradas seleccionadas (pode restauralas da papeleira)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Subir a entrada ou script seleccionado" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Baixar a entrada ou script seleccionado" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "retirar esta entrada do submenú actual" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "engadir entrada a un novo submenú" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Devolve a lista á orde predeterminada" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "recarga a configuración. Gardaranse as modificacións que non están gardadas." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Renomear" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Subir" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Baixar" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Retirar do menú" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Crear submenú" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Cambiar entorno..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Quere configurar BURG en lugar do grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Configuración xeral" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Configuración de aparencia" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Modo BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "cargando a configuración..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "cargando o script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Non se atopa un proxy binario!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Poderá ver todas as entradas (non personalizadas) cando execute Grub. Este " "erro acontece (na maioría dos casos), cando non se instalou Grub Customizer " "correctamente." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Entradas novas de %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Entradas novas)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "A configuración gardada non está actualizada!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "A configuración xerada non é igual á configuración gardada no inicio. Así " "que o que se ve agora pode non ser o que se verá cando se reinicie a " "máquina. Para solucionar este problema, prema en actualizar!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Saír sen actualizar" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Actualizar e saír" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Quere gardar as modificacións?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Saír sen gardar" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Gardar e saír" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "E: as modificacións aínda non se gardaron, actualizar gardará tamén estas." #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Produciuse un fallo ao gardar a configuración do grub" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Non foi posíbel gardar a configuración do grub" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 non se pode executar correctamente. mensagem de erro:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Configuración de entorno" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Quere proceder sen gardar a configuración actual?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Hai modificacións sen gardar!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Retirar Código de Script pode producir problemas cando se tenta arrancar " "entradas confiando nelas. Confirma que que facelo de todas maneiras?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Está a tentar retirar unha entrada do sistema actualmente en execución. " "Asegúrese de que hai outras entradas funcionais neste sistema\n" "Se soamente quere retirar núcleos antigos: A mellor maneira é instalándoos, " "mellor que simplemente agochalos no menú de arranque." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Confírmao?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Con isto retira todas as súas modificacións de lista no menú do cargador de " "arranque!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pre_determinado: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "entrada _iniciada anteriormente" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "entrada predeterminada" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "visibilidade" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "amosar menú" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Parámetros do núcleo" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "xerar entradas de recuperación" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "buscar outros sistemas operativos" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "personalizar a resolución " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "configuración" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Xeral" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "A_pariencia" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avanzado" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "está activo" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "nome" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "valor" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(outro…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Esta opción non funciona cando o script «os-prober» atopa outros sistemas " "operativos. Desactive «%1» se non ten necesidade de arrancar outros sistemas " "operativos." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "branco" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "amarelo" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "cian-claro" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cian" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "azul-claro" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "azul" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "verde-claro" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "verde" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "maxenta-claro" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "maxenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "vermello-claro" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "vermello" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "marrón" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "gris-claro" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "gris-escuro" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "transparente" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "negro" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Cargar ficheiro: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "imaxe de fondo" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Seleccione unha imaxe de fondo." #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Tipo de letra" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "seleccione un tema" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Contidos dos temas" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal: tipo de letra" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: fondo da pantalla" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Resaltada: tipo de letra" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Resaltada: fondo" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Ficheiro" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "engadir tema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "eliminar este tema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Arquivar ficheiros" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Todos os ficheiros" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "retirar tipo de letra" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "retirar o fondo" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Axustes personalizados)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "O ficheiro seleccionado non se pode cargar como tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Non se pode usar o nome do ficheiro indicado" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "A gravación dos temas non foi completamente correcta." #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "nome do ficheiro" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Engadir entrada da papeleira" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Restabelecer" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Isto elimina as seguintes entradas:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Cargador en cadea (chainloader)" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Test de memoria" grub-customizer-5.1.0/translation/translation-pl.mo0000644000175000017500000003467713360360026022012 0ustar danieldaniel 8 + > IEW  \ M*[   #   %#&Ip/@' .;/P%!:M ]~  q1 @N T^f v &$ !(Jg9 yU\%u(+6':O._)!i&I*' 6#W{@8PWr dn   /<KZ a lx   &7=BH_q  L" 4 = W ] z    !/! 7!A! F!#T! x!X! !!"="F" X"*d""" "" "" """# ###$#6$$$%#% 5% ?%:M%%%%%%`%;&&K& r&|& &&&&& && &'-'(E'n' ~'!'2'' ((N+(0z(+((9()K)4i))) ) )t)V*g*z* *****.*+/+ C+O+^+q+v++#+++4++,g>, ,,',&,0-FP----3-1.G.'/'//RW/)///,030<061TI11;2 03>3S3g3v3~3 3333333 33 4 4/4>4 F4 P4Z4s4 4444444 4 45 /5<5 C5M5!V5x5 5555 555[6c6 s666#6 666 6 7 77+7:7U7$s7777 7#7 7S7?8Y8t8F}8 88889 !9 ,9 79C9K9 ]9~9 9 999jb]J<"H 3I{!_|S+ga[4#R)F:}?-h LUQ M97iXo6sYv1c\0wVmD2GtPBf&.~Zd e(;KE,/5l 'T8kC@pu$O`=nWNyz^ xr%*Aq>%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAn error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-02-04 10:52+0000 Last-Translator: Marcin Mikołajczak Language-Team: Polish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Nie udało się uruchomić %1. Komunikat błędu: %2(Niestandardowe ustawienia)(pierwszy element)(następne wpisy %1)(następne wpisy)(inne...)(kod skryptu)Modyfikacje nie są zapisane, aktualizacja zapisze zmiany!W_yglądO rodzajach wpisówDodaj wpis z koszaWszystkie plikiWystąpił błądElement menu który jest dostępny w menu GRUB i uruchamia system operacyjny kiedy jest aktywny.Pliki archiwówCzy na pewno chcesz usunąć ten motywNa pewno?BURGTryb BURGZnaleziono BURG!Uruchom domyślny wpis po %1 sekundachSekwencja uruchamianiaChainloaderWybierz plik..Wybierz...Zapisano konfiguracjęNie udało się zamontować wybranej partycjiNie można odmontować wybranej partycjiUtwórz podmenuNiestandardowe ustawienia motywuSkonfigurować BURG zamiast grub2Kontynuować bez zapisywania obecnej konfiguracji?Zapisać zmiany?Edycja wpisuUstawienia środowiskoweWystąpił błąd podczas tworzenia sekwencji uruchamiania. Sprawdź parametryBłąd w czasie instalacji programu rozruchowegoNie udało się zapisać konfiguracji GRUB!PlikZastąpienie pliku nieudane. Proszę wybrać plik motywu!Grub 2Grub Customizer to graficzny interfejs do konfiguracji ustawień grub2/burgCzcionki w GRUB-ie mogą być szkodliwe (informacje)Wyróżnienie: tłoWyróżnienie: czcionkaObraz ISO: Obraz I_SOInstaluje program rozruchowyw MBR i umieszcza pliki w katalogu danych programu rozruchowego (jeżeli nie istnieją).Instalacja w MBRKernel - parametryLinuxLinux-ISOMemtestObraz Memtest: Montowanie nie powiodło się!Przesuń w dółPrzenieś w dół wybraną pozycję lub skryptPrzesuń w góręPrzenieś w górę wybraną pozycję lub skryptNazwij wpisNormalne: tłoNormalne: czcionkaInneŚcieżka pliku isoWybierz obraz tłaProsze wpisać ciąg dla urzadzeniaNie znaleziono binarnego Proxy!Przenieś do podmenuUsuń wybrane wpisy (można je przywrócić z kosza)Usunięte elementyUsunięcie kodu skryptu, może powodować problemy z wpisami od niego zależnymi. Kontynuować mimo to?Zmień nazwęPrzywróć zaznaczone wpisyPrzywróć domyślną kolejność listyZapisz konfigurację i generuj nowy %1Zapisywanie motywów zakończone niepowodzeniem!Znaleziono aktualizacje skryptu. Naciśnij Zapisz aby zapisać zmiany!_Pokaż symbole zastępcze_Pokaż ukryte elementyPodpounkty montowania:Program rozruchowy został zainstalowany pomyślnieTen plik nie może zostać załadowany jako motywWygenerowana konfiguracja jest inna niż konfiguracja zapisana podczas uruchomienia. Widniejąca konfiguracja może być inna podczas restartu komputera. W celu naprawy kliknij aktualizację!Ta nazwa pliku nie może zostać użytaKonfiguracja nie może zostać zapisanaDokonane modyfikacje mają wpływ na widoczne wpisy. Proszę załadować ponownie!Zapisana konfiguracja jest przestarzała!Zawartość motywuIstnieją nie zapisane zmiany!Powoduje usunięcie następujących wpisów:Ta opcja nie działa, gdy skrypt "os-prober" znajdzie inne systemy operacyjne. Wyłącz "%1", jeżeli nie potrzebujesz uruchamiać innych systemów operacyjnych.Powoduje usunięcie wszystkich modyfikacji menu bootloadera!To nie jest system plików root (nie znaleziono fstab)Ten motyw nie zawiera %1. Zajrzyj do pliku konfiguracyjnego i zmień nazwę na "%1"!Zobaczysz wszystkie wpisy (niedostosowane), gdy uruchomisz grub. Ten błąd występuje (najczęściej), jeżeli nie zainstalowano poprawnie grub customizer.Próbujesz usunąć wpis aktualnie uruchomionego systemu. Upewnij się, że są inne działające wpisy tego systemu! Jeżeli chcesz usunąć stare wersje jądra: Lepszym rozwiązaniem jest ich odinstalowanie niż tylko ukrycie ich w menu boot.Z_aawansowaneUst_awienia wyglądu_Zmiana środowiska_Urządzenie: _Edycja_Plik_CzcionkaO_gólneUstawienia o_gólne_Grupuj według skryptu_PomocPoczątkowy dysk ram_Instalacja w MBRObraz _LinuxKonfiguracja _listyŁ_aduj plik Obraz _MemtestObraz _Memtest_Nazwa:_Partycja_Partycja_Zamknij bez zapisywania_Zamknij bez aktualizacjiP_rzywróćZapi_sz i zamknijPokaż _szczegóły_Motyw:_Typ:_Aktualizuj i zamknij_Widokdodaj motywdodaj ten wpis do nowego podmenuustawienia zaawansowaneobrazek tłaczarnyniebieskibrązowynie można przenieść tego wpisuwybierz plik z motywemkontynuuj (ryzyko utraty danych)obecnywłasna rozdzielczość: cyjanciemno-szarydomyślny wpisnazwa domyślna: %1usuwa elementy nieodwracalnie - ta akcja jest dostępna tylko przy niestandardowych wpisachusuń ten motywnazwa plikuutwórz wpisy odzyskiwaniazielonyInstalacja programu rozruchowego...jest aktywneustawienia kernelajasno-niebieskijasny cyjanjasno-szaryjasno-zielonyjasny-czerwonyjasno-czerwonyładowanie konfiguracji...ładowanie skryptu %2/%3 (%1)szukaj innych systemów operacyjnychmagentawpismenunazwapartycja: %1Bezpowrotnie usuwa zaznaczone wpisyzastępczoproszę poinformuj autora o tym problemie: Poniższe informacje mogą być pomocne:wstępnie z_definiowane: poprzednio _bootowany wpisczerwonyzaładuj konfigurację ponownie. Niezapisane zmiany zostaną zachowaneusuń tłousuń czcionkęusuń ten wpis z tego podmenuzapisz obecną konfiguracjęskryptskrypt: %1ustawieniapokaż menupodmenuprzezroczystośćOdmontowanie nie powiodło się!Aktualizacja konfiguracjiwartośćwidocznośćbiałyżółtygrub-customizer-5.1.0/translation/translation-cy.po0000644000175000017500000004627613360360026022013 0ustar danieldaniel# Welsh translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: David Jones \n" "Language-Team: Welsh \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "cyfredol" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "Math:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Arall" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "" #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Ffeil" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "Golygu" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "Gweld" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "Cymorth" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Ail-enwi" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Symud i fyny" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Symud i lawr" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "Cadael heb ddiweddaru" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "Diwedd a gadael" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "Gadael heb gadw" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "Cadw a gadael" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "gwelededd" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "" #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "gosodiadau" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "Uwch" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "enw" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "gwyn" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "melyn" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "gwyrddlas" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "glas" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "gwyrdd" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "coch" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "brown" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "tryloyw" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "du" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "llun cefndir" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "tynnu cefndir" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-cy.mo0000644000175000017500000000341713360360026021776 0ustar danieldaniel$<5\016= CM U_gm t~   %); D P[arh   (-4;CS iw}      "  $! #BURGGrub 2LinuxLinux-ISOMemtestMove downMove upOtherRename_Advanced_Edit_File_Help_Quit without saving_Quit without update_Save & Quit_Type:_Update & Quit_Viewbackground imageblackbluebrowncurrentcyangreenmagentanameredremove backgroundsettingstransparentvisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: David Jones Language-Team: Welsh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) BURGGrub 2LinuxLinux-ISOMemtestSymud i lawrSymud i fynyArallAil-enwiUwchGolygu_FfeilCymorthGadael heb gadwCadael heb ddiweddaruCadw a gadaelMath:Diwedd a gadaelGweldllun cefndirduglasbrowncyfredolgwyrddlasgwyrddmagentaenwcochtynnu cefndirgosodiadautryloywgwelededdgwynmelyngrub-customizer-5.1.0/translation/translation.pot0000644000175000017500000004546413360360026021564 0ustar danieldaniel# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "" #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "" #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second entry" "\" you can use the last option which allows typing a custom reference. Usage " "examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "" grub-customizer-5.1.0/translation/translation-de.mo0000644000175000017500000005537513360360026021765 0ustar danieldaniel 8!Z lz  Ev  \ *. Yg l v#  %&5D/Z@' /%E!k:M "C[ m yq  #+ ; I&Sz$ !9 JyX%(+A6mgz.)!&I*<gv !#/!S!#@$8$W%]%% &&& '!'''-'3'<'N'_'e'v' '' ''' ' ''(( ( -(;(C(J(Y( _(i((((((((())) !) +)9)LJ)))))) )) * * !* ,* 8* F*P*i* ** ** *#* *X*{R+ ...=.7/ I/*U/// // // //// /00a0Cw1"11 12 *2 42B2ZQ33%313 4@#4d7k777758F8 K8V8-e8%888#828209c9,~959F9,(:U:q:R:1:,;<;FB;;l;I;G<b< |< <<-=E=V= \= f=s===;==: >G>b>v>>>">>(?"??[?V@h@ A$A/3A3cAGAWA7B7C&MC(tC-C7CD5D/*EJZE1EEE#GBHTHjK:L@YLiLM`M #O .O;O NO XOdO kO wOOOOOOOOPP2P EP PPwPPPPPPPPQ-QCQ\QlQtQyQ,QQ#Q QQR R%R5ROFRR RRR#R R SS "S.S 7S ASMSUStS#SS SS S'S Tx TTdYuYYUYYZ.ZAZ_Z fZ qZZ Z ZZZZ ZZZt7E d|"}=[:- PZJ,~n5 !w@WU{g)bja+HBA zx8OKu<>V^c.  %]'(Gy#?q\Ckv2I$o/i_Nl`*4fpFXY3Lseh9mRrSTDMQ6&;10%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: 2.3 Report-Msgid-Bugs-To: PO-Revision-Date: 2013-01-19 19:05+0000 Last-Translator: Daniel Richter Language-Team: German Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2013-11-13 17:48+0000 X-Generator: Launchpad (build 16820) %1 konnte nicht erfolgreich ausgeführt werden. Fehlermeldung : %2(benutzerdefinierte Einstellungen)(erster Eintrag)(hinzukommende Einträge von %1)(hinzukommende Einträge)(anderer)(Script-Code)Eine Gruppe mehrerer Betriebssysteme. Grub zeigt diese als normalen Menueintrag an. Bei einem Klick darauf wird jedoch nicht direkt ein Betriebssystem gestartet, sondern es wird ein weiteres Menü geladen, welches die in dieser Gruppe enthaltenen Menüeinträge anzeigt.UND : Es gibt noch einige ungespeicherte Änderungen, "update" wird diese auch speichern !E_rscheinungsbildInformation zu den Menüeintrag-ArtenMenü-Eintrag aus dem Papierkorb wiederherstellenAlle DateienAlternativ zur einfachen Theming-Methode, welche ein paar Optionen wie Farbe, Hintergrundbild und Schrift bietet, können auch komplexe Themen-Pakete installiert werden, um ein noch besser aussehendes Bootmenü zu erhalten. Es gibt mehrere Quellen, z.B. diesen Thread auf ubuntuforums.org: %1 (Account notwendig) oder eine Suche nach '%2' unter %3 Einfach ein Paket herunterladen (in den meisten Fällen eine tar.gz-Datei) und zur Liste verfügbarer Themen hinzufügen - durch die Benutzung des Hinzufügen-Buttons neben der Themen-Auswahl. Nach der Änderung des Themas, wird ein einfacher Editor angezeigt, welcher eine Vorschau diverser Dateien und Bilder anzeigt sowie einfaches Datei-Management ermöglicht. Geänderte Inhalte werden gespeichert, sobald der Speichern-Button gedrückt wird.Es ist ein Fehler aufgetretenEin Menüentrag, der im Bootmenü angezeigt wird und ein Betriebssystem startet, solald es angeklickt wird.Archiv-DateienBist du sicher, dass dieses Thema entfernt werden soll?Sind Sie sicher?BURGBURG-ModusBURG gefunden!Vorgabe-Menüeintrag nach %1 Sekunden startenChainloader (Lädt andere Bootloader)Datei wählen…Durchsuchen…Die Konfiguration wurde gespeichertKonnte die ausgewählte Partition nicht einhängenKonnte die ausgewählte Partition nicht aushängenNeues Untermenü erstellenEinstellungen des benutzerdefinierten ThemasMöchten Sie BURG anstelle von GRUB 2 konfigurieren ?Möchten Sie fortfahren, ohne die aktuelle Konfiguration zu speichern?Möchten Sie ihre Veränderungen speichern ?Bootmenüeintrag bearbeitenUmgebungs-Einstellungen:Konnte Boot-Sequenz nicht generieren. Bitte prüfen Sie die angegebenen Parameter!Fehler während der Installation des Bootloaders.Speicherung der Konfiguration fehlgeschlagenDateiDatei-Ersetzung fehlgeschladen. Bitte wähle zuerst eine Themen-Datei!GRUB 2Grub Customizer ist eine grafische Benutzeroberfläche, um die GRUB 2 / BURG-Einstellungen zu konfigurieren.Grub-Schriftarten können unter Umständen gefährlich sein (Information)Hervorgehoben: HintergrundHervorgehoben: SchriftartISO-Abbild: I_SO-AbbildInstallieren Sie den Bootloader in den MBR und speichern Sie ein paar Dateien im Datenverzeichnis des Bootloaders. (wenn diese nicht schon existieren).In den MBR installierenKernel-ParameterLinuxLinux-ISOSpeichertestMemtest-Bootimage: Einhängen fehlgeschlagen !Nach unten verschiebenBewege den ausgewählten Eintrag oder das Skript nach untenNach oben verschiebenBewege den ausgewählten Eintrag oder das Skript nach obenBenennen Sie den Eintrag !Normal: Hintergrundnormal: SchriftartAnderePfad zur ISO-DateiBitte ein Hintergrundbild wählen!Siehe Kommandozeilen-Ausgabe. Bitte erstelle einen Bug unter %1 falls du denkst, dass es sich um einen Fehler von Grub Customizer handelt. Grundsätzlich sollte Grub Customizer solche Fehler verhindern.Bitte geben Sie einen Geräte-Pfad ein !Proxy-Binärdatei nicht gefunden !Aus dem Untermenü entfernenAusgewählte Einträge löschen (diese können aus dem Papierkorb wiederhergestellt werden)Entfernte InhalteDas Entfernen von Skript-Code kann dazu führen, dass einige Menüeinträge nicht mehr korrekt funktionieren. Soll die Aktion trotzdem ausgeführt werden?Umbenennengewählte Einträge wiederherstellenBringt die Liste in den Ausgangszustand zurückKonfiguration speichern und eine neue %1 generierenDas Speichern der Themes konnte nicht erfolgreich abgeschlossen werden!Einige Skipte wurden aktualisiert. Klicke speichern, um die Änderungen zu übernehmen!Skripte generieren Menu-Einträge. Jeder Menü-Eintrag ist deshalb mit einem Skript verbunden. Wenn aktiviert, bilden sie die höchste Ebene in der Liste der Menüeinträge. Im Gegensatz zu Untermenüs werden sie aber dennoch nicht im Bootmenü angezeigt._Platzhalter anzeigen_Ausgeblendete Menüeinträge anzeigenWählen Sie alle notwendigen MountpointsDer Bootloader wurde erfolgreich installiert.Die gewählte Datei kann nicht als Thema geladen werdenDie generierte Konfiguration kommt nicht mit der beim Start abgespeicherten gleich - also ist das, was Sie jetzt sehen, eventuell nicht das, was Sie sehen, wenn Sie ihren PC neu gestartet haben. Klicken Sie auf "Update", um das zu beheben !Der angegebene Dateiname kann nicht verwendet werden!Die Konfiguration kann nicht gespeichert werdenDie vorgenommenen Einstellungen verändern das Bootmenü. Bitte neu laden!Die gespeicherte Konfiguration ist nicht aktuell!Inhalte des ThemasEs gibt 2 Arten dieses speziellen Menüeintrags: hinzukommende Einträge sind der Platz, an dem Grub Customizer neue Betriebssysteme platziert, die von Grub gefunden aber nicht nicht konfiguriert wurden. Bei Skipt-Code handelt es sich hingegen um Code, der von Grub generiert wurde aber nicht nach einem normalen Menüeintrag aussieht. Normalerweise dient er dazu, Grub zu konfigurieren. Er sollte nur geändert/entfernt werden, wenn die Auswirkungen bekannt sind. Platzhalter werden normalerweise nicht angezeigt.Es gibt ungespeicherte Änderungen!Die folgenden Menü-Einträge werden durch diese Aktion gelöscht:Diese Option ermöglicht es, den Menüeintrag auszuwählen, der bei einem Systemstart vorausgewählt werden sollte. Standardmäßig ist dies immer der erste Menüeintrag Diese Option führt dazu, dass immer genau der erste Menüeintrag vorausgewählt bleibt - unabhängig davon, was später dort angezeigt wird. Die anderen Optionen referenzieren hingegen einen bestimmten Menüeintrag anhand des Namens. Ein Verschieben der Menüeinträge führt daher zu keiner Veränderung. Um andere Varianten einzugeben, z.B. "wähle immer den 2. Menüeintrag" dient die letzte Option. Diese erleubt die Eingabe einer benutzerdefinierten Referenz. Beispiele: 1 = "zeige immer auf den 2. Menüeintrag" (Zählung beginnt bei 0) test>0 = "zeige immer auf den 1. Menüeintrag im Untermenü namens test"Diese Option funktioniert nicht, wenn der "os-prober" andere Betriebssysteme findet. Schalten Sie "%1" aus, wenn Sie die Option, andere Betriebsysteme zu booten, nicht benötigen.Dies setzt alle Anpassungen des Bootloader-Menüs zurück!Dies scheint kein Rootdateisystem zu sein (keine fstab gefunden)Dieses Thema enthält keine %1. Bitte schaue nach einer Konfigurationsdatei und benenne sie um nach "%1"!Sie werden alle Einträge (unangepasst) sehen, wenn Sie GRUB ausführen. Dieser Fehler tritt (in den meisten Fällen) dann auf, wenn Sie den Grub-Customizer nicht korrekt installiert haben.Sie versuchen gerade, einen Menü-Eintrag des momentan laufenden Systems zu entfernen. Bitte stellen Sie unbedingt sicher, dass es Alternativ-Einträge gibt, die funktionieren! Falls Sie einfach nur alte Kernel entfernen möchten: Grundsätzlich ist es besser, diese komplett zu deinstallieren, statt einfach nur deren Bootmenü-Einträge auszublenden.E_rweitert_Darstellung_Umgebung wechseln_Gerät: _Bearbeiten_Datei_Schriftart_Allgemein_Allgemeine EinstellungenNach Skripten gruppieren_Hilfe_Initiale RAMdisk_Installiere im MBR ..._Linux-Bootimage_Bootmenü-KonfigurationDatei _laden: _Memtest-Bootimage_Memtest-Bootimage_Partition_Partition_Beenden, ohne zu speichern_Beenden, ohne zu aktualisierenWiederherstellen_Speichern und Beenden_Details anzeigen_Thema:_Typ:_Aktualisieren und Beenden_AnsichtThema hinzufügenDiesen Eintrag in ein neues Submenü schiebenerweiterte EinstellungenHintergrundbildschwarzblaubraunDieser Eintrag kann nicht verschoben werden.Bitte eine Themen-Datei wählenfortfahren (Datenverlust riskieren)dieses SystemAuflösung festlegen: cyandunkelgrauStandardeintragVorgabetitel: %1Einträge permanent entfernen - nur bei benutzerdefinierten Einträgen möglichDieses Thema löschenDateinameSicherungseinträge generierengrünDer Bootloader wird installiert …ist aktivKernelparameterhellblauhelles cyanhellgrauhellgrünhellmagentahellrotKonfiguration wird geladen …Lade Skript %2/%3 (%1)Nach anderen Betriebssystemen sehenmagentaMenü-EintragNamePartition: %1gewählte Einträge permanent entfernenPlatzhalterBitte informieren Sie den Ersteller dieses Programms über das Problem. Die folgende Information könnte hilfreich sein:Bitte beachte: große Schriften können in Kombination mit niedrigen Bildschrim-Auflösungen unbenutzbar machen Da dieses Problem auch von der Schriftart anhängt, ist es nicht möglich ein allgemeines Maximum festzulegen. Daher sollte zunächst eine kleinere Schrift gewählt werden, die nach und nach vergrößert wird (zwischendurch immer neustarten und prüfen). Das Problem hängt damit zusammen, dass die GUI-Elemente (Rahmen etc) bei zu großer Schrift über den Bildschirm hinausgeht. Solange also noch genug Platz frei ist, kann die Schrift schrittweise vergrößert werden. Die Anzahl der Menüeinträge ist damit kein Problem. Diese bekommen notfalls einen Scroll-Balken. Das Problem führt dazu, dass das Bootmenü nicht mehr angezeigt wird - Grub hängt sich komplett auf. Für den Notfall sollte also ggf. eine Live-CD bereitgehalten werden. Vorgehensweise im Fehlerfall: * Schrift-Datei löschen: (MOUNT)/boot/grub/unicode.pf2 * System neustarten (das Menü sollte nun wieder mit der normalen Schrift angezeigt werden) * die Datei /etc/default/grub mit root-Rechten öffnen und ein '#' vor die Zeile platzieren, die mit GRUB_FONT beginnt * Grub Customizer ausführen und eine besser funktionierende Schrift-Art/Größe wählenvor_definiert : vorher _gebooteter EintragrotLädt die Konfiguration neu. Ungespeicherte Anpassungen gehen dabei *nicht* verloren!Hintergrund entfernenSchrift entfernenDiesen Eintrag aus dem Submenü herausschiebenDiese Konfiguration speichernSkriptSkript: %1EinstellungenMenü anzeigenUntermenüTransparentAushängen fehlgeschlagen !Konfiguration wird gespeichertWertSichtbarkeitweißgelbgrub-customizer-5.1.0/translation/translation-el.mo0000644000175000017500000004176113360360026021767 0ustar danieldaniel  8 B [ n E|       ,8 GQ%n&/@'; cp/%!M R ^qi    .&8_$gj9yg%n(6.,[& I3*} #@8 ~  (5IXg n y  )/4:Qks      $ / ; ISl    X 1?X=\ *     (4CZ `kqxc=\3 J . !3!8!P!j! !!!!0!Z!`V"%"P"z.#T#1#-0$}^$E$@"%c%j% & &$&!&!'<' B'L'T'(d''Z'(Z$(,((#(x(gR*#*-* +P+,U-Zh--,S.5.).9./Q01R1N2Om2U24y4R:56"8&8+89*9 B9P9 l9"z9/999&9:".:Q:g: v:::-:+:);(/; X;'e;;c;+<#-< Q<\<e<bn<A< =+ = L=W=/m=)=B= >+>E>!]>>>>>>>(?=D?F?? ? ???@@V@RAaA'A- BcNB=BBBC$C@CQC.bC)CCC CC@N{r,PhwM:=LVW`i84G|EK#+ 1b$q>Bp}jZ ^!fI/QkSm?Hc0Ce9'oa  JFy372%&]-6\O_.Td5U;l~vYst[uRz*AX <("xgDn )%1 couldn't be executed successfully. error message: %2(incoming Entries of %1)(incoming Entries)(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceAdd entry from trashAn error occurredAre you sure?BURGBURG ModeBURG found!Boot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryOtherPath to iso filePlease take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removing Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameReverts the list to the default orderSave configuration and generate a new %1Script updates found. Click save to apply the changes!Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Save & Quit_Show details_Type:_Update & Quit_Viewadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrycontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1generate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1placeholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-10-31 13:45+0000 Last-Translator: Sotiris Panagiotidis Language-Team: Greek MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 δεν μπόρεσε να εκτελεσθεί επιτυχώς. Μήνυμα λάθους: %2(εισερχόμενες Καταχωρήσεις από %1)(εισερχόμενες Καταχωρήσεις)(script κώδικας)AND: οι τροποποιήσεις σας δεν έχουν αποθηκευτεί ακόμη, η ενημέρωση θα αποθηκεύσει και αυτές!Ε_μφάνισηΠροσθήκη καταχώρησης από τα απορρίμματαΠαρουσιάστηκε ένα σφάλμαΕίστε βέβαιοι;BURGΚατάσταση BURGΒρέθηκε το BURG!Σειρά εκκίνησηςChainloaderΕπιλέξτε αρχείο ...Επιλέξτε...Η διαμόρφωση αποθηκεύτηκεΑποτυχία προσάρτησης της επιλεγμένης κατάτμησηςΑποτυχία αποπροσάρτησης της επιλεγμένης κατάτμησηςΔημιουργία υπομενούΘέλετε να διαμορφώσετε το BURG αντί για το grub2;Θέλετε να προχωρήσετε χωρίς αποθήκευση της τρέχουσας διαμόρφωσης;Θέλετε να αποθηκεύσετε τις τροποποιήσεις σας;Επεξεργαστής καταχωρήσεωνΡυθμίσεις περιβάλλοντοςΔημιουργία σφάλματος στη σειρά εκκίνησης. Ελέγξετε τις παραμέτρους!Σφάλμα κατά την εγκατάσταση του bootloaderΑποτυχία αποθήκευσης ρυθμίσεων grub!Grub 2Ο Διαμορφωτής του Grub είναι μια γραφική διεπαφή για τη διαμόρφωση των ρυθμίσεων του grub2/burgISO-Image: I_SO imageΕγκατάσταση του bootloader στο MBR και τοποθέτηση μερικών αρχείων στον κατάλογο δεδομένων των bootloader (αν δεν υπάρχουν ήδη).Εγκατάσταση στο MBRΠαράμετροι πυρήναLinuxLinux-ISOMemtestMemtest-Image: Αποτυχία προσάρτησης!Μετακίνηση κάτωΜετακινήστε κάτω την επιλεγμένη καταχώρηση ή scriptΜετακίνηση πάνωΜετακινήστε πάνω την επιλεγμένη καταχώρηση ή scriptΟνομάστε την καταχώρησηΆλλοΔιαδρομή αρχείου isoΠαρακαλώ δείτε το παρακάτω αποτέλεσμα της γραμμής εντολών. Αν νομίζετε πως αυτό είναι προγραμματιστικό λάθος του Grub Customizer, παρακαλώ δημιουργήστε ένα %1! Γενικά το Grub Customizer πρέπει να προλαμβάνει τέτοια λάθη.Παρακαλούμε πληκτρολογήστε ένα αλφαριθμητικό συσκευής!Δεν βρέθηκε proxy binary!Αφαίρεση από το υπομενούΑφαίρεση επιλεγμένων καταχωρήσεων (μπορείτε να τις αποκαταστήσετε από τα απορίμματα)Η αφαίρεση του Κώδικα Σεναρίου Ενεργειών μπορεί να προκαλέσει προβλήματα κατά την προσπάθεια εκκίνησης από καταχωρήσεις που βασίζονται σε αυτό. Είστε βέβαιοι ότι θέλετε να το κάνετε;ΜετονομασίαΕπαναφέρει τη λίστα στην προκαθορισμένη σειράΑποθηκεύστε τις ρυθμίσεις και δημιουργήστε νέο %1Βρέθηκε ενημέρωση σεναρίου. Πατήστε Αποθήκευση για να εφαρμοστούν οι αλλαγές.Προβολή _υποκαταστάσεωνΠροβολή _κρυφών καταχωρήσεωνΥποσημεία προσάρτησηςΟ bootloader εγκαταστάθηκε επιτυχώςΗ δημιουργημένη διαμόρφωση δεν είναι ίδια με την αποθηκευμένη διαμόρφωση κατά την εκκίνηση. Έτσι, ό,τι βλέπετε τώρα μπορεί να μην είναι ό,τι θα δείτε όταν επανεκκινήσετε τον υπολογιστή σας. Για να το διορθώσετε, πατήστε ενημέρωση!Οι ρυθμίσεις grub δεν μπορούν να αποθηκευτούν.Οι τροποποιήσεις που έχετε κάνει επηρεάζουν τις εμφανιζόμενες καταχωρήσεις. Παρακαλώ επαναφορτώστε!Η αποθηκευμένη διαμόρφωση δεν είναι ενήμερη!Υπα΄ρχουν μη αποθηκευμένες τροποποιήσεις!Αυτό διαγράφει τις ακόλουθες καταχωρήσεις:Αυτή η επιλογή δεν δουλεύει όταν το σενάριο ενεργειών (script) "os-prober" βρίσκει άλλα λειτουργικά συστήματα. Απενεργοποιήστε το "%1" αν δεν χρειάζεται να εκκινείτε με άλλα λειτουργικά συστήματα.Αυτό θα απομακρύνει όλες τις τροποποιήσεις σας της λίστας από το μενού επιλογής λειτουργικού!Αυτό δεν φαίνεται να είναι ριζικό σύστημα αρχείων (δεν βρέθηκε fstab)Βλέπετε όλες τις καταχωρήσεις (χωρίς διαμόρφωση) όταν εκτελείτε το grub. Αυτό το σφάλμα συμβαίνει (στις περισσότερες περιπτώσεις), όταν δεν έχετε εγκαταστήσει τον διαμορφωτή του grub σωστά.Προσπαθείτε να αφαιρέσετε μια καταχώρηση του τρέχοντος συστήματος. Βεβαιωθείτε ότι υπάρχουν άλλες λειτουργικές καταχωρήσεις σε αυτό το σύστημα! Αν απλώς θέλετε να αφαιρέσετε παλαιότερους πυρήνες: Ο καλύτερος τρόπος είναι με απεγκατάστασή τους αντί απλά απόκρυψή τους στο μενού εκκίνησης.Για προ_χωρημένουςΡυθμίσεις εμ_φάνισης_Αλλαγή Περιβάλλοντος…_Συσκευή: _Επεξεργασία_Αρχείο_Γραμματοσειρά_Γενικά_Γενικές ρυθμίσεις_Ομαδοποίηση κατά Σενάρια_Βοήθεια_Αρχικό ramdiskΕ_γκατάσταση στο MBR …_Εικόνα LinuxΔιαμόρφωση _λίσταςΕικόνα _memtest_Memtest-Image_Όνομα:_ΚατάτμησηΚα_τάτμησηΈξο_δος χωρίς αποθήκευσηΈ_ξοδος χωρίς ενημέρωση_Αποθήκευση και έξοδος_Προβολή λεπτομερειών_Τύπος:_Ενημέρωση και έξοδος_Προβολήπροσθήκη αυτής της καταχώρισης από το τρέχον υπομενούπροχωρημένες ρυθμίσειςεικόνα παρασκηνίουμαύρομπλεκαφέδεν γίνεται να μετακινηθεί η συγκεκριμένη καταχώρισησυνέχεια (πιθανή απώλεια δεδομένων)τρέχονπροσαρμοσμένη ανάλυση: κυανόσκούρο γκριπροεπιλεγμένη καταχώρησηπροεπιλεγμένο όνομα: %1δημιουργία καταχωρήσεων επαναφοράςπράσινοεγκατάσταση του bootloader…είναι ενεργήπαράμετροι πυρήναανοιχτό μπλεανοιχτό κυανόανοιχτό γκριανοιχτό πράσινοανοιχτό μωβανοιχτό κόκκινοφόρτωση διαμόρφωσης…φόρτωση σεναρίου ενεργειών %2/%3 (%1)έρευνα για άλλα λειτουργικά συστήματαμωβmenuentryόνομακατάτμηση: %1κράτηση θέσηςπαρακαλώ ενημερώστε το δημιουργό για αυτό το πρόβλημα. Οι ακόλουθες πληροφορίες μπορεί να φανούν χρήσιμες:προ_καθορισμένο: καταχώρηση _προηγούμενης εκκίνησης συστήματοςκόκκινοεπαναφορτώνει τη διαμόρφωση. Οι αλλαγές που δεν έχουν αποθηκευτεί θα διατηρηθούν.αφαίρεση παρασκηνίουαφαίρεση γραμματοσειράςαφαίρεση αυτής της καταχώρισης από το τρέχον υπομενούαποθήκευση αυτής της διαμόρφωσηςσενάριοσενάριο %1ρυθμίσειςεμφάνιση μενούυπομενούδιαφανέςΑποτυχία αποπροσάρτησης!ενημέρωση διαμόρφωσηςτιμήορατότηταλευκόκίτρινοgrub-customizer-5.1.0/translation/translation-vi.mo0000644000175000017500000001552413360360026022003 0ustar danieldanielZ8   # - 9E%b&/@'/ W d %y  M     ) &3 Z b q w  9  % 6 .: Ii * @ 8@ y           ' 3 H ] j q           '-Jc}X=*H` iu97 q~ *6V8g:"&6]hd  % 6 We~$S *BE1}38,l7T &1Lhx     !!;]lu !  *-  N[w#^CQI/   ;FNSYQ !069JDK,45 T #.;URMXGE)"(*I POVA-H= ?+L1<8NB7 2@:Z3WC%$>'F&/%1 couldn't be executed successfully. error message: %2A_ppearanceAn error occurredAre you sure?BURGBURG ModeBURG found!ChainloaderConfiguration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError while installing the bootloaderGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsInstall to MBRLinuxLinux-ISOMemtestMount failed!Move downMove down the selected entry or scriptMove upName the EntryOtherPath to iso fileRemove from submenuRemove selected entries (you can restore them from trash)RenameReverts the list to the default orderScript updates found. Click save to apply the changes!The bootloader has been installed successfullyThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!There are unsaved modifications!This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)_Advanced_Appearance settings_Change Environment …_Device: _Edit_File_General_General settings_Help_Install to MBR …_Linux image_List configuration_Partition_Partition:_Quit without saving_Quit without update_Save & Quit_Type:_Update & Quit_Viewadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrycontinue (risk data loss)currentcustom resolution: greeninstalling the bootloader…loading configuration…loading script %2/%3 (%1)nameplease Inform the author about this problem. The following information could be helpful:redreloads the configuration. Unsaved changes will be preserved.remove this entry from the current submenusave this configurationsettingstransparentumount failed!updating configurationvaluewhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-23 09:40+0000 Last-Translator: Thai Truong Language-Team: Vietnamese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 thực thi không thành công, thông báo lỗi: %2_Giao diệnCó lỗi xảy raBạn có chắc chắn?BURGChế độ BURGTìm thấy BURG!ChainloaderĐã lưu cấu hìnhKhông thể gắn phân vùng đã chọnKhông thể tháo gắn kết phân vùng đã chọnTạo menu phụCó phải bạn muốn cấu hình BURG thay cho grub2?Bạn có muốn tiếp tục mà không lưu cấu hình?Bạn có muốn lưu thay đổi?Chỉnh sửa tuỳ chọnThiết lập môi trườngCó lỗi xảy ra khi cài bootloaderGrub 2Grub Customizer là một ứng dụng trực quan để chỉnh sửa các thiết lập cho grub2/burgCài đặt vào MBRLinuxLinux-ISOMemtest (Kiểm tra RAM)Gắn kết thất bại!Chuyển xuốngDi chuyển tuỳ chọn xuốngChuyển lênĐặt tên tuỳ chọnKhácĐường dẫn đến tập tin isoXoá khỏi menuXoá các tuỳ chọn đã chọn (bạn có thể phục hồi trong thùng rác)Đổi tênKhôi phục danh sách về mặc địnhTìm thấy scripts mới. Ấn SAVE để áp dụng thay đổi!Bootloader đã được cài đặt thành côngCác thiết lập bạn vừa thay đổi ảnh hưởng đến các tuỳ chọn đang hiển thị. Làm ơn tải lại!Cấu hình đã lưu không được cập nhật!Có những thay đổi chưa được lưu!Tất cả thay đổi của bootloader sẽ bị xoá!Có thể đây không phải là một file hệ thống (không tìm thấy fstab)_Nâng caoThiết lập giao _diện_Thay đổi môi trườngThiết _bị: _Chỉnh sửa_Tập tinTổng _quátThiết lập _chung_Trợ giúpCài đặt vào _MBR ..._File ảnh Linux_Danh sách cấu hình_Phân vùng_Phân vùng:_Thoát không cần lưuThoát _không cần cập nhật_Lưu & thoát_Loại:_Cập nhật & thoát_Hiển thịThêm tuỳ chọn này vào menuCài đặt nâng caoảnh nềnđenxanh dươngnâuKhông thể di chuyển tuỳ chọn nàytiếp tục (có nguy cơ mất dữ liệu)hiện tạichọn độ phân giải: xanh láĐang cài đặt bootloader...đang nạp cấu hình...đang nạp tập lệnh %2/%3 (%1)tênvui lòng thông báo cho tác giả về vấn đề này. Thông tin sau có thể có ích:đỏTải lại cấu hình. Những thay đổi chưa lưu sẽ được giữ lạiXoá tuỳ chọn này khỏi menu hiện tạilưu cấu hình nàythiết lậptrong suốttháo gắn kết thất bại!đang cập nhật cấu hìnhgiá trịtrắngvànggrub-customizer-5.1.0/translation/translation-fi.po0000644000175000017500000006677213360360026022001 0ustar danieldaniel# Finnish translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-02-14 09:13+0000\n" "Last-Translator: Elias Ojala \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nimeä käynnistysrivi (entry)" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "en voi siirtää käynnistysriviä (entry)" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Asetukset on tallennettu" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "päivitetään asetuksia" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer on graafinen liittymä, jolla säädetään grub2/burg asetuksia" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "komentosarja" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "alavalikko" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "paikan kiinnittäjä" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "menu-valikko" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "oletusnimi: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "osio: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "nykyinen" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tyyppi:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Käynnistä muokkaus" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Valitse…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Muu" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(komentosarja koodi)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Valitse tiedosto..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Osio" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_alustava ram-levy (initial ramdisk)" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux-kuva (image)" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Muistitestauksen kuva (image)" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "polku ISO-tiedostolle" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kernel muuttujat" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Osio:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Alakiinnityskohdat (Submountpoints):" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "tallenna nämä asetukset" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Kiinnitys epäonnistui!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "irroitus epäonnistui!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Tämä ei näytä olevan juuri tiedostojärjestelmä (fstab ei löydy)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Ei voitu liittää valittua osiota" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Ei voitu irroittaa valittua osiota" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Tapahtui virhe" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "ole hyvä ja ilmoita ohjelman kirjoittajalle virheestä. Seuraava tieto voisi " "olla avuksi:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "jatka (on riski tietojen menetykselle)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Asenna boot-lataaja MBR:lle sekä asenna\n" "tiedostoja boot-lataajan data-hakemistoon\n" "(jos ne eivät jo ole siellä)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Laite: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Asenna MBR:lle" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Käynnistyslatain on asennettu onnistuneesti" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Virhe kesken käynnistyslataimen asennusta." #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "asennetaan käynnistyslatainta.." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Ole hyvä, kirjoita laitteen nimi!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Tiedosto" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "M_uokkaa" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Näkymä" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "O_hje" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Asenna MBR:lle" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Näytä yksityiskohdat" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Näytä _piilotetut kohdat" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Ryhmittele komentosarjan mukaan" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Näytä _paikkamerkit" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG löytyi!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "lisäasetukset" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "Tekemäsi muutokset vaikuttavat näkyviin valikoihin. Lataa uudelleen!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "_Komentosarjan päivityksiä löytyy. Paina tallenna, jotta saat muutokset " "voimaan." #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Näytä asetukset" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Poista valitsemasi käynnistysrivit \"entries\" (voit palauttaa ne " "roskakorista)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Siirrä ylös valittu käynnistysrivi (entry) tai komentosarja" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Siirrä alas valittu käynnistysrivi (entry) tai komentosarja" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Poista tämä käynnistysrivi (entry) nykyisestä alavalikosta" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Lisää tämä käynnistysrivi (entry) uudeksi alavalikoksi" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Tekee käänteisen listauksen nykyiselle järjestykselle" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Lataa uudelleen asetukset. Tallentamattomat muutokset tallennetaan." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Nimeä" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Siirrä ylös" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Siirrä alas" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Poista alavalikosta (submenu)" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Luo alavalikko (submenu)" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Muuta ympäristö ..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Haluatko tehdä asetukset BURG:iin eikä grub2:een?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Yleiset asetukset" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Ulkonäköasetukset" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG tilassa" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "ladataan asetukset..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "ladataan komentosarja (script) %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Binääristä Proxya ei löydy !" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Näet kaikki käynnistysvaihtoehdot (muokkaamattomat), kun suoritat grubia. " "Tämä virhe ilmenee (useinmiten), jos et ole asentanut grub customizer:ia " "oikein." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(sisääntulevat käynnistysvalikot %1 :sta)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(sisääntulevat käynnistysvalikot)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Tallennettu asetus ei ole päivitetty!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Tehty asetus ei ole samanlainen kuin tallennettu asetus käynnistyksessä. " "Joten se mitä näet nyt, ei ehkä ole samaa kuin mitä näet, kun käynnistät " "PC:n uudelleen. Korjaa tämä klikkaamalla 'päivitys'!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Lopeta ilman päivittämistä" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Päivitä ja lopeta" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Haluatko tallentaa tekemäsi muutokset?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Lopeta ilman tallentamista" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Tallenna ja lopeta" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "JA: Muokkauksesi ovat vielä tallentamatta, nyt päivitys tallentaa nekin " "samalla!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Grub asetuksien tallennus epäonnistui!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Grub asetuksia ei voida tallentaa" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Ole hyvä ja katso alempana komentorivin tulostusta. Jos epäilet, että tämä " "on Grub Customerin virhe (bugi), niin luo yksi %1:ssä! Yleensä Grub " "Customizerin pitäisi ehkäistä tämän tyyppiset virheet." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 ei voitu suorittaa onnistuneesti. Virheviesti:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Ympäristöasetukset" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Haluatko edetä ilman, että olet tallentanut nykyiset asetukset?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "On tallentamattomia muutoksia!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Komentosarjan poistaminen voi aiheuttaa ongelmia käynnistysvalikoihin, jotka " "liittyvät tähän. Oletko varma, että haluat tehdä tämän poiston?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Yrität poistaa käynnistysvalikkoa toiminnassa olevasta järjestelmästä. " "Varmista, että on muita toimivia käynnistyvalintoja tähän järjestelmään!\n" "Jos haluat vain poistaa vanhat kernelit: Parempi tapa on poistaa ne " "(uninstall) kuin vain piilottaa ne boot-valikoissa." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Menu-valikko, joka on näkyvissä grub valikossa ja joka aktivoituna " "käynnistää käyttöjärjestelmän." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Ryhmä muita käyttöjärjestelmiä. Grub näyttää sen normaalina menu-valikkona " "kun sitä klikataan, se lataa toisen valikon, joka antaa sinun valita yhden " "siellä olevista menu-valikoista." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "On olemassa kahden tyyppisiä erityisiä valikoita: Sisääntulevat valikot ovat " "paikka, jossa Grub Customizer sijoittaa uudet grubin löytämät " "käyttöjärjestelmät, mutta joiden asetuksia ei ole määritelty Grub " "Customizerilla. Grub tekee käskykoodin (script code), mikä ei näytä menu-" "valikolta. Useimmissa tapauksissa sitä käytetään grubin asetuksiin. Sinun ei " "tule koskea koodiin, ellet ole varma, mitä se koodi tekee. Paikkamerkit ovat " "oletusarvona piilotettuina." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Käskyrivit (scripts) tekevät menu-valikoita. Jokainen menu-valikko kuuluu " "johonkin käskyriviin. Nämä näytetään ylimmän tason ryhminä, kun ne on " "aktivoituna. Verrattuna alavalikoihin, näitä ei näytetä käynnistysvalikossa." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Valikkotyypeistä" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Oletko varma?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Tämä poistaa kaikki sinun listaus muutokset boot-lataajan valikosta!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "esi_valittu: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "aiemmin valittu _käynnistysrivi" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "oletus käynnistysrivi" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "näkyvyys" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "näytä valikko" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "kernel määritykset" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "luo toipumiseen käskyrivi" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "Etsi toista käyttöjärjestelmää" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "säädä resoluutio: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "asetukset" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Yleistä" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Ulkonäkö" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Lisäasetukset" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "on aktiivinen" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "nimi" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "arvo" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Käynnistyy oletusvalinnalla %1 sekunnin kuluttua" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Tämä vaihtoehto ei toimi, jos \"os-prober\" komentosarja löytää toisen " "käyttöjärjestelmän. Kytke pois \"%1\", jos et tarvitse muita " "käyttöjärjestelmiä." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "valkoinen" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "keltainen" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "vaalea sinivihreä (cyan)" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "sinivihreä" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "vaalean sininen" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "sininen" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "vaalean vihreä" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "vihreä" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "vaalea violetti (magenta)" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "violetti (magenta)" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "vaalean punainen" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "punainen" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "ruskea" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "vaalean harmaa" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "tumman harmaa" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "läpinäkyvä" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "musta" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Lataa tiedosto: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Teema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "taustakuva" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Ole hyvä ja valitse taustakuva!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "Ki_rjasin" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "valitse teema tiedosto" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Teeman sisältö" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Säädä teeman asetuksia" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normaali: Fontti" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normaali: Tausta" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Korostettuna: Fontti" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Korostettuna: Tausta" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Tiedosto" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "lisää teema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "poista tämä teema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Arkistotiedostot" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Kaikki tiedostot" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "poiosta kirjaintyyppi (font)" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "poista tausta" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "Muokatut asetukset" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Valittua tiedostoa ei voida ladata teemaksi" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Annettua tiedostonimeä ei voi käyttää" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Teemojen tallennus ei onnistunut täydellisesti!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Tiedoston korvaaminen epäonnistui. Valitse ensin teema -tiedosto!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "tiedostonimi" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "Huomio: isot fontit voivat häiritä käynnistysnäyttöä pieniresoluutioisella " "käynnistysruudulla.\n" "Koska tämä ongelma on riippuvainen valitusta fontista, niin ei ole " "mahdollista määritellä yleistä suurinta kokoa. Kun yrität valita suuremman " "fontin, niin tee se pienin askelin (käynnistä kone aina uudelleen ja " "tarkista tulos).\n" "Tämä ongelma ilmenee, kun grub gui osat (rajat, määritykset) eivät sovi " "ruudulle. Joten, jos ruudulla on riittävästi vaakasuoraa tilaa, voit yrittää " "kokeilla suuremmalla fontilla. Valikkorivien lukumäärä ei ole ongelma - " "niitä voi tarvittaessa vierittää alaspäin.\n" "\n" "Valikoiden vaurio johtaa loputtomaan grub2 lataamiseen. Tällöin tarvitset " "asian korjaamiseen live CD:n :\n" " * pyyhi fontti (MOUNT)/boot/grub/unicode.pf2 -tiedostosta.\n" " * käynnistä koneesi uudelleen (käynnistävalikko pitäisi näkyä " "oletusarvoisilla fonteilla)\n" " * avaa /etc/default/grub pääkäyttäjän (root) oikeuksilla ja kirjoita '#' " "GRUB_FONT -tekstiä sisältävän rivin alkuun.\n" " * käynnistä sitten grub customizer valitaksesi aiemmin käytetyn fontin." #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grubin fontit voivat olla haitallisia (info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Oletko varma, että haluat poistaa tämän teeman" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Vaihtoehtona yksinkertaiseen teema-menetelmään, mikä mahdollistaa joitakin " "määrityksiä kuten värin, taustapaperin ja fontin, sinä voit asentaa " "monimutkaisen ja tiiviin teemapaketin saadaksesi paremmalta näyttävän " "käynnistysvalikon.\n" "\n" "On olemassa useita lähteitä näiden lataamiseen, kuten tässä " "ubuntuforums.org:ssa :\n" "%1 (tarvitsee käyttäjätunnuksen)\n" "tai etsi '%2' sijainnista %3\n" "\n" "Lataa sopiva paketti (joka on useimmissa tapauksissa tar.gz muodossa) ja " "lisää se mahdollisiin teemoihisi käyttämällä lisää nappia teema valitsijan " "vieressä.\n" "\n" "Kun olet muuttanut teeeman, näet yksinkertaisen editorin, jossa voit " "esikatsella kuvia ja joissa voit tehdä jotain tiedoston käsittelyä. Muokatun " "teeman sisältö tallennetaan kun painat tallenna nappia." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Lisää käynnistysvalikko roskakorista" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Poistetut kohdat" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Palauta" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Palauta valitut valikot" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "Pyyhi lopullisesti valitut valikot" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "Pyyhi lopullisesti valitut valikot - tämä toiminto on käytössä vain " "mukautetuille valikoille" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Tämä poistaa seuraavat käynnistysvalikot:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Ketjulataaja" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Muistitestaus" grub-customizer-5.1.0/translation/translation-eu.mo0000644000175000017500000002173713360360026022001 0ustar danieldanielv| 8 * E8 ~     % & D /S @ '  % 4 M; q    ( 6 &@ g $o       9=.DsI$*n #8r <F[ s}     /5Ugx~    0: L W b m y    X GUn=r * $ ,8G^ douw|9.S=  *-<j+{2%($MOT/?V \f 1 /  /Pp> -T,'T#rC:~ !-B Wa j v      ( &/ V j     #     !!9!"@! c!o! ! ! ! ! ! !!!" "" #"O."~"""C"" ###C# Z#d# s#~#######]Qf Y:U v 4D"phPa<SG7#6,n 9O?Zc 0qK m2;^=I.&JX*>%$EM!WigA'\HC1V-rj8(bs)u+o5NT3eBtk/_R`LdlF@[%1 couldn't be executed successfully. error message: %2(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceAdd entry from trashAn error occurredAre you sure?BURGBURG ModeBURG found!Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError while installing the bootloaderGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryOtherPath to iso filePlease type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)RenameThe bootloader has been installed successfullyThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_General_General settings_Help_Install to MBR …_Linux image_Partition_Partition:_Quit without saving_Quit without update_Save & Quit_Type:_Update & Quit_Viewadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrycontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrygenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…look for other operating systemsmagentamenuentrynameplaceholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationsettingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: FULL NAME Language-Team: Basque MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Ezin izan da %1 behar bezala exekutatu. errore mezua: %2(script kodea)ETA: zure aldaketak oraindik gorde gabe daude, eguneraketak gordeko ditu hauek ere!_ItxuraGehitu sarrera zakarrontzitikErrore bat gertatu daZiur zaude?BURGBURG moduaBURG aurkitu da!Konfigurazioa gorde daEzin izan da muntatu hautatutako partizioaEzin izan da desmuntatu hautatutako partizioaSortu azpi-menuaBURG konfiguratu nahi duzu grub2-ren ordez?Uneko konfigurazioa gorde gabe jarraitu nahi duzu?Egindako aldaketak gorde nahi dituzu?Sarrera-editoreaIngurune ezarpenakErrorea abioko kargatzailea instalatzeanGrub 2Grub Customizer grub2/burg-en ezarpenak konfiguratzeko interfaze grafiko bat daInstalatu abioko kargatzailea MBR-n eta jarri zenbait fitxategi abioko kargatzailearen datu direktorioan (dagoeneko existitzen ez badira).Instalatu MBR-nNukleoaren parametroakLinuxLinux-ISOMuntaketak huts egin du!Eraman beheraMugitu beherantz hautatutako sarrera edo script-aEraman goraMugitu gorantz hautatutako sarrera edo script-aIzendatu sarreraBestelakoaIso fitxategirako bideaMesedez, idatzi gailuaren izena!Ez da proxy binariorik aurkitu!Kendu azpi-menutikKendu hautatutako sarrerak (zakarrontzitik lehenera ditzakezu)BerrizendatuAbioko kargatzailea behar bezala instalatu daSortutako konfigurazioa ez da abioan gordetako konfigurazioaren berdina. Ondorioz, baliteke orain ikusten duzuna eta ordenagailua berrabiaraztean ikusiko duzuna bat ez etortzea. Hau konpontzeko, sakatu eguneratu!Egin dituzun aldaketek ikusgai dauden sarrerak aldatzen dituzte. Mesedez birkargatu!Gordetako konfigurazioa ez dago eguneratuta!Gorde gabeko aldaketak daude!Honek sarrera hauek ezabatzen ditu:Aukera honek ez du funtzionatzen "os-prober" script-ak beste sistema eragileak aurkitzen dituenean. Desgaitu "%1" beste sistema eragilerik erabili behar ez baduzu.Hau root fitxategi-sistema bat dela dirudi (ez da fstab-ik aurkitu)Sarrera guztiak ikusiko dituzu (pertsonalizatu gabe) grub abiatzean. Errore hau gertatzen da (kasu gehienetan) Grub Customizer behar bezala instalatzen ez denean._Aurreratua_Itxuraren ezarpenak_Aldatu ingurunea..._Gailua: _Editatu_Fitxategia_Orokorra_Ezarpen orokorrak_Laguntza_Instalatu MBR-n_Linux irudia_Partizioa_Partizioa:_Irten gorde gabe_Irten eguneratu gabe_Gorde eta irten_Mota:_Eguneratu eta irten_Ikusigehitu sarrera hau azpimenu berri batiezarpen aurreratuakatzeko planoko irudiabeltzaurdinamarroiaezin da sarrera hau mugitujarraitu (datuak galtzeko arriskua)unekoabereizmen pertsonalizatua: zianagris ilunasarrera lehenetsiasortu berreskuratze sarrerakberdeaabioko kargatzailea instalatzen...aktibo dagonukleoaren parametroakurdin argiazian argiagris argiaberde argiamagenta argiagorri argiakonfigurazioa kargatzen...bilatu beste sistema eragileakmagentamenu-sarreraizenaleku-markamesedez jakinarazi arazo hau autoreari. Informazio hau lagungarri izan daiteke:aurre_definitua: aurretik _kargatutako sarreragorriakonfigurazioa kargatzen du. Gorde gabeko aldaketak mantenduko dira.kendu atzeko planoakendu letra-tipoakendu sarrera hau uneko azpimenutikgorde konfigurazio hauezarpenakerakutsi menuaazpi-menuagardenadesmuntaketak huts egin du!konfigurazioa eguneratzenbalioaikusgarritasunazuriahoriagrub-customizer-5.1.0/translation/translation-ko.po0000644000175000017500000007250113360360026021777 0ustar danieldaniel# Korean translation for grub-customizer # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: B. W. Knight \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "항목의 이름을 지으십시오" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "이 항목을 이동시킬 수 없습니다" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "환경 설정이 저장되었습니다" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "환경 설정을 업데이트하는 중입니다" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "Grub 커스터마이저는 grub2/burg 설정을 구성해주는 그래픽 인터페이스 도구입니다" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "스크립트" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "하위 메뉴" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "구색맞추미" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "메뉴 항목" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "스크립트: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "기본 이름: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "파티션: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "현재" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "종류(_T):" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "항목 편집기" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "그 외 설정" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(스크립트 코드)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "파티션(_P)" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "초기 램 디스크(_I)" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "리눅스 이미지(_L)" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Mem테스트 이미지(_M)" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "iso 파일 경로" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "커널 매개변수" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "파티션(_P):" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "하위 장착 지점:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "이 환경 설정을 저장합니다" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "장착에 실패했습니다!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "장착 해제에 실패했습니다!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "이 장치는 루트 파일 시스템이 아닌듯합니다(fstab을 찾지 못했습니다)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "선택한 파티션을 장착할 수 없습니다" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "선택한 파티션을 장착 해제할 수 없습니다" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "오류가 발생했습니다" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "이 문제에 관한 정보를 저자에게 보고하십시오. 다음과 같은 정보는 도움이 될 수 있습니다:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "계속합니다(데이터 손실을 감수합니다)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "MBR에 부트로더를 설치하고 몇몇 파일을\n" "부트로더 데이터 디렉터리에 넣습니다\n" "(만약 이미 이들이 존재하지 않으면)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "장치(_D): " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "MBR에 설치합니다" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "부트로더가 성공적으로 설치되었습니다" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "부트로더를 설치하는 도중에 오류가 발생했습니다" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "부트로더를 설치하는 중입니다..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "장치 문자열을 입력하십시오!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "파일(_F)" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "편집하기(_E)" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "보기(_V)" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "도움말(_H)" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "MBR에 설치합니다(_I) ..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "세부 사항을 봅니다(_S)" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "숨겨진 항목을 봅니다(_h)" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "스크립트로 묶습니다(_G)" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "구색맞추미를 봅니다(_P)" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG를 찾았습니다!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "고급 설정" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "당신이 완료한 변경 사항은 보이는 항목에 영향을 끼칩니다. 다시 읽으십시오!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "스크립트 업데이트를 찾았습니다. 저장을 누르셔서 변경 사항을 적용하십시오!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "환경 설정 목록(_L)" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "선택한 항목을 제거합니다(휴지통에서 이를 복원하실 수 있습니다)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "선택한 항목이나 스크립트를 위로 이동합니다" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "선택한 항목이나 스크립트를 아래로 이동합니다" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "현재 하위 메뉴에서 이 항목을 제거합니다" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "이 항목을 새로운 하위 메뉴에 추가합니다" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "기본 순서대로 목록을 되돌립니다" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "환경 설정을 다시 읽습니다. 저장하지 않은 변경 사항은 그대로 있을 겁니다." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "이름을 바꿉니다" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "위로 이동합니다" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "아래로 이동합니다" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "하위 메뉴에서 제거합니다" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "하위 메뉴를 만듭니다" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "환경을 바꿉니다(_G) ..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "grub2 대신에 BURG를 설정하고 싶습니까?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "일반 설정(_G)" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "외관 설정(_A)" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG 모드" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "환경 설정을 저장하고 새로운 %1을 실행합니다" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "환경 설정을 불러오는 중입니다..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "스크립트 %2/%3 (%1)를 불러오는 중입니다..." #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "프락시 바이너리를 찾지 못했습니다!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "당신이 grub을 실행하실 때 모든 항목(사용자 설정이 되지 않은)을 볼 것입니다. 이 오류는 당신이 grub 커스터마이저를 올바르게 " "설치하지 않을 때, 발생합니다." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(%1의 오고 있는 항목)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(오고 있는 항목)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "저장한 환경 설정이 업데이트되지 않았습니다!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "실행된 환경 설정은 시작할 때 나오는 환경 설정에 저장하는 것과 같지 않습니다. 그러므로 지금 당신이 보고 있는 것은 당신의 PC를 다시 " "시작할 때 당신이 보고 있는 것이 아닐 수도 있습니다. 이를 고치시려면, 업데이트를 누르십시오!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "업데이트하지 않고 종료합니다(_Q)" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "업데이트 & 종료(_U)" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "당신의 변경 사항을 저장하시겠습니까?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "저장하지 않고 종료합니다(_Q)" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "저장 & 종료(_S)" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "그리고: 당신의 변경 사항은 아직 저장되지 않았으며, 업데이트는 이를 저장할 것입니다!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "grub 환경 설정을 저장하는 걸 실패했습니다!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "grub 환경 설정은 저장될 수 없습니다" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "아래에서 명령 줄 출력을 둘러보십시오. 만약 당신이 이를 Grub 커스터마이저의 버그라고 생각하시면, %1에 만드십시오! 일반적으로 " "Grub 커스터마이저는 이와 같은 오류를 방지해야 합니다." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1은 성공적으로 실행될 수 없습니다. 오류 메시지:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "환경 설정" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "현재 환경 설정을 저장하지 않고 계속하시겠습니까?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "여기에 저장하지 않은 변경 사항이 있습니다!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "스크립트 코드를 제거하는 것은 이를 의존하는 항목을 부팅하는 걸 시도할 때 문제가 발생할 수 있게 만들 수 있습니다. 정말 당신은 결과가 " "어쨌든 간에 이를 제거하고 싶습니까?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "당신은 현재 실행 중인 시스템의 항목을 제거하는 걸 시도하고 있습니다. 이 시스템에 실행 중인 다른 항목이 있다는 걸 명심하십시오!\n" "만약 당신이 단지 오래된 커널만 제거하고 싶으시다면: 더 좋은 방법은 부트 메뉴에서 이를 숨기는 대신에 삭제하는 것입니다." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "메뉴 항목은 grub 메뉴에 보이며 활성화됐을 때 운영 체제를 부팅합니다." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "다른 운영 체제 그룹입니다. Grub은 이를 보통 메뉴 항목으로써 보여주지만 이를 누를 때, 당신이 함유한 메뉴 항목 중 하나를 선택하실 " "수 있는 다른 메뉴를 불러옵니다." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "여기에는 두 종류의 특별 항목이 있습니다: 오고 있는 항목은 Grub 커스터마이저가 grub에 의해 찾았지만, 아직 Grub " "커스터마이저를 사용하는 걸 구성하지 않은 새로운 운영 체제를 놓는 장소입니다. 스크립트 코드는 메뉴 항목처럼 생기지 않은 grub에서 " "실행됩니다. 대부분의 경우는 grub을 구성하는 데 사용됩니다. 당신은 이것이 어떻게 하는지에 대해 알 때에만 사용하셔야 합니다. " "구색맞추미는 기본으로 숨겨져 있습니다." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "스크립트는 메뉴 항목을 실행해줍니다. 그러므로 모든 메뉴 항목은 스크립트에 속합니다. 이들은 활성화될 때 최상위 수준 그룹으로써 " "보입니다. 그러나 이와 대조적으로 하위 메뉴는 부트 메뉴에 보이지 않습니다." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "항목 종류 설명" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "정말 확실하십니까?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "이는 당신의 모든 부트로더 메뉴 변경 사항 목록을 제거합니다!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "미리 정의된(_d): " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "이전에 부팅된 항목(_b)" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "기본 항목" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "가시성" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "메뉴를 봅니다" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "커널 매개변수" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "항목 복원을 실행합니다" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "다른 운영 체제를 찾아봅니다" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "사용자 설정 해상도: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "설정" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "일반(_G)" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "외관(_A)" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "고급(_A)" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "활성화 상태입니다" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "이름" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "값" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "매 %1초마다 기본 항목을 부팅합니다" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "이 선택 사항은 \"os-프로버\" 스크립트가 다른 운영 체제를 찾았을 때 작동되지 않습니다. 만약 당신이 다른 운영 체제로 부팅할 " "필요가 없으시다면 \"%1\"을 사용하지 마십시오." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "흰색" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "노란색" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "연한-청록색" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "청록색" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "연한-파란색" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "파란색" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "연한-초록색" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "초록색" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "연한-자주색" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "자주색" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "연한-빨간색" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "빨간색" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "갈색" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "연한-회색" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "진한-회색" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "투명" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "검은색" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "파일을 불러옵니다(_L): " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "테마(_T):" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "배경 이미지" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "배경 이미지를 선택하십시오!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "글꼴(_F)" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "테마 파일을 선택하십시오" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "테마 내용" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "사용자 테마 설정" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "보통: 글꼴" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "보통: 배경" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "강조된: 글꼴" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "강조된: 배경" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "파일" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "테마를 추가합니다" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "이 테마를 삭제합니다" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "압축 파일" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "모든 파일" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "글꼴을 제거합니다" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "배경을 제거합니다" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(사용자 설정)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "선택한 파일은 테마로써 불러올 수 없습니다" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "주어진 파일 이름은 사용될 수 없습니다" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "이 테마는 %1을 함유하고 있지 않습니다. 설정 파일을 찾아보시고 \"%1\"로 이름을 바꾸십시오!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "테마가 완전히 저장되지 않았습니다!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "파일 교체에 실패했습니다. 먼저 테마 파일을 선택하십시오!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "파일 이름" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "명심하십시오: 낮은 부팅 화면 해상도에서 큰 글꼴을 사용하면 부팅 화면을 손상할 수 있습니다\n" "왜냐하면, 이 문제는 선택한 글꼴에 따라, 일반 최대화를 정의하는 게 가능하지 않기 때문입니다. 당신이 더 큰 글꼴을 선택하는 걸 시도할 " "때, 작은 과정으로 하십시오(다시 시작 및 결과를 확인합니다).\n" "grub 그래픽 사용자 인터페이스 요소(경계, 설명)가 화면에 맞지 않을 때 문제가 발생합니다. 그러므로 여기에 충분한 수직 공간이 " "있다면 더 큰 글꼴을 시도해보실 수 있습니다. 여러 개의 메뉴 항목은 문제가 아니며 - 만약 필요하다면 이들은 스크롤 됩니다.\n" "\n" "잘못된 결과는 grub2를 불러오는 시간을 무한하게 만듭니다. 이를 고치기 위해서는 당신은 라이브 CD가 필요합니다:\n" " * (MOUNT)/boot/grub/unicode.pf2에서 글꼴을 삭제하십시오\n" " * 당신의 시스템을 다시 시작하십시오(메뉴는 기본 글꼴과 함께 보여야 합니다)\n" " * 루트 권한으로 /etc/default/grub을 여시고 GRUB_FONT를 함유한 줄의 맨 앞부분에 '#'을 놓으십시오\n" " * 그다음에 grub 커스터마이저를 실행하셔서 이전에 사용했던 글꼴을 선택하십시오" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub 글꼴은 해가 될 수 있습니다(정보)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "이 테마를 제거하시겠습니까?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "당신은 색상, 배경화면 및 글꼴과 같은 몇몇 선택 사항을 제공해주는 간단한 테마 방법 대신에 복잡한 테마 패키지를 설치하셔서 더 멋진 " "부팅 메뉴를 가지실 수 있습니다.\n" "\n" "여기에는 ubuntuforums.org에 있는 이 스레드처럼 여러 내려받기 소스가 있습니다:\n" "%1 (계정이 필요합니다)\n" "혹은 %3에서 '%2'를 검색하십시오\n" "\n" "패키지만 내려받으시고(대부분의 경우는 tar.gz 형식입니다) 이 패키지를 테마 선택기 옆에 있는 버튼 추가를 사용하셔서 유효한 테마 " "목록에 추가하십시오.\n" "\n" "테마를 바꾸시고 나서 당신은 이미지 미리 보기를 주고 몇몇 파일 관리를 할 수 있도록 해주는 간단한 편집기를 보게 될 것입니다. 변경된 " "테마 내용은 당신이 저장 버튼을 누르실 때 저장될 것입니다." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "휴지통에서 항목을 추가합니다" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "제거된 항목" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "복원하기(_R)" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "선택한 항목을 복원합니다" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "선택한 항목을 영구적으로 삭제합니다" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "항목을 영구적으로 삭제합니다 - 이 조치는 사용자 설정 항목에만 유효합니다" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "이는 다음과 같은 항목을 삭제합니다:" #: src/main/client.cpp:98 msgid "Linux" msgstr "리눅스" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "리눅스-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "체인로더" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Mem테스트" grub-customizer-5.1.0/translation/translation-sk.mo0000644000175000017500000005023113360360026021774 0ustar danieldaniel$, 081j |  E   \ 0*> iw | #   %&,Sb/x@' /3%c!:M @ay  q #1 7AI Y g&q$ ! -9. hyv%(6+_6.)!&I*Z ,!#M!q!@"8F"W""h# Z$d$y$ $$$$$$$$$$ %% %%2%A%P% W% b%n%%% % %%%%% %% &&-&3&8&>&U&g&&&& & &&L&'*'3'M'S' p'z' ' ' ' ' ' ''' (%( -(7( <(#J( n(Xz({( O,],v,=z,, ,*,-- -+- 4->- F-R-a-x- ~---y-8/I/_/p// ///L0000113\3V40j4 44 44+44 55 -5851U5055505;6Q6m6}6K6%6!7'7F.7u7M|7)77 8 8 +8l68888 88889.9D9.T999999!99%:&::E;Z;p; <<**<+U<(<V<===>'.>-V>>&p?'?g?)'@ Q@]@!+B+MByB?C]OCWCDD EEE E EEE EFF 6FAFXF rFFFFFFFFFG -G7GMGdGlGrG G G)GGGGHHH+H$CH hHrH H HHHSH I8IGIeImIII II I IIIIJ!:J \JgJwJ ~J$JJ_J%KO/O NOAXOOO'OOP P P"P1P 9PFPYPvP ~PPPt8yF d}#~>\;. Q[K-n6 "wAXV|g*bja,ICB!x9PLu=?W_c/  &^()Hz$@q]Dkv3J%o0i`Ol{+5fpGYZ4Mseh:mS rTUENR7'<21%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2018-09-22 12:21+0000 Last-Translator: Vendelín Slezák Language-Team: Slovak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 nemôže byť úspešne vykonaný. Správa chyby: %2(Vlastné nastavenia)(prvá položka)(položky prebrané z %1)(prebrané položky)(ostatné...)(kód skriptu)Skupina iných operačných systémov. Grub ju zobrazí ako normálne položky ponuky, ale po kliknutí na nich sa načíta ďalšia ponuka, z ktorej si môžete vybrať niektorú obsiahnutú položku.A: vaše úpravy stále nie sú uložené, uložia sa až pri aktualizácii!_VzhľadO typoch položiekPridať položku z KošaVšetky súboryAko alternatíva pre jednoduché úpravy tém zmenou farby, tapety a písma môžete nainštalovať pokročilejšie balíky tém, ktorými získate ešte lepšie vyzerajúcu štartovaciu ponuku. Existuje viacero zdrojov na stiahnutie, napr. táto téma na ubuntuforums.org: %1 (potrebujete mať účet) alebo vyhľadajte '%2' na %3 Iba stiahnite balík (väčšinou vo formáte tar.gz) a pridajte ho na zoznam dostupných tém použitím tlačidla Pridať vedľa tlačidla na výber témy. Po zmene témy budete vidieť jednoduchý editor, ktorý poskytuje aj náhľad obrázkov a umožňuje správu súborov. Upravené obsahy tém budú uložené po stlačení tlačidla Uložiť.Vyskytla sa chybaPoložka ponuky, ktorá je v ponuke viditeľná a po aktivácií spustí operačný systém.Súbory s archívmiSte si istý, že chcete túto tému odstrániťSte si istý?BURGRežim BURGBol nájdený BURG!Spustiť predvolenú položku za %1 sekúndBootovacia sekvenciaChainloaderVybrať súbor...Vybrať...Konfigurácia bola uloženáNebolo možné pripojiť vybraný diskový oddielNebolo možné odpojiť vybraný diskový oddielVytvoriť podmenuVlastné nastavenia témyŽeláte si nakonfigurovať BURG namiesto grub2?Chcete pokračovať bez uloženia aktuálnej konfigurácie?Želáte si uložiť zmeny?Editor položkyNastavenia prostrediaChyba pri vytváraní bootovacej sekvencie. Prosím skontrolujte parametre!Chyba počas inštalácie zavádzačaUkladanie nastavení grub zlyhaloSúborNahradzovanie súboru zlyhalo. Prosím najprv vyberte súbor s témou!Grub 2Grub Customizer je grafické rozhranie na konfiguráciu nastavení Grub2/BurgPísma grub môžu byť škodlivé (info)Zvýraznené: PozadieZvýraznené: PísmoISO-obraz: I_SO obrazNainštaluje zavádzač do MBR a vloží niekoľko súborov do adresára zavádzača (ak ešte neexistujú).Nainštalovať do MBRParametre jadraLinuxLinux-ISOMemtestMemtest-obraz: Pripojenie zlyhalo!Posunúť nadolPosunúť vybranú položku alebo skript nadolPosunúť nahorPosunúť vybranú položku alebo skript nahorPomenovať položkuNormálne: PozadieNormálne: PísmoInéCesta k ISO súboruProsím vyberte obrázok pozadia!Prosím pozrite sa na výstup príkazového riadka nižšie. Ak si myslíte, že ide o chybu Grub Customizer, vytvorte %1! Vo všeobecnosti Grub Customizer predchádza takýmto chybám.Prosím, zadajte reťazec zariadenia!Binárny súbor proxy nebol nájdený!Odstrániť z podmenuOdstrániť vybrané položky (môžete ich neskôr obnoviť z Koša)Odstránené položkyOdstraňovanie kódu skriptu môže spôsobiť problémy pri spúšťaní položiek, ktoré na ňom závisia. Ste si istý, že to chcete urobiť?PremenovaťObnoviť vybrané položkyNavráti zoznam do predvoleného zoradeniaUložiť konfiguráciu a genrovať novú %1Ukladanie tém nebolo úplne úspešné!Boli nájdené aktualizácie pre skriptá. Kliknite na Uložiť pre aplikovanie zmien!Skriptá generujú položky ponuky. Každá položka ponuky tak patrí niektorému skriptu. Po aktivácií sú zobrazené ako skupiny najvyššej úrovne. Na rozdiel od podmenu ale nie sú v spúšťacej ponuke zobrazené.Zobraziť rezervované miestaZobraziť _skryté položkyPodprípojné body:Zavádzač bol úspešne naištalovanýNedá sa načítať vybraný súbor ako témuVygenerovaná konfigurácia nebola totožná s konfiguráciou uloženou pri štarte. Takže to, čo vidíte teraz, nemusí byť to, čo uvidíte po reštartovaní počítača. Na odstránenie tohoto problému kliknite na Aktualizovať!Nedá sa použiť daný názov súboruNastavenia grub nebolo možné uložiťZmeny, ktoré ste urobili, ovplyvňujú viditeľné položky. Prosím, znovu načítajte konfiguráciu!Uložená konfigurácia nie je aktuálna!Obsah témyExistujú 2 typy tejto špeciálnej položky. Prichádzajúce položky sú miestom, kde Grub Customizer ukladá operačné systémy, ktoré ním boli nájdené, ale stále nie nakonfigurované použitím Grub Customizer. Kód skriptu je kód generovaný grubom, ktorý nevyzerá ako položka ponuky. Vo väčšine prípadov sa používa na konfiguráciu grubu. Mali by ste ho použiť len ak viete, čo robí. Rezervovania miest sú v predvolenom stave skryté.Niektoré zmeny neboli uložené!Týmto sa odstránia nasledujúce položky:Táto voľba nefunguje, ak skript "os-prober" nájde iné operačné systémy. Zakážte "%1", ak nepotrebujete spúšťať iné operačné systémy.Týmto sa z ponuky spúšťača odstránia všetky vaše zmeny!Zdá sa, že toto nie je koreňový súborový systém (žiadny súbor fstab nebol nájdený)Táto téma neobsahuje %1. Prosím pozrite sa na config súbor a premenujte ho na "%1"!Uvidíte všetky položky (neprispôsobené) keď spustíte grub. Táto chyba sa vyskytuje (vo väčšine prípadov), keď sa Grub Customizer nenainštaloval správne.Pokúšate sa odstrániť položku práve bežiaceho systému. Uistite sa, že fungujú iné položky tohto systému! Ak chcete iba odstrániť staré verzie jadra: Lepšie je ich odinštalovať, než iba skryť v spúšťacom menu._PokročiléNastavenia vz_hľaduZmeniť _prostredie..._Zariadenie: _Upraviť_Súbor_Písmo_Všeobecné_Všeobecné nastavenia_Zoskupiť podľa skriptu_PomocníkPočiatočný _ramdisk_Nainštalovať do MBR...Obraz _LinuxuKonfigurácia _zoznamu_Načítať súbor: Obraz _memtestu_Memtest-obraz_Názov:_Diskový oddiel_Diskový oddiel:_Ukončiť bez uloženia_Ukončiť bez aktualizácie_ObnoviťU_ložiť a ukončiť_Zobraziť podrobnosti_Téma:_Typ:_Aktualizovať a ukončiť_Zobraziťpridať témupridať túto položku do nového podmenupokročilé nastaveniaObrázok pozadiačiernamodráhnedánedá sa presunúť položkuvybrať súbor s témoupokračovať (hrozí strata údajov)aktuálnyvlastné rozlíšenie: azúrovátmavošedápredvolená položkapredvolený názov: %1odstrániť položky trvale - táto operácia je dostupná iba na vlastné položkyodstrániť túto témunázov súborugenerovať položky na obnovuzelenáinštaluje sa zavádzač...aktívneparametre jadrasvetlomodrásvetloazúrovásvetlošedásvetlozelenásvetlopurpurovásvetločervenánačítava sa konfigurácia...načítava sa skript %2/%3 (%1)hľadať iné operačné systémypurpurovápoložka ponukynázovpartícia: %1trvale odstrániť vybrané položkyrezervovanie miestaprosím, informujte autora o tomto probléme. Nasledujúce informácie môžu byť užitočné:prosím uvedomte si: veľké písmo na malej spúšťacej obrazovke môže túto obrazovku pokaziť Keďže tento problém závisí od vybraného písma, nedá sa definovať všeobecné maximum. Ak sa pokúšate vybrať väčšie písmo, prosím zväčšujte ho len postupne (reštartujte počítač a pozrite sa na výsledok). Problém nastane ak sa prvky grui ui (ohraničenia, popisy) nezmestia na obrazovku. Kým je teda dostatok zvislého miesta, môžete skúsiť väčšie písmo. Počet položiek ponuky nie je problémom, v prípade potreby sa ich dá skrolovať. Nesprávne výsledky môžu viesť k nekončiacemu načítaniu grub2. Pre jeho opravenie potrebujete live cd: * odstráňte písmo z (MOUNT)/boot/grub/unicode.pf2 * reštartujte váš systém (ponuka by sa mala objaviť s predvolenými písmami) * otvorte /etc/default/grub s oprávneniami root a zapíšte „#“ na začiatok riadka obsahujúceho GRUB_FONT * spustite grub customizer a vyberte písmo, ktoré ste používali pred týmpred_definovaná: predošlá _použitá položkačervenáZnovu načíta konfiguráciu. Neuložené zmeny budú zachované.odstrániť pozadieodstrániť písmoodobrať položku z aktuálneho podmenuuožiť túto konfiguráciuskriptskript: %1nastaveniazobraziť menupodmenupriehľadnáOdpojenie zlyhalo!aktualizuje sa konfiguráciahodnotaviditeľnosťbielažltágrub-customizer-5.1.0/translation/translation-sr.po0000644000175000017500000010302613360360026022007 0ustar danieldaniel# Serbian translation for grub-customizer # Copyright (c) 2016 Rosetta Contributors and Canonical Ltd 2016 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2016. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-06-05 21:30+0000\n" "Last-Translator: Anaximandar \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Назив уноса" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "није могуће помакнути овај унос" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Конфигурација ће бити сачувана" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "ажурирање конфигурације" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer је графичко окружење за конфигурисање grub2/burg подешавања" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "скрипта" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "подмени" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "резервација места" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "мени уноса" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "скрипта: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "подразумевани назив: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "партиција: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-слика: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-слика: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "тренутно" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Тип:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Boot секвенца" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Назив:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Грешка при креирању boot секвенце.\n" "Проверите параметре!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Уређивач уноса" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Изабери" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Остало" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(код скрипте)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Изаберите датотеку" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Партиција" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Иницијализација ramdisk-а (initrd)" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux slika" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest slika" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Путања до iso датотеке" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Параметри кернела" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO слика" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-слика" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Партиција:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Тачке подмонтирања:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "сачувај ову конфигурацију" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Монтирање није успело!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "демонтирање није успело!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Изгледа да ово није корени систем датотека (root) , (fstab није пронађен)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Није могуће монтирање одабране партиције" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Није могуће демонтирање одабране партиције" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Дошло је до грешке" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "молим, обавестите аутора о овом проблему. Следеће информације би биле од " "помоћи:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "настави (ризик од губитка података)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Инсталирај bootloader у MBR и стави неке\n" "податке у bootloader директотијум\n" "(ако већ не постоје)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Уређај: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Инсталирај у MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Bootloader је инсталиан успешно" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Грешка током инсталације bootloader-а" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "инсталирање bootloader-а" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Молим унесите ознаку уређаја!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Датотека" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Уреди" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Приказ" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Помоћ" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_инсталирај у MBR" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Прикажи детаље" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Прикажи _скривене уносе" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Групиши по скриптама" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Прикажи _резервисана места" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG пронађен!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "напредна подешавања" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Промене које сте учинили имају утицај на приказ. Молим поново учитајте!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Ажурирање скрипти је пронађено. Кликните на 'сачувај' да примените измене!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Листа конфигурација" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Уклони изабране уносе (можете их вратити из смећа)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Помакните горе изабрани унос или скрипту" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Помакните доле изабрани унос или скрипту" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "уклоните овај унос из тренутног подменија" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "додај овај унос у нови подмени" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Враћа листу на подразумевани редослед" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "поново учитај конфигурацију. Несачване измене ће бити сачуване." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Преименуј" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Помери навише" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Помери наниже" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Уклони из подменија" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Креирај подмени" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Измена окружења" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Зелите ли да подесите BURG уместо grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Општа подешавања" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Подешавања изгледа" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG Режим" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Сачувај конфигурацију и направи нову %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "учитавање конфигурације" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "учитавање скрипте %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy бинаран није пронађен!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Видећете све уносе (неприлагођене) када покренете GRUB. Ова грешка настаје " "(у већини случајева), када 'grub gustomizer' није коректно инсталиран." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(долазни Уноси %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(долазни Уноси)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Сачуване конфигурације нису ажурне!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Начињена конфигурација није једнака сачуваним конфигурацијама при покретању. " "Стога оно што видите сада можда нећете видети након поновног покретања " "рачунара. Да поправите ово, кликните на 'ажурирање'!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Изађи без ажурирања" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Ажурирај и изађи" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Да ли желите да сачувате ваше измене?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Изађи без чувања" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Сачувај & Изађи" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "AND: ваше измене још увек нису сачуване, ажурирање ће сачувати и њих!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Неуспешно снимање GRUB конфигурације!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "GRUB конфигурација неће бити сачувана" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Молим погледајте излаз командне линије испод. Ако мислите да је грешка у " "Grub Customizer-у, направите један %1! Уопштено Grub Customizer би требало " "спречити грешке попут ове." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 не може се извршити успешно. Порука грешке:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Подешавања окружења" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Желит ли наставити без чувања тренутне конфигурације?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Постоје несачуване измене!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Уклањање кода скрипте може проузроковати проблеме при покушатју покретања " "boot уноса који се односе на њу. Сигурно то желите да урадите?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Покушавате да уклоните унос на тренутно покренутом систему. Уверите се да ли " "постоји и други фунционалан уноси на систему!\n" "Ако само желите да уклоните старе кернеле (језгра): бољи начин је " "деинсталација, уместо да их сакријете у boot менију." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Ставка менија која се види у менију 'grub' и покреће оперативни систем биће " "активна." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Група других оперативних система. GRUB их приказује као нормалне уносе " "менија, али када кликнете на њих отвара се други мени који вам омогућава " "избор садржаја менија." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Постоје две врсте посебних уноса: Долазни унос је место где Grub Customizer " "смешта нови оперативни систем који је пронашао 'grub', али још увек није " "конфигурисан Grub Customizer-ом. Код скрипте, је код генерисан од 'grub'-а " "који не изгледа као мени уноса. У већини случајева користи се за " "конфигурацију 'grub'-а. Требали би га користити само када знате чему служи. " "Позиције места су скривене по стандардном подешавању." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Скрипте генеришу меније уноса. Стога сваки мени уноса припада скрипти. Они " "су приказани на врху групе када су активни. Међутим, за разлику од подменија " "они нису приказани у менију за покретање (boot menu)." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "О типовима уноса" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Јесте ли сигурни?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Ово ће уклонити вашу целу листу измена у 'bootloader' менију!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "пре_дефинисано: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "претходно_покренути унос" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "подразумевани унос" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "приказ" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "прикажи мени" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "параметри кернела" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "генериши ставке за опоравак" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "види друге оперативне системе" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "прилагођење резолуције: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "подешавања" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Опште" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "И_зглед" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Напредно" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "је активно" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "назив" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "вредност" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Покрени задани унос након %1 секунди" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(први унос)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(остали )" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Ова опција не ради док \"os-prober\" скрипта претражује остале оперативне " "системе. Онемогући \"%1\" ако немате потребу да покренете друге оперативне " "системе." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "Ова опција омогућава избор оперативног система, који од њих ће бити изабран " "код покретања. Уобичајено то је увек први. Ова опција значи да подразумевани " "изабрани унос остаје исти, до постављања другог оперативног система на то " "место.\n" "\n" "За разлику од прве опције остали избори се наводе по имену. Тако да " "подразумевани систем не мења место када се померите на неки други.\n" "\n" "Ако желите да користите неку другу одредницу, као \"увек упути на други " "унос\" можете да користите задњу опцију која омогућује прилагођено уписивање " "уноса. Примери коришћења:\n" " 1 = \"увек упути на други унос\" (рачунајући звездице од 0)\n" " test>0 = \"увек упути на први унос подменија под називом тест\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "бела" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "жута" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "светло-цијан" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "цијан" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "светло-плава" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "плава" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "светло-зелена" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "зелена" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "светло-љубичаста" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "љубичаста" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "светло-црвена" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "црвена" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "браон" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "светло-сива" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "тамно-сива" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "прозирно" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "црна" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Учитај датотрку: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Тема:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "слика позадине" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Изаберите слику позадине!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Фонт" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "изаберите датотеку теме" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Садржај теме" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Прилагођење теме подешавања" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Уобичајени: Фонт" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Уобичајена: Позадина" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Наглашени: Фонт" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Наглашена: Позадина" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Датотека" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "додај тему" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "обриши ову тему" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Архиве" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Све датотеке" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "уклони фонт" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "уклони позадину" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Прилагођење Подешавања)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Изабрана датотека не може бити учитана као тема" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Задани назив датотеке не може се користити" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Ова тема не садржи %1. Погледајте конфигурациону датотеку и преименујте је у " "\"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Чување тема није успело у потпуности!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Замена датотеке неуспешна. Молим изаберите прво датотеку теме!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "назив датотеке" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "напомена: већи фонтови на нижим резолуцијама екрана могу покварит 'boot' " "приказ\n" "Зато што тај проблем зависи од изабраног фонта, није могуће одредити га као " "општи максимум. Када покушатвате да одаберете већи фонт, учините то у мањим " "корацима (поново покрените систем и проверите резултате).\n" "Проблем настаје када елементи 'grub' графичког окружења (ивице, описии) не " "могу стати у екран. Стога док постоји довољно вертикалног простора, можете " "пробати да увећате фонт. Многобројност менија није проблем - јер се они " "померају по потреби.\n" "\n" "Неисправни подаци могу довести до бескрајног времена учитавања grub2. Да би " "то поправили потрбан вам је неки live-cd:\n" " * обришите фонт из (MOUNT)/boot/grub/unicode.pf2\n" " * поново покрените ваш систем (мени би требало да се појаве са стандардним " "фонтовима)\n" " * отворите /etc/default/grub са root привилегијама, и ставите '#' на " "почетак реда који садржи GRUB_FONT\n" " * затим покрените 'grub customizer' да одаберете фонт који сте користили пре" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub фонтови могу изазвати проблеме (информација)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Сигурно желите да уклоните ову тему" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Алтернативно једноставнији начин избора теме која пружа неке опције као што " "су боје, позадина и фонт, је инсталација пакете тема да добитијете још " "лепши изглед менија за покретање система.\n" "\n" "Постоји више извора преузимања попут овог на ubuntuforums.org:\n" "%1 (потребан је налог)\n" "или потражите '%2' at %3\n" "\n" "Једноставно преузмите неки пакет (који је у 'tar.gz' формату у већини " "случајева) и додајте га у листу доступних тема користећи дугме 'додај' из " "бирача тема.\n" "\n" "Након промене теме видећете једноставан едитор који вам даје преглед слика и " "омогућава једноставно управљање датотекама. Модификовани садржај теме биће " "сачуван када притиснете дугме 'сачувај'." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Додај унос из смећа" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Уклоњене ставке" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Врати" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Врати изабране уносе" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "трајно обриши изабране уносе" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "обриши уносе трајно - ова радња је доступан само на прилагођеним уносима" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Ово брише следеће уносе:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Линукс" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-pt.po0000644000175000017500000006242013360360026022010 0ustar danieldaniel# Portuguese translation for grub-customizer # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-06-21 08:34+0000\n" "Last-Translator: Ivo Xavier \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nomear a entrada" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "não pode mover esta entrada" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "A configuração foi guardada" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "actualizando a configuração" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer é uma interface gráfica para configurar as definições do " "GRUB 2/BURG" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "sub-menu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "contentor" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "entrada do menu" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "nome padrão: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partição: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Imagem ISO: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Imagem Memtest: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "actual" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Tipo:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Sequência de inicialização" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nome:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Erro ao construir a sequência de inicialização.\n" "Verifique os parâmetros!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor de entrada" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Escolher..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Outro" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(código do script)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Seleccione um ficheiro..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partição" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_ramdisk inicial" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Imagem Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Imagem memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Caminho para o ficheiro ISO" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parâmetros do Kernel" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "imagem I_SO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Imagem Memtest" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partição:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Sub-pontos de montagem:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "guardar esta configuração" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "GRUB 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Falha ao montar!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Falha ao desmontar!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Este não parece ser um sistema de ficheiros da raiz (o fstab não foi " "detectado)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Não foi possível montar a partição seleccionada" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Não foi possível desmontar a partição seleccionada" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Ocorreu um erro" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Por favor, informe o autor sobre este problema. As informações a seguir " "podem ser úteis:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "continuar (risco de perda de dados)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Instala o bootloader no MBR e insere alguns \n" "ficheiros no seu directório de dados\n" "(se ainda não existirem)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Dispositivo: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalar no MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "O bootloader foi instalado com sucesso" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Erro ao instalar o bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "instalando o bootloader..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Por favor, digite uma cadeia de dispositivo!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Ficheiro" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Editar" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Ver" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Ajuda" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Instalar no MBR..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Mostrar detalhes" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Mostrar _entradas ocultas" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Agrupar por Script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Visualizar _Contentores" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG encontrado!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "definições avançadas" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "As modificações que efectuou afectam as entradas visíveis. Por favor " "actualize!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Foram encontradas actualizações do script. Deve guardar para aplicar as " "alterações!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Lista de configuração" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Remover as entradas seleccionadas (poderão ser restauradas através do lixo)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Mover o elemento seleccionado para cima" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Mover o elemento seleccionado para baixo" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "remover esta entrada do actual sub-menu" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "colocar esta entrada num novo sub-menu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Reverte a lista para a ordem padrão" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "actualize a configuração. As alterações não guardadas serão mantidas." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Renomear" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Mover para cima" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Mover para baixo" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Remover do sub-menu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Criar sub-menu" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Modificar ambiente …" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Deseja configurar o BURG em vez do GRUB 2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Definições gerais" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Definições de aparência" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Modo BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Guarda a configuração e gera um novo %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "Carregando a configuração..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "carregando o script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy binário não encontrado!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Você visualizara todas as entradas (não personalizadas) quando executar o " "GRUB. Este erro ocorre (na maioria dos casos) devido a uma incorrecta " "instalação do Grub Customizer." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(entradas inseridas de %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(entradas inseridas)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "A configuração guardada não esta actualizada!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "A configuração gerada difere da configuração guardada. O menu atualmente " "exibido poderá não corresponder ao menu que será apresentado quando " "reiniciar a seu PC. Para corrigir, clique em Atualizar!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Sair sem atualizar" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Atualizar e sair" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Deseja guardar as alterações ?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Sair sem guardar" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Guardar e Sair" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "NOTA: as suas alterações ainda não foram guardadas, ao atualizar esse " "processo será automaticamente efetuado!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Falha ao guardar a configuração do GRUB!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "A configuração do GRUB não pode ser guardada" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Verifique a seguinte linha de comando. Se julga tratar-se de um erro do Grub " "Customizer, por favor, crie uma em %1! Em principio o Grub Customizer " "deveria prevenir este tipo de erros." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 não pôde ser executado com sucesso. mensagem de erro:\n" "%2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Definições do ambiente" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Quer prosseguir sem guardar a configuração actual?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Existem alterações por guardar!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Remover o Código de Script pode originar problemas quando seleccionar " "entradas que se baseiam nele. Deseja continuar?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Está a tentar remover uma entrada do sistema actualmente em execução. " "Verifique a existência de outras entradas activas deste sistema!\n" "Se apenas deseja remover Kernels obsoletos é preferível desinstala-los invés " "de os ocultar do menu de inicialização." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Uma entrada visível no menu do GRUB que inicializa um sistema operativo " "quando activado." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Um grupo de sistemas operativos. O GRUB exibi-o como uma entrada do menu de " "inicialização, no entanto, quando seleccionado, ele carrega um menu que " "disponibiliza outra(s) entrada(s)." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Os scripts estão a gerar entradas do menu. Deste modo, cada entrada do menu " "pertence a um script. Eles são exibidos como grupos privilegiados quando " "ativados. No entanto, ao invés dos sub-menus eles não são visíveis no menu " "de boot." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "Acerca dos tipos de entrada" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Tem a certeza?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Isso remove toda a sua lista de modificações do menu de inicialização!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pré_definido: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "entrada préviamente _inicializada" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "entrada padrão" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "visibilidade" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "mostrar o menu" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Parâmetros do Kernel" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "gerar entradas de recuperação" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "procurar outros sistemas operativos" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "resolução personalizada: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "definições" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Geral" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "A_parência" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avançado" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "está activo" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "nome" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "valor" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Inicializa a entrada padrão após %1 segundo(s)" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(primeira entrada)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(outra...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Esta opção não funciona quando o script \"os-prober\" encontra outros " "sistemas operativos. Se não necessita inicializar outro(s) sistema(s) " "operativo(s), desabilite \"%1\"." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "branco" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "amarelo" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "cíão claro" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cião" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "azul claro" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "azul" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "verde claro" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "verde" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "magenta claro" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "vermelho claro" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "vermelho" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "castanho" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "cinzento claro" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "cinzento escuro" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "transparente" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "preto" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Carregar ficheiro: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Tema:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "imagem de fundo" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Por favor, escolha uma imagem de fundo!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Tipo de letra" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "seleccione um ficheiro de tema" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Conteúdo do tema" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Definições do tema personalizado" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal: Tipo de letra" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: Fundo" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Realçado: Tipo de letra" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Realçado: Fundo" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Ficheiro" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "adicionar tema" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "eliminar este tema" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Todos os ficheiros" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "remover o tipo de letra" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "remover fundo" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Definições Personalizadas)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "O ficheiro seleccionado não pode ser carregado como tema" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Esse nome do ficheiro não pode ser utilizado" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Este tema não contem um %1. Por favor, localize o ficheiro de configuração e " "renomeie-o para \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Os temas não foram integralmente guardados!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "Falha na substituição do ficheiro. Queira previamente seleccionar um " "ficheiro de tema!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "nome do ficheiro" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Alguns tipos de letras podem danificar o GRUB (Aviso)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Tem a certeza de que quer remover este tema?" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Adicionar uma entrada do lixo" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Itens removidos" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Restaurar" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Restaurar as entradas seleccionadas" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "apagar definitivamente as entradas seleccionadas" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "apagar definitivamente as entradas - esta função esta apenas disponível para " "as entradas personalizadas" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Suprime as seguintes entradas:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "carregador em cadeia" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-ta.mo0000644000175000017500000000074213360360026021765 0ustar danieldaniel,<PQtWLinuxProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: Kamala Kannan Language-Team: Tamil MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) லினக்ஸ்grub-customizer-5.1.0/translation/translation-cs.mo0000644000175000017500000005030413360360026021765 0ustar danieldaniel$, 081j |  E   \ 0*> iw | #   %&,Sb/x@' /3%c!:M @ay  q #1 7AI Y g&q$ ! -9. hyv%(6+_6.)!&I*Z ,!#M!q!@"8F"W""h# Z$d$y$ $$$$$$$$$$ %% %%2%A%P% W% b%n%%% % %%%%% %% &&-&3&8&>&U&g&&&& & &&L&'*'3'M'S' p'z' ' ' ' ' ' ''' (%( -(7( <(#J( n(Xz({( O,],v,=z,, ,*,-- -+- 4->- F-R-a-x- ~---t-; /G/]/o// ///Hz0000014l!44,444 4 465!75Y5x5 555556$69@6z666R67'07X7M_77C7)7"898 O8 [8xf8889 9 9,9<9W9,f99-9999::/:K:.;$J;o;7;;; m<z<&<'<-<E=W=.>E>`>'{>0>>,?&?d@&x@@@#B"BB9vCPCYD[DD EFF2FAFJFRFZFcFwF FFF FFFFGGG &G4GLGfGoGGGGG G G*G H#H7H?HFHNHmH#H HHHHHHU IcIvIIII IIII JJ*J>JPJkJ"J JJJ J JJ]KdK>ORO rO?|OOO/OP'P .P 9PDP VP bPnPPP PPPt8yF d}#~>\;. Q[K-n6 "wAXV|g*bja,ICB!x9PLu=?W_c/  &^()Hz$@q]Dkv3J%o0i`Ol{+5fpGYZ4Mseh:mS rTUENR7'<21%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2018-02-27 05:56+0000 Last-Translator: Pavel Borecki Language-Team: Czech MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 nemohlo být správně spuštěno. chybová zpráva: %2(vlastní nastavení)(první položka)(příchozí položky %1)(příchozí položky)(ostatní…)(kód scriptu)Skupina ostatních operačních systémů. Grub je zobrazí jako běžnou položku menu, avšak po kliknutí na ni načte další menu, které vám povolí vybrat jednu z podpoložek menu.A: Vaše úpravy jsou stále neuložené, aktualizací se uloží také!_VzhledO typech položekPřidat záznam z košeVšechny souboryKromě metody jednoduchého motivu, která poskytuje některé volby jako barvu, tapetu a písmo, můžete také nainstalovat balíčky komplexních motivů, abyste dostali ještě lépe vypadající boot menu. Je několik možných zdrojůl, odkud se dají stáhnout, jako například toto vlákno na ubuntuforums.org: %1 (nutný účet) nebo hledejte '%2' na %3 Pouze stáhněte takový balíček (který je ve většině případů v tar.gz formátu) a přidejte ho na seznam dostupných motivů výběrem tlačítka přidat vedle výběru motivu. Po změně motivu se vám zobrazí jednoduchý editor, který poskytne náhled obrázků a povolí správu souborů. Upravený obsah motivu bude uložen po kliknutí na tlačítko uložit.Vyskytla se chybaPoložka nabídky, která je viditelná v nabídce grub a po jejím vybrání se spustí operační systém.Soubory archivůJste si jisti, že chcete smazat tento motivOpravdu toto chcete?BURGBURG režimBURG nalezen!zavést (bootovat) výchozí položku po %1 sekundáchZaváděcí (bootovací) sekvenceNačtení dalšího zavaděčeVybrat soubor…Vybrat…Nastavení byla uloženaNelze připojit vybraný oddílNelze odpojit vybraný oddílVytvořit podnabídkuVlastní nastavení motivuChcete nastavit BURG namísto grub2?Chcete pokračovat bez uložení aktuálního nastavení?Přejete si uložit změny?Editor položkyNastavení prostředíChyba při vytváření zaváděcí (bootovací) sekvence. Zkontrolujte parametry!Chyba při instalaci zavaděčeChyba při ukládání nastavení grub!SouborNahrazení souboru nebylo úspěšné. Vyberte prosím nejprve soubor motivu!Grub 2Grub Customizer je grafická nadstavba pro nastavování grub2/burgPísma grubu mohou být závádná (info)Zvýrazněné: PozadíZvýrazněné: PísmoISO-obraz: I_SO obrazNainstalujte zavaděč do MBR a vložte nějaké soubory do datového adresáře zavaděče (pokud ještě neexistují).Instalovat do MBRParametry pro jádro systémuLinuxLinux-ISOTest pamětiMemtest-obraz: Připojení se nezdařilo!Posunout dolůPosunout vybrané položky nebo skript dolůPosunout nahoruPosunout vybrané položky nebo skript nahoruNázev položkyNormální: PozadíNormální: PísmoOstatníPopis umístění iso souboruZvolte obrázek na pozadí!Podívejte se prosím na výstup příkazové řádky níže. Pokud si myslíte, že je to chyba Grub Customizeru, prosím založte ji v %1! Obecně by Grub Customizer měl předcházet chybám jako je tato.Zadejte řetězec představující zařízeníSpustitelný soubor proxy nenalezen!Odebrat z podnabídkyOdebrat vybrané položky (můžete je obnovit z koše)Smazané položkyOdstranění kódu scriptu může způsobit problémy při pokusu zavést položky závislé na tomto skriptu. Jste si jistý, že to přesto chcete udělat?PřejmenovatObnovit vybrané položkyVrátit seznam do výchozího řazeníUložit nastavení a vytvořit nový %1Ukládání motivů nebylo zcela úspěšné!Nalezena aktualizace skriptu. Klikněte na uložit k použití změn!Skripty generují položky menu. Takže každá položka menu přísluší nějakému skriptu. Ty jsou zobrazeny jako hlavní skupiny, pokud jsou vybrány. Avšak na rozdíl od podmenu nejsou zobrazeny v boot menu.Zobrazit _placeholderyZobrazit _skryté položkyDílčí přípojné body:Zavaděč byl úspěšně nainstalovánVybraný soubor nemůže být nahrán jako motivVytvořená konfigurace není shodná s konfigurací uloženou při startu. To, co vidíte teď nemusí být to, co se zobrazí při restartování počítače. Chcete-li tento problém odstranit, klepněte na tlačítko Aktualizovat!Zadaný název souboru nemůže být použitNastavení grub se nepodařilo uložitZměny, které byly provedeny ovlivňují viditelné položky. Prosím, načtěte konfiguraci znovu!Uložené nastavení není aktuální!Obsah motivu vzhleduJsou dva typy speciálních položek: Příchozí položky jsou místem, kam Grub Customizer umisťuje nové operační systémy, které jsou nalezené grubem, ale dosud nebyly nakonfigurované pomocí Grub Customizeru. Kód skriptu je kód vygenerovaný grubem, který nevypadá jako položka menu. Ve většině případů je využita ke konfiguraci grubu. Měli byste se jí dotknout pouze v případě, že víte co dělá. Placeholdery jsou ve výchozím nastavení skryté.Některé úpravy nejsou uložené!Odstranit následující položky:Tato volba nefunguje, když skript "os-prober" nalezne jíné operační systémy. Vypněte "%1", pokud nepotřebujete zavádět jiné operační systémyToto odebere všechny vaše změny v nabídce zavaděče!Toto se nezdá být kořenový souborový systém (nebyl nalezen žádný fstab)Tento motiv neobsahuje %1. Prosím najděte soubor konfigurace a přejmenujte ho na "%1"!Když spustíte grub, uvidíte všechny záznamy (nepřizpůsobené). Tato chyba se (většinou) objeví, pokud jste správně nenainstalovali Grub Customizer.Pokoušíte se odstranit položku aktuálně běžícího systému. Ujistěte se, že existují i ​​jiné funkční položky tohoto systému! Pokud chcete odstranit staré jádro: Lepší cesta je jádro odinstalovat, než ho jen skrýt v boot menu._PokročiléN_astavení vzhleduZměnit _prostředí…_Zařízení: _Upravit_Soubor_Písmo_Obecné_Obecná nastavení_Seskupit podle skriptu_Nápověda_Initial ramdiskNa_instalovat do MBR…_Linux obraz_Vypsat nastavení_Načíst soubor: _Memtest obraz_Memtest-obraz_Název:_Oddíl_Rozdělení:Uko_nčit bez uloženíU_končit bez aktualizace_Obnovit_Uložit a ukončitZobrazit podrobno_stiMotiv vzhledu:_Typ:Akt_ualizovat a ukončit_Zobrazitpřidat motivpřidat tuto položku do nové podnabídkyrozšířená nastaveníobrázek na pozadíčernámodráhnědátuto položku nelze přesunoutvyberte soubor s motivempokračovat (riskujete ztrátu dat)současnévlastní rozlišení: azurovátmavě šedivávýchozí položkavýchozí název: %1navždy smazat vybrané položky - tato akce je dostupná pouze pro vlastní položkysmazat tento motivnázev souboruvytvořit záznamy k obnovězelenáinstalace zavaděče…je aktivníparametry jádra systémusvětle modrásvětlá azurovásvětle šedivásvětle zelenásvětlá purpurovásvětle červenánačítání nastavení…načítání skriptu %2/%3 (%1)hledat další operační systémypurpurovápoložka nabídkynázevoddíl: %1navždy smazat vybrané položkyvýplňInformujte prosím autora o tomto problému. Následující informace mohou být užitečné:Upozorňujeme, že velká písma na malých rozlišeních bootovací obrazovky mohou bootovací obrazovku zkazit Protože tento problém záleží na vybraném písmu, není možné stanovit obecné maximum. Pokud se snažíte vybrat větší písmo, prosím udělejte tak po mylých kouscích (restartujte a zkontrolujte výsledek). Problém nastává, když se prvky grub gui (rámečky, popisky) nevejdou na obrazovku. Takže jakmile tu bude dostatečně svislého prostoru, můžete vyzkoušet větší písmo. Spousta položek menu není problém — jsou odrolovány, pokud je potřeba. Zkreslení výsledků při nekonečném čase načítání grub2. K nápravě potřebujete live cd: * smažte písmo z (MOUNT)/boot/grub/unicode.pf2 * restartujte systém (menu by se mělo zobrazit výchozím písmem) * otevřete /etc/default/grub s právy roota a umístěte '#' na začátek řádku obsahujícího GRUB_FONT * poté spusťte grub customizer a vyberte předchozí písmopřed_definované: předchozí _zavedená položkačervenáZnovu načíst nastavení. Neuložené změny budou zachovány.odstranit pozadíodstranit písmoOdebrat tuto položku ze současné podnabídkyuložit toto nastavenískriptskript: %1nastavenízobrazit nabídkupodnabídkaprůhlednéodpojení se nezdařilo!nastavení se aktualizujehodnotaviditelnostbílážlutágrub-customizer-5.1.0/translation/translation-bg.mo0000644000175000017500000001702013360360026021746 0ustar danieldanielIda0 1 = GS%p&/'%M;q &$?ds.* 8G   % + 1 : @ T i ~            0 : L W b m y         ( 4 C Z ` k q zx ,6EF|JD=Sk}{f+XX b/{Iju`G^0   "%'Em# #   JKbv3 Z2$Af#~7 DD,+" , ?`/s6  <?-E)!1 G=0I74%B6. $ D#>";@3 AC*:(2F 'H,95+&8/A_ppearanceBURG ModeBURG found!Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionDo you want to configure BURG instead of grub2?Do you want to save your modifications?Error while installing the bootloaderGrub Customizer is a graphical interface to configure the grub2/burg settingsInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRMount failed!Move down the selected entry or scriptMove up the selected entry or scriptName the EntryPlease type a device string!Proxy binary not found!The bootloader has been installed successfullyThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The saved configuration is not up to date!This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly._Advanced_Device: _Edit_File_General_Help_Install to MBR …_Quit without saving_Quit without update_Save & Quit_Update & Quit_Viewbackground imageblackbluebrowncustom resolution: cyandark-graydefault entrygenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…look for other operating systemsmagentanamepre_defined: previously _booted entryredremove backgroundsettingsshow menutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: FULL NAME Language-Team: Bulgarian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) _Външен видBURG режимОткрита е програмата BURG!Конфигурацията беше запазенаИзбраният дял не може да бъде монтиранИзбраният дял не може да бъде демонтиранЖелаете ли да настроите BURG вместо grub2?Желаете ли да запазите промените?Грешка при инсталиране на програмата за начално зарежданеGrub Customizer е графичен интерфейс за конфигуриране настройките на grub2/burgИнсталиране на програмата за начално зареждане в MBR и поставяне на някои файлове в папката и с данни (ако те вече не съществуват).Инсталиране в MBRМонтирането се провали!Преместване надолу на избрания запис или скриптПреместване нагоре на избрания запис или скриптИме на записаМоля въведете устройство!Двоичния файл на посредника не е открит!Програмата за начално зареждане беше инсталирана успешноГенерираната конфигурация не е еднаква със запазената при пускане на програмата. Това, което виждате тук не е това, което ще видите при рестартиране на компютъра. За да оправите това натиснете обновяване!Запазената конфигурация не е актуална!Тази опция не работи, когато скриптът "os-prober" намери други операционни системи. Изключете "%1", ако нямате нужда да зареждате други операционни системи.Изглежда, че това не е главен дял (не открит файл fstab)Когато пуснете grub ще видите всички записи (непроменени). Тази грешка се получава (в повечето случаи), когато не сте инсталирали правилно grub gustomizer._Разширени_Устройство: _Редактиране_Файл_Общи_Помощ_Инсталиране в MBR …_Изход без запазване_Изход без обновяване_Запис и изход_Обновяване и изход_Изгледфоново изображениечерносиньокафявопотребителска разделителна способност: синьозеленотъмно сивостандартен записгенериране на авариен записзеленоИнсталиране на програмата за начално зареждане...активенпараметри на ядротосветло синьосветло синьозеленосветло сивосветло зеленосветло пурпурносветло червенозареждане на конфигурацията...търсене за други операционни системипурпурноиме_предварително зададен: пос_ледно зареден записчервенопремахване на фонанастройкиПоказване на менюпрозраченДемонтирането се провали!обновяване на конфигурациятастойноствидимостбяложълтоgrub-customizer-5.1.0/translation/translation-el.po0000644000175000017500000007024713360360026021773 0ustar danieldaniel# Greek translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-10-31 13:45+0000\n" "Last-Translator: Sotiris Panagiotidis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Ονομάστε την καταχώρηση" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "δεν γίνεται να μετακινηθεί η συγκεκριμένη καταχώριση" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Η διαμόρφωση αποθηκεύτηκε" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "ενημέρωση διαμόρφωσης" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Ο Διαμορφωτής του Grub είναι μια γραφική διεπαφή για τη διαμόρφωση των " "ρυθμίσεων του grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "σενάριο" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "υπομενού" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "κράτηση θέσης" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "menuentry" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "σενάριο %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "προεπιλεγμένο όνομα: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "κατάτμηση: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-Image: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-Image: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "τρέχον" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Τύπος:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Σειρά εκκίνησης" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Όνομα:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Δημιουργία σφάλματος στη σειρά εκκίνησης.\n" "Ελέγξετε τις παραμέτρους!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Επεξεργαστής καταχωρήσεων" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Επιλέξτε..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Άλλο" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(script κώδικας)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Επιλέξτε αρχείο ..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Κατάτμηση" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Αρχικό ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Εικόνα Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Εικόνα _memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Διαδρομή αρχείου iso" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Παράμετροι πυρήνα" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO image" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-Image" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "Κα_τάτμηση" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Υποσημεία προσάρτησης" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "αποθήκευση αυτής της διαμόρφωσης" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Αποτυχία προσάρτησης!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Αποτυχία αποπροσάρτησης!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Αυτό δεν φαίνεται να είναι ριζικό σύστημα αρχείων (δεν βρέθηκε fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Αποτυχία προσάρτησης της επιλεγμένης κατάτμησης" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Αποτυχία αποπροσάρτησης της επιλεγμένης κατάτμησης" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Παρουσιάστηκε ένα σφάλμα" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "παρακαλώ ενημερώστε το δημιουργό για αυτό το πρόβλημα. Οι ακόλουθες " "πληροφορίες μπορεί να φανούν χρήσιμες:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "συνέχεια (πιθανή απώλεια δεδομένων)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Εγκατάσταση του bootloader στο MBR και τοποθέτηση μερικών\n" "αρχείων στον κατάλογο δεδομένων των bootloader\n" "(αν δεν υπάρχουν ήδη)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Συσκευή: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Εγκατάσταση στο MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Ο bootloader εγκαταστάθηκε επιτυχώς" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Σφάλμα κατά την εγκατάσταση του bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "εγκατάσταση του bootloader…" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Παρακαλούμε πληκτρολογήστε ένα αλφαριθμητικό συσκευής!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Αρχείο" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Επεξεργασία" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Προβολή" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Βοήθεια" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "Ε_γκατάσταση στο MBR …" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Προβολή λεπτομερειών" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Προβολή _κρυφών καταχωρήσεων" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Ομαδοποίηση κατά Σενάρια" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Προβολή _υποκαταστάσεων" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Βρέθηκε το BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "προχωρημένες ρυθμίσεις" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Οι τροποποιήσεις που έχετε κάνει επηρεάζουν τις εμφανιζόμενες καταχωρήσεις. " "Παρακαλώ επαναφορτώστε!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Βρέθηκε ενημέρωση σεναρίου. Πατήστε Αποθήκευση για να εφαρμοστούν οι αλλαγές." #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "Διαμόρφωση _λίστας" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Αφαίρεση επιλεγμένων καταχωρήσεων (μπορείτε να τις αποκαταστήσετε από τα " "απορίμματα)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Μετακινήστε πάνω την επιλεγμένη καταχώρηση ή script" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Μετακινήστε κάτω την επιλεγμένη καταχώρηση ή script" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "αφαίρεση αυτής της καταχώρισης από το τρέχον υπομενού" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "προσθήκη αυτής της καταχώρισης από το τρέχον υπομενού" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Επαναφέρει τη λίστα στην προκαθορισμένη σειρά" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "επαναφορτώνει τη διαμόρφωση. Οι αλλαγές που δεν έχουν αποθηκευτεί θα " "διατηρηθούν." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Μετονομασία" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Μετακίνηση πάνω" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Μετακίνηση κάτω" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Αφαίρεση από το υπομενού" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Δημιουργία υπομενού" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Αλλαγή Περιβάλλοντος…" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Θέλετε να διαμορφώσετε το BURG αντί για το grub2;" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Γενικές ρυθμίσεις" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Ρυθμίσεις εμ_φάνισης" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Κατάσταση BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Αποθηκεύστε τις ρυθμίσεις και δημιουργήστε νέο %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "φόρτωση διαμόρφωσης…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "φόρτωση σεναρίου ενεργειών %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Δεν βρέθηκε proxy binary!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Βλέπετε όλες τις καταχωρήσεις (χωρίς διαμόρφωση) όταν εκτελείτε το grub. " "Αυτό το σφάλμα συμβαίνει (στις περισσότερες περιπτώσεις), όταν δεν έχετε " "εγκαταστήσει τον διαμορφωτή του grub σωστά." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(εισερχόμενες Καταχωρήσεις από %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(εισερχόμενες Καταχωρήσεις)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Η αποθηκευμένη διαμόρφωση δεν είναι ενήμερη!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Η δημιουργημένη διαμόρφωση δεν είναι ίδια με την αποθηκευμένη διαμόρφωση " "κατά την εκκίνηση. Έτσι, ό,τι βλέπετε τώρα μπορεί να μην είναι ό,τι θα δείτε " "όταν επανεκκινήσετε τον υπολογιστή σας. Για να το διορθώσετε, πατήστε " "ενημέρωση!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "Έ_ξοδος χωρίς ενημέρωση" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Ενημέρωση και έξοδος" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Θέλετε να αποθηκεύσετε τις τροποποιήσεις σας;" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "Έξο_δος χωρίς αποθήκευση" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Αποθήκευση και έξοδος" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "AND: οι τροποποιήσεις σας δεν έχουν αποθηκευτεί ακόμη, η ενημέρωση θα " "αποθηκεύσει και αυτές!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Αποτυχία αποθήκευσης ρυθμίσεων grub!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Οι ρυθμίσεις grub δεν μπορούν να αποθηκευτούν." #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Παρακαλώ δείτε το παρακάτω αποτέλεσμα της γραμμής εντολών. Αν νομίζετε πως " "αυτό είναι προγραμματιστικό λάθος του Grub Customizer, παρακαλώ δημιουργήστε " "ένα %1! Γενικά το Grub Customizer πρέπει να προλαμβάνει τέτοια λάθη." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 δεν μπόρεσε να εκτελεσθεί επιτυχώς. Μήνυμα λάθους:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Ρυθμίσεις περιβάλλοντος" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Θέλετε να προχωρήσετε χωρίς αποθήκευση της τρέχουσας διαμόρφωσης;" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Υπα΄ρχουν μη αποθηκευμένες τροποποιήσεις!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Η αφαίρεση του Κώδικα Σεναρίου Ενεργειών μπορεί να προκαλέσει προβλήματα " "κατά την προσπάθεια εκκίνησης από καταχωρήσεις που βασίζονται σε αυτό. Είστε " "βέβαιοι ότι θέλετε να το κάνετε;" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Προσπαθείτε να αφαιρέσετε μια καταχώρηση του τρέχοντος συστήματος. " "Βεβαιωθείτε ότι υπάρχουν άλλες λειτουργικές καταχωρήσεις σε αυτό το " "σύστημα!\n" "Αν απλώς θέλετε να αφαιρέσετε παλαιότερους πυρήνες: Ο καλύτερος τρόπος είναι " "με απεγκατάστασή τους αντί απλά απόκρυψή τους στο μενού εκκίνησης." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Είστε βέβαιοι;" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Αυτό θα απομακρύνει όλες τις τροποποιήσεις σας της λίστας από το μενού " "επιλογής λειτουργικού!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "προ_καθορισμένο: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "καταχώρηση _προηγούμενης εκκίνησης συστήματος" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "προεπιλεγμένη καταχώρηση" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "ορατότητα" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "εμφάνιση μενού" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "παράμετροι πυρήνα" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "δημιουργία καταχωρήσεων επαναφοράς" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "έρευνα για άλλα λειτουργικά συστήματα" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "προσαρμοσμένη ανάλυση: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "ρυθμίσεις" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Γενικά" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "Ε_μφάνιση" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "Για προ_χωρημένους" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "είναι ενεργή" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "όνομα" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "τιμή" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Αυτή η επιλογή δεν δουλεύει όταν το σενάριο ενεργειών (script) \"os-prober\" " "βρίσκει άλλα λειτουργικά συστήματα. Απενεργοποιήστε το \"%1\" αν δεν " "χρειάζεται να εκκινείτε με άλλα λειτουργικά συστήματα." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "λευκό" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "κίτρινο" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "ανοιχτό κυανό" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "κυανό" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "ανοιχτό μπλε" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "μπλε" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "ανοιχτό πράσινο" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "πράσινο" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "ανοιχτό μωβ" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "μωβ" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "ανοιχτό κόκκινο" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "κόκκινο" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "καφέ" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "ανοιχτό γκρι" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "σκούρο γκρι" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "διαφανές" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "μαύρο" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "εικόνα παρασκηνίου" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Γραμματοσειρά" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "αφαίρεση γραμματοσειράς" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "αφαίρεση παρασκηνίου" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Προσθήκη καταχώρησης από τα απορρίμματα" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Αυτό διαγράφει τις ακόλουθες καταχωρήσεις:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-it.mo0000644000175000017500000005340613360360026022002 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0zb0@12 <2I2a2 p2{22Y[3333 347d7 7*7777 7)7'8 98E8 W8"a8-8.88$8&97@9x999K9- :.8:g:Kl::W:9;Q;e;w; ;t; <<0< 6< @<L<_<w<.<<.<<==)=/=E=c=".>Q>l><> >>g?p?'?,?6?Q@m@QAfA|A.A6AA3B1BH(C,qCCCuE%EEHJYI>IOI3JJ KKL#L 2LzV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2018-01-22 11:11+0000 Last-Translator: Fabrizio Aliberti Language-Team: Italian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 non è stato eseguito correttamente. Messaggio di errore: %2(Impostazioni Personalizzate)(prima voce)(Voci in entrata di %1)(Voci immesse)(altro...)(codice dello script)Un gruppo di altri sistemi operativi. Grub lo mostra come una normale voce di menù, ma cliccando su di esso, carica un altro menu che consente di scegliere una delle voci del menù che sono contenute.E: le tue modifiche non sono state ancora salvate, l'aggiornamento salverà anche quelle!As_pettoInformazioni sui tipi di vociAggiungi una voce dal cestinoTutti i fileIn alternativa al metodo del tema semplice che fornisce alcune opzioni come colore, sfondo e font si possono installare i pacchetti dei temi complessi per ottenere un menù di avvio ancora più bello. Ci sono diverse fonti di download come questo thread su ubuntuforums.org: %1 (necessita di un account) oppure cercare '%2' presso %3 Basta scaricare un pacchetto (che nella maggior parte dei casi è in formato tar.gz) e aggiungerlo all'elenco dei temi disponibili usando il pulsante Aggiungi nel selettore del tema. Dopo aver cambiato il tema vedrete un semplice editor che dà un'anteprima delle immagini e permette una sommaria gestione dei file. I contenuti dei temi modificati verranno salvati premendo il pulsante Salva.Si è verificato un erroreUna voce di menù che è visibile nel menù di Grub ed avvia un sistema operativo se viene attivata.File archivioSei sicuro di voler rimuovere questo tema?Sei sicuro di voler procedere?BURGModalità BURGBURG trovato!voce predefinita di avvio dopo %1 secondiSequenza di avvioChainloaderScegli il file...Scegli...La configurazione è stata salvataImpossibile montare la partizione selezionataImpossibile smontare la partizione selezionataCrea un sottomenùImpostazioni del Tema PersonalizzatoVuoi configurare BURG invece di grub2?Vuoi procedere senza salvare la configurazione attuale?Vuoi salvare le tue modifiche?Editor di vociImpostazioni d'ambienteErrore durante la creazione della sequenza di avvio. Controlla i parametri!Errore durante l'installazione del bootloaderImpossibile salvare la configurazione di grub!FileLa sostituzione del file non è riuscita. Prima seleziona un file del tema!Grub 2Grub Customizer è un'interfaccia grafica per configurare le impostazioni di GRUB2/BURGI caratteri di Grub possono essere dannosi (Informazioni)Evidenziato: SfondoEvidenziato: FontImmagine-ISO: Immagine I_SOInstalla il bootloader nell'MBR ed inserisci dei file nella cartella dei dati dei bootloader (se non esistono già).Installa nell'MBRParametri del kernelLinuxISO LinuxMemory testImmagine-Memtest: Montaggio non riuscito!Sposta in bassoSposta in alto la voce o lo script selezionatoSposta in altoSposta in alto la voce o lo script selezionatoInserisci la VoceNormale: SfondoNormale: CarattereAltroPercorso del file ISOScegli un'immagine di sfondo!Dai un'occhiata all'output della riga di comando qui sotto. Se pensi che questo sia un bug di Grub Customizer, invia un rapporto a %1! Generalmente Grub Customizer dovrebbe prevenire errori come questo.Inserisci il nome del dispositivo!Proxy binario non trovato!Rimuovi dal sottomenùRimuovi le voci selezionate (puoi ripristinarle dal cestino)Voci rimosseLa rimozione del Codice dello Script può causare problemi quando si tenta di avviare le voci che dipendono da esso. Sei sicuro di volerlo fare comunque?RinominaRipristina le voci selezionateRiporta l'elenco all'ordine predefinitoSalva la configurazione e genera un nuovo %1Il salvataggio dei temi non è riuscito completamente!Trovati aggiornamenti degli Script. Fai clic su Salva per applicare le modifiche!Gli script stanno generando le voci di menu. Ogni voce di menu appartiene ad uno script. Se attivati, vengono mostrati come gruppi di primo livello. Tuttavia, a differenza dei sottomenù, non vengono mostrati nel menu di avvio.Mostra i _SegnapostiMostra voci _nascostePunti di Submount:Il bootloader è stato installato con successoIl file selezionato non può essere caricato come temaLa configurazione generata non corrispondeva a quella salvata all'avvio. Ciò che vedi adesso potrebbe non essere quello che vedrai quando riavvii il pc. Per risolvere questo problema, clicca su Aggiorna!Il nome del file fornito non può essere utilizzatoLa configurazione di grub non può essere salvataLe modifiche effettuate riguardano le voci visibili. Ricarica la pagina!La configurazione salvata non è aggiornata!Contenuti del temaEsistono due tipi di questa particolare voce: le voci immesse sono il luogo in cui Grub Customizer colloca i nuovi sistemi operativi trovati da grub ma non ancora configurati usando Grub Customizer. Il codice Script è un codice generato da grub che non sembra una voce di menù. Nella maggior parte dei casi viene usato per configurare grub. Dovresti modificarlo solo se sai cosa stai facendo. I segnaposti sono nascosti per impostazione predefinita.Ci sono modifiche non salvate!Le voci seguenti verranno cancellate:Questa opzione consente di scegliere il sistema operativo che dovrebbe essere selezionato all'avvio. Di default questo è sempre il primo. Questa opzione indica che la selezione della voce predefinita rimane la stessa quando si posizionano altri sistemi operativi. A differenza della prima opzione le altre scelte sono referenziate per nome. Quindi il sistema predefinito non viene cambiato quando ci si sposta in un'altra posizione. Se vuoi utilizzare un altro riferimento come "punta sempre alla seconda voce", è possibile utilizzare l'ultima opzione che consente di scrivere un riferimento personalizzato. Esempi di utilizzo: 1 = "punta sempre alla seconda voce" (il conteggio inizia da 0) test>0 = "punta sempre alla prima voce di un sottomenù chiamato test"Questa opzione non funziona quando lo script "os-prober" trova altri sistemi operativi. Disabilita "%1" se non è necessario avviare altri sistemi operativi.Questo cancellerà tutte le modifiche all'elenco del menù del bootloader!Non sembra essere un file system radice (nessun fstab trovato)Questo tema non contiene %1. Cerca il file di configurazione e rinominalo "%1"!Quando avvierai GRUB vedrai tutte le voci (non personalizzate). Questo errore si verifica (nella maggior parte dei casi) quando non hai installato correttamente Grub Customizer.Stai tentando di rimuovere una voce del sistema attualmente in esecuzione. Assicurati che non siano in esecuzione altre voci di questo sistema! Se vuoi solo rimuovere i vecchi kernel, il modo migliore è disinstallarli invece di nasconderli dal menù di avvio._AvanzateImpostazione dell'_Aspetto_Cambia Ambiente…_Dispositivo: _Modifica_File_Carattere_GeneraleImpostazioni _generali_Raggruppa per Script_AiutoRamdisk _iniziale_Installa nell'MBR...Immagine _Linux_Elenco della configurazione_Carica i file: Immagine _MemtestImmagine _Memtest_Nome:_Partizione_Partizione:_Esci senza salvare_Esci senza aggiornare_Ripristina_Salva ed Esci_Mostra i dettagli_Tema:_Tipo:_Aggiorna ed Esci_VisualizzaAggiungi temaAggiungi questa voce ad un nuovo sottomenùOpzioni avanzateImmagine di sfondoNeroBluMarroneImpossibile spostare questa voceScegli il file del temaContinua (i dati potrebbero andare persi)attualePersonalizza la risoluzione: CianoGrigio scuroVoce predefinitanome predefinito: %1Elimina le voci permanentemente - questa azione è disponibile solo per le voci personalizzateCancella questo temanome del filegenera le voci di ripristinoVerdesto installando il bootloader...è attivaParametri del KernelBlu chiaroCiano chiaroGrigio chiaroVerde chiaroMagenta chiaroRosso chiaroSto caricando la configurazione...Sto caricando lo script %2/%3 (%1)cerca altri sistemi operativiMagentavoce di menùNomepartizione: %1Elimina definitivamente le voci selezionatesegnapostoInforma l'autore su questo problema. Le seguenti informazioni potrebbero essere utili:NOTA BENE: i caratteri grandi con la risoluzione dello schermo di avvio bassa può danneggiare la schermata di avvio Poiché questo problema dipende dal carattere scelto, non è possibile definire un massimo in generale. Quando stai cercando di selezionare un carattere più grande, occorre farlo a piccoli passi (riavvio e verifica dei risultati). Il problema si verifica quando gli elementi dell'interfaccia di grub (bordi, descrizione) non si adattano allo schermo. Così, se c'è spazio verticale sufficiente si può provare un font più grande. L'insieme di voci del menù non è un problema - se necessario, esse scorreranno. Il danneggiamento si traduce in un tempo di caricamento infinito di grub2. Hai bisogno di un live cd per risolvere questo problema: * elimina il font da (MOUNT)/boot/grub/unicode.pf2 * riavvia il sistema (il menù dovrebbe presentarsi con i font predefiniti) * apri /etc/default/grub con i permessi di root e metti un '#' davanti alla riga contenente GRUB_FONT * quindi esegui Grub Customizer per scegliere il tipo di carattere utilizzato prima.pre_definito: voce precedentemente _avviataRossoRicarica la configurazione. Le modifiche non salvate verranno conservate.Rimuovi lo sfondoRimuovi il carattereRimuovi questa voce dal sottomenù correnteSalva questa configurazionescriptscript: %1impostazionimostra il menùsottomenùTransparenteSmontaggio non riuscito!sto aggiornando la configurazionevaloreVisibilitàBiancoGiallogrub-customizer-5.1.0/translation/translation-cs.po0000644000175000017500000006666313360360026022007 0ustar danieldaniel# Czech translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2018-02-27 05:56+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Název položky" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "tuto položku nelze přesunout" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Nastavení byla uložena" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "nastavení se aktualizuje" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "Grub Customizer je grafická nadstavba pro nastavování grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "skript" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "podnabídka" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "výplň" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "položka nabídky" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "skript: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "výchozí název: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "oddíl: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-obraz: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-obraz: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "současné" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Typ:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Zaváděcí (bootovací) sekvence" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Název:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Chyba při vytváření zaváděcí (bootovací) sekvence.\n" "Zkontrolujte parametry!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor položky" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Vybrat…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Ostatní" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(kód scriptu)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Vybrat soubor…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Oddíl" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Initial ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux obraz" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest obraz" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Popis umístění iso souboru" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parametry pro jádro systému" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO obraz" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-obraz" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Rozdělení:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Dílčí přípojné body:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "uložit toto nastavení" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Připojení se nezdařilo!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "odpojení se nezdařilo!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Toto se nezdá být kořenový souborový systém (nebyl nalezen žádný fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nelze připojit vybraný oddíl" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nelze odpojit vybraný oddíl" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Vyskytla se chyba" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "Informujte prosím autora o tomto problému. Následující informace mohou být " "užitečné:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "pokračovat (riskujete ztrátu dat)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Nainstalujte zavaděč do MBR a vložte nějaké\n" "soubory do datového adresáře zavaděče\n" "(pokud ještě neexistují)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Zařízení: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Instalovat do MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Zavaděč byl úspěšně nainstalován" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Chyba při instalaci zavaděče" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "instalace zavaděče…" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Zadejte řetězec představující zařízení" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Soubor" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Upravit" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Zobrazit" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Nápověda" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "Na_instalovat do MBR…" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "Zobrazit podrobno_sti" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Zobrazit _skryté položky" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Seskupit podle skriptu" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Zobrazit _placeholdery" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG nalezen!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "rozšířená nastavení" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Změny, které byly provedeny ovlivňují viditelné položky. Prosím, načtěte " "konfiguraci znovu!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "Nalezena aktualizace skriptu. Klikněte na uložit k použití změn!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Vypsat nastavení" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Odebrat vybrané položky (můžete je obnovit z koše)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Posunout vybrané položky nebo skript nahoru" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Posunout vybrané položky nebo skript dolů" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Odebrat tuto položku ze současné podnabídky" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "přidat tuto položku do nové podnabídky" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Vrátit seznam do výchozího řazení" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Znovu načíst nastavení. Neuložené změny budou zachovány." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Přejmenovat" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Posunout nahoru" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Posunout dolů" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Odebrat z podnabídky" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Vytvořit podnabídku" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "Změnit _prostředí…" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Chcete nastavit BURG namísto grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Obecná nastavení" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "N_astavení vzhledu" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG režim" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Uložit nastavení a vytvořit nový %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "načítání nastavení…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "načítání skriptu %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Spustitelný soubor proxy nenalezen!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Když spustíte grub, uvidíte všechny záznamy (nepřizpůsobené). Tato chyba se " "(většinou) objeví, pokud jste správně nenainstalovali Grub Customizer." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(příchozí položky %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(příchozí položky)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Uložené nastavení není aktuální!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Vytvořená konfigurace není shodná s konfigurací uloženou při startu. To, co " "vidíte teď nemusí být to, co se zobrazí při restartování počítače. Chcete-li " "tento problém odstranit, klepněte na tlačítko Aktualizovat!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "U_končit bez aktualizace" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "Akt_ualizovat a ukončit" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Přejete si uložit změny?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "Uko_nčit bez uložení" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Uložit a ukončit" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "A: Vaše úpravy jsou stále neuložené, aktualizací se uloží také!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Chyba při ukládání nastavení grub!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Nastavení grub se nepodařilo uložit" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Podívejte se prosím na výstup příkazové řádky níže. Pokud si myslíte, že je " "to chyba Grub Customizeru, prosím založte ji v %1! Obecně by Grub Customizer " "měl předcházet chybám jako je tato." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 nemohlo být správně spuštěno. chybová zpráva:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Nastavení prostředí" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Chcete pokračovat bez uložení aktuálního nastavení?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Některé úpravy nejsou uložené!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Odstranění kódu scriptu může způsobit problémy při pokusu zavést položky " "závislé na tomto skriptu. Jste si jistý, že to přesto chcete udělat?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Pokoušíte se odstranit položku aktuálně běžícího systému. Ujistěte se, že " "existují i ​​jiné funkční položky tohoto systému!\n" "Pokud chcete odstranit staré jádro: Lepší cesta je jádro odinstalovat, než " "ho jen skrýt v boot menu." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Položka nabídky, která je viditelná v nabídce grub a po jejím vybrání se " "spustí operační systém." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Skupina ostatních operačních systémů. Grub je zobrazí jako běžnou položku " "menu, avšak po kliknutí na ni načte další menu, které vám povolí vybrat " "jednu z podpoložek menu." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Jsou dva typy speciálních položek: Příchozí položky jsou místem, kam Grub " "Customizer umisťuje nové operační systémy, které jsou nalezené grubem, ale " "dosud nebyly nakonfigurované pomocí Grub Customizeru. Kód skriptu je kód " "vygenerovaný grubem, který nevypadá jako položka menu. Ve většině případů je " "využita ke konfiguraci grubu. Měli byste se jí dotknout pouze v případě, že " "víte co dělá. Placeholdery jsou ve výchozím nastavení skryté." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Skripty generují položky menu. Takže každá položka menu přísluší nějakému " "skriptu. Ty jsou zobrazeny jako hlavní skupiny, pokud jsou vybrány. Avšak na " "rozdíl od podmenu nejsou zobrazeny v boot menu." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "O typech položek" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Opravdu toto chcete?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Toto odebere všechny vaše změny v nabídce zavaděče!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "před_definované: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "předchozí _zavedená položka" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "výchozí položka" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "viditelnost" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "zobrazit nabídku" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "parametry jádra systému" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "vytvořit záznamy k obnově" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "hledat další operační systémy" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "vlastní rozlišení: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "nastavení" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Obecné" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Vzhled" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Pokročilé" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "je aktivní" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "název" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "hodnota" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "zavést (bootovat) výchozí položku po %1 sekundách" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(první položka)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(ostatní…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Tato volba nefunguje, když skript \"os-prober\" nalezne jíné operační " "systémy. Vypněte \"%1\", pokud nepotřebujete zavádět jiné operační systémy" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "bílá" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "žlutá" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "světlá azurová" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "azurová" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "světle modrá" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "modrá" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "světle zelená" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "zelená" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "světlá purpurová" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "purpurová" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "světle červená" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "červená" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "hnědá" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "světle šedivá" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "tmavě šedivá" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "průhledné" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "černá" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Načíst soubor: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "Motiv vzhledu:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "obrázek na pozadí" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Zvolte obrázek na pozadí!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Písmo" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "vyberte soubor s motivem" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Obsah motivu vzhledu" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Vlastní nastavení motivu" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normální: Písmo" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normální: Pozadí" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Zvýrazněné: Písmo" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Zvýrazněné: Pozadí" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Soubor" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "přidat motiv" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "smazat tento motiv" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Soubory archivů" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Všechny soubory" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "odstranit písmo" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "odstranit pozadí" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(vlastní nastavení)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Vybraný soubor nemůže být nahrán jako motiv" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Zadaný název souboru nemůže být použit" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Tento motiv neobsahuje %1. Prosím najděte soubor konfigurace a přejmenujte " "ho na \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Ukládání motivů nebylo zcela úspěšné!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "Nahrazení souboru nebylo úspěšné. Vyberte prosím nejprve soubor motivu!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "název souboru" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "Upozorňujeme, že velká písma na malých rozlišeních bootovací obrazovky mohou " "bootovací obrazovku zkazit\n" "Protože tento problém záleží na vybraném písmu, není možné stanovit obecné " "maximum. Pokud se snažíte vybrat větší písmo, prosím udělejte tak po mylých " "kouscích (restartujte a zkontrolujte výsledek).\n" "Problém nastává, když se prvky grub gui (rámečky, popisky) nevejdou na " "obrazovku. Takže jakmile tu bude dostatečně svislého prostoru, můžete " "vyzkoušet větší písmo. Spousta položek menu není problém — jsou odrolovány, " "pokud je potřeba.\n" "\n" "Zkreslení výsledků při nekonečném čase načítání grub2. K nápravě potřebujete " "live cd:\n" " * smažte písmo z (MOUNT)/boot/grub/unicode.pf2\n" " * restartujte systém (menu by se mělo zobrazit výchozím písmem)\n" " * otevřete /etc/default/grub s právy roota a umístěte '#' na začátek řádku " "obsahujícího GRUB_FONT\n" " * poté spusťte grub customizer a vyberte předchozí písmo" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Písma grubu mohou být závádná (info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Jste si jisti, že chcete smazat tento motiv" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Kromě metody jednoduchého motivu, která poskytuje některé volby jako barvu, " "tapetu a písmo, můžete také nainstalovat balíčky komplexních motivů, abyste " "dostali ještě lépe vypadající boot menu.\n" "\n" "Je několik možných zdrojůl, odkud se dají stáhnout, jako například toto " "vlákno na ubuntuforums.org:\n" "%1 (nutný účet)\n" "nebo hledejte '%2' na %3\n" "\n" "Pouze stáhněte takový balíček (který je ve většině případů v tar.gz formátu) " "a přidejte ho na seznam dostupných motivů výběrem tlačítka přidat vedle " "výběru motivu.\n" "\n" "Po změně motivu se vám zobrazí jednoduchý editor, který poskytne náhled " "obrázků a povolí správu souborů. Upravený obsah motivu bude uložen po " "kliknutí na tlačítko uložit." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Přidat záznam z koše" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Smazané položky" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Obnovit" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Obnovit vybrané položky" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "navždy smazat vybrané položky" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "navždy smazat vybrané položky - tato akce je dostupná pouze pro vlastní " "položky" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Odstranit následující položky:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Načtení dalšího zavaděče" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Test paměti" grub-customizer-5.1.0/translation/translation-zh_CN.po0000644000175000017500000005444113360360026022372 0ustar danieldaniel# Chinese (Simplified) translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: Wang Dianjin \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "命名条目" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "无法移动该条目" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "配置已保存" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "更新配置" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "Grub Customizer 是配置 grub2/burg 的图形化界面" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "脚本" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "子菜单" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "当前" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "类型(_T):" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "条目编辑器" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "其他" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(脚本代码)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "分区(_P)" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "初始化虚拟硬盘(_I)" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Linux 镜像(_L)" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "内存测试镜像(_M)" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "iso 文件路径" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "内核参数" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "分区(_P):" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "子挂载点:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "保存该配置" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "挂载失败!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "卸载失败!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "看起来不像是一个根文件系统(找不到 fstab 文件)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "无法挂载选中的分区" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "无法卸载选中的分区" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "发生错误" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "请将该问题告知作者。下面的信息可能会有用:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "继续(有数据丢失风险)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "安装启动引导器到 MBR,并将相应的文件\n" "安放到启动引导器数据目录\n" "(如果它们不存在)。" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "设备(_D): " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "安装到 MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "引导器安装成功" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "安装引导器时出现错误" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "正在安装引导器..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "请输入设备字符串!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "文件(_F)" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "编辑(_E)" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "查看(_V)" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "帮助(_H)" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "安装到 MBR(_I)..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "显示详情(_S)" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "显示隐藏的条目(_H)" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "使用脚本分组(_G)" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "找到 BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "高级设置" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "您已做的更改会影响可见条目。请重新加载!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "脚本发现更新,点击保存以应用更改!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "列表配置(_L)" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "移除选中的条目(您可以从回收站恢复它们)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "向上移动选中的条目或脚本" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "向下移动选中的条目或脚本" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "从子菜单中移除该条目" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "将该条目添加到一个新的子菜单" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "恢复列表到默认顺序" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "重新加载配置。将保留未保存的更改。" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "重命名" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "上移" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "下移" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "从子菜单中移除" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "创建子菜单" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "更改环境(_C)..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "要配置BURG 来代替 Grub2 ?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "常规设置(_G)" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "外观设置(_A)" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG 模式" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "载入配置中…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "正在加载脚本 %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "二进制代理未找到!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "在运行 Grub 时会看到全部项目(未自定义)。如果没有正确安装 Grub customizer , (在大多数情况下)会出现这个错误。" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "已保存的配置不是最新的!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "生成的配置不等于启动时已保存的配置。重启动电脑后看到的,不一定是现在你所看到的。要修复这个问题,请点击“更新”!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "退出并不更新(_Q)" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "更新并退出(_U)" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "保存修改吗?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "不保存直接退出(_Q)" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "保存并退出(_S)" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "还有:修改还没有保存,更新时会进行保存!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 无法成功执行。错误信息:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "环境设置" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "您希望不保存当前配置并继续吗?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "尚有未保存的修改!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "您确定吗?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "这将移除引导器菜单的全部列表更改内容!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "预定义(_D): " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "上一个启动项(_B)" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "默认项" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "可见" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "显示菜单" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "内核参数" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "生成恢复项" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "查找其它操作系统" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "自定义分辩率: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "设置" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "常规(_G)" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "外观(_P)" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "高级(_A)" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "活动的" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "名称" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "数值" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "如果“os-prober”脚本找到其它的操作系统,本选项无效。如果不需要启动其它的操作系统,请禁用“%1”。" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "白色" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "黄色" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "浅青色" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "青色" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "浅蓝色" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "蓝色" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "浅绿色" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "绿色" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "浅青色" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "品红" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "浅红色" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "红色" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "褐色" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "浅灰色" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "深灰色" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "透明" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "黑色" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "加载文件(_L): " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "主题(_T):" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "背景图像" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "请选择一张背景图片!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "字体(_F)" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "选择主题文件" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "主题内容" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "自定义主题设置" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "常规:字体" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "常规:背景" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "高亮:字体" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "高亮:背景" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "文件" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "添加主题" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "删除该主题" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "归档文件" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "全部文件" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "移除字体" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "删除背景" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(自定义设置)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "选中的文件无法加载为主题" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "给定的文件名称无法使用" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "主题保存没成功!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "文件替换失败。请先选择一个主题文件!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "文件名" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub 字体可能会很糟糕(信息)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "你确定要删除该主题" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "从回收站添加条目" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "已移除的条目" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "恢复(_R)" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "这将删除下列项:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-pt_BR.mo0000644000175000017500000005316113360360026022372 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0b0>1 42U2h22 222Q3 3344!04R7`b77,788 8&8578 m8 {88 88+8.8 9%*9.P979&9992 :@:(^::\::W:*K;v;; ; ;r;+<;<Q< W<a<i<y<<0<<,< == 0===C=&^=='M>"u>>C>>>??$?)?5@SE@@AAA&A5B>B+ C-8CNfC-CCC)E"EFIDIG JfRJJmK LLLLLLLLLMM"M8MLM]MvMMMM M MMM MM NN$N+N=NEN%TNzNNNNN!NN&NO!O=O COPO`OcqOOOOPP 7PCP YP dP pP |P PPPP)P QQ!Q&Q36QjQ[|QQT&T"UK+UwU U%UUU UU U V V V4VOV UVbViV |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-08-06 06:18+0000 Last-Translator: Thiago Braga Language-Team: Brazilian Portuguese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 não pode ser executado com sucesso. mensagem de erro: %2(Configurações Personalizadas)(primeira entrada)(Entradas inseridas de %1)(Entradas inseridas)(outros…)(código de script)Um grupo de outros sistemas operacionais. Grub mostra-o como um item do menu normal, no entanto, quando clicar nele, ele carrega um outro menu que permite que você escolha uma das entradas que contem no menuSuas modificações ainda não foram salvas; a atualização as salvará também!A_parênciaSobre os tipos de entradaAdicionar entrada da lixeiraTodos os arquivosEm alternativa ao método de temas simples, que fornece algumas opções como cor, papel de parede e da fonte que você pode instalar pacotes temáticos complexos para obter um menu de inicialização ainda melhor visualmete. Existem várias fontes de download como esta discussão em ubuntuforums.org: %1 (nescessita de uma conta) ou procure por '%2' até %3 Basta baixar esse pacote (que é em formato tar.gz na maioria dos casos) e adicioná-lo à lista de temas disponíveis, usando o botão Adicionar ao lado do seletor de tema Depois de mudar o tema, você verá um editor simples que dá uma pré-visualização de imagens e permite que alguns de gerenciamento de arquivos. Conteúdos temas de modificados será salvo quando você pressionar o botão salvarOcorreu um erroUma entrada de menu é visível no menu do grub e boot de um sistema operacional quando ativado.Arquivos de dadosTem certeza de que deseja remover este tema?Você tem certeza?BURGModo "Burg"BURG encontrado!boot padrão de inicialização depois de %1 segundosOrdem de bootCarregadorEscolher arquivo...Escolher...A configuração foi salvaImpossível montar a partição selecionadaImpossível desmontar a partição selecionadaCriar submenuConfigurações de tema personalizadoVocê deseja configurar BURG, em vez de grub2?Você quer continuar sem salvar a configuração atual?Você quer salvar suas modificações?Editor de entradasConfigurações de ambienteErro a criar ordem de boot. Reveja os parâmetros!Erro ao instalar o bootloaderFalhou ao salvar configuração do Grub!ArquivoSubstituição de arquivo falhou. Por favor, selecione um arquivo de tema em primeiro lugar!Grub 2Grub Customizer é uma interface gráfica para alterar as configurações do grub2/burgFontes no Grub pode ser prejudicial (Info)Destaque:: Plano de fundoDestaque: FonteImagem-ISO I_SO imagemInstalar o bootloader na MBR e colocar alguns arquivos no diretório de dados do bootloader (se já não existir).Instalar na MBRParâmetros do kernelLinuxLinux-ISOMemtestImagem-Memtest Falha ao montar!Mover para baixoMover para baixo a entrada selecionada ou scriptMover para cimaMover para cia a entra selecionada ou scriptNome da EntradaNormal: Plano de fundoNormal: FontOutroCaminho para o arquivo isoPor favor escolha uma imagem de fundo!Por favor, dê uma olhada na linha de saída do comando abaixo. Se você acha que isso é um bug do Grub Customizer, por favor, crie uma em %1! Geralmente Grub Customizer deve evitar erros como este.Por favor digite o nome do dispositivo!Binário do proxy não encontrado!Remover do submenuRemover entradas selecionadas (você pode restaurá-las da lixeira)Itens removidosRemovendo o código de script pode causar problemas ao tentar iniciar entradas confiando nelas. Tem certeza de que quer fazer isso de qualquer maneira?RenomearRestaurar entradas selecionadasReverte a lista para a ordem padrãoGuardar configuração e gerar um novo %1os temas não foram completamente salvos com sucesso!Atualizações de script encontrado. Clique em Salvar para aplicar as alterações!Scripts estão gerando entradas do menu. Assim, a cada entrada do menu pertence a um script. Eles são apresentados como grupos de alto nível quando ativado. No entanto, em contraste com submenus eles não são mostrados no menu de inicialização.Mostrar _Espaços reservadosMostrar _entradas ocultasSub pontos de montagemO bootloader foi instalado com sucessoO arquivo escolhido não pode ser carregado como temaA configuração gerada não é igual a configuração salva na inicialização. Então o que você ver agora pode não ser o que você verá quando reiniciar o pc. Para corrigir isso, clique em atualizar!O nome dado ao arquivo não pode ser usadoA configuração do grub não podem ser salvaAs modificações que você fez afeta as entradas visíveis. Por favor, volte!A configuração salva não está atualizada!Conteúdo de temaExistem dois tipos de esta entrada especial: inscrições recebidas são o lugar onde Grub Customizer coloca novos sistemas operacionais que são encontrados pelo grub, mas ainda não configuradas com Grub Customizer. O código de script é o código gerado pelo grub que não se parece com uma entrada de menu. Na maioria dos casos ele é usado para configurar o grub. Você só deve tocá-lo ao saber que ele faz. Os espaços reservados são ocultas por padrão.Há modificações que não foram salvas!Isso exclui as seguintes entradas:Esta opção permite escolher o sistema operacional que deve ser selecionado durante a inicialização. Por padrão, este é sempre o primeiro. Esta opção significa que a seleção de entrada padrão permanece a mesma ao colocar outros sistemas operacionais lá. Em contraste com a primeira opção, as outras opções são referenciadas por nome. Portanto, o sistema padrão não é alterado quando se move para outra posição. Se você quiser usar outra referência como "sempre aponte para a segunda entrada" você pode usar a última opção que permite digitar uma referência personalizada. Exemplos de uso: 1 = "sempre apontar para a segunda entrada" (contagem começa por 0) Teste>0 = "sempre apontar para a primeira entrada de um submenu chamado teste"Essa opção não funciona quando o script "os-prober" procura por outros sistemas operacionais. Desabilite "%1" se você não precisa inicializar outros sistemas operacionais.Isso remove todas as modificações na sua lista de menu bootloader!Esse não parece ser o sistema de arquivos raiz (fstab não encontrado)Este tema não contém um %1. Por favor, procure o arquivo de configuração e renomeá-lo para "% 1"!Você verá todas as entradas (não personalizada) quando você executar o grub. Este erro ocorre (na maioria das vezes), quando você não instala o grub customizer corretamente.Você está tentando remover uma entrada do sistema atualmente em execução. Verifique se há outras entradas de trabalho deste sistema! Se você quiser apenas remover kernels antigos: A melhor maneira é desinstalá-los em vez de apenas escondê-los no menu de inicialização._Avançado_Configurações da aparência_Alterar Ambiente_Dispositivo: _Editar_Arquivo_Fonte_Geral_Configurações gerais_Agrupar por Script_Ajuda_Disco de RAM inicial_Instalar na MBR..._Imagem do Linux_Configuração da lista_Carregar arquivo: _Imgem do Memtest_Memtest-Imagem_Nome:_Partição_Partição:_Sair sem salvar_Sair sem atualizar_RestaurarSa_lvar & Sair_Mostrar detalhes_Tema:_Tipo:_Atualizar & Sair_ExibirAdicionar temaadiconar esta entrada ao novo submenuconfigurações avançadasimagem de fundopretoazulmarromesta entrada não pode ser movidaEscolha um arquivo de temacontinuar (risco de perda de arquivos)atualresolução personalizada: cianocinza-escuroentrada padrãoNone padrão: %1excluir entradas de forma permanente - esta ação está disponível apenas entradas personalizadasApagar este temanome do arquivogerar entradas de recuperaçãoverdeinstalando o bootloader...está ativoparâmetros do kernelazul-clarociano-clarocinza-claroverde-claromagenta-clarovermelho-clarocarregando configuração...carregando script %2/%3 (%1)procurar por outros sistemas operacionaismagentaentrada do menunomePartição : %1Deletar permanentemente estas entradas selecionadasespaço reservadopor favor, informe o autor sobre este problema. As informações a seguir podem ser úteis:por favor, note: grandes fontes em resoluções de tela de inicialização baixo pode corromper a tela de inicialização Uma vez que este problema depende da escolha da fonte, que não é possível definir um máximo geral. Quando você está tentando selecionar uma fonte maior, faça-o em pequenos passos (reinicie e verifique os resultados). ele resulta na corrupção em um tempo de carregamento interminável de grub2. Você precisa de um LiveCD para corrigir isso: * Excluir a fonte a partir de (MOUNT) /boot/grub/unicode.pf2 * Reiniciar o sistema (menu deve aparecer com fontes padrão) * Abrir / etc / default / grub com permissões de root e coloque um '#' na frente da linha contendo GRUB_FONT * Em seguida, executar grub customizer para escolher o tipo de letra usado antespré_definido: entrada previamente utilizada: _bootedvermelhorecarrega a configuração. As alterações não salvas serão preservadas.remover plano de fundoremover fonteremover esta entrada do submenu atualsalvar esta configuraçãoscriptscript %1configuraçõesmostrar menusubmenutransparentefalha ao desmontar!atualizando configuraçãovalorvisibilidadebrancoamarelogrub-customizer-5.1.0/translation/translation-lt.mo0000644000175000017500000005370013360360026022002 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0yb0:1232G2`2 v222R`3 33#3 344 77[E77'7 77 7 70838 B8N8 c8q8'8&888* 9559'k999999(:>:LE::Y:1:%;9;P;`;o;; <!< '<1<9<M<c<+l<<*<<<<= =$"=G=&3>)Z>>E>>> ??-?0?! @X.@@aAxAA$A2AB3B*CTDC&C CCEE2E%IEIB JZLJJ3KBLRLlL LLL LLLL LLLM"M;MMM`M sM M MMMMM MN NN*N3N)BNlNNNNNNN$NO O%O ,O:OOO_kOOOOPP 1P=PSPePvPPPPP P#P Q*Q 9Q EQ.SQ Q[QFQ3V$NVsVB{VVV)V W )W4W CW NW[W dWnWW W WWW |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-12-26 17:51+0000 Last-Translator: Moo Language-Team: Lithuanian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Nepavyko sėkmingai įvykdyti %1. Klaidos pranešimas: %2(Pasirinktiniai nustatymai)(pirmasis įrašas)(%1 gaunamieji įrašai)(gaunamieji įrašai)(kitas...)(scenarijaus kodas)Kitų operacinių sistemų grupė. Grub rodo ją kaip normalų meniu įrašą, tačiau jį spustelėjus, grub įkelia kitą meniu, kuris leidžia jums pasirinkti vieną iš ten esančių meniu įrašų.TAIPOGI: jūsų modifikacijos vis dar nėra įrašytos, atnaujinimas jas įrašys!_IšvaizdaApie įrašų tipusPridėti įrašą iš šiukšlinėsVisi failaiKaip kitą alternatyvą paprastam temų metodui, kuris pateikia kai kurias parinktis, tokias kaip spalva, fonas ir šriftas, jūs galite įdiegti sudėtinius temų paketus, kad atrastumėte dar geriau atrodantį paleidimo meniu. Yra keli atsisiuntimo šaltiniai, kaip pavyzdžiui, ši gija svetainėje ubuntuforums.org: %1 (reikalauja paskyros) arba ieškokite "%2" per %3 Tiesiog, atsisiųskite tokį paketą (kuris daugeliu atvejų yra tar.gz formato) ir pridėkite jį į prieinamų temų sąrašą, naudodami pridėjimo mygtuką šalia temų parinkiklio. Pakeitę temą, jūs pamatysite paprastą redaktorių, kuris suteikia paveikslų peržiūrą ir leidžia atlikti tam tikrą failų tvarkymą. Modifikuotas temos turinys bus įrašytas, kuomet paspausite mygtuką "Įrašyti".Įvyko klaidaMeniu įrašas, kuris yra matomas grub meniu ir, aktyvavus, paleidžia operacinę sistemą.Archyvo failaiAr tikrai norite pašalinti šią temąAr tikrai?BURGBURG veiksenaRasta BURG!Paleisti numatytąjį įrašą po %1 sekundžiųPaleidimo sekaChainloaderPasirinkti failą...Pasirinkti...Konfigūracija įrašytaNepavyko prijungti pasirinkto skaidinioNepavyko atjungti pasirinkto skaidinioSukurti submeniuPasirinktiniai temos nustatymaiAr norite vietoj grub2 konfigūruoti BURG?Ar norite tęsti, neįrašant esamos konfigūracijos?Ar norite įrašyti savo modifikacijas?Įrašų redaktoriusAplinkos nustatymaiKlaida, kuriant paleidimo seką. Patikrinkite parametrus!Klaida, įdiegiant paleidyklęNepavyko įrašyti grub konfigūracijos!FailasFailo pakeitimas nepavyko. Prašome, iš pradžių, pasirinkti temos failą!Grub 2Grub derinimo programa yra grafinis įrankis, skirtas konfigūruoti grub2/burg nustatymusGrub šriftai gali būti kenksmingi (Informacija)Paryškintas: FonasParyškintas: ŠriftasISO atvaizdis: I_SO atvaizdisĮdiegti paleidyklę į MBR paleidimo įrašą ir įdėti kai kuriuos failus į paleidyklės duomenų katalogą (jeigu jų dar ten nėra).Įdiegti į MBRBranduolio parametraiLinuxLinux-ISOMemtestMemtest atvaizdis: Prijungimas nepavyko!NuleistiNuleisti pasirinktą įrašą ar scenarijųPakeltiPakelti pasirinktą įrašą ar scenarijųPavadinkite šį įrašąNormalus: FonasNormalus: ŠriftasKitaKelias į iso failąPrašome pasirinkti fono paveikslą!Prašome pažiūrėti į žemiau esančią komandų eilutės išvestį. Jeigu manote, kad tai Grub derinimo programos klaida, sukurkite pranešimą apie klaidą ties %1! Bendrai, Grub derinimo programa turėtų neleisti tokių klaidų.Prašome įrašyti įrenginio eilutę!Nerasta įgaliotojo serverio dvejetainė!Šalinti iš submeniuŠalinti pasirinktus įrašus (juos galite atkurti iš šiukšlinės)Pašalinti elementaiScenarijaus kodo šalinimas, kuomet juo pasikliaujant bandoma paleisti įrašus, gali sukelti problemų. Ar tikrai vis tiek norite tai atlikti?PervadintiAtkurti pasirinktus įrašusSugrąžina sąrašą į numatytąją tvarkąĮrašyti konfigūraciją ir generuoti naują %1Temų įrašymas pilnai nepavyko!Rasti scenarijaus atnaujinimai. Spustelėkite įrašyti, kad pritaikytumėte pakeitimus!Scenarijai generuoja meniu įrašus. Taigi, kiekvienas meniu įrašas priklauso scenarijui. Aktyvavus, jie yra rodomi kaip aukšto lygio grupės. Kita vertus, skirtingai nei submeniu, jie nėra rodomi paleidimo meniu.Rodyti _vietaženkliusRodyti _paslėptus įrašusSub-prijungimo taškai:Paleidyklė buvo sėkmingai įdiegtaPasirinktas failas negali būti įkeltas kaip temaSugeneruota konfigūracija neatitiko tos, kuri buvo įrašyta paleidimo metu. Taigi, tai ką matote dabar, gali neatitikti to, ką matysite iš naujo paleidę kompiuterį. Norėdami tai pataisyti, spustelėkite "Atnaujinti"!Nurodytas failo pavadinimas negali būti naudojamasGrub konfigūracija negali būti įrašytaJūsų atliktos modifikacijos paveikia matomus įrašus. Prašome įkelti iš naujo!Įrašyta konfigūracija yra pasenusi!Temos turinysYra du šio ypatingo įrašo tipai: Gaunamieji įrašai yra vieta į kurią Grub derinimo programa patalpina naujas operacines sistemas, kurios yra rastos grub, tačiau vis dar nėra sukonfigūruotos naudojant Grub derinimo programą. Scenarijaus kodas yra grub generuojamas kodas, kuris nėra panašus į meniu įrašą. Daugelyje atveju jis yra naudojamas grub konfigūravimui. Jūs neturėtumėte jo liesti, nebent žinote ką jis daro. Pagal numatymą vietaženkliai yra paslėpti.Yra neįrašytų modifikacijų!Tai ištrina šiuos įrašus:Ši parinktis leidžia pasirinkti operacinę sistemą, kuri turėtų būti pasirenkama paleidžiant sistemą. Pagal numatymą, tai visuomet yra pirmoji. Ši parinktis reiškia, kad pridedant naujas operacines sistemas, pasirinktas numatytasis įrašas visada išliks tas pats. Skirtingai nei pirmoji parinktis, į kitus pasirinkimus yra nurodoma pagal pavadinimą. Taigi, numatytoji sistema, perkeliant ją į kitą vietą nepasikeičia. Jeigu jūs norite naudoti kitas nuorodas, kaip pavyzdžiui, "visada nurodyti į antrąjį įrašą", tuomet galite naudoti paskutinę parinktį, kuri leidžia įrašyti pasirinktinę nuorodą. Naudojimo pavyzdžiai: 1 = "visada nurodyti į antrąjį įrašą" (skaičiavimas prasideda nuo 0) test>0 = "visada nurodyti į submeniu, kurio pavadinimas "test", pirmąjį įrašą"Ši parinktis neveikia kai „os-prober“ scenarijus randa kitas operacines sistemas. Išjunkite „%1“ jeigu nereikia paleisti kitas operacines sistemas.Tai pašalina visas jūsų paleidyklės meniu sąrašo modifikacijas!Tai, tikriausiai, nėra šaknies failų sistema (neaptiktas fstab)Šioje temoje nėra %1. Prašome surasti konfigūracijos failą ir pervadinti jį į "%1"!Kai paleisite grub, matysite visus įrašus (nederintus). Ši klaida (dažniausiai) įvyksta, kai grub customizer yra įdiegta neteisingai.Jūs bandote pašalinti šiuo metu vykdomos sistemos įrašą. Įsitikinkite, kad yra kitų veikiančių šios sistemos įrašų! Jeigu tik norite pašalinti senus branduolius: Geresnis būdas yra juos pašalinti iš sistemos, o ne tiesiog paslėpti iš paleidimo meniu._Išplėstiniai_Išvaizdos nustatymai..._Pakeisti aplinką ...Į_renginys: _Taisa_FailasŠri_ftas_Bendra_Bendri nustatymai_Grupuoti pagal scenarijų_ŽinynasPrad_inis ramdiskĮ_diegti į MBR ..._Linux atvaizdis_Sąrašo konfigūracijaĮke_lti failą: _Memtest atvaizdis_Memtest atvaizdis_Pavadinimas:_Skaidinys_Skaidinys:_Išeiti neįrašant_Išeiti neatnaujinantAtku_rtiĮ_rašyti ir išeiti_Rodyti išsamesnę informaciją_Tema:_Tipas:_Atnaujinti ir išeiti_Rodinyspridėti temąpridėti šį įrašą į naują submeniuišplėstiniai nustatymaifono paveikslasjuodamėlynarudanepavyko perkelti šio įrašopasirinkite temos failątęsti (rizikuoti prarasti duomenis)esamaspasirinktinė raiška: žydratamsiai pilkanumatytasis įrašasnumatytasis pavadinimas: %1ištrinti įrašus visiems laikams - šis veiksmas yra prieinamas tik pasirinktiniams įrašamsištrinti šią temąfailo pavadinimasgeneruoti atkūrimo įrašusžaliaįdiegiama paleidyklė...yra aktyvusbranduolio parametraišviesiai mėlynašviesiai žydrašviesiai pilkašviesiai žaliašviesiai purpurinėšviesiai raudonaįkeliama konfigūracija…įkeliamas scenarijus %2/%3 (%1)ieškoti kitų operacinių sistemųpurpurinėmeniu įrašaspavadinimasskaidinys: %1ištrinti pasirinktus įrašus visiems laikamsvietaženklisprašome apie šią problemą informuoti autorių. Ši informacija galėtų būti naudinga:turėkite omenyje: dideli šriftai mažos raiškos paleidimo ekranuose gali iškraipyti paleidimo ekraną Kadangi ši problema priklauso nuo pasirinkto šrifto, nėra įmanoma apibrėžti bendrą didžiausią reikšmę. Kai bandote pasirinkti didesnį šriftą, darykite tai mažais žingsniais (paleisdami kompiuterį iš naujo ir patikrindami rezultatą). Ši problema atsiranda, kuomet grub naudotojo sąsajos elementai (rėmeliai, aprašas) netelpa į ekraną. Taigi, kol yra pakankamai vertikalios vietos, galite bandyti didesnį šriftą. Meniu įrašų skaičius nėra problema - jeigu reikia, jie yra slenkami. Iškraipymas sąlygoja begalinį grub2 įkėlimą. Norint tai pataisyti, jums reikės pristatomojo (live) cd disko: * ištrinkite šriftą iš (PRIJUNGIMAS)/boot/grub/unicode.pf2 * paleiskite savo sistemą iš naujo (turėtų atsirasti meniu su numatytaisiais šriftais) * atverkite /etc/default/grub naudodamiesi root teisėmis ir eilutėje priešais GRUB_FONT įrašykite "#" * tuomet paleiskite grub derinimo programą, kad pasirinktumėte anksčiau naudotą šriftąiš anksto api_brėžtas: ankstesnį kartą paleistas įrašasraudonaiš naujo įkelia konfigūraciją. Neįrašyti pakeitimai išliks.šalinti fonąšalinti šriftąšalinti šį įrašą iš esamo submeniuįrašyti šią konfigūracijąscenarijusscenarijus: %1nustatymairodyti meniusubmeniupermatomaatjungimas nepavyko!atnaujinama konfigūracijareikšmėmatomumasbaltageltonagrub-customizer-5.1.0/translation/translation-hr.mo0000644000175000017500000005220313360360026021771 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0ob071 2 "2.2G2 Z2e2t2R%3x3 33 336b67"27U7g7 l7x7$77 77 77'8)-8W8j8(8:8899?+92k9&9999:L:*\::: : :~:B;S;e; k;u;};; ;); ;(; < <6<I<P<h<<==[=y=4=== c>m>!>$>)>M>A? @=@V@+l@1@@+A*AHA%>B dBrB$DCD_D"GJGOHQRHH=I 3J=JOJ hJsJ zJJ JJJJJJ JJK&K5KDK LK WKcKzKKKKKKKK K#KL1L@LELKL RLsL LLLL LLLKMNM_MnMM$MMMMMMM NN/NGN!fN NNN NNNLN5OS0SDSGKSS S*SSS STT "T.T7TRT dToTvT}T |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: PO-Revision-Date: 2016-05-14 08:15+0000 Last-Translator: gogo Language-Team: Croatian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Language: hr %1 ne može se pokrenuti uspješno. Poruka greške: %2(Prilagođene postavke)(Prvi unos)(Nadolazeći unos od %1)(Nadolazeći unos)(Drugo…)(Kôd skripte)Grupa operativnih sustava. Grub ih prikazuje kao normalne unose izbornika, ali kada kliknete na njih otvara se drugi izbornik koji vam dopušta izbor pojedinog unosa izbornika.I: vaše promjene još uvijek nisu spremljene, nadopunjavanje će spremiti i njih!I_zgledO vrsti unosaDodaj unos iz smećaSve datotekeAlternativno jednostavnom načinu odabira teme koja pruža neke mogućnosti poput boje, slike pozadine i slova, možete instalirati kompleksnije pakete tema da bi dobili bolji izgled izbornika pokretanja sustava. Postoji nekoliko izvora preuzimanja poput ovog na ubuntuforums.org: %1 (potreban je račun) ili potražite '%2' na %3 Jednostavno preuzmite paket (koji je u tar.gz formatu u većini slučajeva) i dodajte ga na popis dostupnih tema koristeći tipku za dodavanje koja se nalazi pokraj odabira tema. Nakon promjene teme vidjet ćete jednostavan uređivač koji vam daje pregled slika i omogućuje jednostavno upravljanje datotekama. Sadržaj promijenjene teme biti će spremljen kada pritisnete tipku spremanja.Greška se dogodilaUnos izbornika koji je vidljiv u grub izborniku i koji pokreće operativni sustav kada je aktivan.Arhivirane datotekeSigurno želite ukloniti ovu temu?Jeste li sigurni?BURGBURG načinBURG pronađen!Pokreni zadani unos nakon %1 sekundaRedoslijed pokretanjaChainloaderOdaberi datoteku…Odaberi...Postavke su spremljeneNemoguće montiranje odabrane particijeNemoguće demontiranje odabrane particijeStvori podizbornikPrilagođene postavke temeŽelite li podesiti BURG umjesto Gruba2?Želite li nastaviti bez spremanja trenutnih podešavanja?Želite li spremiti izmjene?Uređivač unosaPostavke okruženjaGreška izgradnje redoslijeda pokretanja. Provjerite parametre!Pogreška tijekom instalacije učitača pokretanjaNeuspjelo spremanje grub podešavanja!DatotekaZamjena datoteke neuspjela. Odaberite prvo datoteku teme!Grub 2Grub prilagoditelj je grafičko sučelje za podešavanje Grub2/Burg postavkiGrub slova mogu biti štetna (informacije)Istaknuto: pozadinaIstaknuto: slovaISO-slika: I_SO slikaInstaliraj učitač pokretanja u MBR i stavi nešto datoteka u direktorij podataka učitača pokretanja (ako već ne postoje).Instaliraj u MBRParametri kernelaLinuxLinux-ISOMemtestMemtest-slika: Montiranje nije uspjelo!Pomakni doljePomaknite dolje odabrani unos ili skriptuPomakni gorePomaknite gore odabrani unos ili skriptuNaziv unosaUobičajeno: pozadinaUobičajeno: slovaOstaloPutanja do iso datotekeOdaberite sliku pozadine!Pogledajte ispis naredbenog redka ispod. Ako mislite da je ovo greška Grub prilagoditelja, napravite jedan na %1! Uobičajeno Grub prilagoditelj bi trebao spriječiti greške poput ove.Molim utipkajte niz uređaja!Proxy binaran nije pronađen!Ukloni iz podizbornikaUkloni odabrane unose (možete ih vratiti iz smeća)Uklonjene stavkeUklanjanje kôda skripte može prouzročiti probleme kada pokušavate pokrenuti unose koji ovise o toj skripti. Sigurno to želite učiniti?PreimenujVrati odabrane unoseVraća popis na zadani redoslijedSpremi podešavanje i stvori novi %1Spremanje teme nije u potpunosti uspjelo!Nadopune skripte su pronađena. Kliknite 'Spremi' za primjenjivanje promjena!Skripte stvaraju unose izbornika. Stoga svaki unos izbornika pripada skripti. Oni su prikazani kao i ostale grupe kada su aktivirane. Međutim u usporedbi s podizbornicima oni nisu prikazani u izborniku pokretanja sustava.Prikaži _rezervirana mjestaPrikaži _skrivene unoseTočke-podmontiranja:Učitač pokretanja je instaliran uspješnoOdabrana datoteka ne može biti učitana kao temaStvorene postavke nisu jednake spremljenim postavkama prilikom pokretanja. Stoga ono što vidite sada možda nećete vidjeti nakon ponovnog pokretanja računala. Kako bi to popravili, kliknite na nadopunjavanje!Zadani naziv datoteke ne može se koristitiGrub podešavanje ne može biti spremljenoPromjene koje ste učinili zahvaćaju vidljive unose. Ponovno učitajte!Spremljene postavke nisu nadopunjene!Sadržaj temePostoje dvije vrste posebnih unosa: Nadolazeći unos je mjesto gdje Grub prilagoditelj smješta novi operativni sustav koji je pronašao grub ali još uvijek nije prilagođen pomoću Grub prilagoditelja. Kôd skripte je kôd stvoren pomoću gruba koji ne izgleda kao unos izbornika. U većini slučajeva koristi se za prilagodbu gruba. Trebali bi ga koristiti samo kada znate čemu služi. Rezervirana mjesta su skrivena po zadanome.Postoje nespremljene promjene!Ovo briše sljedeće unose:Ova mogućnost vam omogućuje odabir operativnog sustava koji bi se trebao pokrenuti pri pokretanju računala. Prema zadanom to je uvijek prvi unos. Ova mogućnost znači da će zadani odabir unosa ostati isti pri dodavanju drugog operativnog sustava. U usporedbi s prvom mogućnosti ostali odabiri su odabrani prema nazivu. Stoga se zadani sustav ne mijenja kada se pomakne na drugi položaj. Ako želite koristiti drugi odabir poput "always point to the second entry" možete koristiti zadnju mogućnost koja omogućuje prilagođeno upisivanje unosa. Primjeri upotrebe: 1 = "always point to the second entry" (brojenje počinje od 0) test>0 = "always point to the first entry of a submenu named test"Ova mogućnost ne radi kada "os-prober" skripta traži ostale operativne sustave. Onemogući "%1" ako ne trebate pokrenuti ostale operativne sustaveOvo će ukloniti sve vaše promjene popisa izbornika učitača pokretanja!Čini se da ovo nije korijenski (root) datotečni sustav (fstab nije pronađen)Ova tema ne sadrži %1. Pogledajte datoteku podešavanja i preimenujte ju u "%1"!Vidjet ćete sve unose (neprilagođene) kada pokrenete Grub. Ova greška nastaje (u većini slučaja), kada Grub prilagoditelj nije ispravno instaliran.Pokušavate ukloniti unos trenutno pokrenutog sustava. Budite sigurni da postoje drugi radni unosi ovog sustava! Ako samo želite ukloniti stare kernele, najbolji način je da ih deinstalirate umjesto da ih samo sakrijete u izborniku pokretanja._Napredno_Postavke izgleda_Promjeni okruženje …_Uređaj: _Uredi_Datoteka_Slova_Općenito_Opće postavke_Razvrstaj prema skripti_Pomoć_Ramdisk pokretanja_Instaliraj u MBR …_Linux slika_Popis podešavanja_Učitaj datoteku: _Memtest slika_Memtest-slika_Naziv:_Particija_Particija:_Zatvori bez spremanja_Zatvori bez nadopunjavanja_Vrati_Spremi i zatvori_Prikaži pojedinosti_Tema:_Vrsta:_Nadopuni i zatvori_PrikazDodaj temuDodaj ovaj unos na novi podizbornikNapredne postavkeSlika pozadinecrnaplavasmeđaNemoguće je pomaknuti ovaj unosOdaberi datoteku temeNastavi (rizik gubitka podataka)TrenutnoPrilagođena razlučivost: modratamno-sivaUobičajeni unosZadani naziv: %1Obriši unose trajno - ova radnja je dostupna samo na prilagođenim unosimaObriši ovu temuNaziv datotekeStvori unos obnavljanjazelenaInstaliranje učitača pokretanja...AktivnoParametri kernelasvijetlo-plavasvijetlo-modrasvijetlo-smeđasvijetlo-zelenasvijetlo-ljubičastasvijetlo-crvenaUčitavanje postavki...Učitavanje skripte %2/%3 (%1)Potraži druge operativne sustaveljubičastaUnos izbornikaNazivParticija: %1Trajno obriši odabrane unoseRezervirano mjestoObavijestite autora o ovom problemu. Sljedeće informacije bi mogle pomoći:Napomena: velika slova na niskoj razlučivosti zaslona pokretanja sustava mogu pokvariti zaslon pokretanja sustava Zbog toga što taj problem ovisi o odabranim slovima, nije moguće odrediti najviši maksimum. Kada pokušavate odabrati veća slova, učinite to postepeno (ponovnim pokretanjem sustava i provjerom rezultata). Problem nastaje kada elementi grub grafičkog sučelja (gui) (rubovi, opisi) ne pristaju na zaslon. Stoga dok postoji dovoljno okomitog prostora možete postaviti veća slova. Mnogobrojnost unosa izbornika nije problem - oni se pomiču ako je potrebno. Rezultati kvara beskonačnog učitavanja gruba2. Kako bi to popravili potreban vam je live cd: * obrišite slova iz (MOUNT)/boot/grub/unicode.pf2 * ponovno pokrenite vaš sustav (izbornik bi se trebao pojaviti sa uobičajenim slovima) * otvorite /etc/default/grub sa 'root' dozvolama i dodajte '#' na početak redka koji sadrži GRUB_FONT * zatim pokrenite Grub prilagoditelja za odabir slova koji ste koristili prijePred_definirano: Prije _učitan unoscrvenaPonovno učitaj podešavanje. Nespremljene promjene će biti sačuvane.Ukloni pozadinuUkloni slovaUkloni ovaj unos iz trenutnog podizbornikaSpremi ova podešavanjaSkriptaSkripta: %1PostavkePrikaži izbornikPodizbornikprozirnoDemontiranje nije uspjelo!Nadopuna postavkiVrijednostPrikazbijelažutagrub-customizer-5.1.0/translation/translation-vi.po0000644000175000017500000005264413360360026022012 0ustar danieldaniel# Vietnamese translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-23 09:40+0000\n" "Last-Translator: Thai Truong \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Đặt tên tuỳ chọn" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "Không thể di chuyển tuỳ chọn này" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Đã lưu cấu hình" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "đang cập nhật cấu hình" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer là một ứng dụng trực quan để chỉnh sửa các thiết lập cho " "grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "hiện tại" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Loại:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Chỉnh sửa tuỳ chọn" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Khác" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Phân vùng" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_File ảnh Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Đường dẫn đến tập tin iso" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Phân vùng:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "lưu cấu hình này" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Gắn kết thất bại!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "tháo gắn kết thất bại!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Có thể đây không phải là một file hệ thống (không tìm thấy fstab)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Không thể gắn phân vùng đã chọn" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Không thể tháo gắn kết phân vùng đã chọn" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Có lỗi xảy ra" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "vui lòng thông báo cho tác giả về vấn đề này. Thông tin sau có thể có ích:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "tiếp tục (có nguy cơ mất dữ liệu)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "Thiết _bị: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Cài đặt vào MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Bootloader đã được cài đặt thành công" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Có lỗi xảy ra khi cài bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Đang cài đặt bootloader..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Tập tin" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Chỉnh sửa" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Hiển thị" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Trợ giúp" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "Cài đặt vào _MBR ..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Tìm thấy BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Cài đặt nâng cao" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Các thiết lập bạn vừa thay đổi ảnh hưởng đến các tuỳ chọn đang hiển thị.\r\n" "Làm ơn tải lại!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "Tìm thấy scripts mới. Ấn SAVE để áp dụng thay đổi!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_Danh sách cấu hình" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Xoá các tuỳ chọn đã chọn (bạn có thể phục hồi trong thùng rác)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Di chuyển tuỳ chọn xuống" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "Xoá tuỳ chọn này khỏi menu hiện tại" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "Thêm tuỳ chọn này vào menu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Khôi phục danh sách về mặc định" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Tải lại cấu hình. Những thay đổi chưa lưu sẽ được giữ lại" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Đổi tên" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Chuyển lên" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Chuyển xuống" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Xoá khỏi menu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Tạo menu phụ" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Thay đổi môi trường" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Có phải bạn muốn cấu hình BURG thay cho grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Thiết lập _chung" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Thiết lập giao _diện" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Chế độ BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "đang nạp cấu hình..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "đang nạp tập lệnh %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Cấu hình đã lưu không được cập nhật!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "Thoát _không cần cập nhật" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Cập nhật & thoát" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Bạn có muốn lưu thay đổi?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Thoát không cần lưu" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Lưu & thoát" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 thực thi không thành công, thông báo lỗi:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Thiết lập môi trường" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Bạn có muốn tiếp tục mà không lưu cấu hình?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Có những thay đổi chưa được lưu!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Bạn có chắc chắn?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Tất cả thay đổi của bootloader sẽ bị xoá!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "chọn độ phân giải: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "thiết lập" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "Tổng _quát" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Giao diện" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Nâng cao" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "tên" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "giá trị" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "trắng" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "vàng" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "xanh dương" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "xanh lá" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "đỏ" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "nâu" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "trong suốt" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "đen" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "ảnh nền" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest (Kiểm tra RAM)" grub-customizer-5.1.0/translation/translation-en_GB.mo0000644000175000017500000005076713360360026022347 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0b081&2 82F2_2 r2 }22EB3 333 33~6\6 6*6 &747 97 C7#O7 s7 77 77%7&788/58@e8'8 88/8% 9!F9h9:m99M9 9:6: H: T:q_:: :: ::; ; $;&.;U;$];;; ;;;!;;<<<9< %=y3===%=(=+>6H>>B?U?j?.z?)??!@&@I@*ABAQA B# C.CE@fF8FWF8GG HHH HHIIII)I:I@IQI eIrI IIII I IIII J JJ%J,J;J AJKJkJ}JJJJJJJJJJ K KKL,KyKKKKK KK K K L L L (L2LKL eLL LL L#L LXL{4M PPP=PQ +Q*7QbQzQ QQ QQ QQQQ QQQ |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-12-08 23:46+0000 Last-Translator: Andi Chandler Language-Team: English (United Kingdom) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like colour, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customiser is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customiser, please create one at %1! Generally Grub Customiser should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your PC. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customiser places new operating systems which are found by grub but still not configured using Grub Customiser. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomised) when you run grub. This error occurs (in most cases), when you didn't install grub customizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub GUI elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a Live CD to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customiser to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowgrub-customizer-5.1.0/translation/translation-fr.po0000644000175000017500000006463613360360026022007 0ustar danieldaniel# French translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-05-21 12:45+0000\n" "Last-Translator: Charles Monzat \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Nommer l'entrée" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "Cette entrée ne peut être déplacée" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "La configuration a été enregistrée" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "mise à jour de la configuration" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer est une interface graphique de configuration des paramètres " "de grub2/burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "sous-menu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "espace réservé" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "entrée de menu" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script : %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "nom par défaut : %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partition : %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "Image ISO : " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Image Memtest : " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "actuel" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Type :" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Séquence d'amorçage" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Nom :" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Erreur de construction de la séquence d'amorçage.\n" "Vérifier les paramètres !" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Éditeur d'entrée" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Choisir…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Autre" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "code de script" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Choisir un fichier..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partition" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "Disque virtuel _initial" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Image _Linux" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Image _Memtest" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Chemin vers le fichier iso" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Paramètres du noyau" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "Image I_SO" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "Image _Memtest" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partition :" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Points de sous-montage :" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "sauvegarder cette configuration" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Le montage a échoué !" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Le démontage a échoué !" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "Cela ne semble pas être un fichier système root (fstab non trouvé)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Impossible de monter la partition sélectionnée" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Impossible de démonter la partition sélectionnée" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Une erreur s'est produite" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "merci d'informer l'auteur de ce problème. Les informations suivantes " "pourraient être utiles :" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "continuer (risque de perte de données)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Installe le programme de démarrage dans le MBR et copie quelques\n" "fichiers dans son répertoire de données\n" "(s'ils ne sont pas présents)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Périphérique : " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Installer sur le MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Le programme de démarrage a été installé avec succès" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Erreur durant l'installation du programme de démarrage" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "Installation du programme de démarrage..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Veuillez introduire une chaîne de périphérique !" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Fichier" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Éditer" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Affichage" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Aide" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Installation dans le MBR" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Afficher les détails" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "_Afficher les entrées cachées" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Grouper par script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "_Afficher les espaces réservés" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG trouvé !" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "Paramètres avancés" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Les modifications effectuées ont une incidence sur les entrées visibles. " "Merci de réactualiser !" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Mises à jour de script trouvées. Cliquer sur enregistrer pour appliquer les " "changements !" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "Configuration de _Liste" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" "Supprimer les entrées séléctionnées (vous pouvez les restaurer à partir de " "la corbeille)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Déplacer vers le haut l'entrée ou le script sélectionné" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Déplacer vers le bas l'entrée ou le script sélectionné" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "supprimer cette entrée du sous-menu courant" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "ajouter cette entrée à un nouveau sous-menu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Replace la liste selon l'ordre par défaut" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" "Actualise la configuration. Les changements non enregistrés seront conservés." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Renommer" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Déplacer vers le haut" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Déplacer vers le bas" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Supprimer du sous-menu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Créer un sous-menu" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Changer d'Environnement..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Voulez-vous configurer BURG à la place de grub2 ?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "Paramètres _Généraux" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Paramètres d'_Apparence" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "mode BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Enregistrer la configuration et générer une nouvelle %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "chargement de la configuration..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "chargement du script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Binaire du proxy non trouvé !" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Vous verrez toutes les entrées (non personnalisées) quand vous lancerez " "grub. Cette erreur apparaît (dans la plupart des cas), lorsque vous n'avez " "pas installé grub customizer correctement." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(Entrées entrantes de %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(Entrées entrantes)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "La configuration enregistrée n'est pas à jour !" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "La configuration générée n'est pas identique à la configuration enregistrée " "au démarrage. Ainsi, ce que vous voyez maintenant peut ne pas être ce que " "vous verrez lorsque vous redémarrerez votre ordinateur. Pour corrigez ceci, " "cliquez sur mettre à jour !" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Quitter sans mettre à jour" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Mettre à jour & Quitter" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Voulez-vous enregistrer vos modifications ?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Quitter sans enregistrer" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Enregistrer & Quitter" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "AND : Vos modifications ne sont pas enregistrées, la mise à jour le fera " "automatiquement !" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Impossible d'enregistrer la configuration de grub !" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "La configuration de grub ne peut pas être enregistrée" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Veuillez vérifier la sortie de ligne de commande ci-dessous. Si vous pensez " "que c'est un bogue de Grub Customizer, veuillez en créer une à %1 ! " "Généralement, Grub Customizer devrait prévenir des erreurs de ce type." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 ne peut pas s’exécuter correctement. Message d'erreur :\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Paramètres d'environnement" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Voulez-vous continuer sans enregistrer la configuration actuelle ?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Il y a des modifications non enregistrées !" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Supprimer le code de script peut occasionner des problèmes lorsque l'on " "tente de démarrer les entrées s'appuyant sur celui-ci. Êtes-vous certain(e) " "de vouloir faire cela ?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Vous essayez de supprimer une entrée provenant du système en cours " "d'utilisation. Assurez-vous qu'il y ait d'autres entrées fonctionnant sur ce " "système !\n" "Si vous voulez uniquement supprimer d'anciens noyaux : la meilleure façon " "est de les désinstaller plutôt que de seulement les masquer dans le menu de " "démarrage." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Une entrée de menu qui est visible dans le menu de grub et qui démarre un " "système d'exploitation lorsqu'elle est activée." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Un groupe d'autres systèmes d'exploitation. Grub le montre comme une entrée " "de menu normale. Cependant, en cliquant dessus, cela charge un autre menu " "qui vous permet de choisir une des entrées contenues." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Il y a deux types de cette entrée spéciale : Les entrées entrantes " "représentent l'emplacement où Grub Customizer place les nouveaux systèmes " "d'exploitation qui sont détectés par grub, mais restent non configurés en " "utilisant Grub Customizer. Le code de script est un code généré par grub qui " "ne ressemble pas à une entrée de menu. Dans la plupart des cas, il est " "utilisé pour configurer grub. Utilisez-le uniquement si vous connaissez son " "fonctionnement. Les espaces réservés sont cachés par défaut." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "À propos des types d'entrée" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Êtes-vous sûr(e) ?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" "Ceci supprime l'ensemble des modifications de la liste appartenant au menu " "du chargeur d'amorçage !" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pré_défini : " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "entrée précédemment _amorcée" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "entrée par défaut" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "visibilité" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "afficher le menu" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "paramètres du noyau" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "génère les entrées de récupération" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "recherche d'autres systèmes d'exploitation" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "résolution personnalisée : " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "paramètres" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Général" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "A_pparence" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Avancé" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "est actif" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "Nom" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "valeur" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Démarrer l'entrée par défaut après %1 Seconde(s)" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(première entrée)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(autre...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Cette option ne fonctionne pas lorsque le script de « détection de système » " "trouve d'autres systèmes d'exploitation. Désactiver « %1 » si vous n'avez " "pas besoin de démarrer d'autres systèmes d'exploitation." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "blanc" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "jaune" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "cyan clair" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cyan" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "bleu clair" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "bleu" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "vert clair" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "vert" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "magenta clair" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "rouge clair" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "rouge" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "marron" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "gris clair" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "gris foncé" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "transparent" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "noir" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Charger fichier : " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Thème :" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Image d'arrière-plan" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Veuillez choisir une image d'arrière-plan !" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Police" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "choisir un fichier de thème" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Contenus de thème" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Paramètres personnalisés de thème" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal : Police" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal : Arrière-plan" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Surligné : Police" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Surligné : Arrière-plan" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Fichier" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "ajouter un thème" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "supprimer ce thème" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Fichiers d'archive" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Tous les fichiers" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "supprimer la police" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "supprimer l'arrière-plan" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Paramètres personnalisés)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Le ficher sélectionné ne peut être chargé en tant que thème" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Le nom de fichier entré ne peut être utilisé" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Ce thème ne contient pas de %1. Veuillez vérifier la configuration de " "fichier et renommez-le \"%1\" !" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "La sauvegarde des thèmes n'a pas complètement réussie !" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" "Échec de remplacement du fichier. Veuillez d'abord sélectionner un fichier " "de thème !" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "nom de fichier" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Les polices de Grub peuvent être dangereuses (Info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Êtes-vous certain(e) de vouloir supprimer ce thème" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Ajouter une entrée à partir de la corbeille" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Éléments supprimés" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Restaurer" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Restaurer les entrées sélectionnées" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "supprimer définitivement les entrées sélectionnées" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "supprimer définitivement les entrées - cette action est uniquement " "disponible pour les entrées personnalisées" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Ceci supprime les entrées suivantes :" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "ISO-Linux" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chargeur en chaîne" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-pt.mo0000644000175000017500000004013513360360026022004 0ustar danieldaniel 8* <Jc v EF  \*< gu z #   %&*Q`/v@' /1%a!:M >_w  q !/ 5?G W e&o$ ! +9, fyt%(4+]6.)!&I*X #@k8W=       . ? E V j w       ! !"!*!1!@! F!P!p!!!!!!!!!!" " " "L1"~""""" "" " " # # # -#7#P# j## ## ### #X# 9$G$`$=d$$ $*$$% %% %(% 0%<%K%b% h%s%y%%='C'a't'' '''q|( (()4)G)YW),))) ))0 *>*\*q* **3*6* +"/+*R+4}+ +++L+K,*i,,X,,X,5V--- - -m-=.M.c. i.s.{...(..'./ /./D/J/'f//,F0s00M00v1|1#1$1)1,1W%2}2l333&3934-4/5RA5055!556J6Q7eb77{8 99999 9999 ::&:7: K:Y:r:::: : ::: ::;;!;(;:;?;&N;u;;;;;;;#;<<4<:<J<Z<jk<<<<= = ;=H= ^= i=v= = ====#=>>(>->0<> m>[w>>">?K? [?i?'??? ? ??? ? @@;@ A@N@U@q6D} az!{<Z9, OYI+|k4 t?VTyd(_g^*GA@u7NJr;=U\`-  $&#'Fw">n[Bhs1Hvl.f]Mix)3cmEWX~2Kpbe8jQoRSCLP5%:0/%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAn error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Are you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-06-21 08:34+0000 Last-Translator: Ivo Xavier Language-Team: Portuguese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 não pôde ser executado com sucesso. mensagem de erro: %2(Definições Personalizadas)(primeira entrada)(entradas inseridas de %1)(entradas inseridas)(outra...)(código do script)Um grupo de sistemas operativos. O GRUB exibi-o como uma entrada do menu de inicialização, no entanto, quando seleccionado, ele carrega um menu que disponibiliza outra(s) entrada(s).NOTA: as suas alterações ainda não foram guardadas, ao atualizar esse processo será automaticamente efetuado!A_parênciaAcerca dos tipos de entradaAdicionar uma entrada do lixoTodos os ficheirosOcorreu um erroUma entrada visível no menu do GRUB que inicializa um sistema operativo quando activado.Tem a certeza de que quer remover este tema?Tem a certeza?BURGModo BURGBURG encontrado!Inicializa a entrada padrão após %1 segundo(s)Sequência de inicializaçãocarregador em cadeiaSeleccione um ficheiro...Escolher...A configuração foi guardadaNão foi possível montar a partição seleccionadaNão foi possível desmontar a partição seleccionadaCriar sub-menuDefinições do tema personalizadoDeseja configurar o BURG em vez do GRUB 2?Quer prosseguir sem guardar a configuração actual?Deseja guardar as alterações ?Editor de entradaDefinições do ambienteErro ao construir a sequência de inicialização. Verifique os parâmetros!Erro ao instalar o bootloaderFalha ao guardar a configuração do GRUB!FicheiroFalha na substituição do ficheiro. Queira previamente seleccionar um ficheiro de tema!GRUB 2Grub Customizer é uma interface gráfica para configurar as definições do GRUB 2/BURGAlguns tipos de letras podem danificar o GRUB (Aviso)Realçado: FundoRealçado: Tipo de letraImagem ISO: imagem I_SOInstala o bootloader no MBR e insere alguns ficheiros no seu directório de dados (se ainda não existirem).Instalar no MBRParâmetros do KernelLinuxLinux-ISOMemtestImagem Memtest: Falha ao montar!Mover para baixoMover o elemento seleccionado para baixoMover para cimaMover o elemento seleccionado para cimaNomear a entradaNormal: FundoNormal: Tipo de letraOutroCaminho para o ficheiro ISOPor favor, escolha uma imagem de fundo!Verifique a seguinte linha de comando. Se julga tratar-se de um erro do Grub Customizer, por favor, crie uma em %1! Em principio o Grub Customizer deveria prevenir este tipo de erros.Por favor, digite uma cadeia de dispositivo!Proxy binário não encontrado!Remover do sub-menuRemover as entradas seleccionadas (poderão ser restauradas através do lixo)Itens removidosRemover o Código de Script pode originar problemas quando seleccionar entradas que se baseiam nele. Deseja continuar?RenomearRestaurar as entradas seleccionadasReverte a lista para a ordem padrãoGuarda a configuração e gera um novo %1Os temas não foram integralmente guardados!Foram encontradas actualizações do script. Deve guardar para aplicar as alterações!Os scripts estão a gerar entradas do menu. Deste modo, cada entrada do menu pertence a um script. Eles são exibidos como grupos privilegiados quando ativados. No entanto, ao invés dos sub-menus eles não são visíveis no menu de boot.Visualizar _ContentoresMostrar _entradas ocultasSub-pontos de montagem:O bootloader foi instalado com sucessoO ficheiro seleccionado não pode ser carregado como temaA configuração gerada difere da configuração guardada. O menu atualmente exibido poderá não corresponder ao menu que será apresentado quando reiniciar a seu PC. Para corrigir, clique em Atualizar!Esse nome do ficheiro não pode ser utilizadoA configuração do GRUB não pode ser guardadaAs modificações que efectuou afectam as entradas visíveis. Por favor actualize!A configuração guardada não esta actualizada!Conteúdo do temaExistem alterações por guardar!Suprime as seguintes entradas:Esta opção não funciona quando o script "os-prober" encontra outros sistemas operativos. Se não necessita inicializar outro(s) sistema(s) operativo(s), desabilite "%1".Isso remove toda a sua lista de modificações do menu de inicialização!Este não parece ser um sistema de ficheiros da raiz (o fstab não foi detectado)Este tema não contem um %1. Por favor, localize o ficheiro de configuração e renomeie-o para "%1"!Você visualizara todas as entradas (não personalizadas) quando executar o GRUB. Este erro ocorre (na maioria dos casos) devido a uma incorrecta instalação do Grub Customizer.Está a tentar remover uma entrada do sistema actualmente em execução. Verifique a existência de outras entradas activas deste sistema! Se apenas deseja remover Kernels obsoletos é preferível desinstala-los invés de os ocultar do menu de inicialização._Avançado_Definições de aparência_Modificar ambiente …_Dispositivo: _Editar_Ficheiro_Tipo de letra_Geral_Definições gerais_Agrupar por Script_Ajuda_ramdisk inicial_Instalar no MBR..._Imagem Linux_Lista de configuração_Carregar ficheiro: _Imagem memtest_Imagem Memtest_Nome:_Partição_Partição:_Sair sem guardar_Sair sem atualizar_Restaurar_Guardar e Sair_Mostrar detalhes_Tema:_Tipo:_Atualizar e sair_Veradicionar temacolocar esta entrada num novo sub-menudefinições avançadasimagem de fundopretoazulcastanhonão pode mover esta entradaseleccione um ficheiro de temacontinuar (risco de perda de dados)actualresolução personalizada: ciãocinzento escuroentrada padrãonome padrão: %1apagar definitivamente as entradas - esta função esta apenas disponível para as entradas personalizadaseliminar este temanome do ficheirogerar entradas de recuperaçãoverdeinstalando o bootloader...está activoParâmetros do Kernelazul clarocíão clarocinzento claroverde claromagenta clarovermelho claroCarregando a configuração...carregando o script %2/%3 (%1)procurar outros sistemas operativosmagentaentrada do menunomepartição: %1apagar definitivamente as entradas seleccionadascontentorPor favor, informe o autor sobre este problema. As informações a seguir podem ser úteis:pré_definido: entrada préviamente _inicializadavermelhoactualize a configuração. As alterações não guardadas serão mantidas.remover fundoremover o tipo de letraremover esta entrada do actual sub-menuguardar esta configuraçãoscriptscript: %1definiçõesmostrar o menusub-menutransparenteFalha ao desmontar!actualizando a configuraçãovalorvisibilidadebrancoamarelogrub-customizer-5.1.0/translation/translation-gl.mo0000644000175000017500000003231013360360026021757 0ustar danieldanielt `8a  E 7C Xb t      %&!H/W@' /%B!hM  q%    &$#HW jw}!9y3%+6=R.b)!l&I** 9#Z~@8S . FPV\bk}    '< E R`ho~  %-A F P^o       (A [|   X -=1o *    / 5@FuM= !!1! B!M!Na! !!!!! "" #"-"<"R"r"""1"4"#()#2R####Q#5$$6Z$$$Z$$ % &% 2%=%%%% %% &&,&'3&[&&a&&&&&&&$')'H'AY''*(&3(6Z(R(((/)4C)x),K*0x*J*/*$+7+#V+z+X",J{,,o- ..... ....//$/8/H/a/t/// / /// //000"060 ;0"H0k00000"00'01 1&1 +171N1f1y111$1 11 1 2 2 2 &242C2`2!}222222Z2<3N3n3Ow333'3404 74B4 Q4^4 g4t444 444lw d\hXL%|(8f.B@iJ^)v4[Pu3~NDIp=R/z<r0FObjn+}gy`Wco&1AY72q-T E aKV,S 5;]*:{GQ>9M'k$e?Zm _sC6xt! HU"#%1 couldn't be executed successfully. error message: %2(Custom Settings)(incoming Entries of %1)(incoming Entries)(other…)(script code)AND: your modifications are still unsaved, update will save them too!A_ppearanceAdd entry from trashAll filesAn error occurredArchive filesAre you sure?BURGBURG ModeBURG found!Boot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsHighlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removing Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameReverts the list to the default orderSaving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Show _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1placeholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-05-06 17:11+0000 Last-Translator: Marcos Lans Language-Team: Galician MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 non se pode executar correctamente. mensagem de erro: %2(Axustes personalizados)(Entradas novas de %1)(Entradas novas)(outro…)(código de script)E: as modificacións aínda non se gardaron, actualizar gardará tamén estas.A_parienciaEngadir entrada da papeleiraTodos os ficheirosProduciuse un erroArquivar ficheirosConfírmao?BURGModo BURGAtopouse BURG!Secuencia de arranqueCargador en cadea (chainloader)Seleccionar ficheiro...Seleccionar...Gardouse a configuraciónNon foi posíbel montar a partición seleccionadaNon foi posíbel desmontar a partición seleccionadaCrear submenúQuere configurar BURG en lugar do grub2?Quere proceder sen gardar a configuración actual?Quere gardar as modificacións?Editor de entradasConfiguración de entornoProduciuse un erro construíndo a secuencia de arranque. Comprobe os parámetros.Produciuse un erro ao instalar o cargador de arranqueProduciuse un fallo ao gardar a configuración do grubFicheiroGrub 2Grub Customizer é unha interface gráfica para configurar as preferencias de grub2 e burgResaltada: fondoResaltada: tipo de letraImaxe-ISO: Imase I_SOInstale o cargador de arranque no MBR e poña algúns ficheiros no directorio de datos dos cargadores de arranque (se non existe xa).Instalar no MBRParámetros do núcleoLinuxLinux-ISOTest de memoriaMemtest-Image: Fallou ao montar!BaixarBaixar a entrada ou script seleccionadoSubirSubir a entrada ou script seleccionadoNomear a entradaNormal: fondo da pantallaNormal: tipo de letraOutroRuta ao ficheiro isoSeleccione unha imaxe de fondo.Escriba un texto para o dispositivo!Non se atopa un proxy binario!Retirar do menúRetirar as entradas seleccionadas (pode restauralas da papeleira)Retirar Código de Script pode producir problemas cando se tenta arrancar entradas confiando nelas. Confirma que que facelo de todas maneiras?RenomearDevolve a lista á orde predeterminadaA gravación dos temas non foi completamente correcta.Atopáronse actualizacións para os scripts. Prema gardar para aplicar os cambios.Mostrar entradas _ocultasSubpuntos de montaxeO cargador de arranque instalouse correctamenteO ficheiro seleccionado non se pode cargar como temaA configuración xerada non é igual á configuración gardada no inicio. Así que o que se ve agora pode non ser o que se verá cando se reinicie a máquina. Para solucionar este problema, prema en actualizar!Non se pode usar o nome do ficheiro indicadoNon foi posíbel gardar a configuración do grubAs modificacións que fixo aféctanlle ás entradas visíbeis. Recárgeas!A configuración gardada non está actualizada!Contidos dos temasHai modificacións sen gardar!Isto elimina as seguintes entradas:Esta opción non funciona cando o script «os-prober» atopa outros sistemas operativos. Desactive «%1» se non ten necesidade de arrancar outros sistemas operativos.Con isto retira todas as súas modificacións de lista no menú do cargador de arranque!Isto non parece ser un sistema de ficheiros raíz (non se atopan en fstab)Poderá ver todas as entradas (non personalizadas) cando execute Grub. Este erro acontece (na maioría dos casos), cando non se instalou Grub Customizer correctamente.Está a tentar retirar unha entrada do sistema actualmente en execución. Asegúrese de que hai outras entradas funcionais neste sistema Se soamente quere retirar núcleos antigos: A mellor maneira é instalándoos, mellor que simplemente agochalos no menú de arranque._Avanzado_Configuración de aparencia_Cambiar entorno..._Dispositivo: _Editar_Ficheiro_Tipo de letra_Xeral_Configuración xeral_Axuda_Disco de RAM inicial_Instalar no MBR..._Imaxe de Linux_Configuración da lista_Cargar ficheiro: _Imaxe da proba de memoria_Memtest-Image_Nome:_Partición_Partición:_Saír sen gardar_Saír sen actualizar_Restabelecer_Gardar e saír_Amosar detalles_Tema:_Tipo_Actualizar e saír_Verengadir temaengadir entrada a un novo submenúconfiguración avanzadaimaxe de fondonegroazulmarrónnon é posíbel mover esta entradaseleccione un temacontinuar (con risco de perda de datos)actualpersonalizar a resolución ciangris-escuroentrada predeterminadanome predeterminado: %1eliminar este temanome do ficheiroxerar entradas de recuperaciónverdeInstalando o cargador de arranque...está activoParámetros do núcleoazul-clarocian-clarogris-claroverde-claromaxenta-clarovermello-clarocargando a configuración...cargando o script %2/%3 (%1)buscar outros sistemas operativosmaxentaentrada do menunomepartición: %1marcador de posiciónInforme por favor ao autor sobre este problema. A información seguinte pode ser de axuda:pre_determinado: entrada _iniciada anteriormentevermellorecarga a configuración. Gardaranse as modificacións que non están gardadas.retirar o fondoretirar tipo de letraretirar esta entrada do submenú actualgardar esta configuraciónscriptscript: %1configuraciónamosar menúsubmenútransparentefalla ao desmontar!actualizando a configuraciónvalorvisibilidadebrancoamarelogrub-customizer-5.1.0/translation/translation-ja.mo0000644000175000017500000003266613360360026021765 0ustar danieldanielt `8a      &*4 _m r |#   %&"IX/n' /%!>`eMl  qm |   &$- @MS!d>[s9 %(>Qf.v)!&#<@8J  "(.7IZ`q     " /=EL[ ak  # -;LL    # . : HRk   # X Tb{= * %0 9C KWf} _< $ '& N g  ? ! ! !!=1!o! !! !!?!E"Y"u".""" #y#9#+# ##g$j$$$$$V%o%% %%%!% %K% 1&K>&-&&& &&$&$'*7(*b((P(()-))-W)/)%)()*B$*Qg*6*%*(+?+T+M<,,4- H-S-j- }--- --(---.8.N.!b... ..../)/:/Q/e/ t// //B// 0 0 "0 ,0-90g0#000 00!01w111'1 101&2-2F2Y2l22222,23 3&3B3I36c33U3 4%4 <4>F444E4455%5,5?5R5'Y5555 5 5<o bYv[UlC &z)9}d/BghLF*5XNs~4|GKn?P0x>p1IM`u,{ef^Tam'w2DV83 .H _jS-Q 6=Z+;yJO@:(i%cEWk!]Aqt7\r" R#$%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(other…)(script code)A_ppearanceAbout the entry typesAdd entry from trashAll filesAn error occurredArchive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileGrub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsHighlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe given filename cannot be usedThe grub configuration cannot be savedThis deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:pre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-04-09 13:56+0000 Last-Translator: Shinichirou Yamada Language-Team: Japanese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 は正常に実行されませんでした。エラーメッセージは以下の通り: %2(カスタム設定)(最初のエントリー)(その他...)(スクリプトコード)外観(_p)エントリーの種類についてゴミ箱からエントリーを追加すべてのファイルエラーが発生しましたアーカイブファイル本当にこのテーマを削除してもよろしいですか本当によろしいですか?BURGBURGモードBURGを見つけましたデフォルトのエントリーを %1 秒後に起動するブートシーケンスChainloaderファイルを選択...選択...設定を保存しました選択したパーティションをマウントできません選択したパーティションをアンマウントできませんサブメニューを作成テーマのカスタム設定grub2ではなくBURGの設定をしますか?変更を保存しますか?エントリーエディター環境設定ブートシーケンスの構成中にエラーが発生しました。 パラメーターを確認してください。ブートローダーのインストール中にエラーgrubの設定の保存に失敗しましたファイルGrub 2Grub Customizerはgrub2/burgの設定を行うためのグラフィカルインターフェースですハイライト: 背景ハイライト: フォントISOイメージ: ISOイメージ(_S)ブートローダーをMBRにインストールして いくつかのデータファイルを作ります。 (存在していなければ)MBRにインストールKernelパラメーターLinuxLinux-ISOMemtestMemtestイメージ: マウントに失敗しました下に移動選択されたエントリーまたはスクリプトを下に移動する上に移動選択されたエントリーまたはスクリプトを上に移動するエントリー名を入力してください通常: 背景通常: フォントその他isoファイルの場所背景画像を選んでください以下のコマンドライン出力をご覧ください。もしこれがGrub Customizerのバグだと思うなら %1 でバグ報告してください。大体において、Grub Customizerはこのようなエラーが起こるのを防がなければなりません。デバイス名を入力してくださいProxyバイナリが見つかりません!サブメニューから削除選択されたエントリーを削除する(ゴミ箱から元に戻せます)削除されたアイテム名前を変更選択されたエントリーを元に戻すリストをデフォルトの順番に戻す設定を保存して新しい%1を生成するプレースホルダーを表示(_P)隠されたエントリーを表示(_H)サブマウントポイント:ブートローダーは正常にインストールされました選択したファイルはテーマとして読み込むことができません指定されたファイル名は使用できませんgrubの設定を保存できません次のエントリーを削除します:このオプションは "os-prober" スクリプトが他のOSを見つけなければ働きません。他のOSを起動しないなら "%1" を無効にします。ブートローダーメニューのすべてのリストの変更を削除しますrootファイルシステムではないようです(fstabがありません)grubが起動した時にすべてのエントリーが表示されたら、ほとんどの場合、正しくgrub gustomizerがインストールされていません。高度な設定(_A)外観(_A)環境を変更(_C)...デバイス(_D): 編集(_E)ファイル(_F)フォント(_F)一般(_G)一般設定(_G)スクリプト別にグループ化(_G)ヘルプ (_H)初期RAMディスク(_I)MBRにインストール(_I)...Linuxイメージ(_L)リスト設定(_L)ファイルを読み込み(_L): Memtestイメージ(_M)Memtestイメージ(_M)名前(_N):パーティション(_P)パーティション(_P):保存せずに終了(_Q)更新せずに終了(_Q)元に戻す(_R)保存して終了(_S)詳細を表示(_S)テーマ(_T):種類(_T):更新して終了(_U)表示(_V)テーマを追加新しいサブメニューにこのエントリーを追加する高度な設定背景画像ブラックブルーブラウンこのエントリーは移動できませんテーマファイルを選択続行(データを失うおそれ)現在カスタム解像度: シアンダークグレーデフォルトのエントリーデフォルト名: %1エントリーを永久に削除する(このアクションはカスタムエントリーにのみ利用できます)このテーマを削除ファイル名リカバリーエントリーを生成グリーンブートローダーのインストール中...有効Kernelパラメーターライトブルーライトシアンライトグレーライトグリーンライトマゼンタライトレッド設定を読み込み中...スクリプトを読み込み中 %2/%3 (%1)他のOSを探すマゼンタメニューエントリー名前パーティション: %1選択されたエントリーを永久に削除するプレースホルダーこの問題を作者に報告してください。次の情報が役に立ちます:既定(_D): 前回起動したエントリー(_B)レッド設定を再読込する(未保存の変更は維持します)背景を消去フォントを削除現在のサブメニューからこのエントリーを削除する設定を保存スクリプトスクリプト: %1設定メニュー表示サブメニュー透過アンマウントに失敗しました設定を更新値表示ホワイトイエローgrub-customizer-5.1.0/translation/translation-uk.mo0000644000175000017500000006000413360360026021775 0ustar danieldaniel  8: LZs  EV  \ L*Z   #   %"&Ho~/@' -:/O%!:M \}  q0 ?M S] e s&}$ !9&9: ty%(B+k6.)"!&I*f 8#Y}@8RWt f!p!! !!!!!!!!!! "" 1">"M" T" _"k""" " """"" ""##*#0#5#;#R#d#~### # ##L#$'$0$J$P$ m$w$ $ $ $ $ $ $$$ %"% *%4% 9%#G% k%Xw%{% L)Z)s)=w)) )*))* *(* 1*;* C*O*^*u* {***p*t,1y,,,, --I(-sr. .3/-;/i/{/~/0A20t0000_0'1 ?1K1f1+x1C1G1024P2A2h2:03k3-3o3X'4C44`4.5c55h566:6K6[6 7+7G7 M7W7$n77O7!8Q%8w88"88%8B8:A9@|:J:";h+;!;;<7<I<OB=E=u=N>@14@3f@>@U@/AIBBB?CLCD0D%F,GLGXaHdHI IJL(L(LM $M 2M ZP"P>PP# Q.QAQWQqQQ"#RFRE\RR0RRRS*SJSbS~SS4S2S9$T^TqT TTFTTTU,U]9]]]M^e^I^.^^ __5_S_b_*w_+__ _ _ _r7D} bz"{<Z9- OYI,|l5 !u?VTye)`h_+GA@ NJs;=U]a.  %\'$(Fw#>o[Bit2Hvm/g^Mjx*4dnEWX~3Kqcf8kQpRSCLP6&:10%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAn error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-07-15 19:12+0000 Last-Translator: Fedik Language-Team: Ukrainian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 не може бути виконаним правильно. Повідомлення про помилку: %2(Налаштування користувача)(перший запис)(вхідні Записи %1)(вхідні Записи)(інше…)(код сценарію)Група інших операційних систем. GRUB показує її як стандартний пункт меню, клацнувши на якому, відбувається завантаження іншого меню, яке дозволяє вам вибрати необхідні пункти меню.ТАКОЖ: Ваші зміни все ще не збережені, оновлення збереже їх теж!Зовнішній _виглядДетальніше про типи пунктівДодати запис зі смітникаВсі файлиСталася помилкаВидимий та увімкнений пункт меню в GRUB завантажує операційну систему.Архівні файлиВи справді бажаєте вилучити цю темуВи впевнені?BURGРежим BURGЗнайдено BURG!Завантажити пункт меню за умовчанням через %1 секундПорядок завантаженняChainloaderВибрати файл…Вибрати…Конфігурацію збереженоНеможливо змонтувати обраний розділНеможливо відмонтувати обраний розділСтворити підменюДодаткові налаштування темиБажаєте налаштувати BURG замість grub2 ?Бажаєте продовжити без збереження поточних налаштувань?Бажаєте зберегти внесені зміни?Редактор записуНалаштування середовищаПомилка побудови порядку завантаження. Перевірте параметри!Виникла помилка при встановленні завантажувачаНе вдалося зберегти налаштування Grub!ФайлПомилка заміни файлу. Будь ласка, виберіть файл теми!Grub 2Grub Customizer - це графічна оболонка для конфігурації grub2/burgШрифти Grub можуть призвести до несправностей (Інформація)Виділене: ТлоВиділений: ШрифтISO-Образ: I_SO образВстановлення завантажувача до MBR та переміщення деяких файлів до його каталогу (якщо їх ще нема).Встановити до MBRПараметри ядраLinuxLinux-ISOТест пам'ятіПомилка монтування!Перемістити внизПеремістити вниз обраний пункт чи сценарійПеремістити вгоруПеремістити вгору обраний пункт чи сценарійНазва ПунктуСтандартне: ТлоСтандартний: ШрифтІншеШлях до файлу образуБудь ласка, виберіть зображення тла!Будь ласка, перегляньте вивід командного рядка. Якщо Ви вважаєте це помилкою Grub Customizer, будь ласка, повідомте про неї на %1! Взагалі Grub Customizer повинен уникати подібних помилок.Будь ласка, введіть рядок пристрою!Бінарний код проксі-сервера не знайдено!Вилучити з підменюВилучити обрані записи (є змога відновити їх зі смітника)Вилучені елементиЗнищення Коду Скрипту може бути причиною проблем завантаження записів, що покладаються на нього. Впевнені, що бажаєте продовжити?ПерейменуватиВідновити вибрані пункти менюПовернути стандартне сортування спискуЗберегти налаштування та генерувати нове %1Збереження теми виконано не повністю!Знайдено оновлення сценаріїв. Натисніть, щоб застосувати зміни!Сценарії створюють пункти меню. Таким чином, кожному пункту меню відповідає певний сценарій. Вони відображаються в якості груп верхнього рівня, якщо така можливість задіяна. Однак на відмінну від підменю, вони не відображаються в меню завантаження.Показати _міткиПоказати _приховані пунктиДодаткова точка монтування:Завантажувач успішно встановленоОбраний файл не може бути завантажений як темаСтворена конфігурація не збігається зі збереженою конфігурацією при запуску. Тому те, що ви бачите зараз, може відрізнятися від того, що буде при перезавантаженні вашого ПК. Щоб виправити це, натисніть "Оновити"!Дане ім'я файлу не може бути використаноНе вдалося зберегти конфігурацію GRUBЗміни які були внесені впливають на видимі записи. Будь ласка, перезавантажте!Збережена кофігурація застарілої версії!Вміст темиНадаються два типи особливих пунктів меню: пункти, що вводяться - місця розміщення нових операційних систем, які були виявлені GRUB, але не налаштовані з використанням Grub Customizer. Код сценарію - це код створений GRUB, що не становить собою пункт меню. У більшості випадків використовується для налаштування GRUB. Ви можете вносити в нього зміни, тільки якщо знаєте, що робите . Типово мітки приховані.Є незбережені зміни!Це вилучить такі записи:Цей параметр не працює коли сценарій "os-prober" знаходить інші операційні системи. Деактивуйте "%1" якщо не потрібно завантажувати інші операційні системи.Це знищить всі ваші зміни для меню завантаження!Це не основна (root) файлова система (файл fstab не знайдено)Ця тема не містить %1. Будь ласка знайдіть файл налаштувань та перейменуйте на "%1"!Вам будуть видимі всі записи (неналаштовані) під час виконання grub. Ця помилка виникає (у більшості випадків), якщо grub gustomizer не було встановлено належним чином.Ви намагаєтесь знищити запис поточної системи. Впевніться, що існує додатковий робочий запис поточної системи! Якщо бажаєте лише знищити старі ядра: Найкраще рішення це вилучити їх з допомогою менеджера пакунків, замість приховування в меню завантаження.Д_одатковоНалаштування _вигляду_Змінити середовище …_Пристрій: _Правка_Файл_Шрифт_Загальне_Загальні налаштування_Групувати за сценарієм_Допомога_Первинний ОЗУ диск_Встановити в MBR …_Linux образ_Налаштування списку_Завантажити файл: Образ _Тесту пам'яті_Назва:_Розділ_Розділ:_Вихід без збереження_Вийти без оновлення_Відновити_Зберегти та Вийти_Детальніше_Тема:_Тип:_Оновити та Вийти_Вигляддодати темудодати цей запис до нового підменюрозширені налаштуваннязображення тлачорнийсинійкоричневийне вдається перемістити цей записвиберіть файл темипродовжити (є ризик втратити дані)поточневласне розширення: блакитнийтемно-сірийтиповий запистипова назва: %1вилучити пункти меню назавжди - ця дія доступна лише для пунктів меню користувачавилучити дану темуназва файлугенерувати запис відновлення системизеленийвстановлюю завантажувач...є активнимпараметри ядрасвітло-синійсвітло-блакитнийсвітло-сірийсвітло-зеленийсвітло-пурпурнийсвітло-червонийЗавантаження конфігурації...завантаження скрипту %2/%3 (%1)шукати інші операційні системипурпурнийменю записназварозділ: %1назавжди вилучити вибрані пункти менюзаповнювачбудь ласка, повідомте автора про цю проблему. Наступна інформація може бути корисна для вирішення проблеми:примітка: великі шрифти задіяні при завантаженні з низькою роздільною здатністю можуть призвести до неможливості використання екрану завантаження У зв'язку з цією несправністю, в залежності від обраного шрифту, неможливо визначити допустимий максимальний шрифт. Коли ви хочете вибрати крупний шрифт, збільшуйте його крупність поступово (перезавантажуючи і перевіряючи результат). Несправність відбувається, коли елементи графічного інтерфейсу GRUB (межі, опис) не можуть бути розміщені на екрані. Таким чином, коли досить вільного місця по вертикалі ви можете спробувати збільшити шрифт. Велика кількість пунктів меню не є проблемою, ви можете прокрутити їх. Результати несправності полягають в безперервному завантаженні GRUB2. Щоб виправити це, Вам знадобитися Live CD: * вилучити шрифт (MOUNT)/boot/grub/unicode.pf2 * перезавантажте ваш комп'ютер (меню повинно відображатися з використанням типових шрифтів) * відкрийте /etc/default/grub від імені суперкористувача (ROOT) і розмістіть '#' на початку рядка GRUB_FONT * після чого запустіть Grub Customizer, щоб вибрати використаний раніше шрифтпопередньо _визначений: попередній _завантажений записчервонийперезавантажити налаштування. Незбережені дані буде законсервовано.вилучити тловилучити шрифтвилучити цей запис із поточного підменюзберегти ці налаштуваннясценарійскрипт: %1налаштуванняпоказувати менюпідменюпрозорістьпомилка відмонтування!оновлення конфігураціїзначеннявиглядбілийжовтийgrub-customizer-5.1.0/translation/translation-ja.po0000644000175000017500000006073213360360026021763 0ustar danieldaniel# Japanese translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-04-09 13:56+0000\n" "Last-Translator: Shinichirou Yamada " "\n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "エントリー名を入力してください" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "このエントリーは移動できません" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "設定を保存しました" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "設定を更新" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "Grub Customizerはgrub2/burgの設定を行うためのグラフィカルインターフェースです" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "スクリプト" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "サブメニュー" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "プレースホルダー" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "メニューエントリー" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "スクリプト: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "デフォルト名: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "パーティション: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISOイメージ: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtestイメージ: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "現在" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "種類(_T):" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "ブートシーケンス" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "名前(_N):" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "ブートシーケンスの構成中にエラーが発生しました。\n" "パラメーターを確認してください。" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "エントリーエディター" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "選択..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "その他" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(スクリプトコード)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "ファイルを選択..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "パーティション(_P)" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "初期RAMディスク(_I)" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Linuxイメージ(_L)" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Memtestイメージ(_M)" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "isoファイルの場所" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kernelパラメーター" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "ISOイメージ(_S)" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "Memtestイメージ(_M)" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "パーティション(_P):" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "サブマウントポイント:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "設定を保存" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "マウントに失敗しました" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "アンマウントに失敗しました" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "rootファイルシステムではないようです(fstabがありません)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "選択したパーティションをマウントできません" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "選択したパーティションをアンマウントできません" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "エラーが発生しました" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "この問題を作者に報告してください。次の情報が役に立ちます:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "続行(データを失うおそれ)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "ブートローダーをMBRにインストールして\n" "いくつかのデータファイルを作ります。\n" "(存在していなければ)" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "デバイス(_D): " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "MBRにインストール" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "ブートローダーは正常にインストールされました" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "ブートローダーのインストール中にエラー" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "ブートローダーのインストール中..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "デバイス名を入力してください" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "ファイル(_F)" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "編集(_E)" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "表示(_V)" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "ヘルプ (_H)" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "MBRにインストール(_I)..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "詳細を表示(_S)" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "隠されたエントリーを表示(_H)" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "スクリプト別にグループ化(_G)" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "プレースホルダーを表示(_P)" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURGを見つけました" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "高度な設定" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "リスト設定(_L)" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "選択されたエントリーを削除する(ゴミ箱から元に戻せます)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "選択されたエントリーまたはスクリプトを上に移動する" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "選択されたエントリーまたはスクリプトを下に移動する" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "現在のサブメニューからこのエントリーを削除する" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "新しいサブメニューにこのエントリーを追加する" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "リストをデフォルトの順番に戻す" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "設定を再読込する(未保存の変更は維持します)" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "名前を変更" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "上に移動" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "下に移動" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "サブメニューから削除" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "サブメニューを作成" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "環境を変更(_C)..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "grub2ではなくBURGの設定をしますか?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "一般設定(_G)" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "外観(_A)" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURGモード" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "設定を保存して新しい%1を生成する" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "設定を読み込み中..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "スクリプトを読み込み中 %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxyバイナリが見つかりません!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "grubが起動した時にすべてのエントリーが表示されたら、ほとんどの場合、正しくgrub gustomizerがインストールされていません。" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "更新せずに終了(_Q)" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "更新して終了(_U)" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "変更を保存しますか?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "保存せずに終了(_Q)" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "保存して終了(_S)" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "grubの設定の保存に失敗しました" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "grubの設定を保存できません" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "以下のコマンドライン出力をご覧ください。もしこれがGrub Customizerのバグだと思うなら %1 でバグ報告してください。大体において、Grub " "Customizerはこのようなエラーが起こるのを防がなければなりません。" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 は正常に実行されませんでした。エラーメッセージは以下の通り:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "環境設定" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "エントリーの種類について" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "本当によろしいですか?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "ブートローダーメニューのすべてのリストの変更を削除します" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "既定(_D): " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "前回起動したエントリー(_B)" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "デフォルトのエントリー" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "表示" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "メニュー表示" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "Kernelパラメーター" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "リカバリーエントリーを生成" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "他のOSを探す" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "カスタム解像度: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "設定" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "一般(_G)" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "外観(_p)" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "高度な設定(_A)" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "有効" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "名前" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "値" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "デフォルトのエントリーを %1 秒後に起動する" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(最初のエントリー)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(その他...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "このオプションは \"os-prober\" スクリプトが他のOSを見つけなければ働きません。他のOSを起動しないなら \"%1\" を無効にします。" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "ホワイト" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "イエロー" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "ライトシアン" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "シアン" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "ライトブルー" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "ブルー" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "ライトグリーン" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "グリーン" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "ライトマゼンタ" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "マゼンタ" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "ライトレッド" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "レッド" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "ブラウン" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "ライトグレー" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "ダークグレー" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "透過" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "ブラック" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "ファイルを読み込み(_L): " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "テーマ(_T):" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "背景画像" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "背景画像を選んでください" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "フォント(_F)" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "テーマファイルを選択" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "テーマのカスタム設定" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "通常: フォント" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "通常: 背景" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "ハイライト: フォント" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "ハイライト: 背景" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "ファイル" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "テーマを追加" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "このテーマを削除" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "アーカイブファイル" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "すべてのファイル" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "フォントを削除" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "背景を消去" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(カスタム設定)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "選択したファイルはテーマとして読み込むことができません" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "指定されたファイル名は使用できません" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "ファイル名" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "本当にこのテーマを削除してもよろしいですか" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "ゴミ箱からエントリーを追加" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "削除されたアイテム" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "元に戻す(_R)" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "選択されたエントリーを元に戻す" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "選択されたエントリーを永久に削除する" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "エントリーを永久に削除する(このアクションはカスタムエントリーにのみ利用できます)" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "次のエントリーを削除します:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-et.mo0000644000175000017500000000066313360360026021773 0ustar danieldaniel$,8y9Project-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-03-22 23:40+0000 Last-Translator: FULL NAME Language-Team: Estonian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) grub-customizer-5.1.0/translation/translation-nl.mo0000644000175000017500000005462013360360026021776 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0ub0/12"2 82Y2 w2 22hq3 33+4,4@;4|7s7 8-8I8[8 `8k8.z88 88 88.9.39b9s9-9;99:.:DD:,:)::C:,;b3;.;;;; <~<<<< <<<<=)=D=)W======+=>>>?[?{?? @')@1Q@/@8@P@=A)B=B\B+qB;BB2C/Dg2D.D DD5F.GILGJF4KA{KYKL!L MMN 'N 3N=N FN RN\NsNNNNNNNNOO $O .O9OWO wOOOOOOOO1OP1PGPMPSP&YPPPPPP PPPrQQ QQQ&Q QQ R R $R /R :R GRQRoR#RRRR R1R StSySXX4XO9XXX5XXY Y Y 'Y2Y :YFY[YrY yYYY |$m9n\]6#)BIP0NZu(byt qks%Mc-: 4?er o *W/3Rl^HwTCd;GhxAEK,~_5!XQLDag17'<Yvp}{+.@f>zV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2016-05-17 14:48+0000 Last-Translator: rob Language-Team: Dutch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) %1 kon niet uitgevoerd worden. foutmelding: %2(Aangepaste instellingen)(eerste opstartkeuze)(inkomende opstartkeuzes van %1)(inkomende opstartkeuzes van)(ander…)(scriptcode)Een groep andere besturingssystemen. Deze wordt getoond door grub als een normale opstartkeuze, wanneer u er echter op klikt zal er een ander menu geladen worden, waarin u een van de weergegeven opstartkeuzes kunt selecteren.EN: uw wijzigingen zijn niet opgeslagen, door bij te werken zullen de wijzigingen ook opgeslagen worden!Wee_rgaveInfo over opstartkeuzetypesOpstartkeuze vanuit de prullenbak toevoegenAlle bestandenIn tegenstelling tot het simpele thema, waarin u maar enige opties heeft voor de kleur, achtergrondafbeelding en lettertype, kunt u ook een uitgebreid thema installeren om een nog mooier opstartmenu te verkrijgen. Er zijn diverse bronnen beschikbaar om deze te downloaden, zoals dit draadje op ubuntuforums.org: %1 (account vereist) of zoek naar '%2' op %3 Download zo'n pakket (dat meestal een tar.gz-formaat heeft) en voeg het toe aan de lijst met beschikbare thema's door te klikken op de knop Toevoegen naast de themakiezer. Na het wijzigen van het thema, zal er een simpel bewerkingsprogramma geopend worden, dat een voorbeeld van de afbeeldingen zal geven en waarmee u enige bestandsbewerkingen kunt uitvoeren. Aangepaste thema's zullen opgeslagen worden wanneer u op de knop Opslaan klikt.Er is een fout opgetredenEen opstartkeuze die zichtbaar is in het grub-menu, en een besturingssysteem opstart wanneer het geactiveerd wordt.ArchiefbestandenWeet u zeker dat u dit thema wilt verwijderenWeet u het zeker?BURGBURG-modusBURG gevonden!Standaardopstartkeuze opstarten na %1 secondenOpstartvolgordeChainloaderBestand selecteren…Selecteren…Configuratie is opgeslagenKon de geselecteerde partitie niet aankoppelenKon de geselecteerde partitie niet ontkoppelenSubmenu aanmakenAangepaste thema-instellingenWilt u BURG configureren in plaats van grub2?Wilt u doorgaan zonder de huidige configuratie op te slaan?Wilt u uw wijzigingen opslaan?Opstartkeuze-editorOmgevingsinstellingenFout bij instellen van de opstartvolgorde. Controleer de parameters!Fout bij het installeren van de opstartladerOpslaan van grub-configuratie is mislukt!BestandVervangen bestand mislukt. Selecteer a.u.b. eerst een themabestand!Grub 2Grub Customizer is een grafische gebruikersinterface om de grub2/burg-instellingen te configurerenGrub-lettertypes kunnen schadelijk zijn (info)Geaccentueerd: achtergrondGeaccentueerd: lettertypeISO-imagebestand: I_SO-imagebestandInstalleer de opstartlader in MBR en voeg enkele bestanden toe aan de opstartladerdatamap (als deze niet reeds aanwezig zijn).Installeren in MBRKernel-parametersLinuxLinux-ISOMemtestMemtest-imagebestand: Aankoppelen mislukt!Omlaag verplaatsenOpstartkeuze of script omlaag verplaatsenOmhoog verplaatsenOpstartkeuze of script omhoog verplaatsenGeef de opstartkeuze een naamNormaal: achtergrondNormaal: lettertypeAndersPad naar ISO-bestandSelecteer a.u.b. een achtergrondafbeelding!Contoleer a.u.b. het opdrachtregelresultaat hieronder. Als u denkt dat dit een fout is in Grub Customizer, maak dan een melding op %1! Normaal zou Grub Customizer fouten als deze moeten voorkomen.Voer een apparaat in!Proxy binary niet gevonden!Uit submenu verwijderenGeselecteerde opstartkeuzes verwijderen (u kunt deze weer terugzetten vanuit de prullenbak)Verwijderde itemsHet verwijderen van scriptcode kan problemen veroorzaken wanneer een opstartkeuze hiervan afhankelijk is. Weet u zeker dat u toch door wilt gaan?HernoemenGeselecteerde opstartkeuzes terugzettenHerstelt de lijst naar de oorspronkeijke volgordeConfiguratie opslaan en een nieuwe %1 genererenHet opslaan van thema's kon niet geheel voltooid worden!Er zijn scriptupdates gevonden. Klik op Opslaan om de wijzigingen toe te passen!Scripts genereren opstartkeuzes. Dus elke opstartkeuze hoort bij een script. Ze worden weergegeven als topniveaugroepen wanneer ze geactiveerd worden. In tegenstelling tot submenu's worden ze echter niet weergegeven in het opstartmenu._Placeholders tonen_Verborgen opstartkeuzes tonenSub-aankoppelpunten:De opstartlader is succesvol geïnstalleerdHet geselecteerde bestand kan niet als thema geladen wordenDe gegenereerde configuratie is niet gelijk aan de opgeslagen configuratie bij het opstarten. Dus wat u nu ziet hoeft niet noodzakelijkerwijs hetzelfde te zijn wat u zult zien wanneer u uw pc herstart. Om dit te herstellen, klikt u op Bijwerken!De opgegeven bestandsnaam kan niet gebruikt wordenDe grub-configuratie kon niet opgeslagen wordenDe wijzigingen die u heeft gemaakt hebben effect op de bestaande opstartkeuzes. Wilt u a.u.b. herladen!De opgeslagen configuratie is niet up-to-date!Thema-inhoudEr zijn twee types speciale opstartkeuze: Inkomende opstartkeuzes, dit is de locatie waar Grub Customizer nieuwe besturingssystemen plaatst die gevonden worden door grub, maar die nog niet geconfigureerd zijn om door Grub Customizer gebruikt te worden. De scriptcode, dit is code gegenereerd door grub, maar die er niet uitziet als een menuopstartkeuze. In de meeste gevallen wordt het gebruikt om grub te configureren. U zou hier eigenlijk alleen aan moeten komen als u weet wat u doet. Placeholders worden standaard verborgen.Er zijn wijzigingen gemaakt die niet opgeslagen zijn!Dit zal de volgende opstartkeuzes verwijderen:Met deze optie kunt u het besturingssysteem selecteren om mee op te starten. Standaard is dit altijd de eerste. Bij deze optie blijft de standaardopstartkeuze dezelfde ook wanneer hier andere besturingssystemen geplaatst worden. In tegenstelling tot de eerste optie, heeft de opstartkeuze bij deze optie een naam. Hierdoor wordt het standaardsysteem niet gewijzigd ook niet wanneer deze naar een andere positie verplaatst wordt. Wanneer u een aangepaste opstartkeuze wilt gebruiken zoals bijvoorbeeld "altijd de tweede opstartkeuze gebruiken" dan kunt u de laatste optie gebruiken waarbij u de mogelijkheid heeft om een aangepaste opstartkeuze in te typen. Voorbeelden hiervan zijn: 1 = "altijd de tweede opstartkeuze gebruiken" (het tellen start bij 0) test>0 = "altijd de eerste opstartkeuze gebruiken van een submenu met de naam test"Deze optie werkt niet wanneer het script "os-prober" andere besturingssytemen vindt. Schakel "%1" uit wanneer u geen andere besturingssytemen gaat gebruiken.Uw wijzigingen aan het opstartladermenu zullen niet opgeslagen worden!Dit lijkt geen root-bestandssysteem te zijn (geen fstab gevonden)Dit thema bevat geen %1. Ga a.u.b. naar het configuratiebestand en hernoem het naar "%1"!Wanneer u grub start zult u alle opstartkeuzes (onaangepast) te zien krijgen. Deze fout doet zich (in de meeste gevallen) voor, wanneer grub customizer onjuist is geïnstalleerd.U probeert een opstartkeuze van het momenteel draaiende systeem te verwijderen. Zorg ervoor dat er nog andere opstartkeuzes voor dit systeem beschikbaar zijn! Indien u alleen oude kernels wilt verwijderen, dan kunt u deze beter verwijderen in plaats van ze te verbergen in het opstartmenu.Ge_avanceerd_Weergave-instellingenOmgeving _wijzigen …A_pparaat: Be_werken_Bestand_LettertypeAl_gemeenAl_gemene instellingen_Groeperen op script_Hulp_Initiële ramdisk_Installeren in MBR …_Linux-imagebestand_LijstconfiguratieBestand _laden: _Memtest-imagebestand_Memtest-imagebestand_Naam:_Partitie_Partitie:A_fsluiten zonder op te slaanA_fsluiten zonder bij te werkenTe_rugzettenOp_slaan & afsluitenDetails _tonen_Thema:_Type:_Bijwerken & afsluitenBeel_dthema toevoegendeze opstartkeuze aan een nieuw submenu toevoegengeavanceerde instellingenAchtergrondafbeeldingzwartblauwbruinkan deze opstartkeuze niet verplaatsenthemabestand selecterendoorgaan (kans op dataverlies)huidigeaangepaste resolutie: cyaandonkergrijsStandaardopstartkeuzestandaardnaam: %1geselecteerde opstartkeuzes permanent verwijderen - deze actie is alleen beschikbaar voor aangepaste opstartkeuzesdit thema verwijderenbestandsnaamherstelopstartkeuzes genererengroenDe opstartader wordt geïnstalleerd…is actiefKernel-parameterslichtblauwlichtcyaanlichtgrijslichtgroenlichtmagentalichtroodconfiguratie wordt geladen…Script %2/%3 (%1) ladenzoek naar andere besturingssystemenmagentaopstartkeuzemenunaampartitie: %1geselecteerde opstartkeuzes permanent verwijderenplaceholderInformeer a.u.b. de ontwikkelaar over dit probleem. Wilt u a.u.b. de volgende informatie toevoegen, indien mogelijk:Pas op: grote lettertypes kunnen problemen opleveren bij opstartschermen met een lage resolutie! Omdat dit probleem afhangt van het gekozen lettertype, is het niet mogelijk om een algemene maximale grootte aan te geven. Wanneer u probeert om een groter lettertype te gebruiken, doe dit dan in kleine stapjes (herstarten en resultaat controleren). Het probleem doet zich voor wanneer de grub-gebruikersface-elementen (randen, omschrijving) niet in een en hetzelfde scherm passen. Wanneer er echter genoeg verticale ruimte overblijft kunt u een groter lettertype proberen te gebruiken. Het aantal opstartkeuzes is niet een probleem - hier kunt u doorheen scrollen indien nodig. Het probleem manifesteert zich door het eindeloos laden van grub2. U heeft een live-cd nodig om dit te kunnen repareren: * verwijder het lettertype uit (MOUNT)/boot/grub/unicode.pf2 * herstart uw systeem (menu zou zichtbaar moeten zijn met de standaardlettertypes) * open /etc/default/grub met beheerdersrechten en plaats een '#' vooraf aan de regel waarin u GRUB_FONT ziet staan * open daarna Grub Customizer om het lettertype te kiezen dat voorheen gebruikt werdvooringestel_d: vorige opge_starte opstartkeuzeroodherlaadt de configuratie. Niet opgeslagen wijzigingen zullen opgeslagen worden.achtergrond verwijderenlettertype verwijderendeze opstartkeuze uit het huidige submenu verwijderendeze configuratie opslaanscriptscript: %1instellingenmenu tonensubmenudoorzichtigOntkoppelen mislukt!configuratie bijwerkenwaardeZichtbaarheidwitgeelgrub-customizer-5.1.0/translation/translation-ta.po0000644000175000017500000004570413360360026021777 0ustar danieldaniel# Tamil translation for grub-customizer # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2016-03-22 23:40+0000\n" "Last-Translator: Kamala Kannan \n" "Language-Team: Tamil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "" #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "" #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "" #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "" #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "" #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "" #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "" #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "" #: src/main/client.cpp:98 msgid "Linux" msgstr "லினக்ஸ்" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "" #: src/main/client.cpp:101 msgid "Memtest" msgstr "" grub-customizer-5.1.0/translation/translation-ca.mo0000644000175000017500000005324113360360026021746 0ustar danieldaniel,< X8Y   E  +5\ X*f   #   %.&T{/@' 9F/[%!:M h  q< KY _iq  &$ "!3U *B9V y%8(^+6.)>!&I8* T!#u!!=$@$8%WK%%4& &'0'E' ]'g'm's'y'''''' '' '' (( #( .(:(O(d( m( z((((( (((((() )!)3)M)U)i) n) x))L))))** <*F* X* c* n* y* * *** ** *+ +#+ :+XF+{+ /)/B/=F// /*/// // 0 0 00-0D0 J0U0[0b0=1,2D2V2o222g2S 3 `3k3"3336V6*7%17 W7d7 i7s7.777777.81I8{88+8489"949VN9;9I9+:F2:y:a:!:;; %; 2;>;;;; ;; <</<5<Q<V<q< <<<<<<!===H=;>D> >#>!>(?&??Yf??!g@@@3@,@A%A8B\LB.BBB'~D1DDGP'HLxH]H#II JJK .KzV J`F&UO28[ijS"=%1 couldn't be executed successfully. error message: %2(Custom Settings)(first entry)(incoming Entries of %1)(incoming Entries)(other…)(script code)A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads another menu which allows you to choose one the the containing menuentries.AND: your modifications are still unsaved, update will save them too!A_ppearanceAbout the entry typesAdd entry from trashAll filesAlternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu. There are several download sources like this thread at ubuntuforums.org: %1 (needs account) or search for '%2' at %3 Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser. After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button.An error occurredAn menuentry which is visible at the grub menu and boots an operating system when activated.Archive filesAre you sure you want to remove this themeAre you sure?BURGBURG ModeBURG found!Boot default entry after %1 SecondsBoot sequenceChainloaderChoose file…Choose…Configuration has been savedCouldn't mount the selected partitionCouldn't umount the selected partitionCreate submenuCustom Theme settingsDo you want to configure BURG instead of grub2?Do you want to proceed without saving the current configuration?Do you want to save your modifications?Entry editorEnvironment settingsError building boot sequence. Check parameters!Error while installing the bootloaderFailed saving grub configuration!FileFile replacement failed. Please select a theme file first!Grub 2Grub Customizer is a graphical interface to configure the grub2/burg settingsGrub fonts can be harmful (Info)Highlighted: BackgroundHighlighted: FontISO-Image: I_SO imageInstall the bootloader to MBR and put some files to the bootloaders data directory (if they don't already exist).Install to MBRKernel paramsLinuxLinux-ISOMemtestMemtest-Image: Mount failed!Move downMove down the selected entry or scriptMove upMove up the selected entry or scriptName the EntryNormal: BackgroundNormal: FontOtherPath to iso filePlease choose a background image!Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this.Please type a device string!Proxy binary not found!Remove from submenuRemove selected entries (you can restore them from trash)Removed itemsRemoving Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?RenameRestore selected entriesReverts the list to the default orderSave configuration and generate a new %1Saving of themes didn't succeed completely!Script updates found. Click save to apply the changes!Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups when activated. However in contrast to submenus they aren't shown at the boot menu.Show _PlaceholdersShow _hidden entriesSubmountpoints:The bootloader has been installed successfullyThe chosen file cannot be loaded as themeThe generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!The given filename cannot be usedThe grub configuration cannot be savedThe modifications you've done affects the visible entries. Please reload!The saved configuration is not up to date!Theme contentsThere are two types of this special entry: Incoming entries are the place where Grub Customizer places new operating systems which are found by grub but still not configured using Grub Customizer. The Script code is code generated by grub which doesn't look like an menuentry. In most cases it's used to configure grub. You should only touch it when knowing what it does. Placeholders are hidden by default.There are unsaved modifications!This deletes the following entries:This option allows choosing the operating system which should be selected when booting. By default this always is the first one. This option means that the default entry selection stays the same when placing other operating systems there. In contrast to the first option the other choices are referenced by name. So the default system isn't changed when moving to another position. If you want to use another reference like "always point to the second entry" you can use the last option which allows typing a custom reference. Usage examples: 1 = "always point to the second entry" (counting starts by 0) test>0 = "always point to the first entry of a submenu named test"This option doesn't work when the "os-prober" script finds other operating systems. Disable "%1" if you don't need to boot other operating systems.This removes all your list modifications of the bootloader menu!This seems not to be a root file system (no fstab found)This theme doesn't contain a %1. Please look for the config file and rename it to "%1"!You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system! If you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu._Advanced_Appearance settings_Change Environment …_Device: _Edit_File_Font_General_General settings_Group by Script_Help_Initial ramdisk_Install to MBR …_Linux image_List configuration_Load file: _Memtest image_Memtest-Image_Name:_Partition_Partition:_Quit without saving_Quit without update_Restore_Save & Quit_Show details_Theme:_Type:_Update & Quit_Viewadd themeadd this entry to a new submenuadvanced settingsbackground imageblackbluebrowncannot move this entrychoose theme filecontinue (risk data loss)currentcustom resolution: cyandark-graydefault entrydefault name: %1delete entries permanently - this action is available on custom entries onlydelete this themefilenamegenerate recovery entriesgreeninstalling the bootloader…is activekernel parameterslight-bluelight-cyanlight-graylight-greenlight-magentalight-redloading configuration…loading script %2/%3 (%1)look for other operating systemsmagentamenuentrynamepartition: %1permanently delete selected entriesplaceholderplease Inform the author about this problem. The following information could be helpful:please note: large fonts on low boot screen resolutions can corrupt the boot screen Because this problem depends on chosen font, it isn't possible to define a general maximum. When you're trying to select a larger font, please do it in small steps (rebooting and checking the results). The problem occurs when the grub gui elements (borders, description) won't fit into screen. So while there's enough vertical space you can try a larger font. The mass of menuentries is not a problem - they are scrolled if required. The corruption results in a endless loading time of grub2. You need a live cd to fix this: * delete the font from (MOUNT)/boot/grub/unicode.pf2 * reboot your system (menu should show up with default fonts) * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT * then run grub customizer to choose the font used beforepre_defined: previously _booted entryredreloads the configuration. Unsaved changes will be preserved.remove backgroundremove fontremove this entry from the current submenusave this configurationscriptscript: %1settingsshow menusubmenutransparentumount failed!updating configurationvaluevisibilitywhiteyellowProject-Id-Version: grub-customizer Report-Msgid-Bugs-To: FULL NAME PO-Revision-Date: 2017-05-18 20:12+0000 Last-Translator: toniem Language-Team: Catalan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2018-10-13 11:16+0000 X-Generator: Launchpad (build 18790) Language: ca %1 no s'ha pogut executar correctament. Missatge d'error: %2(Configuració bàsica)(Primera entrada)(Entrades rebudes de %1)(Entrades rebudes)(Una altra…)(Codi de l'script)Entrada del menú del gestor d'arrencada que carrega un altre menú amb unes altres entrades del menú.NOTA: Les modificacions encara no s'han desat, l'actualització també les desarà!A_parençaQuant als tipus d'entradaAfegeix una entrada de la papereraTots els fitxersCom a alternativa a la configuració bàsica de colors, fons de pantalla i tipus de lletra, podeu instal·lar paquets de tema per a obtenir un menú d'arrencada més elegant. Hi ha diverses fonts de descàrrega, com aquest fil en ubuntuforums.org: %1 (necessita un compte) o buscar «%2» a %3. Només cal descarregar el paquet (que estarà en format tar.gz en la majoria dels casos) i afegir-lo a la llista de temes disponibles mitjançant el botó «Afegeix un tema» situat al costat del selector de temes. Després de seleccionar un tema, es carrega un editor senzill que mostra una vista prèvia de les imatges que conté i permet la gestió d'alguns fitxers. El contingut del tema modificat es desa en clicar al botó «Desa».S'ha produït un errorEntrada del menú del gestor d'arrencada que inicia un sistema operatiu quan s'activa.ArxiusSegur que voleu suprimir aquest tema?Esteu segur?BURGMode BURGS'ha trobat el BURG!Arrencar l'entrada predeterminada en %1 segonsSeqüència d'arrencadaCarregador en cadenaTria un fitxer…Tria…S'ha desat la configuracióNo s'ha pogut muntar la partició seleccionadaNo s'ha pogut desmuntar la partició seleccionadaCrea un submenúConfiguració bàsicaVoleu configurar el BURG en lloc del GRUB2?Voleu continuar sense desar la configuració actual?Voleu desar les modificacions?Editor d'entradesConfiguració de l'entornS'ha produït un error en crear la seqüència d'arrencada. Comproveu els paràmetres!S'ha produït un error en instal·lar el gestor d'arrencadaS'ha produït un error en desar la configuració del gestor de arrencada!FitxerSubstitució de fitxers fallida. Seleccioneu primer un fitxer de tema!GRUB2El Grub Customizer és una interfície gràfica per configurar els gestors d'arrencada GRUB2/BURGCorrupció del gestor d'arrencadaRessaltat: fonsRessaltat: lletraImatge ISO: Imatge I_SOInstal·la el gestor d'arrencada al MBR y desa alguns fitxers a la carpeta de dades del gestor d'arrencada (si encara no hi són)Instal·la al MBRParàmetres del nucliLinuxLinux (ISO)Test de memòriaImatge Memtest: ¡Muntatge fallit!BaixaBaixa l'element seleccionatPujaPuja l'element seleccionatNom de l'entradaNormal: fonsNormal: lletraUn altreCamí al fitxer ISOTrieu una imatge de fons!Consulteu la sortida de la línia d'ordres següent. Si creu que es tracta d'un error del Grub Customizer, creeu un informe d'error a %1. El Grub Customizer hauria d'evitar aquest tipus d'errors.Introduïu el nom del dispositiu!No s'ha trobat el proxy binari!Suprimeix del submenúSuprimeix les entrades seleccionades (es poden restaurar de la paperera)PapereraRetirar el codi d'un script pot causar problemes en intentar arrencar les entrades que en depenen. Voleu fer-ho de totes maneres?ReanomenaRestaura les entrades seleccionadesReverteix totes les modificacionsDesa la configuració i genera un nou %1Els temes no s'han desat completament!S'han trobat actualitzacions d'scripts. Cliqueu al botó «Desa» per aplicar els canvis!Els scripts generen les entrades de menú. Cada entrada del menú pertany a un script. En contrast amb els submenús, els scripts no es mostren al menú de arrencada.Mostra els _marcadors de posicióMostra les _entrades ocultesSubpunts de muntatge:El gestor d'arrencada s'ha instal·lat correctamentNo es pot carregar cap tema del fitxer triatLa configuració generada no és igual a la configuració desada a l'inici. El que es veu ara pot ser que no sigui el que es veurà en reiniciar l'equip. Per solucionar això, cliqueu al boto «Actualitza»!El nom de fitxer donat no es pot usarNo es pot desar la configuració del gestor de arrencadaLes modificacions que s'han fet afecten les entrades visibles. Recarregueu la configuració!La configuració desada no està actualitzada!Contingut del temaHi ha dos tipus d'aquesta entrada especial. Les entrades rebudes contenen els sistemes operatius nous trobats pel gestor de arrencada que encara no s'han configurat amb el Grub Customizer. Els codis dels scripts contenen el codi dels scripts que generen les entrades del menú de arrencada. Només s'han de modificar si es coneix el seu funcionament. Els marcadors de posició estan ocults per defecte.Hi ha modificacions que no s'han desat!Aquesta acció eliminarà les entrades següents:Aquest menú desplegable permet triar el sistema operatiu que se selecciona automàticament per arrencar. L'opció predefinida selecciona el sistema operatiu que indica la primera entrada del menú d'arrencada. En contrast amb la primera opció, les altres opcions permeten triar l'entrada predeterminada pel seu nom. Per tant, el sistema operatiu que se selecciona no varia quan la seva entrada canvia de posició. L'última opció de la llista permet triar l'entrada predeterminada amb una referència personalitzada. Exemples d'ús: 1 = l'entrada per defecte és la segona (el recompte comença en 0). test> 0 = l'entrada per defecte és la primera entrada de submenú anomenat «test».Aquesta opció no funciona quan l'script «os-prober» troba altres sistemes operatius. Desactiveu «%1» si no cal arrencar d'altres sistemes operatius.Aquesta acció elimina totes les modificacions del menú del gestor d'arrencada!Això no sembla un sistema de fitxers arrel (no s'ha trobat el fitxer fstab)Aquest tema no conté un 1%. Busqueu el fitxer de configuració i canvieu-ne el nom a «%1»!Quan s'executi el carregador de arrencada, es mostraran totes les entrades (sense personalitzar). Aquest error es produeix (en la majoria dels casos) quan el Grub Customizer no s'ha instal·lat correctament.Esteu intentant suprimir una entrada del sistema en execució. Assegureu-vos que existeixen altres entrades operatives per a aquest sistema! Per eliminar nuclis antics, és millor desinstal·lar-los que suprimir les seves entrades del menú d'arrencada._AvançadaConfiguració de l'_aparença_Canvia l'entorn…_Dispositiu: _Edita_Fitxer_Tipus de lletra_GeneralConfiguració _generalAgrupa per _scriptAj_udaRamdisk _inicial_Instal·la al MBR…Imatge _LinuxConfiguració de la _llistaCarrega un fit_xer: Imatge _MemtestImatge _Memtest_Nom:_Partició_Partició:_Surt sense desar_Surt sense actualitzar_Restaura_Desa i surt_Mostra els detalls_Tema:_Tipus:_Actualitza i surt_VistaAfegeix un temaAfegeix aquesta entrada a un submenú nouConfiguració avançadaImatge de fonsNegreBlauMarróNo es pot moure aquesta entradaTrieu un fitxer de temaContinua (amb risc de pèrdua de dades)ActualPersonalitza la resolució: CianGris foscEntrada predeterminadaNom per defecte: %1Elimina entrades permanentment (aquesta acció només està disponible per a entrades personalitzades)Elimina aquest temaNom del fitxerGenera les entrades de recuperacióVerdS'està instal·lant el gestor de arrencada…ActivadaParàmetres del nucliBlau clarCian clarGris clarVerd clarMagenta clarVermell clarS'està carregant la configuració…Càrrega d'script %2/%3 (%1)Busca altres sistemes operatiusMagentaEntrada del menúNomPartició: %1Elimina permanentment les entrades seleccionadesMarcador de posicióInformeu a l'autor sobre aquest problema. La informació següent pot ser d'utilitat:NOTA: Tipus de lletra grans en resolucions de pantalla baixes poden corrompre la pantalla d'arrencada. Atès que aquest problema depèn del tipus de lletra seleccionat, no és possible definir una mida màxima de tipus de lletra. Per seleccionar un tipus de lletra gran, feu-ho en diversos passos (reiniciant i comprovant els resultats). El problema es produeix quan els elements del menú de arrencada (vores i descripció) no encaixen a la pantalla. Mentre hi hagi prou espai vertical es pot provar un tipus de lletra més gran. La quantitat d'entrades del menú no constitueixen un problema; es desplacen si cal. La corrupció de la pantalla d'arrencada resulta en un temps de càrrega infinit per al gestor de arrencada. Per solucionar aquest error arrenqueu des d'un CD i seguiu aquestes instruccions: * Elimineu el fitxer de tipus de lletra (PUNT_DE_MUNTATGE)/boot/grub/unicode.pf2. * Reinicieu el sistema (el menú d'arrencada mostrarà el tipus de lletra per predeterminat). * Obriu el fitxer /etc/default/grub amb permisos d'administrador i col·loqueu un caràcter # al principi de la línia que conté GRUB_FONT. * Executeu el Grub Customizer per triar una mida més petita de tipus de lletra._Predefineix: _Entrada de l'arrencada anteriorVermellRecarrega la configuració (preserva els canvis no desats)Suprimeix el fonsSuprimeix el tipus de lletraSuprimeix aquesta entrada del submenú actualDesa aquesta configuracióScriptScript: %1ConfiguracióMostra el menú d'arrencadaSubmenúTransparent¡Desmuntatge fallit!S'està actualitzant la configuracióValorVisibilitatBlancGrocgrub-customizer-5.1.0/translation/translation-sk.po0000644000175000017500000006662213360360026022012 0ustar danieldaniel# Slovak translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2018-09-22 12:21+0000\n" "Last-Translator: Vendelín Slezák \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Pomenovať položku" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "nedá sa presunúť položku" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Konfigurácia bola uložená" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "aktualizuje sa konfigurácia" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customizer je grafické rozhranie na konfiguráciu nastavení Grub2/Burg" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "skript" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "podmenu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "rezervovanie miesta" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "položka ponuky" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "skript: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "predvolený názov: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partícia: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-obraz: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-obraz: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "aktuálny" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Typ:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Bootovacia sekvencia" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Názov:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Chyba pri vytváraní bootovacej sekvencie.\n" "Prosím skontrolujte parametre!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Editor položky" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Vybrať..." #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Iné" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(kód skriptu)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Vybrať súbor..." #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Diskový oddiel" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "Počiatočný _ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "Obraz _Linuxu" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "Obraz _memtestu" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Cesta k ISO súboru" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Parametre jadra" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO obraz" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-obraz" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Diskový oddiel:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Podprípojné body:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "uožiť túto konfiguráciu" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Pripojenie zlyhalo!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "Odpojenie zlyhalo!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "" "Zdá sa, že toto nie je koreňový súborový systém (žiadny súbor fstab nebol " "nájdený)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Nebolo možné pripojiť vybraný diskový oddiel" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Nebolo možné odpojiť vybraný diskový oddiel" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "Vyskytla sa chyba" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "prosím, informujte autora o tomto probléme. Nasledujúce informácie môžu byť " "užitočné:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "pokračovať (hrozí strata údajov)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Nainštaluje zavádzač do MBR a vloží niekoľko\n" "súborov do adresára zavádzača\n" "(ak ešte neexistujú)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Zariadenie: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Nainštalovať do MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "Zavádzač bol úspešne naištalovaný" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Chyba počas inštalácie zavádzača" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "inštaluje sa zavádzač..." #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Prosím, zadajte reťazec zariadenia!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_Súbor" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Upraviť" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_Zobraziť" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Pomocník" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Nainštalovať do MBR..." #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Zobraziť podrobnosti" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Zobraziť _skryté položky" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Zoskupiť podľa skriptu" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Zobraziť rezervované miesta" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "Bol nájdený BURG!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "pokročilé nastavenia" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "Zmeny, ktoré ste urobili, ovplyvňujú viditeľné položky. Prosím, znovu " "načítajte konfiguráciu!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "" "Boli nájdené aktualizácie pre skriptá. Kliknite na Uložiť pre aplikovanie " "zmien!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "Konfigurácia _zoznamu" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Odstrániť vybrané položky (môžete ich neskôr obnoviť z Koša)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Posunúť vybranú položku alebo skript nahor" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Posunúť vybranú položku alebo skript nadol" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "odobrať položku z aktuálneho podmenu" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "pridať túto položku do nového podmenu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Navráti zoznam do predvoleného zoradenia" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "Znovu načíta konfiguráciu. Neuložené zmeny budú zachované." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Premenovať" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Posunúť nahor" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Posunúť nadol" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Odstrániť z podmenu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Vytvoriť podmenu" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "Zmeniť _prostredie..." #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Želáte si nakonfigurovať BURG namiesto grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_Všeobecné nastavenia" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "Nastavenia vz_hľadu" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "Režim BURG" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Uložiť konfiguráciu a genrovať novú %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "načítava sa konfigurácia..." #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "načítava sa skript %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Binárny súbor proxy nebol nájdený!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "Uvidíte všetky položky (neprispôsobené) keď spustíte grub. Táto chyba sa " "vyskytuje (vo väčšine prípadov), keď sa Grub Customizer nenainštaloval " "správne." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(položky prebrané z %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(prebrané položky)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "Uložená konfigurácia nie je aktuálna!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "Vygenerovaná konfigurácia nebola totožná s konfiguráciou uloženou pri " "štarte. Takže to, čo vidíte teraz, nemusí byť to, čo uvidíte po reštartovaní " "počítača. Na odstránenie tohoto problému kliknite na Aktualizovať!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Ukončiť bez aktualizácie" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Aktualizovať a ukončiť" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Želáte si uložiť zmeny?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Ukončiť bez uloženia" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "U_ložiť a ukončiť" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "A: vaše úpravy stále nie sú uložené, uložia sa až pri aktualizácii!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Ukladanie nastavení grub zlyhalo" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "Nastavenia grub nebolo možné uložiť" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Prosím pozrite sa na výstup príkazového riadka nižšie. Ak si myslíte, že ide " "o chybu Grub Customizer, vytvorte %1! Vo všeobecnosti Grub Customizer " "predchádza takýmto chybám." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 nemôže byť úspešne vykonaný. Správa chyby:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Nastavenia prostredia" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Chcete pokračovať bez uloženia aktuálnej konfigurácie?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "Niektoré zmeny neboli uložené!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Odstraňovanie kódu skriptu môže spôsobiť problémy pri spúšťaní položiek, " "ktoré na ňom závisia. Ste si istý, že to chcete urobiť?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "Pokúšate sa odstrániť položku práve bežiaceho systému. Uistite sa, že " "fungujú iné položky tohto systému!\n" "Ak chcete iba odstrániť staré verzie jadra: Lepšie je ich odinštalovať, než " "iba skryť v spúšťacom menu." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "Položka ponuky, ktorá je v ponuke viditeľná a po aktivácií spustí operačný " "systém." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "Skupina iných operačných systémov. Grub ju zobrazí ako normálne položky " "ponuky, ale po kliknutí na nich sa načíta ďalšia ponuka, z ktorej si môžete " "vybrať niektorú obsiahnutú položku." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "Existujú 2 typy tejto špeciálnej položky. Prichádzajúce položky sú miestom, " "kde Grub Customizer ukladá operačné systémy, ktoré ním boli nájdené, ale " "stále nie nakonfigurované použitím Grub Customizer. Kód skriptu je kód " "generovaný grubom, ktorý nevyzerá ako položka ponuky. Vo väčšine prípadov sa " "používa na konfiguráciu grubu. Mali by ste ho použiť len ak viete, čo robí. " "Rezervovania miest sú v predvolenom stave skryté." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Skriptá generujú položky ponuky. Každá položka ponuky tak patrí niektorému " "skriptu. Po aktivácií sú zobrazené ako skupiny najvyššej úrovne. Na rozdiel " "od podmenu ale nie sú v spúšťacej ponuke zobrazené." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "O typoch položiek" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Ste si istý?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "Týmto sa z ponuky spúšťača odstránia všetky vaše zmeny!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pred_definovaná: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "predošlá _použitá položka" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "predvolená položka" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "viditeľnosť" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "zobraziť menu" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "parametre jadra" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "generovať položky na obnovu" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "hľadať iné operačné systémy" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "vlastné rozlíšenie: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "nastavenia" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_Všeobecné" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "_Vzhľad" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Pokročilé" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "aktívne" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "názov" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "hodnota" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Spustiť predvolenú položku za %1 sekúnd" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(prvá položka)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(ostatné...)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "Táto voľba nefunguje, ak skript \"os-prober\" nájde iné operačné systémy. " "Zakážte \"%1\", ak nepotrebujete spúšťať iné operačné systémy." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "biela" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "žltá" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "svetloazúrová" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "azúrová" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "svetlomodrá" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "modrá" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "svetlozelená" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "zelená" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "svetlopurpurová" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "purpurová" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "svetločervená" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "červená" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "hnedá" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "svetlošedá" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "tmavošedá" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "priehľadná" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "čierna" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Načítať súbor: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Téma:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "Obrázok pozadia" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Prosím vyberte obrázok pozadia!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Písmo" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "vybrať súbor s témou" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Obsah témy" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Vlastné nastavenia témy" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normálne: Písmo" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normálne: Pozadie" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Zvýraznené: Písmo" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Zvýraznené: Pozadie" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "Súbor" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "pridať tému" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "odstrániť túto tému" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Súbory s archívmi" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "Všetky súbory" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "odstrániť písmo" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "odstrániť pozadie" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Vlastné nastavenia)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "Nedá sa načítať vybraný súbor ako tému" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "Nedá sa použiť daný názov súboru" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "Táto téma neobsahuje %1. Prosím pozrite sa na config súbor a premenujte ho " "na \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Ukladanie tém nebolo úplne úspešné!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "Nahradzovanie súboru zlyhalo. Prosím najprv vyberte súbor s témou!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "názov súboru" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "prosím uvedomte si: veľké písmo na malej spúšťacej obrazovke môže túto " "obrazovku pokaziť\n" "Keďže tento problém závisí od vybraného písma, nedá sa definovať všeobecné " "maximum. Ak sa pokúšate vybrať väčšie písmo, prosím zväčšujte ho len " "postupne (reštartujte počítač a pozrite sa na výsledok).\n" "Problém nastane ak sa prvky grui ui (ohraničenia, popisy) nezmestia na " "obrazovku. Kým je teda dostatok zvislého miesta, môžete skúsiť väčšie písmo. " "Počet položiek ponuky nie je problémom, v prípade potreby sa ich dá " "skrolovať.\n" "\n" "Nesprávne výsledky môžu viesť k nekončiacemu načítaniu grub2. Pre jeho " "opravenie potrebujete live cd:\n" " * odstráňte písmo z (MOUNT)/boot/grub/unicode.pf2\n" " * reštartujte váš systém (ponuka by sa mala objaviť s predvolenými " "písmami)\n" " * otvorte /etc/default/grub s oprávneniami root a zapíšte „#“ na začiatok " "riadka obsahujúceho GRUB_FONT\n" " * spustite grub customizer a vyberte písmo, ktoré ste používali pred tým" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Písma grub môžu byť škodlivé (info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Ste si istý, že chcete túto tému odstrániť" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Ako alternatíva pre jednoduché úpravy tém zmenou farby, tapety a písma " "môžete nainštalovať pokročilejšie balíky tém, ktorými získate ešte lepšie " "vyzerajúcu štartovaciu ponuku.\n" "\n" "Existuje viacero zdrojov na stiahnutie, napr. táto téma na " "ubuntuforums.org:\n" "%1 (potrebujete mať účet)\n" "alebo vyhľadajte '%2' na %3\n" "\n" "Iba stiahnite balík (väčšinou vo formáte tar.gz) a pridajte ho na zoznam " "dostupných tém použitím tlačidla Pridať vedľa tlačidla na výber témy.\n" "\n" "Po zmene témy budete vidieť jednoduchý editor, ktorý poskytuje aj náhľad " "obrázkov a umožňuje správu súborov. Upravené obsahy tém budú uložené po " "stlačení tlačidla Uložiť." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Pridať položku z Koša" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Odstránené položky" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Obnoviť" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Obnoviť vybrané položky" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "trvale odstrániť vybrané položky" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "odstrániť položky trvale - táto operácia je dostupná iba na vlastné položky" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "Týmto sa odstránia nasledujúce položky:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/translation/translation-en_GB.po0000644000175000017500000006612613360360026022346 0ustar danieldaniel# English (United Kingdom) translation for grub-customizer # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the grub-customizer package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: grub-customizer\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2016-03-22 22:43+0100\n" "PO-Revision-Date: 2017-12-08 23:46+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-10-13 11:16+0000\n" "X-Generator: Launchpad (build 18790)\n" #: src/Controller/MainController.hpp:629 msgid "Name the Entry" msgstr "Name the Entry" #: src/Controller/MainController.hpp:715 msgid "cannot move this entry" msgstr "cannot move this entry" #: src/Controller/MainController.hpp:834 msgid "Configuration has been saved" msgstr "Configuration has been saved" #: src/Controller/MainController.hpp:839 msgid "updating configuration" msgstr "updating configuration" #: src/View/Gtk/About.hpp:53 msgid "" "Grub Customizer is a graphical interface to configure the grub2/burg settings" msgstr "" "Grub Customiser is a graphical interface to configure the grub2/burg settings" #: src/View/Gtk/Element/List.hpp:135 src/View/Gtk/Main.hpp:897 msgid "script" msgstr "script" #: src/View/Gtk/Element/List.hpp:137 src/View/Gtk/Main.hpp:888 msgid "submenu" msgstr "submenu" #: src/View/Gtk/Element/List.hpp:139 src/View/Gtk/Main.hpp:891 msgid "placeholder" msgstr "placeholder" #: src/View/Gtk/Element/List.hpp:141 src/View/Gtk/Main.hpp:886 msgid "menuentry" msgstr "menuentry" #: src/View/Gtk/Element/List.hpp:144 msgid "script: %1" msgstr "script: %1" #: src/View/Gtk/Element/List.hpp:148 msgid "default name: %1" msgstr "default name: %1" #: src/View/Gtk/Element/List.hpp:152 msgid "partition: %1" msgstr "partition: %1" #: src/View/Gtk/Element/List.hpp:156 msgid "ISO-Image: " msgstr "ISO-Image: " #: src/View/Gtk/Element/List.hpp:160 msgid "Memtest-Image: " msgstr "Memtest-Image: " #: src/View/Gtk/Element/PartitionChooser.hpp:53 msgid "current" msgstr "current" #: src/View/Gtk/EntryEditor.hpp:58 src/View/Gtk/EnvEditor.hpp:53 msgid "_Type:" msgstr "_Type:" #: src/View/Gtk/EntryEditor.hpp:59 msgid "Boot sequence" msgstr "Boot sequence" #: src/View/Gtk/EntryEditor.hpp:60 msgid "_Name:" msgstr "_Name:" #: src/View/Gtk/EntryEditor.hpp:61 msgid "" "Error building boot sequence.\n" "Check parameters!" msgstr "" "Error building boot sequence.\n" "Check parameters!" #: src/View/Gtk/EntryEditor.hpp:68 msgid "Entry editor" msgstr "Entry editor" #: src/View/Gtk/EntryEditor.hpp:204 msgid "Choose…" msgstr "Choose…" #: src/View/Gtk/EntryEditor.hpp:315 src/View/Gtk/EntryEditor.hpp:323 #: src/View/Gtk/EntryEditor.hpp:342 msgid "Other" msgstr "Other" #: src/View/Gtk/EntryEditor.hpp:316 src/View/Gtk/EntryEditor.hpp:325 #: src/View/Gtk/EntryEditor.hpp:344 src/View/Gtk/Main.hpp:566 msgid "(script code)" msgstr "(script code)" #: src/View/Gtk/EntryEditor.hpp:424 msgid "Choose file…" msgstr "Choose file…" #: src/View/Gtk/EntryEditor.hpp:436 msgid "_Partition" msgstr "_Partition" #: src/View/Gtk/EntryEditor.hpp:438 msgid "_Initial ramdisk" msgstr "_Initial ramdisk" #: src/View/Gtk/EntryEditor.hpp:440 msgid "_Linux image" msgstr "_Linux image" #: src/View/Gtk/EntryEditor.hpp:442 msgid "_Memtest image" msgstr "_Memtest image" #: src/View/Gtk/EntryEditor.hpp:444 msgid "Path to iso file" msgstr "Path to iso file" #: src/View/Gtk/EntryEditor.hpp:446 msgid "Kernel params" msgstr "Kernel params" #: src/View/Gtk/EntryEditor.hpp:448 msgid "I_SO image" msgstr "I_SO image" #: src/View/Gtk/EntryEditor.hpp:450 msgid "_Memtest-Image" msgstr "_Memtest-Image" #: src/View/Gtk/EnvEditor.hpp:52 msgid "_Partition:" msgstr "_Partition:" #: src/View/Gtk/EnvEditor.hpp:54 msgid "Submountpoints:" msgstr "Submountpoints:" #: src/View/Gtk/EnvEditor.hpp:55 msgid "save this configuration" msgstr "save this configuration" #: src/View/Gtk/EnvEditor.hpp:84 msgid "Grub 2" msgstr "Grub 2" #: src/View/Gtk/EnvEditor.hpp:85 msgid "BURG" msgstr "BURG" #: src/View/Gtk/EnvEditor.hpp:258 msgid "Mount failed!" msgstr "Mount failed!" #: src/View/Gtk/EnvEditor.hpp:259 msgid "umount failed!" msgstr "umount failed!" #: src/View/Gtk/EnvEditor.hpp:260 msgid "This seems not to be a root file system (no fstab found)" msgstr "This seems not to be a root file system (no fstab found)" #: src/View/Gtk/EnvEditor.hpp:261 msgid "Couldn't mount the selected partition" msgstr "Couldn't mount the selected partition" #: src/View/Gtk/EnvEditor.hpp:262 msgid "Couldn't umount the selected partition" msgstr "Couldn't umount the selected partition" #: src/View/Gtk/Error.hpp:31 src/View/Gtk/Error.hpp:33 msgid "An error occurred" msgstr "An error occurred" #: src/View/Gtk/Error.hpp:32 msgid "" "please Inform the author about this problem. The following information could " "be helpful:" msgstr "" "please inform the author about this problem. The following information could " "be helpful:" #: src/View/Gtk/Error.hpp:36 msgid "continue (risk data loss)" msgstr "continue (risk data loss)" #: src/View/Gtk/Installer.hpp:36 msgid "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." msgstr "" "Install the bootloader to MBR and put some\n" "files to the bootloaders data directory\n" "(if they don't already exist)." #: src/View/Gtk/Installer.hpp:37 msgid "_Device: " msgstr "_Device: " #: src/View/Gtk/Installer.hpp:47 msgid "Install to MBR" msgstr "Install to MBR" #: src/View/Gtk/Installer.hpp:68 msgid "The bootloader has been installed successfully" msgstr "The bootloader has been installed successfully" #: src/View/Gtk/Installer.hpp:72 msgid "Error while installing the bootloader" msgstr "Error while installing the bootloader" #: src/View/Gtk/Installer.hpp:89 msgid "installing the bootloader…" msgstr "installing the bootloader…" #: src/View/Gtk/Installer.hpp:93 msgid "Please type a device string!" msgstr "Please type a device string!" #: src/View/Gtk/Main.hpp:99 msgid "_File" msgstr "_File" #: src/View/Gtk/Main.hpp:104 msgid "_Edit" msgstr "_Edit" #: src/View/Gtk/Main.hpp:105 msgid "_View" msgstr "_View" #: src/View/Gtk/Main.hpp:106 msgid "_Help" msgstr "_Help" #: src/View/Gtk/Main.hpp:107 msgid "_Install to MBR …" msgstr "_Install to MBR …" #: src/View/Gtk/Main.hpp:129 msgid "_Show details" msgstr "_Show details" #: src/View/Gtk/Main.hpp:130 msgid "Show _hidden entries" msgstr "Show _hidden entries" #: src/View/Gtk/Main.hpp:131 msgid "_Group by Script" msgstr "_Group by Script" #: src/View/Gtk/Main.hpp:132 msgid "Show _Placeholders" msgstr "Show _Placeholders" #: src/View/Gtk/Main.hpp:134 msgid "BURG found!" msgstr "BURG found!" #: src/View/Gtk/Main.hpp:135 src/View/Gtk/Main.hpp:136 msgid "advanced settings" msgstr "advanced settings" #: src/View/Gtk/Main.hpp:139 msgid "" "The modifications you've done affects the visible entries. Please reload!" msgstr "" "The modifications you've done affects the visible entries. Please reload!" #: src/View/Gtk/Main.hpp:140 msgid "Script updates found. Click save to apply the changes!" msgstr "Script updates found. Click save to apply the changes!" #: src/View/Gtk/Main.hpp:152 msgid "_List configuration" msgstr "_List configuration" #: src/View/Gtk/Main.hpp:187 msgid "Remove selected entries (you can restore them from trash)" msgstr "Remove selected entries (you can restore them from trash)" #: src/View/Gtk/Main.hpp:197 msgid "Move up the selected entry or script" msgstr "Move up the selected entry or script" #: src/View/Gtk/Main.hpp:199 msgid "Move down the selected entry or script" msgstr "Move down the selected entry or script" #: src/View/Gtk/Main.hpp:205 msgid "remove this entry from the current submenu" msgstr "remove this entry from the current submenu" #: src/View/Gtk/Main.hpp:208 msgid "add this entry to a new submenu" msgstr "add this entry to a new submenu" #: src/View/Gtk/Main.hpp:231 msgid "Reverts the list to the default order" msgstr "Reverts the list to the default order" #: src/View/Gtk/Main.hpp:233 msgid "reloads the configuration. Unsaved changes will be preserved." msgstr "reloads the configuration. Unsaved changes will be preserved." #: src/View/Gtk/Main.hpp:277 msgid "Rename" msgstr "Rename" #: src/View/Gtk/Main.hpp:278 src/View/Gtk/Main.hpp:279 msgid "Move up" msgstr "Move up" #: src/View/Gtk/Main.hpp:280 src/View/Gtk/Main.hpp:281 msgid "Move down" msgstr "Move down" #: src/View/Gtk/Main.hpp:282 src/View/Gtk/Main.hpp:283 msgid "Remove from submenu" msgstr "Remove from submenu" #: src/View/Gtk/Main.hpp:284 src/View/Gtk/Main.hpp:285 msgid "Create submenu" msgstr "Create submenu" #: src/View/Gtk/Main.hpp:300 msgid "_Change Environment …" msgstr "_Change Environment …" #: src/View/Gtk/Main.hpp:307 msgid "Do you want to configure BURG instead of grub2?" msgstr "Do you want to configure BURG instead of grub2?" #: src/View/Gtk/Main.hpp:374 msgid "_General settings" msgstr "_General settings" #: src/View/Gtk/Main.hpp:381 msgid "_Appearance settings" msgstr "_Appearance settings" #: src/View/Gtk/Main.hpp:434 msgid "BURG Mode" msgstr "BURG Mode" #: src/View/Gtk/Main.hpp:438 msgid "Save configuration and generate a new %1" msgstr "Save configuration and generate a new %1" #: src/View/Gtk/Main.hpp:535 msgid "loading configuration…" msgstr "loading configuration…" #: src/View/Gtk/Main.hpp:537 msgid "loading script %2/%3 (%1)" msgstr "loading script %2/%3 (%1)" #: src/View/Gtk/Main.hpp:550 msgid "Proxy binary not found!" msgstr "Proxy binary not found!" #: src/View/Gtk/Main.hpp:551 msgid "" "You will see all entries (uncustomized) when you run grub. This error accurs " "(in most cases), when you didn't install grub gustomizer currectly." msgstr "" "You will see all entries (uncustomised) when you run grub. This error occurs " "(in most cases), when you didn't install grub customizer currectly." #: src/View/Gtk/Main.hpp:558 msgid "(incoming Entries of %1)" msgstr "(incoming Entries of %1)" #: src/View/Gtk/Main.hpp:560 msgid "(incoming Entries)" msgstr "(incoming Entries)" #: src/View/Gtk/Main.hpp:579 msgid "The saved configuration is not up to date!" msgstr "The saved configuration is not up to date!" #: src/View/Gtk/Main.hpp:580 msgid "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "pc. To fix this, click update!" msgstr "" "The generated configuration didn't equal to the saved configuration on " "startup. So what you see now may not be what you see when you restart your " "PC. To fix this, click update!" #: src/View/Gtk/Main.hpp:583 msgid "_Quit without update" msgstr "_Quit without update" #: src/View/Gtk/Main.hpp:586 msgid "_Update & Quit" msgstr "_Update & Quit" #: src/View/Gtk/Main.hpp:590 msgid "Do you want to save your modifications?" msgstr "Do you want to save your modifications?" #: src/View/Gtk/Main.hpp:593 msgid "_Quit without saving" msgstr "_Quit without saving" #: src/View/Gtk/Main.hpp:596 msgid "_Save & Quit" msgstr "_Save & Quit" #: src/View/Gtk/Main.hpp:599 msgid "AND: your modifications are still unsaved, update will save them too!" msgstr "" "AND: your modifications are still unsaved, update will save them too!" #: src/View/Gtk/Main.hpp:620 msgid "Failed saving grub configuration!" msgstr "Failed saving grub configuration!" #: src/View/Gtk/Main.hpp:621 msgid "The grub configuration cannot be saved" msgstr "The grub configuration cannot be saved" #: src/View/Gtk/Main.hpp:622 msgid "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customizer, please create one at %1! Generally Grub Customizer " "should prevent errors like this." msgstr "" "Please take a look at the command line output below. If you think this is a " "bug of Grub Customiser, please create one at %1! Generally Grub Customiser " "should prevent errors like this." #: src/View/Gtk/Main.hpp:628 msgid "" "%1 couldn't be executed successfully. error message:\n" " %2" msgstr "" "%1 couldn't be executed successfully. error message:\n" " %2" #: src/View/Gtk/Main.hpp:630 msgid "Environment settings" msgstr "Environment settings" #: src/View/Gtk/Main.hpp:644 msgid "Do you want to proceed without saving the current configuration?" msgstr "Do you want to proceed without saving the current configuration?" #: src/View/Gtk/Main.hpp:645 msgid "There are unsaved modifications!" msgstr "There are unsaved modifications!" #: src/View/Gtk/Main.hpp:697 msgid "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" msgstr "" "Removing Script Code can cause problems when trying to boot entries relying " "on it. Are you sure you want to do it anyway?" #: src/View/Gtk/Main.hpp:707 msgid "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." msgstr "" "You're trying to remove an entry of the currently running system. Make sure " "there are other working entries of this system!\n" "If you just want to remove old kernels: The better way is uninstalling them " "instead of just hiding them in boot menu." #: src/View/Gtk/Main.hpp:887 msgid "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." msgstr "" "An menuentry which is visible at the grub menu and boots an operating system " "when activated." #: src/View/Gtk/Main.hpp:889 msgid "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." msgstr "" "A group of other operating systems. Grub shows it as a normal menuentry " "however when clicking it, it loads another menu which allows you to choose " "one the the containing menuentries." #: src/View/Gtk/Main.hpp:892 msgid "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customizer places new operating systems which are found by grub " "but still not configured using Grub Customizer. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." msgstr "" "There are two types of this special entry: Incoming entries are the place " "where Grub Customiser places new operating systems which are found by grub " "but still not configured using Grub Customiser. The Script code is code " "generated by grub which doesn't look like an menuentry. In most cases it's " "used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default." #: src/View/Gtk/Main.hpp:898 msgid "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." msgstr "" "Scripts are generating menuentries. So every menuentry belongs to a script. " "They are shown as top level groups when activated. However in contrast to " "submenus they aren't shown at the boot menu." #: src/View/Gtk/Main.hpp:905 msgid "About the entry types" msgstr "About the entry types" #: src/View/Gtk/Main.hpp:957 msgid "Are you sure?" msgstr "Are you sure?" #: src/View/Gtk/Main.hpp:958 msgid "This removes all your list modifications of the bootloader menu!" msgstr "This removes all your list modifications of the bootloader menu!" #: src/View/Gtk/Settings.hpp:113 msgid "pre_defined: " msgstr "pre_defined: " #: src/View/Gtk/Settings.hpp:114 msgid "previously _booted entry" msgstr "previously _booted entry" #: src/View/Gtk/Settings.hpp:115 msgid "default entry" msgstr "default entry" #: src/View/Gtk/Settings.hpp:116 msgid "visibility" msgstr "visibility" #: src/View/Gtk/Settings.hpp:117 msgid "show menu" msgstr "show menu" #: src/View/Gtk/Settings.hpp:118 msgid "kernel parameters" msgstr "kernel parameters" #: src/View/Gtk/Settings.hpp:119 msgid "generate recovery entries" msgstr "generate recovery entries" #: src/View/Gtk/Settings.hpp:120 msgid "look for other operating systems" msgstr "look for other operating systems" #: src/View/Gtk/Settings.hpp:121 msgid "custom resolution: " msgstr "custom resolution: " #: src/View/Gtk/Settings.hpp:125 msgid "settings" msgstr "settings" #: src/View/Gtk/Settings.hpp:129 msgid "_General" msgstr "_General" #: src/View/Gtk/Settings.hpp:130 msgid "A_ppearance" msgstr "A_ppearance" #: src/View/Gtk/Settings.hpp:131 msgid "_Advanced" msgstr "_Advanced" #: src/View/Gtk/Settings.hpp:144 msgid "is active" msgstr "is active" #: src/View/Gtk/Settings.hpp:145 msgid "name" msgstr "name" #: src/View/Gtk/Settings.hpp:146 msgid "value" msgstr "value" #: src/View/Gtk/Settings.hpp:204 msgid "Boot default entry after %1 Seconds" msgstr "Boot default entry after %1 Seconds" #: src/View/Gtk/Settings.hpp:297 msgid "(first entry)" msgstr "(first entry)" #: src/View/Gtk/Settings.hpp:299 msgid "(other…)" msgstr "(other…)" #: src/View/Gtk/Settings.hpp:459 msgid "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." msgstr "" "This option doesn't work when the \"os-prober\" script finds other operating " "systems. Disable \"%1\" if you don't need to boot other operating systems." #: src/View/Gtk/Settings.hpp:666 msgid "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" msgstr "" "This option allows choosing the operating system which should be selected " "when booting. By default this always is the first one. This option means " "that the default entry selection stays the same when placing other operating " "systems there.\n" "\n" "In contrast to the first option the other choices are referenced by name. So " "the default system isn't changed when moving to another position.\n" "\n" "If you want to use another reference like \"always point to the second " "entry\" you can use the last option which allows typing a custom reference. " "Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\"" #: src/View/Gtk/Theme.hpp:114 msgid "white" msgstr "white" #: src/View/Gtk/Theme.hpp:115 msgid "yellow" msgstr "yellow" #: src/View/Gtk/Theme.hpp:116 msgid "light-cyan" msgstr "light-cyan" #: src/View/Gtk/Theme.hpp:117 msgid "cyan" msgstr "cyan" #: src/View/Gtk/Theme.hpp:118 msgid "light-blue" msgstr "light-blue" #: src/View/Gtk/Theme.hpp:119 msgid "blue" msgstr "blue" #: src/View/Gtk/Theme.hpp:120 msgid "light-green" msgstr "light-green" #: src/View/Gtk/Theme.hpp:121 msgid "green" msgstr "green" #: src/View/Gtk/Theme.hpp:122 msgid "light-magenta" msgstr "light-magenta" #: src/View/Gtk/Theme.hpp:123 msgid "magenta" msgstr "magenta" #: src/View/Gtk/Theme.hpp:124 msgid "light-red" msgstr "light-red" #: src/View/Gtk/Theme.hpp:125 msgid "red" msgstr "red" #: src/View/Gtk/Theme.hpp:126 msgid "brown" msgstr "brown" #: src/View/Gtk/Theme.hpp:127 msgid "light-gray" msgstr "light-gray" #: src/View/Gtk/Theme.hpp:128 msgid "dark-gray" msgstr "dark-gray" #: src/View/Gtk/Theme.hpp:129 msgid "transparent" msgstr "transparent" #: src/View/Gtk/Theme.hpp:129 msgid "black" msgstr "black" #: src/View/Gtk/Theme.hpp:210 msgid "_Load file: " msgstr "_Load file: " #: src/View/Gtk/Theme.hpp:213 msgid "_Theme:" msgstr "_Theme:" #: src/View/Gtk/Theme.hpp:214 msgid "background image" msgstr "background image" #: src/View/Gtk/Theme.hpp:218 msgid "Please choose a background image!" msgstr "Please choose a background image!" #: src/View/Gtk/Theme.hpp:221 msgid "_Font" msgstr "_Font" #: src/View/Gtk/Theme.hpp:224 msgid "choose theme file" msgstr "choose theme file" #: src/View/Gtk/Theme.hpp:225 msgid "Theme contents" msgstr "Theme contents" #: src/View/Gtk/Theme.hpp:226 msgid "Custom Theme settings" msgstr "Custom Theme settings" #: src/View/Gtk/Theme.hpp:227 msgid "Normal: Font" msgstr "Normal: Font" #: src/View/Gtk/Theme.hpp:228 msgid "Normal: Background" msgstr "Normal: Background" #: src/View/Gtk/Theme.hpp:229 msgid "Highlighted: Font" msgstr "Highlighted: Font" #: src/View/Gtk/Theme.hpp:230 msgid "Highlighted: Background" msgstr "Highlighted: Background" #: src/View/Gtk/Theme.hpp:301 msgid "File" msgstr "File" #: src/View/Gtk/Theme.hpp:312 msgid "add theme" msgstr "add theme" #: src/View/Gtk/Theme.hpp:313 msgid "delete this theme" msgstr "delete this theme" #: src/View/Gtk/Theme.hpp:325 msgid "Archive files" msgstr "Archive files" #: src/View/Gtk/Theme.hpp:330 msgid "All files" msgstr "All files" #: src/View/Gtk/Theme.hpp:374 msgid "remove font" msgstr "remove font" #: src/View/Gtk/Theme.hpp:393 msgid "remove background" msgstr "remove background" #: src/View/Gtk/Theme.hpp:501 msgid "(Custom Settings)" msgstr "(Custom Settings)" #: src/View/Gtk/Theme.hpp:554 msgid "The chosen file cannot be loaded as theme" msgstr "The chosen file cannot be loaded as theme" #: src/View/Gtk/Theme.hpp:557 msgid "The given filename cannot be used" msgstr "The given filename cannot be used" #: src/View/Gtk/Theme.hpp:560 msgid "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" msgstr "" "This theme doesn't contain a %1. Please look for the config file and rename " "it to \"%1\"!" #: src/View/Gtk/Theme.hpp:563 msgid "Saving of themes didn't succeed completely!" msgstr "Saving of themes didn't succeed completely!" #: src/View/Gtk/Theme.hpp:566 msgid "File replacement failed. Please select a theme file first!" msgstr "File replacement failed. Please select a theme file first!" #: src/View/Gtk/Theme.hpp:587 msgid "filename" msgstr "filename" #: src/View/Gtk/Theme.hpp:624 msgid "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a live " "cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" msgstr "" "please note: large fonts on low boot screen resolutions can corrupt the boot " "screen\n" "Because this problem depends on chosen font, it isn't possible to define a " "general maximum. When you're trying to select a larger font, please do it in " "small steps (rebooting and checking the results).\n" "The problem occurs when the grub GUI elements (borders, description) won't " "fit into screen. So while there's enough vertical space you can try a larger " "font. The mass of menuentries is not a problem - they are scrolled if " "required.\n" "\n" "The corruption results in a endless loading time of grub2. You need a Live " "CD to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of " "the line containing GRUB_FONT\n" " * then run grub customiser to choose the font used before" #: src/View/Gtk/Theme.hpp:636 msgid "Grub fonts can be harmful (Info)" msgstr "Grub fonts can be harmful (Info)" #: src/View/Gtk/Theme.hpp:857 msgid "Are you sure you want to remove this theme" msgstr "Are you sure you want to remove this theme" #: src/View/Gtk/Theme.hpp:931 msgid "" "Alternatively to the simple theme method which provides some options like " "color, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." msgstr "" "Alternatively to the simple theme method which provides some options like " "colour, wallpaper and font you can install complex theme packages to get an " "even better looking boot menu.\n" "\n" "There are several download sources like this thread at ubuntuforums.org:\n" "%1 (needs account)\n" "or search for '%2' at %3\n" "\n" "Just download such a package (which is in tar.gz format in most cases) and " "add it to the list of available themes by using the add button next to the " "theme chooser.\n" "\n" "After changing the theme you'll see a simple editor which gives a preview of " "images and allows some file management. Modified theme contents will be " "saved when you're pressing the save button." #: src/View/Gtk/Trash.hpp:55 msgid "Add entry from trash" msgstr "Add entry from trash" #: src/View/Gtk/Trash.hpp:59 msgid "Removed items" msgstr "Removed items" #: src/View/Gtk/Trash.hpp:69 msgid "_Restore" msgstr "_Restore" #: src/View/Gtk/Trash.hpp:71 msgid "Restore selected entries" msgstr "Restore selected entries" #: src/View/Gtk/Trash.hpp:76 msgid "permanently delete selected entries" msgstr "permanently delete selected entries" #: src/View/Gtk/Trash.hpp:84 msgid "" "delete entries permanently - this action is available on custom entries only" msgstr "" "delete entries permanently - this action is available on custom entries only" #: src/View/Gtk/Trash.hpp:159 msgid "This deletes the following entries:" msgstr "This deletes the following entries:" #: src/main/client.cpp:98 msgid "Linux" msgstr "Linux" #: src/main/client.cpp:99 msgid "Linux-ISO" msgstr "Linux-ISO" #: src/main/client.cpp:100 msgid "Chainloader" msgstr "Chainloader" #: src/main/client.cpp:101 msgid "Memtest" msgstr "Memtest" grub-customizer-5.1.0/src/0000755000175000017500000000000013360360026014716 5ustar danieldanielgrub-customizer-5.1.0/src/config.hpp0000644000175000017500000000060613360360026016676 0ustar danieldaniel#define BINDIR "/usr/local/bin" #define LIBDIR "/usr/local/lib/grub-customizer" #define LOCALEDIR "/usr/local/share/locale" #define PARTCHOOSER_MOUNTPOINT "/media/grub-customizer_recovery_root_mountpoint" #define ERROR_LOG_FILE "/tmp/grub-customizer_mkconfig_output.log" #define CUSTOM_SCRIPT_SHEBANG "#!/bin/sh" #define CUSTOM_SCRIPT_PREFIX "exec tail -n +3 $0" #define GC_VERSION "5.0.8" grub-customizer-5.1.0/src/main/0000755000175000017500000000000013360360026015642 5ustar danieldanielgrub-customizer-5.1.0/src/main/client.cpp0000644000175000017500000001506713360360026017635 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #include #include "../Bootstrap/View.hpp" #include "../Bootstrap/Application.hpp" #include "../Bootstrap/Factory.hpp" #include "../lib/ContentParser/Chainloader.hpp" #include "../lib/ContentParser/FactoryImpl.hpp" #include "../lib/ContentParser/Linux.hpp" #include "../lib/ContentParser/LinuxIso.hpp" #include "../lib/ContentParser/Memtest.hpp" #include "../Controller/Helper/RuleMover/Strategy/MoveRuleOnSameLevelInsideProxy.hpp" #include "../Controller/Helper/RuleMover/Strategy/MoveRuleIntoSubmenu.hpp" #include "../Controller/Helper/RuleMover/Strategy/MoveRuleOutOfSubmenu.hpp" #include "../Controller/Helper/RuleMover/Strategy/MoveRuleOutOfProxyOnToplevel.hpp" #include "../Controller/Helper/RuleMover/Strategy/MoveRuleIntoForeignSubmenu.hpp" #include "../Controller/Helper/RuleMover/Strategy/MoveForeignRuleFromSubmenuToToplevel.hpp" #include "../lib/Logger/Stream.hpp" #include "../Mapper/EntryNameImpl.hpp" #include "../config.hpp" #include "../Controller/AboutController.hpp" #include "../Controller/EntryEditController.hpp" #include "../Controller/EnvEditorController.hpp" #include "../Controller/ErrorController.hpp" #include "../Controller/InstallerController.hpp" #include "../Controller/MainController.hpp" #include "../Controller/SettingsController.hpp" #include "../Controller/ThemeController.hpp" #include "../Controller/TrashController.hpp" int main(int argc, char** argv){ if (argc == 2 && (std::string(argv[1]) == "-v" || std::string(argv[1]) == "--version")) { std::cout << "Grub Customizer, version " << GC_VERSION << std::endl; return 0; } if (getuid() != 0 && (argc == 1 || argv[1] != std::string("no-fork"))) { return system((std::string("xhost +SI:localuser:root; pkexec ") + argv[0] + (argc == 2 ? std::string(" ") + argv[1] : "") + " no-fork; xhost -SI:localuser:root").c_str()); } setlocale(LC_ALL, ""); bindtextdomain("grub-customizer", LOCALEDIR); textdomain("grub-customizer"); auto logger = std::make_shared(std::cout); Logger::getInstance() = logger; try { auto application = std::make_shared(argc, argv); auto view = std::make_shared(); auto factory = std::make_shared(application->applicationObject, logger); auto settingsOnDisk = factory->create(); auto savedListCfg = factory->create(); factory->entryNameMapper->setView(view->main); auto entryEditController = factory->createController(view->entryEditor); auto mainController = factory->createController(view->main); auto settingsController = factory->createController(view->settings); auto envEditController = factory->createController(view->envEditor); auto trashController = factory->createController(view->trash); auto installController = factory->createController(view->installer); auto aboutController = factory->createController(view->about); auto errorController = factory->createController(view->error); auto themeController = factory->createController(view->theme); mainController->setSettingsBuffer(settingsOnDisk); mainController->setSavedListCfg(savedListCfg); // configure logger logger->setLogLevel(Logger_Stream::LOG_EVENT); if (argc > 1) { std::string logParam = argv[1]; if (logParam == "debug") { logger->setLogLevel(Logger_Stream::LOG_DEBUG_ONLY); } else if (logParam == "log-important") { logger->setLogLevel(Logger_Stream::LOG_IMPORTANT); } else if (logParam == "quiet") { logger->setLogLevel(Logger_Stream::LOG_NOTHING); } else if (logParam == "verbose") { logger->setLogLevel(Logger_Stream::LOG_VERBOSE); } } factory->contentParserFactory->registerParser(factory->create(), gettext("Linux")); factory->contentParserFactory->registerParser(factory->create(), gettext("Linux-ISO")); factory->contentParserFactory->registerParser(factory->create(), gettext("Chainloader")); factory->contentParserFactory->registerParser(factory->create(), gettext("Memtest")); view->entryEditor->setAvailableEntryTypes(factory->contentParserFactory->getNames()); factory->ruleMover->addStrategy(factory->create()); factory->ruleMover->addStrategy(factory->create()); factory->ruleMover->addStrategy(factory->create()); factory->ruleMover->addStrategy(factory->create()); factory->ruleMover->addStrategy(factory->create()); factory->ruleMover->addStrategy(factory->create()); mainController->initAction(); errorController->setApplicationStarted(true); application->applicationObject->run(); } catch (Exception const& e) { logger->log(e, Logger::ERROR); return 1; } } grub-customizer-5.1.0/src/main/proxy.cpp0000644000175000017500000000621713360360026017535 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #include "../Model/Entry.hpp" #include #include #include "../Model/ListCfg.hpp" // multi #include "../Model/Proxy.hpp" #include "../Model/Rule.hpp" #include "../Model/Script.hpp" int main(int argc, char** argv){ if (argc == 2) { auto script = std::make_shared("noname", ""); std::shared_ptr newEntry; std::string plaintextBuffer; while (*(newEntry = std::make_shared(stdin, Model_Entry_Row(), nullptr, &plaintextBuffer))) { script->entries().push_back(newEntry); } if (plaintextBuffer.size()) { script->entries().push_front(std::make_shared("#text", "", plaintextBuffer, Model_Entry::PLAINTEXT)); } auto proxy = std::make_shared(); proxy->importRuleString(argv[1], ""); proxy->dataSource = script; proxy->sync(true, true); for (auto rule : proxy->rules) { rule->print(std::cout); } return 0; } else if (argc == 3 && std::string(argv[2]) == "multi") { auto env = std::make_shared(); Model_ListCfg scriptSource; scriptSource.setEnv(env); scriptSource.ignoreLock = true; { // this scope prevents access to the unused proxy variable - push_back takes a copy! auto proxy = std::make_shared(); proxy->importRuleString(argv[1], env->cfg_dir_prefix); scriptSource.proxies.push_back(proxy); } scriptSource.readGeneratedFile(stdin, true, false); scriptSource.proxies.front()->dataSource = scriptSource.repository.front(); // the first Script is always the main script auto map = scriptSource.repository.getScriptPathMap(); scriptSource.proxies.front()->sync(true, true, map); for (auto& rule : scriptSource.proxies.front()->rules) { rule->print(std::cout); } } else { std::cerr << "wrong argument count. You have to give the config as parameter 1!" << std::endl; return 1; } } grub-customizer-5.1.0/src/Mapper/0000755000175000017500000000000013360360026016142 5ustar danieldanielgrub-customizer-5.1.0/src/Mapper/EntryName.hpp0000644000175000017500000000355113360360026020561 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRYNAME_H_ #define ENTRYNAME_H_ #include #include "../Model/Entry.hpp" class Mapper_EntryName { public: virtual inline ~Mapper_EntryName(){}; virtual std::string map(std::shared_ptr sourceEntry, std::string const& defaultName, bool treatSubmenuAsPlaceholder) = 0; }; class Mapper_EntryName_Connection { protected: std::shared_ptr entryNameMapper; public: void setEntryNameMapper(std::shared_ptr mapper) { this->entryNameMapper = mapper; } }; #endif /* ENTRYNAME_H_ */ grub-customizer-5.1.0/src/Mapper/EntryNameImpl.hpp0000644000175000017500000000461013360360026021400 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRYNAMEIMPL_H_ #define ENTRYNAMEIMPL_H_ #include "../View/Main.hpp" #include "../View/Trait/ViewAware.hpp" #include "EntryName.hpp" class Mapper_EntryNameImpl : public Mapper_EntryName, public View_Trait_ViewAware { public: std::string map(std::shared_ptr sourceEntry, std::string const& defaultName, bool treatSubmenuAsPlaceholder) { assert(this->view != NULL); std::string name; bool is_other_entries_ph = sourceEntry && treatSubmenuAsPlaceholder ? sourceEntry->type == Model_Entry::SUBMENU || sourceEntry->type == Model_Entry::SCRIPT_ROOT : false; bool is_plaintext = sourceEntry ? sourceEntry->type == Model_Entry::PLAINTEXT : false; if (is_other_entries_ph) { if (sourceEntry->type != Model_Entry::SCRIPT_ROOT) { name = this->view->createNewEntriesPlaceholderString(sourceEntry->name); } else { name = this->view->createNewEntriesPlaceholderString(""); } } else if (is_plaintext) { name = this->view->createPlaintextString(); } else { name = defaultName; } return name; } }; #endif /* ENTRYNAMEIMPL_H_ */ grub-customizer-5.1.0/src/Bootstrap/0000755000175000017500000000000013360360026016673 5ustar danieldanielgrub-customizer-5.1.0/src/Bootstrap/Factory.hpp0000644000175000017500000002055613360360026021023 0ustar danieldaniel/* * Copyright (C) 2010-2014 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SRC_BOOTSTRAP_FACTORY_HPP_ #define SRC_BOOTSTRAP_FACTORY_HPP_ #include "../View/Trait/ViewAware.hpp" #include "../Model/Env.hpp" #include "../Model/ListCfg.hpp" #include "../Model/MountTable.hpp" #include "../Model/SettingsManagerData.hpp" #include "../Model/Installer.hpp" #include "../Model/FbResolutionsGetter.hpp" #include "../Model/DeviceDataList.hpp" #include "../lib/ContentParser/FactoryImpl.hpp" #include "../Mapper/EntryNameImpl.hpp" #include "../Model/ThemeManager.hpp" #include "../Model/DeviceMap.hpp" #include "../Controller/Helper/Thread.hpp" #include "../Controller/Helper/RuleMover.hpp" #include "Application.hpp" class Bootstrap_Factory { public: std::shared_ptr env; public: std::shared_ptr listcfg; public: std::shared_ptr settings; public: std::shared_ptr installer; public: std::shared_ptr mountTable; public: std::shared_ptr fbResolutionsGetter; public: std::shared_ptr deviceDataList; public: std::shared_ptr contentParserFactory; public: std::shared_ptr entryNameMapper; public: std::shared_ptr themeManager; public: std::shared_ptr deviceMap; public: std::shared_ptr ruleMover; public: std::shared_ptr logger; public: std::shared_ptr regexEngine; public: std::shared_ptr threadHelper; public: std::shared_ptr applicationObject; public: Bootstrap_Factory(std::shared_ptr applicationObject, std::shared_ptr logger) { this->applicationObject = applicationObject; this->logger = logger; this->regexEngine = this->createRegexExgine(); this->threadHelper = this->createThreadHelper(); this->env = this->create(); this->listcfg = this->create(); this->settings = this->create(); this->installer = this->create(); this->mountTable = this->create(); this->fbResolutionsGetter = this->create(); this->deviceDataList = this->create(); this->contentParserFactory = this->create(); this->entryNameMapper = this->create(); this->themeManager = this->create(); this->deviceMap = this->create(); this->ruleMover = this->create(); this->bootstrap(this->regexEngine); this->bootstrap(this->threadHelper); } public: template std::shared_ptr createController(std::shared_ptr view) { auto controller = std::make_shared(); controller->setApplicationObject(this->applicationObject); controller->setView(view); this->bootstrap(controller); this->bootstrap(view); return controller; } public: template std::shared_ptr create() { auto obj = std::make_shared(); this->bootstrap(obj); return obj; } public: template void bootstrap(std::shared_ptr obj) { { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->env); objc->setEnv(this->env);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->listcfg); objc->setListCfg(this->listcfg);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->settings); objc->setSettingsManager(this->settings);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->installer); objc->setInstaller(this->installer);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->mountTable); objc->setMountTable(this->mountTable);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->fbResolutionsGetter); objc->setFbResolutionsGetter(this->fbResolutionsGetter);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->deviceDataList); objc->setDeviceDataList(this->deviceDataList);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->deviceDataList); objc->setDeviceDataList(this->deviceDataList);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->contentParserFactory); objc->setContentParserFactory(this->contentParserFactory);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->entryNameMapper); objc->setEntryNameMapper(this->entryNameMapper);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->themeManager); objc->setThemeManager(this->themeManager);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->deviceMap); objc->setDeviceMap(this->deviceMap);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->logger); objc->setLogger(this->logger);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->regexEngine); objc->setRegexEngine(this->regexEngine);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {objc->setMutex(this->createMutex());} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->threadHelper); objc->setThreadHelper(this->threadHelper);} } { std::shared_ptr objc = std::dynamic_pointer_cast(obj); if (objc) {assert(this->ruleMover); objc->setRuleMover(this->ruleMover);} } } // external implementations private: std::shared_ptr createRegexExgine(); private: std::shared_ptr createMutex(); private: std::shared_ptr createThreadHelper(); }; #endif /* SRC_BOOTSTRAP_FACTORY_HPP_ */ grub-customizer-5.1.0/src/Bootstrap/View.hpp0000644000175000017500000000461113360360026020320 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SRC_BOOTSTRAP_VIEW_HPP_ #define SRC_BOOTSTRAP_VIEW_HPP_ #include #include "../View/Main.hpp" #include "../View/About.hpp" #include "../View/Installer.hpp" #include "../View/Trash.hpp" #include "../View/EntryEditor.hpp" #include "../View/Settings.hpp" #include "../View/EnvEditor.hpp" #include "../View/Error.hpp" #include "../View/Theme.hpp" #include "../Model/DeviceDataListInterface.hpp" class Bootstrap_View : public Model_DeviceDataListInterface_Connection { public: std::shared_ptr about; public: std::shared_ptr entryEditor; public: std::shared_ptr envEditor; public: std::shared_ptr error; public: std::shared_ptr installer; public: std::shared_ptr main; public: std::shared_ptr settings; public: std::shared_ptr theme; public: std::shared_ptr trash; public: void setDeviceDataList(Model_DeviceDataListInterface& deviceDataList); public: Bootstrap_View(); public: ~Bootstrap_View(); }; #endif /* SRC_BOOTSTRAP_VIEW_HPP_ */ grub-customizer-5.1.0/src/Bootstrap/GtkView.cpp0000644000175000017500000000523613360360026020765 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #include "../View/Gtk/About.hpp" #include "../View/Gtk/EntryEditor.hpp" #include "../View/Gtk/EnvEditor.hpp" #include "../View/Gtk/Error.hpp" #include "../View/Gtk/Installer.hpp" #include "../View/Gtk/Main.hpp" #include "../View/Gtk/Settings.hpp" #include "../View/Gtk/Theme.hpp" #include "../View/Gtk/Trash.hpp" #include "View.hpp" Bootstrap_View::Bootstrap_View() { auto about = std::make_shared(); auto entryEditor = std::make_shared(); auto envEditor = std::make_shared(); auto error = std::make_shared(); auto installer = std::make_shared(); auto main = std::make_shared(); auto settings = std::make_shared(); auto theme = std::make_shared(); auto trash = std::make_shared(); main->putSettingsDialog(settings->getCommonSettingsPane(), settings->getAppearanceSettingsPane()); main->putTrashList(trash->getList()); settings->putThemeSelector(theme->getThemeSelector()); settings->putThemeEditArea(theme->getEditorBox()); this->about = about; this->entryEditor = entryEditor; this->envEditor = envEditor; this->error = error; this->installer = installer; this->main = main; this->settings = settings; this->theme = theme; this->trash = trash; } Bootstrap_View::~Bootstrap_View() { } grub-customizer-5.1.0/src/Bootstrap/GtkApplication.cpp0000644000175000017500000000407613360360026022317 0ustar danieldaniel/* * Copyright (C) 2010-2014 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #include "Application.hpp" #include #include class Bootstrap_GtkApplicationObject : public Bootstrap_Application_Object { private: Gtk::Main app; private: std::list> shutdownHandlers; public: Bootstrap_GtkApplicationObject(int argc, char** argv) : app(argc, argv) { } public: void run() { this->app.run(); } public: void shutdown() { for (auto func : this->shutdownHandlers) { func(); } this->app.quit(); } public: void addShutdownHandler(std::function callback) { this->shutdownHandlers.push_back(callback); } }; Bootstrap_Application::Bootstrap_Application(int argc, char** argv) { this->applicationObject = std::make_shared(argc, argv); } grub-customizer-5.1.0/src/Bootstrap/FactoryImpl/0000755000175000017500000000000013360360026021124 5ustar danieldanielgrub-customizer-5.1.0/src/Bootstrap/FactoryImpl/GlibThread.cpp0000644000175000017500000000330113360360026023632 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #include "../../Controller/Helper/GLibThread.hpp" #include "../../lib/Mutex/GLib.hpp" #include "../Factory.hpp" std::shared_ptr Bootstrap_Factory::createThreadHelper() { Glib::thread_init(); return std::make_shared(); } std::shared_ptr Bootstrap_Factory::createMutex() { return std::make_shared(); } grub-customizer-5.1.0/src/Bootstrap/FactoryImpl/GLibRegex.cpp0000644000175000017500000000275413360360026023450 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #include "../../lib/Regex/GLib.hpp" #include "../Factory.hpp" std::shared_ptr Bootstrap_Factory::createRegexExgine() { return std::make_shared(); } grub-customizer-5.1.0/src/Bootstrap/Application.hpp0000644000175000017500000001020613360360026021646 0ustar danieldaniel/* * Copyright (C) 2010-2014 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SRC_BOOTSTRAP_APPLICATION_HPP_ #define SRC_BOOTSTRAP_APPLICATION_HPP_ #include #include #include #include #include "../lib/Exception.hpp" #include "../lib/Type.hpp" template class Bootstrap_Application_Event { private: std::list> eventHandlers; public: void addHandler(std::function eventHandler) { this->eventHandlers.push_back(eventHandler); } public: void exec(Args... args) { for (auto func : this->eventHandlers) { func(args...); } } }; class Bootstrap_Application_Object { public: Bootstrap_Application_Event onError; public: Bootstrap_Application_Event onThreadError; public: Bootstrap_Application_Event<> onAboutDlgShowRequest; public: Bootstrap_Application_Event onEntryEditorShowRequest; public: Bootstrap_Application_Event<> onEnvEditorShowRequest; public: Bootstrap_Application_Event<> onInstallerShowRequest; public: Bootstrap_Application_Event<> onSettingsShowRequest; public: Bootstrap_Application_Event<> onListModelChange; public: Bootstrap_Application_Event onEnvChange; public: Bootstrap_Application_Event<> onListRelevantSettingChange; // param 1: the modified rule, param 2: whether it's a new rule public: Bootstrap_Application_Event onListRuleChange; public: Bootstrap_Application_Event<> onTrashEntrySelection; public: Bootstrap_Application_Event<> onEntrySelection; public: Bootstrap_Application_Event> onEntryInsertionRequest; // TODO: do just selection - not the insertion itself public: Bootstrap_Application_Event> onEntryRemove; public: Bootstrap_Application_Event<> onInit; public: Bootstrap_Application_Event<> onSettingModelChange; public: Bootstrap_Application_Event<> onLoad; // loading finished (without preserving data) public: Bootstrap_Application_Event<> onSave; public: std::map viewOptions; public: virtual void addShutdownHandler(std::function callback) = 0; public: virtual void shutdown() = 0; public: virtual void run() = 0; public: virtual ~Bootstrap_Application_Object(){} }; class Bootstrap_Application_Object_Connection { protected: std::shared_ptr applicationObject; public: virtual ~Bootstrap_Application_Object_Connection(){} public: void setApplicationObject(std::shared_ptr applicationObject) { this->applicationObject = applicationObject; this->initApplicationEvents(); } public: virtual void initApplicationEvents() { // override to initialize application events } }; class Bootstrap_Application { public: std::shared_ptr applicationObject; public: Bootstrap_Application(int argc, char** argv); }; #endif /* SRC_BOOTSTRAP_APPLICATION_HPP_ */ grub-customizer-5.1.0/src/View/0000755000175000017500000000000013360360026015630 5ustar danieldanielgrub-customizer-5.1.0/src/View/Trait/0000755000175000017500000000000013360360026016713 5ustar danieldanielgrub-customizer-5.1.0/src/View/Trait/ViewAware.hpp0000644000175000017500000000322713360360026021322 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef VIEW_VIEWAWARE_H_ #define VIEW_VIEWAWARE_H_ template class View_Trait_ViewAware { protected: std::shared_ptr view; public: virtual ~View_Trait_ViewAware(){} public: void setView(std::shared_ptr view) { this->view = view; this->initViewEvents(); } public: virtual void initViewEvents() { // override to initialize specific view events } }; #endif /* VIEW_VIEWAWARE_H_ */ grub-customizer-5.1.0/src/View/About.hpp0000644000175000017500000000305113360360026017412 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ABOUTDIALOG_H_ #define ABOUTDIALOG_H_ #include "../lib/Trait/LoggerAware.hpp" /** * base class to be implemented by about dialogs */ class View_About : public Trait_LoggerAware { public: virtual inline ~View_About() {}; //show the about dialog, don't block virtual void show()=0; }; #endif grub-customizer-5.1.0/src/View/EntryEditor.hpp0000644000175000017500000000602513360360026020614 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRYEDITDLG_H_ #define ENTRYEDITDLG_H_ #include #include #include #include #include "../lib/Type.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "../Model/DeviceDataListInterface.hpp" class View_EntryEditor : public Trait_LoggerAware, public Model_DeviceDataListInterface_Connection { public: std::function onApplyClick; std::function onSourceModification; std::function onOptionModification; std::function onTypeSwitch; std::function)> onFileChooserSelection; std::function onNameChange; virtual inline ~View_EntryEditor() {}; virtual void show() = 0; virtual void setSourcecode(std::string const& source) = 0; virtual void showSourceBuildError() = 0; virtual void setApplyEnabled(bool value) = 0; virtual std::string getSourcecode() = 0; virtual void addOption(std::string const& name, std::string const& value) = 0; virtual void setOptions(std::map options) = 0; virtual std::map getOptions() const = 0; virtual void removeOptions() = 0; virtual void setRulePtr(Rule* rulePtr) = 0; virtual Rule* getRulePtr() = 0; virtual void hide() = 0; virtual void setAvailableEntryTypes(std::list const& names) = 0; virtual void selectType(std::string const& name) = 0; virtual std::string getSelectedType() const = 0; virtual void setName(std::string const& name) = 0; virtual std::string getName() = 0; virtual void setNameFieldVisibility(bool visible) = 0; virtual void setErrors(std::list const& errors) = 0; virtual void setNameIsValid(bool valid) = 0; virtual void setTypeIsValid(bool valid) = 0; }; #endif /* ENTRYEDITDLG_H_ */ grub-customizer-5.1.0/src/View/Settings.hpp0000644000175000017500000001263013360360026020143 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SETTINGSDLG_H_ #define SETTINGSDLG_H_ #include #include "../lib/Trait/LoggerAware.hpp" /** * Interface to be implemented by settings dialogs */ class View_Settings : public Trait_LoggerAware { public: std::function onDefaultSystemChange; std::function onCustomSettingChange; std::function onAddCustomSettingClick; std::function onRemoveCustomSettingClick; std::function onShowMenuSettingChange; std::function onOsProberSettingChange; std::function onTimeoutSettingChange; std::function onKernelParamsChange; std::function onRecoverySettingChange; std::function onCustomResolutionChange; std::function onUseCustomResolutionChange; std::function onHide; virtual inline ~View_Settings() {}; enum DefEntryType { DEF_ENTRY_PREDEFINED, DEF_ENTRY_SAVED }; struct CustomOption { std::string name, old_name, value; bool isActive; }; //show this dialog virtual void show()=0; //hide this dialog virtual void hide()=0; //reads the selection row from the custom options list virtual std::string getSelectedCustomOption()=0; //adds an entry to the end of the default entry chooser virtual void addEntryToDefaultEntryChooser(std::string const& value, std::string const& label)=0; //removes all items from the default entry chooser virtual void clearDefaultEntryChooser()=0; //removes all item from the resolution chooser virtual void clearResolutionChooser()=0; //adds an item to the end of the resolution chooser virtual void addResolution(std::string const& resolution)=0; //gets the name of the default menu entry virtual std::string getSelectedDefaultGrubValue()=0; //adds an option the the generic setting list virtual void addCustomOption(bool isActive, std::string const& name, std::string const& value)=0; //select the specified custom option entry virtual void selectCustomOption(std::string const& name)=0; //removes all generic setting rows virtual void removeAllSettingRows()=0; //reads the given generic option virtual CustomOption getCustomOption(std::string const& name)=0; //sets which type of default entry to use virtual void setActiveDefEntryOption(DefEntryType option)=0; //determines which type of default entry should be used virtual DefEntryType getActiveDefEntryOption()=0; //sets the default entry virtual void setDefEntry(std::string const& defEntry)=0; //sets whether the show menu checkbox should be active or not virtual void setShowMenuCheckboxState(bool isActive)=0; //determines whether the show menu checkbox is active or not virtual bool getShowMenuCheckboxState()=0; //sets whether the os-prober checkbox should be active or not virtual void setOsProberCheckboxState(bool isActive)=0; //sets whether the os-prober checkbox is active or not virtual bool getOsProberCheckboxState()=0; //shows the information about a conflict between os-prober and hidden menus virtual void showHiddenMenuOsProberConflictMessage()=0; //sets the grub menu timeout virtual void setTimeoutValue(int value)=0; //sets weather the grub menu timeout is active virtual void setTimeoutActive(bool active)=0; //reads the grub menu timeout virtual int getTimeoutValue()=0; //reads the grub menu timeout as string virtual std::string getTimeoutValueString()=0; //says wheather the timeout checkbox is activates virtual bool getTimeoutActive()=0; //sets kernel params virtual void setKernelParams(std::string const& params)=0; //reads kernel params virtual std::string getKernelParams()=0; //sets whether the recovery checkbox should be active or not virtual void setRecoveryCheckboxState(bool isActive)=0; //determines whether the recovery checkbox is active or not virtual bool getRecoveryCheckboxState()=0; //sets whether the resolution should be active or not virtual void setResolutionCheckboxState(bool isActive)=0; //determines whether the resolution is active or not virtual bool getResolutionCheckboxState()=0; //sets the selected resolution virtual void setResolution(std::string const& resolution)=0; //reads the selected resolution virtual std::string getResolution()=0; }; #endif grub-customizer-5.1.0/src/View/EnvEditor.hpp0000644000175000017500000000554413360360026020250 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUBENVEDITOR_H_ #define GRUBENVEDITOR_H_ #include #include #include "../lib/Trait/LoggerAware.hpp" #include "../Model/DeviceDataListInterface.hpp" class View_EnvEditor : public Trait_LoggerAware, public Model_DeviceDataListInterface_Connection { public: virtual inline ~View_EnvEditor() {}; std::function onMountSubmountpointClick; std::function onUmountSubmountpointClick; std::function onSwitchPartition; std::function onSwitchBootloaderType; std::function onOptionChange; std::function onApplyClick; std::function onExitClick; enum MountExceptionType { MOUNT_FAILED, UMOUNT_FAILED, MOUNT_ERR_NO_FSTAB, SUB_MOUNT_FAILED, SUB_UMOUNT_FAILED }; virtual void show(bool resetPartitionChooser = false) = 0; virtual void hide() = 0; virtual void removeAllSubmountpoints() = 0; virtual void addSubmountpoint(std::string const& name, bool isActive) = 0; virtual void setEnvSettings(std::map const& props, std::list const& requiredProps, std::list const& validProps) = 0; virtual std::map getEnvSettings() = 0; virtual void setRootDeviceName(std::string const& rootDeviceName) = 0; virtual int getBootloaderType() const = 0; virtual void setSubmountpointSelectionState(std::string const& submountpoint, bool new_isSelected) = 0; virtual void showErrorMessage(MountExceptionType type)=0; }; #endif /* GRUBENVEDITOR_H_ */ grub-customizer-5.1.0/src/View/Installer.hpp0000644000175000017500000000343113360360026020277 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUBINSTALLDLG_H_ #define GRUBINSTALLDLG_H_ #include #include "../lib/Trait/LoggerAware.hpp" /** * Interface for dialogs which helps users to install grub into the MBR */ class View_Installer : public Trait_LoggerAware { public: std::function onInstallClick; virtual inline ~View_Installer() {}; //show this dialog virtual void show()=0; //show the information that grub has been installed completely virtual void showMessageGrubInstallCompleted(std::string const& msg)=0; }; #endif grub-customizer-5.1.0/src/View/Trash.hpp0000644000175000017500000000502713360360026017426 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRYADDDLG_H_ #define ENTRYADDDLG_H_ #include #include #include #include "../lib/Type.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "Model/ListItem.hpp" /** * Interface to be implemented by dialogs which lets the user adding scripts */ class View_Trash : public Trait_LoggerAware { public: virtual inline ~View_Trash() {}; std::function onRestore; std::function onDeleteClick; std::function const& selectedEntries)> onSelectionChange; //clear the script menu virtual void clear()=0; //gets the index of the selected script item virtual std::list getSelectedEntries()=0; //adds a new item virtual void addItem(View_Model_ListItem const& listItem)=0; //whether to active the delete button virtual void setDeleteButtonEnabled(bool val) = 0; //show this dialog virtual void show()=0; //thise this dialog virtual void hide()=0; virtual void askForDeletion(std::list const& names) = 0; virtual void setOptions(std::map const& viewOptions) = 0; virtual void selectEntries(std::list const& entries) = 0; virtual void setRestoreButtonSensitivity(bool sensitivity) = 0; virtual void setDeleteButtonVisibility(bool visibility) = 0; }; #endif grub-customizer-5.1.0/src/View/Model/0000755000175000017500000000000013360360026016670 5ustar danieldanielgrub-customizer-5.1.0/src/View/Model/ListItem.hpp0000644000175000017500000000374213360360026021141 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef MODEL_VIEW_LISTITEM_H_INCLUDED #define MODEL_VIEW_LISTITEM_H_INCLUDED #include #include template struct View_Model_ListItem { std::string name; TItem* entryPtr; TWrapper* scriptPtr; bool is_placeholder; bool is_submenu; std::string scriptName; std::string defaultName; bool isEditable; bool isModified; std::map options; bool isVisible; TItem* parentEntry; TWrapper* parentScript; View_Model_ListItem() : entryPtr(NULL), scriptPtr(NULL), parentEntry(NULL), parentScript(NULL), is_placeholder(false), is_submenu(false), isEditable(false), isModified(false), isVisible(false) {} }; #endif /* MODEL_VIEW_LISTITEM_H_INCLUDED */ grub-customizer-5.1.0/src/View/Error.hpp0000644000175000017500000000303113360360026017427 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ERROR_H_ #define ERROR_H_ #include #include class View_Error { public: std::function onQuitClick; virtual inline ~View_Error(){} virtual void showErrorMessage(std::string const& errorMessage, bool allowContinue) = 0; }; #endif /* ERROR_H_ */ grub-customizer-5.1.0/src/View/Main.hpp0000644000175000017500000001445513360360026017236 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUBLISTCFGDLG_H_ #define GRUBLISTCFGDLG_H_ #include #include #include #include #include "../lib/Type.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "Model/ListItem.hpp" #include /** * Interface for dialogs which lets the user control the grub list */ class View_Main : public Trait_LoggerAware { public: virtual inline ~View_Main() {}; std::function rules, bool force)> onRemoveRulesClick; std::function onShowSettingsClick; std::function onReloadClick; std::function onSaveClick; std::function onShowEnvEditorClick; std::function onShowInstallerClick; std::function childItems)> onCreateSubmenuClick; std::function childItems)> onRemoveSubmenuClick; std::function onShowEntryEditorClick; std::function onShowEntryCreatorClick; std::function onShowAboutClick; std::function onExitClick; std::function onRenameClick; std::function onRevertClick; std::function rules, int direction)> onMoveClick; std::function onCancelBurgSwitcherClick; std::function onInitModeClick; std::function onRuleSelection; std::function onTabChange; std::function onViewOptionChange; std::function onEntryStateChange; std::function selectedRules)> onSelectionChange; //show this dialog without waiting virtual void show()=0; //hide this dialog virtual void hide() = 0; //show this dialog and wait until the window has been closed virtual void run()=0; //hide this window and close the whole application virtual void close()=0; //show the dialog which lets the user choose burg or grub virtual void showBurgSwitcher()=0; //hide the dialog which lets the user choose burg or grub virtual void hideBurgSwitcher()=0; //returns whether the list configuration window is visible at the moment virtual bool isVisible()=0; //notifies the window about which mode is used (grub<>burg) virtual void setIsBurgMode(bool isBurgMode)=0; //determines what users should be able to do and what not virtual void setLockState(int state)=0; virtual void updateLockState() = 0; //set the progress of the actual action (loading/saving) to be showed as progress bar for example virtual void setProgress(double progress)=0; //pulse the progress virtual void progress_pulse()=0; //hide the progress bar, will be executed after loading has been completed virtual void hideProgressBar()=0; //sets the text to be showed inside the status bar virtual void setStatusText(std::string const& new_status_text)=0; virtual void setStatusText(std::string const& name, int pos, int max)=0; //add entry to the end of the last script of the list virtual void appendEntry(View_Model_ListItem const& listItem)=0; //notifies the user about the problem that no grublistcfg_proxy has been found virtual void showProxyNotFoundMessage()=0; //creates a string for an other entry placeholder virtual std::string createNewEntriesPlaceholderString(std::string const& parentMenu)=0; //creates the string for plaintexts virtual std::string createPlaintextString() const=0; //asks the user if he wants to exit the whole application virtual int showExitConfirmDialog(int type)=0; //show the given error message virtual void showErrorMessage(std::string const& msg)=0; virtual void showConfigSavingError(std::string const& message) = 0; //shows an error message including an option for changing the environment virtual bool askForEnvironmentSettings(std::string const& failedCmd, std::string const& errorMessage) = 0; //remove everything from the list virtual void clear()=0; //asks the user whether the current config should be dropped while another action is started virtual bool confirmUnsavedSwitch() = 0; //assigns a new name to the rule item virtual void setRuleName(Rule* rule, std::string const& newName)=0; //select the given rule virtual void selectRule(Rule* rule, bool startEdit = false)=0; // select multiple rules virtual void selectRules(std::list rules)=0; // set whether the trash pane should be visible virtual void setTrashPaneVisibility(bool value) = 0; // show the warning that config has changed to propose a reload virtual void showReloadRecommendation() = 0; // hide the warning that config has changed to propose a reload virtual void hideReloadRecommendation() = 0; virtual void showPlaintextRemoveWarning() = 0; virtual void showScriptUpdateInfo() = 0; virtual void hideScriptUpdateInfo() = 0; virtual void showSystemRuleRemoveWarning() = 0; virtual void setOption(ViewOption option, bool value) = 0; virtual std::map const& getOptions() = 0; virtual void setOptions(std::map const& options) = 0; virtual void setEntryVisibility(Rule* entry, bool value) = 0; }; #endif grub-customizer-5.1.0/src/View/ColorChooser.hpp0000644000175000017500000000326113360360026020744 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef COLOR_CHOOSER_INCLUDED #define COLOR_CHOOSER_INCLUDED #include /** * base class to be implemented by color chooser controls */ class View_ColorChooser { public: virtual inline ~View_ColorChooser() {}; //choose one of the colors provided by this control virtual void selectColor(std::string const& codeName)=0; //determine which color is currently selected virtual std::string getSelectedColor() const=0; }; #endif grub-customizer-5.1.0/src/View/Gtk/0000755000175000017500000000000013360360026016355 5ustar danieldanielgrub-customizer-5.1.0/src/View/Gtk/Trash.hpp0000644000175000017500000001565313360360026020161 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRY_ADD_DLG_INCLUDED #define ENTRY_ADD_DLG_INCLUDED #include "../Trash.hpp" #include #include #include "../../lib/Type.hpp" #include "Element/List.hpp" class View_Gtk_Trash : public Gtk::Window, public View_Trash { private: Gtk::ScrolledWindow scrEntryBox; private: View_Gtk_Element_List list; private: Gtk::Frame frmList; private: Gtk::VBox vbList; private: Gtk::HBox hbList; private: Gtk::Button bttRestore; private: Gtk::Button bttDelete; private: std::map options; private: Gtk::MenuItem miContext; private: Gtk::Menu contextMenu; private: Gtk::ImageMenuItem micRestore; private: Gtk::ImageMenuItem micDelete; private: bool event_lock = false; public: View_Gtk_Trash() : micRestore(Gtk::Stock::ADD), bttRestore(Gtk::Stock::UNDELETE), bttDelete(Gtk::Stock::DELETE), micDelete(Gtk::Stock::DELETE) { this->set_title(gettext("Add entry from trash")); this->set_icon_name("grub-customizer"); this->set_default_size(650, 500); this->add(frmList); frmList.set_label(gettext("Removed items")); frmList.set_shadow_type(Gtk::SHADOW_NONE); frmList.add(vbList); vbList.pack_start(scrEntryBox); vbList.pack_start(hbList, Gtk::PACK_SHRINK); hbList.pack_start(bttRestore); hbList.pack_start(bttDelete); scrEntryBox.add(list); scrEntryBox.set_min_content_width(250); bttRestore.set_label(gettext("_Restore")); bttRestore.set_use_underline(true); bttRestore.set_tooltip_text(gettext("Restore selected entries")); bttRestore.set_border_width(5); bttRestore.set_sensitive(false); bttDelete.set_border_width(5); bttDelete.set_tooltip_text(gettext("permanently delete selected entries")); bttDelete.set_no_show_all(true); list.set_tooltip_column(1); list.ellipsizeMode = Pango::ELLIPSIZE_END; this->micDelete.set_sensitive(false); this->micDelete.set_tooltip_text(gettext("delete entries permanently - this action is available on custom entries only")); this->miContext.set_submenu(this->contextMenu); this->contextMenu.attach(this->micRestore, 0, 1, 0, 1); this->contextMenu.attach(this->micDelete, 0, 1, 1, 2); this->list.get_selection()->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Trash::signal_treeview_selection_changed)); this->list.signal_row_activated().connect(sigc::mem_fun(this, &View_Gtk_Trash::signal_item_dblClick)); this->list.signal_button_press_event().connect_notify(sigc::mem_fun(this, &View_Gtk_Trash::signal_button_press)); this->list.signal_popup_menu().connect(sigc::mem_fun(this, &View_Gtk_Trash::signal_popup)); this->micRestore.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Trash::restore_button_click)); this->bttRestore.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Trash::restore_button_click)); this->micDelete.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Trash::delete_button_click)); this->bttDelete.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Trash::delete_button_click)); } private: void signal_item_dblClick(Gtk::TreeModel::Path const& path, Gtk::TreeViewColumn* column) { this->list.get_selection()->unselect_all(); this->list.get_selection()->select(path); this->onRestore(); this->hide(); } private: void restore_button_click() { this->onRestore(); } private: void delete_button_click() { this->onDeleteClick(); } public: void clear() { event_lock = true; list.refTreeStore->clear(); event_lock = false; } public: std::list getSelectedEntries() { std::list result; std::vector pathes = list.get_selection()->get_selected_rows(); for (std::vector::iterator pathIter = pathes.begin(); pathIter != pathes.end(); pathIter++) { Gtk::TreeModel::iterator elementIter = list.refTreeStore->get_iter(*pathIter); result.push_back((*elementIter)[list.treeModel.relatedRule]); } return result; } private: void addItem(View_Model_ListItem const& listItem) { this->list.addListItem(listItem, this->options, *this); } private: void setDeleteButtonEnabled(bool val) { this->bttDelete.set_visible(val); } public: void show() { this->show_all(); this->miContext.show_all(); } public: void hide() { this->Gtk::Window::hide(); } public: void askForDeletion(std::list const& names) { Glib::ustring question = gettext("This deletes the following entries:"); question += "\n"; for (std::list::const_iterator iter = names.begin(); iter != names.end(); iter++) { question += *iter + "\n"; } int response = Gtk::MessageDialog(question, false, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK_CANCEL).run(); if (response == Gtk::RESPONSE_OK) { this->onDeleteClick(); } } public: Gtk::Widget& getList() { this->remove(); return this->frmList; } public: void setDeleteButtonVisibility(bool visibility) { bttDelete.set_visible(visibility); micDelete.set_sensitive(visibility); } public: void setOptions(std::map const& viewOptions) { this->options = viewOptions; } public: void selectEntries(std::list const& entries) { this->list.selectRules(entries); } public: void setRestoreButtonSensitivity(bool sensitivity) { this->bttRestore.set_sensitive(sensitivity); } private: void signal_treeview_selection_changed() { if (!event_lock) { this->onSelectionChange(this->list.getSelectedRules()); } } private: void signal_button_press(GdkEventButton *event) { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { contextMenu.show_all(); contextMenu.popup(event->button, event->time); } } private: bool signal_popup() { contextMenu.show_all(); contextMenu.popup(0, gdk_event_get_time(nullptr)); return true; } }; #endif grub-customizer-5.1.0/src/View/Gtk/Main.hpp0000644000175000017500000012466613360360026017771 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUBLIST_CFG_DLG_GTK_INCLUDED #define GRUBLIST_CFG_DLG_GTK_INCLUDED #include "../Main.hpp" #include #include #include "../../config.hpp" #include "../../lib/Helper.hpp" #include "../../lib/Type.hpp" #include "Element/List.hpp" #include "Settings.hpp" class ImageMenuItemOwnKey : public Gtk::ImageMenuItem { public: ImageMenuItemOwnKey(const Gtk::StockID& id, const Gtk::AccelKey& accel_key) : Gtk::ImageMenuItem(id) { set_accel_key(accel_key); } }; class View_Gtk_Main : public View_Main { private: Gtk::Window win; private: Gtk::VBox vbMainSplit; private: Gtk::Notebook notebook; private: Gtk::MenuBar menu; private: Gtk::Toolbar toolbar; private: Gtk::ScrolledWindow scrEntryList; private: Gtk::InfoBar infoReloadRequired; private: Gtk::Label lblReloadRequired; private: Gtk::InfoBar infoScriptUpdatesFound; private: Gtk::Label lblScriptUpdatesFound; private: Gtk::ScrolledWindow scrCommonSettings, scrAppearanceSettings; private: Gtk::VBox vbEntryList; private: Gtk::Statusbar statusbar; private: View_Gtk_Element_List tvConfList; private: Gtk::ProgressBar progressBar; private: Gtk::HPaned hpLists; private: Gtk::Widget* trashList = nullptr; private: Gtk::ToolButton tbttRemove, tbttUp, tbttDown, tbttSave, tbttReload, tbttLeft, tbttRight, tbttEditEntry, tbttRevert, tbttCreateEntry; private: Gtk::ToolItem ti_sep1; private: Gtk::VSeparator vs_sep1; private: Gtk::ToolItem ti_sep2; private: Gtk::VSeparator vs_sep2; private: Gtk::ToolItem ti_sep3; private: Gtk::VSeparator vs_sep3; private: Gtk::ToolItem ti_sep4; private: Gtk::VSeparator vs_sep4; private: Gtk::SeparatorToolItem ti_sep5; private: Gtk::MenuItem miFile, miEdit, miView, miHelp, miInstallGrub, miContext, miCAboutEntryTypes, miAboutEntryTypes; private: Gtk::ImageMenuItem miExit, miSave, miAbout, miModifyEnvironment, miRevert, miCreateEntry; private: ImageMenuItemOwnKey miReload, miRemove, miUp, miDown, miLeft, miRight, miEditEntry; private: Gtk::ImageMenuItem miCRemove, miCUp, miCDown, miCLeft, miCRight, miCRename, miCEditEntry; private: Gtk::CheckMenuItem miShowDetails, miShowHiddenEntries, miGroupByScript, miShowPlaceholders; private: Gtk::Menu subFile, subEdit, subView, subHelp, contextMenu; private: Gtk::VBox settingsHBox; private: bool lock_state; private: std::map options; private: Gtk::MessageDialog burgSwitcher; private: Gtk::Button bttAdvancedSettings1, bttAdvancedSettings2; private: Gtk::HButtonBox bbxAdvancedSettings1, bbxAdvancedSettings2; public: View_Gtk_Main() : tbttRemove(Gtk::Stock::REMOVE), tbttUp(Gtk::Stock::GO_UP), tbttDown(Gtk::Stock::GO_DOWN), tbttLeft(Gtk::Stock::GO_BACK), tbttRight(Gtk::Stock::GO_FORWARD), tbttSave(Gtk::Stock::SAVE), tbttEditEntry(Gtk::Stock::EDIT), miFile(gettext("_File"), true), miExit(Gtk::Stock::QUIT), tbttReload(Gtk::Stock::REFRESH), tbttRevert(Gtk::Stock::REVERT_TO_SAVED), tbttCreateEntry(Gtk::Stock::NEW), miEdit(gettext("_Edit"), true), miView(gettext("_View"), true), miHelp(gettext("_Help"), true), miInstallGrub(gettext("_Install to MBR …"), true), miRemove(Gtk::Stock::REMOVE, Gtk::AccelKey('-', Gdk::CONTROL_MASK)), miUp(Gtk::Stock::GO_UP, Gtk::AccelKey('u', Gdk::CONTROL_MASK)), miDown(Gtk::Stock::GO_DOWN, Gtk::AccelKey('d', Gdk::CONTROL_MASK)), miLeft(Gtk::Stock::GO_BACK, Gtk::AccelKey('l', Gdk::CONTROL_MASK)), miRight(Gtk::Stock::GO_FORWARD, Gtk::AccelKey('r', Gdk::CONTROL_MASK)), miEditEntry(Gtk::Stock::EDIT, Gtk::AccelKey('e', Gdk::CONTROL_MASK)), miCRemove(Gtk::Stock::REMOVE), miCUp(Gtk::Stock::GO_UP), miCDown(Gtk::Stock::GO_DOWN), miCLeft(Gtk::Stock::GO_BACK), miCRight(Gtk::Stock::GO_FORWARD), miCRename(Gtk::Stock::EDIT), miCEditEntry(Gtk::Stock::EDIT), miReload(Gtk::Stock::REFRESH, Gtk::AccelKey("F5")), miSave(Gtk::Stock::SAVE), miAbout(Gtk::Stock::ABOUT), miModifyEnvironment(Gtk::Stock::OPEN), miRevert(Gtk::Stock::REVERT_TO_SAVED), miAboutEntryTypes("About the entry types…"), miCAboutEntryTypes("About the entry types…"), miCreateEntry(Gtk::Stock::NEW), miShowDetails(gettext("_Show details"), true), miShowHiddenEntries(gettext("Show _hidden entries"), true), miGroupByScript(gettext("_Group by Script"), true), miShowPlaceholders(gettext("Show _Placeholders"), true), lock_state(~0), burgSwitcher(gettext("BURG found!"), false, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO), bttAdvancedSettings1(gettext("advanced settings")), bttAdvancedSettings2(gettext("advanced settings")), bbxAdvancedSettings1(Gtk::BUTTONBOX_END), bbxAdvancedSettings2(Gtk::BUTTONBOX_END), lblReloadRequired(gettext("The modifications you've done affects the visible entries. Please reload!"), Pango::ALIGN_LEFT), lblScriptUpdatesFound(gettext("Script updates found. Click save to apply the changes!"), Pango::ALIGN_LEFT) { win.set_icon_name("grub-customizer"); win.set_default_size(900,600); win.add(vbMainSplit); vbMainSplit.pack_start(menu, Gtk::PACK_SHRINK); vbMainSplit.pack_start(toolbar, Gtk::PACK_SHRINK); vbMainSplit.pack_start(notebook); vbMainSplit.pack_start(statusbar, Gtk::PACK_SHRINK); notebook.append_page(hpLists, gettext("_List configuration"), true); hpLists.pack1(vbEntryList, Gtk::FILL | Gtk::EXPAND); vbEntryList.pack_start(infoReloadRequired, Gtk::PACK_SHRINK); vbEntryList.pack_start(infoScriptUpdatesFound, Gtk::PACK_SHRINK); vbEntryList.pack_start(scrEntryList); scrEntryList.add(tvConfList); statusbar.add(progressBar); scrEntryList.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scrEntryList.set_shadow_type(Gtk::SHADOW_IN); infoReloadRequired.set_message_type(Gtk::MESSAGE_WARNING); infoReloadRequired.add_button(Gtk::Stock::REFRESH, Gtk::RESPONSE_APPLY); dynamic_cast(*infoReloadRequired.get_content_area()).add(lblReloadRequired); infoReloadRequired.set_no_show_all(true); infoScriptUpdatesFound.set_message_type(Gtk::MESSAGE_INFO); lblScriptUpdatesFound.set_line_wrap(true); dynamic_cast(*infoScriptUpdatesFound.get_content_area()).add(lblScriptUpdatesFound); infoScriptUpdatesFound.set_no_show_all(true); progressBar.set_pulse_step(0.1); //toolbar toolbar.append(tbttSave); Glib::RefPtr context = toolbar.get_style_context(); context->add_class(GTK_STYLE_CLASS_PRIMARY_TOOLBAR); tbttSave.set_is_important(true); ti_sep1.add(vs_sep1); toolbar.append(ti_sep1); toolbar.append(tbttRemove); tbttRemove.set_tooltip_text(gettext("Remove selected entries (you can restore them from trash)")); tbttRemove.set_is_important(true); toolbar.append(tbttEditEntry); toolbar.append(tbttCreateEntry); ti_sep2.add(vs_sep2); toolbar.append(ti_sep2); toolbar.append(tbttUp); tbttUp.set_tooltip_text(gettext("Move up the selected entry or script")); toolbar.append(tbttDown); tbttDown.set_tooltip_text(gettext("Move down the selected entry or script")); ti_sep3.add(vs_sep3); toolbar.append(ti_sep3); toolbar.append(tbttLeft); tbttLeft.set_tooltip_text(gettext("remove this entry from the current submenu")); toolbar.append(tbttRight); tbttRight.set_tooltip_text(gettext("add this entry to a new submenu")); ti_sep4.add(vs_sep4); toolbar.append(ti_sep4); toolbar.append(tbttReload); toolbar.append(ti_sep5); ti_sep5.set_expand(true); ti_sep5.set_draw(false); vs_sep1.set_margin_top(5); vs_sep1.set_margin_bottom(5); vs_sep2.set_margin_top(5); vs_sep2.set_margin_bottom(5); vs_sep3.set_margin_top(5); vs_sep3.set_margin_bottom(5); vs_sep4.set_margin_top(5); vs_sep4.set_margin_bottom(5); toolbar.append(tbttRevert); tbttRevert.set_is_important(true); tbttRevert.set_tooltip_text(gettext("Reverts the list to the default order")); tbttReload.set_tooltip_text(gettext("reloads the configuration. Unsaved changes will be preserved.")); this->setLockState(3); this->options[VIEW_SHOW_DETAILS] = true; this->options[VIEW_SHOW_HIDDEN_ENTRIES] = false; this->options[VIEW_SHOW_PLACEHOLDERS] = false; this->options[VIEW_GROUP_BY_SCRIPT] = false; //menu menu.append(miFile); menu.append(miEdit); menu.append(miView); menu.append(miHelp); miFile.set_submenu(subFile); miEdit.set_submenu(subEdit); miView.set_submenu(subView); miHelp.set_submenu(subHelp); miContext.set_submenu(contextMenu); subFile.attach(miModifyEnvironment, 0,1,0,1); subFile.attach(miSave, 0,1,1,2); subFile.attach(miInstallGrub, 0,1,2,3); subFile.attach(miExit, 0,1,3,4); subEdit.attach(miRemove, 0,1,1,2); subEdit.attach(miUp, 0,1,2,3); subEdit.attach(miDown, 0,1,3,4); subEdit.attach(miLeft, 0,1,4,5); subEdit.attach(miRight, 0,1,5,6); subEdit.attach(miEditEntry, 0,1,6,7); subEdit.attach(miCreateEntry, 0,1,7,8); subEdit.attach(miRevert, 0,1,8,9); contextMenu.attach(miCRename, 0,1,0,1); contextMenu.attach(miCEditEntry, 0,1,1,2); contextMenu.attach(miCRemove, 0,1,2,3); contextMenu.attach(miCUp, 0,1,3,4); contextMenu.attach(miCDown, 0,1,4,5); contextMenu.attach(miCLeft, 0,1,5,6); contextMenu.attach(miCRight, 0,1,6,7); contextMenu.attach(miCAboutEntryTypes, 0,1,7,8); miCRename.set_label(gettext("Rename")); miUp.set_label(gettext("Move up")); miCUp.set_label(gettext("Move up")); miDown.set_label(gettext("Move down")); miCDown.set_label(gettext("Move down")); miLeft.set_label(gettext("Remove from submenu")); miCLeft.set_label(gettext("Remove from submenu")); miRight.set_label(gettext("Create submenu")); miCRight.set_label(gettext("Create submenu")); subView.attach(miReload, 0,1,0,1); subView.attach(miShowDetails, 0, 1, 1, 2); subView.attach(miShowHiddenEntries, 0, 1, 2, 3); subView.attach(miGroupByScript, 0, 1, 3, 4); subView.attach(miShowPlaceholders, 0, 1, 4, 5); miShowDetails.set_active(true); miShowHiddenEntries.set_active(false); subHelp.attach(miAboutEntryTypes, 0,1,0,1); subHelp.attach(miAbout, 0,1,1,2); miModifyEnvironment.set_label(gettext("_Change Environment …")); miModifyEnvironment.set_use_underline(true); //burg switcher burgSwitcher.set_skip_taskbar_hint(false); burgSwitcher.set_title("Grub Customizer"); burgSwitcher.set_icon_name("grub-customizer"); burgSwitcher.set_secondary_text(gettext("Do you want to configure BURG instead of grub2?")); burgSwitcher.set_default_response(Gtk::RESPONSE_YES); //signals tbttUp.signal_clicked().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Main::signal_move_click),-1)); tbttDown.signal_clicked().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Main::signal_move_click),1)); tvConfList.get_selection()->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_treeview_selection_changed)); tvConfList.textRenderer.signal_editing_started().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_edit_name)); tvConfList.textRenderer.signal_edited().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_edit_name_finished)); tvConfList.toggleRenderer.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_checkbox_toggled)); tvConfList.signal_button_press_event().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_button_press), false); tvConfList.signal_popup_menu().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_popup)); tvConfList.signal_key_press_event().connect_notify(sigc::mem_fun(this, &View_Gtk_Main::signal_key_press)); tbttSave.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::saveConfig)); tbttRemove.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_remove_click)); tbttLeft.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_move_left_click)); tbttRight.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_move_right_click)); tbttReload.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_reload_click)); tbttEditEntry.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_entry_edit_click)); tbttCreateEntry.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_entry_create_click)); tbttRevert.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_revert)); bttAdvancedSettings1.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_preference_click)); bttAdvancedSettings2.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_preference_click)); miUp.signal_activate().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Main::signal_move_click),-1)); miCUp.signal_activate().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Main::signal_move_click),-1)); miDown.signal_activate().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Main::signal_move_click),1)); miCDown.signal_activate().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Main::signal_move_click),1)); miLeft.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_move_left_click)); miCLeft.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_move_left_click)); miRight.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_move_right_click)); miCRight.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_move_right_click)); miSave.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::saveConfig)); miEditEntry.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_entry_edit_click)); miCEditEntry.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_entry_edit_click)); miCreateEntry.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_entry_create_click)); miRemove.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_remove_click)); miCRemove.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_remove_click)); miCRename.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_rename_click)); miReload.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_reload_click)); miInstallGrub.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_show_grub_install_dialog_click)); miModifyEnvironment.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_show_envEditor)); miRevert.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_revert)); miShowDetails.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_viewopt_details_toggled)); miShowHiddenEntries.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_viewopt_checkboxes_toggled)); miGroupByScript.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_viewopt_script_toggled)); miShowPlaceholders.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_viewopt_placeholders_toggled)); miAboutEntryTypes.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_entry_type_help_click)); miCAboutEntryTypes.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_entry_type_help_click)); miExit.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_quit_click)); miAbout.signal_activate().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_info_click)); burgSwitcher.signal_response().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_burg_switcher_response)); infoReloadRequired.signal_response().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_reload_recommendation_response)); win.signal_delete_event().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_delete_event)); notebook.signal_switch_page().connect(sigc::mem_fun(this, &View_Gtk_Main::signal_tab_changed)); } public: void putSettingsDialog(Gtk::VBox& commonSettingsPane, Gtk::VBox& appearanceSettingsPane) { // notebook.append_page(this->settingsHBox, "_settings", true); commonSettingsPane.set_border_width(20); notebook.append_page(scrCommonSettings, gettext("_General settings"), true); scrCommonSettings.add(commonSettingsPane); scrCommonSettings.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); commonSettingsPane.pack_end(bbxAdvancedSettings1, false, false); bbxAdvancedSettings1.pack_end(bttAdvancedSettings1); appearanceSettingsPane.set_border_width(5); notebook.append_page(scrAppearanceSettings, gettext("_Appearance settings"), true); scrAppearanceSettings.add(appearanceSettingsPane); scrAppearanceSettings.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); appearanceSettingsPane.pack_end(bbxAdvancedSettings2, false, false); bbxAdvancedSettings2.pack_end(bttAdvancedSettings2); } public: void putTrashList(Gtk::Widget& trashList) { hpLists.pack2(trashList, Gtk::FILL); this->trashList = &trashList; } public: void show() { win.show_all(); miContext.show_all(); assert(trashList != nullptr); trashList->hide(); } public: void hide() { win.hide(); } public: void run() { this->show(); Gtk::Main::run(win); } public: void close(){ win.hide(); Gtk::Main::quit(); } public: void showBurgSwitcher() { burgSwitcher.show(); } public: void hideBurgSwitcher() { burgSwitcher.hide(); } public: bool isVisible() { return win.get_visible(); } public: void setIsBurgMode(bool isBurgMode) { if (isBurgMode) win.set_title("Grub Customizer (" + Glib::ustring(gettext("BURG Mode")) + ")"); else win.set_title("Grub Customizer"); tbttSave.set_tooltip_text(Glib::ustring::compose(gettext("Save configuration and generate a new %1"), isBurgMode ? "burg.cfg" : "grub.cfg")); } public: void setLockState(int state) { //state(bin): // 0: lock nothing // 1: lock normal items/buttons // 2: lock grub-install // 4: lock partition chooser // 8: lock settings dialog this->lock_state = state; this->updateLockState(); } public: void updateLockState() { int state = this->lock_state; bool isListView = this->notebook.get_current_page() == 0; tbttSave.set_sensitive((state & 1) == 0); miSave.set_sensitive((state & 1) == 0); tbttUp.set_sensitive((state & 1) == 0 && isListView); miUp.set_sensitive((state & 1) == 0 && isListView); miCUp.set_sensitive((state & 1) == 0 && isListView); tbttDown.set_sensitive((state & 1) == 0 && isListView); miDown.set_sensitive((state & 1) == 0 && isListView); miCDown.set_sensitive((state & 1) == 0 && isListView); tbttLeft.set_sensitive((state & 1) == 0 && isListView); miLeft.set_sensitive((state & 1) == 0 && isListView); miCLeft.set_sensitive((state & 1) == 0 && isListView); tbttRight.set_sensitive((state & 1) == 0 && isListView); miRight.set_sensitive((state & 1) == 0 && isListView); miCRight.set_sensitive((state & 1) == 0 && isListView); tbttEditEntry.set_sensitive((state & 1) == 0 && isListView); miEditEntry.set_sensitive((state & 1) == 0 && isListView); miCEditEntry.set_sensitive((state & 1) == 0 && isListView); tbttRemove.set_sensitive((state & 1) == 0 && isListView); miRemove.set_sensitive((state & 1) == 0 && isListView); miCRemove.set_sensitive((state & 1) == 0 && isListView); miCRename.set_sensitive((state & 1) == 0 && isListView); tbttReload.set_sensitive((state & 1) == 0); miReload.set_sensitive((state & 1) == 0); tbttRevert.set_sensitive((state & 1) == 0 && isListView); miRevert.set_sensitive((state & 1) == 0 && isListView); miModifyEnvironment.set_sensitive((state & 4) == 0); bttAdvancedSettings1.set_sensitive((state & 8) == 0); bttAdvancedSettings1.set_sensitive((state & 8) == 0); tvConfList.set_sensitive((state & 1) == 0); if (this->trashList) { this->trashList->set_sensitive((state & 1) == 0); } miCreateEntry.set_sensitive((state & 1) == 0 && isListView); tbttCreateEntry.set_sensitive((state & 1) == 0 && isListView); miInstallGrub.set_sensitive((state & 2) == 0); if ((state & 1) == 0 && isListView) { this->updateButtonsState(); } } public: void setProgress(double progress) { progressBar.set_fraction(progress); progressBar.show(); statusbar.show(); } public: void progress_pulse() { progressBar.pulse(); progressBar.show(); statusbar.show(); } public: void hideProgressBar() { statusbar.hide(); } public: void setStatusText(std::string const& new_status_text) { statusbar.push(new_status_text); } public: void setStatusText(std::string const& name, int pos, int max) { if (name == "") { statusbar.push(gettext("loading configuration…")); } else { statusbar.push(Glib::ustring::compose(gettext("loading script %2/%3 (%1)"), name, pos, max)); } } public: void appendEntry(View_Model_ListItem const& listItem) { this->tvConfList.addListItem(listItem, this->options, this->win); tvConfList.expand_all(); } public: void showProxyNotFoundMessage() { Gtk::MessageDialog msg(gettext("Proxy binary not found!"), false, Gtk::MESSAGE_WARNING); msg.set_secondary_text(gettext("You will see all entries (uncustomized) when you run grub. This error accurs (in most cases), when you didn't install grub gustomizer currectly.")); msg.run(); } public: std::string createNewEntriesPlaceholderString(std::string const& parentMenu) { if (parentMenu != "") { return Glib::ustring::compose(gettext("(incoming Entries of %1)"), parentMenu); } else { return gettext("(incoming Entries)"); } } public: std::string createPlaintextString() const { return gettext("(script code)"); } /** * @param type int: which type of dialog to show (1: changes unsaved, 2: conf not up to date, 3: 1 + 2) * @return int: type of the answer: 0: cancel, 1: yes, 2: no */ public: int showExitConfirmDialog(int type) { int dlgResponse = Gtk::RESPONSE_NO; if (type != 0){ Gtk::MessageDialog msgDlg("", false, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE); if (type & 2){ msgDlg.set_message(gettext("The saved configuration is not up to date!")); msgDlg.set_secondary_text(gettext("The generated configuration didn't equal to the saved configuration on startup. So what you see now may not be what you see when you restart your pc. To fix this, click update!")); Gtk::Button* btnQuit = msgDlg.add_button(Gtk::Stock::QUIT, Gtk::RESPONSE_NO); btnQuit->set_label(gettext("_Quit without update")); msgDlg.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); Gtk::Button* btnSave = msgDlg.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_YES); btnSave->set_label(gettext("_Update & Quit")); } if ((type & 1) && !(type & 2)){ msgDlg.property_message_type() = Gtk::MESSAGE_QUESTION; msgDlg.set_message(gettext("Do you want to save your modifications?")); Gtk::Button* btnQuit = msgDlg.add_button(Gtk::Stock::QUIT, Gtk::RESPONSE_NO); btnQuit->set_label(gettext("_Quit without saving")); msgDlg.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); Gtk::Button* btnSave = msgDlg.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_YES); btnSave->set_label(gettext("_Save & Quit")); } if ((type & 3) == 3){ msgDlg.set_secondary_text(msgDlg.property_secondary_text()+"\n\n"+gettext("AND: your modifications are still unsaved, update will save them too!")); } msgDlg.set_default_response(Gtk::RESPONSE_YES); dlgResponse = msgDlg.run(); } switch (dlgResponse){ case Gtk::RESPONSE_CANCEL: return 0; case Gtk::RESPONSE_YES: return 1; default: return 2; } } public: void showErrorMessage(std::string const& msg) { Gtk::MessageDialog(msg, false, Gtk::MESSAGE_ERROR).run(); } public: void showConfigSavingError(std::string const& message) { Gtk::MessageDialog dlg(gettext("Failed saving grub configuration!"), false, Gtk::MESSAGE_ERROR); dlg.set_title(gettext("The grub configuration cannot be saved")); dlg.set_secondary_text(Glib::ustring::compose(gettext("Please take a look at the command line output below. If you think this is a bug of Grub Customizer, please create one at %1! Generally Grub Customizer should prevent errors like this."), "https://launchpad.net/grub-customizer") + "\n\n" + message); dlg.run(); } public: bool askForEnvironmentSettings(std::string const& failedCmd, std::string const& errorMessage) { Glib::ustring msg = Glib::ustring::compose(gettext("%1 couldn't be executed successfully. error message:\n %2"), failedCmd, errorMessage); Gtk::MessageDialog dlg(msg, false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_NONE); dlg.add_button(gettext("Environment settings"), Gtk::RESPONSE_YES); dlg.add_button(Gtk::Stock::QUIT, Gtk::RESPONSE_CLOSE); dlg.set_default_response(Gtk::RESPONSE_CLOSE); int response = dlg.run(); return response == Gtk::RESPONSE_YES; } public: void clear() { tvConfList.refTreeStore->clear(); } public: bool confirmUnsavedSwitch() { Gtk::MessageDialog dlg(gettext("Do you want to proceed without saving the current configuration?"), false, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_YES_NO); dlg.set_title(gettext("There are unsaved modifications!")); dlg.set_default_response(Gtk::RESPONSE_YES); int response = dlg.run(); return response == Gtk::RESPONSE_YES; } public: void setRuleName(Rule* rule, std::string const& newName) { this->setLockState(~0); this->tvConfList.setRuleName(rule, newName); this->setLockState(0); } public: void selectRule(Rule* rule, bool startEdit = false) { this->tvConfList.selectRule(rule, startEdit); } public: void selectRules(std::list rules) { this->tvConfList.selectRules(rules); } public: void setTrashPaneVisibility(bool value) { this->trashList->set_visible(value); } public: void showReloadRecommendation() { this->infoReloadRequired.show(); this->lblReloadRequired.show(); } public: void hideReloadRecommendation() { this->infoReloadRequired.hide(); } public: void showScriptUpdateInfo() { this->infoScriptUpdatesFound.show(); this->lblScriptUpdatesFound.show(); } public: void hideScriptUpdateInfo() { this->infoScriptUpdatesFound.hide(); } public: void showPlaintextRemoveWarning() { Gtk::MessageDialog dlg(gettext("Removing Script Code can cause problems when trying to boot entries relying on it. Are you sure you want to do it anyway?"), false, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO); dlg.set_default_response(Gtk::RESPONSE_OK); int result = dlg.run(); if (result == Gtk::RESPONSE_YES) { this->onRemoveRulesClick(this->getSelectedRules(), true); } } public: void showSystemRuleRemoveWarning() { Gtk::MessageDialog dlg(gettext("You're trying to remove an entry of the currently running system. Make sure there are other working entries of this system!\nIf you just want to remove old kernels: The better way is uninstalling them instead of just hiding them in boot menu."), false, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_OK_CANCEL); dlg.set_default_response(Gtk::RESPONSE_OK); int result = dlg.run(); if (result == Gtk::RESPONSE_OK) { this->onRemoveRulesClick(this->getSelectedRules(), true); } } public: void setOption(ViewOption option, bool value) { int oldLockState = this->lock_state; this->setLockState(~0); this->options[option] = value; switch (option) { case VIEW_SHOW_DETAILS: this->miShowDetails.set_active(value); break; case VIEW_SHOW_HIDDEN_ENTRIES: this->miShowHiddenEntries.set_active(value); this->tvConfList.toggleRenderer.set_visible(value); this->tvConfList.pixbufRenderer.set_visible(!value); break; case VIEW_GROUP_BY_SCRIPT: this->miGroupByScript.set_active(value); break; case VIEW_SHOW_PLACEHOLDERS: this->miShowPlaceholders.set_active(value); break; default: throw LogicException("unexpected option"); } this->setLockState(oldLockState); } public: std::map const& getOptions() { return this->options; } public: void setOptions(std::map const& options) { for (std::map::const_iterator iter = options.begin(); iter != options.end(); iter++) { this->setOption(iter->first, iter->second); } } public: void setEntryVisibility(Rule* entry, bool value) { this->tvConfList.setEntryVisibility(entry, value); } //event handlers private: void signal_show_envEditor() { this->onShowEnvEditorClick(); } private: void signal_checkbox_toggled(Glib::ustring const& path) { if (!this->lock_state) { this->onEntryStateChange( (*this->tvConfList.refTreeStore->get_iter(path))[this->tvConfList.treeModel.relatedRule], !(*this->tvConfList.refTreeStore->get_iter(path))[this->tvConfList.treeModel.is_activated] ); } } private: void signal_edit_name_finished(const Glib::ustring& path, const Glib::ustring& new_text) { if (this->lock_state == 0){ Gtk::TreeModel::iterator iter = this->tvConfList.refTreeStore->get_iter(path); this->onRenameClick((Rule*)(*iter)[tvConfList.treeModel.relatedRule], new_text); } } //direction: -1: one position up, 1: one p. down private: void signal_move_click(int direction) { if (this->lock_state == 0){ assert(direction == 1 || direction == -1); //if rule swap this->onMoveClick(this->getSelectedRules(), direction); } } private: void signal_remove_click() { this->onRemoveRulesClick(this->getSelectedRules(), false); } private: void signal_rename_click() { if (this->lock_state == 0){ if (tvConfList.get_selection()->count_selected_rows()) { std::vector selectedRows = tvConfList.get_selection()->get_selected_rows(); Gtk::TreeModel::iterator iter = this->tvConfList.refTreeStore->get_iter(selectedRows[0]); // all entries must be not renamable while not selected to allow direct toggling of the checkboxes this->_rDisableRules(tvConfList.refTreeStore->children()); if (selectedRows.size() == 1) { (*this->tvConfList.refTreeStore->get_iter(selectedRows[0]))[this->tvConfList.treeModel.is_renamable] = (*this->tvConfList.refTreeStore->get_iter(selectedRows[0])).get_value(this->tvConfList.treeModel.is_renamable_real); } } this->onSelectionChange(this->getSelectedRules()); this->updateButtonsState(); } } private: void signal_reload_click() { this->onReloadClick(); } private: void signal_show_grub_install_dialog_click() { this->onShowInstallerClick(); } private: void signal_move_left_click() { this->onRemoveSubmenuClick(this->getSelectedRules()); } private: void signal_move_right_click() { this->onCreateSubmenuClick(this->getSelectedRules()); } private: void signal_treeview_selection_changed() { if (this->lock_state == 0){ if (tvConfList.get_selection()->count_selected_rows()) { std::vector selectedRows = tvConfList.get_selection()->get_selected_rows(); Gtk::TreeModel::iterator iter = this->tvConfList.refTreeStore->get_iter(selectedRows[0]); // all entries must be not renamable while not selected to allow direct toggling of the checkboxes this->_rDisableRules(tvConfList.refTreeStore->children()); if (selectedRows.size() == 1) { (*this->tvConfList.refTreeStore->get_iter(selectedRows[0]))[this->tvConfList.treeModel.is_renamable] = (*this->tvConfList.refTreeStore->get_iter(selectedRows[0])).get_value(this->tvConfList.treeModel.is_renamable_real); } } this->onSelectionChange(this->getSelectedRules()); this->updateButtonsState(); } } private: void signal_entry_edit_click() { std::list rules = this->getSelectedRules(); assert(rules.size() == 1); this->onShowEntryEditorClick(rules.front()); } private: void signal_entry_create_click() { this->onShowEntryCreatorClick(); } //return value: keep window open private: bool signal_delete_event(GdkEventAny* event) { this->onExitClick(); return true; } private: void signal_quit_click() { this->onExitClick(); } private: void signal_preference_click() { this->onShowSettingsClick(); } private: void signal_entry_type_help_click() { Gtk::MessageDialog helpDlg( Glib::ustring() + gettext("menuentry") + "\n" + gettext( "An menuentry which is visible at the grub menu and boots an operating system when activated.") + "\n\n" + gettext("submenu") + "\n" + gettext( "A group of other operating systems. Grub shows it as a normal menuentry however when clicking it, it loads " "another menu which allows you to choose one the the containing menuentries.") + "\n\n" + gettext("placeholder") + "\n" + gettext( "There are two types of this special entry: Incoming entries are the place where Grub Customizer places " "new operating systems which are found by grub but still not configured using Grub Customizer. " "The Script code is code generated by grub which doesn't look like an menuentry. " "In most cases it's used to configure grub. You should only touch it when knowing what it does. " "Placeholders are hidden by default.") + "\n\n" + gettext("script") + "\n" + gettext( "Scripts are generating menuentries. So every menuentry belongs to a script. They are shown as top level groups " "when activated. However in contrast to submenus they aren't shown at the boot menu."), true, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK, false ); helpDlg.set_title(gettext("About the entry types")); helpDlg.run(); } private: void signal_info_click() { this->onShowAboutClick(); } private: void signal_burg_switcher_response(int response_id) { if (response_id == Gtk::RESPONSE_DELETE_EVENT) this->onCancelBurgSwitcherClick(); else this->onInitModeClick(response_id == Gtk::RESPONSE_YES); } private: void signal_edit_name(Gtk::CellEditable* editable, const Glib::ustring& path) { Gtk::TreeModel::iterator iter = this->tvConfList.refTreeStore->get_iter(path); Glib::ustring name = (*iter)[this->tvConfList.treeModel.name]; editable->set_property("text", name); } private: bool signal_button_press(GdkEventButton *event) { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { contextMenu.popup(event->button, event->time); if (this->tvConfList.get_selection()->count_selected_rows() > 1) { return true; // prevent re-selection } else { return false; } } return false; } private: bool signal_popup() { contextMenu.popup(0, gdk_event_get_time(nullptr)); return true; } private: void signal_key_press(GdkEventKey* key) { if (key->keyval == GDK_KEY_Delete) { this->onRemoveRulesClick(this->getSelectedRules(), false); } } private: void signal_revert() { Gtk::MessageDialog msgDlg(gettext("Are you sure?"), false, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK_CANCEL); msgDlg.set_secondary_text(gettext("This removes all your list modifications of the bootloader menu!")); int response = msgDlg.run(); if (response == Gtk::RESPONSE_OK) { this->onRevertClick(); } } private: void signal_reload_recommendation_response(int response_id) { if (response_id == Gtk::RESPONSE_APPLY) { this->onReloadClick(); } } private: void signal_tab_changed(Gtk::Widget* page, guint page_num) { if (this->onTabChange && this->lock_state == 0) { // this->eventListener must be called because this event may be propagated from bootstrap this->onTabChange(page_num); } } private: void signal_viewopt_details_toggled() { if (this->onViewOptionChange) { this->onViewOptionChange(VIEW_SHOW_DETAILS, this->miShowDetails.get_active()); } } private: void signal_viewopt_checkboxes_toggled() { if (this->onViewOptionChange) { this->onViewOptionChange(VIEW_SHOW_HIDDEN_ENTRIES, this->miShowHiddenEntries.get_active()); } } private: void signal_viewopt_script_toggled() { if (this->onViewOptionChange) { this->onViewOptionChange(VIEW_GROUP_BY_SCRIPT, this->miGroupByScript.get_active()); } } private: void signal_viewopt_placeholders_toggled() { if (this->onViewOptionChange) { this->onViewOptionChange(VIEW_SHOW_PLACEHOLDERS, this->miShowPlaceholders.get_active()); } } private: void update_move_buttons() { int selectedRowsCount = tvConfList.get_selection()->count_selected_rows(); bool is_toplevel = false; bool sameLevel = false; bool subsequent = false; bool isOnTop = false; bool isOnBottom = false; if (selectedRowsCount >= 1) { sameLevel = this->selectedEntriesAreOnSameLevel(); if (sameLevel) { subsequent = this->selectedEntriesAreSubsequent(); } } if (selectedRowsCount >= 1 && sameLevel) { std::vector pathes = tvConfList.get_selection()->get_selected_rows(); Gtk::TreeModel::iterator iter = this->tvConfList.refTreeStore->get_iter(pathes.front()); Gtk::TreeModel::iterator lastIter = this->tvConfList.refTreeStore->get_iter(pathes.back()); is_toplevel = (*iter)[this->tvConfList.treeModel.is_toplevel]; if (iter == tvConfList.refTreeStore->children().begin()) { isOnTop = true; } if (lastIter == --tvConfList.refTreeStore->children().end()) { isOnBottom = true; } } tbttUp.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !isOnTop); miUp.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !isOnTop); miCUp.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !isOnTop); tbttDown.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !isOnBottom); miDown.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !isOnBottom); miCDown.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !isOnBottom); tbttLeft.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !is_toplevel); //selected entry must be inside a submenu miLeft.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !is_toplevel); //selected entry must be inside a submenu miCLeft.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent && !is_toplevel); //selected entry must be inside a submenu tbttRight.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent); miRight.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent); miCRight.set_sensitive(selectedRowsCount >= 1 && sameLevel && subsequent); } private: void update_remove_button() { bool scriptSelected = false; std::vector pathes = tvConfList.get_selection()->get_selected_rows(); for (std::vector::iterator pathIter = pathes.begin(); pathIter != pathes.end(); pathIter++) { if ((*this->tvConfList.refTreeStore->get_iter(*pathIter))[this->tvConfList.treeModel.relatedScript] != nullptr) { scriptSelected = true; } } if (tvConfList.get_selection()->count_selected_rows() >= 1 && !scriptSelected){ tbttRemove.set_sensitive(true); miRemove.set_sensitive(true); miCRemove.set_sensitive(true); } else { tbttRemove.set_sensitive(false); miRemove.set_sensitive(false); miCRemove.set_sensitive(false); } } private: void saveConfig() { this->onSaveClick(); } private: void updateButtonsState() { update_remove_button(); update_move_buttons(); std::vector selectedElementents = this->tvConfList.get_selection()->get_selected_rows(); bool renamableEntrySelected = selectedElementents.size() == 1 && (*this->tvConfList.refTreeStore->get_iter(selectedElementents[0]))[this->tvConfList.treeModel.is_renamable]; bool editableEntrySelected = selectedElementents.size() == 1 && (*this->tvConfList.refTreeStore->get_iter(selectedElementents[0]))[this->tvConfList.treeModel.is_editable]; miCRename.set_sensitive(renamableEntrySelected); tbttEditEntry.set_sensitive(editableEntrySelected); miEditEntry.set_sensitive(editableEntrySelected); miCEditEntry.set_sensitive(editableEntrySelected); } private: bool selectedEntriesAreOnSameLevel() { assert(this->tvConfList.get_selection()->count_selected_rows() >= 1); std::vector pathes = this->tvConfList.get_selection()->get_selected_rows(); // first check whether the selected items are entries if ((*this->tvConfList.refTreeStore->get_iter(pathes[0]))[this->tvConfList.treeModel.relatedScript]) { return false; } bool result = true; if ((*this->tvConfList.refTreeStore->get_iter(pathes[0]))[this->tvConfList.treeModel.is_toplevel]) { // first entry is on toplevel, so all entries should be there for (std::vector::iterator pathIter = pathes.begin(); pathIter != pathes.end(); pathIter++) { if (!(*this->tvConfList.refTreeStore->get_iter(*pathIter))[this->tvConfList.treeModel.is_toplevel]) { result = false; break; } } } else { Gtk::TreeModel::Path parent = this->tvConfList.refTreeStore->get_path(this->tvConfList.refTreeStore->get_iter(pathes[0])->parent()); for (std::vector::iterator pathIter = pathes.begin(); pathIter != pathes.end(); pathIter++) { Gtk::TreeModel::iterator treeIter = this->tvConfList.refTreeStore->get_iter(*pathIter); if (!treeIter->parent() || parent != this->tvConfList.refTreeStore->get_path(treeIter->parent())) { result = false; break; } } } return result; } private: bool selectedEntriesAreSubsequent() { assert(this->selectedEntriesAreOnSameLevel()); if (this->tvConfList.get_selection()->count_selected_rows() == 1) { return true; } std::vector pathes = this->tvConfList.get_selection()->get_selected_rows(); Gtk::TreeModel::iterator iter = this->tvConfList.refTreeStore->get_iter(pathes[0]); std::vector::iterator pathIter = pathes.begin(); pathIter++; for (; pathIter != pathes.end(); pathIter++) { iter++; if (iter != this->tvConfList.refTreeStore->get_iter(*pathIter)) { return false; } } return true; } private: std::list getSelectedRules() { return this->tvConfList.getSelectedRules(); } private: void _rDisableRules(Gtk::TreeNodeChildren const& list) { for (Gtk::TreeNodeChildren::iterator pathIter = list.begin(); pathIter != list.end(); pathIter++) { (*pathIter)[this->tvConfList.treeModel.is_renamable] = false; if (pathIter->children().size()) { this->_rDisableRules(pathIter->children()); } } } }; #endif grub-customizer-5.1.0/src/View/Gtk/About.hpp0000644000175000017500000002045713360360026020150 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GC_ABOUNTDIALOG_GTK_INCLUDED #define GC_ABOUNTDIALOG_GTK_INCLUDED #include "../About.hpp" #include #include "../../config.hpp" #include class View_Gtk_About : public Gtk::AboutDialog, public View_About { private: Glib::ustring appName, appVersion; private: std::vector authors; private: std::vector artists; private: void signal_about_dlg_response(int response_id) { if (Gtk::RESPONSE_CLOSE) { this->hide(); } } public: View_Gtk_About() : appName("Grub Customizer"), appVersion(GC_VERSION) { this->set_name(appName); this->set_version(appVersion); this->authors.push_back("Daniel Richter https://launchpad.net/~danielrichter2007"); this->set_authors(authors); this->set_icon_name("grub-customizer"); this->set_logo_icon_name("grub-customizer"); this->set_comments(gettext("Grub Customizer is a graphical interface to configure the grub2/burg settings")); this->artists.push_back("Zelozelos"); this->set_artists(artists); this->set_translator_credits( "Adam Czabara https://launchpad.net/~adam-czabara\n" "Adolfo Jayme Barrientos https://launchpad.net/~fitoschido\n" "Alexander Gorishnyak https://launchpad.net/~kefir500\n" "Aleksey Kabanov Aleksey Kabanov\n" "Alessio Manai https://launchpad.net/~alessio-s\n" "Alexey Ivanov https://launchpad.net/~alexey.ivanes\n" "Algimantas Margevičius https://launchpad.net/~gymka\n" "Andrey Zaytsev https://launchpad.net/~andzaytsev\n" "Antón Méixome https://launchpad.net/~meixome\n" "Asier Iturralde Sarasola https://launchpad.net/~asier-iturralde\n" "ASTUR2000 https://launchpad.net/~astur2000\n" "Aurélien RIVIERE https://launchpad.net/~aurelien-riv\n" "Badver https://launchpad.net/~badver\n" "Bernardo Miguel Savone https://launchpad.net/~bersil\n" "Bonsoir https://launchpad.net/~bonsoir\n" "buba https://launchpad.net/~wilq1989\n" "Careone https://launchpad.net/~zzbusagain\n" "DAG Software https://launchpad.net/~dagsoftware\n" "Daniel Richter https://launchpad.net/~danielrichter2007\n" "David Jones https://launchpad.net/~bikerboi87\n" "Dimitar Dimitrov https://launchpad.net/~dimitrov\n" "Draky https://launchpad.net/~draky\n" "Eduardo Alberto Calvo https://launchpad.net/~edu5800\n" "Emre AYTAÇ https://launchpad.net/~eaytac\n" "enrigp https://launchpad.net/~enrgarc\n" "Erkin Batu Altunbaş https://launchpad.net/~erkin\n" "Eugene Marshal https://launchpad.net/~lowrider\n" "Eugênio F https://launchpad.net/~eugf\n" "Fedik https://launchpad.net/~fedikw\n" "Flames_in_Paradise https://launchpad.net/~ellisistfroh\n" "François Laurent https://launchpad.net/~francois.laurent\n" "František Zatloukal https://launchpad.net/~zatloukal-frantisek\n" "freedomrun https://launchpad.net/~freedomrun\n" "GamePad64 https://launchpad.net/~gamepad64\n" "Gianfranco Frisani https://launchpad.net/~gfrisani\n" "Gianluca https://launchpad.net/~albatrosslive\n" "gilles chaon https://launchpad.net/~g-chaon\n" "gogo https://launchpad.net/~trebelnik-stefina\n" "GoJoMo https://launchpad.net/~tolbkni\n" "harvalikjan@gmail.com https://launchpad.net/~harvalikjan\n" "Hriostat https://launchpad.net/~hriostat\n" "HSFF https://launchpad.net/~hsff\n" "Huan Peng https://launchpad.net/~penghuanmail\n" "I. De Marchi https://launchpad.net/~tangram-peces\n" "ivarela https://launchpad.net/~ivarela\n" "Jan Bažant aka Brbla https://launchpad.net/~brbla\n" "Jan Dolejš https://launchpad.net/~jackdown3csr\n" "Jarosław Ogrodnik https://launchpad.net/~goz\n" "jmb_kz https://launchpad.net/~jmb-kz\n" "Jörg BUCHMANN https://launchpad.net/~jorg-buchmann\n" "Jorge Luis Granda https://launchpad.net/~costeelation\n" "José Humberto Melo https://launchpad.net/~josehumberto-melo\n" "Juhani Numminen https://launchpad.net/~jsonic\n" "Julien https://launchpad.net/~julienmbpe\n" "Koshepa Alexander https://launchpad.net/~masheka3\n" "Lê Trường An. https://launchpad.net/~truongan\n" "Loic Treyvaud https://launchpad.net/~loictreyvaud\n" "londumas https://launchpad.net/~helion331990\n" "Maks Lyashuk aka Ma)(imuM https://launchpad.net/~probel\n" "Mantas Kriaučiūnas https://launchpad.net/~mantas\n" "Manuel Xosé Lemos https://launchpad.net/~mxlemos\n" "mario catena https://launchpad.net/~mcblackmar02\n" "Max_ym https://launchpad.net/~kontact-cat\n" "Maxime Gentils https://launchpad.net/~maxime.gentils\n" "Michael Konrad https://launchpad.net/~nephelyn\n" "Michael Kotsarinis https://launchpad.net/~mk73628\n" "Michele Dimaggio https://launchpad.net/~mike238dimaggio\n" "Miguel Anxo Bouzada https://launchpad.net/~mbouzada\n" "Mohamed Mohsen https://launchpad.net/~linuxer9\n" "Mohamed SEDKI https://launchpad.net/~sedki-mohamed\n" "Monkey https://launchpad.net/~monkey-libre\n" "Mustafa Yılmaz https://launchpad.net/~apshalasha\n" "nafterburner https://launchpad.net/~nafterburner\n" "Nenad Čubić https://launchpad.net/~nenad-cubic\n" "Octaiver Matt https://launchpad.net/~octaivermatt\n" "Ondrej Mosnáček https://launchpad.net/~omosnacek\n" "Papp Bence https://launchpad.net/~sclegnrbs\n" "patel https://launchpad.net/~patel\n" "Paulomorales https://launchpad.net/~paulocmorales\n" "Péter Trombitás https://launchpad.net/~trombipeti\n" "Prescott_SK https://launchpad.net/~prescott66\n" "Przemysław Buczkowski https://launchpad.net/~przemub\n" "rob https://launchpad.net/~rvdb\n" "Rodion R. https://launchpad.net/~r0di0n\n" "Şâkir Aşçı https://launchpad.net/~sakirasci\n" "shinichi imataka https://launchpad.net/~imatakas1\n" "shishimaru https://launchpad.net/~salvi-uchiha\n" "Stanz https://launchpad.net/~stanz\n" "Stavros K. Filippidis https://launchpad.net/~greatst\n" "Svetoslav Stefanov https://launchpad.net/~svetlisashkov\n" "taijuin lee https://launchpad.net/~taijuin\n" "TheMengzor https://launchpad.net/~the-mengzor\n" "Thibaut Panis https://launchpad.net/~thibaut-panis\n" "Tielhalter https://launchpad.net/~tielhalter\n" "Timo Seppola https://launchpad.net/~timo-seppola\n" "Tobi https://launchpad.net/~m-a-x-2-0-0-4\n" "Tolbkni Kao https://launchpad.net/~tolbkni\n" "Tomas Hasko https://launchpad.net/~thasko\n" "Tomislav Krznar https://launchpad.net/~tomislav-krznar\n" "Tubuntu https://launchpad.net/~t-ubuntu\n" "tzem https://launchpad.net/~athmakrigiannis\n" "ub https://launchpad.net/~xenolith0bytetestcomgreen\n" "Ulisses de C. Soares https://launchpad.net/~ulisses-soares\n" "Vizion-HUN https://launchpad.net/~vizler-k\n" "Vyacheslav Sharmanov https://launchpad.net/~vsharmanov\n" "Wang Dianjin https://launchpad.net/~tuhaihe\n" "Yuriy Oleksiychuk https://launchpad.net/~yurolex\n" "Zbyněk Schwarz https://launchpad.net/~tsbook\n" "zeugma https://launchpad.net/~sunder67\n" "Юрій Олексійчук https://launchpad.net/~yurolex" ); this->signal_response().connect(sigc::mem_fun(this, &View_Gtk_About::signal_about_dlg_response)); } public: void show() { Gtk::AboutDialog::show(); } }; #endif grub-customizer-5.1.0/src/View/Gtk/EntryEditor.hpp0000644000175000017500000003714713360360026021352 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRYEDITDLGGTK_H_ #define ENTRYEDITDLGGTK_H_ #include "../EntryEditor.hpp" #include "../../lib/Helper.hpp" #include #include #include "Element/PartitionChooser.hpp" class View_Gtk_EntryEditor : public View_EntryEditor, public Gtk::Dialog { private: Gtk::VBox vbMainSections; private: Gtk::TextView tvSource; private: Gtk::VBox vbSource; private: Gtk::ScrolledWindow scrSource; private: Gtk::VBox vbSourceError; private: Gtk::Label lblSourceError; private: Gtk::Image imgSourceError; private: Gtk::Frame frmSource; private: Gtk::Table tblOptions; private: std::map optionMap; private: std::map optionContainerMap; private: std::map labelMap; private: std::map iconMap; private: Gtk::ComboBoxText cbType; private: Gtk::Image imgType; private: Gtk::Label lblType; private: Gtk::Entry txtName; private: Gtk::Label lblName; private: Gtk::Image imgName; private: Gtk::Button* bttApply = nullptr; private: bool lock_state = false; private: Rule* rulePtr = nullptr; public: View_Gtk_EntryEditor() : lblType(gettext("_Type:"), true), frmSource(gettext("Boot sequence")), lblName(gettext("_Name:"), true), lblSourceError(gettext("Error building boot sequence.\nCheck parameters!")), imgSourceError(Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_DIALOG) { this->add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); this->bttApply = this->add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK); this->set_default_size(500, 600); this->set_title(Glib::ustring() + gettext("Entry editor") + " - Grub Customizer"); this->set_icon_name("grub-customizer"); Gtk::Box& vbMain = *this->get_vbox(); vbMain.pack_start(this->vbMainSections); vbMainSections.pack_start(this->tblOptions, Gtk::PACK_SHRINK); vbMainSections.pack_start(this->frmSource); frmSource.add(vbSource); frmSource.set_shadow_type(Gtk::SHADOW_NONE); frmSource.set_border_width(5); frmSource.set_margin_top(10); frmSource.set_no_show_all(true); vbSource.pack_start(vbSourceError, Gtk::PACK_EXPAND_PADDING); vbSource.pack_start(scrSource, Gtk::PACK_EXPAND_WIDGET); vbSourceError.pack_start(imgSourceError, Gtk::PACK_SHRINK); vbSourceError.pack_start(lblSourceError, Gtk::PACK_SHRINK); lblSourceError.set_justify(Gtk::JUSTIFY_CENTER); lblSourceError.set_no_show_all(true); imgSourceError.set_no_show_all(true); vbSourceError.set_no_show_all(true); scrSource.add(this->tvSource); scrSource.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scrSource.set_shadow_type(Gtk::SHADOW_IN); scrSource.set_no_show_all(true); tblOptions.attach(this->lblName, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK, 5, 5); tblOptions.attach(this->txtName, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 5, 5); tblOptions.attach(this->imgName, 2, 3, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK, 5, 5); lblName.set_mnemonic_widget(txtName); lblName.set_alignment(Pango::ALIGN_RIGHT); lblName.set_no_show_all(true); txtName.set_no_show_all(true); imgName.set_no_show_all(true); tblOptions.attach(this->lblType, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK, 5, 5); tblOptions.attach(this->cbType, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 5, 5); tblOptions.attach(this->imgType, 2, 3, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK, 5, 5); lblType.set_mnemonic_widget(cbType); lblType.set_alignment(Pango::ALIGN_RIGHT); this->tvSource.set_accepts_tab(false); this->signal_response().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_response_action)); this->txtName.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_nameModified)); this->cbType.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_nameModified)); this->cbType.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_typeModified)); this->tvSource.signal_key_release_event().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_sourceModified)); } public: void setSourcecode(std::string const& source) { this->vbSourceError.hide(); this->lblSourceError.hide(); this->imgSourceError.hide(); this->scrSource.show(); this->tvSource.show(); this->frmSource.set_shadow_type(Gtk::SHADOW_NONE); std::string optimizedSource = Helper::str_replace("\n\t", "\n", source); if (optimizedSource[0] == '\t') { optimizedSource = optimizedSource.substr(1); } this->tvSource.get_buffer()->set_text(optimizedSource); } public: std::string getSourcecode() { std::string optimizedSourcecode = this->tvSource.get_buffer()->get_text(); std::string withIndent = Helper::str_replace("\n", "\n\t", optimizedSourcecode); if (withIndent.size() >= 2 && withIndent.substr(withIndent.size() - 2) == "\n\t") { withIndent.replace(withIndent.size() - 2, 2, "\n"); } else if (withIndent.size() >= 1 && withIndent[withIndent.size() - 1] != '\n') { withIndent += '\n'; // add trailing slash } return "\t" + withIndent; } public: void showSourceBuildError() { this->vbSourceError.show(); this->lblSourceError.show(); this->imgSourceError.show(); this->scrSource.hide(); this->tvSource.hide(); this->frmSource.set_shadow_type(Gtk::SHADOW_ETCHED_IN); // looks better when there's no bordered text field } public: void setApplyEnabled(bool value) { this->bttApply->set_sensitive(value); } public: void addOption(std::string const& name, std::string const& value) { std::map fixedElements; fixedElements["partition_uuid"] = 2; fixedElements["iso_path_full"] = 3; fixedElements["memtest_image_full"] = 4; int pos = fixedElements.find(name) != fixedElements.end() ? fixedElements[name] : this->optionMap.size() + fixedElements.size() + 2; // +2 because of type selection and name input Gtk::Label* label = Gtk::manage(new Gtk::Label(this->mapOptionName(name) + ":", true)); label->set_alignment(Pango::ALIGN_RIGHT); this->tblOptions.attach(*label, 0, 1, pos, pos+1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK, 5, 5); this->labelMap[name] = label; Gtk::Widget* groupWidget = NULL; Gtk::Widget* formWidget = NULL; bool showValidator = true; if (name == "partition_uuid" && this->deviceDataList != NULL) { View_Gtk_Element_PartitionChooser* pChooserDD = Gtk::manage(new View_Gtk_Element_PartitionChooser(value, *this->deviceDataList)); pChooserDD->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_optionsModified)); formWidget = groupWidget = pChooserDD; } else if (name == "iso_path_full" || name == "memtest_image_full") { Gtk::FileChooserButton* isoChooser = Gtk::manage(new Gtk::FileChooserButton()); if (value == "") { isoChooser->unselect_all(); } else { isoChooser->set_filename(value); } isoChooser->signal_file_set().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_optionsModified)); formWidget = groupWidget = isoChooser; } else if (name == "iso_path" || name == "memtest_image") { Gtk::HBox* hbFieldGroup = Gtk::manage(new Gtk::HBox()); Gtk::Entry* entry = Gtk::manage(new Gtk::Entry()); entry->set_text(value); entry->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_optionsModified)); hbFieldGroup->pack_start(*entry, Gtk::PACK_EXPAND_WIDGET); Gtk::Button* bttFileChooser = Gtk::manage(new Gtk::Button(gettext("Choose…"))); std::list oldProps; oldProps.push_back(name); oldProps.push_back("partition_uuid"); bttFileChooser->signal_clicked().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_fileChooseButtonClicked), name + "_full", oldProps)); hbFieldGroup->pack_start(*bttFileChooser, Gtk::PACK_SHRINK); formWidget = entry; groupWidget = hbFieldGroup; } else { Gtk::Entry* entry = Gtk::manage(new Gtk::Entry()); entry->set_text(value); entry->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EntryEditor::signal_optionsModified)); formWidget = groupWidget = entry; } this->tblOptions.attach(*groupWidget, 1, 2, pos, pos+1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 5, 5); label->set_mnemonic_widget(*formWidget); this->optionMap[name] = formWidget; this->optionContainerMap[name] = groupWidget; if (showValidator) { Gtk::Image* imgValidator = Gtk::manage(new Gtk::Image()); this->tblOptions.attach(*imgValidator, 2, 3, pos, pos+1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK, 5, 5); this->iconMap[name] = imgValidator; } if (this->get_visible()) { this->tblOptions.show_all(); } } public: void setOptions(std::map options) { this->removeOptions(); for (std::map::iterator iter = options.begin(); iter != options.end(); iter++) { this->addOption(iter->first, iter->second); } } public: std::map getOptions() const { std::map result; for (std::map::const_iterator iter = this->optionMap.begin(); iter != this->optionMap.end(); iter++) { try { result[iter->first] = dynamic_cast(*iter->second).getSelectedUuid(); } catch (std::bad_cast const& e) { try { result[iter->first] = dynamic_cast(*iter->second).get_text(); } catch (std::bad_cast const& e) { try { result[iter->first] = dynamic_cast(*iter->second).get_filename(); } catch (std::bad_cast const& e) { throw BadCastException("unable to cast element '" + iter->first + "'", __FILE__, __LINE__); } } } } return result; } public: void removeOptions() { for (std::map::iterator iter = this->labelMap.begin(); iter != this->labelMap.end(); iter++) { this->tblOptions.remove(*iter->second); } this->labelMap.clear(); for (std::map::iterator iter = this->optionContainerMap.begin(); iter != this->optionContainerMap.end(); iter++) { this->tblOptions.remove(*iter->second); } this->optionContainerMap.clear(); this->optionMap.clear(); for (std::map::iterator iter = this->iconMap.begin(); iter != this->iconMap.end(); iter++) { this->tblOptions.remove(*iter->second); } this->iconMap.clear(); } public: void setRulePtr(Rule* rulePtr) { this->rulePtr = rulePtr; } public: Rule* getRulePtr() { return this->rulePtr; } public: void show() { Gtk::Window::show_all(); if (this->txtName.get_visible()) { this->set_focus(this->txtName); } else { this->set_focus(this->tvSource); } } public: void hide() { Gtk::Window::hide(); } public: void setAvailableEntryTypes(std::list const& names) { this->cbType.remove_all(); for (std::list::const_iterator iter = names.begin(); iter != names.end(); iter++) { this->cbType.append(*iter); } this->cbType.append(gettext("Other")); this->cbType.append(gettext("(script code)")); } public: void selectType(std::string const& name) { std::string name2 = name; if (name2 == "") { name2 = gettext("Other"); } else if (name2 == "[TEXT]") { name2 = gettext("(script code)"); } this->lock_state = true; if (name == "[NONE]") { this->cbType.unset_active(); this->frmSource.hide(); } else { this->cbType.set_active_text(name2); this->frmSource.show(); this->frmSource.show_all_children(true); } this->lock_state = false; } public: std::string getSelectedType() const { if (this->cbType.get_active_text() == gettext("Other")) { return ""; } else if (this->cbType.get_active_text() == gettext("(script code)")) { return "[TEXT]"; } else { return this->cbType.get_active_text(); } } public: void setName(std::string const& name) { this->txtName.set_text(name); } public: std::string getName() { return this->txtName.get_text(); } public: void setNameFieldVisibility(bool visible) { this->txtName.set_visible(visible); this->lblName.set_visible(visible); this->imgName.set_visible(visible); } public: void setErrors(std::list const& errors) { for (auto& validateIcon : this->iconMap) { bool isValid = std::find(errors.begin(), errors.end(), validateIcon.first) == errors.end(); validateIcon.second->set(this->render_icon_pixbuf(isValid ? Gtk::Stock::OK : Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_BUTTON)); } } public: void setNameIsValid(bool valid) { this->imgName.set(this->render_icon_pixbuf(valid ? Gtk::Stock::OK : Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_BUTTON)); } public: void setTypeIsValid(bool valid) { this->imgType.set(this->render_icon_pixbuf(valid ? Gtk::Stock::OK : Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_BUTTON)); } private: void signal_response_action(int response_id) { if (response_id == Gtk::RESPONSE_OK){ this->onApplyClick(); } this->hide(); } private: bool signal_sourceModified(GdkEventKey* event) { if (!this->lock_state) { this->onSourceModification(); } return true; } private: void signal_optionsModified() { if (!this->lock_state) { this->onOptionModification(); } } private: void signal_nameModified() { if (!this->lock_state) { this->onNameChange(); } } private: void signal_typeModified() { if (!this->lock_state) { this->onTypeSwitch(this->getSelectedType()); } } private: void signal_fileChooseButtonClicked(std::string newProperty, std::list oldProperties) { Gtk::FileChooserDialog dlg(gettext("Choose file…"), Gtk::FILE_CHOOSER_ACTION_OPEN); dlg.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); dlg.add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_APPLY); int response = dlg.run(); if (response == Gtk::RESPONSE_APPLY) { this->onFileChooserSelection(newProperty, dlg.get_filename(), oldProperties); } } private: virtual std::string mapOptionName(std::string const& name) { if (name == "partition_uuid") return gettext("_Partition"); else if (name == "initramfs") return gettext("_Initial ramdisk"); else if (name == "linux_image") return gettext("_Linux image"); else if (name == "memtest_image") return gettext("_Memtest image"); else if (name == "iso_path") return gettext("Path to iso file"); else if (name == "other_params") return gettext("Kernel params"); else if (name == "iso_path_full") return gettext("I_SO image"); else if (name == "memtest_image_full") return gettext("_Memtest-Image"); else return Helper::str_replace("_", "__", name); } }; #endif /* ENTRYEDITDLGGTK_H_ */ grub-customizer-5.1.0/src/View/Gtk/Settings.hpp0000644000175000017500000005270413360360026020676 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SETTING_DLG_GTK_INCLUDED #define SETTING_DLG_GTK_INCLUDED #include #include "../Settings.hpp" #include #include #include "../ColorChooser.hpp" class View_Gtk_Settings : public Gtk::Dialog, public View_Settings { struct AdvancedSettingsTreeModel : public Gtk::TreeModelColumnRecord { Gtk::TreeModelColumn active; Gtk::TreeModelColumn name; Gtk::TreeModelColumn old_name; Gtk::TreeModelColumn value; AdvancedSettingsTreeModel() { this->add(active); this->add(name); this->add(old_name); this->add(value); } }; struct CustomOption_obj : public CustomOption { CustomOption_obj(std::string name, std::string old_name, std::string value, bool isActive) { this->name = name; this->old_name = old_name; this->value = value; this->isActive = isActive; } }; private: AdvancedSettingsTreeModel asTreeModel; private: Glib::RefPtr refAsListStore; private: bool event_lock = false; private: Gtk::Notebook tabbox; private: Gtk::ScrolledWindow scrAllEntries; private: Gtk::TreeView tvAllEntries; private: Gtk::VBox vbAllEntries; private: Gtk::HBox hbAllEntriesControl; private: Gtk::Button bttAddCustomEntry, bttRemoveCustomEntry; private: Gtk::VBox vbCommonSettings, vbAppearanceSettings; private: Gtk::Alignment alignCommonSettings; private: Pango::AttrList attrDefaultEntry; private: Pango::Attribute aDefaultEntry; //default entry group private: Gtk::Frame groupDefaultEntry; private: Gtk::Alignment alignDefaultEntry; private: Gtk::Label lblDefaultEntry; //Gtk::Table tblDefaultEntry; private: Gtk::RadioButton rbDefPredefined, rbDefSaved; private: Gtk::RadioButtonGroup rbgDefEntry; private: Gtk::VBox vbDefaultEntry; private: Gtk::HBox hbDefPredefined; //Gtk::SpinButton spDefPosition; private: Gtk::ComboBoxText cbDefEntry; private: Gtk::Entry txtDefEntry; private: std::map defEntryValueMapping; private: Gtk::Button bttDefaultEntryHelp; private: Gtk::Image imgDefaultEntryHelp; //view group private: Gtk::Frame groupView; private: Gtk::Alignment alignView; private: Gtk::Label lblView; private: Gtk::VBox vbView; private: Gtk::CheckButton chkShowMenu, chkOsProber; private: Gtk::HBox hbTimeout; private: Gtk::CheckButton chkTimeout; private: Gtk::SpinButton spTimeout; private: Gtk::Label lblTimeout2; //kernel parameters private: Gtk::Frame groupKernelParams; private: Gtk::Alignment alignKernelParams; private: Gtk::Label lblKernelParams; private: Gtk::VBox vbKernelParams; private: Gtk::Entry txtKernelParams; private: Gtk::CheckButton chkGenerateRecovery; //screen resolution private: Gtk::Alignment alignResolutionAndTheme; private: Gtk::HBox hbResolutionAndTheme; private: Gtk::HBox hbResolution; private: Gtk::CheckButton chkResolution; private: Gtk::ComboBoxText cbResolution; public: View_Gtk_Settings() : bttAddCustomEntry(Gtk::Stock::ADD), bttRemoveCustomEntry(Gtk::Stock::REMOVE), rbDefPredefined(gettext("pre_defined: "), true), rbDefSaved(gettext("previously _booted entry"), true), lblDefaultEntry(gettext("default entry")), lblView(gettext("visibility")), chkShowMenu(gettext("show menu")), lblKernelParams(gettext("kernel parameters")), chkGenerateRecovery(gettext("generate recovery entries")), chkOsProber(gettext("look for other operating systems")), chkResolution(gettext("custom resolution: ")), cbResolution(true), imgDefaultEntryHelp(Gtk::Stock::HELP, Gtk::ICON_SIZE_BUTTON) { this->set_title("Grub Customizer - " + Glib::ustring(gettext("settings"))); this->set_icon_name("grub-customizer"); Gtk::Box* winBox = this->get_vbox(); winBox->pack_start(tabbox); tabbox.append_page(alignCommonSettings, gettext("_General"), true); tabbox.append_page(vbAppearanceSettings, gettext("A_ppearance"), true); tabbox.append_page(vbAllEntries, gettext("_Advanced"), true); vbAllEntries.pack_start(hbAllEntriesControl, Gtk::PACK_SHRINK); vbAllEntries.pack_start(scrAllEntries); hbAllEntriesControl.add(bttAddCustomEntry); hbAllEntriesControl.add(bttRemoveCustomEntry); hbAllEntriesControl.set_border_width(5); hbAllEntriesControl.set_spacing(5); scrAllEntries.add(tvAllEntries); scrAllEntries.set_border_width(5); scrAllEntries.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); refAsListStore = Gtk::ListStore::create(asTreeModel); tvAllEntries.set_model(refAsListStore); tvAllEntries.append_column_editable(gettext("is active"), asTreeModel.active); tvAllEntries.append_column_editable(gettext("name"), asTreeModel.name); tvAllEntries.append_column_editable(gettext("value"), asTreeModel.value); refAsListStore->signal_row_changed().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_setting_row_changed)); vbCommonSettings.set_spacing(15); vbAppearanceSettings.set_spacing(5); //default entry group vbCommonSettings.pack_start(groupDefaultEntry, Gtk::PACK_SHRINK); groupDefaultEntry.add(alignDefaultEntry); groupDefaultEntry.set_sensitive(false); groupDefaultEntry.set_label_widget(lblDefaultEntry); lblDefaultEntry.set_attributes(attrDefaultEntry); aDefaultEntry = Pango::Attribute::create_attr_weight(Pango::WEIGHT_BOLD); attrDefaultEntry.insert(aDefaultEntry); alignDefaultEntry.add(vbDefaultEntry); vbDefaultEntry.add(hbDefPredefined); vbDefaultEntry.add(rbDefSaved); bttDefaultEntryHelp.add(imgDefaultEntryHelp); hbDefPredefined.pack_start(rbDefPredefined, Gtk::PACK_SHRINK); hbDefPredefined.pack_start(cbDefEntry); hbDefPredefined.pack_start(txtDefEntry); hbDefPredefined.pack_start(bttDefaultEntryHelp, Gtk::PACK_SHRINK); hbDefPredefined.set_spacing(5); vbDefaultEntry.set_spacing(5); groupDefaultEntry.set_shadow_type(Gtk::SHADOW_NONE); alignDefaultEntry.set_padding(2, 2, 25, 2); rbDefPredefined.set_group(rbgDefEntry); rbDefSaved.set_group(rbgDefEntry); txtDefEntry.set_no_show_all(true); //set maximum size of the combobox Glib::ListHandle cellRenderers = cbDefEntry.get_cells(); Gtk::CellRenderer* cellRenderer = *cellRenderers.begin(); cellRenderer->set_fixed_size(200, -1); try { dynamic_cast(*cellRenderer).property_ellipsize().set_value(Pango::ELLIPSIZE_END); } catch (std::bad_cast const& e) { this->log("cannot set ellipsizing mode because of an cast error", Logger::ERROR); } //view group alignCommonSettings.add(vbCommonSettings); alignCommonSettings.set_padding(20, 0, 0, 0); vbCommonSettings.pack_start(groupView, Gtk::PACK_SHRINK); groupView.add(alignView); groupView.set_shadow_type(Gtk::SHADOW_NONE); groupView.set_label_widget(lblView); lblView.set_attributes(attrDefaultEntry); alignView.add(vbView); vbView.set_spacing(5); alignView.set_padding(2, 2, 25, 2); vbView.add(chkShowMenu); vbView.add(chkOsProber); vbView.add(hbTimeout); hbTimeout.set_spacing(5); Glib::ustring defaultEntryLabelText = gettext("Boot default entry after %1 Seconds"); int timeoutInputPos = defaultEntryLabelText.find("%1"); if (timeoutInputPos != -1) { chkTimeout.set_label(defaultEntryLabelText.substr(0, timeoutInputPos)); lblTimeout2.set_text(defaultEntryLabelText.substr(timeoutInputPos + 2)); } else { chkTimeout.set_label(defaultEntryLabelText); } hbTimeout.pack_start(chkTimeout, Gtk::PACK_SHRINK); hbTimeout.pack_start(spTimeout, Gtk::PACK_SHRINK); hbTimeout.pack_start(lblTimeout2, Gtk::PACK_SHRINK); spTimeout.set_digits(0); spTimeout.set_increments(1, 5); spTimeout.set_range(0, 1000000); //kernel parameters vbCommonSettings.pack_start(groupKernelParams, Gtk::PACK_SHRINK); groupKernelParams.add(alignKernelParams); groupKernelParams.set_shadow_type(Gtk::SHADOW_NONE); groupKernelParams.set_label_widget(lblKernelParams); lblKernelParams.set_attributes(attrDefaultEntry); alignKernelParams.add(vbKernelParams); alignKernelParams.set_padding(10, 2, 25, 2); vbKernelParams.add(txtKernelParams); vbKernelParams.add(chkGenerateRecovery); vbKernelParams.set_spacing(5); //screen resolution and theme chooser vbAppearanceSettings.pack_start(alignResolutionAndTheme, Gtk::PACK_SHRINK); alignResolutionAndTheme.add(hbResolutionAndTheme); alignResolutionAndTheme.set_padding(10, 0, 6, 0); hbResolutionAndTheme.set_homogeneous(true); hbResolutionAndTheme.set_spacing(15); //screen resolution hbResolutionAndTheme.pack_start(hbResolution); hbResolution.pack_start(chkResolution, Gtk::PACK_SHRINK); hbResolution.pack_start(cbResolution, Gtk::PACK_EXPAND_WIDGET); cbResolution.append("saved"); // rbDefPredefined.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_default_entry_predefined_toggeled)); rbDefSaved.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_default_entry_saved_toggeled)); cbDefEntry.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_default_entry_changed)); txtDefEntry.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_default_entry_changed)); chkShowMenu.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_showMenu_toggled)); chkOsProber.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_osProber_toggled)); spTimeout.signal_value_changed().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_timeout_changed)); chkTimeout.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_timeout_checkbox_toggled)); txtKernelParams.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_kernelparams_changed)); chkGenerateRecovery.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_recovery_toggled)); chkResolution.signal_toggled().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_chkResolution_toggled)); cbResolution.get_entry()->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_resolution_selected)); bttAddCustomEntry.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_add_row_button_clicked)); bttRemoveCustomEntry.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_remove_row_button_clicked)); bttDefaultEntryHelp.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Settings::signal_defEntryHelpClick)); this->add_button(Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE); this->set_default_size(500, 600); } public: Gtk::VBox& getCommonSettingsPane() { tabbox.remove(alignCommonSettings); alignCommonSettings.remove(); return vbCommonSettings; } public: Gtk::VBox& getAppearanceSettingsPane() { tabbox.remove(vbAppearanceSettings); return vbAppearanceSettings; } public: void show() { this->show_all(); } public: void hide() { Gtk::Dialog::hide(); } public: void addEntryToDefaultEntryChooser(std::string const& value, std::string const& label) { event_lock = true; Glib::ustring mappedLabel = label; if (value == "0") { mappedLabel = gettext("(first entry)"); } else if (value == "") { mappedLabel = gettext("(other…)"); } this->defEntryValueMapping[this->defEntryValueMapping.size()] = value; cbDefEntry.append(mappedLabel); cbDefEntry.set_active(0); this->groupDefaultEntry.set_sensitive(true); event_lock = false; } public: void clearDefaultEntryChooser() { event_lock = true; cbDefEntry.remove_all(); this->defEntryValueMapping.clear(); this->groupDefaultEntry.set_sensitive(false); //if there's no entry to select, disable this area event_lock = false; } public: void clearResolutionChooser() { this->cbResolution.remove_all(); } public: void addResolution(std::string const& resolution) { this->cbResolution.append(resolution); } public: std::string getSelectedDefaultGrubValue(){ std::string value = this->defEntryValueMapping[cbDefEntry.get_active_row_number()]; if (value != "") { return value; } else { return txtDefEntry.get_text(); } } public: void addCustomOption(bool isActive, std::string const& name, std::string const& value) { this->event_lock = true; Gtk::TreeModel::iterator newItemIter = refAsListStore->append(); (*newItemIter)[asTreeModel.active] = isActive; (*newItemIter)[asTreeModel.name] = name; (*newItemIter)[asTreeModel.old_name] = name; (*newItemIter)[asTreeModel.value] = value; this->event_lock = false; } public: void selectCustomOption(std::string const& name) { for (Gtk::TreeModel::iterator iter = refAsListStore->children().begin(); iter != refAsListStore->children().end(); iter++){ if ((*iter)[asTreeModel.old_name] == name){ tvAllEntries.set_cursor(refAsListStore->get_path(iter), *tvAllEntries.get_column(name == "" ? 1 : 2), name == ""); break; } } } public: std::string getSelectedCustomOption() { std::vector p = tvAllEntries.get_selection()->get_selected_rows(); if (p.size() == 1) return (Glib::ustring)(*refAsListStore->get_iter(p.front()))[asTreeModel.name]; else return ""; } public: void removeAllSettingRows() { this->event_lock = true; this->refAsListStore->clear(); this->event_lock = false; } public: CustomOption getCustomOption(std::string const& name) { for (auto& treeRow : this->refAsListStore->children()){ if (treeRow[asTreeModel.old_name] == name) return CustomOption_obj( Glib::ustring(treeRow[asTreeModel.name]), Glib::ustring(treeRow[asTreeModel.old_name]), Glib::ustring(treeRow[asTreeModel.value]), treeRow[asTreeModel.active] ); } throw ItemNotFoundException("requested custom option not found", __FILE__, __LINE__); } public: void setActiveDefEntryOption(DefEntryType option) { this->event_lock = true; if (option == this->DEF_ENTRY_SAVED) { rbDefSaved.set_active(true); cbDefEntry.set_sensitive(false); } else if (option == this->DEF_ENTRY_PREDEFINED) { rbDefPredefined.set_active(true); cbDefEntry.set_sensitive(true); } this->event_lock = false; } public: DefEntryType getActiveDefEntryOption() { return rbDefSaved.get_active() ? DEF_ENTRY_SAVED : DEF_ENTRY_PREDEFINED; } public: void setDefEntry(std::string const& defEntry) { if (this->defEntryValueMapping.size() == 0) { // not initialized yet return; } this->event_lock = true; int pos = -1; bool isOtherEntry = defEntry == ""; try { pos = this->getDefEntryPosition(defEntry); } catch (ItemNotFoundException const& e) { pos = this->getDefEntryPosition(""); // choose option "other" isOtherEntry = true; } if (!txtDefEntry.has_focus()) { // don't change ui while typing txtDefEntry.set_text(isOtherEntry ? defEntry : ""); txtDefEntry.set_visible(isOtherEntry); cbDefEntry.set_active(pos); } this->event_lock = false; } public: void setShowMenuCheckboxState(bool isActive) { this->event_lock = true; chkShowMenu.set_active(isActive); chkTimeout.set_sensitive(isActive); if (!isActive) { chkTimeout.set_active(true); } this->event_lock = false; } public: bool getShowMenuCheckboxState() { return chkShowMenu.get_active(); } public: void setOsProberCheckboxState(bool isActive) { this->event_lock = true; chkOsProber.set_active(isActive); this->event_lock = false; } public: bool getOsProberCheckboxState() { return chkOsProber.get_active(); } public: void showHiddenMenuOsProberConflictMessage() { Gtk::MessageDialog(Glib::ustring::compose(gettext("This option doesn't work when the \"os-prober\" script finds other operating systems. Disable \"%1\" if you don't need to boot other operating systems."), chkOsProber.get_label())).run(); } public: void setTimeoutValue(int value) { this->event_lock = true; spTimeout.set_value(value); this->event_lock = false; } public: void setTimeoutActive(bool active) { this->event_lock = true; chkTimeout.set_active(active); spTimeout.set_sensitive(active); this->event_lock = false; } public: int getTimeoutValue() { return spTimeout.get_value_as_int(); } public: std::string getTimeoutValueString() { return Glib::ustring::format(this->getTimeoutValue()); } public: bool getTimeoutActive() { return this->chkTimeout.get_active(); } public: void setKernelParams(std::string const& params) { this->event_lock = true; txtKernelParams.set_text(params); this->event_lock = false; } public: std::string getKernelParams() { return txtKernelParams.get_text(); } public: void setRecoveryCheckboxState(bool isActive) { this->event_lock = true; chkGenerateRecovery.set_active(isActive); this->event_lock = false; } public: bool getRecoveryCheckboxState() { return chkGenerateRecovery.get_active(); } public: void setResolutionCheckboxState(bool isActive) { this->event_lock = true; chkResolution.set_active(isActive); cbResolution.set_sensitive(isActive); this->event_lock = false; } public: bool getResolutionCheckboxState() { return chkResolution.get_active(); } public: void setResolution(std::string const& resolution) { this->event_lock = true; cbResolution.get_entry()->set_text(resolution); this->event_lock = false; } public: std::string getResolution() { return cbResolution.get_entry()->get_text(); } public: void putThemeSelector(Gtk::Widget& themeSelector) { this->hbResolutionAndTheme.pack_start(themeSelector); } public: void putThemeEditArea(Gtk::Widget& themeEditArea) { this->vbAppearanceSettings.pack_start(themeEditArea); } private: int getDefEntryPosition(std::string const& name) { for (auto& entry : this->defEntryValueMapping) { if (entry.second == name) { return entry.first; break; } } throw ItemNotFoundException("default entry selection: unable to find position by name '" + name + "'", __FILE__, __LINE__); } private: void signal_setting_row_changed(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter) { if (!event_lock) { this->onCustomSettingChange((Glib::ustring)(*iter)[asTreeModel.old_name]); } } private: void signal_add_row_button_clicked() { if (!event_lock) { this->onAddCustomSettingClick(); } } private: void signal_remove_row_button_clicked() { if (!event_lock) { this->onRemoveCustomSettingClick((Glib::ustring)(*tvAllEntries.get_selection()->get_selected())[asTreeModel.name]); } } private: void signal_default_entry_predefined_toggeled() { if (!event_lock){ this->onDefaultSystemChange(); } } private: void signal_default_entry_saved_toggeled() { if (!event_lock){ this->onDefaultSystemChange(); } } private: void signal_default_entry_changed() { if (!event_lock){ this->onDefaultSystemChange(); } } private: void signal_showMenu_toggled() { if (!event_lock){ this->onShowMenuSettingChange(); } } private: void signal_osProber_toggled() { if (!event_lock){ this->onOsProberSettingChange(); } } private: void signal_timeout_changed() { if (!event_lock){ this->onTimeoutSettingChange(); } } private: void signal_timeout_checkbox_toggled() { if (!event_lock){ this->onTimeoutSettingChange(); } } private: void signal_kernelparams_changed() { if (!event_lock){ this->onKernelParamsChange(); } } private: void signal_recovery_toggled() { if (!event_lock){ this->onRecoverySettingChange(); } } private: void signal_chkResolution_toggled() { if (!event_lock){ this->onUseCustomResolutionChange(); } } private: void signal_resolution_selected() { if (!event_lock){ this->onCustomResolutionChange(); } } private: void signal_defEntryHelpClick() { if (!event_lock){ Gtk::MessageDialog helpDlg( gettext("This option allows choosing the operating system which should be selected when booting. " "By default this always is the first one. This option means that the default entry selection " "stays the same when placing other operating systems there.\n\nIn contrast to the first option the other " "choices are referenced by name. So the default system isn't changed when moving to another position.\n\n" "If you want to use another reference like \"always point to the second entry\" you can use the " "last option which allows typing a custom reference. Usage examples:\n" " 1 = \"always point to the second entry\" (counting starts by 0)\n" " test>0 = \"always point to the first entry of a submenu named test\""), true, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK, false ); helpDlg.run(); } } private: void on_response(int response_id) { this->onHide(); } }; #endif grub-customizer-5.1.0/src/View/Gtk/Element/0000755000175000017500000000000013360360026017746 5ustar danieldanielgrub-customizer-5.1.0/src/View/Gtk/Element/PartitionChooser.hpp0000644000175000017500000000654413360360026023764 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef PARTITIONCHOOSER_DROPDOWN_H_ #define PARTITIONCHOOSER_DROPDOWN_H_ #include #include #include "../../../Model/DeviceDataListInterface.hpp" #include class View_Gtk_Element_PartitionChooser : public Gtk::ComboBoxText { private: std::map uuid_map; private: Glib::ustring activePartition_uuid; private: Model_DeviceDataListInterface const* deviceDataList; private: bool prependCurrentPartition; private: std::string currentPartitionName; public: View_Gtk_Element_PartitionChooser( Glib::ustring const& activePartition_uuid, Model_DeviceDataListInterface const& deviceDataList, bool prependCurrentPartition = false, std::string const& currentPartitionName = "" ) : activePartition_uuid(activePartition_uuid), deviceDataList(&deviceDataList), prependCurrentPartition(prependCurrentPartition), currentPartitionName(currentPartitionName) { load(); } public: void load() { this->remove_all(); if (prependCurrentPartition) { this->append(currentPartitionName + "\n(" + gettext("current") + ")"); this->set_active(0); } for (Model_DeviceDataListInterface::const_iterator iter = deviceDataList->begin(); iter != deviceDataList->end(); iter++) { if (iter->second.find("UUID") != iter->second.end()) { Glib::ustring text = iter->first + "\n(" + (iter->second.find("LABEL") != iter->second.end() ? iter->second.at("LABEL") + ", " : "") + (iter->second.find("TYPE") != iter->second.end() ? iter->second.at("TYPE") : "") + ")"; uuid_map[text] = iter->second.at("UUID"); this->append(text); if (strToLower(iter->second.at("UUID")) == strToLower(activePartition_uuid)) { this->set_active_text(text); } } } } public: std::string getSelectedUuid() const { if (this->get_active_row_number() == 0 && prependCurrentPartition) { // (current) return ""; } else { return this->uuid_map.at(this->get_active_text()); } } public: static std::string strToLower(std::string str) { for (std::string::iterator iter = str.begin(); iter != str.end(); iter++) { *iter = std::tolower(*iter); } return str; } }; #endif grub-customizer-5.1.0/src/View/Gtk/Element/List.hpp0000644000175000017500000002502713360360026021400 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef LIST_H_ #define LIST_H_ #include #include "../../../lib/Type.hpp" #include "../../../lib/Exception.hpp" #include "../../Model/ListItem.hpp" #include "../../../lib/Helper.hpp" #include template class View_Gtk_Element_List : public Gtk::TreeView { public: struct TreeModel : public Gtk::TreeModelColumnRecord { Gtk::TreeModelColumn name; Gtk::TreeModelColumn text; Gtk::TreeModelColumn relatedRule; Gtk::TreeModelColumn relatedScript; Gtk::TreeModelColumn is_other_entries_marker; Gtk::TreeModelColumn is_renamable; Gtk::TreeModelColumn is_renamable_real; Gtk::TreeModelColumn is_editable; Gtk::TreeModelColumn is_sensitive; Gtk::TreeModelColumn is_activated; Gtk::TreeModelColumn is_toplevel; Gtk::TreeModelColumn ellipsize; Gtk::TreeModelColumn > icon; TreeModel() { this->add(name); this->add(text); this->add(relatedRule); this->add(relatedScript); this->add(is_other_entries_marker); this->add(is_renamable); this->add(is_renamable_real); this->add(is_editable); this->add(is_activated); this->add(is_sensitive); this->add(is_toplevel); this->add(icon); this->add(ellipsize); } }; public: TreeModel treeModel; public: Glib::RefPtr refTreeStore; public: Gtk::CellRendererPixbuf pixbufRenderer; public: Gtk::CellRendererToggle toggleRenderer; public: Gtk::CellRendererText textRenderer; public: Gtk::TreeViewColumn mainColumn; public: Pango::EllipsizeMode ellipsizeMode; public: View_Gtk_Element_List() : ellipsizeMode(Pango::ELLIPSIZE_NONE) { refTreeStore = Gtk::TreeStore::create(treeModel); this->set_model(refTreeStore); this->append_column(this->mainColumn); this->mainColumn.pack_start(pixbufRenderer, false); this->mainColumn.add_attribute(pixbufRenderer.property_pixbuf(), treeModel.icon); this->mainColumn.pack_start(toggleRenderer, false); this->mainColumn.add_attribute(toggleRenderer.property_sensitive(), treeModel.is_sensitive); toggleRenderer.set_visible(false); this->mainColumn.add_attribute(toggleRenderer.property_active(), treeModel.is_activated); this->mainColumn.pack_start(this->textRenderer, true); this->mainColumn.add_attribute(this->textRenderer.property_markup(), treeModel.text); this->mainColumn.add_attribute(this->textRenderer.property_editable(), treeModel.is_renamable); this->mainColumn.set_spacing(10); this->mainColumn.add_attribute(this->textRenderer.property_ellipsize(), treeModel.ellipsize); this->set_headers_visible(false); this->get_selection()->set_mode(Gtk::SELECTION_MULTIPLE); this->set_rubber_banding(true); } public: void addListItem( View_Model_ListItem const& listItem, std::map const& options, Gtk::Window& window ) { if (!listItem.isVisible && !options.at(VIEW_SHOW_HIDDEN_ENTRIES)) { return; } if (listItem.entryPtr == NULL && !options.at(VIEW_GROUP_BY_SCRIPT)) { return; } if (listItem.is_placeholder && !options.at(VIEW_SHOW_PLACEHOLDERS)) { return; } Gtk::TreeIter entryRow; if (listItem.parentEntry) { try { entryRow = this->refTreeStore->append(this->getIterByRulePtr(listItem.parentEntry)->children()); } catch (ItemNotFoundException const& e) { return; // this usually happens when there's a visible entry below a hidden submenu. Just don't show it in this case. } } else if (listItem.parentScript && options.at(VIEW_GROUP_BY_SCRIPT)) { entryRow = this->refTreeStore->append(this->getIterByScriptPtr(listItem.parentScript)->children()); } else { entryRow = this->refTreeStore->append(); } Glib::RefPtr icon; std::string outputName = Helper::escapeXml(listItem.name); if (!listItem.is_placeholder) { outputName = "" + outputName + ""; } if (options.at(VIEW_SHOW_DETAILS)) { outputName += "\n"; if (listItem.scriptPtr != NULL) { outputName += gettext("script"); } else if (listItem.is_submenu) { outputName += gettext("submenu"); } else if (listItem.is_placeholder) { outputName += gettext("placeholder"); } else { outputName += gettext("menuentry"); } if (listItem.scriptName != "") { outputName += std::string(" / ") + Helper::escapeXml(Glib::ustring::compose(gettext("script: %1"), listItem.scriptName)); } if (listItem.defaultName != "" && listItem.name != listItem.defaultName) { outputName += std::string(" / ") + Helper::escapeXml(Glib::ustring::compose(gettext("default name: %1"), listItem.defaultName)); } if (listItem.options.find("_deviceName") != listItem.options.end()) { outputName += Helper::escapeXml(Glib::ustring(" / ") + Helper::escapeXml(Glib::ustring::compose(gettext("partition: %1"), listItem.options.at("_deviceName")))); } if (listItem.options.find("iso_path_full") != listItem.options.end()) { outputName += Helper::escapeXml(Glib::ustring(" / ") + gettext("ISO-Image: ") + listItem.options.at("iso_path_full")); } if (listItem.options.find("memtest_image_full") != listItem.options.end()) { outputName += Helper::escapeXml(Glib::ustring(" / ") + gettext("Memtest-Image: ") + listItem.options.at("memtest_image_full")); } outputName += ""; } if (listItem.scriptPtr != NULL) { icon = window.render_icon_pixbuf(Gtk::Stock::FILE, options.at(VIEW_SHOW_DETAILS) ? Gtk::ICON_SIZE_LARGE_TOOLBAR : Gtk::ICON_SIZE_MENU); } else if (listItem.is_submenu) { icon = window.render_icon_pixbuf(Gtk::Stock::DIRECTORY, options.at(VIEW_SHOW_DETAILS) ? Gtk::ICON_SIZE_LARGE_TOOLBAR : Gtk::ICON_SIZE_MENU); } else if (listItem.is_placeholder) { icon = window.render_icon_pixbuf(Gtk::Stock::FIND, options.at(VIEW_SHOW_DETAILS) ? Gtk::ICON_SIZE_LARGE_TOOLBAR : Gtk::ICON_SIZE_MENU); } else { icon = window.render_icon_pixbuf(Gtk::Stock::EXECUTE, options.at(VIEW_SHOW_DETAILS) ? Gtk::ICON_SIZE_LARGE_TOOLBAR : Gtk::ICON_SIZE_MENU); } if (listItem.isModified) { outputName = "" + outputName + ""; } (*entryRow)[this->treeModel.name] = listItem.name; (*entryRow)[this->treeModel.text] = outputName; (*entryRow)[this->treeModel.is_activated] = listItem.isVisible; (*entryRow)[this->treeModel.relatedRule] = listItem.entryPtr; (*entryRow)[this->treeModel.relatedScript] = listItem.scriptPtr; (*entryRow)[this->treeModel.is_renamable] = false; (*entryRow)[this->treeModel.is_renamable_real] = !listItem.is_placeholder && listItem.scriptPtr == NULL; (*entryRow)[this->treeModel.is_editable] = listItem.isEditable; (*entryRow)[this->treeModel.is_sensitive] = listItem.scriptPtr == NULL; (*entryRow)[this->treeModel.is_toplevel] = listItem.parentEntry == NULL; (*entryRow)[this->treeModel.icon] = icon; (*entryRow)[this->treeModel.ellipsize] = ellipsizeMode; } public: Gtk::TreeModel::iterator getIterByRulePtr(TItem* rulePtr, const Gtk::TreeRow* parentRow = NULL) const { const Gtk::TreeNodeChildren children = parentRow ? parentRow->children() : this->refTreeStore->children(); for (Gtk::TreeModel::const_iterator iter = children.begin(); iter != children.end(); iter++) { if ((*iter)[this->treeModel.relatedRule] == rulePtr) return iter; try { return this->getIterByRulePtr(rulePtr, &**iter); //recursively search for the treeview item } catch (ItemNotFoundException const& e) { //(ignore ItemNotFoundException exception) } } throw ItemNotFoundException("rule not found", __FILE__, __LINE__); } public: Gtk::TreeModel::iterator getIterByScriptPtr(TWrapper* scriptPtr) const { const Gtk::TreeNodeChildren children = this->refTreeStore->children(); for (Gtk::TreeModel::const_iterator iter = children.begin(); iter != children.end(); iter++) { if ((*iter)[this->treeModel.relatedScript] == scriptPtr) { return iter; } } throw ItemNotFoundException("script not found", __FILE__, __LINE__); } public: void setRuleName(TItem* rule, std::string const& newName) { Gtk::TreeModel::iterator iter = this->getIterByRulePtr(rule); (*iter)[this->treeModel.name] = newName; } public: void selectRule(TItem* rule, bool startEdit) { try { this->get_selection()->select(this->getIterByRulePtr(rule)); if (startEdit) { this->set_cursor(this->refTreeStore->get_path(this->getIterByRulePtr(rule)), *this->get_column(0), true); } } catch (ItemNotFoundException const& e) { // do nothing } } public: void selectRules(std::list rules) { this->get_selection()->unselect_all(); for (typename std::list::iterator iter = rules.begin(); iter != rules.end(); iter++) { try { this->get_selection()->select(this->getIterByRulePtr(*iter)); } catch (ItemNotFoundException const& e) { // be fault-tolerant } } } public: void setEntryVisibility(TItem* entry, bool value) { (*this->getIterByRulePtr(entry))[this->treeModel.is_activated] = value; } public: std::list getSelectedRules() { std::list rules; std::vector pathes = this->get_selection()->get_selected_rows(); for (std::vector::iterator iter = pathes.begin(); iter != pathes.end(); iter++) { TItem* rptr = (*this->refTreeStore->get_iter(*iter))[this->treeModel.relatedRule]; rules.push_back(rptr); } return rules; } }; #endif /* LIST_H_ */ grub-customizer-5.1.0/src/View/Gtk/EnvEditor.hpp0000644000175000017500000002471613360360026020777 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUBENVEDITORGTK_H_ #define GRUBENVEDITORGTK_H_ #include "../EnvEditor.hpp" #include #include #include "Element/PartitionChooser.hpp" class View_Gtk_EnvEditor : public Gtk::Dialog, public View_EnvEditor { private: Gtk::VBox vbContent; private: Gtk::Table tblLayout; private: Gtk::Label lblPartition; private: Gtk::Label lblType; private: Gtk::ComboBoxText cbType; private: Gtk::HSeparator separator; private: Gtk::ScrolledWindow scrSubmountpoints; private: Gtk::VBox vbSubmountpoints; private: Gtk::Label lblSubmountpoints; private: View_Gtk_Element_PartitionChooser* pChooser = nullptr; private: std::map optionMap; private: std::map labelMap; private: std::map imageMap; private: std::map subMountpoints; private: Gtk::CheckButton cbSaveConfig; private: Gtk::HButtonBox bbxSaveConfig; private: bool eventLock = true; private: std::string rootDeviceName; public: View_Gtk_EnvEditor() : lblPartition(gettext("_Partition:"), true), lblType(gettext("_Type:"), true), lblSubmountpoints(gettext("Submountpoints:")), cbSaveConfig(gettext("save this configuration")) { this->set_title("Grub Customizer environment setup"); this->set_icon_name("grub-customizer"); Gtk::Box& box = *this->get_vbox(); box.add(this->vbContent); this->vbContent.add(this->tblLayout); this->vbContent.add(this->bbxSaveConfig); this->bbxSaveConfig.pack_start(this->cbSaveConfig); this->tblLayout.attach(this->lblPartition, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK); this->tblLayout.attach(this->lblSubmountpoints, 0, 1, 1, 2); this->tblLayout.attach(this->scrSubmountpoints, 1, 2, 1, 2); this->tblLayout.attach(this->lblType, 0, 1, 2, 3, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK); this->tblLayout.attach(this->cbType, 1, 2, 2, 3, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK); this->tblLayout.attach(this->separator, 0, 2, 3, 4, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK); this->scrSubmountpoints.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); this->scrSubmountpoints.add(this->vbSubmountpoints); this->scrSubmountpoints.set_size_request(-1, 50); this->lblSubmountpoints.set_no_show_all(true); this->scrSubmountpoints.set_no_show_all(true); this->cbType.append(gettext("Grub 2")); this->cbType.append(gettext("BURG")); this->cbType.set_active(0); this->cbType.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EnvEditor::signal_bootloaderType_changed)); lblPartition.set_alignment(Pango::ALIGN_RIGHT); lblType.set_alignment(Pango::ALIGN_RIGHT); lblSubmountpoints.set_alignment(Pango::ALIGN_RIGHT); this->tblLayout.set_spacings(10); this->tblLayout.set_border_width(10); this->add_button(Gtk::Stock::QUIT, Gtk::RESPONSE_CLOSE); this->add_button(Gtk::Stock::APPLY, Gtk::RESPONSE_APPLY); this->signal_response().connect(sigc::mem_fun(this, &View_Gtk_EnvEditor::signal_response_action)); this->eventLock = false; } public: ~View_Gtk_EnvEditor() { if (this->pChooser) { this->tblLayout.remove(*this->pChooser); delete this->pChooser; this->pChooser = nullptr; } } public: void setRootDeviceName(std::string const& rootDeviceName) { this->rootDeviceName = rootDeviceName; } public: void setEnvSettings( std::map const& props, std::list const& requiredProps, std::list const& validProps ) { this->eventLock = true; int pos = 4; for (auto& property : props) { Gtk::Label* label = nullptr; if (this->labelMap.find(property.first) == this->labelMap.end()) { label = Gtk::manage(new Gtk::Label(property.first + ":")); label->set_alignment(Pango::ALIGN_RIGHT); this->tblLayout.attach(*label, 0, 1, pos, pos+1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK); this->labelMap[property.first] = label; } else { label = this->labelMap[property.first]; } Gtk::Entry* entry = nullptr; bool entryCreated = false; if (this->optionMap.find(property.first) == this->optionMap.end()) { entry = Gtk::manage(new Gtk::Entry()); entryCreated = true; this->tblLayout.attach(*entry, 1, 2, pos, pos+1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK); label->set_mnemonic_widget(*entry); entry->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EnvEditor::signal_optionModified)); this->optionMap[property.first] = entry; } else { entry = this->optionMap[property.first]; } if (entry->get_text() != property.second) { entry->set_text(property.second); } Gtk::Image* img = nullptr; if (this->imageMap.find(property.first) == this->imageMap.end()) { img = Gtk::manage(new Gtk::Image()); this->tblLayout.attach(*img, 2, 3, pos, pos+1, Gtk::SHRINK | Gtk::FILL, Gtk::SHRINK); this->imageMap[property.first] = img; } else { img = this->imageMap[property.first]; } Glib::RefPtr icon; if (std::find(validProps.begin(), validProps.end(), property.first) != validProps.end()) { icon = this->render_icon_pixbuf(Gtk::Stock::OK, Gtk::ICON_SIZE_BUTTON); } else if (std::find(requiredProps.begin(), requiredProps.end(), property.first) != requiredProps.end()) { icon = this->render_icon_pixbuf(Gtk::Stock::DIALOG_ERROR, Gtk::ICON_SIZE_BUTTON); } else { icon = this->render_icon_pixbuf(Gtk::Stock::DIALOG_WARNING, Gtk::ICON_SIZE_BUTTON); } img->set(icon); if (this->get_visible()) { this->tblLayout.show_all(); } pos++; } this->eventLock = false; } public: std::map getEnvSettings() { std::map result; for (auto& option : this->optionMap) { result[option.first] = option.second->get_text(); } return result; } public: int getBootloaderType() const { return this->cbType.get_active_row_number(); } public: void show(bool resetPartitionChooser = false) { this->eventLock = true; if (this->pChooser != nullptr) { this->tblLayout.remove(*pChooser); } if (!this->pChooser) { this->pChooser = new View_Gtk_Element_PartitionChooser("", *this->deviceDataList, true, this->rootDeviceName); this->pChooser->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_EnvEditor::signal_partitionChanged)); } if (resetPartitionChooser) { this->pChooser->set_active(0); } this->tblLayout.attach(*pChooser, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK); this->lblPartition.set_mnemonic_widget(*pChooser); this->show_all(); this->eventLock = false; } public: void hide() { Gtk::Dialog::hide(); } public: void removeAllSubmountpoints() { for (auto& subMountpoint : this->subMountpoints) { this->vbSubmountpoints.remove(*subMountpoint.second); delete subMountpoint.second; } this->subMountpoints.clear(); this->scrSubmountpoints.hide(); this->lblSubmountpoints.hide(); } public: void addSubmountpoint(std::string const& name, bool isActive) { Gtk::CheckButton* cb = new Gtk::CheckButton(name); cb->set_active(isActive); cb->signal_toggled().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_EnvEditor::signal_submountpointToggled), *cb)); this->vbSubmountpoints.pack_start(*cb, Gtk::PACK_SHRINK); this->subMountpoints[name] = cb; this->scrSubmountpoints.show(); vbSubmountpoints.show_all(); this->lblSubmountpoints.show(); } public: void setSubmountpointSelectionState(std::string const& submountpoint, bool new_isSelected) { this->subMountpoints[submountpoint]->set_active(new_isSelected); } public: void showErrorMessage(MountExceptionType type) { switch (type){ case MOUNT_FAILED: Gtk::MessageDialog(gettext("Mount failed!")).run(); break; case UMOUNT_FAILED: Gtk::MessageDialog(gettext("umount failed!")).run(); break; case MOUNT_ERR_NO_FSTAB: Gtk::MessageDialog(gettext("This seems not to be a root file system (no fstab found)")).run(); break; case SUB_MOUNT_FAILED: Gtk::MessageDialog(gettext("Couldn't mount the selected partition")).run(); break; case SUB_UMOUNT_FAILED: Gtk::MessageDialog(gettext("Couldn't umount the selected partition")).run(); break; } } public: Gtk::Widget& getContentBox() { this->get_vbox()->remove(this->vbContent); return this->vbContent; } private: void signal_partitionChanged() { if (!this->eventLock) { std::string selectedUuid = this->pChooser->getSelectedUuid(); if (selectedUuid != "") { selectedUuid = "UUID=" + selectedUuid; } this->onSwitchPartition(selectedUuid); } } private: void signal_bootloaderType_changed() { if (!this->eventLock) { this->onSwitchBootloaderType(this->cbType.get_active_row_number()); } } private: void signal_optionModified() { if (!this->eventLock) { this->onOptionChange(); } } private: void signal_response_action(int response_id) { if (response_id == Gtk::RESPONSE_CLOSE || response_id == Gtk::RESPONSE_DELETE_EVENT) { this->onExitClick(); } else if (response_id == Gtk::RESPONSE_APPLY) { this->onApplyClick(this->cbSaveConfig.get_active()); } } private: void signal_submountpointToggled(Gtk::CheckButton& sender) { if (!eventLock) { if (sender.get_active()) { this->onMountSubmountpointClick(sender.get_label()); } else { this->onUmountSubmountpointClick(sender.get_label()); } } } }; #endif /* GRUBENVEDITOR_H_ */ grub-customizer-5.1.0/src/View/Gtk/Theme.hpp0000644000175000017500000010217113360360026020132 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef THEME_GTK_H_ #define THEME_GTK_H_ #include "../Theme.hpp" #include #include #include //a gtkmm combobox with colorful foreground and background. useful to choose an item of a predefined color set class View_Gtk_Theme_ColorChooser : public Gtk::ComboBox, public View_ColorChooser { struct Columns : public Gtk::TreeModelColumnRecord { Gtk::TreeModelColumn name; Gtk::TreeModelColumn idName; Gtk::TreeModelColumn colorCode_background; Gtk::TreeModelColumn colorCode_foreground; Columns() { this->add(this->idName); this->add(this->name); this->add(this->colorCode_background); this->add(this->colorCode_foreground); } }; private: Columns columns; private: Glib::RefPtr refListStore; public: bool event_lock = false; public: View_Gtk_Theme_ColorChooser() { refListStore = Gtk::ListStore::create(columns); this->set_model(refListStore); this->pack_start(columns.name); Glib::ListHandle cellRenderers = this->get_cells(); Gtk::CellRenderer* cellRenderer = *cellRenderers.begin(); this->add_attribute(*cellRenderer, "background", columns.colorCode_background); this->add_attribute(*cellRenderer, "foreground", columns.colorCode_foreground); } public: void addColor( std::string const& codeName, std::string const& outputName, std::string const& cell_background, std::string const& cell_foreground ) { this->event_lock = true; Gtk::TreeModel::iterator iter = refListStore->append(); (*iter)[columns.idName] = codeName; (*iter)[columns.name] = outputName; (*iter)[columns.colorCode_background] = cell_background; (*iter)[columns.colorCode_foreground] = cell_foreground; this->event_lock = false; } public: void selectColor(std::string const& codeName) { this->event_lock = true; this->set_active(0); for (Gtk::TreeModel::iterator iter = this->get_active(); iter; iter++){ if ((*iter)[columns.idName] == codeName){ this->set_active(iter); break; } } this->event_lock = false; } public: std::string getSelectedColor() const { Gtk::TreeModel::iterator iter = this->get_active(); if (iter) return (Glib::ustring)(*iter)[columns.idName]; else return ""; } public: Pango::Color getSelectedColorAsPangoObject() const { Pango::Color color; Gtk::TreeModel::iterator iter = this->get_active(); if (iter) { color.parse((Glib::ustring)(*iter)[columns.colorCode_background]); } return color; } }; //a color chooser with predefined colors for grub class GrubColorChooser : public View_Gtk_Theme_ColorChooser { public: GrubColorChooser(bool blackIsTransparent = false) : View_Gtk_Theme_ColorChooser() { this->addColor("white", gettext("white"), "#ffffff", "#000000"); this->addColor("yellow", gettext("yellow"), "#fefe54", "#000000"); this->addColor("light-cyan", gettext("light-cyan"), "#54fefe", "#000000"); this->addColor("cyan", gettext("cyan"), "#00a8a8", "#000000"); this->addColor("light-blue", gettext("light-blue"), "#5454fe", "#000000"); this->addColor("blue", gettext("blue"), "#0000a8", "#000000"); this->addColor("light-green", gettext("light-green"), "#54fe54", "#000000"); this->addColor("green", gettext("green"), "#00a800", "#000000"); this->addColor("light-magenta", gettext("light-magenta"), "#eb4eeb", "#000000"); this->addColor("magenta", gettext("magenta"), "#a800a8", "#000000"); this->addColor("light-red", gettext("light-red"), "#fe5454", "#000000"); this->addColor("red", gettext("red"), "#ff0000", "#000000"); this->addColor("brown", gettext("brown"), "#a85400", "#000000"); this->addColor("light-gray", gettext("light-gray"), "#a8a8a8", "#000000"); this->addColor("dark-gray", gettext("dark-gray"), "#545454", "#000000"); this->addColor("black", blackIsTransparent ? gettext("transparent") : gettext("black"), "#000000", "#ffffff"); } }; class View_Gtk_Theme : public View_Theme, public Gtk::Dialog { private: Gtk::VBox vbMain; private: Gtk::Frame frmCustomTheme; private: Gtk::HPaned hpCustomTheme; private: Gtk::Frame frmCustomThemeSettings; private: Gtk::VBox vbCustomThemeSettings; private: Gtk::Frame frmCustomThemePreview; private: Gtk::VBox vbCustomThemePreview; private: Gtk::HPaned hpThemeEditor; private: Gtk::Toolbar toolbar; private: Gtk::ToolButton tbttAdd, tbttRemove; private: Gtk::VBox vbFiles; private: Gtk::Frame frmThemeEditor; private: Gtk::ScrolledWindow scrFiles; private: Gtk::ListViewText lvFiles; private: Gtk::VBox vbEdit, vbEditInner; private: Gtk::ScrolledWindow scrEdit; private: Gtk::TextView txtEdit; private: Gtk::Image imgPreview; private: Gtk::HBox hbFileSelection; private: Gtk::Label lblFileSelection; private: Gtk::FileChooserButton fcFileSelection; private: Glib::RefPtr sizeGroupFooter; private: Gtk::HBox hbTheme; private: Gtk::Label lblTheme; private: Gtk::ComboBoxText cbTheme; private: Gtk::Button bttAddTheme, bttRemoveTheme, bttThemeHelp; private: Gtk::Image imgAddTheme, imgRemoveTheme, imgThemeHelp; private: Gtk::FileChooserDialog fcThemeFileChooser; // simple theme editor //color chooser private: Gtk::VBox vbColorChoosers; private: GrubColorChooser gccNormalForeground, gccNormalBackground, gccHighlightForeground, gccHighlightBackground; private: Gtk::Label lblNormalForeground, lblNormalBackground, lblHighlightForeground, lblHighlightBackground; private: Gtk::VBox vbNormalForeground, vbNormalBackground, vbHighlightForeground, vbHighlightBackground; private: Gtk::Frame groupNormalForeground, groupNormalBackground, groupHighlightForeground, groupHighlightBackground; //font selection private: Gtk::Frame groupFont; private: Gtk::Label lblFont; private: Gtk::Alignment alignFont; private: Gtk::FontButton bttFont; private: Gtk::HBox hbFont; private: Gtk::Button bttRemoveFont; private: Gtk::Image imgRemoveFont; //background image private: Gtk::Frame groupBackgroundImage; private: Gtk::Alignment alignBackgroundImage; private: Gtk::Label lblBackgroundImage, lblBackgroundRequiredInfo; private: Gtk::VBox vbBackgroundImage; private: Gtk::HBox hbBackgroundImage; private: Gtk::FileChooserButton fcBackgroundImage; private: Gtk::DrawingArea drwBackgroundPreview; private: Glib::ustring backgroundImagePath; private: std::list previewEntryTitles; private: Glib::Mutex previewEntryTitles_mutex; private: Gtk::VBox vbButtons; private: Gtk::Button bttCopyBackground, bttRemoveBackground; private: Gtk::Image imgRemoveBackground; private: bool event_lock = false; public: View_Gtk_Theme() : lvFiles(1, true), lblFileSelection(gettext("_Load file: "), true), tbttAdd(Gtk::Stock::ADD), tbttRemove(Gtk::Stock::REMOVE), lblTheme(gettext("_Theme:"), true), lblBackgroundImage(gettext("background image")), imgRemoveBackground(Gtk::Stock::REMOVE, Gtk::ICON_SIZE_BUTTON), imgRemoveFont(Gtk::Stock::REMOVE, Gtk::ICON_SIZE_BUTTON), imgThemeHelp(Gtk::Stock::HELP, Gtk::ICON_SIZE_BUTTON), lblBackgroundRequiredInfo(gettext("Please choose a background image!")), gccNormalBackground(true), gccHighlightBackground(true), lblFont(gettext("_Font"), true), imgAddTheme(Gtk::Stock::ADD, Gtk::ICON_SIZE_BUTTON), imgRemoveTheme(Gtk::Stock::DELETE, Gtk::ICON_SIZE_BUTTON), fcThemeFileChooser(*this, gettext("choose theme file"), Gtk::FILE_CHOOSER_ACTION_OPEN), frmThemeEditor(gettext("Theme contents")), frmCustomTheme(gettext("Custom Theme settings")), lblNormalForeground(gettext("Normal: Font"), Pango::ALIGN_LEFT, Pango::ALIGN_CENTER, false), lblNormalBackground(gettext("Normal: Background"), Pango::ALIGN_LEFT, Pango::ALIGN_CENTER, false), lblHighlightForeground(gettext("Highlighted: Font"), Pango::ALIGN_LEFT, Pango::ALIGN_CENTER, false), lblHighlightBackground(gettext("Highlighted: Background"), Pango::ALIGN_LEFT, Pango::ALIGN_CENTER, false) { Gtk::Box& dlgVBox = *this->get_vbox(); dlgVBox.pack_start(hbTheme, Gtk::PACK_SHRINK); hbTheme.pack_start(lblTheme, Gtk::PACK_SHRINK); hbTheme.pack_start(cbTheme); hbTheme.pack_start(bttAddTheme, Gtk::PACK_SHRINK); hbTheme.pack_start(bttRemoveTheme, Gtk::PACK_SHRINK); hbTheme.pack_start(bttThemeHelp, Gtk::PACK_SHRINK); bttAddTheme.add(imgAddTheme); bttRemoveTheme.add(imgRemoveTheme); bttThemeHelp.add(imgThemeHelp); dlgVBox.pack_start(vbMain); vbMain.pack_start(frmThemeEditor); vbMain.pack_start(frmCustomTheme); frmThemeEditor.add(hpThemeEditor); frmCustomTheme.add(hpCustomTheme); toolbar.add(tbttAdd); toolbar.add(tbttRemove); hpThemeEditor.pack1(vbFiles, Gtk::FILL); hpThemeEditor.pack2(vbEdit, Gtk::FILL, Gtk::EXPAND); vbFiles.pack_start(scrFiles); vbFiles.pack_start(toolbar, Gtk::PACK_SHRINK); vbEdit.pack_start(scrEdit); vbEdit.pack_start(hbFileSelection, Gtk::PACK_SHRINK); scrFiles.add(lvFiles); scrEdit.add(vbEditInner); vbEditInner.pack_start(txtEdit); vbEditInner.pack_start(imgPreview); hbFileSelection.pack_start(lblFileSelection, Gtk::PACK_SHRINK); hbFileSelection.pack_start(fcFileSelection); sizeGroupFooter = Gtk::SizeGroup::create(Gtk::SIZE_GROUP_VERTICAL); sizeGroupFooter->add_widget(toolbar); sizeGroupFooter->add_widget(hbFileSelection); hpCustomTheme.pack1(frmCustomThemeSettings, Gtk::FILL); hpCustomTheme.pack2(frmCustomThemePreview, Gtk::FILL, Gtk::EXPAND); hpCustomTheme.set_position(200); frmCustomThemeSettings.add(vbCustomThemeSettings); frmCustomThemePreview.add(vbCustomThemePreview); vbCustomThemeSettings.set_border_width(5); vbCustomThemePreview.set_border_width(5); vbCustomThemeSettings.set_spacing(10); hpCustomTheme.set_border_width(5); frmCustomThemeSettings.set_shadow_type(Gtk::SHADOW_IN); frmCustomThemePreview.set_shadow_type(Gtk::SHADOW_IN); lblTheme.set_mnemonic_widget(cbTheme); tbttAdd.set_is_important(true); txtEdit.set_no_show_all(true); lblFileSelection.set_mnemonic_widget(fcFileSelection); lvFiles.set_column_title(0, gettext("File")); scrEdit.set_shadow_type(Gtk::SHADOW_IN); scrEdit.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); hbFileSelection.set_border_width(5); hbFileSelection.set_spacing(5); scrFiles.set_min_content_width(200); scrFiles.set_shadow_type(Gtk::SHADOW_IN); scrFiles.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); bttAddTheme.set_tooltip_text(gettext("add theme")); bttRemoveTheme.set_tooltip_text(gettext("delete this theme")); frmThemeEditor.set_no_show_all(true); hpThemeEditor.set_border_width(5); Glib::RefPtr fileFilter = Gtk::FileFilter::create(); fileFilter->add_mime_type("application/x-gzip"); fileFilter->add_mime_type("application/x-tar"); fileFilter->add_mime_type("application/x-bzip2"); fileFilter->add_pattern("*.tar.gz"); fileFilter->add_pattern("*.tar"); fileFilter->add_pattern("*.tar.bz2"); fileFilter->set_name(gettext("Archive files")); fcThemeFileChooser.add_filter(fileFilter); Glib::RefPtr fileFilterAll = Gtk::FileFilter::create(); fileFilterAll->add_pattern("*"); fileFilterAll->set_name(gettext("All files")); fcThemeFileChooser.add_filter(fileFilterAll); //theme selection hbTheme.set_spacing(5); fcThemeFileChooser.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); fcThemeFileChooser.add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_APPLY); //color chooser vbCustomThemeSettings.pack_start(vbColorChoosers, Gtk::PACK_SHRINK); vbColorChoosers.set_spacing(10); vbColorChoosers.pack_start(groupNormalForeground, Gtk::PACK_SHRINK); vbColorChoosers.pack_start(groupNormalBackground, Gtk::PACK_SHRINK); vbColorChoosers.pack_start(groupHighlightForeground, Gtk::PACK_SHRINK); vbColorChoosers.pack_start(groupHighlightBackground, Gtk::PACK_SHRINK); groupNormalForeground.add(gccNormalForeground); groupNormalBackground.add(gccNormalBackground); groupHighlightForeground.add(gccHighlightForeground); groupHighlightBackground.add(gccHighlightBackground); groupNormalForeground.set_label_widget(lblNormalForeground); groupNormalBackground.set_label_widget(lblNormalBackground); groupHighlightForeground.set_label_widget(lblHighlightForeground); groupHighlightBackground.set_label_widget(lblHighlightBackground); groupNormalForeground.set_shadow_type(Gtk::SHADOW_NONE); groupNormalBackground.set_shadow_type(Gtk::SHADOW_NONE); groupHighlightForeground.set_shadow_type(Gtk::SHADOW_NONE); groupHighlightBackground.set_shadow_type(Gtk::SHADOW_NONE); //font selection vbCustomThemeSettings.pack_start(groupFont, Gtk::PACK_SHRINK); groupFont.add(alignFont); groupFont.set_label_widget(lblFont); groupFont.set_shadow_type(Gtk::SHADOW_NONE); lblFont.set_mnemonic_widget(bttFont); alignFont.add(hbFont); hbFont.pack_start(bttFont); hbFont.pack_start(bttRemoveFont, Gtk::PACK_SHRINK); bttRemoveFont.add(imgRemoveFont); bttRemoveFont.set_tooltip_text(gettext("remove font")); bttRemoveFont.set_no_show_all(true); //background selection vbCustomThemeSettings.pack_start(groupBackgroundImage, Gtk::PACK_SHRINK); groupBackgroundImage.set_shadow_type(Gtk::SHADOW_NONE); groupBackgroundImage.add(alignBackgroundImage); groupBackgroundImage.set_label_widget(lblBackgroundImage); alignBackgroundImage.add(vbBackgroundImage); vbBackgroundImage.pack_start(hbBackgroundImage, Gtk::PACK_SHRINK); hbBackgroundImage.pack_start(fcBackgroundImage); hbBackgroundImage.pack_start(bttRemoveBackground, Gtk::PACK_SHRINK); fcBackgroundImage.set_action(Gtk::FILE_CHOOSER_ACTION_OPEN); vbCustomThemePreview.pack_start(lblBackgroundRequiredInfo); vbCustomThemePreview.pack_start(drwBackgroundPreview); vbButtons.set_spacing(5); bttRemoveBackground.set_tooltip_text(gettext("remove background")); bttRemoveBackground.add(imgRemoveBackground); bttRemoveBackground.set_no_show_all(true); lblBackgroundRequiredInfo.set_no_show_all(true); bttRemoveTheme.set_sensitive(false); this->add_button(Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE); this->add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_APPLY); tbttAdd.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_fileAddClick)); tbttRemove.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_fileRemoveClick)); lvFiles.get_selection()->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_fileSelected)); lvFiles.get_model()->signal_row_changed().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_fileRenamed)); fcFileSelection.signal_file_set().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_fileChosen)); txtEdit.get_buffer()->signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_textChanged)); cbTheme.signal_changed().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_themeChosen)); bttAddTheme.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_addThemeClicked)); bttRemoveTheme.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_removeThemeClicked)); bttThemeHelp.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_help_click)); fcThemeFileChooser.signal_response().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_themeFileChooserResponse)); this->signal_response().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_dialogResponse)); gccNormalForeground.signal_changed().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Theme::signal_color_changed), gccNormalForeground)); gccNormalBackground.signal_changed().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Theme::signal_color_changed), gccNormalBackground)); gccHighlightForeground.signal_changed().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Theme::signal_color_changed), gccHighlightForeground)); gccHighlightBackground.signal_changed().connect(sigc::bind(sigc::mem_fun(this, &View_Gtk_Theme::signal_color_changed), gccHighlightBackground)); bttFont.signal_font_set().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_font_changed)); bttRemoveFont.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_font_removed)); fcBackgroundImage.signal_file_set().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_other_image_chosen)); bttRemoveBackground.signal_clicked().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_bttRemoveBackground_clicked)); drwBackgroundPreview.signal_draw().connect(sigc::mem_fun(this, &View_Gtk_Theme::signal_redraw_preview)); } public: void addFile(std::string const& fileName) { event_lock = true; lvFiles.append(fileName); event_lock = false; } public: void clear() { event_lock = true; lvFiles.clear_items(); event_lock = false; } public: void setText(std::string const& text) { event_lock = true; imgPreview.hide(); txtEdit.show(); txtEdit.get_buffer()->set_text(text); event_lock = false; } public: void setImage(std::string const& path) { event_lock = true; txtEdit.hide(); imgPreview.show(); imgPreview.set(path); event_lock = false; } public: void selectFile(std::string const& fileName, bool startEdit = false) { lvFiles.get_selection()->unselect_all(); int pos = 0; for (Gtk::TreeModel::iterator iter = lvFiles.get_model()->get_iter("0"); iter; iter++) { if (lvFiles.get_text(pos) == fileName) { lvFiles.set_cursor(lvFiles.get_model()->get_path(iter), *lvFiles.get_column(0), startEdit); break; } pos++; } } public: void selectTheme(std::string const& name) { this->event_lock = true; cbTheme.set_active_text(name); if (cbTheme.get_active_row_number() == -1 && cbTheme.get_children().size()) { cbTheme.set_active(0); } this->event_lock = false; } public: std::string getSelectedTheme() { return cbTheme.get_active_text(); } public: void addTheme(std::string const& name) { this->cbTheme.append(name); } public: void clearThemeSelection() { event_lock = true; this->cbTheme.remove_all(); cbTheme.append(gettext("(Custom Settings)")); cbTheme.set_active(0); event_lock = false; } public: void show(bool burgMode) { this->show_all(); if (burgMode){ vbColorChoosers.hide(); groupBackgroundImage.hide(); } else { vbColorChoosers.show(); groupBackgroundImage.show(); } } public: void setRemoveFunctionalityEnabled(bool value) { this->bttRemoveTheme.set_sensitive(value); } public: void setEditorType(EditorType type) { this->frmCustomTheme.hide(); this->frmThemeEditor.hide(); switch (type) { case EDITORTYPE_CUSTOM: this->frmCustomTheme.show(); this->frmCustomTheme.show_all_children(true); break; case EDITORTYPE_THEME: this->frmThemeEditor.show(); this->frmThemeEditor.show_all_children(true); break; default: throw LogicException("unsupported type given", __FILE__, __LINE__); } } public: void showThemeFileChooser() { fcThemeFileChooser.show_all(); } public: void showError(Error const& e, std::string const& info = "") { switch (e) { case ERROR_INVALID_THEME_PACK_FORMAT: Gtk::MessageDialog(gettext("The chosen file cannot be loaded as theme"), false, Gtk::MESSAGE_ERROR).run(); break; case ERROR_RENAME_CONFLICT: Gtk::MessageDialog(gettext("The given filename cannot be used"), false, Gtk::MESSAGE_ERROR).run(); break; case ERROR_THEMEFILE_NOT_FOUND: Gtk::MessageDialog(Glib::ustring::compose(gettext("This theme doesn't contain a %1. Please look for the config file and rename it to \"%1\"!"), "theme.txt"), false, Gtk::MESSAGE_WARNING).run(); break; case ERROR_SAVE_FAILED: Gtk::MessageDialog(Glib::ustring(gettext("Saving of themes didn't succeed completely!")) + "\n" + info, false, Gtk::MESSAGE_WARNING).run(); break; case ERROR_NO_FILE_SELECTED: Gtk::MessageDialog(gettext("File replacement failed. Please select a theme file first!"), false, Gtk::MESSAGE_ERROR).run(); break; default: throw NotImplementedException("the current value of View_Theme::Error is not processed", __FILE__, __LINE__); } } public: void setCurrentExternalThemeFilePath(std::string const& fileName) { this->event_lock = true; if (fileName == "") { this->fcFileSelection.unselect_all(); } else { this->fcFileSelection.set_filename(fileName); } this->event_lock = false; } public: std::string getDefaultName() const { return "[" + std::string(gettext("filename")) + "]"; } public: View_ColorChooser& getColorChooser(ColorChooserType type) { View_ColorChooser* result = nullptr; switch (type){ case COLOR_CHOOSER_DEFAULT_BACKGROUND: result = &this->gccNormalBackground; break; case COLOR_CHOOSER_DEFAULT_FONT: result = &this->gccNormalForeground; break; case COLOR_CHOOSER_HIGHLIGHT_BACKGROUND: result = &this->gccHighlightBackground; break; case COLOR_CHOOSER_HIGHLIGHT_FONT: result = &this->gccHighlightForeground; break; } assert(result != nullptr); return *result; } public: std::string getFontName() { return bttFont.get_font_name(); } public: int getFontSize() { Pango::FontDescription desc(bttFont.get_font_name()); return desc.get_size() / 1024; } public: void setFontName(std::string const& value) { bttFont.set_font_name(value); bttRemoveFont.set_visible(value != ""); imgRemoveFont.set_visible(value != ""); } public: void showFontWarning() { Gtk::MessageDialog dialog(gettext("please note: large fonts on low boot screen resolutions can corrupt the boot screen\n" "Because this problem depends on chosen font, it isn't possible to define a general maximum. " "When you're trying to select a larger font, please do it in small steps (rebooting and checking the results).\n" "The problem occurs when the grub gui elements (borders, description) won't fit into screen. " "So while there's enough vertical space you can try a larger font. " "The mass of menuentries is not a problem - they are scrolled if required.\n\n" "The corruption results in a endless loading time of grub2. You need a live cd to fix this:\n" " * delete the font from (MOUNT)/boot/grub/unicode.pf2\n" " * reboot your system (menu should show up with default fonts)\n" " * open /etc/default/grub with root permissions and place a '#' in front of the line containing GRUB_FONT\n" " * then run grub customizer to choose the font used before" ), false, Gtk::MESSAGE_INFO); dialog.set_title(gettext("Grub fonts can be harmful (Info)")); dialog.run(); } public: Glib::RefPtr createFormattedText( Cairo::RefPtr& context, Glib::ustring const& text, std::string const& format, int r, int g, int b, int r_b, int g_b, int b_b, bool black_bg_is_transparent = true ) { Glib::RefPtr layout = Pango::Layout::create(context); layout->set_text(text); Pango::AttrList attrList; if (!black_bg_is_transparent || r_b != 0 || g_b != 0 || b_b != 0) { Pango::AttrColor bColor = Pango::Attribute::create_attr_background(r_b*255, g_b*255, b_b*255); attrList.insert(bColor); } Pango::AttrColor fColor = Pango::Attribute::create_attr_foreground(r*255, g*255, b*255); attrList.insert(fColor); Pango::AttrString font = Pango::Attribute::create_attr_family("monospace"); if (format == "" || format == "Normal") { attrList.insert(font); } else { layout->set_font_description(Pango::FontDescription(format)); } layout->set_attributes(attrList); return layout; } public: void setBackgroundImagePreviewPath(std::string const& menuPicturePath, bool isInGrubDir) { this->redraw(menuPicturePath, isInGrubDir); this->event_lock = true; if (menuPicturePath != "") { fcBackgroundImage.set_filename(menuPicturePath); } else { fcBackgroundImage.unselect_all(); } this->event_lock = false; } public: void redraw(std::string const& menuPicturePath, bool isInGrubDir, Cairo::RefPtr const* cr = nullptr) { this->event_lock = true; this->backgroundImagePath = menuPicturePath; if (menuPicturePath != "" && !drwBackgroundPreview.get_visible()) { drwBackgroundPreview.show(); } if (menuPicturePath != "" && drwBackgroundPreview.get_window()){ //it's important to check whether there's a gdk window, if not, Gdk::Pixbuf::create_from_file produces a crash! try { Glib::RefPtr buf = Gdk::Pixbuf::create_from_file(menuPicturePath, drwBackgroundPreview.get_width(), -1, true); if (buf) { Cairo::RefPtr context = cr ? *cr : drwBackgroundPreview.get_window()->create_cairo_context(); drwBackgroundPreview.show(); Gdk::Cairo::set_source_pixbuf(context, buf); context->rectangle(0, 0, buf->get_width(), buf->get_height()); context->fill(); std::list > exampleTexts; Pango::Color fg_n = this->gccNormalForeground.getSelectedColorAsPangoObject(); Pango::Color bg_n = this->gccNormalBackground.getSelectedColorAsPangoObject(); Pango::Color fg_s = this->gccHighlightForeground.getSelectedColorAsPangoObject(); Pango::Color bg_s = this->gccHighlightBackground.getSelectedColorAsPangoObject(); std::string fontName = bttFont.get_font_name(); this->previewEntryTitles_mutex.lock(); for (std::list::iterator iter = this->previewEntryTitles.begin(); iter != this->previewEntryTitles.end(); iter++) { if (iter == this->previewEntryTitles.begin()) { exampleTexts.push_back(View_Gtk_Theme::createFormattedText(context, *iter, fontName, fg_s.get_red() / 255, fg_s.get_green() / 255, fg_s.get_blue() / 255, bg_s.get_red() / 255, bg_s.get_green() / 255, bg_s.get_blue() / 255)); } else { exampleTexts.push_back(View_Gtk_Theme::createFormattedText(context, *iter, fontName, fg_n.get_red() / 255, fg_n.get_green() / 255, fg_n.get_blue() / 255, bg_n.get_red() / 255, bg_n.get_green() / 255, bg_n.get_blue() / 255)); } } this->previewEntryTitles_mutex.unlock(); int vpos = 0; for (std::list >::iterator iter = exampleTexts.begin(); iter != exampleTexts.end(); iter++) { context->move_to(0, vpos); (*iter)->show_in_cairo_context(context); vpos += (*iter)->get_height(); int x,y; (*iter)->get_pixel_size(x,y); vpos += y; } } else { throw Glib::Error(); } } catch (Glib::Error const& e){ Cairo::RefPtr context = cr ? *cr : drwBackgroundPreview.get_window()->create_cairo_context(); Glib::RefPtr buf = drwBackgroundPreview.render_icon_pixbuf(Gtk::Stock::MISSING_IMAGE, Gtk::ICON_SIZE_DIALOG); Gdk::Cairo::set_source_pixbuf(context, buf); context->rectangle(0, 0, buf->get_width(), buf->get_height()); context->fill(); } bttRemoveBackground.show(); imgRemoveBackground.show(); lblBackgroundRequiredInfo.hide(); } else { bttRemoveBackground.hide(); imgRemoveBackground.hide(); drwBackgroundPreview.hide(); lblBackgroundRequiredInfo.show(); } bttCopyBackground.set_sensitive(!isInGrubDir); this->event_lock = false; } public: std::string getBackgroundImagePath() { return fcBackgroundImage.get_filename(); } public: void setPreviewEntryTitles(std::list const& entries) { this->previewEntryTitles_mutex.lock(); this->previewEntryTitles = entries; this->previewEntryTitles_mutex.unlock(); } public: Gtk::Widget& getThemeSelector() { this->get_vbox()->remove(this->hbTheme); return this->hbTheme; } public: Gtk::Widget& getEditorBox() { this->get_vbox()->remove(this->vbMain); return this->vbMain; } private: void signal_fileAddClick() { if (!event_lock) { this->onAddFile(); } } private: void signal_fileRemoveClick() { if (!event_lock) { try { this->onRemoveFile(this->getSelectedFileName()); } catch (ItemNotFoundException const& e) { this->log("no file selected - ignoring event", Logger::ERROR); } } } private: void signal_fileSelected() { if (!event_lock) { try { this->onSelect(this->getSelectedFileName()); } catch (ItemNotFoundException const& e) { this->log("no file selected - ignoring event", Logger::INFO); } } } private: void signal_fileRenamed(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter) { if (!event_lock) { try { this->onRename(this->getSelectedFileName()); } catch (ItemNotFoundException const& e) { this->log("no file selected - ignoring event", Logger::ERROR); } } } private: void signal_fileChosen() { if (!event_lock) { this->onFileChoose(fcFileSelection.get_filename()); } } private: void signal_textChanged() { if (!event_lock) { this->onTextChange(txtEdit.get_buffer()->get_text()); } } private: void signal_themeChosen() { if (!event_lock) { if (this->cbTheme.get_active_row_number() == 0) { this->onSimpleThemeSelected(); } else { this->onThemeSelected(cbTheme.get_active_text()); } } } private: void signal_addThemeClicked() { if (!event_lock) { this->onAddThemeClicked(); } } private: void signal_removeThemeClicked() { if (!event_lock) { Gtk::MessageDialog confirmDlg( gettext("Are you sure you want to remove this theme"), false, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, true ); confirmDlg.set_default_response(Gtk::RESPONSE_YES); if (confirmDlg.run() == Gtk::RESPONSE_YES) { this->onRemoveThemeClicked(cbTheme.get_active_text()); } } } private: void signal_themeFileChooserResponse(int response_id) { if (!event_lock) { this->fcThemeFileChooser.hide(); if (response_id == Gtk::RESPONSE_APPLY) { this->onThemeFileApply(fcThemeFileChooser.get_filename()); } } } private: void signal_dialogResponse(int response_id) { if (!event_lock) { switch (response_id) { case Gtk::RESPONSE_DELETE_EVENT: case Gtk::RESPONSE_CLOSE: this->hide(); break; case Gtk::RESPONSE_APPLY: this->onSaveClick(); break; default: throw NotImplementedException("the given response id is not supported", __FILE__, __LINE__); } } } private: void signal_color_changed(View_Gtk_Theme_ColorChooser& caller) { if (!event_lock && !caller.event_lock){ this->onColorChange(); } } private: void signal_font_changed() { if (!event_lock) { this->onFontChange(false); } } private: void signal_font_removed() { if (!event_lock) { this->onFontChange(true); } } private: void signal_other_image_chosen() { if (!event_lock){ this->onImageChange(); } } private: void signal_help_click() { if (!event_lock){ Gtk::MessageDialog helpDlg( Glib::ustring::compose( gettext("Alternatively to the simple theme method which provides some options like color, wallpaper and font you can install complex theme packages to get an even better looking boot menu.\n\n" "There are several download sources like this thread at ubuntuforums.org:\n%1 (needs account)\n" "or search for '%2' at %3\n\n" "Just download such a package (which is in tar.gz format in most cases) and add it to the list of available themes by using the add button next to the theme chooser.\n\n" "After changing the theme you'll see a simple editor which gives a preview of images and allows some file management. Modified theme contents will be saved when you're pressing the save button."), "http://ubuntuforums.org/showthread.php?t=1823915", "grub", "http://gnome-look.org" ), true, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK, false ); helpDlg.run(); } } private: void signal_bttRemoveBackground_clicked() { if (!event_lock){ this->onImageRemove(); } } private: bool signal_redraw_preview(const Cairo::RefPtr& cr) { if (!event_lock) { this->redraw(this->backgroundImagePath, false, &cr); } return true; } private: std::string getSelectedFileName() { std::vector selectedFiles = this->lvFiles.get_selected(); std::string result; if (selectedFiles.size() == 1) { result = this->lvFiles.get_text(selectedFiles[0]); } else { throw ItemNotFoundException("theme editor: invalid selection count", __FILE__, __LINE__); } return result; } }; #endif /* THEME_GTK_H_ */ grub-customizer-5.1.0/src/View/Gtk/Error.hpp0000644000175000017500000000407013360360026020160 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ERRORGTK_H_ #define ERRORGTK_H_ #include "../Error.hpp" #include #include class View_Gtk_Error : public View_Error { void showErrorMessage(std::string const& errorMessage, bool allowContinue) { Gtk::MessageDialog msgDlg(gettext("An error occurred"), false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_NONE, true); msgDlg.set_secondary_text(gettext("please Inform the author about this problem. The following information could be helpful:") + std::string("\n\n") + errorMessage); msgDlg.set_title(gettext("An error occurred")); msgDlg.add_button(Gtk::Stock::QUIT, Gtk::RESPONSE_CLOSE); if (allowContinue) { msgDlg.add_button(gettext("continue (risk data loss)"), Gtk::RESPONSE_CANCEL); } if (msgDlg.run() == Gtk::RESPONSE_CLOSE) { this->onQuitClick(); } } }; #endif /* ERRORGTK_H_ */ grub-customizer-5.1.0/src/View/Gtk/Installer.hpp0000644000175000017500000000753413360360026021034 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_INSTALL_DLG_GTK_INCLUDED #define GRUB_INSTALL_DLG_GTK_INCLUDED #include "../Installer.hpp" #include #include class View_Gtk_Installer : public Gtk::Dialog, public View_Installer { private: Gtk::Label lblDescription; private: Gtk::HBox hbDevice; private: Gtk::Label lblDevice, lblInstallInfo; private: Gtk::Entry txtDevice; public: View_Gtk_Installer() : lblDescription(gettext("Install the bootloader to MBR and put some\nfiles to the bootloaders data directory\n(if they don't already exist)."), Pango::ALIGN_LEFT), lblDevice(gettext("_Device: "), Pango::ALIGN_LEFT, Pango::ALIGN_CENTER, true) { Gtk::Box* vbDialog = this->get_vbox(); this->set_icon_name("grub-customizer"); vbDialog->pack_start(lblDescription, Gtk::PACK_SHRINK); vbDialog->pack_start(hbDevice); vbDialog->pack_start(lblInstallInfo); hbDevice.pack_start(lblDevice, Gtk::PACK_SHRINK); hbDevice.pack_start(txtDevice); txtDevice.set_text("/dev/sda"); this->set_title(gettext("Install to MBR")); vbDialog->set_spacing(5); lblDevice.set_mnemonic_widget(txtDevice); this->set_border_width(5); this->add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); this->add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK); this->set_default_response(Gtk::RESPONSE_OK); txtDevice.set_activates_default(true); this->signal_response().connect(sigc::mem_fun(this, &View_Gtk_Installer::signal_grub_install_dialog_response)); } public: void show() { this->show_all(); } public: void showMessageGrubInstallCompleted(std::string const& msg) { std::string output = msg; if (output == ""){ Gtk::MessageDialog msg(gettext("The bootloader has been installed successfully")); msg.run(); this->hide(); } else { Gtk::MessageDialog msg(gettext("Error while installing the bootloader"), false, Gtk::MESSAGE_ERROR); msg.set_secondary_text(output); msg.run(); } this->set_response_sensitive(Gtk::RESPONSE_OK, true); this->set_response_sensitive(Gtk::RESPONSE_CANCEL, true); txtDevice.set_sensitive(true); lblInstallInfo.set_text(""); } public: private: void signal_grub_install_dialog_response(int response_id) { if (response_id == Gtk::RESPONSE_OK){ if (txtDevice.get_text().length()){ this->set_response_sensitive(Gtk::RESPONSE_OK, false); this->set_response_sensitive(Gtk::RESPONSE_CANCEL, false); txtDevice.set_sensitive(false); lblInstallInfo.set_text(gettext("installing the bootloader…")); this->onInstallClick(txtDevice.get_text()); } else { Gtk::MessageDialog(gettext("Please type a device string!")).run(); } } else { this->hide(); } } }; #endif grub-customizer-5.1.0/src/View/Theme.hpp0000644000175000017500000001056013360360026017405 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef THEME_H_ #define THEME_H_ #include #include #include #include "../lib/Trait/LoggerAware.hpp" #include "ColorChooser.hpp" class View_Theme : public Trait_LoggerAware { public: enum EditorType { EDITORTYPE_CUSTOM, EDITORTYPE_THEME }; enum ColorChooserType { COLOR_CHOOSER_DEFAULT_FONT, COLOR_CHOOSER_DEFAULT_BACKGROUND, COLOR_CHOOSER_HIGHLIGHT_FONT, COLOR_CHOOSER_HIGHLIGHT_BACKGROUND }; enum Error { ERROR_INVALID_THEME_PACK_FORMAT, ERROR_RENAME_CONFLICT, ERROR_THEMEFILE_NOT_FOUND, ERROR_SAVE_FAILED, ERROR_NO_FILE_SELECTED }; std::function onThemeSelected; std::function onThemeFileApply; std::function onRemoveThemeClicked; std::function onAddThemeClicked; std::function onSimpleThemeSelected; std::function onAddFile; std::function onRemoveFile; std::function onSelect; std::function onRename; std::function onFileChoose; std::function onTextChange; std::function onColorChange; std::function onFontChange; std::function onImageChange; std::function onImageRemove; std::function onSaveClick; virtual void addFile(std::string const& fileName) = 0; virtual void clear() = 0; virtual void setText(std::string const& text) = 0; virtual void setImage(std::string const& path) = 0; virtual void selectFile(std::string const& fileName, bool startEdit = false) = 0; virtual void selectTheme(std::string const& name) = 0; virtual std::string getSelectedTheme() = 0; virtual void addTheme(std::string const& name) = 0; virtual void clearThemeSelection() = 0; virtual void show(bool burgMode) = 0; virtual void setRemoveFunctionalityEnabled(bool value) = 0; virtual void setEditorType(EditorType type) = 0; virtual void showThemeFileChooser() = 0; virtual void showError(Error const& e, std::string const& info = "") = 0; virtual void setCurrentExternalThemeFilePath(std::string const& fileName) = 0; virtual std::string getDefaultName() const = 0; //returns an interface to the given color chooser virtual View_ColorChooser& getColorChooser(ColorChooserType type)=0; //get the name of the selected font virtual std::string getFontName()=0; //get the font size virtual int getFontSize()=0; //set the name of the selected font virtual void setFontName(std::string const& value)=0; //shows a warning message about very large fonts virtual void showFontWarning() = 0; //sets the background image, remove it, if empty string is given virtual void setBackgroundImagePreviewPath(std::string const& menuPicturePath, bool isInGrubDir)=0; //reads the selected background image path virtual std::string getBackgroundImagePath()=0; //set the entry titles to be viewed in the preview image virtual void setPreviewEntryTitles(std::list const& entries)=0; virtual inline ~View_Theme() {}; }; #endif /* THEME_H_ */ grub-customizer-5.1.0/src/lib/0000755000175000017500000000000013360360026015464 5ustar danieldanielgrub-customizer-5.1.0/src/lib/CsvProcessor.hpp0000644000175000017500000000743413360360026020640 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CSV_H_ #define CSV_H_ #include #include #include #include #include #include "Helper.hpp" class CsvReader { FILE* _file; std::list _keys; std::list _parseRow() { std::list dataRow; int c = 0; std::string field; bool quotesFound = false; bool inString = false; while ((c = fgetc(this->_file)) != EOF) { if (c == '"') { if (!inString) { inString = true; } else { if (quotesFound) { // double quotes field += '"'; quotesFound = false; } else { quotesFound = true; } } } else if ((c == ';' || c == '\n') && (!inString || quotesFound)) { quotesFound = false; inString = false; dataRow.push_back(field); field = ""; if (c == '\n') { break; } } else if (inString) { field += char(c); quotesFound = false; } } return dataRow; } public: CsvReader(FILE* file) : _file(file) {} std::map read() { if (this->_keys.size() == 0) { this->_keys = this->_parseRow(); } std::list values = this->_parseRow(); std::map result; for (std::list::iterator keyIter = this->_keys.begin(), valueIter = values.begin(); keyIter != this->_keys.end() && valueIter != values.end(); keyIter++, valueIter++) { result[*keyIter] = *valueIter; } return result; } }; class CsvWriter { FILE* _file; std::list _keys; void _writeValue(std::string const& value) { fputs(("\"" + Helper::str_replace("\"", "\"\"", value) + "\"").c_str(), this->_file); } public: CsvWriter(FILE* file) : _file(file) {} void write(std::map const& data) { if (this->_keys.size() == 0) { for (std::map::const_iterator cellIter = data.begin(); cellIter != data.end(); cellIter++) { this->_keys.push_back(cellIter->first); if (cellIter != data.begin()) { fputc(';', this->_file); } this->_writeValue(cellIter->first); } fputc('\n', this->_file); } for (std::list::iterator keyIter = this->_keys.begin(); keyIter != this->_keys.end(); keyIter++) { std::string value; try { value = data.at(*keyIter); } catch (std::out_of_range const& e) { value = ""; } if (keyIter != this->_keys.begin()) { fputc(';', this->_file); } this->_writeValue(value); } fputc('\n', this->_file); } }; #endif /* CSV_H_ */ grub-customizer-5.1.0/src/lib/Logger.hpp0000644000175000017500000000406313360360026017417 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef LOGGER_H_INCLUDED #define LOGGER_H_INCLUDED #include #include class Logger { public: virtual inline ~Logger() {}; public: static std::shared_ptr& getInstance() { static std::shared_ptr logger; return logger; } public: enum Priority { EVENT, IMPORTANT_EVENT, INFO, WARNING, ERROR, DEBUG, EXCEPTION }; public: virtual void log(std::string const& str, Priority prio) = 0; public: virtual void logActionBegin(std::string const& controller, std::string const& action) = 0; public: virtual void logActionEnd() = 0; public: virtual void logActionBeginThreaded(std::string const& controller, std::string const& action) = 0; public: virtual void logActionEndThreaded() = 0; }; #endif grub-customizer-5.1.0/src/lib/Helper.hpp0000644000175000017500000001166513360360026017425 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef HELPER_H_INCLUDED #define HELPER_H_INCLUDED #include #include #include #include #include "Exception.hpp" # define ASSERT_VOID_CAST static_cast # define assert(expr) \ ((expr) \ ? ASSERT_VOID_CAST (0) \ : Helper::assert_fail (__STRING(expr), __FILE__, __LINE__, __func__)) class Helper { public: static void assert_fail(std::string const& expr, std::string const& file, int line, std::string const& func) { throw AssertException("Assertion `" + expr + "' failed. Function: " + func, file, line); } public: static void assert_filepath_empty(std::string const& filepath, std::string const& sourceCodeFile, int line) { FILE* file = fopen(filepath.c_str(), "r"); if (file) { fclose(file); throw AssertException("found unexpected file on path: " + filepath, sourceCodeFile, line); } } public: static std::string md5(std::string const& input) { unsigned char buf[16]; unsigned char* cStr = new unsigned char[input.length() + 1]; for (int i = 0; i < input.length(); i++) { cStr[i] = static_cast(input[i]); } MD5(cStr, input.length(), buf); std::string result; for (int i = 0; i < 16; i++) { unsigned int a = (buf[i] - (buf[i] % 16)) / 16; if (a <= 9) { result += '0' + a; } else { result += 'a' + a - 10; } unsigned int b = (buf[i] % 16); if (b <= 9) { result += '0' + b; } else { result += 'a' + b - 10; } } assert(result.length() == 32); return result; } public: static std::string str_replace(const std::string &search, const std::string &replace, std::string subject) { size_t pos = 0; while (pos < subject.length() && (pos = subject.find(search, pos)) != -1){ subject.replace(pos, search.length(), replace); pos += replace.length(); } return subject; } public: static std::string escapeXml(std::string const& input) { return str_replace("<", "<", str_replace("&", "&", input)); } public: static std::string ltrim(std::string string, std::string const& chars = " \t\n\r") { int first = string.find_first_not_of(chars); if (first != -1) { return string.substr(first); } else { return ""; } } public: static std::string rtrim(std::string string, std::string const& chars = " \t\n\r") { string = std::string(string.rbegin(), string.rend()); string = ltrim(string, chars); string = std::string(string.rbegin(), string.rend()); return string; } public: static std::string trim(std::string string, std::string const& chars = " \t\n\r") { return rtrim(ltrim(string, chars)); } public: static std::string str_replace_escape(std::string subject, char const& escapeCharacter, char const& replaceCharacter) { std::map extractedEscapeSequences; size_t pos = 0; while (pos < subject.length() && (pos = subject.find(escapeCharacter, pos)) != -1){ subject[pos] = replaceCharacter; subject[pos + 1] = replaceCharacter; pos += 2; } return subject; } public: static std::string str_escape(std::string subject, char const& escapeCharacter, std::string const& charactersToBeEscaped) { size_t pos = 0; while (pos < subject.length() && (pos = subject.find_first_of(charactersToBeEscaped, pos)) != -1){ subject.replace(pos, 1, std::string(1, escapeCharacter) + subject[pos]); pos += 2; } return subject; } public: static std::string str_unescape(std::string subject, char const& escapeCharacter) { size_t pos = 0; while (pos < subject.length() && (pos = subject.find_first_of(escapeCharacter, pos)) != -1){ subject.replace(pos, 2, subject.substr(pos + 1, 1)); pos += 1; } return subject; } }; #endif grub-customizer-5.1.0/src/lib/FileSystem.hpp0000644000175000017500000000534113360360026020264 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef FILESYSTEM_H_ #define FILESYSTEM_H_ #include #include #include #include #include #include #include "Exception.hpp" class FileSystem { public: void copy(std::string const& srcPath, std::string const& destPath, bool recursive = false, std::list ignoreList = std::list() ) { if (std::find(ignoreList.begin(), ignoreList.end(), srcPath) != ignoreList.end()) { return; } struct stat fileProperties; stat(srcPath.c_str(), &fileProperties); if (S_ISDIR(fileProperties.st_mode)) { if (!recursive) { throw LogicException(srcPath + " is an directory but copying shouldn't be recursive (recursive=false)", __FILE__, __LINE__); } DIR* dir = opendir(srcPath.c_str()); if (dir) { struct dirent *entry; mkdir(destPath.c_str(), fileProperties.st_mode); while ((entry = readdir(dir))) { if (std::string(entry->d_name) == "." || std::string(entry->d_name) == "..") { continue; } this->copy(srcPath + "/" + entry->d_name, destPath + "/" + entry->d_name, recursive, ignoreList); } closedir(dir); } else { throw FileReadException("cannot read directory: " + srcPath, __FILE__, __LINE__); } } else { std::ifstream src(srcPath.c_str(), std::ios::binary); std::ofstream dst(destPath.c_str(), std::ios::binary); dst << src.rdbuf(); } } }; #endif /* FILESYSTEM_H_ */ grub-customizer-5.1.0/src/lib/Mutex.hpp0000644000175000017500000000340513360360026017301 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef MUTEX_H_INCLUDED #define MUTEX_H_INCLUDED #include #include #include "Trait/LoggerAware.hpp" class Mutex : public Trait_LoggerAware { public: virtual inline ~Mutex() {}; virtual void lock() = 0; virtual bool trylock() = 0; virtual void unlock() = 0; }; class Mutex_Connection { protected: std::shared_ptr mutex; public: void setMutex(std::shared_ptr mutex) { this->mutex = mutex; } }; #endif grub-customizer-5.1.0/src/lib/ContentParserFactory.hpp0000644000175000017500000000426113360360026022317 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENTPARSERFACTORY_H_ #define CONTENTPARSERFACTORY_H_ #include #include #include #include "ContentParser.hpp" #include "Exception.hpp" class ContentParserFactory { public: virtual inline ~ContentParserFactory() {}; virtual std::shared_ptr create(std::string const& sourceCode) = 0; virtual std::shared_ptr createByName(std::string const& name) = 0; virtual std::list const& getNames() const = 0; virtual std::string getNameByInstance(ContentParser const& instance) const = 0; }; class ContentParserFactory_Connection { protected: std::shared_ptr contentParserFactory; public: void setContentParserFactory(std::shared_ptr contentParserFactory) { this->contentParserFactory = contentParserFactory; } }; #endif /* CONTENTPARSERFACTORY_H_ */ grub-customizer-5.1.0/src/lib/Regex/0000755000175000017500000000000013360360026016536 5ustar danieldanielgrub-customizer-5.1.0/src/lib/Regex/GLib.hpp0000644000175000017500000000770113360360026020071 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GLIBREGEX_H_ #define GLIBREGEX_H_ #include #include #include #include #include #include #include "../Exception.hpp" #include "../Regex.hpp" #include "../Helper.hpp" class Regex_GLib : public Regex { public: std::vector match( std::string const& pattern, std::string const& str, char const& escapeCharacter = '\0', char const& replaceCharacter = '\0' ) { std::vector result; GMatchInfo* mi = NULL; GRegex* gr = g_regex_new(pattern.c_str(), GRegexCompileFlags(0), GRegexMatchFlags(0), NULL); std::string escapedStr = escapeCharacter == '\0' ? "" : Helper::str_replace_escape(str, escapeCharacter, replaceCharacter); const gchar* matchStr = escapeCharacter == '\0' ? str.c_str() : escapedStr.c_str(); bool success = g_regex_match(gr, matchStr, GRegexMatchFlags(0), &mi); if (!success) throw RegExNotMatchedException("RegEx doesn't match", __FILE__, __LINE__); gint match_count = g_match_info_get_match_count(mi); gint offset = 0; for (gint i = 0; i < match_count; i++){ gint start_pos, end_pos; g_match_info_fetch_pos(mi, i, &start_pos, &end_pos); result.push_back(start_pos == -1 ? "" : str.substr(start_pos, end_pos - start_pos)); } g_match_info_free(mi); g_regex_unref(gr); return result; } public: std::string replace( std::string const& pattern, std::string const& str, std::map const& newValues, char const& escapeCharacter = '\0', char const& replaceCharacter = '\0' ) { std::string result = str; GMatchInfo* mi = NULL; GRegex* gr = g_regex_new(pattern.c_str(), GRegexCompileFlags(0), GRegexMatchFlags(0), NULL); std::string escapedStr = escapeCharacter == '\0' ? "" : Helper::str_replace_escape(str, escapeCharacter, replaceCharacter); const gchar* matchStr = escapeCharacter == '\0' ? str.c_str() : escapedStr.c_str(); bool success = g_regex_match(gr, matchStr, GRegexMatchFlags(0), &mi); if (!success) throw RegExNotMatchedException("RegEx doesn't match", __FILE__, __LINE__); gint match_count = g_match_info_get_match_count(mi); gint offset = 0; for (std::map::const_iterator iter = newValues.begin(); iter != newValues.end(); iter++){ gint start_pos, end_pos; g_match_info_fetch_pos(mi, iter->first, &start_pos, &end_pos); if (start_pos != -1 && end_pos != -1) { //ignore unmatched (optional) values result.replace(start_pos+offset, end_pos-start_pos, iter->second); offset += iter->second.length() - (end_pos-start_pos); } } g_match_info_free(mi); g_regex_unref(gr); return result; } }; #endif /* GLIBMUTEX_H_ */ grub-customizer-5.1.0/src/lib/Type.hpp0000644000175000017500000000342613360360026017123 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef TYPE_H_ #define TYPE_H_ enum ViewOption { VIEW_SHOW_DETAILS, VIEW_SHOW_HIDDEN_ENTRIES, VIEW_GROUP_BY_SCRIPT, VIEW_SHOW_PLACEHOLDERS }; // Just a basic class, no own functionality - used as storage type class Rule { public: virtual ~Rule(){} }; class Entry { public: virtual ~Entry(){} }; class Proxy { public: virtual ~Proxy(){} }; class Script { public: virtual ~Script(){} }; // to be used as dummy class class Nothing {}; #endif /* TYPE_H_ */ grub-customizer-5.1.0/src/lib/Logger/0000755000175000017500000000000013360360026016703 5ustar danieldanielgrub-customizer-5.1.0/src/lib/Logger/Stream.hpp0000644000175000017500000000643513360360026020657 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef STREAM_LOGGER_H_ #define STREAM_LOGGER_H_ #include "../Logger.hpp" #include #include class Logger_Stream : public Logger { std::ostream* stream; int actionStackDepth; public: enum LogLevel { LOG_NOTHING, LOG_DEBUG_ONLY, LOG_IMPORTANT, LOG_EVENT, LOG_VERBOSE } logLevel; Logger_Stream(std::ostream& stream) : stream(&stream), actionStackDepth(0), logLevel(LOG_NOTHING) {} void log(std::string const& message, Logger::Priority prio) { if (prio != ERROR && ( this->logLevel == LOG_NOTHING || (this->logLevel == LOG_DEBUG_ONLY && prio != Logger::DEBUG && prio != Logger::EXCEPTION) || (this->logLevel == LOG_IMPORTANT && prio != Logger::IMPORTANT_EVENT) || (this->logLevel == LOG_EVENT && prio != Logger::EVENT && prio != Logger::IMPORTANT_EVENT))) { return; } if (prio == Logger::IMPORTANT_EVENT) { *this->stream << " *** "; } else if (prio == Logger::EVENT) { *this->stream << " * "; } else { *this->stream << " "; } if (prio == Logger::INFO) { *this->stream << "["; } *this->stream << message; if (prio == Logger::INFO) { *this->stream << "]"; } *this->stream << std::endl; } void logActionBegin(std::string const& controller, std::string const& action) { if (this->logLevel == LOG_DEBUG_ONLY || this->logLevel == LOG_VERBOSE) { actionStackDepth++; for (int i = 0; i < actionStackDepth; i++) { *this->stream << " "; } *this->stream << "-> " << controller << "/" << action << std::endl; } } void logActionEnd() { if (this->logLevel == LOG_DEBUG_ONLY || this->logLevel == LOG_VERBOSE) { if (actionStackDepth) { actionStackDepth--; } if (actionStackDepth == 0) { *this->stream << std::endl; } } } void logActionBeginThreaded(std::string const& controller, std::string const& action) { // not yet implemented } void logActionEndThreaded() { // not yet implemented } void setLogLevel(LogLevel level) { this->logLevel = level; } }; #endif grub-customizer-5.1.0/src/lib/Mutex/0000755000175000017500000000000013360360026016566 5ustar danieldanielgrub-customizer-5.1.0/src/lib/Mutex/GLib.hpp0000644000175000017500000000322513360360026020116 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GLIBMUTEX_H_ #define GLIBMUTEX_H_ #include #include "../Mutex.hpp" class Mutex_GLib : public Mutex { protected: Glib::Mutex mutex; public: void lock() { this->mutex.lock(); } bool trylock() { return this->mutex.trylock(); } void unlock() { this->mutex.unlock(); } }; #endif /* GLIBMUTEX_H_ */ grub-customizer-5.1.0/src/lib/Regex.hpp0000644000175000017500000000411513360360026017250 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef REGEX_H_INCLUDED #define REGEX_H_INCLUDED #include #include #include #include class Regex { public: virtual ~Regex(){} public: virtual std::vector match( std::string const& pattern, std::string const& str, char const& escapeCharacter = '\0', char const& replaceCharacter = '\0' ) = 0; public: virtual std::string replace( std::string const& pattern, std::string const& str, std::map const& newValues, char const& escapeCharacter = '\0', char const& replaceCharacter = '\0' ) = 0; }; class Regex_RegexConnection { protected: std::shared_ptr regexEngine; public: void setRegexEngine(std::shared_ptr regexEngine) { this->regexEngine = regexEngine; } }; #endif grub-customizer-5.1.0/src/lib/Exception.hpp0000644000175000017500000001765213360360026020146 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef EXCEPTION_H_ #define EXCEPTION_H_ #include #include #include class Exception { std::string _message; std::string _file; int _line; public: Exception(std::string const& message, std::string const& file = "", int line = -1) : _message(message), _file(file), _line(line) { } virtual inline ~Exception(){} virtual operator std::string() const { std::ostringstream out; out << "exception '" << typeid(*this).name() << "'\n with message '" << this->_message; if (this->_file != "") { out << "'\n in " << this->_file << ":" << this->_line; } return out.str(); } virtual std::string getMessage() const { return this->_message; } virtual operator bool() const { return this->_message != ""; } }; class LogicException : public Exception { public: inline LogicException(std::string const& message, std::string const& file = "", int line = -1) : Exception(message, file, line) {} }; class HandleNotOpenedException : public LogicException { public: inline HandleNotOpenedException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class HandleNotClosedException : public LogicException { public: inline HandleNotClosedException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class EndOfFileException : public LogicException { public: inline EndOfFileException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class MustBeProxyException : public LogicException { public: inline MustBeProxyException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class ItemNotFoundException : public LogicException { public: inline ItemNotFoundException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class ParserException : public LogicException { public: inline ParserException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class RegExNotMatchedException : public LogicException { public: inline RegExNotMatchedException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class NoMoveTargetException : public LogicException { public: inline NoMoveTargetException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class ParserNotFoundException : public ItemNotFoundException { public: inline ParserNotFoundException(std::string const& message, std::string const& file = "", int line = -1) : ItemNotFoundException(message, file, line) {} }; class MountpointNotFoundException : public ItemNotFoundException { public: inline MountpointNotFoundException(std::string const& message, std::string const& file = "", int line = -1) : ItemNotFoundException(message, file, line) {} }; class TechnicalException : public Exception { public: inline TechnicalException(std::string const& message, std::string const& file = "", int line = -1) : Exception(message, file, line) {} }; class AssertException : public TechnicalException { public: inline AssertException(std::string const& message, std::string const& file = "", int line = -1) : TechnicalException(message, file, line) {} }; class NullPointerException : public TechnicalException { public: inline NullPointerException(std::string const& message, std::string const& file = "", int line = -1) : TechnicalException(message, file, line) {} }; class ConfigException : public TechnicalException { public: inline ConfigException(std::string const& message, std::string const& file = "", int line = -1) : TechnicalException(message, file, line) {} }; class SystemException : public TechnicalException { public: inline SystemException(std::string const& message, std::string const& file = "", int line = -1) : TechnicalException(message, file, line) {} }; class FileReadException : public SystemException { public: inline FileReadException(std::string const& message, std::string const& file = "", int line = -1) : SystemException(message, file, line) {} }; class FileSaveException : public SystemException { public: inline FileSaveException(std::string const& message, std::string const& file = "", int line = -1) : SystemException(message, file, line) {} }; class DirectoryNotFoundException : public SystemException { public: inline DirectoryNotFoundException(std::string const& message, std::string const& file = "", int line = -1) : SystemException(message, file, line) {} }; class CmdExecException : public SystemException { public: inline CmdExecException(std::string const& message, std::string const& file = "", int line = -1) : SystemException(message, file, line) {} }; class MountException : public SystemException { public: inline MountException(std::string const& message, std::string const& file = "", int line = -1) : SystemException(message, file, line) {} }; class UMountException : public SystemException { public: inline UMountException(std::string const& message, std::string const& file = "", int line = -1) : SystemException(message, file, line) {} }; class MissingFstabException : public SystemException { public: inline MissingFstabException(std::string const& message, std::string const& file = "", int line = -1) : SystemException(message, file, line) {} }; class BadCastException : public TechnicalException { public: inline BadCastException(std::string const& message, std::string const& file = "", int line = -1) : TechnicalException(message, file, line) {} }; class InvalidStringFormatException : public LogicException { public: inline InvalidStringFormatException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class InvalidFileTypeException : public LogicException { public: inline InvalidFileTypeException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; class NotImplementedException : public LogicException { public: inline NotImplementedException(std::string const& message, std::string const& file = "", int line = -1) : LogicException(message, file, line) {} }; // Template: //class CLASSNAME : public BASECLASS { // public: inline CLASSNAME(std::string const& message, std::string const& file = "", int line = -1) // : BASECLASS(message, file, line) {} //}; #endif /* EXCEPTION_H_ */ grub-customizer-5.1.0/src/lib/ContentParser.hpp0000644000175000017500000000407413360360026020771 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENTPARSER_H_ #define CONTENTPARSER_H_ #include #include #include "Exception.hpp" class ContentParser { public: virtual inline ~ContentParser() {}; virtual void parse(std::string const& sourceCode) = 0; virtual std::map getOptions() const = 0; virtual std::string getOption(std::string const& name) const = 0; virtual bool hasOption(std::string const& name) const = 0; virtual void setOption(std::string const& name, std::string const& value) = 0; virtual void setOptions(std::map const& options) = 0; virtual std::string buildSource() const = 0; virtual void buildDefaultEntry() = 0; virtual std::list getErrors() = 0; }; #endif /* CONTENTPARSER_H_ */ grub-customizer-5.1.0/src/lib/ContentParser/0000755000175000017500000000000013360360026020253 5ustar danieldanielgrub-customizer-5.1.0/src/lib/ContentParser/Chainloader.hpp0000644000175000017500000000734713360360026023210 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENT_PARSER_CHAINLOADER_H_ #define CONTENT_PARSER_CHAINLOADER_H_ #include "../Regex.hpp" #include "../../Model/DeviceMap.hpp" #include "Abstract.hpp" class ContentParser_Chainloader : public ContentParser_Abstract, public Regex_RegexConnection, public Model_DeviceMap_Connection { static const char* _regex; std::string sourceCode; public: void parse(std::string const& sourceCode) { this->sourceCode = sourceCode; try { std::vector result = this->regexEngine->match(ContentParser_Chainloader::_regex, this->sourceCode, '\\', '_'); //check partition indices by uuid Model_DeviceMap_PartitionIndex pIndex = this->deviceMap->getHarddriveIndexByPartitionUuid(result[3]); if (pIndex.hddNum != result[1] || pIndex.partNum != result[2]){ throw ParserException("parsing failed - hdd num check", __FILE__, __LINE__); } this->options["partition_uuid"] = result[3]; } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } std::string buildSource() const { try { Model_DeviceMap_PartitionIndex pIndex = deviceMap->getHarddriveIndexByPartitionUuid(this->options.at("partition_uuid")); std::map newValues; newValues[1] = pIndex.hddNum; newValues[2] = pIndex.partNum; newValues[3] = this->options.at("partition_uuid"); std::string result; result = this->regexEngine->replace(ContentParser_Chainloader::_regex, this->sourceCode, newValues, '\\', '_'); this->regexEngine->match(ContentParser_Chainloader::_regex, result, '\\', '_'); return result; } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } void buildDefaultEntry() { std::string defaultEntry = "set root='(hd0,0)'\n" "search --no-floppy --fs-uuid --set 000\n" "drivemap -s (hd0) ${root}\n" "chainloader +1"; assert(this->regexEngine->match(ContentParser_Chainloader::_regex, defaultEntry, '\\', '_').size() > 0); this->sourceCode = defaultEntry; this->options.clear(); this->options["partition_uuid"] = ""; } }; const char* ContentParser_Chainloader::_regex = "[ \t]*set[ \t]+root='\\(hd([0-9]+)[^0-9]+([0-9]+)\\)'\\n" "[ \t]*search[ \t]+--no-floppy[ \t]+--fs-uuid[ \t]+--set(?:=root)?[ \t]+([-0-9a-fA-F]+)\\n" "(.|\\n)*" "[ \t]*chainloader[ \t]+\\+1\\n?[ \t]*"; #endif /* CONTENT_PARSER_CHAINLOADER_H_ */ grub-customizer-5.1.0/src/lib/ContentParser/Linux.hpp0000644000175000017500000001111313360360026022060 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENT_PARSER_LINUX_H_ #define CONTENT_PARSER_LINUX_H_ #include "../../Model/DeviceMap.hpp" #include "../Regex.hpp" #include "Abstract.hpp" class ContentParser_Linux : public ContentParser_Abstract, public Regex_RegexConnection, public Model_DeviceMap_Connection { static const char* _regex; std::string sourceCode; public: void parse(std::string const& sourceCode) { this->sourceCode = sourceCode; try { std::vector result = this->regexEngine->match(ContentParser_Linux::_regex, sourceCode, '\\', '_'); //check partition indices by uuid Model_DeviceMap_PartitionIndex pIndex = this->deviceMap->getHarddriveIndexByPartitionUuid(result[6]); if (pIndex.hddNum != result[1] || pIndex.partNum != result[2]){ throw ParserException("parsing failed - hdd num check", __FILE__, __LINE__); } //check if the uuids (Kernel <-> search command) are the same if (result[3] != result[6]) throw ParserException("parsing failed - uuid different", __FILE__, __LINE__); //assign data this->options["partition_uuid"] = result[6]; this->options["linux_image"] = this->unescape(result[5]); this->options["other_params"] = Helper::ltrim(result[7], " "); this->options["initramfs"] = this->unescape(result[9]); } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } std::string buildSource() const { try { Model_DeviceMap_PartitionIndex pIndex = this->deviceMap->getHarddriveIndexByPartitionUuid(this->options.at("partition_uuid")); std::map newValues; newValues[1] = pIndex.hddNum; newValues[2] = pIndex.partNum; newValues[3] = this->options.at("partition_uuid"); newValues[5] = this->escape(this->options.at("linux_image")); newValues[6] = this->options.at("partition_uuid"); newValues[7] = this->options.at("other_params").size() ? " " + this->options.at("other_params") : ""; newValues[9] = this->escape(this->options.at("initramfs")); std::string result; result = this->regexEngine->replace(ContentParser_Linux::_regex, this->sourceCode, newValues, '\\', '_'); this->regexEngine->match(ContentParser_Linux::_regex, result, '\\', '_'); return result; } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } void buildDefaultEntry() { std::string defaultEntry = "set root='(hd0,0)'\n" "search --no-floppy --fs-uuid --set=root 000\n" "linux ___ root=UUID=000\n" "initrd ___"; assert(this->regexEngine->match(ContentParser_Linux::_regex, defaultEntry, '\\', '_').size() > 0); this->sourceCode = defaultEntry; this->options.clear(); this->options["partition_uuid"] = ""; this->options["linux_image"] = "/vmlinuz"; this->options["initramfs"] = "/initrd.img"; this->options["other_params"] = ""; } }; const char* ContentParser_Linux::_regex = "[ \t]*set root='\\(hd([0-9]+)[^0-9]+([0-9]+)\\)'\\n" "[ \t]*search[ \t]+--no-floppy[ \t]+--fs-uuid[ \t]+--set(?:=root)? ([-0-9a-fA-F]+)\\n" "([ \t]*echo[ \t]+.*\n)?" "[ \t]*linux[ \t]+(\"[^\"]*\"|[^ \t]+)[ \t]+root=UUID=([-0-9a-fA-F]+)(.*)\\n" "([ \t]*echo[ \t]+.*\n)?" "[ \t]*initrd[ \t]+(\"[^\"]*\"|[^ \\n]+)[ \\n\t]*$"; #endif /* CONTENT_PARSER_LINUX_H_ */ grub-customizer-5.1.0/src/lib/ContentParser/FactoryImpl.hpp0000644000175000017500000000624713360360026023226 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENTPARSERFACTORYIMPL_H_ #define CONTENTPARSERFACTORYIMPL_H_ #include "../../lib/ContentParserFactory.hpp" #include "../../lib/ContentParser.hpp" #include #include #include "../Exception.hpp" class ContentParser_FactoryImpl : public ContentParserFactory { private: std::list> parsers; private: std::list names; public: void registerParser(std::shared_ptr parser, std::string const& name) { assert(this->parsers.size() == this->names.size()); this->parsers.push_back(parser); this->names.push_back(name); } public: std::shared_ptr create(std::string const& sourceCode) { for (auto parser : this->parsers) { try { parser->parse(sourceCode); return parser; } catch (ParserException const& e) { continue; } } throw ParserNotFoundException("no matching parser found", __FILE__, __LINE__); } public: std::shared_ptr createByName(std::string const& name) { assert(this->parsers.size() == this->names.size()); std::list::iterator namesIter = this->names.begin(); for (auto parser : this->parsers) { if (name == *namesIter) { return parser; } namesIter++; } throw ItemNotFoundException("no parser found by name '" + name + "'", __FILE__, __LINE__); } public: std::list const& getNames() const { return this->names; } public: std::string getNameByInstance(ContentParser const& instance) const { assert(this->parsers.size() == this->names.size()); std::list::const_iterator namesIter = this->names.begin(); for (auto parser : this->parsers) { if (&instance == &*parser) { return *namesIter; } namesIter++; } throw ItemNotFoundException("no parser found by instance pointer", __FILE__, __LINE__); } }; #endif /* CONTENTPARSERFACTORYIMPL_H_ */ grub-customizer-5.1.0/src/lib/ContentParser/Abstract.hpp0000644000175000017500000001033213360360026022526 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENT_PARSER_ABSTRACT_H_ #define CONTENT_PARSER_ABSTRACT_H_ #include #include #include #include #include #include "../../lib/ContentParser.hpp" #include "../../lib/Trait/LoggerAware.hpp" #include "../../lib/Helper.hpp" class ContentParser_Abstract : public ContentParser, public Trait_LoggerAware { protected: std::map options; public: virtual inline ~ContentParser_Abstract() {} public: std::map getOptions() const { return this->options; } public: bool hasOption(std::string const& name) const { return this->options.find(name) != this->options.end(); } public: std::string getOption(std::string const& name) const { if (!this->hasOption(name)) { throw ItemNotFoundException("option '" + name + "' not found", __FILE__, __LINE__); } return this->options.at(name); } public: void setOption(std::string const& name, std::string const& value) { this->options[name] = value; } public: void setOptions(std::map const& options) { this->options = options; } public: std::list getErrors() { std::list errors; // not empty for (std::map::iterator optionIter = this->options.begin(); optionIter != this->options.end(); optionIter++) { if (optionIter->first == "other_params") { continue; } if (optionIter->second == "") { errors.push_back(optionIter->first); } } // specific validators if (this->options.find("iso_path_full") != this->options.end() && !this->_fileExists(this->options["iso_path_full"])) { errors.push_back("iso_path_full"); } if (this->options.find("memtest_image_full") != this->options.end() && !this->_fileExists(this->options["memtest_image_full"])) { errors.push_back("memtest_image_full"); } errors.unique(); return errors; } protected: std::string _realpath(std::string const& path) const { char* realPathCharPtr = realpath(path.c_str(), NULL); std::string realPath; if (realPathCharPtr != NULL) { realPath = realPathCharPtr; free(realPathCharPtr); // allocated data by realpath must be deleted } else { realPath = path; // use given path if file not found } return realPath; } protected: bool _fileExists(std::string const& fileName) { FILE* file = fopen(fileName.c_str(), "r"); if (file) { fclose(file); return true; } else { return false; } } protected: std::string escape(std::string value) const { if (value.find_first_of(" \"") != -1 || value.size() == 0) { value = "\"" + Helper::str_escape(value, '\\', "\\\"") + "\""; } return value; } protected: std::string unescape(std::string value) const { if (value[0] == '"' && value[value.size() - 1] == '"') { value = value.substr(1, value.size() - 2); } return Helper::str_unescape(value, '\\'); } }; #endif /* CONTENT_PARSER_ABSTRACT_H_ */ grub-customizer-5.1.0/src/lib/ContentParser/Memtest.hpp0000644000175000017500000001204413360360026022403 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENT_PARSER_MEMTEST_H_ #define CONTENT_PARSER_MEMTEST_H_ #include "../Regex.hpp" #include "../../Model/DeviceMap.hpp" #include "Abstract.hpp" class ContentParser_Memtest : public ContentParser_Abstract, public Regex_RegexConnection, public Model_DeviceMap_Connection, public Model_MountTable_Connection, public Model_DeviceDataList_Connection { static const char* _regex; std::string sourceCode; public: void parse(std::string const& sourceCode) { this->sourceCode = sourceCode; try { std::vector result = this->regexEngine->match(ContentParser_Memtest::_regex, this->sourceCode, '\\', '_'); //check partition indices by uuid Model_DeviceMap_PartitionIndex pIndex = this->deviceMap->getHarddriveIndexByPartitionUuid(result[3]); if (pIndex.hddNum != result[1] || pIndex.partNum != result[2]){ throw ParserException("parsing failed - hdd num check", __FILE__, __LINE__); } this->options["partition_uuid"] = result[3]; this->options["memtest_image"] = this->unescape(result[4]); try { std::string device = this->deviceDataList->getDeviceByUuid(this->options["partition_uuid"]); this->options["memtest_image_full"] = Helper::rtrim(this->mountTable->findByDevice(device).mountpoint, "/") + "/" + Helper::ltrim(this->options["memtest_image"], "/"); if (!this->_fileExists(this->options["memtest_image_full"])) { throw ItemNotFoundException("memtest image '" + this->options["memtest_image_full"] + "'not found!", __FILE__, __LINE__); } this->options.erase("partition_uuid"); this->options.erase("memtest_image"); } catch (ItemNotFoundException const& e) { // partition not mounted this->options.erase("memtest_image_full"); } } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } std::string buildSource() const { std::string partitionUuid, filePath; if (this->options.find("memtest_image_full") != this->options.end()) { std::string realMemtestPath = this->_realpath(this->options.at("memtest_image_full")); Model_MountTable_Mountpoint& mountpoint = this->mountTable->getByFilePath(realMemtestPath); partitionUuid = (*this->deviceDataList)[mountpoint.device]["UUID"]; filePath = realMemtestPath.substr(mountpoint.mountpoint.size()); } else { partitionUuid = this->options.at("partition_uuid"); filePath = this->options.at("memtest_image"); } try { Model_DeviceMap_PartitionIndex pIndex = this->deviceMap->getHarddriveIndexByPartitionUuid(partitionUuid); std::map newValues; newValues[1] = pIndex.hddNum; newValues[2] = pIndex.partNum; newValues[3] = partitionUuid; newValues[4] = this->escape(filePath); std::string result; result = this->regexEngine->replace(ContentParser_Memtest::_regex, this->sourceCode, newValues, '\\', '_'); this->regexEngine->match(ContentParser_Memtest::_regex, result, '\\', '_'); return result; } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } void buildDefaultEntry() { std::string defaultEntry = "set root='(hd0,0)'\n" "search --no-floppy --fs-uuid --set 000\n" "linux16 ___"; this->sourceCode = defaultEntry; assert(this->regexEngine->match(ContentParser_Memtest::_regex, defaultEntry, '\\', '_').size() > 0); this->options.clear(); this->options["memtest_image_full"] = "/boot/memtest86+.bin"; } }; const char* ContentParser_Memtest::_regex = "[ \t]*set root='\\(hd([0-9]+)[^0-9]+([0-9]+)\\)'\\n" "[ \t]*search[ \t]+--no-floppy[ \t]+--fs-uuid[ \t]+--set(?:=root)? ([-0-9a-fA-F]+)\\n" "[ \t]*linux16[ \t]*(\"[^\"]*\"|[^ \\t\\n]+).*$"; #endif /* CONTENT_PARSER_MEMTEST_H_ */ grub-customizer-5.1.0/src/lib/ContentParser/LinuxIso.hpp0000644000175000017500000001443413360360026022544 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTENT_PARSER_LINUXISO_H_ #define CONTENT_PARSER_LINUXISO_H_ #include "../Regex.hpp" #include "../../Model/DeviceMap.hpp" #include "Abstract.hpp" class ContentParser_LinuxIso : public ContentParser_Abstract, public Regex_RegexConnection, public Model_DeviceMap_Connection, public Model_MountTable_Connection, public Model_DeviceDataList_Connection { static const char* _regex; std::string sourceCode; public: void parse(std::string const& sourceCode) { this->sourceCode = sourceCode; try { std::vector result = this->regexEngine->match(ContentParser_LinuxIso::_regex, this->sourceCode, '\\', '_'); //check partition indices by uuid Model_DeviceMap_PartitionIndex pIndex = this->deviceMap->getHarddriveIndexByPartitionUuid(result[3]); if (pIndex.hddNum != result[1] || pIndex.partNum != result[2]){ throw ParserException("parsing failed - hdd num check", __FILE__, __LINE__); } //check if the iso filepaths are the same if (this->unescape(result[4]) != this->unescape(result[6])) throw ParserException("parsing failed - iso filepaths are different", __FILE__, __LINE__); //assign data this->options["partition_uuid"] = result[3]; this->options["linux_image"] = Helper::str_replace("(loop)", "", this->unescape(result[5])); this->options["initramfs"] = Helper::str_replace("(loop)", "", this->unescape(result[8])); this->options["iso_path"] = this->unescape(result[4]); this->options["iso_path_full"] = ""; this->options["other_params"] = Helper::ltrim(result[7], " "); try { std::string device = this->deviceDataList->getDeviceByUuid(this->options["partition_uuid"]); this->options["iso_path_full"] = Helper::rtrim(this->mountTable->findByDevice(device).mountpoint, "/") + "/" + Helper::ltrim(this->options["iso_path"], "/"); if (!this->_fileExists(this->options["iso_path_full"])) { throw ItemNotFoundException("iso file '" + this->options["iso_path_full"] + "'not found!", __FILE__, __LINE__); } this->options.erase("partition_uuid"); this->options.erase("iso_path"); } catch (ItemNotFoundException const& e) { // partition not mounted or file not found this->options.erase("iso_path_full"); } } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } std::string buildSource() const { std::string partitionUuid, isoPath; if (this->options.find("iso_path_full") != this->options.end()) { std::string realIsoPath = this->_realpath(this->options.at("iso_path_full")); Model_MountTable_Mountpoint& mountpoint = this->mountTable->getByFilePath(realIsoPath); partitionUuid = (*this->deviceDataList)[mountpoint.device]["UUID"]; isoPath = realIsoPath.substr(mountpoint.mountpoint.size()); } else { partitionUuid = this->options.at("partition_uuid"); isoPath = this->options.at("iso_path"); } try { Model_DeviceMap_PartitionIndex pIndex = this->deviceMap->getHarddriveIndexByPartitionUuid(partitionUuid); std::map newValues; newValues[1] = pIndex.hddNum; newValues[2] = pIndex.partNum; newValues[3] = partitionUuid; newValues[4] = this->escape(isoPath); newValues[5] = this->escape("(loop)" + this->options.at("linux_image")); newValues[6] = this->escape(isoPath); newValues[7] = this->options.at("other_params").size() ? " " + this->options.at("other_params") : ""; newValues[8] = this->escape("(loop)" + this->options.at("initramfs")); std::string result; result = this->regexEngine->replace(ContentParser_LinuxIso::_regex, this->sourceCode, newValues, '\\', '_'); this->regexEngine->match(ContentParser_LinuxIso::_regex, result, '\\', '_'); return result; } catch (RegExNotMatchedException const& e) { throw ParserException("parsing failed - RegEx not matched", __FILE__, __LINE__); } } void buildDefaultEntry() { std::string defaultEntry = "set root='(hd0,0)'\n" "search --no-floppy --fs-uuid --set=root 000000000000000000\n" "loopback loop ___\n" "linux (loop)___ boot=casper iso-scan/filename=___\n" "initrd (loop)___\n"; assert(this->regexEngine->match(ContentParser_LinuxIso::_regex, defaultEntry, '\\', '_').size() > 0); this->sourceCode = defaultEntry; this->options.clear(); this->options["linux_image"] = "/casper/vmlinuz"; this->options["initramfs"] = "/casper/initrd.lz"; this->options["iso_path_full"] = ""; this->options["other_params"] = "quiet splash locale=en_US bootkbd=us console-setup/layoutcode=us noeject --"; } }; const char* ContentParser_LinuxIso::_regex = "[ \t]*set root='\\(hd([0-9]+)[^0-9]+([0-9]+)\\)'\\n" "[ \t]*search[ \\t]+--no-floppy[ \\t]+--fs-uuid[ \\t]+--set(?:=root)? ([-0-9a-fA-F]+)\\n" "[ \t]*loopback[ \\t]+loop[ \t]+(\"[^\"]*\"|[^ \\t]+)\\n" "[ \t]*linux[ \\t]+(\"\\(loop\\)[^\"]*\"|\\(loop\\)[^ \\t]*)[ \\t]+boot=casper iso-scan/filename=(\"[^\"]*\"|[^ \\t]+)(.*)\\n" "[ \t]*initrd[ \\t]+(\"\\(loop\\)[^\"]*\"|\\(loop\\)[^ \\t]*)"; #endif /* CONTENT_PARSER_LINUXISO_H_ */ grub-customizer-5.1.0/src/lib/ArrayStructure.hpp0000644000175000017500000001326213360360026021200 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ARRAYSTRUCTURE_H_ #define ARRAYSTRUCTURE_H_ #include #include #include #include #include #include "Helper.hpp" struct ArrayStructureItem { public: ArrayStructureItem(std::string const& value = "") : isArray(false), value(value), isString(true) {} bool isArray; bool isString; std::string const& operator=(std::string const& value) { this->isArray = false; this->isString = true; return this->value = value; } std::string const& operator=(double const& value) { std::ostringstream str; str << value; this->isArray = false; this->isString = false; this->value = str.str(); return this->value; } std::string const& operator=(bool const& value) { this->isArray = false; this->isString = false; this->value = value ? "true" : "false"; return this->value; } std::string const& operator=(void const* value) { this->isArray = false; this->isString = false; if (value == NULL) { this->value = "NULL"; } else { std::ostringstream str; str << value; this->value = str.str(); } return this->value; } std::string const& operator=(char const* value) { this->isArray = false; this->isString = true; return this->value = value; } std::string const& operator=(int value) { std::ostringstream str; str << value; this->isArray = false; this->isString = false; this->value = str.str(); return this->value; } std::map const& operator=(std::map const& value) { this->isArray = true; this->isString = false; this->subItems = value; return value; } ArrayStructureItem& operator[] (std::string const& key) { this->isArray = true; this->isString = false; return this->subItems[key]; } ArrayStructureItem& operator[] (int const& key) { std::ostringstream str; str << key; ArrayStructureItem newItem; this->isArray = true; this->isString = false; return this->subItems[str.str()]; } std::string value; std::map subItems; }; /** * used to dump objects implementing a cast to ArrayStructure * * Example of usage: * ArrayStructure test; * test["x"] = "Model_Proxy"; * test["x"]["y"]; * test["x"]["z"] = (Foo*)NULL; * test["x"]["a"] = 10.4; * test["x"]["bool1"] = true; * test["x"]["bool2"] = false; * test["a"] = "eins"; * test["null-test"] = (Foo*)NULL; * ArrayStructure subStructure; * subStructure["BLUBB"] = true; * test["SUB"] = subStructure; * var_dump(test) */ class ArrayStructure : public std::map { public: ArrayStructure() {} ArrayStructure(std::list const& source) { int i = 0; for (std::list::const_iterator iter = source.begin(); iter != source.end(); iter++) { std::ostringstream str; str << i; ArrayStructureItem newItem; newItem.value = *iter; (*this)[str.str()] = newItem; i++; } } ArrayStructure(std::map const& source) { for (std::map::const_iterator iter = source.begin(); iter != source.end(); iter++) { (*this)[iter->first] = iter->second; } } }; // prefix "!" = use prefixes inline void var_dump(std::map const& data, std::string prefix = "", unsigned int indent = 0) { if (prefix[0] == '!') { indent = 2; } if (data.size() == 0) { for (unsigned int i = 0; i < indent; i++) { std::cout << " "; } std::cout << "(empty)" << std::endl; } for (std::map::const_iterator iter = data.begin(); iter != data.end(); iter++) { std::string indentStr = ""; for (unsigned int i = 0; i < indent; i++) { indentStr += " "; } if (prefix[0] != '!') { std::cout << indentStr; } std::string key = prefix + iter->first; if (!iter->second.isArray) { std::string val = iter->second.value; if (iter->second.isString) { val = "\"" + val + "\""; } std::cout << "\"" << key << "\"" << " : " << Helper::str_replace("\n", "\n" + indentStr, val) << std::endl; } else { std::cout << "\"" << key << "\"" << " : Array(" << iter->second.subItems.size() << ")" << (iter->second.value != "" ? " [" + iter->second.value + "]" : "") << std::endl; if (iter->second.subItems.size()) { var_dump(iter->second.subItems, key[0] == '!' ? key + "." : "", indent + 2); } } } } #endif /* ARRAYSTRUCTURE_H_ */ grub-customizer-5.1.0/src/lib/Trait/0000755000175000017500000000000013360360026016547 5ustar danieldanielgrub-customizer-5.1.0/src/lib/Trait/LoggerAware.hpp0000644000175000017500000000431313360360026021460 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef TRAIT_LOGGERAWARE_INCLUDED #define TRAIT_LOGGERAWARE_INCLUDED #include #include "../Exception.hpp" #include "../Logger.hpp" class Trait_LoggerAware { protected: mutable std::shared_ptr logger; public: virtual ~Trait_LoggerAware() {} public: Trait_LoggerAware() { if (Logger::getInstance()) { this->logger = Logger::getInstance(); } } public: void setLogger(std::shared_ptr logger) { this->logger = logger; this->initLogger(); } public: virtual void initLogger() { // override to add initializations } public: std::shared_ptr getLogger() { return this->logger; } public: bool hasLogger() const { return this->logger != nullptr; } protected: void log(std::string const& message, Logger::Priority prio) const { if (this->logger) { this->logger->log(message, prio); } } }; #endif /* TRAIT_LOGGERAWARE_INCLUDED */ grub-customizer-5.1.0/src/lib/Trait/ActionLoggerAware.hpp0000644000175000017500000000422013360360026022613 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef TRAIT_ACTIONLOGGERAWARE_H_ #define TRAIT_ACTIONLOGGERAWARE_H_ #include "LoggerAware.hpp" class Trait_ActionLoggerAware : public Trait_LoggerAware { std::string _controllerName; protected: void setControllerName(std::string const& name) { this->_controllerName = name; } void logActionBegin(std::string const& action) const { if (this->logger) { this->logger->logActionBegin(this->_controllerName, action); } } void logActionEnd() const { if (this->logger) { this->logger->logActionEnd(); } } void logActionBeginThreaded(std::string const& action) const { if (this->logger) { this->logger->logActionBeginThreaded(this->_controllerName, action); } } void logActionEndThreaded() const { if (this->logger) { this->logger->logActionEndThreaded(); } } }; #endif /* TRAIT_ACTIONLOGGERAWARE_H_ */ grub-customizer-5.1.0/src/Controller/0000755000175000017500000000000013360360026017041 5ustar danieldanielgrub-customizer-5.1.0/src/Controller/MainController.hpp0000644000175000017500000011661413360360026022513 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef MAINCONNTROLLER_INCLUDED #define MAINCONNTROLLER_INCLUDED #include "../Model/ListCfg.hpp" #include "../View/Main.hpp" #include "../View/Trait/ViewAware.hpp" #include #include #include #include #include #include #include "../config.hpp" #include "../Model/Env.hpp" #include "../Model/ListCfg.hpp" #include "../Model/DeviceDataList.hpp" #include "../lib/ContentParserFactory.hpp" #include "Common/ControllerAbstract.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Exception.hpp" #include "../Mapper/EntryName.hpp" #include "../Model/FbResolutionsGetter.hpp" #include "../View/Model/ListItem.hpp" #include "Helper/DeviceInfo.hpp" #include "Helper/Thread.hpp" /** * This controller operates on the entry list */ class MainController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Model_ListCfg_Connection, public Model_SettingsManagerData_Connection, public Model_FbResolutionsGetter_Connection, public Model_DeviceDataList_Connection, public Model_MountTable_Connection, public ContentParserFactory_Connection, public Mapper_EntryName_Connection, public Model_Env_Connection, public Controller_Helper_Thread_Connection, public Bootstrap_Application_Object_Connection, public Controller_Helper_RuleMover_Connection { private: std::shared_ptr settingsOnDisk; //buffer for the existing settings private: std::shared_ptr savedListCfg; private: ContentParser* currentContentParser; private: bool config_has_been_different_on_startup_but_unsaved; private: bool is_loading; private: CmdExecException thrownException; //to be used from the die() function public: void setSettingsBuffer(std::shared_ptr settings) { this->settingsOnDisk = settings; } public: void setSavedListCfg(std::shared_ptr savedListCfg) { this->savedListCfg = savedListCfg; } public: Model_FbResolutionsGetter& getFbResolutionsGetter() { return *this->fbResolutionsGetter; } public: void initViewEvents() override { using namespace std::placeholders; this->view->onRemoveRulesClick = std::bind(std::mem_fn(&MainController::removeRulesAction), this, _1, _2); this->view->onShowSettingsClick = std::bind(std::mem_fn(&MainController::showSettingsAction), this); this->view->onReloadClick = std::bind(std::mem_fn(&MainController::reloadAction), this); this->view->onSaveClick = std::bind(std::mem_fn(&MainController::saveAction), this); this->view->onShowEnvEditorClick = std::bind(std::mem_fn(&MainController::showEnvEditorAction), this); this->view->onShowInstallerClick = std::bind(std::mem_fn(&MainController::showInstallerAction), this); this->view->onCreateSubmenuClick = std::bind(std::mem_fn(&MainController::createSubmenuAction), this, _1); this->view->onRemoveSubmenuClick = std::bind(std::mem_fn(&MainController::removeSubmenuAction), this, _1); this->view->onShowEntryEditorClick = std::bind(std::mem_fn(&MainController::showEntryEditorAction), this, _1); this->view->onShowEntryCreatorClick = std::bind(std::mem_fn(&MainController::showEntryCreatorAction), this); this->view->onShowAboutClick = std::bind(std::mem_fn(&MainController::showAboutAction), this); this->view->onExitClick = std::bind(std::mem_fn(&MainController::exitAction), this); this->view->onRenameClick = std::bind(std::mem_fn(&MainController::renameRuleAction), this, _1, _2); this->view->onRevertClick = std::bind(std::mem_fn(&MainController::revertAction), this); this->view->onMoveClick = std::bind(std::mem_fn(&MainController::moveAction), this, _1, _2); this->view->onCancelBurgSwitcherClick = std::bind(std::mem_fn(&MainController::cancelBurgSwitcherAction), this); this->view->onInitModeClick = std::bind(std::mem_fn(&MainController::initModeAction), this, _1); this->view->onRuleSelection = std::bind(std::mem_fn(&MainController::selectRuleAction), this, _1, _2); this->view->onTabChange = std::bind(std::mem_fn(&MainController::refreshTabAction), this, _1); this->view->onViewOptionChange = std::bind(std::mem_fn(&MainController::setViewOptionAction), this, _1, _2); this->view->onEntryStateChange = std::bind(std::mem_fn(&MainController::entryStateToggledAction), this, _1, _2); this->view->onSelectionChange = std::bind(std::mem_fn(&MainController::updateSelectionAction), this, _1); } public: void initApplicationEvents() override { using namespace std::placeholders; this->applicationObject->addShutdownHandler( [this] () { this->view->setLockState(~0); if (this->mountTable->getEntryByMountpoint(PARTCHOOSER_MOUNTPOINT)) { this->mountTable->umountAll(PARTCHOOSER_MOUNTPOINT); } } ); this->applicationObject->onListModelChange.addHandler( std::bind(std::mem_fn(&MainController::updateList), this) ); this->applicationObject->onListModelChange.addHandler( std::bind(std::mem_fn(&MainController::updateTrashView), this) ); this->applicationObject->onEnvChange.addHandler( std::bind(std::mem_fn(&MainController::reInitAction), this, _1) ); this->applicationObject->onListRelevantSettingChange.addHandler( std::bind(std::mem_fn(&MainController::showReloadRecommendationAction), this) ); this->applicationObject->onListRuleChange.addHandler( std::bind(std::mem_fn(&MainController::selectRuleAction), this, _1, _2) ); this->applicationObject->onTrashEntrySelection.addHandler( std::bind(std::mem_fn(&MainController::selectRulesAction), this, std::list()) ); this->applicationObject->onEntryInsertionRequest.addHandler( std::bind(std::mem_fn(&MainController::addEntriesAction), this, _1) ); } public: void initListCfgEvents() override { using namespace std::placeholders; this->grublistCfg->onLoadStateChange = std::bind(std::mem_fn(&MainController::syncLoadStateThreadedAction), this); this->grublistCfg->onSaveStateChange = std::bind(std::mem_fn(&MainController::syncSaveStateThreadedAction), this); } //init functions public: void init() { if ( !grublistCfg or !view or !settings or !settingsOnDisk or !savedListCfg or !fbResolutionsGetter or !deviceDataList or !mountTable or !contentParserFactory or !threadHelper or !entryNameMapper ) { throw ConfigException("init(): missing some objects", __FILE__, __LINE__); } this->log("initializing (w/o specified bootloader type)…", Logger::IMPORTANT_EVENT); savedListCfg->verbose = false; this->log("reading partition info…", Logger::EVENT); FILE* blkidProc = popen("blkid", "r"); if (blkidProc){ deviceDataList->clear(); deviceDataList->loadData(blkidProc); pclose(blkidProc); } mountTable->loadData(""); mountTable->loadData(PARTCHOOSER_MOUNTPOINT); this->env->rootDeviceName = mountTable->getEntryByMountpoint("").device; this->applicationObject->onInit.exec(); //dir_prefix may be set by partition chooser (if not, the root partition is used) this->log("Finding out if this is a live CD", Logger::EVENT); //aufs is the virtual root fileSystem used by live cds if (mountTable->getEntryByMountpoint("").isLiveCdFs() && env->cfg_dir_prefix == ""){ this->log("is live CD", Logger::INFO); this->env->init(Model_Env::GRUB_MODE, ""); this->showEnvEditorAction(); } else { this->log("running on an installed system", Logger::INFO); std::list modes = this->env->getAvailableModes(); if (modes.size() == 2) { this->view->showBurgSwitcher(); } else if (modes.size() == 1) { this->init(modes.front()); } else if (modes.size() == 0) { this->showEnvEditorAction(); } } } public: void init(Model_Env::Mode mode, bool initEnv = true) { this->log("initializing (w/ specified bootloader type)…", Logger::IMPORTANT_EVENT); if (initEnv) { this->env->init(mode, env->cfg_dir_prefix); } this->view->setLockState(1|4|8); this->view->setIsBurgMode(mode == Model_Env::BURG_MODE); this->view->show(); this->view->hideBurgSwitcher(); this->view->hideScriptUpdateInfo(); this->log("Checking if the config directory is clean", Logger::EVENT); if (this->grublistCfg->cfgDirIsClean() == false) { this->log("cleaning up config dir", Logger::IMPORTANT_EVENT); this->grublistCfg->cleanupCfgDir(); } this->log("loading configuration", Logger::IMPORTANT_EVENT); this->threadHelper->runAsThread(std::bind(std::mem_fn(&MainController::loadThreadedAction), this, false)); } public: void initAction() { this->logActionBegin("init"); try { this->init(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void reInitAction(bool burgMode) { this->logActionBegin("re-init"); try { Model_Env::Mode mode = burgMode ? Model_Env::BURG_MODE : Model_Env::GRUB_MODE; this->init(mode, false); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showEnvEditorAction() { this->logActionBegin("show-env-editor"); try { if (this->env->modificationsUnsaved) { bool proceed = this->view->confirmUnsavedSwitch(); if (!proceed) { return; } } this->view->hide(); this->applicationObject->onEnvEditorShowRequest.exec(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void cancelBurgSwitcherAction() { this->logActionBegin("cancel-burg-switcher"); try { if (!this->view->isVisible()) { this->applicationObject->shutdown(); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void reloadAction() { this->logActionBegin("reload"); try { this->applicationObject->onSettingModelChange.exec(); this->view->hideReloadRecommendation(); this->view->setLockState(1|4|8); this->threadHelper->runAsThread(std::bind(std::mem_fn(&MainController::loadThreadedAction), this, true)); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void loadThreadedAction(bool preserveConfig) { this->logActionBeginThreaded("load-threaded"); try { if (!is_loading){ //allow only one load thread at the same time! this->log(std::string("loading - preserveConfig: ") + (preserveConfig ? "yes" : "no"), Logger::IMPORTANT_EVENT); is_loading = true; this->env->activeThreadCount++; try { this->view->setOptions(this->env->loadViewOptions()); } catch (FileReadException e) { this->log("view options not found", Logger::INFO); } this->applicationObject->viewOptions = this->view->getOptions(); if (!preserveConfig){ this->log("unsetting saved config", Logger::EVENT); this->grublistCfg->reset(); this->savedListCfg->reset(); //load the burg/grub settings file this->log("loading settings", Logger::IMPORTANT_EVENT); this->settings->load(); this->threadHelper->runDispatched(std::bind(std::mem_fn(&MainController::activateSettingsAction), this)); } else { this->log("switching settings", Logger::IMPORTANT_EVENT); this->settingsOnDisk->load(); this->settings->save(); } try { this->log("loading grub list", Logger::IMPORTANT_EVENT); this->grublistCfg->load(preserveConfig); this->log("grub list completely loaded", Logger::IMPORTANT_EVENT); } catch (CmdExecException const& e){ this->log("error while loading the grub list", Logger::ERROR); this->thrownException = e; this->threadHelper->runDispatched(std::bind(std::mem_fn(&MainController::dieAction), this)); return; //cancel } if (!preserveConfig){ this->log("loading saved grub list", Logger::IMPORTANT_EVENT); if (this->savedListCfg->loadStaticCfg()) { this->config_has_been_different_on_startup_but_unsaved = !this->grublistCfg->compare(*this->savedListCfg); } else { this->log("saved grub list not found", Logger::WARNING); this->config_has_been_different_on_startup_but_unsaved = false; } this->threadHelper->runDispatched([this] {this->applicationObject->onLoad.exec();}); } if (preserveConfig){ this->log("restoring settings", Logger::IMPORTANT_EVENT); this->settingsOnDisk->save(); } this->env->activeThreadCount--; this->is_loading = false; } else { this->log("ignoring load request (only one load thread allowed at the same time)", Logger::WARNING); } } catch (Exception const& e) { this->applicationObject->onThreadError.exec(e); } this->logActionEndThreaded(); } public: void saveAction() { this->logActionBegin("save"); try { this->config_has_been_different_on_startup_but_unsaved = false; this->env->modificationsUnsaved = false; //deprecated this->view->hideScriptUpdateInfo(); this->view->setLockState(1|4|8); this->env->activeThreadCount++; //not in save_thead() to be faster set this->threadHelper->runAsThread(std::bind(std::mem_fn(&MainController::saveThreadedAction), this)); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void saveThreadedAction() { this->logActionBeginThreaded("save-threaded"); try { this->env->createBackup(); this->log("writing settings file", Logger::IMPORTANT_EVENT); this->settings->save(); if (this->settings->color_helper_required) { this->grublistCfg->addColorHelper(); } this->applicationObject->onSave.exec(); this->log("writing grub list configuration", Logger::IMPORTANT_EVENT); try { this->grublistCfg->save(); } catch (CmdExecException const& e){ this->threadHelper->runDispatched(std::bind(std::mem_fn(&MainController::showConfigSavingErrorAction), this, e.getMessage())); } this->env->activeThreadCount--; } catch (Exception const& e) { this->applicationObject->onThreadError.exec(e); } this->logActionEndThreaded(); } public: void showConfigSavingErrorAction(std::string errorMessage) { this->logActionBeginThreaded("show-config-saving-error"); try { this->view->showConfigSavingError(errorMessage); } catch (Exception const& e) { this->applicationObject->onThreadError.exec(e); } this->logActionEndThreaded(); } public: MainController() : Controller_Common_ControllerAbstract("main"), config_has_been_different_on_startup_but_unsaved(false), is_loading(false), currentContentParser(NULL), thrownException("") { } public: void renameEntry(std::shared_ptr rule, std::string const& newName) { if (rule->type != Model_Rule::PLAINTEXT) { std::string currentRulePath = this->grublistCfg->getRulePath(rule); std::string currentDefaultRulePath = this->settings->getValue("GRUB_DEFAULT"); bool updateDefault = this->ruleAffectsCurrentDefaultOs(rule, currentRulePath, currentDefaultRulePath); this->grublistCfg->renameRule(rule, newName); if (updateDefault) { this->updateCurrentDefaultOs(rule, currentRulePath, currentDefaultRulePath); } if (rule->dataSource && this->grublistCfg->repository.getScriptByEntry(rule->dataSource)->isCustomScript) { rule->dataSource->name = newName; } this->applicationObject->onListModelChange.exec(); this->view->selectRule(rule.get()); } } public: void reset() { this->grublistCfg->reset(); this->settings->clear(); } public: void showInstallerAction() { this->logActionBegin("show-installer"); try { this->applicationObject->onInstallerShowRequest.exec(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showEntryEditorAction(Rule* rule) { this->logActionBegin("show-entry-editor"); try { this->applicationObject->onEntryEditorShowRequest.exec(rule); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showEntryCreatorAction() { this->logActionBegin("show-entry-creator"); try { this->applicationObject->onEntryEditorShowRequest.exec(nullptr); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } //dispatchers public: void dieAction() { this->logActionBegin("die"); try { this->is_loading = false; this->env->activeThreadCount = 0; bool showEnvSettings = false; if (this->thrownException){ showEnvSettings = this->view->askForEnvironmentSettings(this->env->mkconfig_cmd, this->grublistCfg->getGrubErrorMessage()); } if (showEnvSettings) { this->showEnvEditorAction(); } else { this->applicationObject->shutdown(); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateList() { this->view->clear(); for (auto& proxy : this->grublistCfg->proxies){ std::string name = proxy->getScriptName(); if ((name != "header" && name != "debian_theme" && name != "grub-customizer_menu_color_helper") || proxy->isModified()) { View_Model_ListItem listItem; listItem.name = name; listItem.scriptPtr = proxy.get(); listItem.is_submenu = true; listItem.defaultName = name; listItem.isVisible = true; this->view->appendEntry(listItem); for (auto& rule : proxy->rules){ this->appendRuleToView(rule); } } } } public: void updateTrashView() { bool placeholdersVisible = this->view->getOptions().at(VIEW_SHOW_PLACEHOLDERS); bool hiddenEntriesVisible = this->view->getOptions().at(VIEW_SHOW_HIDDEN_ENTRIES); this->view->setTrashPaneVisibility( this->grublistCfg->getRemovedEntries(NULL, !placeholdersVisible).size() >= 1 && !hiddenEntriesVisible ); } public: void exitAction() { this->logActionBegin("exit"); try { int dlgResponse = this->view->showExitConfirmDialog(this->config_has_been_different_on_startup_but_unsaved*2 + this->env->modificationsUnsaved); if (dlgResponse == 1){ this->saveAction(); //starts a thread that delays the application exiting } if (dlgResponse != 0){ if (this->env->activeThreadCount != 0){ this->env->quit_requested = true; this->grublistCfg->cancelThreads(); } else { this->applicationObject->shutdown(); } } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void removeRulesAction(std::list rules, bool force) { this->logActionBegin("remove-rules"); try { if (!force && this->listHasAllCurrentSystemRules(rules)) { this->view->showSystemRuleRemoveWarning(); } else if (!force && this->listHasPlaintextRules(rules)) { this->view->showPlaintextRemoveWarning(); } else { std::list entriesOfRemovedRules; std::map, Nothing> emptyProxies; for (std::list::iterator iter = rules.begin(); iter != rules.end(); iter++) { std::shared_ptr rule = this->grublistCfg->findRule(*iter); rule->setVisibility(false); entriesOfRemovedRules.push_back(rule->dataSource.get()); if (!this->grublistCfg->proxies.getProxyByRule(rule)->hasVisibleRules()) { emptyProxies[this->grublistCfg->proxies.getProxyByRule(rule)] = Nothing(); } } for (auto emptyProxy : emptyProxies) { this->grublistCfg->proxies.deleteProxy(emptyProxy.first); this->log("proxy removed", Logger::INFO); } this->applicationObject->onListModelChange.exec(); this->applicationObject->onEntryRemove.exec(entriesOfRemovedRules); this->env->modificationsUnsaved = true; } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void renameRuleAction(Rule* entry, std::string const& newText) { this->logActionBegin("rename-rule"); try { auto entry2 = this->grublistCfg->findRule(entry); std::string oldName = entry2->outputName; if (newText == ""){ this->view->showErrorMessage(gettext("Name the Entry")); this->view->setRuleName(entry, oldName); } else { this->renameEntry(entry2, newText); } this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void moveAction(std::list rules, int direction) { this->logActionBegin("move"); try { bool stickyPlaceholders = !this->view->getOptions().at(VIEW_SHOW_PLACEHOLDERS); try { assert(direction == -1 || direction == 1); if (stickyPlaceholders) { auto nextRealRule = this->findNextRealRule(this->grublistCfg->findRule(direction == -1 ? rules.front() : rules.back()), direction); rules = this->populateSelection(rules, nextRealRule->type == Model_Rule::SUBMENU); rules = this->grublistCfg->getNormalizedRuleOrder(rules); } if (direction == 1) { rules.reverse(); } for (auto& rulePtr : rules) { // move multiple rules auto rule = this->grublistCfg->findRule(rulePtr); int distance = 1; if (stickyPlaceholders) { distance = this->countRulesUntilNextRealRule(rule, direction); } std::string currentRulePath = this->grublistCfg->getRulePath(rule); std::string currentDefaultRulePath = this->settings->getValue("GRUB_DEFAULT"); bool updateDefault = this->ruleAffectsCurrentDefaultOs(rule, currentRulePath, currentDefaultRulePath); for (int j = 0; j < distance; j++) { // move the range multiple times this->ruleMover->move( rule, direction == -1 ? Controller_Helper_RuleMover_AbstractStrategy::Direction::UP : Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN ); } if (updateDefault) { this->updateCurrentDefaultOs(rule, currentRulePath, currentDefaultRulePath); } } this->applicationObject->onListModelChange.exec(); if (stickyPlaceholders) { rules = this->removePlaceholdersFromSelection(rules); } this->view->selectRules(rules); this->env->modificationsUnsaved = true; } catch (NoMoveTargetException const& e) { this->view->showErrorMessage(gettext("cannot move this entry")); this->applicationObject->onListModelChange.exec(); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void createSubmenuAction(std::list childItems) { this->logActionBegin("create-submenu"); try { auto firstRule = this->grublistCfg->findRule(childItems.front()); auto newItem = this->grublistCfg->createSubmenu(firstRule); this->applicationObject->onListModelChange.exec(); this->moveAction(childItems, -1); this->threadHelper->runDelayed( std::bind(std::mem_fn(&MainController::selectRuleAction), this, newItem.get(), true), 10 ); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void removeSubmenuAction(std::list childItems) { this->logActionBegin("remove-submenu"); try { auto firstItem = this->grublistCfg->splitSubmenu(this->grublistCfg->findRule(childItems.front())); std::list movedRules; movedRules.push_back(firstItem.get()); for (int i = 1; i < childItems.size(); i++) { movedRules.push_back(this->grublistCfg->proxies.getNextVisibleRule(this->grublistCfg->findRule(movedRules.back()), 1)->get()); } this->moveAction(movedRules, -1); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void revertAction() { this->logActionBegin("revert"); try { this->grublistCfg->revert(); this->applicationObject->onListModelChange.exec(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showProxyInfo(Model_Proxy* proxy) { this->view->setStatusText(""); } public: void showAboutAction() { this->logActionBegin("show-about"); try { this->applicationObject->onAboutDlgShowRequest.exec(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void syncLoadStateThreadedAction() { this->logActionBeginThreaded("sync-load-state-threaded"); try { this->threadHelper->runDispatched(std::bind(std::mem_fn(&MainController::syncLoadStateAction), this)); } catch (Exception const& e) { this->applicationObject->onThreadError.exec(e); } this->logActionEndThreaded(); } public: void syncSaveStateThreadedAction() { this->logActionBeginThreaded("sync-save-state-threaded"); try { this->threadHelper->runDispatched(std::bind(std::mem_fn(&MainController::syncSaveStateAction), this)); } catch (Exception const& e) { this->applicationObject->onThreadError.exec(e); } this->logActionEndThreaded(); } public: void syncSaveStateAction() { this->logActionBegin("sync-save-state"); try { this->log("running MainControllerImpl::syncListView_save", Logger::INFO); this->view->progress_pulse(); if (this->grublistCfg->getProgress() == 1){ if (this->grublistCfg->error_proxy_not_found){ this->view->showProxyNotFoundMessage(); this->grublistCfg->error_proxy_not_found = false; } if (this->env->quit_requested) { this->applicationObject->shutdown(); } this->view->setLockState(0); this->view->hideProgressBar(); this->view->setStatusText(gettext("Configuration has been saved")); this->updateList(); } else { this->view->setStatusText(gettext("updating configuration")); } this->log("MainControllerImpl::syncListView_save completed", Logger::INFO); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void syncLoadStateAction() { this->logActionBegin("sync-load-state"); try { this->log("running MainControllerImpl::syncListView_load", Logger::INFO); this->view->setLockState(1|4); double progress = this->grublistCfg->getProgress(); if (progress != 1) { this->view->setProgress(progress); this->view->setStatusText(this->grublistCfg->getProgress_name(), this->grublistCfg->getProgress_pos(), this->grublistCfg->getProgress_max()); } else { if (this->env->quit_requested) { this->applicationObject->shutdown(); } this->view->hideProgressBar(); this->view->setStatusText(""); } if (progress == 1 && this->grublistCfg->hasScriptUpdates()) { this->grublistCfg->applyScriptUpdates(); this->env->modificationsUnsaved = true; this->view->showScriptUpdateInfo(); } //if grubConfig is locked, it will be cancelled as early as possible if (this->grublistCfg->lock_if_free()) { this->updateList(); this->grublistCfg->unlock(); } if (progress == 1){ this->view->setLockState(0); this->applicationObject->onListModelChange.exec(); } this->log("MainControllerImpl::syncListView_load completed", Logger::INFO); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showSettingsAction() { this->logActionBegin("show-settings"); try { this->applicationObject->onSettingsShowRequest.exec(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void initModeAction(bool burgChosen) { this->logActionBegin("init-mode"); try { this->init(burgChosen ? Model_Env::BURG_MODE : Model_Env::GRUB_MODE); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void addEntriesAction(std::list rulePtrs) { this->logActionBegin("add-entries"); try { std::list addedRules; for (auto rulePtr : rulePtrs) { auto& modelRule = dynamic_cast(*rulePtr); auto entry = modelRule.dataSource; assert(entry != nullptr); addedRules.push_back(this->grublistCfg->addEntry(entry, modelRule.type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER).get()); } this->applicationObject->onListModelChange.exec(); this->view->selectRules(addedRules); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void activateSettingsAction() { this->logActionBegin("activate-settings"); try { this->view->setLockState(1); this->applicationObject->onSettingModelChange.exec(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showReloadRecommendationAction() { this->logActionBegin("show-reload-recommendation"); try { this->view->showReloadRecommendation(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void selectRulesAction(std::list rules) { this->logActionBegin("select-rules"); try { this->view->selectRules(rules); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void selectRuleAction(Rule* rule, bool startEdit) { this->logActionBegin("select-rule"); try { this->view->selectRule(rule, startEdit); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void refreshTabAction(unsigned int pos) { this->logActionBegin("refresh-tab"); try { if (pos != 0) { // list this->applicationObject->onSettingModelChange.exec(); } this->view->updateLockState(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void setViewOptionAction(ViewOption option, bool value) { this->logActionBegin("set-view-option"); try { this->view->setOption(option, value); try { this->applicationObject->viewOptions = this->view->getOptions(); this->env->saveViewOptions(this->view->getOptions()); } catch (FileSaveException e) { this->log("option saving failed", Logger::ERROR); } this->applicationObject->onListModelChange.exec(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void entryStateToggledAction(Rule* entry, bool state) { this->logActionBegin("entry-state-toggled"); try { this->grublistCfg->findRule(entry)->setVisibility(state); this->applicationObject->onListModelChange.exec(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateSelectionAction(std::list selectedRules) { this->logActionBegin("update-selection"); try { if (selectedRules.size()) { this->applicationObject->onEntrySelection.exec(); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } private: void appendRuleToView(std::shared_ptr rule, std::shared_ptr parentRule = nullptr) { bool is_other_entries_ph = rule->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER; bool is_plaintext = rule->dataSource && rule->dataSource->type == Model_Entry::PLAINTEXT; bool is_submenu = rule->type == Model_Rule::SUBMENU; if (rule->dataSource || is_submenu){ std::string name = this->entryNameMapper->map(rule->dataSource, rule->outputName, true); bool isSubmenu = rule->type == Model_Rule::SUBMENU; std::string scriptName = "", defaultName = ""; if (rule->dataSource) { auto script = this->grublistCfg->repository.getScriptByEntry(rule->dataSource); assert(script != nullptr); scriptName = script->name; if (!is_other_entries_ph && !is_plaintext) { defaultName = rule->dataSource->name; } } bool isEditable = rule->type == Model_Rule::NORMAL || rule->type == Model_Rule::PLAINTEXT; bool isModified = rule->dataSource && rule->dataSource->isModified; // parse content to show additional informations std::map options; if (rule->dataSource) { options = Controller_Helper_DeviceInfo::fetch(rule->dataSource->content, *this->contentParserFactory, *deviceDataList); } auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); View_Model_ListItem listItem; listItem.name = name; listItem.entryPtr = rule.get(); listItem.is_placeholder = is_other_entries_ph || is_plaintext; listItem.is_submenu = isSubmenu; listItem.scriptName = scriptName; listItem.defaultName = defaultName; listItem.isEditable = isEditable; listItem.isModified = isModified; listItem.options = options; listItem.isVisible = rule->isVisible; listItem.parentEntry = parentRule.get(); listItem.parentScript = proxy.get(); this->view->appendEntry(listItem); if (rule->type == Model_Rule::SUBMENU) { for (auto subRule : rule->subRules) { this->appendRuleToView(subRule, rule); } } } } private: bool listHasPlaintextRules(std::list const& rules) { for (auto rulePtr : rules) { auto rule = this->grublistCfg->findRule(rulePtr); if (rule->type == Model_Rule::PLAINTEXT) { return true; } } return false; } private: bool listHasAllCurrentSystemRules(std::list const& rules) { int visibleSystemRulesCount = 0; int selectedSystemRulesCount = 0; std::shared_ptr linuxScript = nullptr; // count selected entries related to linux script for (auto rulePtr : rules) { auto rule = this->grublistCfg->findRule(rulePtr); if (rule->type == Model_Rule::NORMAL) { assert(rule->dataSource != nullptr); auto script = this->grublistCfg->repository.getScriptByEntry(rule->dataSource); if (script->name == "linux") { selectedSystemRulesCount++; linuxScript = script; } } } // count all entries and compare counters if there are linux entries if (linuxScript != nullptr) { // check whether it's the last remaining entry auto proxies = this->grublistCfg->proxies.getProxiesByScript(linuxScript); bool visibleRulesFound = false; for (auto proxy : proxies) { visibleSystemRulesCount += proxy->getVisibleRulesByType(Model_Rule::NORMAL).size(); } if (selectedSystemRulesCount == visibleSystemRulesCount) { return true; } } return false; } private: std::list populateSelection(std::list rules, bool ignorePlaintext) { std::list result; for (auto rule : rules) { this->populateSelection(result, this->grublistCfg->findRule(rule), -1, rule == rules.front(), ignorePlaintext); result.push_back(rule); this->populateSelection(result, this->grublistCfg->findRule(rule), 1, rule == rules.back(), ignorePlaintext); } // remove duplicates std::list result2; std::map duplicateIndex; // key: pointer to the rule, value: always NULL for (std::list::iterator ruleIter = result.begin(); ruleIter != result.end(); ruleIter++) { if (duplicateIndex.find(*ruleIter) == duplicateIndex.end()) { duplicateIndex[*ruleIter] = nullptr; result2.push_back(*ruleIter); } } return result2; } private: void populateSelection(std::list& rules, std::shared_ptr baseRule, int direction, bool checkScript, bool ignorePlaintext) { assert(direction == 1 || direction == -1); bool placeholderFound = false; auto currentRule = baseRule; do { try { currentRule = *this->grublistCfg->proxies.getNextVisibleRule(currentRule, direction); if (currentRule->dataSource == nullptr || baseRule->dataSource == nullptr) { break; } auto scriptCurrent = this->grublistCfg->repository.getScriptByEntry(currentRule->dataSource); auto scriptBase = this->grublistCfg->repository.getScriptByEntry(baseRule->dataSource); if ((scriptCurrent == scriptBase || !checkScript) && (currentRule->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER || (currentRule->type == Model_Rule::PLAINTEXT && !ignorePlaintext))) { if (direction == 1) { rules.push_back(currentRule.get()); } else { rules.push_front(currentRule.get()); } placeholderFound = true; } else { placeholderFound = false; } } catch (NoMoveTargetException const& e) { placeholderFound = false; } } while (placeholderFound); } private: int countRulesUntilNextRealRule(std::shared_ptr baseRule, int direction) { int result = 1; bool placeholderFound = false; auto currentRule = baseRule; do { try { currentRule = *this->grublistCfg->proxies.getNextVisibleRule(currentRule, direction); if (currentRule->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER || currentRule->type == Model_Rule::PLAINTEXT) { result++; placeholderFound = true; } else { placeholderFound = false; } } catch (NoMoveTargetException const& e) { placeholderFound = false; } } while (placeholderFound); return result; } private: std::shared_ptr findNextRealRule(std::shared_ptr baseRule, int direction) { bool placeholderFound = false; auto currentRule = baseRule; do { try { currentRule = *this->grublistCfg->proxies.getNextVisibleRule(currentRule, direction); if (currentRule->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER || currentRule->type == Model_Rule::PLAINTEXT) { placeholderFound = true; } else { placeholderFound = false; } } catch (NoMoveTargetException const& e) { placeholderFound = false; } } while (placeholderFound); return currentRule; } private: std::list removePlaceholdersFromSelection(std::list rules) { std::list result; for (auto rulePtr : rules) { auto rule = this->grublistCfg->findRule(rulePtr); if (!(rule->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER || rule->type == Model_Rule::PLAINTEXT)) { result.push_back(rule.get()); } } return result; } private: bool ruleAffectsCurrentDefaultOs( std::shared_ptr rule, std::string const& currentRulePath, std::string const& currentDefaultRulePath ) { bool result = false; if (rule->type == Model_Rule::SUBMENU) { if (currentDefaultRulePath.substr(0, currentRulePath.length() + 1) == currentRulePath + ">") { result = true; } } else { if (this->settings->getValue("GRUB_DEFAULT") == currentRulePath) { result = true; } } return result; } private: void updateCurrentDefaultOs(std::shared_ptr rule, std::string const& oldRulePath, std::string oldDefaultRulePath) { oldDefaultRulePath.replace(0, oldRulePath.length(), this->grublistCfg->getRulePath(rule)); this->settings->setValue("GRUB_DEFAULT", oldDefaultRulePath); } }; #endif grub-customizer-5.1.0/src/Controller/InstallerController.hpp0000644000175000017500000000777613360360026023574 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INSTALLERCONTROLLERIMPL_H_ #define INSTALLERCONTROLLERIMPL_H_ #include #include #include #include "../config.hpp" #include "../Model/Env.hpp" #include "../Model/Installer.hpp" #include "../View/Installer.hpp" #include "../View/Trait/ViewAware.hpp" #include "Common/ControllerAbstract.hpp" #include "../lib/Exception.hpp" #include "Helper/Thread.hpp" class InstallerController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Model_Installer_Connection, public Model_Env_Connection, public Controller_Helper_Thread_Connection, public Bootstrap_Application_Object_Connection { public: InstallerController() : Controller_Common_ControllerAbstract("installer") { } public: void initViewEvents() override { using namespace std::placeholders; this->view->onInstallClick = std::bind(std::mem_fn(&InstallerController::installGrubAction), this, _1); } public: void initApplicationEvents() override { using namespace std::placeholders; this->applicationObject->onInstallerShowRequest.addHandler(std::bind(std::mem_fn(&InstallerController::showAction), this)); } public: void initInstallerEvents() override { using namespace std::placeholders; this->installer->onFinish = [this] (std::string message) { this->threadHelper->runDispatched(std::bind(std::mem_fn(&InstallerController::showMessageAction), this, message)); }; } public: void showAction() { this->logActionBegin("show"); try { view->show(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void installGrubAction(std::string device) { this->logActionBegin("install-grub"); try { this->threadHelper->runAsThread(std::bind(std::mem_fn(&InstallerController::installGrubThreadedAction), this, device)); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void installGrubThreadedAction(std::string device) { this->logActionBeginThreaded("install-grub-threaded"); try { this->env->activeThreadCount++; installer->threadable_install(device); this->env->activeThreadCount--; if (this->env->activeThreadCount == 0 && this->env->quit_requested) { this->applicationObject->shutdown(); } } catch (Exception const& e) { this->applicationObject->onThreadError.exec(e); } this->logActionEndThreaded(); } public: void showMessageAction(std::string const& msg) { this->logActionBegin("show-message"); try { view->showMessageGrubInstallCompleted(msg); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } }; #endif grub-customizer-5.1.0/src/Controller/Common/0000755000175000017500000000000013360360026020271 5ustar danieldanielgrub-customizer-5.1.0/src/Controller/Common/ControllerAbstract.hpp0000644000175000017500000000325613360360026024617 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef CONTROLLER_ABSTRACT_H_ #define CONTROLLER_ABSTRACT_H_ #include "../../lib/Trait/ActionLoggerAware.hpp" class Controller_Common_ControllerAbstract : public Trait_ActionLoggerAware { public: Controller_Common_ControllerAbstract(std::string const& controllerName) { this->setControllerName(controllerName); } }; #endif /* CONTROLLER_ABSTRACT_H_ */ grub-customizer-5.1.0/src/Controller/TrashController.hpp0000644000175000017500000002020713360360026022700 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef TRASHCONTROLLERIMPL_H_ #define TRASHCONTROLLERIMPL_H_ #include "../Model/ListCfg.hpp" #include "../View/Main.hpp" #include #include #include #include "../config.hpp" #include "../Model/Env.hpp" #include "../Model/MountTable.hpp" #include "../View/Trash.hpp" #include "../View/EnvEditor.hpp" #include "../View/Trait/ViewAware.hpp" #include "../Mapper/EntryName.hpp" #include "Common/ControllerAbstract.hpp" #include "../Model/DeviceDataListInterface.hpp" #include "../lib/ContentParserFactory.hpp" #include "Helper/DeviceInfo.hpp" class TrashController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Model_ListCfg_Connection, public Mapper_EntryName_Connection, public Model_DeviceDataListInterface_Connection, public ContentParserFactory_Connection, public Model_Env_Connection, public Bootstrap_Application_Object_Connection { private: std::list> data; public: TrashController() : Controller_Common_ControllerAbstract("trash") { } public: void initViewEvents() override { using namespace std::placeholders; this->view->onRestore = std::bind(std::mem_fn(&TrashController::applyAction), this); this->view->onDeleteClick = std::bind(std::mem_fn(&TrashController::deleteCustomEntriesAction), this); this->view->onSelectionChange = std::bind(std::mem_fn(&TrashController::updateSelectionAction), this, _1); } public: void initApplicationEvents() override { using namespace std::placeholders; this->applicationObject->onEnvChange.addHandler(std::bind(std::mem_fn(&TrashController::hideAction), this)); this->applicationObject->onListModelChange.addHandler(std::bind(std::mem_fn(&TrashController::updateAction), this)); this->applicationObject->onEntryRemove.addHandler(std::bind(std::mem_fn(&TrashController::selectEntriesAction), this, _1)); this->applicationObject->onEntrySelection.addHandler(std::bind(std::mem_fn(&TrashController::selectEntriesAction), this, std::list())); } public: void updateAction() { this->logActionBegin("update"); try { this->view->setOptions(this->applicationObject->viewOptions); this->refresh(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void applyAction() { this->logActionBegin("apply"); try { std::list rulePtrs = view->getSelectedEntries(); this->applicationObject->onEntryInsertionRequest.exec(rulePtrs); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void hideAction() { this->logActionBegin("hide"); try { this->view->hide(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void deleteCustomEntriesAction() { this->logActionBegin("delete-custom-entries"); try { auto deletableEntries = this->view->getSelectedEntries(); for (auto rulePtr : deletableEntries) { assert(this->findRule(rulePtr)->dataSource != nullptr); this->grublistCfg->deleteEntry(this->findRule(rulePtr)->dataSource); } this->refresh(); this->updateSelectionAction(std::list()); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void selectEntriesAction(std::list const& entries) { this->logActionBegin("select-entries"); try { // first look for rules in local data, linking to the the given entries std::list rules; for (auto entryPtr : entries) { for (auto rule : this->data) { if (entryPtr == rule->dataSource.get()) { rules.push_back(rule.get()); } } } this->view->selectEntries(rules); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateSelectionAction(std::list const& selectedEntries) { this->logActionBegin("update-selection"); try { if (selectedEntries.size()) { this->applicationObject->onTrashEntrySelection.exec(); this->view->setRestoreButtonSensitivity(true); this->view->setDeleteButtonVisibility(this->ruleListIsDeletable(selectedEntries)); } else { this->view->setRestoreButtonSensitivity(false); this->view->setDeleteButtonVisibility(false); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } private: void refresh() { assert(this->contentParserFactory != nullptr); assert(this->deviceDataList != nullptr); this->view->clear(); this->data = this->grublistCfg->getRemovedEntries(); this->refreshView(nullptr); } private: void refreshView(std::shared_ptr parent) { auto& list = parent ? parent->subRules : this->data; for (auto rule : list) { auto script = rule->dataSource ? this->grublistCfg->repository.getScriptByEntry(rule->dataSource) : nullptr; std::string name = rule->outputName; if (rule->dataSource && script) { name = this->entryNameMapper->map(rule->dataSource, name, rule->type != Model_Rule::SUBMENU); } View_Model_ListItem listItem; listItem.name = name; listItem.entryPtr = rule.get(); listItem.scriptPtr = nullptr; listItem.is_placeholder = rule->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER || rule->type == Model_Rule::PLAINTEXT; listItem.is_submenu = rule->type == Model_Rule::SUBMENU; listItem.scriptName = script ? script->name : ""; listItem.isVisible = true; listItem.parentEntry = parent.get(); if (rule->dataSource) { listItem.options = Controller_Helper_DeviceInfo::fetch( rule->dataSource->content, *this->contentParserFactory, *this->deviceDataList ); } this->view->addItem(listItem); if (rule->subRules.size()) { this->refreshView(rule); } } } private: bool ruleListIsDeletable(std::list const& selectedEntries) { if (selectedEntries.size() == 0) { return false; } for (auto& entry : selectedEntries) { if (this->findRule(entry)->type != Model_Rule::NORMAL || this->findRule(entry)->dataSource == nullptr) { return false; } auto script = this->grublistCfg->repository.getScriptByEntry(this->findRule(entry)->dataSource); assert(script != nullptr); if (!script->isCustomScript) { return false; } } return true; } private: std::shared_ptr findRule(Rule* rulePtr, std::shared_ptr parent = nullptr) { std::list>& list = parent ? parent->subRules : this->data; for (auto rule : list) { if (rule.get() == rulePtr) { return rule; } if (rule->subRules.size()) { try { return this->findRule(rulePtr, rule); } catch (ItemNotFoundException const& e) { // continue } } } throw ItemNotFoundException("rule not found in trash data", __FILE__, __LINE__); } }; #endif grub-customizer-5.1.0/src/Controller/EnvEditorController.hpp0000644000175000017500000002020413360360026023513 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENVEDITORCONTROLLERIMPL_H_ #define ENVEDITORCONTROLLERIMPL_H_ #include #include #include #include "../config.hpp" #include "../Model/DeviceMap.hpp" #include "../Model/Env.hpp" #include "../Model/MountTable.hpp" #include "../View/EnvEditor.hpp" #include "../View/Trait/ViewAware.hpp" #include "Common/ControllerAbstract.hpp" class EnvEditorController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Model_Env_Connection, public Bootstrap_Application_Object_Connection, public Model_MountTable_Connection, public Model_DeviceMap_Connection { public: void showAction(bool resetPartitionChooser = false) { this->logActionBegin("show"); try { this->view->setEnvSettings(this->env->getProperties(), this->env->getRequiredProperties(), this->env->getValidProperties()); this->view->setRootDeviceName(this->env->rootDeviceName); this->view->show(false); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: EnvEditorController() : Controller_Common_ControllerAbstract("env-editor") { } public: void initViewEvents() override { using namespace std::placeholders; this->view->onMountSubmountpointClick = std::bind(std::mem_fn(&EnvEditorController::mountSubmountpointAction), this, _1); this->view->onUmountSubmountpointClick = std::bind(std::mem_fn(&EnvEditorController::umountSubmountpointAction), this, _1); this->view->onSwitchPartition = std::bind(std::mem_fn(&EnvEditorController::switchPartitionAction), this, _1); this->view->onSwitchBootloaderType = std::bind(std::mem_fn(&EnvEditorController::switchBootloaderTypeAction), this, _1); this->view->onOptionChange = std::bind(std::mem_fn(&EnvEditorController::updateGrubEnvOptionsAction), this); this->view->onApplyClick = std::bind(std::mem_fn(&EnvEditorController::applyAction), this, _1); this->view->onExitClick = std::bind(std::mem_fn(&EnvEditorController::exitAction), this); } public: void initApplicationEvents() override { using namespace std::placeholders; this->applicationObject->onEnvEditorShowRequest.addHandler(std::bind(std::mem_fn(&EnvEditorController::showAction), this, false)); } //partition chooser public: void mountSubmountpointAction(std::string const& submountpoint) { this->logActionBegin("mount-submountpoint"); try { try { this->mountTable->getEntryRefByMountpoint(PARTCHOOSER_MOUNTPOINT + submountpoint).mount(); } catch (MountException const& e){ this->view->showErrorMessage(View_EnvEditor::SUB_MOUNT_FAILED); this->view->setSubmountpointSelectionState(submountpoint, false); this->view->show(); } catch (SystemException const& e){ this->view->setSubmountpointSelectionState(submountpoint, false); this->view->show(); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void umountSubmountpointAction(std::string const& submountpoint) { this->logActionBegin("umount-submountpoint"); try { try { this->mountTable->getEntryRefByMountpoint(PARTCHOOSER_MOUNTPOINT + submountpoint).umount(); } catch (UMountException const& e){ this->view->showErrorMessage(View_EnvEditor::SUB_UMOUNT_FAILED); this->view->setSubmountpointSelectionState(submountpoint, true); this->view->show(); } catch (SystemException const& e){ this->view->setSubmountpointSelectionState(submountpoint, true); this->view->show(); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void generateSubmountpointSelection(std::string const& prefix) { this->view->removeAllSubmountpoints(); //create new submountpoint checkbuttons for (auto& item : *this->mountTable){ if (item.mountpoint.length() > prefix.length() && item.mountpoint.substr(0, prefix.length()) == prefix && item.mountpoint != prefix + "/dev" && item.mountpoint != prefix + "/proc" && item.mountpoint != prefix + "/sys" ) { this->view->addSubmountpoint(item.mountpoint.substr(prefix.length()), item.isMounted); } } } // env editor public: void switchPartitionAction(std::string const& newPartition) { this->logActionBegin("switch-partition"); try { if (this->mountTable->getEntryByMountpoint(PARTCHOOSER_MOUNTPOINT).isMounted) { this->mountTable->umountAll(PARTCHOOSER_MOUNTPOINT); this->mountTable->clear(PARTCHOOSER_MOUNTPOINT); } this->view->removeAllSubmountpoints(); std::string selectedDevice = newPartition; if (newPartition != "") { mkdir(PARTCHOOSER_MOUNTPOINT, 0755); try { mountTable->clear(PARTCHOOSER_MOUNTPOINT); mountTable->mountRootFs(selectedDevice, PARTCHOOSER_MOUNTPOINT); this->env->init(env->burgMode ? Model_Env::BURG_MODE : Model_Env::GRUB_MODE, PARTCHOOSER_MOUNTPOINT); this->generateSubmountpointSelection(PARTCHOOSER_MOUNTPOINT); this->showAction(); } catch (MountException const& e) { this->view->showErrorMessage(View_EnvEditor::MOUNT_FAILED); this->switchPartitionAction(""); } catch (MissingFstabException const& e) { this->view->showErrorMessage(View_EnvEditor::MOUNT_ERR_NO_FSTAB); mountTable->getEntryRefByMountpoint(PARTCHOOSER_MOUNTPOINT).umount(); this->switchPartitionAction(""); } } else { this->env->init(env->burgMode ? Model_Env::BURG_MODE : Model_Env::GRUB_MODE, selectedDevice); this->showAction(true); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void switchBootloaderTypeAction(int newTypeIndex) { this->logActionBegin("switch-bootloader-type"); try { this->env->init(newTypeIndex == 0 ? Model_Env::GRUB_MODE : Model_Env::BURG_MODE, this->env->cfg_dir_prefix); this->showAction(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateGrubEnvOptionsAction() { this->logActionBegin("update-grub-env-options"); try { this->env->setProperties(this->view->getEnvSettings()); this->showAction(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void applyAction(bool saveConfig) { this->logActionBegin("apply"); try { bool isBurgMode = this->view->getBootloaderType() == 1; view->hide(); if (saveConfig) { this->env->save(); } this->deviceMap->clearCache(); this->applicationObject->onEnvChange.exec(isBurgMode); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void exitAction() { this->logActionBegin("exit"); try { this->applicationObject->shutdown(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } }; #endif grub-customizer-5.1.0/src/Controller/SettingsController.hpp0000644000175000017500000003655513360360026023434 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SETTINGSCONTROLLERIMPL_H_ #define SETTINGSCONTROLLERIMPL_H_ #include "../Model/ListCfg.hpp" #include #include #include #include "../config.hpp" #include "../Model/Env.hpp" #include "../Model/MountTable.hpp" #include "../Model/Installer.hpp" #include "../Model/ListCfg.hpp" #include "../View/Settings.hpp" #include "../View/Trait/ViewAware.hpp" #include "../Model/FbResolutionsGetter.hpp" #include "../Model/DeviceDataList.hpp" #include "../lib/ContentParserFactory.hpp" #include "../Mapper/EntryName.hpp" #include "Common/ControllerAbstract.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Exception.hpp" #include "Helper/Thread.hpp" class SettingsController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Model_ListCfg_Connection, public Model_SettingsManagerData_Connection, public Model_FbResolutionsGetter_Connection, public Model_Env_Connection, public Controller_Helper_Thread_Connection, public Bootstrap_Application_Object_Connection { private: bool syncActive; // should only be controlled by syncSettings() public: Model_FbResolutionsGetter& getFbResolutionsGetter() { return *this->fbResolutionsGetter; } public: void showSettingsDlg() { this->view->show(); } public: SettingsController() : Controller_Common_ControllerAbstract("settings"), syncActive(false) { } public: void initViewEvents() override { using namespace std::placeholders; this->view->onDefaultSystemChange = std::bind(std::mem_fn(&SettingsController::updateDefaultSystemAction), this); this->view->onCustomSettingChange = std::bind(std::mem_fn(&SettingsController::updateCustomSettingAction), this, _1); this->view->onAddCustomSettingClick = std::bind(std::mem_fn(&SettingsController::addCustomSettingAction), this); this->view->onRemoveCustomSettingClick = std::bind(std::mem_fn(&SettingsController::removeCustomSettingAction), this, _1); this->view->onShowMenuSettingChange = std::bind(std::mem_fn(&SettingsController::updateShowMenuSettingAction), this); this->view->onOsProberSettingChange = std::bind(std::mem_fn(&SettingsController::updateOsProberSettingAction), this); this->view->onTimeoutSettingChange = std::bind(std::mem_fn(&SettingsController::updateTimeoutSettingAction), this); this->view->onKernelParamsChange = std::bind(std::mem_fn(&SettingsController::updateKernelParamsAction), this); this->view->onRecoverySettingChange = std::bind(std::mem_fn(&SettingsController::updateRecoverySettingAction), this); this->view->onCustomResolutionChange = std::bind(std::mem_fn(&SettingsController::updateCustomResolutionAction), this); this->view->onUseCustomResolutionChange = std::bind(std::mem_fn(&SettingsController::updateUseCustomResolutionAction), this); this->view->onHide = std::bind(std::mem_fn(&SettingsController::hideAction), this); } public: void initFbResolutionsGetterEvents() override { this->fbResolutionsGetter->onFinish = std::bind(std::mem_fn(&SettingsController::updateResolutionlistThreadedAction), this); } public: void initApplicationEvents() override { this->applicationObject->onSettingsShowRequest.addHandler(std::bind(std::mem_fn(&SettingsController::showAction), this)); this->applicationObject->onEnvChange.addHandler(std::bind(std::mem_fn(&SettingsController::hideAction), this)); this->applicationObject->onInit.addHandler( [this] () { //loading the framebuffer resolutions in background… this->log("Loading Framebuffer resolutions (background process)", Logger::EVENT); this->threadHelper->runAsThread(std::bind(std::mem_fn(&SettingsController::loadResolutionsAction), this)); } ); this->applicationObject->onListModelChange.addHandler(std::bind(std::mem_fn(&SettingsController::updateSettingsDataAction), this)); this->applicationObject->onSettingModelChange.addHandler(std::bind(std::mem_fn(&SettingsController::syncAction), this)); } public: void updateSettingsDataAction() { this->logActionBegin("update-settings-data"); try { std::list entryTitles = this->grublistCfg->proxies.generateEntryTitleList(); this->view->clearDefaultEntryChooser(); this->view->addEntryToDefaultEntryChooser("0", ""); for (std::list::iterator iter = entryTitles.begin(); iter != entryTitles.end(); iter++) { this->view->addEntryToDefaultEntryChooser(iter->labelPathValue, iter->labelPathLabel); } this->view->addEntryToDefaultEntryChooser("", ""); this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void loadResolutionsAction() { this->logActionBegin("load-resolutions"); try { this->fbResolutionsGetter->load(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateResolutionlistAction() { this->logActionBegin("update-resolutionlist"); try { const std::list& data = this->fbResolutionsGetter->getData(); this->view->clearResolutionChooser(); for (std::list::const_iterator iter = data.begin(); iter != data.end(); iter++) { this->view->addResolution(*iter); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateResolutionlistThreadedAction() { this->logActionBeginThreaded("update-resolutionlist-threaded"); try { this->threadHelper->runDispatched(std::bind(std::mem_fn(&SettingsController::updateResolutionlistAction), this)); } catch (Exception const& e) { this->applicationObject->onThreadError.exec(e); } this->logActionEndThreaded(); } public: void updateDefaultSystemAction() { this->logActionBegin("update-default-system"); try { if (this->view->getActiveDefEntryOption() == View_Settings::DEF_ENTRY_SAVED){ this->settings->setValue("GRUB_DEFAULT", "saved"); this->settings->setValue("GRUB_SAVEDEFAULT", "true"); this->settings->setIsActive("GRUB_SAVEDEFAULT", true); } else { this->settings->setValue("GRUB_DEFAULT", this->view->getSelectedDefaultGrubValue()); this->settings->setValue("GRUB_SAVEDEFAULT", "false"); } this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateCustomSettingAction(std::string const& name) { this->logActionBegin("update-custom-setting"); try { View_Settings::CustomOption c = this->view->getCustomOption(name); this->settings->renameItem(c.old_name, c.name); this->settings->setValue(c.name, c.value); this->settings->setIsActive(c.name, c.isActive); this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void addCustomSettingAction() { this->logActionBegin("add-custom-setting"); try { std::string newSettingName = this->settings->addNewItem(); this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void removeCustomSettingAction(std::string const& name) { this->logActionBegin("remove-custom-setting"); try { this->settings->removeItem(name); this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateShowMenuSettingAction() { this->logActionBegin("update-show-menu-setting"); try { std::string val = this->settings->getValue("GRUB_HIDDEN_TIMEOUT"); if (val == "" || val.find_first_not_of("0123456789") != -1) { this->settings->setValue("GRUB_HIDDEN_TIMEOUT", "0"); //create this entry - if it has an invalid value } this->settings->setIsActive("GRUB_HIDDEN_TIMEOUT", !this->view->getShowMenuCheckboxState()); if (!this->view->getShowMenuCheckboxState() && this->view->getOsProberCheckboxState()){ this->view->showHiddenMenuOsProberConflictMessage(); } this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateOsProberSettingAction() { this->logActionBegin("update-os-prober-setting"); try { this->settings->setValue("GRUB_DISABLE_OS_PROBER", this->view->getOsProberCheckboxState() ? "false" : "true"); this->settings->setIsActive("GRUB_DISABLE_OS_PROBER", !this->view->getOsProberCheckboxState()); this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateTimeoutSettingAction() { this->logActionBegin("update-timeout-setting"); try { std::string timeoutValue = this->view->getTimeoutValueString(); if (!this->view->getTimeoutActive() && timeoutValue != "-1") { timeoutValue = "-1"; } if (this->view->getShowMenuCheckboxState()){ this->settings->setValue("GRUB_TIMEOUT", timeoutValue); } else { this->settings->setValue("GRUB_HIDDEN_TIMEOUT", this->view->getTimeoutValueString()); } this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateKernelParamsAction() { this->logActionBegin("update-kernel-params"); try { this->settings->setValue("GRUB_CMDLINE_LINUX_DEFAULT", this->view->getKernelParams()); this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateRecoverySettingAction() { this->logActionBegin("update-recovery-setting"); try { // GRUB_DISABLE_LINUX_RECOVERY is used until GRUB 1.98 if (this->settings->getValue("GRUB_DISABLE_LINUX_RECOVERY") != "true") { this->settings->setValue("GRUB_DISABLE_LINUX_RECOVERY", "true"); } this->settings->setIsActive("GRUB_DISABLE_LINUX_RECOVERY", !this->view->getRecoveryCheckboxState()); // GRUB_DISABLE_RECOVERY is the new version if (this->settings->getValue("GRUB_DISABLE_RECOVERY") != "true") { this->settings->setValue("GRUB_DISABLE_RECOVERY", "true"); } this->settings->setIsActive("GRUB_DISABLE_RECOVERY", !this->view->getRecoveryCheckboxState()); this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateCustomResolutionAction() { this->logActionBegin("update-custom-resolution"); try { this->settings->setValue("GRUB_GFXMODE", this->view->getResolution()); this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateUseCustomResolutionAction() { this->logActionBegin("update-use-custom-resolution"); try { if (this->settings->getValue("GRUB_GFXMODE") == "") { this->settings->setValue("GRUB_GFXMODE", "saved"); //use saved as default value (if empty) } this->settings->setIsActive("GRUB_GFXMODE", this->view->getResolutionCheckboxState()); this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void hideAction() { this->logActionBegin("hide"); try { this->view->hide(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showAction() { this->logActionBegin("show"); try { this->view->show(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void syncAction() { this->logActionBegin("sync"); try { this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } private: void syncSettings() { if (this->syncActive) { return; } this->syncActive = true; std::string sel = this->view->getSelectedCustomOption(); this->view->removeAllSettingRows(); for (std::list::iterator iter = this->settings->begin(); iter != this->settings->end(); this->settings->iter_to_next_setting(iter)){ this->view->addCustomOption(iter->isActive, iter->name, iter->value); } this->view->selectCustomOption(sel); std::string defEntry = this->settings->getValue("GRUB_DEFAULT"); if (defEntry == "saved"){ this->view->setActiveDefEntryOption(View_Settings::DEF_ENTRY_SAVED); } else { this->view->setActiveDefEntryOption(View_Settings::DEF_ENTRY_PREDEFINED); this->view->setDefEntry(defEntry); } this->view->setShowMenuCheckboxState(!this->settings->isActive("GRUB_HIDDEN_TIMEOUT", true)); this->view->setOsProberCheckboxState(!this->settings->isActive("GRUB_DISABLE_OS_PROBER", true)); std::string timeoutStr; if (this->view->getShowMenuCheckboxState()) timeoutStr = this->settings->getValue("GRUB_TIMEOUT"); else timeoutStr = this->settings->getValue("GRUB_HIDDEN_TIMEOUT"); if (timeoutStr == "" || (timeoutStr.find_first_not_of("0123456789") != -1 && timeoutStr != "-1")) { timeoutStr = "10"; //default value } std::istringstream in(timeoutStr); int timeout; in >> timeout; this->view->setTimeoutValue(timeout == -1 ? 10 : timeout); this->view->setTimeoutActive(timeout != -1); this->view->setKernelParams(this->settings->getValue("GRUB_CMDLINE_LINUX_DEFAULT")); this->view->setRecoveryCheckboxState(!this->settings->isActive("GRUB_DISABLE_RECOVERY", true)); this->view->setResolutionCheckboxState(this->settings->isActive("GRUB_GFXMODE", true)); this->view->setResolution(this->settings->getValue("GRUB_GFXMODE")); if (this->settings->reloadRequired()) { this->applicationObject->onListRelevantSettingChange.exec(); } this->applicationObject->onSettingModelChange.exec(); this->syncActive = false; } }; #endif grub-customizer-5.1.0/src/Controller/AboutController.hpp0000644000175000017500000000434013360360026022671 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ABOUTCONTROLLERIMPL_H_ #define ABOUTCONTROLLERIMPL_H_ #include #include #include #include "../config.hpp" #include "../Model/Env.hpp" #include "../View/About.hpp" #include "../View/Trait/ViewAware.hpp" #include "Common/ControllerAbstract.hpp" class AboutController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Bootstrap_Application_Object_Connection { public: AboutController() : Controller_Common_ControllerAbstract("about") { } public: void initApplicationEvents() override { this->applicationObject->onAboutDlgShowRequest.addHandler(std::bind(std::mem_fn(&AboutController::showAction), this)); } public: void showAction() { this->logActionBegin("show"); try { this->view->show(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } }; #endif grub-customizer-5.1.0/src/Controller/ErrorController.hpp0000644000175000017500000000614713360360026022717 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ERRORCONTROLLERIMPL_H_ #define ERRORCONTROLLERIMPL_H_ #include #include #include #include "../config.hpp" #include "../Model/Env.hpp" #include "../View/Error.hpp" #include "../View/Trait/ViewAware.hpp" #include "Common/ControllerAbstract.hpp" #include "Helper/Thread.hpp" class ErrorController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Controller_Helper_Thread_Connection, public Bootstrap_Application_Object_Connection { private: bool applicationStarted; public: void setApplicationStarted(bool val) { this->applicationStarted = val; } public: ErrorController() : Controller_Common_ControllerAbstract("error"), applicationStarted(false) { } public: void initViewEvents() override { using namespace std::placeholders; this->view->onQuitClick = std::bind(std::mem_fn(&ErrorController::quitAction), this); } public: void initApplicationEvents() override { using namespace std::placeholders; this->applicationObject->onError.addHandler(std::bind(std::mem_fn(&ErrorController::errorAction), this, _1)); this->applicationObject->onThreadError.addHandler(std::bind(std::mem_fn(&ErrorController::errorThreadedAction), this, _1)); } public: void errorAction(Exception const& e) { this->log(e, Logger::EXCEPTION); this->view->showErrorMessage(e, this->applicationStarted); } public: void errorThreadedAction(Exception const& e) { if (this->threadHelper) { this->threadHelper->runDispatched(std::bind(std::mem_fn(&ErrorController::errorAction), this, Exception(e))); } else { this->log(e, Logger::EXCEPTION); exit(1); } } public: void quitAction() { if (this->applicationStarted) { this->applicationObject->shutdown(); } else { exit(2); } } }; #endif grub-customizer-5.1.0/src/Controller/Helper/0000755000175000017500000000000013360360026020260 5ustar danieldanielgrub-customizer-5.1.0/src/Controller/Helper/GLibThread.hpp0000644000175000017500000000512213360360026022736 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef HELPER_GLIBTHREAD_H_INCLUDED #define HELPER_GLIBTHREAD_H_INCLUDED #include "Thread.hpp" #include #include #include #include #include class Controller_Helper_GLibThread : public Controller_Helper_Thread { private: std::queue> dispatchQueue; private: Glib::Dispatcher dispatcher; // the new general dispatcher private: Glib::Threads::Mutex mutex; public: Controller_Helper_GLibThread() { this->dispatcher.connect(sigc::mem_fun(this, &Controller_Helper_GLibThread::dispatcherCallback)); } public: void runDispatched(std::function function) { Glib::Threads::Mutex::Lock lock(this->mutex); this->dispatchQueue.push(function); lock.release(); this->dispatcher(); } public: void runDelayed(std::function function, int delayInMilliSec) { Glib::signal_timeout().connect_once(function, delayInMilliSec); } public: void runAsThread(std::function function) { Glib::Thread::create(function, false); } private: void dispatcherCallback() { Glib::Threads::Mutex::Lock lock(this->mutex); auto func = this->dispatchQueue.front(); this->dispatchQueue.pop(); lock.release(); func(); } }; #endif /* HELPER_GLIBTHREAD_H_INCLUDED */ grub-customizer-5.1.0/src/Controller/Helper/RuleMover.hpp0000644000175000017500000000551013360360026022712 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef RULEMOVER_HPP_ #define RULEMOVER_HPP_ #include "../../Model/Rule.hpp" #include "../../Model/ListCfg.hpp" #include "RuleMover/AbstractStrategy.hpp" #include "RuleMover/MoveFailedException.hpp" #include class Controller_Helper_RuleMover : public Model_ListCfg_Connection, public Trait_LoggerAware { private: std::list> strategies; public: void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) { assert(this->grublistCfg != nullptr); for (auto strategy : this->strategies) { try { this->log("trying move strategy \"" + strategy->getName() + "\"", Logger::INFO); strategy->move(rule, direction); this->log("move strategy \"" + strategy->getName() + "\" was successful", Logger::INFO); return; } catch (Controller_Helper_RuleMover_MoveFailedException const& e) { continue; } } throw NoMoveTargetException("cannot move this rule. No successful strategy found", __FILE__, __LINE__); } public: void addStrategy(std::shared_ptr strategy) { this->strategies.push_back(strategy); } }; class Controller_Helper_RuleMover_Connection { protected: std::shared_ptr ruleMover; public: virtual ~Controller_Helper_RuleMover_Connection(){} public: void setRuleMover(std::shared_ptr ruleMover) { this->ruleMover = ruleMover; } }; #endif /* RULEMOVER_HPP_ */ grub-customizer-5.1.0/src/Controller/Helper/DeviceInfo.hpp0000644000175000017500000000435613360360026023014 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef DEVICEINFO_H_ #define DEVICEINFO_H_ #include "../../lib/ContentParserFactory.hpp" #include "../../Model/DeviceDataListInterface.hpp" class Controller_Helper_DeviceInfo { public: static std::map fetch( std::string const& menuEntryData, ContentParserFactory& contentParserFactory, Model_DeviceDataListInterface const& deviceDataList ) { std::map options; try { options = contentParserFactory.create(menuEntryData)->getOptions(); if (options.find("partition_uuid") != options.end()) { // add device path for (auto& item : deviceDataList) { if (item.second.find("UUID") != item.second.end() && item.second.at("UUID") == options["partition_uuid"]) { options["_deviceName"] = item.first; break; } } } } catch (ParserNotFoundException const& e) { // nothing to do } return options; } }; #endif /* DEVICEINFO_H_ */ grub-customizer-5.1.0/src/Controller/Helper/Thread.hpp0000644000175000017500000000420513360360026022201 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef HELPER_THREAD_H_INCLUDED #define HELPER_THREAD_H_INCLUDED #include "../../lib/Trait/LoggerAware.hpp" #include class Controller_Helper_Thread : public Trait_LoggerAware { public: virtual inline ~Controller_Helper_Thread() {}; public: virtual void runDispatched(std::function function) = 0; public: virtual void runDelayed(std::function function, int delayInMilliSec) = 0; public: virtual void runAsThread(std::function function) = 0; }; class Controller_Helper_Thread_Connection { protected: std::shared_ptr threadHelper; public: virtual ~Controller_Helper_Thread_Connection(){} public: void setThreadHelper(std::shared_ptr threadHelper) { this->threadHelper = threadHelper; } }; #endif /* HELPER_THREAD_H_INCLUDED */ grub-customizer-5.1.0/src/Controller/Helper/RuleMover/0000755000175000017500000000000013360360026022200 5ustar danieldanielgrub-customizer-5.1.0/src/Controller/Helper/RuleMover/AbstractStrategy.hpp0000644000175000017500000002355113360360026026205 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_AbstractStrategy #define INC_Controller_Helper_RuleMover_AbstractStrategy #include "../../../Model/Rule.hpp" #include "../../../Model/ListCfg.hpp" #include #include class Controller_Helper_RuleMover_AbstractStrategy { public: enum class Direction { DOWN = 1, UP = -1 }; protected: std::string name; Controller_Helper_RuleMover_AbstractStrategy(std::string const& name) : name(name) {} public: virtual void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) = 0; public: virtual std::string getName() { return this->name; } public: virtual ~Controller_Helper_RuleMover_AbstractStrategy(){}; protected: std::list> findVisibleRules( std::list> ruleList, std::shared_ptr ruleAlwaysToInclude ) { std::list> result; for (auto rule : ruleList) { if (rule->isVisible || rule == ruleAlwaysToInclude) { result.push_back(rule); } } return result; } protected: std::shared_ptr getNextRule( std::list> list, std::shared_ptr base, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { auto currentPosition = std::find(list.begin(), list.end(), base); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::UP) { if (currentPosition == list.begin()) { return nullptr; } currentPosition--; return *currentPosition; } if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { currentPosition++; // iterator returned by end points behind to list so we have to increase before if (currentPosition == list.end()) { return nullptr; } return *currentPosition; } throw LogicException("cannot handle given direction", __FILE__, __LINE__); } protected: void removeFromList( std::list>& list, std::shared_ptr ruleToRemove ) { auto position = std::find(list.begin(), list.end(), ruleToRemove); list.erase(position); } protected: void insertBehind( std::list>& list, std::shared_ptr ruleToInsert, std::shared_ptr position, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { auto insertPosition = std::find(list.begin(), list.end(), position); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { insertPosition++; } list.insert(insertPosition, ruleToInsert); } protected: std::list> findProxiesWithVisibleToplevelEntries( std::list> proxies ) { std::list> result; for (auto proxy : proxies) { for (auto rule : proxy->rules) { if (rule->isVisible) { result.push_back(proxy); proxy->hasVisibleRules(); break; } } } return result; } protected: std::shared_ptr getNextProxy( std::list> list, std::shared_ptr base, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { auto currentPosition = std::find(list.begin(), list.end(), base); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::UP) { if (currentPosition == list.begin()) { return nullptr; } currentPosition--; return *currentPosition; } if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { currentPosition++; // iterator returned by end points behind to list so we have to increase before if (currentPosition == list.end()) { return nullptr; } return *currentPosition; } throw LogicException("cannot handle given direction", __FILE__, __LINE__); } protected: std::shared_ptr getFirstVisibleRule( std::shared_ptr proxy, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { auto visibleRules = this->findVisibleRules(proxy->rules, nullptr); if (visibleRules.size() == 0) { return nullptr; } if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::UP) { return visibleRules.back(); } if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { return visibleRules.front(); } throw LogicException("cannot handle given direction", __FILE__, __LINE__); } protected: void insertIntoSubmenu( std::shared_ptr& submenu, std::shared_ptr ruleToInsert, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { submenu->subRules.push_front(ruleToInsert); } if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::UP) { submenu->subRules.push_back(ruleToInsert); } } protected: unsigned int countVisibleRulesOnToplevel(std::shared_ptr proxy) { unsigned int count = 0; for (auto rule : proxy->rules) { if (rule->isVisible) { count++; } } return count; } protected: Controller_Helper_RuleMover_AbstractStrategy::Direction flipDirection( Controller_Helper_RuleMover_AbstractStrategy::Direction in ) { if (in == Controller_Helper_RuleMover_AbstractStrategy::Direction::UP) { return Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN; } if (in == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { return Controller_Helper_RuleMover_AbstractStrategy::Direction::UP; } throw LogicException("cannot handle given direction", __FILE__, __LINE__); } protected: void moveRuleToOtherProxy( std::shared_ptr ruleToMove, std::shared_ptr sourceProxy, std::shared_ptr destination, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { // replace ruleToMove by an invisible copy auto ruleToMoveSource = std::find(sourceProxy->rules.begin(), sourceProxy->rules.end(), ruleToMove); auto dummyRule = ruleToMove->clone(); dummyRule->setVisibility(false); *ruleToMoveSource = dummyRule; this->insertIntoProxy(ruleToMove, destination, direction); } protected: void insertIntoProxy( std::shared_ptr ruleToInsert, std::shared_ptr destination, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { // remove old equivalent rule destination->removeEquivalentRules(ruleToInsert); // do the insertion auto insertPosition = destination->rules.begin(); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::UP) { insertPosition = destination->rules.end(); } destination->rules.insert(insertPosition, ruleToInsert); } /** * extended version with replacement of old rule */ protected: void insertAsNewProxy( std::shared_ptr ruleToMove, std::shared_ptr proxyToCopy, std::shared_ptr destination, std::shared_ptr listCfg, Controller_Helper_RuleMover_AbstractStrategy::Direction direction, bool reAddOldRuleInvisible = true ) { // replace existing rule on old proxy with invisible copy auto oldPos = std::find(proxyToCopy->rules.begin(), proxyToCopy->rules.end(), ruleToMove); auto ruleCopy = ruleToMove->clone(); ruleCopy->setVisibility(false); *oldPos = ruleCopy; this->insertAsNewProxy(ruleToMove, proxyToCopy->dataSource, destination, listCfg, direction); } protected: void insertAsNewProxy( std::shared_ptr ruleToMove, std::shared_ptr sourceScript, std::shared_ptr destination, std::shared_ptr listCfg, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { // prepare new proxy containing ruleToMove as the only visible entry auto newProxy = std::make_shared(sourceScript, false); newProxy->removeEquivalentRules(ruleToMove); switch (direction) { case Controller_Helper_RuleMover_AbstractStrategy::Direction::UP: newProxy->rules.push_back(ruleToMove); break; case Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN: newProxy->rules.push_front(ruleToMove); break; default: throw LogicException("cannot handle given direction", __FILE__, __LINE__); } // insert the new proxy auto insertPosition = std::find(listCfg->proxies.begin(), listCfg->proxies.end(), destination); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { insertPosition++; } listCfg->proxies.insert(insertPosition, newProxy); listCfg->renumerate(); } }; #endif grub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/0000755000175000017500000000000013360360026024002 5ustar danieldanielgrub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/MoveRuleOnSameLevelInsideProxy.hpp0000644000175000017500000000517213360360026032547 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_Strategy_MoveRuleOnSameLevelInsideProxy #define INC_Controller_Helper_RuleMover_Strategy_MoveRuleOnSameLevelInsideProxy #include "../../../../Model/Rule.hpp" #include "../../../../Model/ListCfg.hpp" #include "../AbstractStrategy.hpp" #include "../../../../lib/Trait/LoggerAware.hpp" #include class Controller_Helper_RuleMover_Strategy_MoveRuleOnSameLevelInsideProxy : public Controller_Helper_RuleMover_AbstractStrategy, public Model_ListCfg_Connection, public Trait_LoggerAware { public: Controller_Helper_RuleMover_Strategy_MoveRuleOnSameLevelInsideProxy() : Controller_Helper_RuleMover_AbstractStrategy("MoveRuleOnSameLevelInsideProxy") {} public: void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) { auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); auto& ruleList = proxy->getRuleList(proxy->getParentRule(rule)); auto visibleRules = this->findVisibleRules(ruleList, rule); auto nextRule = this->getNextRule(visibleRules, rule, direction); if (nextRule == nullptr) { throw Controller_Helper_RuleMover_MoveFailedException("no next rule found", __FILE__, __LINE__); } this->removeFromList(ruleList, rule); this->insertBehind(ruleList, rule, nextRule, direction); } }; #endif grub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/MoveRuleOutOfProxyOnToplevel.hpp0000644000175000017500000001762313360360026032311 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_Strategy_MoveRuleOutOfProxyOnToplevel #define INC_Controller_Helper_RuleMover_Strategy_MoveRuleOutOfProxyOnToplevel #include "../../../../Model/Rule.hpp" #include "../../../../Model/ListCfg.hpp" #include "../AbstractStrategy.hpp" #include "../../../../lib/Trait/LoggerAware.hpp" #include #include #include #include class Controller_Helper_RuleMover_Strategy_MoveRuleOutOfProxyOnToplevel : public Controller_Helper_RuleMover_AbstractStrategy, public Model_ListCfg_Connection, public Trait_LoggerAware { private: enum Task { MoveOwnProxy, MoveOwnEntry, MoveForeignEntry, SplitOwnProxy, SplitForeignProxy, DeleteOwnProxy, DeleteForeignProxy, MoveNewProxiesToTheMiddle }; public: Controller_Helper_RuleMover_Strategy_MoveRuleOutOfProxyOnToplevel() : Controller_Helper_RuleMover_AbstractStrategy("MoveRuleOutOfProxyOnToplevel") {} public: void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) { auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); auto proxiesWithVisibleEntries = this->findProxiesWithVisibleToplevelEntries(this->grublistCfg->proxies); auto nextProxy = this->getNextProxy(proxiesWithVisibleEntries, proxy, direction); if (nextProxy == nullptr) { throw Controller_Helper_RuleMover_MoveFailedException("need next proxy", __FILE__, __LINE__); } auto afterNextProxy = this->getNextProxy(proxiesWithVisibleEntries, nextProxy, direction); auto previousProxy = this->getNextProxy(proxiesWithVisibleEntries, proxy, this->flipDirection(direction)); auto firstVisibleRuleOfNextProxy = this->getFirstVisibleRule(nextProxy, direction); // step 1: analyze situation bool ownProxyHasMultipleVisibleRules = this->countVisibleRulesOnToplevel(proxy) > 1; bool nextProxyHasMultipleVisibleRules = this->countVisibleRulesOnToplevel(nextProxy) > 1; bool afterNextProxyIsForOwnScript = afterNextProxy != nullptr && afterNextProxy->dataSource == proxy->dataSource; bool previousProxyIsForNextRule = previousProxy != nullptr && previousProxy->dataSource == nextProxy->dataSource; // normalize - setting cases to false that are not different to handle (to keep situationToTask map small) if (nextProxyHasMultipleVisibleRules) { afterNextProxyIsForOwnScript = false; } if (ownProxyHasMultipleVisibleRules) { previousProxyIsForNextRule = false; } std::bitset<4> situation; situation[0] = ownProxyHasMultipleVisibleRules; situation[1] = nextProxyHasMultipleVisibleRules; situation[2] = afterNextProxyIsForOwnScript; situation[3] = previousProxyIsForNextRule; // compare bitmask values with list above. Left value = last assigned situation! std::unordered_map, std::set> situationToTask = { {std::bitset<4>("0000"), {Task::MoveOwnProxy}}, {std::bitset<4>("0001"), {Task::SplitOwnProxy}}, {std::bitset<4>("0010"), {Task::SplitForeignProxy}}, {std::bitset<4>("0011"), {Task::SplitForeignProxy, Task::SplitOwnProxy, Task::MoveNewProxiesToTheMiddle}}, {std::bitset<4>("0100"), {Task::MoveOwnEntry, Task::DeleteOwnProxy}}, {std::bitset<4>("0101"), {Task::MoveOwnEntry}}, {std::bitset<4>("1000"), {Task::MoveForeignEntry, Task::DeleteForeignProxy}}, {std::bitset<4>("1010"), {Task::MoveForeignEntry}}, {std::bitset<4>("1100"), { Task::MoveOwnEntry, Task::MoveForeignEntry, Task::DeleteOwnProxy, Task::DeleteForeignProxy }} }; // step 2: execute tasks if (situationToTask.find(situation) == situationToTask.end()) { throw LogicException("cannot handle current situation. Programming error!", __FILE__, __LINE__); } auto currentTaskList = situationToTask[situation]; // it's important to handle all tasks! if (currentTaskList.count(Task::MoveOwnProxy)) { this->log("using Task::MoveOwnProxy", Logger::INFO); this->moveProxy(proxy, nextProxy, direction); } if (currentTaskList.count(Task::MoveOwnEntry)) { this->log("using Task::MoveOwnEntry", Logger::INFO); this->moveRuleToOtherProxy(rule, proxy, afterNextProxy, direction); } if (currentTaskList.count(Task::MoveForeignEntry)) { this->log("using Task::MoveForeignEntry", Logger::INFO); this->moveRuleToOtherProxy(firstVisibleRuleOfNextProxy, nextProxy, previousProxy, this->flipDirection(direction)); } if (currentTaskList.count(Task::SplitOwnProxy)) { this->log("using Task::SplitOwnProxy", Logger::INFO); this->insertAsNewProxy(rule, proxy, nextProxy, this->grublistCfg, direction); } if (currentTaskList.count(Task::SplitForeignProxy)) { this->log("using Task::SplitForeignProxy", Logger::INFO); this->insertAsNewProxy(firstVisibleRuleOfNextProxy, nextProxy, proxy, this->grublistCfg, this->flipDirection(direction)); } if (currentTaskList.count(Task::MoveNewProxiesToTheMiddle)) { this->log("using Task::MoveNewProxiesToTheMiddle", Logger::INFO); this->moveNewProxiesToTheMiddle(proxy, nextProxy, direction); } if (currentTaskList.count(Task::DeleteOwnProxy)) { this->log("using Task::DeleteOwnProxy", Logger::INFO); this->grublistCfg->proxies.deleteProxy(proxy); } if (currentTaskList.count(Task::DeleteForeignProxy)) { this->log("using Task::DeleteForeignProxy", Logger::INFO); this->grublistCfg->proxies.deleteProxy(nextProxy); } } private: void moveProxy( std::shared_ptr proxyToMove, std::shared_ptr destination, // proxyToMove will be moved behind destination Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { auto insertPosition = std::find(this->grublistCfg->proxies.begin(), this->grublistCfg->proxies.end(), destination); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { insertPosition++; } auto elementPosition = std::find(this->grublistCfg->proxies.begin(), this->grublistCfg->proxies.end(), proxyToMove); this->grublistCfg->proxies.splice(insertPosition, this->grublistCfg->proxies, elementPosition); this->grublistCfg->renumerate(); } private: void moveNewProxiesToTheMiddle( std::shared_ptr oldOwnProxy, std::shared_ptr oldNextProxy, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { auto visibleProxies = this->findProxiesWithVisibleToplevelEntries(this->grublistCfg->proxies); auto afterNextProxy = this->getNextProxy(visibleProxies, oldNextProxy, direction); auto previousProxy = this->getNextProxy(visibleProxies, oldOwnProxy, this->flipDirection(direction)); this->moveProxy(oldNextProxy, afterNextProxy, direction); this->moveProxy(oldOwnProxy, previousProxy, this->flipDirection(direction)); } }; #endif grub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/MoveRuleIntoForeignSubmenu.hpp0000644000175000017500000001050313360360026031753 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_Strategy_MoveRuleIntoForeignSubmenu #define INC_Controller_Helper_RuleMover_Strategy_MoveRuleIntoForeignSubmenu #include "../../../../Model/Rule.hpp" #include "../../../../Model/ListCfg.hpp" #include "../AbstractStrategy.hpp" #include "../../../../lib/Trait/LoggerAware.hpp" #include class Controller_Helper_RuleMover_Strategy_MoveRuleIntoForeignSubmenu : public Controller_Helper_RuleMover_AbstractStrategy, public Model_ListCfg_Connection, public Trait_LoggerAware { public: Controller_Helper_RuleMover_Strategy_MoveRuleIntoForeignSubmenu() : Controller_Helper_RuleMover_AbstractStrategy("MoveRuleIntoForeignSubmenu") {} public: void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) { auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); auto proxiesWithVisibleEntries = this->findProxiesWithVisibleToplevelEntries(this->grublistCfg->proxies); auto nextProxy = this->getNextProxy(proxiesWithVisibleEntries, proxy, direction); if (nextProxy == nullptr) { throw Controller_Helper_RuleMover_MoveFailedException("need next proxy", __FILE__, __LINE__); } auto previousProxy = this->getNextProxy(proxiesWithVisibleEntries, proxy, this->flipDirection(direction)); if (proxy->dataSource == nextProxy->dataSource) { throw Controller_Helper_RuleMover_MoveFailedException("next proxy is not a foreign proxy", __FILE__, __LINE__); } auto firstVisibleRuleOfNextProxy = this->getFirstVisibleRule(nextProxy, direction); assert(firstVisibleRuleOfNextProxy != nullptr); // we got the proxy from a list of proxies with visible rules if (firstVisibleRuleOfNextProxy->type != Model_Rule::RuleType::SUBMENU) { throw Controller_Helper_RuleMover_MoveFailedException("first rule of next proxy is not a submenu", __FILE__, __LINE__); } // replace old rule with invisible copy auto ruleCopy = rule->clone(); ruleCopy->setVisibility(false); auto rulePos = std::find(proxy->rules.begin(), proxy->rules.end(), rule); assert(rulePos != proxy->rules.end()); *rulePos = ruleCopy; // insert into submenu of foreign proxy this->insertIntoSubmenu(firstVisibleRuleOfNextProxy, rule, direction); if (this->countVisibleRulesOnToplevel(proxy) == 0) { this->grublistCfg->proxies.deleteProxy(proxy); if (previousProxy != nullptr && previousProxy->dataSource == nextProxy->dataSource) { this->mergeProxy(previousProxy, nextProxy, direction); } } } private: void mergeProxy( std::shared_ptr source, std::shared_ptr destination, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { auto list = this->findVisibleRules(source->rules, nullptr); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { list.reverse(); } for (auto rule : list) { this->moveRuleToOtherProxy(rule, source, destination, direction); } this->grublistCfg->proxies.deleteProxy(source); } }; #endif /* MOVERULEINTOFOREIGNSUBMENU_HPP_ */ grub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/MoveRuleOutOfSubmenu.hpp0000644000175000017500000000555313360360026030575 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_Strategy_MoveRuleOutOfSubmenu #define INC_Controller_Helper_RuleMover_Strategy_MoveRuleOutOfSubmenu #include "../../../../Model/Rule.hpp" #include "../../../../Model/ListCfg.hpp" #include "../AbstractStrategy.hpp" #include "../../../../lib/Trait/LoggerAware.hpp" #include class Controller_Helper_RuleMover_Strategy_MoveRuleOutOfSubmenu : public Controller_Helper_RuleMover_AbstractStrategy, public Model_ListCfg_Connection, public Trait_LoggerAware { public: Controller_Helper_RuleMover_Strategy_MoveRuleOutOfSubmenu() : Controller_Helper_RuleMover_AbstractStrategy("MoveRuleOutOfSubmenu") {} public: void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) { auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); auto parentRule = proxy->getParentRule(rule); if (parentRule == nullptr) { throw Controller_Helper_RuleMover_MoveFailedException( "having no parent rule - so we already are on toplevel and cannot move out", __FILE__, __LINE__ ); } auto& ruleList = proxy->getRuleList(parentRule); auto visibleRules = this->findVisibleRules(ruleList, rule); auto nextRule = this->getNextRule(visibleRules, rule, direction); auto& destinationRuleList = proxy->getRuleList(proxy->getParentRule(parentRule)); this->removeFromList(ruleList, rule); this->insertBehind(destinationRuleList, rule, parentRule, direction); if (ruleList.size() == 0) { this->removeFromList(destinationRuleList, parentRule); } } }; #endif grub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/MoveRuleIntoSubmenu.hpp0000644000175000017500000000534013360360026030444 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_Strategy_MoveRuleIntoSubmenu #define INC_Controller_Helper_RuleMover_Strategy_MoveRuleIntoSubmenu #include "../../../../Model/Rule.hpp" #include "../../../../Model/ListCfg.hpp" #include "../AbstractStrategy.hpp" #include "../../../../lib/Trait/LoggerAware.hpp" #include class Controller_Helper_RuleMover_Strategy_MoveRuleIntoSubmenu : public Controller_Helper_RuleMover_AbstractStrategy, public Model_ListCfg_Connection, public Trait_LoggerAware { public: Controller_Helper_RuleMover_Strategy_MoveRuleIntoSubmenu() : Controller_Helper_RuleMover_AbstractStrategy("MoveRuleIntoSubmenu") {} public: void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) { auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); auto& ruleList = proxy->getRuleList(proxy->getParentRule(rule)); auto visibleRules = this->findVisibleRules(ruleList, rule); auto nextRule = this->getNextRule(visibleRules, rule, direction); if (nextRule == nullptr) { throw Controller_Helper_RuleMover_MoveFailedException("next rule not found", __FILE__, __LINE__); } if (nextRule->type != Model_Rule::SUBMENU) { throw Controller_Helper_RuleMover_MoveFailedException("next rule is not a submenu", __FILE__, __LINE__); } this->removeFromList(ruleList, rule); this->insertIntoSubmenu(nextRule, rule, direction); } }; #endif ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootgrub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/MoveForeignRuleFromSubmenuToToplevel.hppgrub-customizer-5.1.0/src/Controller/Helper/RuleMover/Strategy/MoveForeignRuleFromSubmenuToToplevel.0000644000175000017500000001264113360360026033260 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_Strategy_MoveForeignRuleFromSubmenuToToplevel #define INC_Controller_Helper_RuleMover_Strategy_MoveForeignRuleFromSubmenuToToplevel #include "../../../../Model/Rule.hpp" #include "../../../../Model/ListCfg.hpp" #include "../AbstractStrategy.hpp" #include "../../../../lib/Trait/LoggerAware.hpp" #include class Controller_Helper_RuleMover_Strategy_MoveForeignRuleFromSubmenuToToplevel : public Controller_Helper_RuleMover_AbstractStrategy, public Model_ListCfg_Connection, public Trait_LoggerAware { public: Controller_Helper_RuleMover_Strategy_MoveForeignRuleFromSubmenuToToplevel() : Controller_Helper_RuleMover_AbstractStrategy("MoveForeignRuleFromSubmenuToToplevel") {} public: void move(std::shared_ptr rule, Controller_Helper_RuleMover_AbstractStrategy::Direction direction) { if (rule->dataSource == nullptr) { throw Controller_Helper_RuleMover_MoveFailedException("rule must have a dataSource", __FILE__, __LINE__); } auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); auto ownScript = this->grublistCfg->repository.getScriptByEntry(rule->dataSource); if (ownScript == proxy->dataSource) { throw Controller_Helper_RuleMover_MoveFailedException("rule is not a foreign rule", __FILE__, __LINE__); } auto parentRule = proxy->getParentRule(rule); assert(parentRule != nullptr); auto& sourceRuleList = proxy->getRuleList(parentRule); auto parentOfParent = proxy->getParentRule(parentRule); if (parentOfParent != nullptr) { throw Controller_Helper_RuleMover_MoveFailedException("destination is another submenu", __FILE__, __LINE__); } auto& ruleList = proxy->getRuleList(parentOfParent); auto visibleRules = this->findVisibleRules(ruleList, rule); auto nextRule = this->getNextRule(visibleRules, parentRule, direction); auto proxiesWithVisibleEntries = this->findProxiesWithVisibleToplevelEntries(this->grublistCfg->proxies); auto nextProxy = this->getNextProxy(proxiesWithVisibleEntries, proxy, direction); this->removeFromList(sourceRuleList, rule); if (nextRule != nullptr) { // we are not at the end of current proxy: split current proxy and insert new proxy this->splitProxyAndInsertBetween(rule, ownScript, this->grublistCfg->proxies, proxy, parentRule, direction); } else if (nextProxy->dataSource == ownScript) { // next proxy is from same script: move rule into nextProxy this->insertIntoProxy(rule, nextProxy, direction); } else { // next proxy is from different script: insert a new proxy before this->insertAsNewProxy(rule, ownScript, proxy, this->grublistCfg, direction); } if (sourceRuleList.size() == 0) { this->removeFromList(ruleList, parentRule); } } private: void splitProxyAndInsertBetween( std::shared_ptr ruleToInsert, std::shared_ptr scriptOfRuleToInsert, std::list>& proxyList, std::shared_ptr proxyToSplit, std::shared_ptr position, Controller_Helper_RuleMover_AbstractStrategy::Direction direction ) { //auto splitPos = proxy auto newProxy = std::make_shared(proxyToSplit->dataSource, false); bool isAfterPosition = false; for (auto rule : proxyToSplit->rules) { if (rule == position) { isAfterPosition = true; continue; } auto loopDirection = Controller_Helper_RuleMover_AbstractStrategy::Direction::UP; if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::UP && !isAfterPosition) { this->moveRuleToOtherProxy(rule, proxyToSplit, newProxy, loopDirection); } if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN && isAfterPosition) { this->moveRuleToOtherProxy(rule, proxyToSplit, newProxy, loopDirection); } } auto newProxyPosition = std::find(proxyList.begin(), proxyList.end(), proxyToSplit); if (direction == Controller_Helper_RuleMover_AbstractStrategy::Direction::DOWN) { newProxyPosition++; } proxyList.insert(newProxyPosition, newProxy); this->insertAsNewProxy(ruleToInsert, scriptOfRuleToInsert, proxyToSplit, this->grublistCfg, direction); } }; #endif grub-customizer-5.1.0/src/Controller/Helper/RuleMover/MoveFailedException.hpp0000644000175000017500000000335113360360026026605 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef INC_Controller_Helper_RuleMover_MoveFailedException #define INC_Controller_Helper_RuleMover_MoveFailedException #include "../../../lib/Exception.hpp" class Controller_Helper_RuleMover_MoveFailedException : public Exception { public: inline Controller_Helper_RuleMover_MoveFailedException(std::string const& message, std::string const& file = "", int line = -1) : Exception(message, file, line) {} }; #endif grub-customizer-5.1.0/src/Controller/ThemeController.hpp0000644000175000017500000005277713360360026022702 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef THEMECONTROLLERIMPL_H_ #define THEMECONTROLLERIMPL_H_ #include "../Model/Env.hpp" #include "../View/Theme.hpp" #include "../View/Trait/ViewAware.hpp" #include "../Model/SettingsManagerData.hpp" #include "../Model/ListCfg.hpp" #include #include #include "../Model/ThemeManager.hpp" #include "Common/ControllerAbstract.hpp" #include "Helper/Thread.hpp" class ThemeController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Model_ThemeManager_Connection, public Model_SettingsManagerData_Connection, public Model_ListCfg_Connection, public Model_Env_Connection, public Controller_Helper_Thread_Connection, public Bootstrap_Application_Object_Connection { private: std::string currentTheme, currentThemeFile; private: bool syncActive; // should only be controlled by syncSettings() public: ThemeController() : Controller_Common_ControllerAbstract("theme"), syncActive(false) { } public: void initViewEvents() override { using namespace std::placeholders; this->view->onThemeSelected = std::bind(std::mem_fn(&ThemeController::loadThemeAction), this, _1); this->view->onThemeFileApply = std::bind(std::mem_fn(&ThemeController::addThemePackageAction), this, _1); this->view->onRemoveThemeClicked = std::bind(std::mem_fn(&ThemeController::removeThemeAction), this, _1); this->view->onAddThemeClicked = std::bind(std::mem_fn(&ThemeController::showThemeInstallerAction), this); this->view->onSimpleThemeSelected = std::bind(std::mem_fn(&ThemeController::showSimpleThemeConfigAction), this); this->view->onAddFile = std::bind(std::mem_fn(&ThemeController::addFileAction), this); this->view->onRemoveFile = std::bind(std::mem_fn(&ThemeController::removeFileAction), this, _1); this->view->onSelect = std::bind(std::mem_fn(&ThemeController::updateEditAreaAction), this, _1); this->view->onRename = std::bind(std::mem_fn(&ThemeController::renameAction), this, _1); this->view->onFileChoose = std::bind(std::mem_fn(&ThemeController::loadFileAction), this, _1); this->view->onTextChange = std::bind(std::mem_fn(&ThemeController::saveTextAction), this, _1); this->view->onColorChange = std::bind(std::mem_fn(&ThemeController::updateColorSettingsAction), this); this->view->onFontChange = std::bind(std::mem_fn(&ThemeController::updateFontSettingsAction), this, _1); this->view->onImageChange = std::bind(std::mem_fn(&ThemeController::updateBackgroundImageAction), this); this->view->onImageRemove = std::bind(std::mem_fn(&ThemeController::removeBackgroundImageAction), this); this->view->onSaveClick = std::bind(std::mem_fn(&ThemeController::saveAction), this); } public: void initApplicationEvents() override { using namespace std::placeholders; this->applicationObject->onListModelChange.addHandler(std::bind(std::mem_fn(&ThemeController::updateSettingsDataAction), this)); this->applicationObject->onLoad.addHandler(std::bind(std::mem_fn(&ThemeController::loadThemesAction), this)); this->applicationObject->onSettingModelChange.addHandler(std::bind(std::mem_fn(&ThemeController::updateFontSizeAction), this)); this->applicationObject->onSave.addHandler(std::bind(std::mem_fn(&ThemeController::saveAction), this)); } public: void loadThemesAction() { this->logActionBegin("load-themes"); try { try { this->themeManager->load(); } catch (FileReadException const& e) { this->log("Theme directory not found", Logger::INFO); } this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void loadThemeAction(std::string const& name) { this->logActionBegin("load-theme"); try { this->view->setEditorType(View_Theme::EDITORTYPE_THEME); this->view->setRemoveFunctionalityEnabled(true); this->view->selectTheme(name); this->currentTheme = name; try { this->themeManager->getTheme(name).getFileByNewName("theme.txt"); } catch (ItemNotFoundException const& e) { this->view->showError(View_Theme::ERROR_THEMEFILE_NOT_FOUND); } this->settings->setValue("GRUB_THEME", this->themeManager->getThemePath() + "/" + name + "/theme.txt"); this->settings->setIsActive("GRUB_THEME", true); this->syncFiles(); this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void addThemePackageAction(const std::string& filePath) { this->logActionBegin("add-theme-package"); try { try { std::string themeName = this->themeManager->addThemePackage(filePath); this->themeManager->getTheme(themeName).isModified = true; this->loadThemeAction(themeName); this->syncSettings(); this->view->selectTheme(themeName); } catch (InvalidFileTypeException const& e) { this->view->showError(View_Theme::ERROR_INVALID_THEME_PACK_FORMAT); } } catch (const Exception& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void removeThemeAction(const std::string& name) { this->logActionBegin("remove-theme"); try { this->themeManager->removeTheme(this->themeManager->getTheme(name)); this->showSimpleThemeConfigAction(); this->syncSettings(); } catch (const Exception& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showThemeInstallerAction() { this->logActionBegin("show-theme-installer"); try { this->view->showThemeFileChooser(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showSimpleThemeConfigAction() { this->logActionBegin("show-simple-theme-config"); try { this->view->setEditorType(View_Theme::EDITORTYPE_CUSTOM); this->view->setRemoveFunctionalityEnabled(false); this->view->selectTheme(""); this->updateColorSettingsAction(); this->settings->setIsActive("GRUB_THEME", false); this->currentTheme = ""; this->currentThemeFile = ""; this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void addFileAction() { this->logActionBegin("add-file"); try { std::string defaultName = this->view->getDefaultName(); Model_Theme* theme = &this->themeManager->getTheme(this->currentTheme); if (!theme->hasConflicts(defaultName)) { Model_ThemeFile newFile(defaultName, true); newFile.content = ""; newFile.contentLoaded = true; theme->files.push_back(newFile); theme->isModified = true; theme->sort(); this->syncFiles(); this->threadHelper->runDelayed( std::bind(std::mem_fn(&ThemeController::startFileEditAction), this, defaultName), 10 ); } else { this->view->showError(View_Theme::ERROR_RENAME_CONFLICT); } } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void startFileEditAction(std::string const& file) { this->logActionBegin("select-file"); try { this->view->selectFile(file, true); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void removeFileAction(std::string const& file) { this->logActionBegin("remove-file"); try { Model_ThemeFile* fileObj = &this->themeManager->getTheme(this->currentTheme).getFileByNewName(file); this->themeManager->getTheme(this->currentTheme).removeFile(*fileObj); this->themeManager->getTheme(this->currentTheme).isModified = true; this->currentThemeFile = ""; this->syncFiles(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateEditAreaAction(std::string const& file) { this->logActionBegin("update-edit-area"); try { Model_Theme* theme = &this->themeManager->getTheme(this->currentTheme); Model_ThemeFile* themeFile = &theme->getFileByNewName(file); std::string originalFileName = themeFile->localFileName; bool isImage = this->isImage(file); this->currentThemeFile = themeFile->newLocalFileName; if (themeFile->content != "") { this->view->setText(themeFile->content); } else if (themeFile->externalSource != "") { if (isImage) { this->view->setImage(themeFile->externalSource); } else { std::string content = theme->loadFileContentExternal(themeFile->externalSource); this->view->setText(content); } } else if (!themeFile->isAddedByUser) { if (isImage) { this->view->setImage(theme->getFullFileName(originalFileName)); } else { std::string content = theme->loadFileContent(originalFileName); this->view->setText(content); } } else { if (!isImage) { this->view->setText(""); } } this->view->setCurrentExternalThemeFilePath(themeFile->externalSource); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void renameAction(std::string const& newName) { this->logActionBegin("rename"); try { Model_ThemeFile* themeFile = &this->themeManager->getTheme(this->currentTheme).getFile(this->currentThemeFile); if (themeFile->newLocalFileName == newName) { // do nothing } else if (!this->themeManager->getTheme(this->currentTheme).hasConflicts(newName)) { this->themeManager->getTheme(this->currentTheme).isModified = true; themeFile->newLocalFileName = newName; if (themeFile->isAddedByUser) { themeFile->localFileName = newName; this->currentThemeFile = newName; } this->updateEditAreaAction(newName); } else { this->view->showError(View_Theme::ERROR_RENAME_CONFLICT); } this->themeManager->getTheme(this->currentTheme).sort(); this->syncFiles(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void loadFileAction(std::string const& externalPath) { this->logActionBegin("load-file"); try { if (this->currentThemeFile == "") { this->view->showError(View_Theme::ERROR_NO_FILE_SELECTED); return; } this->themeManager->getTheme(this->currentTheme).isModified = true; Model_ThemeFile* file = &this->themeManager->getTheme(this->currentTheme).getFile(this->currentThemeFile); file->externalSource = externalPath; file->content = ""; file->contentLoaded = false; this->updateEditAreaAction(file->newLocalFileName); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void saveTextAction(std::string const& newText) { this->logActionBegin("save-text"); try { this->themeManager->getTheme(this->currentTheme).isModified = true; Model_ThemeFile* themeFile = &this->themeManager->getTheme(this->currentTheme).getFile(this->currentThemeFile); themeFile->externalSource = ""; this->view->setCurrentExternalThemeFilePath(themeFile->externalSource); themeFile->content = newText; themeFile->contentLoaded = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateColorSettingsAction() { this->logActionBegin("update-color-settings"); try { if (this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_FONT).getSelectedColor() != "" && this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_BACKGROUND).getSelectedColor() != ""){ this->settings->setValue("GRUB_COLOR_NORMAL", this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_FONT).getSelectedColor() + "/" + this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_BACKGROUND).getSelectedColor()); this->settings->setIsActive("GRUB_COLOR_NORMAL", true); this->settings->setIsExport("GRUB_COLOR_NORMAL", true); } if (this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_FONT).getSelectedColor() != "" && this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_BACKGROUND).getSelectedColor() != ""){ this->settings->setValue("GRUB_COLOR_HIGHLIGHT", this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_FONT).getSelectedColor() + "/" + this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_BACKGROUND).getSelectedColor()); this->settings->setIsActive("GRUB_COLOR_HIGHLIGHT", true); this->settings->setIsExport("GRUB_COLOR_HIGHLIGHT", true); } this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateFontSettingsAction(bool removeFont) { this->logActionBegin("update-font-settings"); try { std::string fontName; int fontSize = -1; if (!removeFont) { fontName = this->view->getFontName(); fontSize = this->view->getFontSize(); } if (fontName != "" && this->settings->grubFont == "") { this->view->showFontWarning(); } this->settings->grubFont = fontName; this->settings->grubFontSize = fontSize; if (fontName != "") { std::string fullTmpFontPath = this->env->cfg_dir_prefix + "/tmp/grub_customizer_chosen_font_test.pf2"; this->settings->mkFont("", "/tmp/grub_customizer_chosen_font_test.pf2"); this->settings->grubFont = this->settings->parsePf2(fullTmpFontPath)["NAME"]; // must be done again to check the font returned by parsePf2 this->settings->mkFont("", "/tmp/grub_customizer_chosen_font_test.pf2"); this->settings->grubFont = this->settings->parsePf2(fullTmpFontPath)["NAME"]; // to prevent usage of the temporary font file this->settings->removeItem("GRUB_FONT"); } this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateFontSizeAction() { this->logActionBegin("update-font-size"); try { this->settings->grubFontSize = this->view->getFontSize(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateBackgroundImageAction() { this->logActionBegin("update-background-image"); try { if (!this->env->useDirectBackgroundProps) { this->settings->setValue("GRUB_MENU_PICTURE", this->view->getBackgroundImagePath()); this->settings->setIsActive("GRUB_MENU_PICTURE", true); this->settings->setIsExport("GRUB_MENU_PICTURE", true); } else { this->settings->setValue("GRUB_BACKGROUND", this->view->getBackgroundImagePath()); this->settings->setIsActive("GRUB_BACKGROUND", true); } this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void removeBackgroundImageAction() { this->logActionBegin("remove-background-image"); try { if (!this->env->useDirectBackgroundProps) { this->settings->setIsActive("GRUB_MENU_PICTURE", false); } else { this->settings->setIsActive("GRUB_BACKGROUND", false); } this->syncSettings(); this->env->modificationsUnsaved = true; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void updateSettingsDataAction() { this->logActionBegin("update-settings-data"); try { std::list labelListToplevel = this->grublistCfg->proxies.getToplevelEntryTitles(); this->view->setPreviewEntryTitles(labelListToplevel); this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void syncAction() { this->logActionBegin("sync"); try { this->syncSettings(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void saveAction() { this->logActionBegin("save"); try { this->themeManager->save(); this->threadHelper->runDispatched(std::bind(std::mem_fn(&ThemeController::postSaveAction), this)); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void postSaveAction() { this->logActionBegin("post-save"); try { if (this->themeManager->hasSaveErrors()) { this->view->showError(View_Theme::ERROR_SAVE_FAILED, this->themeManager->getSaveErrors()); } this->syncSettings(); this->syncFiles(); this->currentThemeFile = ""; this->view->selectFile(""); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } private: bool isImage(std::string const& fileName) { std::list imageExtensions; imageExtensions.push_back("png"); imageExtensions.push_back("jpg"); imageExtensions.push_back("bmp"); imageExtensions.push_back("gif"); imageExtensions.push_back("pf2"); // not really, but shouldn't be handled as text if (fileName.find_last_of(".") != std::string::npos) { int dotPos = fileName.find_last_of("."); std::string extension = fileName.substr(dotPos + 1); if (std::find(imageExtensions.begin(), imageExtensions.end(), extension) != imageExtensions.end()) { return true; } } return false; } private: void syncSettings() { if (this->syncActive) { return; } this->syncActive = true; std::string nColor = this->settings->getValue("GRUB_COLOR_NORMAL"); std::string hColor = this->settings->getValue("GRUB_COLOR_HIGHLIGHT"); if (nColor != ""){ this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_FONT).selectColor(nColor.substr(0, nColor.find('/'))); this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_BACKGROUND).selectColor(nColor.substr(nColor.find('/')+1)); } else { //default grub menu colors this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_FONT).selectColor("light-gray"); this->view->getColorChooser(View_Theme::COLOR_CHOOSER_DEFAULT_BACKGROUND).selectColor("black"); } if (hColor != ""){ this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_FONT).selectColor(hColor.substr(0, hColor.find('/'))); this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_BACKGROUND).selectColor(hColor.substr(hColor.find('/')+1)); } else { //default grub menu colors this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_FONT).selectColor("magenta"); this->view->getColorChooser(View_Theme::COLOR_CHOOSER_HIGHLIGHT_BACKGROUND).selectColor("black"); } std::string wallpaper_key = this->env->useDirectBackgroundProps ? "GRUB_BACKGROUND" : "GRUB_MENU_PICTURE"; std::string menuPicturePath = this->settings->getValue(wallpaper_key); bool menuPicIsInGrubDir = false; if (menuPicturePath != "" && menuPicturePath[0] != '/'){ menuPicturePath = env->output_config_dir + "/" + menuPicturePath; menuPicIsInGrubDir = true; } this->view->setFontName(this->settings->grubFont); if (this->settings->isActive(wallpaper_key) && menuPicturePath != ""){ this->view->setBackgroundImagePreviewPath(menuPicturePath, menuPicIsInGrubDir); } else { this->view->setBackgroundImagePreviewPath("", menuPicIsInGrubDir); } std::string selectedTheme = this->view->getSelectedTheme(); this->view->clearThemeSelection(); for (auto& theme : this->themeManager->themes) { this->view->addTheme(theme.name); } this->view->selectTheme(selectedTheme); std::string themeName; if (this->settings->isActive("GRUB_THEME")) { try { themeName = this->themeManager->extractThemeName(this->settings->getValue("GRUB_THEME")); } catch (InvalidStringFormatException const& e) { this->log(e, Logger::ERROR); } } if (this->currentTheme != themeName) { if (this->settings->isActive("GRUB_THEME")) { if (this->themeManager->themeExists(themeName)) { this->loadThemeAction(themeName); } else { this->log("theme " + themeName + " not found!", Logger::ERROR); } } else if (!this->settings->isActive("GRUB_THEME")) { this->showSimpleThemeConfigAction(); } } this->applicationObject->onSettingModelChange.exec(); this->syncActive = false; } private: void syncFiles() { this->view->clear(); if (this->currentTheme != "") { Model_Theme* theme = &this->themeManager->getTheme(this->currentTheme); for (auto& themeFile : theme->files) { this->view->addFile(themeFile.newLocalFileName); } if (this->currentThemeFile != "") { this->view->selectFile(theme->getFile(this->currentThemeFile).newLocalFileName); } } } }; #endif /* THEMECONTROLLERIMPL_H_ */ grub-customizer-5.1.0/src/Controller/EntryEditController.hpp0000644000175000017500000003075413360360026023536 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRY_EDIT_CONTROLLER_INCLUDED #define ENTRY_EDIT_CONTROLLER_INCLUDED #include "../View/Main.hpp" #include #include #include #include "../config.hpp" #include "../Model/Env.hpp" #include "../View/EntryEditor.hpp" #include "../View/Trait/ViewAware.hpp" #include "../Model/ListCfg.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "Common/ControllerAbstract.hpp" #include "../lib/ContentParserFactory.hpp" #include "../lib/Exception.hpp" #include "../Model/DeviceDataList.hpp" #include "../Model/Installer.hpp" #include "../Model/ListCfg.hpp" #include "Helper/Thread.hpp" #include "Helper/RuleMover.hpp" class EntryEditController : public Controller_Common_ControllerAbstract, public View_Trait_ViewAware, public Model_ListCfg_Connection, public ContentParserFactory_Connection, public Model_DeviceDataListInterface_Connection, public Model_Env_Connection, public Controller_Helper_Thread_Connection, public Bootstrap_Application_Object_Connection, public Controller_Helper_RuleMover_Connection { private: std::shared_ptr currentContentParser; public: EntryEditController() : Controller_Common_ControllerAbstract("entry-edit"), currentContentParser(NULL) { } public: void initViewEvents() override { using namespace std::placeholders; this->view->onApplyClick = std::bind(std::mem_fn(&EntryEditController::applyAction), this); this->view->onSourceModification = std::bind(std::mem_fn(&EntryEditController::syncOptionsAction), this); this->view->onOptionModification = std::bind(std::mem_fn(&EntryEditController::syncSourceAction), this); this->view->onTypeSwitch = std::bind(std::mem_fn(&EntryEditController::switchTypeAction), this, _1); this->view->onNameChange = std::bind(std::mem_fn(&EntryEditController::validateNameAction), this); this->view->onFileChooserSelection = std::bind(std::mem_fn(&EntryEditController::replaceByFullPathAction), this, _1, _2, _3); } public: void initApplicationEvents() override { using namespace std::placeholders; this->applicationObject->onEntryEditorShowRequest.addHandler(std::bind(std::mem_fn(&EntryEditController::showAction), this, _1)); } public: void showAction(Rule* rule) { if (rule == nullptr) { this->showCreatorAction(); return; } try { this->_initTypes(); this->view->setRulePtr(rule); this->view->setName(this->grublistCfg->findRule(rule)->outputName); this->view->setSourcecode(this->grublistCfg->findRule(rule)->dataSource->content); if (this->grublistCfg->findRule(rule)->dataSource->type == Model_Entry::PLAINTEXT) { this->view->selectType("[TEXT]"); this->view->setNameFieldVisibility(false); } else { this->syncEntryEditDlg(false); this->view->setNameFieldVisibility(true); } this->view->setTypeIsValid(true); this->view->setApplyEnabled(true); this->view->show(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void showCreatorAction() { this->logActionBegin("show-creator"); try { this->_initTypes(); this->view->setRulePtr(NULL); this->view->setName(""); this->view->setSourcecode(""); this->view->selectType("[NONE]"); this->view->setTypeIsValid(false); this->view->setOptions(std::map()); this->view->setNameFieldVisibility(true); this->view->setApplyEnabled(false); this->validateNameAction(); this->view->show(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void syncOptionsAction() { this->logActionBegin("sync-options"); try { if (this->view->getSelectedType() != "[TEXT]") { this->syncEntryEditDlg(false); } this->_validate(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void syncSourceAction() { this->logActionBegin("sync-source"); try { this->syncEntryEditDlg(true); this->_validate(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void syncEntryEditDlg(bool useOptionsAsSource) { try { if (useOptionsAsSource) { this->_updateSource(this->view->getOptions()); } else { this->currentContentParser = this->contentParserFactory->create(this->view->getSourcecode()); this->view->setOptions(this->currentContentParser->getOptions()); } this->view->selectType(this->contentParserFactory->getNameByInstance(*this->currentContentParser)); this->_validate(); } catch (ParserNotFoundException const& e) { this->view->selectType(""); this->view->setOptions(std::map()); } } public: void switchTypeAction(std::string const& newType) { this->logActionBegin("switch-type"); try { if (newType != "" && newType != "[TEXT]") { this->currentContentParser = this->contentParserFactory->createByName(newType); this->currentContentParser->buildDefaultEntry(); try { this->view->setSourcecode(this->currentContentParser->buildSource()); this->view->setApplyEnabled(true); } catch (ParserException const& e) { this->view->showSourceBuildError(); this->view->setApplyEnabled(false); } this->view->setOptions(this->currentContentParser->getOptions()); } else { this->view->setOptions(std::map()); this->view->setSourcecode(""); this->view->setApplyEnabled(true); } this->view->selectType(newType); if (newType == "[TEXT]") { this->view->setNameFieldVisibility(false); this->view->setName("#text"); } else { this->view->setNameFieldVisibility(true); if (this->view->getName() == "#text") { this->view->setName(""); } } this->view->setNameFieldVisibility(newType != "[TEXT]"); this->view->setTypeIsValid(true); this->_validate(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void applyAction() { this->logActionBegin("apply"); try { std::shared_ptr rule = nullptr; if (this->view->getRulePtr() != nullptr) { rule = this->grublistCfg->findRule(this->view->getRulePtr()); } bool isAdded = false; Model_Entry::EntryType type = this->view->getSelectedType() == "[TEXT]" ? Model_Entry::PLAINTEXT : Model_Entry::MENUENTRY; Model_Rule::RuleType ruleType = type == Model_Entry::PLAINTEXT ? Model_Rule::PLAINTEXT : Model_Rule::NORMAL; if (rule == nullptr) { // insert auto script = this->grublistCfg->repository.getCustomScript(); if (script == nullptr) { script = this->createCustomScript(); } assert(script != nullptr); script->entries().push_back(std::make_shared("new", "", "", type)); auto newRule = std::make_shared(script->entries().back(), true, script); auto proxies = this->grublistCfg->proxies.getProxiesByScript(script); if (proxies.size() == 0) { this->grublistCfg->proxies.push_back(std::make_shared(script, false)); proxies = this->grublistCfg->proxies.getProxiesByScript(script); } assert(proxies.size() != 0); for (auto proxy : proxies) { proxy->rules.push_back(std::make_shared(*newRule)); newRule->isVisible = false; // if there are more rules of this type, add them invisible } rule = proxies.front()->rules.back(); isAdded = true; } else { // update auto script = this->grublistCfg->repository.getScriptByEntry(rule->dataSource); assert(script != nullptr); if (!script->isCustomScript) { script = this->grublistCfg->repository.getCustomScript(); if (script == nullptr) { script = this->createCustomScript(); } assert(script != nullptr); script->entries().push_back(std::make_shared(*rule->dataSource)); auto ruleCopy = rule->clone(); rule->setVisibility(false); ruleCopy->dataSource = script->entries().back(); auto proxy = this->grublistCfg->proxies.getProxyByRule(rule); auto& ruleList = proxy->getRuleList(proxy->getParentRule(rule)); auto dummySubmenu = std::make_shared(Model_Rule::SUBMENU, std::list(), "DUMMY", true); dummySubmenu->subRules.push_back(ruleCopy); ruleList.insert(proxy->getListIterator(rule, ruleList), dummySubmenu); this->ruleMover->move(ruleCopy, Controller_Helper_RuleMover_AbstractStrategy::Direction::UP); rule = ruleCopy; this->grublistCfg->renumerate(); auto proxies = this->grublistCfg->proxies.getProxiesByScript(script); for (auto proxy : proxies) { if (!proxy->getRuleByEntry(rule->dataSource, proxy->rules, rule->type)) { proxy->rules.push_back(std::make_shared(rule->dataSource, false, script)); } } } } std::string newCode = this->view->getSourcecode(); rule->dataSource->content = newCode; rule->dataSource->isModified = true; rule->dataSource->type = type; rule->dataSource->name = this->view->getName(); rule->outputName = this->view->getName(); rule->type = ruleType; this->env->modificationsUnsaved = true; this->applicationObject->onListModelChange.exec(); this->applicationObject->onListRuleChange.exec(rule.get(), false); this->currentContentParser = nullptr; } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void replaceByFullPathAction(std::string newProperty, std::string value, std::list oldProperties) { this->logActionBegin("replace-by-full-path"); try { std::map options = this->view->getOptions(); for (std::list::iterator oldPropIter = oldProperties.begin(); oldPropIter != oldProperties.end(); oldPropIter++) { options.erase(*oldPropIter); } options[newProperty] = value; this->view->setOptions(options); this->_updateSource(options); this->_validate(); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void validateNameAction() { this->logActionBegin("validate-name"); try { this->view->setNameIsValid(this->view->getName() != ""); } catch (Exception const& e) { this->applicationObject->onError.exec(e); } this->logActionEnd(); } public: void _initTypes() { this->view->setAvailableEntryTypes(this->contentParserFactory->getNames()); } public: void _validate() { if (this->currentContentParser == NULL) { return; } this->view->setErrors(this->currentContentParser->getErrors()); } public: void _updateSource(std::map const& options) { assert(this->currentContentParser != NULL); this->currentContentParser->setOptions(options); try { this->view->setSourcecode(this->currentContentParser->buildSource()); this->view->setApplyEnabled(true); } catch (ParserException const& e) { this->view->showSourceBuildError(); this->view->setApplyEnabled(false); } } private: std::shared_ptr createCustomScript() { this->grublistCfg->repository.push_back(std::make_shared("custom", "")); auto script = this->grublistCfg->repository.back(); script->isCustomScript = true; return script; } }; #endif grub-customizer-5.1.0/src/Model/0000755000175000017500000000000013360360026015756 5ustar danieldanielgrub-customizer-5.1.0/src/Model/Env.hpp0000644000175000017500000004070413360360026017224 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUBENV_INCLUDED #define GRUBENV_INCLUDED #include #include #include #include #include #include #include "../lib/ArrayStructure.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Exception.hpp" #include "../lib/FileSystem.hpp" #include "../lib/Type.hpp" #include "MountTable.hpp" #include "SettingsStore.hpp" struct Model_Env : public Trait_LoggerAware { public: enum Mode { GRUB_MODE, BURG_MODE }; // application status flags: bool quit_requested; int activeThreadCount; bool modificationsUnsaved; std::string rootDeviceName; Model_Env() : burgMode(false), useDirectBackgroundProps(false), modificationsUnsaved(false), quit_requested(false), activeThreadCount(0) {} bool init(Model_Env::Mode mode, std::string const& dir_prefix) { useDirectBackgroundProps = false; this->cmd_prefix = dir_prefix != "" ? "chroot '"+dir_prefix+"' " : ""; this->cfg_dir_prefix = dir_prefix; std::string output_config_file_noprefix; switch (mode){ case BURG_MODE: { this->burgMode = true; FILE* burg_cfg = fopen((dir_prefix + "/etc/grub-customizer/burg.cfg").c_str(), "r"); if (burg_cfg) { // try to use the settings file ... this->log("using custom BURG configuration", Logger::INFO); this->loadFromFile(burg_cfg, dir_prefix); fclose(burg_cfg); } else { // otherwise use the built-in config this->mkconfig_cmd = "burg-mkconfig"; this->install_cmd = "burg-install"; this->mkfont_cmd = "burg-mkfont"; this->mkdevicemap_cmd = "burg-mkdevicemap --device-map=/dev/stdout"; this->cfg_dir = dir_prefix+"/etc/burg.d"; this->cfg_dir_noprefix = "/etc/burg.d"; this->output_config_dir = dir_prefix+"/boot/burg"; this->output_config_dir_noprefix = "/boot/burg"; this->output_config_file = dir_prefix+"/boot/burg/burg.cfg"; this->settings_file = dir_prefix+"/etc/default/burg"; this->devicemap_file = dir_prefix+"/boot/burg/device.map"; } } break; case GRUB_MODE: { this->burgMode = false; FILE* grub_cfg = fopen((dir_prefix + "/etc/grub-customizer/grub.cfg").c_str(), "r"); if (grub_cfg) { // try to use the settings file ... this->log("using custom Grub2 configuration", Logger::INFO); this->loadFromFile(grub_cfg, dir_prefix); fclose(grub_cfg); } else { // otherwise use the built-in config this->mkconfig_cmd = "grub-mkconfig"; this->install_cmd = "grub-install"; this->mkfont_cmd = "grub-mkfont"; this->mkdevicemap_cmd = "grub-mkdevicemap --device-map=/dev/stdout"; this->cfg_dir = dir_prefix+"/etc/grub.d"; this->cfg_dir_noprefix = "/etc/grub.d"; this->output_config_dir = dir_prefix+"/boot/grub"; this->output_config_dir_noprefix = "/boot/grub"; this->output_config_file = dir_prefix+"/boot/grub/grub.cfg"; this->settings_file = dir_prefix+"/etc/default/grub"; this->devicemap_file = dir_prefix+"/boot/grub/device.map"; } } break; } this->update_cmd = this->mkconfig_cmd + " -o \"" + this->output_config_file.substr(dir_prefix.size()) + "\""; this->log("update-CMD: " + this->update_cmd, Logger::INFO); bool is_valid = check_cmd(mkconfig_cmd, cmd_prefix) && check_cmd(update_cmd, cmd_prefix) && check_cmd(install_cmd, cmd_prefix) && check_dir(cfg_dir); this->mkconfig_cmd = cmd_prefix+this->mkconfig_cmd; this->update_cmd = cmd_prefix+this->update_cmd; this->install_cmd = cmd_prefix+this->install_cmd; this->mkfont_cmd = cmd_prefix+this->mkfont_cmd; this->mkdevicemap_cmd = cmd_prefix+this->mkdevicemap_cmd; return is_valid; } void loadFromFile(FILE* cfg_file, std::string const& dir_prefix) { Model_SettingsStore ds(cfg_file); this->mkconfig_cmd = ds.getValue("MKCONFIG_CMD"); this->install_cmd = ds.getValue("INSTALL_CMD"); this->mkfont_cmd = ds.getValue("MKFONT_CMD"); this->mkdevicemap_cmd = ds.getValue("MKDEVICEMAP_CMD"); this->cfg_dir = dir_prefix + ds.getValue("CFG_DIR"); this->cfg_dir_noprefix = ds.getValue("CFG_DIR"); this->output_config_dir = dir_prefix + ds.getValue("OUTPUT_DIR"); this->output_config_dir_noprefix = ds.getValue("OUTPUT_DIR"); this->output_config_file = dir_prefix + ds.getValue("OUTPUT_FILE"); this->settings_file = dir_prefix + ds.getValue("SETTINGS_FILE"); this->devicemap_file = dir_prefix + ds.getValue("DEVICEMAP_FILE"); } void save() { FILE* cfg_file = NULL; DIR* dir = opendir((cfg_dir_prefix + "/etc/grub-customizer").c_str()); if (dir) { closedir(dir); } else { int res = mkdir((cfg_dir_prefix + "/etc/grub-customizer").c_str(), 0755); if (res != 0) { throw FileSaveException("cannot save the config file (directory creation)", __FILE__, __LINE__); } } if (this->burgMode) { cfg_file = fopen((cfg_dir_prefix + "/etc/grub-customizer/burg.cfg").c_str(), "w"); } else { cfg_file = fopen((cfg_dir_prefix + "/etc/grub-customizer/grub.cfg").c_str(), "w"); } if (!cfg_file) { throw FileSaveException("cannot save the config file (file creation)", __FILE__, __LINE__); } Model_SettingsStore ds; std::map props = this->getProperties(); for (std::map::iterator iter = props.begin(); iter != props.end(); iter++) { ds.setValue(iter->first, iter->second); } ds.save(cfg_file); fclose(cfg_file); } void saveViewOptions(std::map const& options) { FILE* cfg_file = NULL; DIR* dir = opendir((cfg_dir_prefix + "/etc/grub-customizer").c_str()); if (dir) { closedir(dir); } else { int res = mkdir((cfg_dir_prefix + "/etc/grub-customizer").c_str(), 0755); if (res != 0) { throw FileSaveException("cannot save the view config file (directory creation)", __FILE__, __LINE__); } } cfg_file = fopen((cfg_dir_prefix + "/etc/grub-customizer/viewOptions.cfg").c_str(), "w"); if (!cfg_file) { throw FileSaveException("cannot save the view config file (file creation)", __FILE__, __LINE__); } Model_SettingsStore ds; for (std::map::const_iterator iter = options.begin(); iter != options.end(); iter++) { std::string optionText = ""; switch (iter->first) { case VIEW_SHOW_DETAILS: optionText = "SHOW_DETAILS"; break; case VIEW_SHOW_HIDDEN_ENTRIES: optionText = "SHOW_HIDDEN_ENTRIES"; break; case VIEW_GROUP_BY_SCRIPT: optionText = "GROUP_BY_SCRIPT"; break; case VIEW_SHOW_PLACEHOLDERS: optionText = "SHOW_PLACEHOLDERS"; break; default: throw LogicException("option mapping failed"); } ds.setValue(optionText, iter->second ? "true" : "false"); } ds.save(cfg_file); fclose(cfg_file); } std::map loadViewOptions() { FILE* file = fopen((cfg_dir_prefix + "/etc/grub-customizer/viewOptions.cfg").c_str(), "r"); if (file == NULL) { throw FileReadException("viewOptions not found"); } Model_SettingsStore ds(file); fclose(file); std::map result; if (ds.getValue("SHOW_DETAILS") != "") { result[VIEW_SHOW_DETAILS] = ds.getValue("SHOW_DETAILS") == "true"; } else { result[VIEW_SHOW_DETAILS] = true; } if (ds.getValue("SHOW_HIDDEN_ENTRIES") != "") { result[VIEW_SHOW_HIDDEN_ENTRIES] = ds.getValue("SHOW_HIDDEN_ENTRIES") == "true"; } else { result[VIEW_SHOW_HIDDEN_ENTRIES] = false; } if (ds.getValue("GROUP_BY_SCRIPT") != "") { result[VIEW_GROUP_BY_SCRIPT] = ds.getValue("GROUP_BY_SCRIPT") == "true"; } else { result[VIEW_GROUP_BY_SCRIPT] = false; } if (ds.getValue("SHOW_PLACEHOLDERS") != "") { result[VIEW_SHOW_PLACEHOLDERS] = ds.getValue("SHOW_PLACEHOLDERS") == "true"; } else { result[VIEW_SHOW_PLACEHOLDERS] = false; } return result; } std::map getProperties() { std::map result; result["MKCONFIG_CMD"] = this->mkconfig_cmd.substr(this->cmd_prefix.size()); result["INSTALL_CMD"] = this->install_cmd.substr(this->cmd_prefix.size()); result["MKFONT_CMD"] = this->mkfont_cmd.substr(this->cmd_prefix.size()); result["MKDEVICEMAP_CMD"] = this->mkdevicemap_cmd.substr(this->cmd_prefix.size()); result["CFG_DIR"] = this->cfg_dir_noprefix; result["OUTPUT_DIR"] = this->output_config_dir.substr(this->cfg_dir_prefix.size()); result["OUTPUT_FILE"] = this->output_config_file.substr(this->cfg_dir_prefix.size()); result["SETTINGS_FILE"] = this->settings_file.substr(this->cfg_dir_prefix.size()); result["DEVICEMAP_FILE"] = this->devicemap_file.substr(this->cfg_dir_prefix.size()); return result; } void setProperties(std::map const& props) { this->mkconfig_cmd = this->cmd_prefix + props.at("MKCONFIG_CMD"); this->install_cmd = this->cmd_prefix + props.at("INSTALL_CMD"); this->mkfont_cmd = this->cmd_prefix + props.at("MKFONT_CMD"); this->mkdevicemap_cmd = this->cmd_prefix + props.at("MKDEVICEMAP_CMD"); this->cfg_dir_noprefix = props.at("CFG_DIR"); this->cfg_dir = this->cfg_dir_prefix + props.at("CFG_DIR"); this->output_config_dir_noprefix = props.at("OUTPUT_DIR"); this->output_config_dir = this->cfg_dir_prefix + props.at("OUTPUT_DIR"); this->output_config_file = this->cfg_dir_prefix + props.at("OUTPUT_FILE"); this->settings_file = this->cfg_dir_prefix + props.at("SETTINGS_FILE"); this->devicemap_file = this->cfg_dir_prefix + props.at("DEVICEMAP_FILE"); } std::list getRequiredProperties() { std::list result; result.push_back("MKCONFIG_CMD"); result.push_back("INSTALL_CMD"); result.push_back("CFG_DIR"); return result; } std::list getValidProperties() { std::list result; if (this->check_cmd(this->mkconfig_cmd.substr(this->cmd_prefix.size()), this->cmd_prefix)) { result.push_back("MKCONFIG_CMD"); } if (this->check_cmd(this->install_cmd.substr(this->cmd_prefix.size()), this->cmd_prefix)) { result.push_back("INSTALL_CMD"); } if (this->check_cmd(this->mkfont_cmd.substr(this->cmd_prefix.size()), this->cmd_prefix)) { result.push_back("MKFONT_CMD"); } if (this->check_cmd(this->mkdevicemap_cmd.substr(this->cmd_prefix.size()), this->cmd_prefix)) { result.push_back("MKDEVICEMAP_CMD"); } if (this->check_dir(this->cfg_dir)) { result.push_back("CFG_DIR"); } if (this->check_dir(this->output_config_dir)) { result.push_back("OUTPUT_DIR"); } if (this->check_file(this->output_config_file)) { result.push_back("OUTPUT_FILE"); } if (this->check_file(this->settings_file)) { result.push_back("SETTINGS_FILE"); } if (this->check_file(this->devicemap_file)) { result.push_back("DEVICEMAP_FILE"); } return result; } bool check_cmd(std::string const& cmd, std::string const& cmd_prefix = "") const { this->log("checking the " + this->trim_cmd(cmd) + " command… ", Logger::INFO); FILE* proc = popen((cmd_prefix + " which " + this->trim_cmd(cmd) + " 2>&1").c_str(), "r"); std::string output; int c; while ((c = fgetc(proc)) != EOF) { if (c != '\n') { output += char(c); } } bool result = pclose(proc) == 0; if (result == true) { this->log("found at: " + output, Logger::INFO); } else { this->log("not found", Logger::INFO); } return result; } bool check_dir(std::string const& dir_str) const { DIR* dir = opendir(dir_str.c_str()); if (dir){ closedir(dir); return true; } return false; } bool check_file(std::string const& file_str) const { FILE* file = fopen(file_str.c_str(), "r"); if (file){ fclose(file); return true; } return false; } std::string trim_cmd(std::string const& cmd) const { int firstSpace = cmd.find_first_of(' '); if (firstSpace != -1) { return cmd.substr(0, firstSpace); } else { return cmd; } } std::string getRootDevice() { FILE* mtabFile = fopen("/etc/mtab", "r"); Model_MountTable mtab; if (mtabFile){ mtab.loadData(mtabFile, ""); fclose(mtabFile); } return mtab.getEntryByMountpoint(cfg_dir_prefix == "" ? "/" : cfg_dir_prefix).device; } std::string cfg_dir, cfg_dir_noprefix, mkconfig_cmd, mkfont_cmd, cfg_dir_prefix, update_cmd, install_cmd, output_config_file, output_config_dir, output_config_dir_noprefix, settings_file, devicemap_file, mkdevicemap_cmd, cmd_prefix; bool burgMode; bool useDirectBackgroundProps; // Whether background settings should be set directly or by creating a desktop-base script std::list getAvailableModes() { std::list result; if (this->init(Model_Env::BURG_MODE, this->cfg_dir_prefix)) result.push_back(Model_Env::BURG_MODE); if (this->init(Model_Env::GRUB_MODE, this->cfg_dir_prefix)) result.push_back(Model_Env::GRUB_MODE); return result; } void createBackup() { std::string backupDir = this->cfg_dir + "/backup"; DIR* dirChk = opendir(backupDir.c_str()); if (dirChk) { // if backup already exists - dont't create or update. Should only contain the initial config. closedir(dirChk); } else { mkdir(backupDir.c_str(), 0755); std::list ignoreList; ignoreList.push_back(backupDir); FileSystem fileSystem; fileSystem.copy(this->cfg_dir, backupDir + "/etc_grub_d", true, ignoreList); fileSystem.copy(this->output_config_dir, backupDir + "/boot_grub", true, ignoreList); fileSystem.copy(this->settings_file, backupDir + "/default_grub", true, ignoreList); FILE* restoreHowto = fopen((backupDir + "/RESTORE_INSTRUCTIONS").c_str(), "w"); fputs("How to restore this backup\n", restoreHowto); fputs("--------------------------\n", restoreHowto); fputs(" * make sure you have root permissions (`gksu nautilus` or `sudo -s` on command line) otherwise you won't be able to copy the files\n", restoreHowto); fputs(" * to fix an unbootable configuration, just copy:\n", restoreHowto); fputs((" * '" + backupDir + "/boot_grub' to '" + this->output_config_dir + "'\n").c_str(), restoreHowto); fputs(" * to reset the whole configuration (if it cannot be fixed by using grub customizer), also copy these files:\n", restoreHowto); fputs((" * '" + backupDir + "/etc_grub_d' to '" + this->cfg_dir + "'\n").c_str(), restoreHowto); fputs((" * '" + backupDir + "/default_grub' to '" + this->settings_file + "'\n").c_str(), restoreHowto); fclose(restoreHowto); } } operator ArrayStructure() { ArrayStructure result; result["cfg_dir"] = this->cfg_dir; result["cfg_dir_noprefix"] = this->cfg_dir_noprefix; result["mkconfig_cmd"] = this->mkconfig_cmd; result["mkfont_cmd"] = this->mkfont_cmd; result["cfg_dir_prefix"] = this->cfg_dir_prefix; result["install_cmd"] = this->install_cmd; result["output_config_file"] = this->output_config_file; result["output_config_dir"] = this->output_config_dir; result["settings_file"] = this->settings_file; result["devicemap_file"] = this->devicemap_file; result["mkdevicemap_cmd"] = this->mkdevicemap_cmd; result["cmd_prefix"] = this->cmd_prefix; result["burgMode"] = this->burgMode; result["useDirectBackgroundProps"] = this->useDirectBackgroundProps; result["quit_requested"] = this->quit_requested; result["activeThreadCount"] = this->activeThreadCount; result["modificationsUnsaved"] = this->modificationsUnsaved; result["rootDeviceName"] = this->rootDeviceName; return result; } }; class Model_Env_Connection { protected: std::shared_ptr env; public: virtual ~Model_Env_Connection(){} public: void setEnv(std::shared_ptr env) { this->env = env; this->initEnv(); } public: virtual void initEnv() { // override to add custom functionality } }; #endif grub-customizer-5.1.0/src/Model/ScriptSourceMap.hpp0000644000175000017500000001033013360360026021547 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SCRIPTSOURCEMAP_H_ #define SCRIPTSOURCEMAP_H_ #include #include #include #include "../lib/CsvProcessor.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "Env.hpp" class Model_ScriptSourceMap : public std::map, public Trait_LoggerAware, public Model_Env_Connection { std::string _getFilePath() { return this->env->cfg_dir + "/.script_sources.txt"; } bool _fileExists; std::list _newSources; public: Model_ScriptSourceMap() : _fileExists(false) { } void load() { this->clear(); this->_fileExists = false; this->_newSources.clear(); FILE* file = fopen(this->_getFilePath().c_str(), "r"); if (file) { this->_fileExists = true; CsvReader csv(file); std::map dataRow; while ((dataRow = csv.read()).size()) { (*this)[this->env->cfg_dir + "/" + dataRow["default_name"]] = this->env->cfg_dir + "/" + dataRow["current_name"]; } fclose(file); } } void registerMove(std::string const& sourceName, std::string const& destinationName) { std::string originalSourceName = this->getSourceName(sourceName); if (originalSourceName != "") { // update existing script entry (*this)[originalSourceName] = destinationName; } else { (*this)[sourceName] = destinationName; } } void addScript(std::string const& sourceName) { if (this->has(sourceName)) { this->_newSources.push_back(sourceName); } else { (*this)[sourceName] = sourceName; } } void save() { FILE* file = fopen(this->_getFilePath().c_str(), "w"); assert(file != NULL); CsvWriter csv(file); for (std::map::iterator iter = this->begin(); iter != this->end(); iter++) { if (iter->first == iter->second) { continue; } if (iter->first.substr(0, this->env->cfg_dir.length()) != this->env->cfg_dir || iter->second.substr(0, this->env->cfg_dir.length()) != this->env->cfg_dir) { this->log("invalid script prefix found: script won't be added to source map", Logger::ERROR); continue; // ignore, if path doesn't start with cfg_dir } std::string defaultName = iter->first.substr(this->env->cfg_dir.length() + 1); std::string currentName = iter->second.substr(this->env->cfg_dir.length() + 1); std::map dataRow; dataRow["default_name"] = defaultName; dataRow["current_name"] = currentName; csv.write(dataRow); } fclose(file); } bool has(std::string const& sourceName) { return this->find(sourceName) != this->end(); } std::string getSourceName(std::string const& destinationName) { for (std::map::iterator iter = this->begin(); iter != this->end(); iter++) { if (iter->second == destinationName) { return iter->first; } } return ""; } bool fileExists() { return this->_fileExists; } std::list getUpdates() const { return this->_newSources; } void deleteUpdates() { this->_newSources.clear(); } }; #endif /* SCRIPTSOURCEMAP_H_ */ grub-customizer-5.1.0/src/Model/PscriptnameTranslator.hpp0000644000175000017500000000405013360360026023025 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef PSCRIPTNAME_TRANSLATOR_INCLUDED #define PSCRIPTNAME_TRANSLATOR_INCLUDED #include #include class Model_PscriptnameTranslator { public: static std::string decode(std::string const& input) { std::string result = input; int last_nonnum_pos = input.find_last_not_of("0123456789"); if (last_nonnum_pos != -1 && result[last_nonnum_pos] == '~' && last_nonnum_pos != input.length()-1) result = result.substr(0, last_nonnum_pos); return result; } static std::string encode(std::string const& input, int x) { std::ostringstream out; out << input; int last_nonnum_pos = input.find_last_not_of("0123456789"); if (x != 0 || ((last_nonnum_pos != -1 && input[last_nonnum_pos] == '~') && last_nonnum_pos != input.length()-1)) out << "~" << x; return out.str(); } }; #endif grub-customizer-5.1.0/src/Model/Rule.hpp0000644000175000017500000001700013360360026017374 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CUSTOMIZER_RULE_INCLUDED #define GRUB_CUSTOMIZER_RULE_INCLUDED #include #include #include #include "../lib/Helper.hpp" #include "../lib/ArrayStructure.hpp" #include "../lib/Type.hpp" #include "Entry.hpp" #include "EntryPathBuilder.hpp" #include "EntryPathFollower.hpp" class Model_Rule : public Rule { public: std::shared_ptr dataSource; //assigned when using RuleType::OTHER_ENTRIES_PLACEHOLDER public: std::string outputName; public: std::string __idHash; //should only be used by sync()! public: std::list __idpath; //should only be used by sync()! public: std::string __sourceScriptPath; //should only be used by sync()! public: bool isVisible; public: std::list> subRules; public: enum RuleType { NORMAL, OTHER_ENTRIES_PLACEHOLDER, PLAINTEXT, SUBMENU }; public: RuleType type; public: Model_Rule(RuleType type, std::list path, std::string outputName, bool isVisible) : type(type), isVisible(isVisible), __idpath(path), outputName(outputName), dataSource(nullptr) {} public: Model_Rule(RuleType type, std::list path, bool isVisible) : type(type), isVisible(isVisible), __idpath(path), outputName(path.back()), dataSource(nullptr) {} //generate rule for given entry public: Model_Rule( std::shared_ptr source, bool isVisible, std::shared_ptr pathFollower, std::list> const& pathesToIgnore = std::list>(), std::list const& currentPath = std::list() ) : type(source->type == Model_Entry::PLAINTEXT ? Model_Rule::PLAINTEXT : (source->type == Model_Entry::SUBMENU ? Model_Rule::SUBMENU : Model_Rule::NORMAL)), isVisible(isVisible), __idpath(currentPath), outputName(source->name), dataSource(source->type == Model_Entry::SUBMENU ? nullptr : source) { if (source->type == Model_Entry::SUBMENU) { auto placeholder = std::make_shared( Model_Rule::OTHER_ENTRIES_PLACEHOLDER, currentPath, "*", this->isVisible ); placeholder->dataSource = pathFollower->getEntryByPath(currentPath); this->subRules.push_front(placeholder); } for (auto entry : source->subEntries) { std::list currentPath_in_loop = currentPath; currentPath_in_loop.push_back(entry->name); //find out if currentPath is on the blacklist bool currentPath_in_loop_is_blacklisted = false; for (auto pathToIgnore : pathesToIgnore) { if (pathToIgnore == currentPath_in_loop) { currentPath_in_loop_is_blacklisted = true; break; } } //add this entry as rule if not blacklisted if (!currentPath_in_loop_is_blacklisted){ this->subRules.push_back( std::make_shared( entry, isVisible, pathFollower, pathesToIgnore, currentPath_in_loop ) ); } } } public: Model_Rule() : type(Model_Rule::NORMAL), isVisible(false), dataSource(nullptr) {} public: std::string toString(Model_EntryPathBilder const& pathBuilder) { std::string result = isVisible ? "+" : "-"; if (type == Model_Rule::PLAINTEXT) { result += "#text"; } else if (dataSource) { result += pathBuilder.buildPathString(this->dataSource, this->type == OTHER_ENTRIES_PLACEHOLDER); if (this->dataSource->content.size() && this->type != Model_Rule::OTHER_ENTRIES_PLACEHOLDER) { result += "~" + Helper::md5(this->dataSource->content) + "~"; } } else if (type == Model_Rule::SUBMENU) { result += "'SUBMENU'"; // dummy data source } else { result += "???"; } if (type == Model_Rule::SUBMENU || (type == Model_Rule::NORMAL && dataSource && dataSource->name != outputName)) { result += " as '"+Helper::str_replace("'", "''", outputName)+"'"; } if (this->dataSource) { std::string sourceScriptPath = pathBuilder.buildScriptPath(this->dataSource); if (sourceScriptPath != "") { result += " from '" + sourceScriptPath + "'"; } } if (type == Model_Rule::SUBMENU && this->subRules.size() > 0) { result += "{"; for (auto iter = this->subRules.begin(); iter != this->subRules.end(); iter++) { if (iter != this->subRules.begin()) result += ", "; result += iter->get()->toString(pathBuilder); } result += "}"; } return result; } public: bool hasRealSubrules() const { for (auto subRule : this->subRules) { if (subRule->isVisible && ((subRule->type == Model_Rule::NORMAL && subRule->dataSource) || (subRule->type == Model_Rule::SUBMENU && subRule->hasRealSubrules()))) { return true; } } return false; } public: void print(std::ostream& out) const { if (this->isVisible) { if (this->type == Model_Rule::PLAINTEXT && this->dataSource) { out << this->dataSource->content; } else if (this->type == Model_Rule::NORMAL && this->dataSource) { out << "menuentry"; out << " \"" << this->outputName << "\"" << this->dataSource->extension << "{\n"; out << this->dataSource->content; out << "}\n"; } else if (this->type == Model_Rule::SUBMENU && this->hasRealSubrules()) { out << "submenu" << " \"" << this->outputName << "\"" << "{\n"; for (auto rule : this->subRules) { rule->print(out); } out << "}\n"; } } } public: std::string getEntryName() const { if (this->dataSource) return this->dataSource->name; else return "?"; } public: void setVisibility(bool isVisible) { this->isVisible = isVisible; for (auto rule : this->subRules) { rule->setVisibility(isVisible); } } public: std::shared_ptr clone() { auto result = std::make_shared(*this); result->subRules.clear(); for (auto subRule : this->subRules) { result->subRules.push_back(subRule->clone()); } return result; } public: operator ArrayStructure() const { ArrayStructure result; result["dataSource"] = this->dataSource.get(); result["outputName"] = this->outputName; result["__idHash"] = this->__idHash; result["__idpath"] = ArrayStructure(this->__idpath); result["__sourceScriptPath"] = this->__sourceScriptPath; result["isVisible"] = this->isVisible; result["subRules"].isArray = true; int i = 0; for (auto rule : this->subRules) { result["subRules"][i] = ArrayStructure(*rule); i++; } result["type"] = this->type; return result; } }; #endif grub-customizer-5.1.0/src/Model/Proxylist.hpp0000644000175000017500000003145613360360026020515 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CUSTOMIZER_PROXYLIST_INCLUDED #define GRUB_CUSTOMIZER_PROXYLIST_INCLUDED #include #include #include #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Exception.hpp" #include "../lib/ArrayStructure.hpp" #include "Proxy.hpp" struct Model_Proxylist_Item { std::string labelPathValue; std::string labelPathLabel; std::string numericPathValue; std::string numericPathLabel; }; class Model_Proxylist : public std::list>, public Trait_LoggerAware { public: std::list> trash; //removed proxies public: std::list> getProxiesByScript(std::shared_ptr script) { std::list> result; for (auto proxy : *this) { if (proxy->dataSource == script) result.push_back(proxy); } return result; } public: std::list> getProxiesByScript(std::shared_ptr script) const { std::list> result; for (auto proxy : *this){ if (proxy->dataSource == script) result.push_back(proxy); } return result; } public: std::list> getForeignRules() { std::list> result; for (auto proxy : *this) { auto subResult = proxy->getForeignRules(); result.splice(result.end(), subResult); } return result; } //relatedScript = NULL: sync all proxies, otherwise only sync proxies wich target the given Script public: void sync_all( bool deleteInvalidRules = true, bool expand = true, std::shared_ptr relatedScript = nullptr, std::map> scriptMap = std::map>() ) { for (auto proxy : *this) { if (relatedScript == nullptr || proxy->dataSource == relatedScript) proxy->sync(deleteInvalidRules, expand, scriptMap); } } public: void unsync_all() { for (auto proxy : *this) { proxy->unsync(); } } public: bool proxyRequired(std::shared_ptr script) const { auto plist = this->getProxiesByScript(script); if (plist.size() == 1){ return plist.front()->isModified(); } else return true; } public: void deleteAllProxyscriptFiles() { for (auto proxy : *this) { if (proxy->fileName != "" && proxy->dataSource && proxy->dataSource->fileName != proxy->fileName){ proxy->deleteFile(); } } } public: static bool compare_proxies(std::shared_ptr const& a, std::shared_ptr const& b) { if (a->index != b->index) { return a->index < b->index; } else { if (a->dataSource != nullptr && b->dataSource != nullptr) { return a->dataSource->name < b->dataSource->name; } else { return true; } } } public: void sort() { std::list>::sort(Model_Proxylist::compare_proxies); } public: void deleteProxy(std::shared_ptr proxyPointer) { for (auto proxyIter = this->begin(); proxyIter != this->end(); proxyIter++) { if (*proxyIter == proxyPointer){ //if the file must be deleted when saving, move it to trash if (proxyPointer->fileName != "" && proxyPointer->dataSource && proxyPointer->fileName != proxyPointer->dataSource->fileName) this->trash.push_back(proxyPointer); //remove the proxy object this->erase(proxyIter); break; } } } public: void clearTrash() { for (auto trashedProxy : this->trash){ if (trashedProxy->fileName != "") { trashedProxy->deleteFile(); } } } public: std::list generateEntryTitleList() const { std::list result; int offset = 0; for (auto proxy : *this) { if (proxy->isExecutable()){ std::list subList = Model_Proxylist::generateEntryTitleList(proxy->rules, "", "", "", &offset); result.splice(result.end(), subList); } } return result; } public: std::list getToplevelEntryTitles() const { std::list result; for (auto proxy : *this) { if (proxy->isExecutable()){ for (auto rule : proxy->rules) { if (rule->isVisible && rule->type == Model_Rule::NORMAL) { result.push_back(rule->outputName); } } } } return result; } public: static std::list generateEntryTitleList( std::list> const& parent, std::string const& labelPathPrefix, std::string const& numericPathPrefix, std::string const& numericPathLabelPrefix, int* offset = nullptr ) { std::list result; int i = (offset != nullptr ? *offset : 0); for (auto rule : parent){ if (rule->isVisible && (rule->type == Model_Rule::NORMAL || rule->type == Model_Rule::SUBMENU)) { std::ostringstream currentNumPath; currentNumPath << numericPathPrefix << i; std::ostringstream currentLabelNumPath; currentLabelNumPath << numericPathLabelPrefix << (i+1); bool addedSomething = true; if (rule->type == Model_Rule::SUBMENU) { std::list subList = Model_Proxylist::generateEntryTitleList( rule->subRules, labelPathPrefix + rule->outputName + ">", currentNumPath.str() + ">", currentLabelNumPath.str() + ">" ); if (subList.size() == 0) { addedSomething = false; } result.splice(result.end(), subList); } else { Model_Proxylist_Item newItem; newItem.labelPathLabel = labelPathPrefix + rule->outputName; newItem.labelPathValue = labelPathPrefix + rule->outputName; result.push_back(newItem); } if (addedSomething) { i++; } } } if (offset != NULL) { *offset = i; } return result; } public: std::shared_ptr getProxyByRule( std::shared_ptr rule, std::list> const& list, std::shared_ptr parentProxy ) { for (auto loop_rule : list) { if (loop_rule == rule) return parentProxy; else { try { return this->getProxyByRule(rule, loop_rule->subRules, parentProxy); } catch (ItemNotFoundException const& e) { // do nothing } } } throw ItemNotFoundException("proxy by rule not found", __FILE__, __LINE__); } public: std::shared_ptr getProxyByRule(std::shared_ptr rule) { for (auto proxy : *this) { try { return this->getProxyByRule(rule, proxy->rules, proxy); } catch (ItemNotFoundException const& e) { // do nothing } } throw ItemNotFoundException("proxy by rule not found", __FILE__, __LINE__); } public: std::list>::iterator moveRuleToNewProxy( std::shared_ptr rule, int direction, std::shared_ptr dataSource = nullptr ) { auto currentProxy = this->getProxyByRule(rule); auto proxyIter = this->begin(); for (auto proxy : *this) { if (proxy == currentProxy) { break; } proxyIter++; } if (direction == 1) { proxyIter++; } if (dataSource == nullptr) { dataSource = currentProxy->dataSource; } auto newProxy = *this->insert(proxyIter, std::make_shared(dataSource, false)); newProxy->removeEquivalentRules(rule); auto movedRule = newProxy->rules.insert( direction == -1 ? newProxy->rules.end() : newProxy->rules.begin(), std::make_shared(*rule) ); rule->setVisibility(false); if (!currentProxy->hasVisibleRules()) { this->deleteProxy(currentProxy); } return movedRule; } public: std::list>::iterator getNextVisibleRule(std::shared_ptr base, int direction) { auto proxy = this->getProxyByRule(base); auto iter = proxy->getListIterator(base, proxy->getRuleList(proxy->getParentRule(base, nullptr))); return this->getNextVisibleRule(iter, direction); } public: std::list>::iterator getNextVisibleRule( std::list>::iterator base, int direction ) { auto proxyIter = this->getIter(this->getProxyByRule(*base)); bool hasParent = false; if (proxyIter->get()->getParentRule(*base)) { hasParent = true; } while (proxyIter != this->end()) { try { return proxyIter->get()->getNextVisibleRule(base, direction); } catch (NoMoveTargetException const& e) { if (hasParent) { throw NoMoveTargetException("next visible rule not found", __FILE__, __LINE__); } if (direction == 1) { proxyIter++; if (proxyIter == this->end()) { throw NoMoveTargetException("next visible rule not found", __FILE__, __LINE__); } base = proxyIter->get()->rules.begin(); } else { proxyIter--; if (proxyIter == this->end()) { throw NoMoveTargetException("next visible rule not found", __FILE__, __LINE__); } base = proxyIter->get()->rules.end(); base--; } if (base->get()->isVisible) { return base; } } } throw NoMoveTargetException("next visible rule not found", __FILE__, __LINE__); } std::list>::iterator getIter(std::shared_ptr proxy) { auto iter = this->begin(); while (iter != this->end()) { if (*iter == proxy) { break; } iter++; } return iter; } void splitProxy(std::shared_ptr proxyToSplit, std::shared_ptr firstRuleOfPart2, int direction) { auto iter = this->getIter(proxyToSplit); auto sourceProxy = *iter; if (direction == 1) { iter++; } auto newProxy = *this->insert(iter, std::make_shared(sourceProxy->dataSource, false)); bool isSecondPart = false; if (direction == 1) { for (auto ruleIter = sourceProxy->rules.begin(); ruleIter != sourceProxy->rules.end(); ruleIter++) { if (*ruleIter == firstRuleOfPart2) { isSecondPart = true; } if (isSecondPart) { newProxy->removeEquivalentRules(*ruleIter); newProxy->rules.push_back(*ruleIter); ruleIter->get()->isVisible = false; } } } else { for (auto ruleIter = sourceProxy->rules.rbegin(); ruleIter != sourceProxy->rules.rend(); ruleIter++) { if (*ruleIter == firstRuleOfPart2) { isSecondPart = true; } if (isSecondPart) { newProxy->removeEquivalentRules(*ruleIter); newProxy->rules.push_front(*ruleIter); ruleIter->get()->isVisible = false; } } } } std::shared_ptr getVisibleRuleForEntry(std::shared_ptr entry) { for (auto proxy : *this) { if (proxy->isExecutable()) { std::shared_ptr result = proxy->getVisibleRuleForEntry(entry); if (result) { return result; } } } return NULL; } bool hasConflicts() const { std::map resources; // key: combination of number, "_" and name. Value: true if used before for (auto proxy : *this) { assert(proxy->dataSource); // assume all proxies are having a datasource std::ostringstream resourceName; resourceName << proxy->index << "_" << proxy->dataSource->name; if (resources[resourceName.str()]) { return true; } else { resources[resourceName.str()] = true; } } return false; } bool hasProxy(std::shared_ptr proxy) { for (auto proxy_loop : *this) { if (proxy_loop == proxy) { return true; } } return false; } operator ArrayStructure() const { ArrayStructure result; int trashIterPos = 0; result["trash"].isArray = true; for (auto trashedProxy : this->trash) { result["trash"][trashIterPos] = ArrayStructure(*trashedProxy); trashIterPos++; } int itemsIterPos = 0; result["(items)"].isArray = true; for (auto proxy : *this) { result["(items)"][itemsIterPos] = ArrayStructure(*proxy); itemsIterPos++; } return result; } }; #endif grub-customizer-5.1.0/src/Model/ThemeManager.hpp0000644000175000017500000001260013360360026021023 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef THEMEMANAGER_H_ #define THEMEMANAGER_H_ #include #include "../lib/Exception.hpp" #include "Env.hpp" #include "Theme.hpp" class Model_ThemeManager : public Model_Env_Connection { bool gotSaveErrors; std::string saveErrors; public: std::list themes; std::list removedThemes; Model_ThemeManager() : gotSaveErrors(false) {} void load() { this->themes.clear(); std::string path = this->env->output_config_dir + "/" + "themes"; DIR* dir = opendir(path.c_str()); if (dir) { struct dirent *entry; struct stat fileProperties; while ((entry = readdir(dir))) { if (std::string(entry->d_name) == "." || std::string(entry->d_name) == "..") { continue; } std::string currentFileName = path + "/" + entry->d_name; stat(currentFileName.c_str(), &fileProperties); this->themes.push_back(Model_Theme(currentFileName, "", entry->d_name)); } closedir(dir); } else { throw FileReadException("cannot read the theme directory: " + path); } } Model_Theme& getTheme(std::string const& name) { for (std::list::iterator themeIter = this->themes.begin(); themeIter != this->themes.end(); themeIter++) { if (themeIter->name == name) { return *themeIter; } } throw ItemNotFoundException("getTheme: Theme not found: " + name, __FILE__, __LINE__); } bool themeExists(std::string const& name) { try { this->getTheme(name); return true; } catch (ItemNotFoundException const& e) { } return false; } std::string extractThemeName(std::string const& indexFile) { std::string themePath = this->env->output_config_dir + "/themes"; if (indexFile.substr(0, themePath.size()) != themePath) { throw InvalidStringFormatException("theme index file path must contain '" + themePath + "' given path: '" + indexFile + "'", __FILE__, __LINE__); } int slashPos = indexFile.find('/', themePath.size() + 1); if (slashPos == -1) { throw InvalidStringFormatException("theme index file path incomplete", __FILE__, __LINE__); } int themeNameSize = slashPos - themePath.size() - 1; return indexFile.substr(themePath.size() + 1, themeNameSize); } std::string addThemePackage(std::string const& fileName) { int lastSlashPos = fileName.find_last_of('/'); std::string name = lastSlashPos != -1 ? fileName.substr(lastSlashPos + 1) : fileName; int firstDotPos = name.find_first_of('.'); name = firstDotPos != -1 ? name.substr(0, firstDotPos) : name; while (this->themeExists(name)) { name += "-"; } this->themes.push_back(Model_Theme("", fileName, name)); return name; } void removeTheme(Model_Theme const& theme) { for (std::list::iterator themeIter = this->themes.begin(); themeIter != this->themes.end(); themeIter++) { if (&*themeIter == &theme) { if (themeIter->directory != "") { this->removedThemes.push_back(*themeIter); } this->themes.erase(themeIter); break; } } } void save() { this->saveErrors = ""; this->gotSaveErrors = false; std::string dirName = this->env->output_config_dir + "/themes"; mkdir(dirName.c_str(), 0755); for (std::list::iterator themeIter = this->removedThemes.begin(); themeIter != this->removedThemes.end(); themeIter++) { themeIter->deleteThemeFiles(dirName); } this->removedThemes.clear(); bool themesSaved = false; for (std::list::iterator themeIter = this->themes.begin(); themeIter != this->themes.end(); themeIter++) { if (themeIter->isModified) { try { themeIter->save(dirName); } catch (Exception const& e) { this->saveErrors += e + "\n"; this->gotSaveErrors = true; } themesSaved = true; } } if (themesSaved) { this->load(); } } std::string getThemePath() { return this->env->output_config_dir + "/themes"; } bool hasSaveErrors() { return this->gotSaveErrors; } std::string getSaveErrors() { return this->saveErrors; } }; class Model_ThemeManager_Connection { protected: std::shared_ptr themeManager; public: void setThemeManager(std::shared_ptr themeManager) { this->themeManager = themeManager; } }; #endif /* THEMEMANAGER_H_ */ grub-customizer-5.1.0/src/Model/DeviceDataList.hpp0000644000175000017500000000652413360360026021323 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef DEVICE_DATALIST_INCLUDED #define DEVICE_DATALIST_INCLUDED #include #include #include #include "../Model/DeviceDataListInterface.hpp" #include "../lib/Trait/LoggerAware.hpp" class Model_DeviceDataList : public Model_DeviceDataListInterface, public Trait_LoggerAware { public: Model_DeviceDataList(FILE* blkidOutput){ loadData(blkidOutput); } Model_DeviceDataList() {} void loadData(FILE* blkidOutput) { std::string deviceName, attributeName; bool inAttributeValue = false; bool deviceNameIsComplete = false, attributeNameIsComplete = false; int c; while ((c = fgetc(blkidOutput)) != EOF){ if (inAttributeValue && c != '"'){ (*this)[deviceName][attributeName] += c; } else { if (c == '\n'){ deviceName = ""; deviceNameIsComplete = false; } else if (c == ':'){ deviceNameIsComplete = true; } else if (!deviceNameIsComplete) { deviceName += c; } else if (c != '=' && !attributeNameIsComplete) { if (c != ' ') attributeName += c; } else if (c == '=') attributeNameIsComplete = true; else if (c == '"'){ if (inAttributeValue){ attributeName = ""; attributeNameIsComplete = false; } inAttributeValue = !inAttributeValue; } } } } void clear() { this->std::map >::clear(); } std::string getDeviceByUuid(std::string const& uuid) const { for (std::map >::const_iterator iter = this->begin(); iter != this->end(); iter++) { if (iter->second.find("UUID") != iter->second.end() && iter->second.at("UUID") == uuid) { return iter->first; } } throw ItemNotFoundException("no device found by uuid " + uuid, __FILE__, __LINE__); } }; class Model_DeviceDataList_Connection { protected: std::shared_ptr deviceDataList; public: void setDeviceDataList(std::shared_ptr deviceDataList) { this->deviceDataList = deviceDataList; } }; #endif grub-customizer-5.1.0/src/Model/SmartFileHandle.hpp0000644000175000017500000000735513360360026021503 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SMARTFILEHANDLE_H_ #define SMARTFILEHANDLE_H_ #include #include #include "../lib/Exception.hpp" class Model_SmartFileHandle { public: enum Type { TYPE_FILE, TYPE_COMMAND, TYPE_STRING }; private: FILE* proc_or_file; Model_SmartFileHandle::Type type; std::string string; // content for TYPE_STRING public: Model_SmartFileHandle() : type(TYPE_STRING), proc_or_file(NULL) { } char getChar() { if (type == TYPE_STRING) { if (this->string.size()) { int c = (int) this->string[0]; this->string = this->string.substr(1); return c; } else { throw EndOfFileException("end of file", __FILE__, __LINE__); } } else { int c = fgetc(this->proc_or_file); if (c != EOF) return c; else throw EndOfFileException("end of file", __FILE__, __LINE__); } } std::string getRow() { std::string result; int c; try { while ((c = this->getChar()) != EOF && c != '\n'){ result += c; } } catch (EndOfFileException const& e) { if (result == "") { throw e; } } return result; } std::string getAll() { std::string result; int c; try { while ((c = this->getChar()) != EOF){ result += c; } } catch (EndOfFileException const& e) { if (result == "") { throw e; } } return result; } void open(std::string const& cmd_or_file, std::string const& mode, Type type) { if (this->proc_or_file || this->string != "") throw HandleNotClosedException("handle not closed - cannot open", __FILE__, __LINE__); this->proc_or_file = NULL; this->string = ""; switch (type) { case TYPE_STRING: this->string = cmd_or_file; break; case TYPE_COMMAND: this->proc_or_file = popen(cmd_or_file.c_str(), mode.c_str()); break; case TYPE_FILE: this->proc_or_file = fopen(cmd_or_file.c_str(), mode.c_str()); break; default: throw LogicException("unexpected type given"); } if (this->proc_or_file || type == TYPE_STRING) this->type = type; else throw FileReadException("Cannot read the file/cmd: " + cmd_or_file, __FILE__, __LINE__); } void close() { if (this->type != TYPE_STRING && !this->proc_or_file) throw HandleNotOpenedException("handle not opened - cannot close", __FILE__, __LINE__); switch (type) { case TYPE_STRING: this->string = ""; break; case TYPE_COMMAND: pclose(this->proc_or_file); break; case TYPE_FILE: fclose(this->proc_or_file); break; default: throw LogicException("unexpected type given"); } } }; #endif grub-customizer-5.1.0/src/Model/Proxy.hpp0000644000175000017500000006603313360360026017620 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CUSTOMIZER_PROXY_INCLUDED #define GRUB_CUSTOMIZER_PROXY_INCLUDED #include #include #include #include #include "../lib/Exception.hpp" #include "../lib/ArrayStructure.hpp" #include "../lib/Type.hpp" #include "EntryPathBuilderImpl.hpp" #include "ProxyScriptData.hpp" #include "Rule.hpp" #include "Script.hpp" class Model_Proxy : public Proxy { public: std::list> rules; public: int index; public: short int permissions; public: std::string fileName; //may be the same as Script::fileName public: std::shared_ptr dataSource; private: std::map, std::list > > __idPathList; //to be used by sync() private: std::map, std::list > > __idPathList_OtherEntriesPlaceHolders; //to be used by sync() public: Model_Proxy() : dataSource(nullptr), permissions(0755), index(90) { } public: Model_Proxy(std::shared_ptr dataSource, bool activateRules = true) : dataSource(dataSource), permissions(0755), index(90) { rules.push_back( std::make_shared( Model_Rule::OTHER_ENTRIES_PLACEHOLDER, std::list(), "*", activateRules ) ); sync(true, true); } public: bool isExecutable() const { return this->permissions & 0111; } public: void set_isExecutable(bool value) { if (value) permissions |= 0111; else permissions &= ~0111; } public: static std::list> parseRuleString( const char** ruleString, std::string const& cfgDirPrefix ) { std::list> rules; bool inString = false, inAlias = false, inHash = false, inFromClause = false; std::string name; std::string hash; std::list path; bool visible = false; const char* iter = nullptr; for (iter = *ruleString; *iter && (*iter != '}' || inString || inAlias || inFromClause); iter++) { if (!inString && *iter == '+') { visible = true; } else if (!inString && *iter == '-') { visible = false; } else if (*iter == '\'' && iter[1] != '\'') { inString = !inString; if (iter[1] != '/') { if (!inString){ if (inAlias) { rules.back()->outputName = name; } else if (inFromClause) { rules.back()->__sourceScriptPath = cfgDirPrefix + name; } else { path.push_back(name); rules.push_back(std::make_shared(Model_Rule::NORMAL, path, visible)); path.clear(); } inAlias = false; inFromClause = false; } name = ""; } } else if (!inString && *iter == '*') { rules.push_back(std::make_shared(Model_Rule::OTHER_ENTRIES_PLACEHOLDER, path, "*", visible)); path.clear(); } else if (!inString && *iter == '#' && *++iter == 't' && *++iter == 'e' && *++iter == 'x' && *++iter == 't') { path.push_back("#text"); rules.push_back(std::make_shared(Model_Rule::PLAINTEXT, path, "#text", visible)); path.clear(); name = ""; } else if (inString) { name += *iter; if (*iter == '\'') iter++; } else if (inHash && *iter != '~') { hash += *iter; } else if (!inString && !inAlias && !inFromClause && *iter == 'a' && *++iter == 's') { inAlias = true; } else if (!inString && !inAlias && !inFromClause && *iter == 'f' && *++iter == 'r' && *++iter == 'o' && *++iter == 'm') { inFromClause = true; } else if (!inString && !inAlias && !inFromClause && *iter == '/') { path.push_back(name); name = ""; } else if (!inString && !inAlias && !inFromClause && *iter == '{') { iter++; rules.back()->subRules = Model_Proxy::parseRuleString(&iter, cfgDirPrefix); rules.back()->type = Model_Rule::SUBMENU; } else if (!inString && *iter == '~') { inHash = !inHash; if (!inHash) { rules.back()->__idHash = hash; hash = ""; } } } *ruleString = iter; return rules; } public: void importRuleString(const char* ruleString, std::string const& cfgDirPrefix) { rules = Model_Proxy::parseRuleString(&ruleString, cfgDirPrefix); } public: std::shared_ptr getRuleByEntry( std::shared_ptr const& entry, std::list>& list, Model_Rule::RuleType ruletype ) { for (auto rule : list){ if (entry == rule->dataSource && rule->type == ruletype) return rule; else { auto result = this->getRuleByEntry(entry, rule->subRules, ruletype); if (result) { return result; } } } return nullptr; } public: std::list> getForeignRules(std::shared_ptr parent = nullptr) { assert(this->dataSource != nullptr); std::list> result; auto& list = parent ? parent->subRules : this->rules; for (auto rule : list) { if (rule->dataSource && !this->dataSource->hasEntry(rule->dataSource)) { result.push_back(rule); } if (rule->subRules.size()) { auto subResult = this->getForeignRules(rule); result.splice(result.end(), subResult); } } return result; } public: void unsync(std::shared_ptr parent = nullptr) { auto& list = parent ? parent->subRules : this->rules; for (auto rule : list) { rule->dataSource = nullptr; if (rule->subRules.size()) { this->unsync(rule); } } } public: bool sync( bool deleteInvalidRules = true, bool expand = true, std::map> scriptMap = std::map>() ) { if (this->dataSource){ this->sync_connectExisting(nullptr, scriptMap); this->sync_connectExistingByHash(nullptr, scriptMap); if (expand) { this->sync_add_placeholders(nullptr, scriptMap); this->sync_expand(scriptMap); } if (deleteInvalidRules) this->sync_cleanup(nullptr, scriptMap); return true; } else return false; } public: void sync_connectExisting( std::shared_ptr parent = nullptr, std::map> scriptMap = std::map>() ) { assert(this->dataSource != nullptr); if (parent == nullptr) { this->__idPathList.clear(); this->__idPathList_OtherEntriesPlaceHolders.clear(); } auto& list = parent ? parent->subRules : this->rules; for (auto rule : list) { if (rule->type != Model_Rule::SUBMENU) { // don't sync submenu entries std::list path = rule->__idpath; std::shared_ptr script = nullptr; if (rule->__sourceScriptPath == "") { // main dataSource script = this->dataSource; } else if (scriptMap.size()) { assert(scriptMap.find(rule->__sourceScriptPath) != scriptMap.end()); // expecting that the script exists on the map script = scriptMap[rule->__sourceScriptPath]; } else { continue; // don't sync foreign entries if scriptMap is empty } if (rule->type != Model_Rule::OTHER_ENTRIES_PLACEHOLDER) { this->__idPathList[script].push_back(path); } else { this->__idPathList_OtherEntriesPlaceHolders[script].push_back(path); } rule->dataSource = script->getEntryByPath(path); } else if (rule->subRules.size()) { this->sync_connectExisting(rule, scriptMap); } } } public: void sync_connectExistingByHash( std::shared_ptr parent = nullptr, std::map> scriptMap = std::map>() ) { assert(this->dataSource != nullptr); auto& list = parent ? parent->subRules : this->rules; for (auto rule : list) { if (rule->dataSource == nullptr && rule->__idHash != "") { std::shared_ptr script = nullptr; if (rule->__sourceScriptPath == "") { script = this->dataSource; } else if (scriptMap.size()) { assert(scriptMap.find(rule->__sourceScriptPath) != scriptMap.end()); // expecting that the script exists on the map script = scriptMap[rule->__sourceScriptPath]; } else { continue; // don't sync foreign entries if scriptMap is empty } rule->dataSource = script->getEntryByHash(rule->__idHash, script->entries()); if (rule->dataSource) { this->__idPathList[script].push_back(script->buildPath(rule->dataSource)); } } if (rule->subRules.size()) { this->sync_connectExistingByHash(rule, scriptMap); } } } public: void sync_add_placeholders( std::shared_ptr parent = nullptr, std::map> scriptMap = std::map>() ) { assert(parent == nullptr || parent->dataSource != nullptr); std::list path = parent ? this->dataSource->buildPath(parent->dataSource) : std::list(); //find out if currentPath is on the blacklist bool eop_is_blacklisted = false; for (auto oepPath : this->__idPathList_OtherEntriesPlaceHolders[this->dataSource]) { if (oepPath == path) { eop_is_blacklisted = true; break; } } auto& list = parent ? parent->subRules : this->rules; if (!eop_is_blacklisted) { auto newRule = std::make_shared( Model_Rule::OTHER_ENTRIES_PLACEHOLDER, parent ? this->dataSource->buildPath(parent->dataSource) : std::list(), "*", true ); newRule->dataSource = this->dataSource->getEntryByPath(path); list.push_front(newRule); this->__idPathList_OtherEntriesPlaceHolders[this->dataSource].push_back(path); } //sub entries (recursion) for (auto rule : list) { if (rule->dataSource && rule->type == Model_Rule::SUBMENU) { this->sync_add_placeholders(rule); } } } public: void sync_expand( std::map> scriptMap = std::map>() ) { assert(this->dataSource != nullptr); for (auto scriptMapEnt : this->__idPathList_OtherEntriesPlaceHolders) { for (auto oepPath : this->__idPathList_OtherEntriesPlaceHolders[scriptMapEnt.first]) { auto dataSource = scriptMapEnt.first->getEntryByPath(oepPath); if (dataSource) { auto oep = this->getRuleByEntry(dataSource, this->rules, Model_Rule::OTHER_ENTRIES_PLACEHOLDER); assert(oep != nullptr); auto parentRule = this->getParentRule(oep); auto& dataTarget = parentRule ? parentRule->subRules : this->rules; auto dataTargetIter = dataTarget.begin(); while (dataTargetIter != dataTarget.end() && !(dataTargetIter->get()->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER && dataTargetIter->get()->__idpath == oepPath && ((dataTargetIter->get()->__sourceScriptPath != "" && scriptMap.size() && scriptMap[dataTargetIter->get()->__sourceScriptPath] == scriptMapEnt.first) || (dataTargetIter->get()->__sourceScriptPath == "" && scriptMapEnt.first == this->dataSource) ) ) ) { dataTargetIter++; } std::list> newRules; for (auto subEntry : dataSource->subEntries){ auto relatedRule = this->getRuleByEntry(subEntry, this->rules, Model_Rule::NORMAL); auto relatedRulePt = this->getRuleByEntry(subEntry, this->rules, Model_Rule::PLAINTEXT); auto relatedRuleOep = this->getRuleByEntry(subEntry, this->rules, Model_Rule::OTHER_ENTRIES_PLACEHOLDER); if (!relatedRule && !relatedRuleOep && !relatedRulePt){ newRules.push_back( std::make_shared( subEntry, dataTargetIter->get()->isVisible, scriptMapEnt.first, this->__idPathList[scriptMapEnt.first], scriptMapEnt.first->buildPath(subEntry) ) ); //generate rule for given entry } } dataTargetIter++; dataTarget.splice(dataTargetIter, newRules); } } } } public: void sync_cleanup( std::shared_ptr parent = nullptr, std::map> scriptMap = std::map>() ) { auto& list = parent ? parent->subRules : this->rules; bool done = false; do { bool listModified = false; for (auto iter = list.begin(); !listModified && iter != list.end(); iter++) { if (!((iter->get()->type == Model_Rule::NORMAL && iter->get()->dataSource) || (iter->get()->type == Model_Rule::SUBMENU && iter->get()->subRules.size()) || (iter->get()->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER && iter->get()->dataSource) || (iter->get()->type == Model_Rule::PLAINTEXT && iter->get()->dataSource))) { if (iter->get()->__sourceScriptPath == "" || scriptMap.size()) { list.erase(iter); listModified = true; //after ereasing something we have to create a new iterator } } else { //check contents this->sync_cleanup(*iter, scriptMap); } } if (!listModified) done = true; } while (!done); } public: bool isModified( std::shared_ptr parentRule = nullptr, std::shared_ptr parentEntry = nullptr ) const { assert(this->dataSource != nullptr); bool result = false; auto& rlist = parentRule ? parentRule->subRules : this->rules; auto& elist = parentEntry ? parentEntry->subEntries : this->dataSource->entries(); if (rlist.size()-1 == elist.size()){ //rules contains the other entries placeholder, so there is one more entry auto ruleIter = rlist.begin(); auto entryIter = elist.begin(); if (ruleIter->get()->type == Model_Rule::OTHER_ENTRIES_PLACEHOLDER){ //the first element is the OTHER_ENTRIES_PLACEHOLDER by default. result = !ruleIter->get()->isVisible; //If not visible, it's modified… ruleIter++; } else { result = true; } while (!result && ruleIter != rlist.end() && entryIter != elist.end()){ // type compare if ((ruleIter->get()->type == Model_Rule::NORMAL && entryIter->get()->type != Model_Entry::MENUENTRY) || (ruleIter->get()->type == Model_Rule::PLAINTEXT && entryIter->get()->type != Model_Entry::PLAINTEXT) || (ruleIter->get()->type == Model_Rule::SUBMENU && entryIter->get()->type != Model_Entry::SUBMENU)) { result = true; } else if (ruleIter->get()->outputName != entryIter->get()->name || !ruleIter->get()->isVisible) { // data compare result = true; } else if (ruleIter->get()->type == Model_Rule::SUBMENU) { // submenu check result = this->isModified(*ruleIter, *entryIter); } ruleIter++; entryIter++; } } else { result = true; } return result; } public: bool deleteFile() { assert(Model_ProxyScriptData::is_proxyscript(this->fileName)); int success = unlink(this->fileName.c_str()); if (success == 0){ this->fileName = ""; return true; } else return false; } public: std::list getScriptList( std::map, std::shared_ptr> const& entrySourceMap, std::map, std::string> const& scriptTargetMap ) const { std::map uniqueList; // the pointer (value) is just a dummy for (auto entrySource : entrySourceMap) { uniqueList[scriptTargetMap.find(entrySource.second)->second] = Nothing(); } std::list result; result.push_back(scriptTargetMap.find(this->dataSource)->second); // the own script must be the first entry for (auto uniqueListItem : uniqueList) { result.push_back(uniqueListItem.first); } return result; } public: bool generateFile( std::string const& path, int cfg_dir_prefix_length, std::string const& cfg_dir_noprefix, std::map, std::shared_ptr> entrySourceMap, std::map, std::string> const& scriptTargetMap ) { if (this->dataSource){ FILE* proxyFile = fopen(path.c_str(), "w"); if (proxyFile){ this->fileName = path; fputs("#!/bin/sh\n#THIS IS A GRUB PROXY SCRIPT\n", proxyFile); std::list scripts = this->getScriptList(entrySourceMap, scriptTargetMap); if (scripts.size() == 1) { // single script fputs(("'"+this->dataSource->fileName.substr(cfg_dir_prefix_length)+"'").c_str(), proxyFile); } else { // multi script fputs("sh -c '", proxyFile); for (std::list::iterator scriptIter = scripts.begin(); scriptIter != scripts.end(); scriptIter++) { fputs(("echo \"### BEGIN "+(*scriptIter).substr(cfg_dir_prefix_length)+" ###\";\n").c_str(), proxyFile); fputs(("\""+(*scriptIter).substr(cfg_dir_prefix_length)+"\";\n").c_str(), proxyFile); fputs(("echo \"### END "+(*scriptIter).substr(cfg_dir_prefix_length)+" ###\";").c_str(), proxyFile); if (&*scriptIter != &scripts.back()) { fputs("\n", proxyFile); } } fputs("'", proxyFile); } fputs((" | "+cfg_dir_noprefix+"/bin/grubcfg_proxy \"").c_str(), proxyFile); for (auto rule : this->rules) { assert(this->dataSource != nullptr); Model_EntryPathBuilderImpl entryPathBuilder(this->dataSource); entryPathBuilder.setScriptTargetMap(scriptTargetMap); entryPathBuilder.setEntrySourceMap(entrySourceMap); entryPathBuilder.setPrefixLength(cfg_dir_prefix_length); fputs((rule->toString(entryPathBuilder)+"\n").c_str(), proxyFile); //write rule } fputs("\"", proxyFile); if (scripts.size() > 1) { fputs(" multi", proxyFile); } fclose(proxyFile); chmod(path.c_str(), this->permissions); return true; } } return false; } //before running this function, the related script file must be saved! public: std::string getScriptName() { if (this->dataSource) { return this->dataSource->name; } else { return "?"; } } public: std::list>::iterator getNextVisibleRule( std::list>::iterator base, int direction ) { assert(direction == -1 || direction == 1); std::shared_ptr parent = nullptr; try { parent = this->getParentRule(*base); } catch (ItemNotFoundException const& e) {} // leave parent in nullptr state auto& list = this->getRuleList(parent); do { if (direction == 1) { base++; } else { base--; } } while (base != list.end() && !base->get()->isVisible); if (base == list.end()) { throw NoMoveTargetException("no move target found inside of this proxy", __FILE__, __LINE__); } return base; } public: std::shared_ptr splitSubmenu(std::shared_ptr position) { std::shared_ptr parent = this->getParentRule(position); // search items before and after the submenu std::list> rulesBefore; std::list> rulesAfter; bool isBehindChildtem = false; for (auto rule : parent->subRules) { if (rule != position) { if (!isBehindChildtem) { rulesBefore.push_back(rule); } else { rulesAfter.push_back(rule); } } else { rulesAfter.push_back(rule); isBehindChildtem = true; } } auto oldSubmenu = parent; oldSubmenu->subRules.clear(); std::list>* list = nullptr; auto parentRule = this->getParentRule(parent); if (parentRule) { list = &parentRule->subRules; } else { list = &this->rules; } assert(list != nullptr); // add the rules before and/or after to new submenus if (rulesBefore.size()) { auto newSubmenu = std::make_shared(*oldSubmenu); newSubmenu->subRules = rulesBefore; list->insert(this->getListIterator(parent, *list), newSubmenu); } auto newSubmenu = std::make_shared(*oldSubmenu); newSubmenu->subRules = rulesAfter; auto iter = this->getListIterator(parent, *list); iter++; auto insertPos = list->insert(iter, newSubmenu); // remove the submenu list->erase(this->getListIterator(parent, *list)); return insertPos->get()->subRules.front(); } public: std::shared_ptr createSubmenu(std::shared_ptr position) { auto& list = this->getRuleList(this->getParentRule(position)); auto posIter = this->getListIterator(position, list); auto insertPos = list.insert( posIter, std::make_shared(Model_Rule::SUBMENU, std::list(), "", true) ); return *insertPos; } public: bool ruleIsFromOwnScript(std::shared_ptr rule) const { assert(this->dataSource != nullptr); assert(rule->dataSource != nullptr); if (this->dataSource->hasEntry(rule->dataSource)) { return true; } else { return false; } } public: void removeForeignChildRules(std::shared_ptr parent) { bool loopRestartRequired = false; do { // required to restart the loop after an entry has been removed loopRestartRequired = false; for (auto iter = parent->subRules.begin(); iter != parent->subRules.end(); iter++) { if (iter->get()->dataSource) { if (!this->ruleIsFromOwnScript(*iter)) { parent->subRules.erase(iter); loopRestartRequired = true; break; } } else if (iter->get()->subRules.size()) { this->removeForeignChildRules(*iter); if (iter->get()->subRules.size() == 0) { // if this submenu is empty now, remove it parent->subRules.erase(iter); loopRestartRequired = true; break; } } } } while (loopRestartRequired); } public: void removeEquivalentRules(std::shared_ptr base) { if (base->dataSource) { auto eqRule = this->getRuleByEntry(base->dataSource, this->rules, base->type); if (eqRule) { this->removeRule(eqRule); } } else if (base->subRules.size()) { for (auto subRule : base->subRules) { this->removeEquivalentRules(subRule); } } } public: void removeRule(std::shared_ptr rule) { assert(rule != nullptr); std::shared_ptr parent = nullptr; int rlist_size = 0; do { try { parent = this->getParentRule(rule); } catch (ItemNotFoundException const& e) { parent = nullptr; } auto& rlist = this->getRuleList(parent); auto iter = this->getListIterator(rule, rlist); rlist.erase(iter); rule = parent; // go one step up to remove this rule if empty rlist_size = rlist.size(); } while (rlist_size == 0 && parent != nullptr); // delete all the empty submenus above } public: std::list>::iterator getListIterator( std::shared_ptr needle, std::list>& haystack ) { for (auto iter = haystack.begin(); iter != haystack.end(); iter++) { if (*iter == needle) return iter; } throw ItemNotFoundException("specified rule not found", __FILE__, __LINE__); } public: std::shared_ptr getParentRule( std::shared_ptr child, std::shared_ptr root = nullptr ) { auto& list = root ? root->subRules : this->rules; for (auto rule : list) { if (rule == child) return root; else if (rule->subRules.size()) { std::shared_ptr parentRule = nullptr; try { parentRule = this->getParentRule(child, rule); } catch (ItemNotFoundException const& e) { // do nothing } if (parentRule) { return parentRule; } } } throw ItemNotFoundException("specified rule not found", __FILE__, __LINE__); } public: std::list>& getRuleList(std::shared_ptr parentElement) { if (parentElement) return parentElement->subRules; else return this->rules; } public: bool hasVisibleRules(std::shared_ptr parent = nullptr) const { auto& list = parent ? parent->subRules : this->rules; for (auto iter = list.begin(); iter != list.end(); iter++) { if (iter->get()->isVisible) { if (iter->get()->type == Model_Rule::SUBMENU) { bool has = this->hasVisibleRules(*iter); if (has) { return true; } } else { return true; } } } return false; } public: std::shared_ptr getVisibleRuleForEntry( std::shared_ptr const& entry, std::shared_ptr parent = nullptr ) { auto& list = parent ? parent->subRules : this->rules; for (auto rule : list) { if (rule->isVisible && rule->dataSource == entry) { return rule; } auto subResult = this->getVisibleRuleForEntry(entry, rule); if (subResult) { return subResult; } } return nullptr; } public: std::list> getVisibleRulesByType( Model_Rule::RuleType type, std::shared_ptr parent = nullptr ) { std::list> result; auto& list = parent ? parent->subRules : this->rules; for (auto rule : list) { if (rule->isVisible) { if (rule->type == type) { result.push_back(rule); } if (rule->subRules.size()) { auto subResult = this->getVisibleRulesByType(type, rule); result.splice(result.end(), subResult); } } } return result; } public: operator ArrayStructure() const { ArrayStructure result; result["rules"].isArray = true; int ruleIterPos = 0; for (auto rule : this->rules) { result["rules"][ruleIterPos] = *rule; ruleIterPos++; } result["index"] = this->index; result["permissions"] = this->permissions; result["fileName"] = this->fileName; result["dataSource"] = this->dataSource.get(); result["__idPathList"].isArray = true; { for (auto idPath : this->__idPathList) { result["__idPathList"]["k"] = *idPath.first; int i = 0; for (auto idPathPart : idPath.second) { result["__idPathList"]["v"][i] = ArrayStructure(idPathPart); i++; } } } result["__idPathList_OtherEntriesPlaceHolders"].isArray = true; { for (auto oepPath : this->__idPathList_OtherEntriesPlaceHolders) { result["__idPathList_OtherEntriesPlaceHolders"]["k"] = *oepPath.first; int i = 0; for (auto oepPathPart : oepPath.second) { result["__idPathList_OtherEntriesPlaceHolders"]["v"][i] = ArrayStructure(oepPathPart); i++; } } } return result; } private: static void adjustIterator(std::list::iterator& iter, int adjustment) { if (adjustment > 0) { for (int i = 0; i < adjustment; i++) { iter++; } } else { for (int i = 0; i > adjustment; i--) { iter--; } } } }; #endif grub-customizer-5.1.0/src/Model/FbResolutionsGetter.hpp0000644000175000017500000000634113360360026022444 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef FB_RESOLUTIONS_GETTER #define FB_RESOLUTIONS_GETTER #include #include #include #include #include "../lib/Trait/LoggerAware.hpp" class Model_FbResolutionsGetter : public Trait_LoggerAware { std::list data; bool _isLoading; public: Model_FbResolutionsGetter() : _isLoading(false) {} std::function onFinish; const std::list& getData() const { return data; } void load() { if (!_isLoading){ //make sure that only one thread is running this function at the same time _isLoading = true; data.clear(); FILE* hwinfo_proc = popen("hwinfo --framebuffer", "r"); if (hwinfo_proc){ int c; std::string row; //parses mode lines like " Mode 0x0300: 640x400 (+640), 8 bits" while ((c = fgetc(hwinfo_proc)) != EOF){ if (c != '\n') row += char(c); else { if (row.substr(0,7) == " Mode "){ int beginOfResulution = row.find(':')+2; int endOfResulution = row.find(' ', beginOfResulution); int beginOfColorDepth = row.find(' ', endOfResulution+1)+1; int endOfColorDepth = row.find(' ', beginOfColorDepth); data.push_back( row.substr(beginOfResulution, endOfResulution-beginOfResulution) + "x" + row.substr(beginOfColorDepth, endOfColorDepth-beginOfColorDepth) ); } row = ""; } } if (pclose(hwinfo_proc) == 0 && this->onFinish) { this->onFinish(); } } _isLoading = false; } } }; class Model_FbResolutionsGetter_Connection { protected: std::shared_ptr fbResolutionsGetter; public: virtual ~Model_FbResolutionsGetter_Connection() {} public: void setFbResolutionsGetter(std::shared_ptr fbResolutionsGetter) { this->fbResolutionsGetter = fbResolutionsGetter; this->initFbResolutionsGetterEvents(); } public: virtual void initFbResolutionsGetterEvents() { // override to initialize specific view events } }; #endif grub-customizer-5.1.0/src/Model/EntryPathBuilderImpl.hpp0000644000175000017500000000634013360360026022541 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRYPATHBUILDERIMPL_H_ #define ENTRYPATHBUILDERIMPL_H_ #include "../Model/EntryPathBuilder.hpp" #include #include "Script.hpp" class Model_EntryPathBuilderImpl : public Model_EntryPathBilder { private: std::shared_ptr mainScript; private: std::map, std::shared_ptr> entrySourceMap; private: std::map, std::string> scriptTargetMap; private: int prefixLength; public: Model_EntryPathBuilderImpl(std::shared_ptr mainScript) : prefixLength(0), mainScript(NULL) { this->setMainScript(mainScript); } public: void setMainScript(std::shared_ptr mainScript) { this->mainScript = mainScript; } public: void setEntrySourceMap(std::map, std::shared_ptr> const& entrySourceMap) { this->entrySourceMap = entrySourceMap; } public: void setScriptTargetMap(std::map, std::string> const& scriptTargetMap) { this->scriptTargetMap = scriptTargetMap; } public: void setPrefixLength(int length) { this->prefixLength = length; } public: std::list buildPath(std::shared_ptr entry) const { auto script = entrySourceMap.find(entry) != entrySourceMap.end() ? entrySourceMap.find(entry)->second : this->mainScript; return script->buildPath(entry); } public: std::string buildPathString(std::shared_ptr entry, bool withOtherEntriesPlaceholder = false) const { auto script = entrySourceMap.find(entry) != entrySourceMap.end() ? entrySourceMap.find(entry)->second : this->mainScript; return script->buildPathString(entry, withOtherEntriesPlaceholder); } public: std::string buildScriptPath(std::shared_ptr entry) const { auto script = entrySourceMap.find(entry) != entrySourceMap.end() ? entrySourceMap.find(entry)->second : nullptr; return script ? this->scriptTargetMap.find(script)->second.substr(this->prefixLength) : ""; } }; #endif grub-customizer-5.1.0/src/Model/ThemeFile.hpp0000644000175000017500000000367213360360026020341 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef THEMEFILE_H_ #define THEMEFILE_H_ #include struct Model_ThemeFile { Model_ThemeFile(std::string localFileName, bool isAddedByUser = false) : localFileName(localFileName), contentLoaded(false), newLocalFileName(localFileName), isAddedByUser(isAddedByUser) { } static bool compareLocalPath(Model_ThemeFile const& a, Model_ThemeFile const& b) { return a.newLocalFileName < b.newLocalFileName; } std::string localFileName, newLocalFileName; // path inside of the theme directory bool contentLoaded; // say whether the content is loaded (text only) std::string content; // loaded content (text only) bool isAddedByUser; std::string externalSource; }; #endif /* THEMEFILE_H_ */ grub-customizer-5.1.0/src/Model/SettingsManagerData.hpp0000644000175000017500000002321313360360026022355 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SETTING_MANAGER_DATASTORE_INCLUDED #define SETTING_MANAGER_DATASTORE_INCLUDED #include //mkdir #include "../lib/Trait/LoggerAware.hpp" #include #include "../lib/Helper.hpp" #include #include "Env.hpp" #include "SettingsStore.hpp" class Model_SettingsManagerData : public Model_SettingsStore, public Trait_LoggerAware, public Model_Env_Connection { bool _reloadRequired; public: bool color_helper_required; std::string grubFont, oldFontFile; int grubFontSize; Model_SettingsManagerData() : _reloadRequired(false), color_helper_required(false), grubFontSize(-1) { } bool reloadRequired() const { return this->_reloadRequired; } static std::map parsePf2(std::string const& fileName) { std::map result; FILE* file = fopen(fileName.c_str(), "rb"); if (file) { while (true) { char nameBuf [5]; // stores 4 bytes of data (possible \0 at pos 5) if (fgets(nameBuf, 5, file) == NULL || nameBuf == std::string("CHIX") || nameBuf == std::string("DATA")) { break; } char* getsResult = nullptr; char sizeBuf [5]; getsResult = fgets(sizeBuf, 5, file); if (getsResult == nullptr) { continue; } unsigned int size = sizeBuf[3] + (sizeBuf[2] << 8) + (sizeBuf[1] << 16) + (sizeBuf[0] << 24); char* contentBuf = new char[size + 1]; getsResult = fgets(contentBuf, size + 1, file); if (getsResult == nullptr) { delete contentBuf; continue; } result[nameBuf] = contentBuf; delete contentBuf; } fclose(file); } return result; } static std::string getFontFileByName(std::string const& name) { std::string result; std::string translatedName = name; int lastWhitespacePos = translatedName.find_last_of(' '); if (lastWhitespacePos != -1) { translatedName[lastWhitespacePos] = ':'; } translatedName = Helper::str_replace(" Bold", ":Bold", translatedName); translatedName = Helper::str_replace(" Italic", ":Italic", translatedName); translatedName = Helper::str_replace(" Medium", ":Medium", translatedName); translatedName = Helper::str_replace(" Oblique", ":Oblique", translatedName); translatedName = Helper::str_replace(" Regular", ":Regular", translatedName); std::string cmd = "fc-match -f '%{file[0]}' '" + translatedName + "'"; FILE* proc = popen(cmd.c_str(), "r"); int c; while ((c = getc(proc)) != EOF) { result += char(c); } pclose(proc); return result; } std::string mkFont(std::string fontFile = "", std::string outputPath = "") { int fontSize = -1; if (fontFile == "") { fontFile = Model_SettingsManagerData::getFontFileByName(this->grubFont); fontSize = this->grubFontSize; } std::string sizeParam; if (fontSize != -1) { std::ostringstream stream; stream << fontSize; sizeParam = " --size='" + stream.str() + "'"; if (fontSize > 72) { this->log("Error: font too large: " + stream.str() + "!", Logger::ERROR); return ""; // fehler } } outputPath = outputPath != "" ? outputPath : this->env->output_config_dir_noprefix + "/unicode.pf2"; std::string cmd = this->env->mkfont_cmd + " --output='" + Helper::str_replace("'", "\\'", outputPath) + "'" + sizeParam + " '" + Helper::str_replace("'", "\\'", fontFile) + "' 2>&1"; this->log("running " + cmd, Logger::INFO); FILE* mkfont_proc = popen(cmd.c_str(), "r"); int c; // std::string row = ""; while ((c = fgetc(mkfont_proc)) != EOF) { // if (c == '\n') { // this->log("MKFONT: " + row, Logger::INFO); // } else { // row += char(c); // } } int result = pclose(mkfont_proc); if (result != 0) { this->log("error running " + this->env->mkfont_cmd, Logger::ERROR); return ""; } this->setValue("GRUB_FONT", outputPath); return outputPath; } bool load() { settings.clear(); FILE* file = fopen(this->env->settings_file.c_str(), "r"); if (file){ Model_SettingsStore::load(file); this->grubFontSize = -1; if (this->getValue("GRUB_FONT") != "") { this->oldFontFile = this->getValue("GRUB_FONT"); this->log("parsing " + this->getValue("GRUB_FONT"), Logger::INFO); this->grubFont = Model_SettingsManagerData::parsePf2(this->env->cfg_dir_prefix + this->getValue("GRUB_FONT"))["NAME"]; this->log("result " + this->grubFont, Logger::INFO); this->removeItem("GRUB_FONT"); } fclose(file); return true; } else return false; } bool save() { const char* background_script = "\ #! /bin/sh -e\n\ # Name of this script: 'grub_background.sh'\n\ \n\ WALLPAPER=\"/usr/share/images/desktop-base/background\"\n\ COLOR_NORMAL=\"light-gray/black\"\n\ COLOR_HIGHLIGHT=\"magenta/black\"\n\ \n\ if [ \"${GRUB_MENU_PICTURE}\" ] ; then\n\ echo \"using custom appearance settings\" >&2\n\ [ \"${GRUB_COLOR_NORMAL}\" ] && COLOR_NORMAL=\"${GRUB_COLOR_NORMAL}\"\n\ [ \"${GRUB_COLOR_HIGHLIGHT}\" ] && COLOR_HIGHLIGHT=\"${GRUB_COLOR_HIGHLIGHT}\"\n\ WALLPAPER=\"${GRUB_MENU_PICTURE}\"\n\ fi\n"; FILE* outFile = fopen(this->env->settings_file.c_str(), "w"); if (outFile){ if (this->oldFontFile != "") { remove(this->oldFontFile.c_str()); this->oldFontFile = ""; } std::string generatedFont; if (this->grubFont != "") { generatedFont = this->mkFont(); } bool background_script_required = false; bool isGraphical = false; this->color_helper_required = false; for (std::list::iterator iter = this->begin(false); iter != this->end(); iter++){ if (iter != this->begin(false)) { fputs("\n", outFile); } fputs((iter->getOutput()).c_str(), outFile); if (!background_script_required && !this->env->useDirectBackgroundProps && (iter->name == "GRUB_MENU_PICTURE" || iter->name == "GRUB_COLOR_NORMAL" || iter->name == "GRUB_COLOR_HIGHLIGHT")) { background_script_required = true; isGraphical = true; } if (this->env->useDirectBackgroundProps && (iter->name == "GRUB_COLOR_NORMAL" || iter->name == "GRUB_COLOR_HIGHLIGHT")) { this->color_helper_required = true; isGraphical = true; } if (iter->name == "GRUB_BACKGROUND" && this->env->useDirectBackgroundProps) { isGraphical = true; } } fclose(outFile); if (background_script_required){ mkdir((env->cfg_dir_prefix+"/usr/share/desktop-base").c_str(), 0755); FILE* bgScriptFile = fopen((env->cfg_dir_prefix+"/usr/share/desktop-base/grub_background.sh").c_str(), "w"); chmod((env->cfg_dir_prefix+"/usr/share/desktop-base/grub_background.sh").c_str(), 0755); fputs(background_script, bgScriptFile); fclose(bgScriptFile); } if (isGraphical && generatedFont == "") { FILE* fontFile = fopen((this->env->output_config_dir + "/unicode.pf2").c_str(), "r"); if (fontFile) { this->log("font file exists", Logger::INFO); fclose(fontFile); } else { this->log("generating the font file", Logger::EVENT); this->mkFont("/usr/share/fonts/dejavu/DejaVuSansMono.ttf"); } } this->removeItem("GRUB_FONT"); this->_reloadRequired = false; return true; } else return false; } bool setValue(std::string const& name, std::string const& value) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (name == iter->name){ if (iter->value != value){ //only set when the new value is really new iter->value = value; if (name == "GRUB_DISABLE_LINUX_RECOVERY" || name == "GRUB_DISABLE_OS_PROBER") _reloadRequired = true; } return true; } } settings.push_back(Model_SettingsStore_Row()); settings.back().name = name; settings.back().value = value; settings.back().validate(); if (name == "GRUB_DISABLE_LINUX_RECOVERY" || name == "GRUB_DISABLE_OS_PROBER") _reloadRequired = true; return false; } bool setIsActive(std::string const& name, bool value) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (name == iter->name){ if (iter->isActive != value){ iter->isActive = value; if (name == "GRUB_DISABLE_LINUX_RECOVERY" || name == "GRUB_DISABLE_OS_PROBER") _reloadRequired = true; } return true; } } return false; } }; class Model_SettingsManagerData_Connection { protected: std::shared_ptr settings; public: void setSettingsManager(std::shared_ptr settings) { this->settings = settings; } }; #endif grub-customizer-5.1.0/src/Model/Script.hpp0000644000175000017500000002232113360360026017733 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CUSTOMIZER_SCRIPT_INCLUDED #define GRUB_CUSTOMIZER_SCRIPT_INCLUDED #include #include #include #include #include #include "../Model/EntryPathFollower.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Helper.hpp" #include "../config.hpp" #include "../lib/Exception.hpp" #include "../lib/ArrayStructure.hpp" #include "../lib/Type.hpp" #include "Entry.hpp" class Model_Script : public Model_EntryPathFollower, public Trait_LoggerAware, public Script { public: std::string name, fileName; public: bool isCustomScript; public: std::shared_ptr root; public: Model_Script(std::string const& name, std::string const& fileName) : name(name), fileName(fileName), root(std::make_shared("DUMMY", "DUMMY", "DUMMY", Model_Entry::SCRIPT_ROOT)), isCustomScript(false) { FILE* script = fopen(fileName.c_str(), "r"); if (script) { Model_Entry_Row row1(script), row2(script); if (row1.text == CUSTOM_SCRIPT_SHEBANG && row2.text == CUSTOM_SCRIPT_PREFIX) { isCustomScript = true; } fclose(script); } } public: bool isModified(std::shared_ptr parent = nullptr) { if (!parent) { parent = this->root; } if (parent->isModified) { return true; } for (auto entry : parent->subEntries) { if (entry->isModified) { return true; } else if (entry->type == Model_Entry::SUBMENU) { bool modified = this->isModified(entry); if (modified) { return true; } } } return false; } public: std::list>& entries() { return this->root->subEntries; } public: std::list> const& entries() const { return this->root->subEntries; } public: bool isInScriptDir(std::string const& cfg_dir) const { return this->fileName.substr(cfg_dir.length(), std::string("/proxifiedScripts/").length()) == "/proxifiedScripts/"; } public: std::shared_ptr getEntryByPath(std::list const& path) { std::shared_ptr result = nullptr; if (path.size() == 0) { // top level oep result = this->root; } else { for (auto pathPart : path) { result = this->getEntryByName(pathPart, result != nullptr ? result->subEntries : this->entries()); if (result == nullptr) return nullptr; } } return result; } public: std::shared_ptr getEntryByName( std::string const& name, std::list>& parentList ) { std::list> results; for (auto entry : parentList) { if (entry->name == name) results.push_back(entry); } if (results.size() == 1) { return results.front(); } return nullptr; } public: std::shared_ptr getEntryByHash( std::string const& hash, std::list>& parentList ) { for (auto entry : parentList) { if (entry->type == Model_Entry::MENUENTRY && entry->content != "" && Helper::md5(entry->content) == hash) { return entry; } else if (entry->type == Model_Entry::SUBMENU) { auto result = this->getEntryByHash(hash, entry->subEntries); if (result != nullptr) { return result; } } } return nullptr; } public: std::shared_ptr getPlaintextEntry() { for (auto entry : this->entries()) { if (entry->type == Model_Entry::PLAINTEXT) { return entry; } } return nullptr; } public: void moveToBasedir(std::string const& cfg_dir) { std::string newPath; if (isInScriptDir(cfg_dir)){ newPath = cfg_dir+"/PS_"+this->fileName.substr((cfg_dir+"/proxifiedScripts/").length()); } else { newPath = cfg_dir+"/DS_"+this->fileName.substr(cfg_dir.length()+1); } Helper::assert_filepath_empty(newPath, __FILE__, __LINE__); int renameSuccess = rename(this->fileName.c_str(), newPath.c_str()); if (renameSuccess == 0) this->fileName = newPath; } //moves the file from any location to grub.d and adds the prefix PS_ (proxified Script) or DS_ (default script) public: bool moveFile(std::string const& newPath, short int permissions = -1) { Helper::assert_filepath_empty(newPath, __FILE__, __LINE__); int rename_success = rename(this->fileName.c_str(), newPath.c_str()); if (rename_success == 0){ this->fileName = newPath; if (permissions != -1) chmod(this->fileName.c_str(), permissions); return true; } return false; } public: std::list buildPath(std::shared_ptr entry, std::shared_ptr parent) const { if (entry == this->root) { // return an empty list if it's the root entry! return std::list(); } auto& list = parent ? parent->subEntries : this->entries(); for (auto loop_entry : list) { if (loop_entry == entry) { std::list result; result.push_back(loop_entry->name); return result; } if (loop_entry->type == Model_Entry::SUBMENU) { try { std::list result = this->buildPath(entry, loop_entry); result.push_front(loop_entry->name); return result; } catch (ItemNotFoundException const& e) { //continue } } } throw ItemNotFoundException("entry not found inside of specified parent", __FILE__, __LINE__); } public: std::list buildPath(std::shared_ptr entry) const { return this->buildPath(entry, nullptr); } public: std::string buildPathString(std::shared_ptr entry, bool withOtherEntriesPlaceholder = false) const { std::string result; std::list list = this->buildPath(entry, NULL); for (std::list::iterator iter = list.begin(); iter != list.end(); iter++) { if (result != "") { result += "/"; } result += "'"+Helper::str_replace("'", "''", *iter)+"'"; } if (withOtherEntriesPlaceholder) { result += result.size() ? "/*" : "*"; } return result; } public: bool hasEntry( std::shared_ptr entry, std::shared_ptr parent = nullptr ) const { if (parent == nullptr && this->root == entry) { // check toplevel entry return true; } auto const& list = parent ? parent->subEntries : this->entries(); for (auto loop_entry : list) { if (loop_entry == entry) { return true; } if (loop_entry->type == Model_Entry::SUBMENU) { bool has = this->hasEntry(entry, loop_entry); if (has) { return true; } } } return false; } public: void deleteEntry(std::shared_ptr entry, std::shared_ptr parent = nullptr) { if (parent == nullptr) { parent = this->root; } for (auto iter = parent->subEntries.begin(); iter != parent->subEntries.end(); iter++) { if (*iter == entry) { parent->subEntries.erase(iter); this->root->isModified = true; return; } else if (iter->get()->subEntries.size()) { try { this->deleteEntry(entry, *iter); return; // if no exception the entry has been deleted } catch (ItemNotFoundException const& e) {} } } throw ItemNotFoundException("entry for deletion not found"); } public: bool deleteFile() { int success = unlink(this->fileName.c_str()); if (success == 0){ this->fileName = ""; return true; } else return false; } public: operator ArrayStructure() const { ArrayStructure result; result["name"] = this->name; result["fileName"] = this->fileName; result["isCustomScript"] = this->isCustomScript; result["root"] = ArrayStructure(*this->root); return result; } public: static int extractIndexFromPath(std::string const& path, std::string const& cfgDirPath) { if (path.substr(0, cfgDirPath.length()) == cfgDirPath) { std::string subPath = path.substr(cfgDirPath.length() + 1); // remove path std::string prefix = subPath.substr(0, 2); if (prefix.length() == 2 && prefix[0] >= '0' && prefix[0] <= '9' && prefix[1] >= '0' && prefix[1] <= '9') { int prefixNum = (prefix[0] - '0') * 10 + (prefix[1] - '0'); return prefixNum; } } throw InvalidStringFormatException("unable to parse index from " + path, __FILE__, __LINE__); } }; #endif grub-customizer-5.1.0/src/Model/MountTable.hpp0000644000175000017500000002406013360360026020543 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef MOUNT_TABLE_INCLUDED #define MOUNT_TABLE_INCLUDED #include #include #include #include #include "../lib/Exception.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Helper.hpp" struct Model_MountTable_Mountpoint { std::string device, mountpoint, fileSystem, options, dump, pass; bool isMounted; bool isValid(std::string const& prefix = "", bool isRoot = false) const { return device != "" && (mountpoint != prefix || isRoot) && mountpoint != prefix+"none" && fileSystem != "" && options != "" && dump != "" && pass != ""; } operator bool() const { return this->isValid(); } Model_MountTable_Mountpoint(std::string const& mountpoint = "", bool isMounted = false) : isMounted(isMounted), mountpoint(mountpoint) {} Model_MountTable_Mountpoint(std::string const& device, std::string const& mountpoint, std::string const& options, bool isMounted = false) : device(device), mountpoint(mountpoint), isMounted(isMounted), options(options) { } void mount() { if (!isMounted){ int res = system(("mount '"+device+"' '"+mountpoint+"'"+(options != "" ? " -o '"+options+"'" : "")).c_str()); if (res != 0) throw MountException("mount failed", __FILE__, __LINE__); this->isMounted = true; } } void umount() { if (isMounted){ int res = system(("umount '"+mountpoint+"'").c_str()); if (res != 0) throw UMountException("umount failed", __FILE__, __LINE__); this->isMounted = false; } } bool isLiveCdFs() { return this->fileSystem == "aufs" | this->fileSystem == "overlayfs"; } }; class Model_MountTable : public std::list, public Trait_LoggerAware { private: bool loaded; public: Model_MountTable(FILE* source, std::string const& prefix, bool default_isMounted_flag) : loaded(false) { this->loadData(source, prefix, default_isMounted_flag); } public: Model_MountTable(std::string const& rootDirectory) : loaded(false) { this->loadData(rootDirectory); } public: Model_MountTable() : loaded(false) {} public: void sync(Model_MountTable const& mtab) { for (Model_MountTable::const_iterator iter = mtab.begin(); iter != mtab.end(); iter++){ this->add(*iter); } } public: bool isLoaded() const { return loaded; } public: operator bool() const { return isLoaded(); } public: void loadData(FILE* source, std::string const& prefix, bool default_isMounted_flag = false) { int c; int rowEntryPos = 0; bool isComment = false; bool isBeginOfRow = true; char previousChar = 0; Model_MountTable_Mountpoint newMp(prefix, default_isMounted_flag); while ((c = fgetc(source)) != EOF){ if (isBeginOfRow && c == '#') { isComment = true; } else if (c == '\n'){ this->add(prefix, newMp); newMp = Model_MountTable_Mountpoint(prefix, default_isMounted_flag); rowEntryPos = 0; isBeginOfRow = true; isComment = false; } else if (!isComment) { if (c == ' ' || c == '\t'){ if (previousChar != ' ' && previousChar != '\t') rowEntryPos++; isBeginOfRow = false; } else { switch (rowEntryPos){ case 0: newMp.device += char(c); break; case 1: newMp.mountpoint += char(c); break; case 2: newMp.fileSystem += char(c); break; case 3: newMp.options += char(c); break; case 4: newMp.dump += char(c); break; case 5: newMp.pass += char(c); break; } isBeginOfRow = false; } } previousChar = c; } this->add(prefix, newMp); loaded = true; } private: void add(std::string const& prefix, Model_MountTable_Mountpoint& newMp) { // decode newMp.device = Helper::str_replace("\\040", " ", newMp.device); newMp.mountpoint = Helper::str_replace("\\040", " ", newMp.mountpoint); newMp.fileSystem = Helper::str_replace("\\040", " ", newMp.fileSystem); newMp.options = Helper::str_replace("\\040", " ", newMp.options); newMp.dump = Helper::str_replace("\\040", " ", newMp.dump); newMp.pass = Helper::str_replace("\\040", " ", newMp.pass); bool isRoot = newMp.mountpoint == prefix + "/"; if (newMp.mountpoint.length() && newMp.mountpoint[newMp.mountpoint.length()-1] == '/') { newMp.mountpoint = newMp.mountpoint.substr(0, newMp.mountpoint.length()-1); } if (newMp.isValid(prefix, isRoot)){ this->remove(newMp); this->push_back(newMp); } } public: void loadData(std::string const& rootDirectory) { FILE* fstabFile = fopen((rootDirectory+"/etc/fstab").c_str(), "r"); if (fstabFile != NULL){ this->loadData(fstabFile, rootDirectory); Model_MountTable mtab; FILE* mtabfile = fopen("/etc/mtab", "r"); //use global mtab - the local one is unmanaged if (mtabfile){ mtab = Model_MountTable(mtabfile, "", true); fclose(mtabfile); } this->sync(mtab); fclose(fstabFile); } } public: void clear(std::string const& prefix) { Model_MountTable::iterator iter = this->begin(); while (iter != this->end()){ if (iter->mountpoint.substr(0, prefix.length()) == prefix){ this->erase(iter); iter = this->begin(); } else iter++; } loaded = false; } public: Model_MountTable_Mountpoint getEntryByMountpoint(std::string const& mountPoint) const { for (std::list::const_iterator iter = this->begin(); iter != this->end(); iter++){ if (iter->mountpoint == mountPoint) return *iter; } return Model_MountTable_Mountpoint(); } public: Model_MountTable_Mountpoint& getEntryRefByMountpoint(std::string const& mountPoint) { for (std::list::iterator iter = this->begin(); iter != this->end(); iter++){ if (iter->mountpoint == mountPoint) return *iter; } throw MountpointNotFoundException("mountpoint not found", __FILE__, __LINE__); } public: Model_MountTable_Mountpoint& add(Model_MountTable_Mountpoint const& mpToAdd) { this->remove(mpToAdd); //remove existing mountpoints with the same directory this->push_back(mpToAdd); return this->back(); } public: void remove(Model_MountTable_Mountpoint const& mountpoint) { for (std::list::iterator iter = this->begin(); iter != this->end(); iter++){ if (iter->mountpoint == mountpoint.mountpoint){ this->erase(iter); break; } } } public: void umountAll(std::string const& prefix) { for (Model_MountTable::reverse_iterator iter = this->rbegin(); iter != this->rend(); iter++){ if (iter->mountpoint.substr(0, prefix.length()) == prefix && iter->mountpoint != prefix && iter->isMounted){ iter->umount(); } } this->getEntryRefByMountpoint(prefix).umount(); } public: void mountRootFs(std::string const& device, std::string const& mountpoint) { this->add(Model_MountTable_Mountpoint(device, mountpoint, "")).mount(); this->loadData(mountpoint); FILE* fstab = fopen((mountpoint + "/etc/fstab").c_str(), "r"); if (fstab){ fclose(fstab); //opening of fstab is just a test try { this->add(Model_MountTable_Mountpoint("/proc", mountpoint + "/proc", "bind")).mount(); this->add(Model_MountTable_Mountpoint("/sys", mountpoint + "/sys", "bind")).mount(); this->add(Model_MountTable_Mountpoint("/dev", mountpoint + "/dev", "bind")).mount(); } //errors while mounting any of this partitions may not be a problem catch (SystemException const& e){} catch (MountpointNotFoundException const& e){} } else throw MissingFstabException("fstab is required but was not found", __FILE__, __LINE__); this->loaded = true; } public: Model_MountTable_Mountpoint& findByDevice(std::string device) { for (std::list::iterator iter = this->begin(); iter != this->end(); iter++){ if (iter->device == device) { return *iter; } } throw ItemNotFoundException("no mountpoint found by device " + device); } public: Model_MountTable_Mountpoint& getByFilePath(std::string path) { Model_MountTable_Mountpoint* result = NULL; for (std::list::iterator iter = this->begin(); iter != this->end(); iter++) { // look for the longest matching mountpoint because "/" matches as well as "/mnt" if filename is "/mnt/foo.iso" if (path.substr(0, iter->mountpoint.size()) == iter->mountpoint && (result == NULL || iter->mountpoint.size() > result->mountpoint.size())) { result = &*iter; } } if (result == NULL) { throw ItemNotFoundException("no mountpoint found by path " + path); } else { return *result; } } public: operator std::string() const { std::string result; for (Model_MountTable::const_iterator iter = this->begin(); iter != this->end(); iter++){ result += std::string("[") + (iter->isMounted ? "x" : " ") + "] " + iter->device + " " + iter->mountpoint + "\n"; } return result; } }; class Model_MountTable_Connection { protected: std::shared_ptr mountTable; public: void setMountTable(std::shared_ptr mountTable) { this->mountTable = mountTable; } }; #endif grub-customizer-5.1.0/src/Model/EntryPathFollower.hpp0000644000175000017500000000310213360360026022113 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRY_PATH_FOLLOWER_INCLUDED #define ENTRY_PATH_FOLLOWER_INCLUDED #include #include #include "../Model/Entry.hpp" class Model_EntryPathFollower { public: virtual inline ~Model_EntryPathFollower() {}; virtual std::shared_ptr getEntryByPath(std::list const& path)=0; }; #endif grub-customizer-5.1.0/src/Model/Installer.hpp0000644000175000017500000000501313360360026020423 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_INSTALLER_INCLUDED #define GRUB_INSTALLER_INCLUDED #include #include #include #include "../lib/Trait/LoggerAware.hpp" #include "Env.hpp" class Model_Installer : public Trait_LoggerAware, public Model_Env_Connection { std::string install_result; public: std::function onFinish; void threadable_install(std::string const& device) { this->install_result = this->install(device); if (this->onFinish) { this->onFinish(this->install_result); } } std::string install(std::string const& device) { FILE* install_proc = popen((this->env->install_cmd+" '"+device+"' 2>&1").c_str(), "r"); std::string output; int c; while ((c = fgetc(install_proc)) != EOF){ output += c; } int success = pclose(install_proc); if (success == 0) return ""; //empty return string = no error else return output; } }; class Model_Installer_Connection { protected: std::shared_ptr installer; public: virtual ~Model_Installer_Connection(){} public: void setInstaller(std::shared_ptr installer) { this->installer = installer; this->initInstallerEvents(); } public: virtual void initInstallerEvents() { // override to initialize specific view events } }; #endif grub-customizer-5.1.0/src/Model/DeviceMap.hpp0000644000175000017500000001212613360360026020326 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUBDEVICEMAP_H_ #define GRUBDEVICEMAP_H_ #include "../lib/Regex.hpp" #include #include #include "Env.hpp" #include "SmartFileHandle.hpp" struct Model_DeviceMap_PartitionIndex { std::string hddNum, partNum; }; class Model_DeviceMap : public Model_Env_Connection, public Regex_RegexConnection { mutable std::map _cache; public: Model_SmartFileHandle getFileHandle() const { Model_SmartFileHandle result; try { result.open(env->devicemap_file, "r", Model_SmartFileHandle::TYPE_FILE); } catch (FileReadException const& e) { if (env->check_cmd(env->mkdevicemap_cmd, env->cmd_prefix)) { result.open(env->mkdevicemap_cmd, "r", Model_SmartFileHandle::TYPE_COMMAND); } else { std::string staticMap = std::string() + + "(hd0)\t/dev/sda\n" + "(hd1)\t/dev/sdb\n" + "(hd2)\t/dev/sdc\n" + "(hd3)\t/dev/sdd\n" + "(hd4)\t/dev/sde\n" + "(hd5)\t/dev/sdf\n" + "(hd6)\t/dev/sdg\n" + "(hd7)\t/dev/sdh\n" + "(hd8)\t/dev/sdi\n" + "(hd9)\t/dev/sdj\n" + "(hd10)\t/dev/sdk\n" + "(hd11)\t/dev/sdl\n" + "(hd12)\t/dev/sdm\n" + "(hd13)\t/dev/sdn\n" + "(hd14)\t/dev/sdo\n" + "(hd15)\t/dev/sdp\n" + "(hd16)\t/dev/sdq\n" + "(hd17)\t/dev/sdr\n" + "(hd18)\t/dev/sds\n" + "(hd19)\t/dev/sdt\n" + "(hd20)\t/dev/sdu\n" + "(hd21)\t/dev/sdv\n" + "(hd22)\t/dev/sdw\n" + "(hd23)\t/dev/sdx\n" + "(hd24)\t/dev/sdy\n" + "(hd25)\t/dev/sdz\n"; result.open(staticMap, "r", Model_SmartFileHandle::TYPE_STRING); } } return result; } Model_DeviceMap_PartitionIndex getHarddriveIndexByPartitionUuid(std::string partitionUuid) const { if (this->_cache.find(partitionUuid) != this->_cache.end()) { return this->_cache[partitionUuid]; } Model_DeviceMap_PartitionIndex result; char deviceBuf[101]; int size = readlink((this->env->cfg_dir_prefix + "/dev/disk/by-uuid/" + partitionUuid).c_str(), deviceBuf, 100); if (size == -1) { //if this didn't work, try to convert the uuid to uppercase for (std::string::iterator iter = partitionUuid.begin(); iter != partitionUuid.end(); iter++) *iter = std::toupper(*iter); size = readlink((this->env->cfg_dir_prefix + "/dev/disk/by-uuid/" + partitionUuid).c_str(), deviceBuf, 100); } if (size == -1) { return result; //abort with empty result } deviceBuf[size] = '\0'; std::vector regexResult = this->regexEngine->match("([^/.0-9]+)([0-9]+)$", deviceBuf); result.partNum = regexResult[2]; std::string diskDevice = regexResult[1]; Model_SmartFileHandle handle = this->getFileHandle(); try { while (result.hddNum == "") { std::string row = handle.getRow(); std::vector rowMatch = this->regexEngine->match("^\\(hd([0-9]+)\\)[\t ]*(.*)$", row); std::string diskFile = rowMatch[2]; int size = readlink(diskFile.c_str(), deviceBuf, 100); // if this is a link, follow it if (size != -1) { diskFile = std::string(deviceBuf, size); } int deviceStartPos = (int)diskFile.size() - diskDevice.size(); if (deviceStartPos > 1 && diskFile.substr(deviceStartPos - 1) == "/" + diskDevice) { result.hddNum = rowMatch[1]; break; } } } catch (EndOfFileException const& e) { //don't throw if we didn't find the mapped value } handle.close(); this->_cache[partitionUuid] = result; return result; } void clearCache() { this->_cache.clear(); } }; class Model_DeviceMap_Connection { protected: std::shared_ptr deviceMap; public: void setDeviceMap(std::shared_ptr deviceMap) { this->deviceMap = deviceMap; } }; #endif grub-customizer-5.1.0/src/Model/ProxyScriptData.hpp0000644000175000017500000001217113360360026021571 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CFG_LIBProxyScriptData_PARSER_INCLUDED #define GRUB_CFG_LIBProxyScriptData_PARSER_INCLUDED #include #include struct Model_ProxyScriptData { std::string scriptCmd, proxyCmd, ruleString; bool is_valid; Model_ProxyScriptData(FILE* fpProxyScript) : is_valid(false) { load(fpProxyScript); } void load(FILE* fpProxyScript) { //THIS ALGORITHM IS ONLY USEFUL FOR GENERATED PROXIES this->scriptCmd = ""; this->proxyCmd = ""; this->ruleString = ""; if (Model_ProxyScriptData::is_proxyscript(fpProxyScript)){ int c; bool is_begin_of_row = true, is_comment = false, readingScriptRow = false; int parseStep = -2; bool inQuotes = false; bool success = false; while ((c = fgetc(fpProxyScript)) != EOF && !success){ if (is_begin_of_row && c == '#'){ is_comment = true; is_begin_of_row = false; } else if (is_comment && c == '\n'){ is_comment = false; } else if (!is_comment) { //the following code will only parse shell commands (comments are filtered out!) if (parseStep == -2) { //decide whether it's a multi or a single script if (c == '\'') { // quoted = script path parseStep = 0; // forward to single script parser } else if (c != '\'') { // not quoted = shell call -> multi script parseStep = -1; } } if (parseStep == -1) { if (c == '|') { parseStep = 1; readingScriptRow = false; } else if (readingScriptRow && c == '"') { readingScriptRow = false; } if (readingScriptRow) { this->scriptCmd += c; } if (is_begin_of_row && c == '"' && this->scriptCmd == "") { readingScriptRow = true; } } if (parseStep == 0){ if (this->scriptCmd.length() == 0 && inQuotes == false && c == '\''){ inQuotes = true; } else if ((!inQuotes && c != ' ') || (inQuotes && c != '\'')) { this->scriptCmd += char(c); } else { inQuotes = false; parseStep = 1; } } else if (parseStep == 1 && c != ' ' && c != '|'){ parseStep = 2; } if (parseStep == 2){ if (c != ' ') this->proxyCmd += char(c); else parseStep = 3; } if (parseStep == 3){ if (c == '"' && !inQuotes) inQuotes = true; else if ((c == '"' || c == '\\') && inQuotes && (this->ruleString.length() > 0 && this->ruleString[this->ruleString.length()-1] == '\\')) this->ruleString[this->ruleString.length()-1] = char(c); else if (c == '"' && inQuotes){ if (this->scriptCmd != "" && this->proxyCmd != "" && this->ruleString != ""){ success = true; } else parseStep = -2; } else { this->ruleString += char(c); } } is_begin_of_row = false; } if (c == '\n') is_begin_of_row = true; } this->is_valid = true; } } static bool is_proxyscript(FILE* proxy_fp){ int c; //skip first line while ((c = fgetc(proxy_fp)) != EOF){ if (c == '\n') break; } //compare the line start std::string textBefore = "#THIS IS A GRUB PROXY SCRIPT"; bool match_error = false; for (int i = 0; i < textBefore.length() && (c = fgetc(proxy_fp)) != EOF; i++){ if (c != textBefore[i]){ match_error = true; //It's not a proxy. break; } } if (!match_error && c == EOF) { // if the loop above ended because of EOF then it isn't a proxy script match_error = true; } //go to the next line if (!match_error){ //read the script name (ends by line break) while ((c = fgetc(proxy_fp)) != EOF){ if (c == '\n') break; } } return !match_error; } static bool is_proxyscript(std::string const& filePath) { bool result = false; FILE* f = fopen(filePath.c_str(), "r"); if (f){ result = Model_ProxyScriptData::is_proxyscript(f); fclose(f); } return result; } operator bool() { return is_valid; } }; #endif grub-customizer-5.1.0/src/Model/Theme.hpp0000644000175000017500000002730713360360026017542 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef MODEL_THEME_H_ #define MODEL_THEME_H_ #include #include #include #include #include #include "../lib/Exception.hpp" #include #include #include #include "ThemeFile.hpp" struct Model_Theme { std::string directory; std::string zipFile; std::list files; std::string name; bool isModified; Model_Theme(std::string const& directory, std::string const& zipFile, std::string const& name) : directory(directory), name(name), zipFile(zipFile), isModified(false) { if (directory != "") { this->load(directory); } if (zipFile != "") { this->loadZipFile(zipFile); } } void load(std::string const& directory) { DIR* dir = opendir(directory.c_str()); if (dir) { struct dirent *entry; struct stat fileProperties; while ((entry = readdir(dir))) { if (std::string(entry->d_name) == "." || std::string(entry->d_name) == "..") { continue; } std::string currentFileName = directory + "/" + entry->d_name; stat(currentFileName.c_str(), &fileProperties); if (S_ISDIR(fileProperties.st_mode)) { this->load(currentFileName); } else { this->files.push_back(Model_ThemeFile(this->extractLocalPath(currentFileName))); } } closedir(dir); this->sort(); } else { throw FileReadException("cannot read the theme directory: " + this->directory); } } void sort() { this->files.sort(&Model_ThemeFile::compareLocalPath); } void loadZipFile(std::string const& zipFile) { struct archive *a; struct archive_entry *entry; int r; a = archive_read_new(); archive_read_support_filter_all(a); archive_read_support_format_all(a); r = archive_read_open_filename(a, zipFile.c_str(), 10240); if (r != ARCHIVE_OK) { throw InvalidFileTypeException("archive not readable", __FILE__, __LINE__); } while (archive_read_next_header(a, &entry) == ARCHIVE_OK) { std::string path = archive_entry_pathname(entry); if (path.size() && path[path.size() - 1] != '/') { this->files.push_back(path); } archive_read_data_skip(a); } r = archive_read_free(a); if (r != ARCHIVE_OK) { throw InvalidFileTypeException("archive not readable", __FILE__, __LINE__); } this->removeSubdir(); } std::string loadFileContent(std::string localFileName) { if (this->directory != "") { return this->loadFileContentFromDirectory(localFileName); } else if (this->zipFile != "") { return this->loadFileContentFromZip(localFileName); } else { throw LogicException("neither directory nor zip file set", __FILE__, __LINE__); } } std::string loadFileContentExternal(std::string const& externalPath) { std::string data; FILE* file = fopen(externalPath.c_str(), "r"); if (file) { data.reserve(10240); int c; while ((c = fgetc(file)) != EOF) { data += char(c); } fclose(file); } else { throw FileReadException("cannot read file: " + externalPath, __FILE__, __LINE__); } return data; } std::string getFullFileName(std::string localFileName) { if (this->directory != "") { return this->directory + "/" + localFileName; } else { std::string fileContent = this->loadFileContentFromZip(localFileName); FILE* file = fopen("/tmp/grub-customizer_theme_preview", "w"); if (!file) { throw FileSaveException("cannot write preview file to " + localFileName, __FILE__, __LINE__); } fwrite(fileContent.c_str(), fileContent.size(), 1, file); fclose(file); return "/tmp/grub-customizer_theme_preview"; } } Model_ThemeFile& getFile(std::string localFileName) { for (std::list::iterator fileIter = this->files.begin(); fileIter != this->files.end(); fileIter++) { if (fileIter->localFileName == localFileName) { return *fileIter; } } throw ItemNotFoundException("themefile " + localFileName + " not found!", __FILE__, __LINE__); } Model_ThemeFile& getFileByNewName(std::string localFileName) { for (std::list::iterator fileIter = this->files.begin(); fileIter != this->files.end(); fileIter++) { if (fileIter->newLocalFileName == localFileName) { return *fileIter; } } throw ItemNotFoundException("themefile " + localFileName + " not found!", __FILE__, __LINE__); } void removeFile(Model_ThemeFile const& file) { for (std::list::iterator fileIter = this->files.begin(); fileIter != this->files.end(); fileIter++) { if (&*fileIter == &file) { this->files.erase(fileIter); return; } } throw ItemNotFoundException("themefile " + file.localFileName + " not found!", __FILE__, __LINE__); } void save(std::string const& baseDirectory) { std::string sourceThemeDir = baseDirectory + "/" + this->name; std::string destThemeDir = baseDirectory + "/" + this->name + ".__new"; mkdir(destThemeDir.c_str(), 0755); for (std::list::iterator fileIter = this->files.begin(); fileIter != this->files.end(); fileIter++) { if (this->zipFile != "" && !fileIter->contentLoaded) { fileIter->content = this->loadFileContentFromZip(fileIter->localFileName); fileIter->contentLoaded = true; } if (fileIter->externalSource != "") { fileIter->content = this->loadFileContentExternal(fileIter->externalSource); fileIter->contentLoaded = true; fileIter->externalSource = ""; } if (fileIter->contentLoaded) { this->writeFile(*fileIter, destThemeDir + "/" + fileIter->newLocalFileName); } else { std::string oldPath = sourceThemeDir + "/" + fileIter->localFileName; std::string newPath = destThemeDir + "/" + fileIter->newLocalFileName; this->renameFile(oldPath, newPath); } } if (this->zipFile == "") { rename(sourceThemeDir.c_str(), (baseDirectory + "/" + this->name + ".__old").c_str()); } rename(destThemeDir.c_str(), sourceThemeDir.c_str()); if (this->zipFile == "") { this->deleteDirectory(baseDirectory + "/" + this->name + ".__old"); // delete old theme directory recursively } } void renameFile(std::string const& oldName, std::string const& newName) { this->createFilePath(newName); int success = std::rename(oldName.c_str(), newName.c_str()); if (success != 0) { throw FileSaveException("rename failed: " + oldName + " -> " + newName, __FILE__, __LINE__); } } bool hasConflicts(std::string const& localFilename) { try { this->getFileByNewName(localFilename); return true; } catch (ItemNotFoundException const& e) { } for (std::list::iterator fileIter = this->files.begin(); fileIter != this->files.end(); fileIter++) { if (fileIter->newLocalFileName.substr(0, localFilename.length() + 1) == localFilename + "/") { return true; } if (localFilename.substr(0, fileIter->newLocalFileName.length() + 1) == fileIter->newLocalFileName + "/") { return true; } } return false; } void deleteThemeFiles(std::string const& baseDirectory) { this->deleteDirectory(baseDirectory + "/" + this->name); } private: void removeSubdir() { std::map toplevelFileCount; for (std::list::iterator themeFileIter = this->files.begin(); themeFileIter != this->files.end(); themeFileIter++) { int slashPos = themeFileIter->localFileName.find("/"); toplevelFileCount[themeFileIter->localFileName.substr(0, slashPos)]++; } if (toplevelFileCount.size() == 1) { // subdir found std::string subdir = toplevelFileCount.begin()->first; for (std::list::iterator themeFileIter = this->files.begin(); themeFileIter != this->files.end(); themeFileIter++) { themeFileIter->newLocalFileName = themeFileIter->localFileName.substr(subdir.length() + 1); } } } std::string extractLocalPath(std::string fullPath) { return fullPath.substr(this->directory.size() + 1); } std::string loadFileContentFromDirectory(std::string localFileName) { return this->loadFileContentExternal(this->directory + "/" + localFileName); } std::string loadFileContentFromZip(std::string localFileName) { struct archive *a; struct archive_entry *entry; int r; std::string result; a = archive_read_new(); archive_read_support_filter_all(a); archive_read_support_format_all(a); r = archive_read_open_filename(a, zipFile.c_str(), 10240); if (r != ARCHIVE_OK) { throw InvalidFileTypeException("archive not readable", __FILE__, __LINE__); } while (archive_read_next_header(a, &entry) == ARCHIVE_OK) { if (std::string(archive_entry_pathname(entry)) == localFileName) { ssize_t size = 0; do { char data[1024]; size = archive_read_data(a, data, 1024); result += std::string(data, size); } while (size > 0); } archive_read_data_skip(a); } r = archive_read_free(a); if (r != ARCHIVE_OK) { throw InvalidFileTypeException("archive not readable", __FILE__, __LINE__); } return result; } void writeFile(Model_ThemeFile& file, std::string const& path) { this->createFilePath(path); FILE* outFile = fopen(path.c_str(), "w"); if (outFile) { fwrite(file.content.c_str(), file.content.size(), 1, outFile); fclose(outFile); file.content = ""; file.contentLoaded = false; } else { throw FileSaveException("failed saving file to " + path, __FILE__, __LINE__); } } bool fileExists(std::string const& path) { FILE* file = fopen(path.c_str(), "r"); if (file) { fclose(file); return true; } else { return false; } } bool isDir(std::string const& path) { DIR* dir = opendir(path.c_str()); if (dir) { closedir(dir); return true; } else { return false; } } void createFilePath(std::string const& path) { std::string currentPart = ""; for (std::string::const_iterator pathIter = path.begin(); pathIter != path.end(); pathIter++) { if (*pathIter == '/') { mkdir(currentPart.c_str(), 0755); } currentPart += *pathIter; } } void deleteDirectory(std::string const& path) { assert(path != "" && path != "/"); DIR* dir = opendir(path.c_str()); if (dir) { struct dirent *entry; struct stat fileProperties; while ((entry = readdir(dir))) { if (std::string(entry->d_name) == "." || std::string(entry->d_name) == "..") { continue; } std::string currentFileName = path + "/" + entry->d_name; stat(currentFileName.c_str(), &fileProperties); if (S_ISDIR(fileProperties.st_mode)) { deleteDirectory(currentFileName.c_str()); } else { unlink(currentFileName.c_str()); } } closedir(dir); rmdir(path.c_str()); } else { throw FileReadException("cannot read directory: " + path, __FILE__, __LINE__); } } }; #endif /* MODEL_THEME_H_ */ grub-customizer-5.1.0/src/Model/Entry.hpp0000644000175000017500000001420013360360026017565 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CUSTOMIZER_ENTRY_INCLUDED #define GRUB_CUSTOMIZER_ENTRY_INCLUDED #include #include #include #include #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Helper.hpp" #include "../lib/ArrayStructure.hpp" #include "../lib/Type.hpp" class Model_Entry_Row { public: Model_Entry_Row(FILE* sourceFile) : eof(false), is_loaded(true) { this->eof = true; //will be set to false on the first loop run int c; while ((c = fgetc(sourceFile)) != EOF){ this->eof = false; if (c != '\n'){ this->text += char(c); } else { break; } } } public: Model_Entry_Row() : eof(false), is_loaded(true) {} public: std::string text; public: bool eof; public: bool is_loaded; public: operator bool() { return !eof && is_loaded; } }; class Model_Entry : public Trait_LoggerAware, public Entry { public: enum EntryType { MENUENTRY, SUBMENU, SCRIPT_ROOT, PLAINTEXT }; public: EntryType type; public: bool isValid, isModified; public: std::string name, extension, content; public: char quote; public: std::list> subEntries; public: Model_Entry() : isValid(false), isModified(false), quote('\''), type(MENUENTRY) {} public: Model_Entry(std::string name, std::string extension, std::string content = "", EntryType type = MENUENTRY) : name(name), extension(extension), content(content), isValid(true), type(type), isModified(false), quote('\'') {} public: Model_Entry(FILE* sourceFile, Model_Entry_Row firstRow = Model_Entry_Row(), std::shared_ptr logger = nullptr, std::string* plaintextBuffer = NULL) : isValid(false), type(MENUENTRY), quote('\''), isModified(false) { if (logger) { this->setLogger(logger); } Model_Entry_Row row; while ((row = firstRow) || (row = Model_Entry_Row(sourceFile))){ std::string rowText = Helper::ltrim(row.text); if (rowText.substr(0, 10) == "menuentry "){ this->readMenuEntry(sourceFile, row); break; } else if (rowText.substr(0, 8) == "submenu ") { this->readSubmenu(sourceFile, row); break; } else { if (plaintextBuffer) { *plaintextBuffer += row.text + "\r\n"; } } firstRow.eof = true; //disable firstRow to read the following config from file } } private: void readSubmenu(FILE* sourceFile, Model_Entry_Row firstRow) { std::string rowText = Helper::ltrim(firstRow.text); int endOfEntryName = rowText.find('"', 10); if (endOfEntryName == -1) endOfEntryName = rowText.find('\'', 10); std::string entryName = rowText.substr(9, endOfEntryName-9); *this = Model_Entry(entryName, "", "", SUBMENU); if (this->logger) { this->setLogger(this->logger); } Model_Entry_Row row; while ((row = Model_Entry_Row(sourceFile))) { std::string rowText = Helper::ltrim(row.text); if (rowText.substr(0, 10) == "menuentry " || rowText.substr(0, 8) == "submenu "){ this->subEntries.push_back(std::make_shared(sourceFile, row)); } else if (Helper::trim(rowText) == "}") { this->isValid = true; break; //read only one submenu } } } private: void readMenuEntry(FILE* sourceFile, Model_Entry_Row firstRow) { std::string rowText = Helper::ltrim(firstRow.text); char quote = '"'; int endOfEntryName = rowText.find('"', 12); if (endOfEntryName == -1) { endOfEntryName = rowText.find('\'', 12); quote = '\''; } std::string entryName = rowText.substr(11, endOfEntryName-11); std::string extension = rowText.substr(endOfEntryName+1, rowText.length()-(endOfEntryName+1)-1); *this = Model_Entry(entryName, extension); if (this->logger) { this->setLogger(this->logger); } this->quote = quote; // encapsulated menuentries must be ignored. This variable counts the encapsulation level. // We're starting inside of a menuentry! int depth = 1; Model_Entry_Row row; while ((row = Model_Entry_Row(sourceFile))){ std::string rowText = Helper::ltrim(row.text); if (Helper::trim(rowText) == "}" && --depth == 0) { this->isValid = true; break; //read only one menuentry } else { if (rowText.substr(0, 10) == "menuentry ") { depth++; } this->content += row.text+"\n"; } } } public: std::list>& getSubEntries() { return this->subEntries; } public: operator bool() const { return isValid; } public: operator ArrayStructure() const { ArrayStructure result; result["type"] = this->type; result["isValid"] = this->isValid; result["isModified"] = this->isModified; result["name"] = this->name; result["extension"] = this->extension; result["content"] = this->content; result["quote"] = this->quote; result["subEntries"].isArray = true; result["rulepointer"] = this; int i = 0; for (auto entry : this->subEntries) { result["subEntries"][i] = ArrayStructure(*entry); i++; } return result; } }; #endif grub-customizer-5.1.0/src/Model/DeviceDataListInterface.hpp0000644000175000017500000000370013360360026023135 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef DEVICEDATALIST_IFACE_H_ #define DEVICEDATALIST_IFACE_H_ #include #include #include class Model_DeviceDataListInterface : public std::map > { public: virtual inline ~Model_DeviceDataListInterface() {}; virtual void loadData(FILE* blkidOutput)=0; virtual void clear()=0; }; class Model_DeviceDataListInterface_Connection { protected: std::shared_ptr deviceDataList; public: void setDeviceDataList(std::shared_ptr deviceDataList) { this->deviceDataList = deviceDataList; } }; #endif grub-customizer-5.1.0/src/Model/Repository.hpp0000644000175000017500000001462313360360026020654 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CUSTOMIZER_REPOSITORY_INCLUDED #define GRUB_CUSTOMIZER_REPOSITORY_INCLUDED #include #include #include #include #include "../lib/Trait/LoggerAware.hpp" #include "../lib/ArrayStructure.hpp" #include "../lib/Helper.hpp" #include "ProxyScriptData.hpp" #include "PscriptnameTranslator.hpp" #include "Script.hpp" class Model_Repository : public std::list>, public Trait_LoggerAware { public: std::list> trash; public: void load(std::string const& directory, bool is_proxifiedScript_dir) { DIR* dir = opendir(directory.c_str()); if (dir){ struct dirent *entry; struct stat fileProperties; while ((entry = readdir(dir))) { stat((directory+"/"+entry->d_name).c_str(), &fileProperties); if ((fileProperties.st_mode & S_IFMT) != S_IFDIR){ //ignore directories bool scriptAdded = false; if (!is_proxifiedScript_dir && !Model_ProxyScriptData::is_proxyscript(directory+"/"+entry->d_name) && std::string(entry->d_name).length() >= 4 && entry->d_name[0] >= '0' && entry->d_name[0] <= '9' && entry->d_name[1] >= '0' && entry->d_name[1] <= '9' && entry->d_name[2] == '_'){ this->push_back(std::make_shared(std::string(entry->d_name).substr(3), directory+"/"+entry->d_name)); scriptAdded = true; } else if (is_proxifiedScript_dir) { this->push_back(std::make_shared(Model_PscriptnameTranslator::decode(entry->d_name), directory+"/"+entry->d_name)); scriptAdded = true; } if (scriptAdded && this->hasLogger()) { this->back()->setLogger(this->getLogger()); } } } closedir(dir); } } public: std::shared_ptr getScriptByFilename(std::string const& fileName, bool createScriptIfNotFound = false) { for (auto script : *this) { if (script->fileName == fileName) return script; } if (createScriptIfNotFound){ this->push_back(std::make_shared("noname", fileName)); auto newScript = this->back(); if (this->hasLogger()) { this->back()->setLogger(this->getLogger()); } return newScript; } return nullptr; } public: std::shared_ptr getScriptByName(std::string const& name) { for (auto script : *this) { if (script->name == name) { return script; } } return nullptr; } public: std::shared_ptr getScriptByEntry(std::shared_ptr entry) { for (auto script : *this) { if (script->hasEntry(entry)) { return script; } } return nullptr; } public: std::shared_ptr getScriptByEntry(std::shared_ptr entry) const { for (auto script : *this) { if (script->hasEntry(entry)) { return script; } } return nullptr; } public: std::shared_ptr getCustomScript() { for (auto script : *this) { if (script->isCustomScript) { return script; } } return nullptr; } public: std::shared_ptr getNthScript(int pos) { int i = 0; for (auto script : *this) { if (i == pos) { return script; } i++; } return nullptr; } public: void deleteAllEntries(bool preserveModifiedScripts = true) { for (auto script : *this) { if (preserveModifiedScripts && script->isModified()) { continue; } script->entries().clear(); } } public: std::shared_ptr createScript( std::string const& name, std::string const& fileName, std::string const& content ) { Helper::assert_filepath_empty(fileName, __FILE__, __LINE__); FILE* script = fopen(fileName.c_str(), "w"); if (script) { fputs(content.c_str(), script); fclose(script); this->push_back(std::make_shared(name, fileName)); return this->back(); } return nullptr; } public: void createScript(std::shared_ptr script, std::string const& content) { Helper::assert_filepath_empty(script->fileName, __FILE__, __LINE__); FILE* scriptFile = fopen(script->fileName.c_str(), "w"); if (scriptFile) { fputs(content.c_str(), scriptFile); fclose(scriptFile); } else { throw FileSaveException("cannot open file for saving: " + script->fileName, __FILE__, __LINE__); } } // create existing script (in scriptlist) on file system public: std::map> getScriptPathMap() { std::map> map; for (auto script : *this) { map[script->fileName] = script; } for (auto trashScript : this->trash){ map[trashScript->fileName] = trashScript; } return map; } public: void removeScript(std::shared_ptr script) { for (auto scriptIter = this->begin(); scriptIter != this->end(); scriptIter++) { if (*scriptIter == script) { this->trash.push_back(*scriptIter); this->erase(scriptIter); return; } } } public: void clearTrash() { for (auto script : this->trash) { script->deleteFile(); } this->trash.clear(); } public: operator ArrayStructure() const { ArrayStructure result; result["(items)"].isArray = true; int i = 0; for (auto script : *this) { result["(items)"][i] = ArrayStructure(*script); i++; } return result; } }; #endif grub-customizer-5.1.0/src/Model/EntryPathBuilder.hpp0000644000175000017500000000343213360360026021716 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef ENTRY_PATH_BUILDER_INCLUDED #define ENTRY_PATH_BUILDER_INCLUDED #include #include #include #include "../Model/Entry.hpp" class Model_EntryPathBilder { public: virtual inline ~Model_EntryPathBilder() {}; virtual std::list buildPath(std::shared_ptr entry) const =0; virtual std::string buildPathString(std::shared_ptr entry, bool withOtherEntriesPlaceholder = false) const =0; virtual std::string buildScriptPath(std::shared_ptr entry) const =0; }; #endif grub-customizer-5.1.0/src/Model/ListCfg.hpp0000644000175000017500000012736613360360026020041 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef GRUB_CUSTOMIZER_GrublistCfg_INCLUDED #define GRUB_CUSTOMIZER_GrublistCfg_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include "../config.hpp" #include "../lib/Mutex.hpp" #include "../lib/Trait/LoggerAware.hpp" #include "../lib/Exception.hpp" #include "../lib/ArrayStructure.hpp" #include "../lib/Helper.hpp" #include #include #include #include "Env.hpp" #include "MountTable.hpp" #include "Proxylist.hpp" #include "ProxyScriptData.hpp" #include "Repository.hpp" #include "ScriptSourceMap.hpp" #include "SettingsManagerData.hpp" class Model_ListCfg : public Trait_LoggerAware, public Mutex_Connection, public Model_Env_Connection { private: double progress; private: std::string progress_name; private: int progress_pos, progress_max; private: std::string errorLogFile; private: Model_ScriptSourceMap scriptSourceMap; public: Model_ListCfg() : error_proxy_not_found(false), progress(0), cancelThreadsRequested(false), verbose(true), errorLogFile(ERROR_LOG_FILE), ignoreLock(false), progress_pos(0), progress_max(0) {} public: void initLogger() override { this->proxies.setLogger(this->logger); this->repository.setLogger(this->logger); this->scriptSourceMap.setLogger(this->logger); } public: void initEnv() override { this->scriptSourceMap.setEnv(this->env); } public: Model_Proxylist proxies; public: Model_Repository repository; public: std::function onLoadStateChange; public: std::function onSaveStateChange; public: bool verbose; public: bool error_proxy_not_found; public: void lock() { if (this->ignoreLock) return; if (this->mutex == NULL) throw ConfigException("missing mutex", __FILE__, __LINE__); this->mutex->lock(); } public: bool lock_if_free() { if (this->ignoreLock) return true; if (this->mutex == NULL) throw ConfigException("missing mutex", __FILE__, __LINE__); return this->mutex->trylock(); } public: void unlock() { if (this->ignoreLock) return; if (this->mutex == NULL) throw ConfigException("missing mutex", __FILE__, __LINE__); this->mutex->unlock(); } public: bool ignoreLock; public: bool cancelThreadsRequested; public: bool createScriptForwarder(std::string const& scriptName) const { //replace: $cfg_dir/proxifiedScripts/ -> $cfg_dir/LS_ std::string scriptNameNoPath = scriptName.substr((this->env->cfg_dir+"/proxifiedScripts/").length()); std::string outputFilePath = this->env->cfg_dir+"/LS_"+scriptNameNoPath; FILE* existingScript = fopen(outputFilePath.c_str(), "r"); if (existingScript == NULL){ Helper::assert_filepath_empty(outputFilePath, __FILE__, __LINE__); FILE* fwdScript = fopen(outputFilePath.c_str(), "w"); if (fwdScript){ fputs("#!/bin/sh\n", fwdScript); fputs(("'"+scriptName.substr(env->cfg_dir_prefix.length())+"'").c_str(), fwdScript); fclose(fwdScript); chmod(outputFilePath.c_str(), 0755); return true; } else return false; } else { fclose(existingScript); return false; } } public: bool removeScriptForwarder(std::string const& scriptName) const { std::string scriptNameNoPath = scriptName.substr((this->env->cfg_dir+"/proxifiedScripts/").length()); std::string filePath = this->env->cfg_dir+"/LS_"+scriptNameNoPath; return unlink(filePath.c_str()) == 0; } public: std::string readScriptForwarder(std::string const& scriptForwarderFilePath) const { std::string result; FILE* scriptForwarderFile = fopen(scriptForwarderFilePath.c_str(), "r"); if (scriptForwarderFile){ int c; while ((c = fgetc(scriptForwarderFile)) != EOF && c != '\n'){} //skip first line if (c != EOF) while ((c = fgetc(scriptForwarderFile)) != EOF && c != '\n'){result += char(c);} //read second line (=path) fclose(scriptForwarderFile); } if (result.length() >= 3) { return result.substr(1, result.length()-2); } else { return ""; } } public: void load(bool preserveConfig = false) { if (!preserveConfig){ send_new_load_progress(0); DIR* hGrubCfgDir = opendir(this->env->cfg_dir.c_str()); if (!hGrubCfgDir){ throw DirectoryNotFoundException("grub cfg dir not found", __FILE__, __LINE__); } //load scripts this->log("loading scripts…", Logger::EVENT); this->lock(); repository.load(this->env->cfg_dir, false); repository.load(this->env->cfg_dir+"/proxifiedScripts", true); this->unlock(); send_new_load_progress(0.05); //load proxies this->log("loading proxies…", Logger::EVENT); this->lock(); struct dirent *entry; struct stat fileProperties; while ((entry = readdir(hGrubCfgDir))){ stat((this->env->cfg_dir+"/"+entry->d_name).c_str(), &fileProperties); if ((fileProperties.st_mode & S_IFMT) != S_IFDIR){ //ignore directories if (entry->d_name[2] == '_'){ //check whether it's an script (they should be named XX_scriptname)… this->proxies.push_back(std::make_shared()); this->proxies.back()->fileName = this->env->cfg_dir+"/"+entry->d_name; this->proxies.back()->index = (entry->d_name[0]-'0')*10 + (entry->d_name[1]-'0'); this->proxies.back()->permissions = fileProperties.st_mode & ~S_IFMT; FILE* proxyFile = fopen((this->env->cfg_dir+"/"+entry->d_name).c_str(), "r"); Model_ProxyScriptData data(proxyFile); fclose(proxyFile); if (data){ this->proxies.back()->dataSource = repository.getScriptByFilename(this->env->cfg_dir_prefix+data.scriptCmd); this->proxies.back()->importRuleString(data.ruleString.c_str(), this->env->cfg_dir_prefix); } else { this->proxies.back()->dataSource = repository.getScriptByFilename(this->env->cfg_dir+"/"+entry->d_name); this->proxies.back()->importRuleString("+*", this->env->cfg_dir_prefix); //it's no proxy, so accept all } } } } closedir(hGrubCfgDir); this->proxies.sort(); this->unlock(); //clean up proxy configuration this->log("cleaning up proxy configuration…", Logger::EVENT); this->lock(); bool proxyRemoved = false; do { for (auto proxy : this->proxies) { if (!proxy->isExecutable() || !proxy->hasVisibleRules()) { this->log(proxy->fileName + " has no visible entries and will be removed / disabled", Logger::INFO); this->proxies.deleteProxy(proxy); proxyRemoved = true; break; } } proxyRemoved = false; } while (proxyRemoved); this->unlock(); } else { this->lock(); proxies.unsync_all(); repository.deleteAllEntries(); this->unlock(); } //create proxifiedScript links & chmod other files this->log("creating proxifiedScript links & chmodding other files…", Logger::EVENT); this->lock(); for (auto script : this->repository) { if (script->isInScriptDir(env->cfg_dir)){ //createScriptForwarder & disable proxies createScriptForwarder(script->fileName); auto relatedProxies = proxies.getProxiesByScript(script); for (auto proxy : relatedProxies) { int res = chmod(proxy->fileName.c_str(), 0644); } } else { //enable scripts (unproxified), in this case, Proxy::fileName == Script::fileName chmod(script->fileName.c_str(), 0755); } } this->unlock(); send_new_load_progress(0.1); if (!preserveConfig){ //load script map this->scriptSourceMap.load(); if (!this->scriptSourceMap.fileExists() && this->getProxifiedScripts().size() > 0) { this->generateScriptSourceMap(); } this->populateScriptSourceMap(); } //run mkconfig this->log("running " + this->env->mkconfig_cmd, Logger::EVENT); FILE* mkconfigProc = popen((this->env->mkconfig_cmd + " 2> " + this->errorLogFile).c_str(), "r"); readGeneratedFile(mkconfigProc); int success = pclose(mkconfigProc); if (success != 0 && !cancelThreadsRequested){ throw CmdExecException("failed running " + this->env->mkconfig_cmd, __FILE__, __LINE__); } else { remove(errorLogFile.c_str()); //remove file, if everything was ok } this->log("mkconfig successful completed", Logger::INFO); this->send_new_load_progress(0.9); mkconfigProc = NULL; this->env->useDirectBackgroundProps = this->repository.getScriptByName("debian_theme") == NULL; if (this->env->useDirectBackgroundProps) { this->log("using simple background image settings", Logger::INFO); } else { this->log("using /usr/share/desktop-base/grub_background.sh to configure colors and the background image", Logger::INFO); } //restore old configuration this->log("restoring grub configuration", Logger::EVENT); this->lock(); for (auto script : this->repository){ if (script->isInScriptDir(env->cfg_dir)){ //removeScriptForwarder & reset proxy permissions bool result = removeScriptForwarder(script->fileName); if (!result) { this->log("removing of script forwarder not successful!", Logger::ERROR); } } auto relatedProxies = proxies.getProxiesByScript(script); for (auto proxy : relatedProxies){ chmod(proxy->fileName.c_str(), proxy->permissions); } } this->unlock(); //remove invalid proxies from list (no file system action here) this->log("removing invalid proxies from list", Logger::EVENT); std::string invalidProxies = ""; bool foundInvalidScript = false; do { foundInvalidScript = false; for (auto proxy : this->proxies) { if (proxy->dataSource == nullptr) { this->proxies.trash.push_back(proxy); // mark for deletion this->proxies.erase(this->proxies.getIter(proxy)); foundInvalidScript = true; invalidProxies += proxy->fileName + ","; break; } } } while (foundInvalidScript); if (invalidProxies != "") { this->log("found invalid proxies: " + Helper::rtrim(invalidProxies, ","), Logger::INFO); } //fix conflicts (same number, same name but one script with "-proxy" the other without if (this->proxies.hasConflicts()) { this->log("found conflicts - renumerating", Logger::INFO); this->renumerate(); } this->log("loading completed", Logger::EVENT); send_new_load_progress(1); } public: void save() { send_new_save_progress(0); std::map samename_counter; proxies.deleteAllProxyscriptFiles(); //delete all proxies to get a clean file system proxies.clearTrash(); //delete all files of removed proxies repository.clearTrash(); std::map, std::string> scriptFilenameMap; // stores original filenames for (auto script : this->repository) { scriptFilenameMap[script] = script->fileName; } // create virtual custom scripts on file system for (auto script : this->repository) { if (script->isCustomScript && script->fileName == "") { script->fileName = this->env->cfg_dir + "/IN_" + script->name; this->repository.createScript(script, ""); } } for (auto script : repository) { script->moveToBasedir(this->env->cfg_dir); } send_new_save_progress(0.1); int mkdir_result = mkdir((this->env->cfg_dir+"/proxifiedScripts").c_str(), 0755); //create this directory if it doesn't already exist // get new script locations std::map, std::string> scriptTargetMap; // scripts and their target directories for (auto script : repository) { auto relatedProxies = proxies.getProxiesByScript(script); if (proxies.proxyRequired(script)){ scriptTargetMap[script] = this->env->cfg_dir+"/proxifiedScripts/"+Model_PscriptnameTranslator::encode(script->name, samename_counter[script->name]++); } else { std::ostringstream nameStream; nameStream << std::setw(2) << std::setfill('0') << relatedProxies.front()->index << "_" << script->name; scriptTargetMap[script] = this->env->cfg_dir+"/"+nameStream.str(); } } // move scripts and create proxies int proxyCount = 0; for (auto script : repository) { auto relatedProxies = proxies.getProxiesByScript(script); if (proxies.proxyRequired(script)){ script->moveFile(scriptTargetMap[script], 0755); for (auto proxy : relatedProxies) { auto entrySourceMap = this->getEntrySources(proxy); std::ostringstream nameStream; nameStream << std::setw(2) << std::setfill('0') << proxy->index << "_" << script->name << "_proxy"; proxy->generateFile( this->env->cfg_dir + "/" + nameStream.str(), this->env->cfg_dir_prefix.length(), this->env->cfg_dir_noprefix, entrySourceMap, scriptTargetMap ); proxyCount++; } } else { if (relatedProxies.size() == 1){ script->moveFile(scriptTargetMap[script], relatedProxies.front()->permissions); relatedProxies.front()->fileName = script->fileName; // update filename } else { this->log("GrublistCfg::save: cannot move proxy… only one expected!", Logger::ERROR); } } } send_new_save_progress(0.2); // register in script source map for (auto scriptFilenameMapItem : scriptFilenameMap) { this->scriptSourceMap.registerMove(scriptFilenameMapItem.second, scriptFilenameMapItem.first->fileName); } this->scriptSourceMap.save(); //remove "proxifiedScripts" dir, if empty { int proxifiedScriptCount = 0; struct dirent *entry; struct stat fileProperties; DIR* hScriptDir = opendir((this->env->cfg_dir+"/proxifiedScripts").c_str()); while ((entry = readdir(hScriptDir))) { if (std::string(entry->d_name) != "." && std::string(entry->d_name) != ".."){ proxifiedScriptCount++; } } closedir(hScriptDir); if (proxifiedScriptCount == 0) rmdir((this->env->cfg_dir+"/proxifiedScripts").c_str()); } //add or remove proxy binary FILE* proxyBin = fopen((this->env->cfg_dir+"/bin/grubcfg_proxy").c_str(), "r"); bool proxybin_exists = proxyBin != NULL; if (proxyBin) { fclose(proxyBin); } std::string dummyproxy_code = "#!/bin/sh\ncat\n"; /** * copy the grub customizer proxy, if required */ if (proxyCount != 0){ // create the bin subdirectory - may already exist int bin_mk_success = mkdir((this->env->cfg_dir+"/bin").c_str(), 0755); FILE* proxyBinSource = fopen((std::string(LIBDIR)+"/grubcfg-proxy").c_str(), "r"); if (proxyBinSource){ FILE* proxyBinTarget = fopen((this->env->cfg_dir+"/bin/grubcfg_proxy").c_str(), "w"); if (proxyBinTarget){ int c; while ((c = fgetc(proxyBinSource)) != EOF){ fputc(c, proxyBinTarget); } fclose(proxyBinTarget); chmod((this->env->cfg_dir+"/bin/grubcfg_proxy").c_str(), 0755); } else { this->log("could not open proxy output file!", Logger::ERROR); } fclose(proxyBinSource); } else { this->log("proxy could not be copied, generating dummy!", Logger::ERROR); FILE* proxyBinTarget = fopen((this->env->cfg_dir+"/bin/grubcfg_proxy").c_str(), "w"); if (proxyBinTarget){ fputs(dummyproxy_code.c_str(), proxyBinTarget); error_proxy_not_found = true; fclose(proxyBinTarget); chmod((this->env->cfg_dir+"/bin/grubcfg_proxy").c_str(), 0755); } else { this->log("coundn't create proxy!", Logger::ERROR); } } } else if (proxyCount == 0 && proxybin_exists){ //the following commands are only cleanup… no problem, when they fail unlink((this->env->cfg_dir+"/bin/grubcfg_proxy").c_str()); rmdir((this->env->cfg_dir+"/bin").c_str()); } //update modified "custom" scripts for (auto script : this->repository) { if (script->isCustomScript && script->isModified()) { this->log("modifying script \"" + script->name + "\"", Logger::INFO); assert(script->fileName != ""); auto dummyProxy = std::make_shared(script); std::ofstream scriptStream(script->fileName.c_str()); scriptStream << CUSTOM_SCRIPT_SHEBANG << "\n" << CUSTOM_SCRIPT_PREFIX << "\n"; for (auto rule : dummyProxy->rules) { rule->print(scriptStream); if (rule->dataSource) { rule->dataSource->isModified = false; } } } } int saveProcSuccess = 0; std::string saveProcOutput; //run update-grub FILE* saveProc = popen((env->update_cmd + " 2>&1").c_str(), "r"); if (saveProc) { int c; std::string row = ""; while ((c = fgetc(saveProc)) != EOF) { saveProcOutput += char(c); if (c == '\n') { send_new_save_progress(0.5); //a gui should use pulse() instead of set_fraction this->log(row, Logger::INFO); row = ""; } else { row += char(c); } } saveProcSuccess = pclose(saveProc); } // correct pathes of foreign rules (to make sure re-syncing works) auto foreignRules = this->proxies.getForeignRules(); for (auto foreignRule : foreignRules) { auto entry = foreignRule->dataSource; assert(entry != nullptr); auto script = this->repository.getScriptByEntry(entry); assert(script != nullptr); foreignRule->__sourceScriptPath = script->fileName; } send_new_save_progress(1); if ((saveProcSuccess != 0 || saveProcOutput.find("Syntax errors are detected in generated GRUB config file") != -1)){ throw CmdExecException("failed running '" + env->update_cmd + "' output:\n" + saveProcOutput, __FILE__, __LINE__); } } public: void readGeneratedFile(FILE* source, bool createScriptIfNotFound = false, bool createProxyIfNotFound = false) { Model_Entry_Row row; std::shared_ptr script = nullptr; int i = 0; bool inScript = false; std::string plaintextBuffer = ""; int innerCount = 0; double progressbarScriptSpace = 0.7 / this->repository.size(); while (!cancelThreadsRequested && (row = Model_Entry_Row(source))){ std::string rowText = Helper::ltrim(row.text); if (!inScript && rowText.substr(0,10) == ("### BEGIN ") && rowText.substr(rowText.length()-4,4) == " ###"){ this->lock(); if (script) { if (plaintextBuffer != "" && !script->isModified()) { auto newEntry = std::make_shared("#text", "", plaintextBuffer, Model_Entry::PLAINTEXT); if (this->hasLogger()) { newEntry->setLogger(this->getLogger()); } script->entries().push_front(newEntry); } this->proxies.sync_all(true, true, script); } plaintextBuffer = ""; std::string scriptName = rowText.substr(10, rowText.length()-14); std::string prefix = this->env->cfg_dir_prefix; std::string realScriptName = prefix+scriptName; if (realScriptName.substr(0, (this->env->cfg_dir+"/LS_").length()) == this->env->cfg_dir+"/LS_"){ realScriptName = prefix+readScriptForwarder(realScriptName); } script = repository.getScriptByFilename(realScriptName, createScriptIfNotFound); if (createScriptIfNotFound && createProxyIfNotFound){ //for the compare-configuration this->proxies.push_back(std::make_shared(script)); } this->unlock(); if (script){ this->send_new_load_progress(0.1 + (progressbarScriptSpace * ++i + (progressbarScriptSpace/10*innerCount)), script->name, i, this->repository.size()); } inScript = true; } else if (inScript && rowText.substr(0,8) == ("### END ") && rowText.substr(rowText.length()-4,4) == " ###") { inScript = false; innerCount = 0; } else if (script != nullptr && rowText.substr(0, 10) == "menuentry ") { this->lock(); if (innerCount < 10) { innerCount++; } auto newEntry = std::make_shared(source, row, this->getLogger()); if (!script->isModified()) { script->entries().push_back(newEntry); } this->proxies.sync_all(false, false, script); this->unlock(); this->send_new_load_progress(0.1 + (progressbarScriptSpace * i + (progressbarScriptSpace/10*innerCount)), script->name, i, this->repository.size()); } else if (script != NULL && rowText.substr(0, 8) == "submenu ") { this->lock(); auto newEntry = std::make_shared(source, row, this->getLogger()); script->entries().push_back(newEntry); this->proxies.sync_all(false, false, script); this->unlock(); this->send_new_load_progress(0.1 + (progressbarScriptSpace * i + (progressbarScriptSpace/10*innerCount)), script->name, i, this->repository.size()); } else if (inScript) { //Plaintext plaintextBuffer += row.text + "\n"; } } this->lock(); if (script) { if (plaintextBuffer != "" && !script->isModified()) { auto newEntry = std::make_shared("#text", "", plaintextBuffer, Model_Entry::PLAINTEXT); if (this->hasLogger()) { newEntry->setLogger(this->getLogger()); } script->entries().push_front(newEntry); } this->proxies.sync_all(true, true, script); } // sync all (including foreign entries) this->proxies.sync_all(true, true, nullptr, this->repository.getScriptPathMap()); this->unlock(); } public: std::map, std::shared_ptr> getEntrySources( std::shared_ptr proxy, std::shared_ptr parent = nullptr ) { auto& list = parent ? parent->subRules : proxy->rules; std::map, std::shared_ptr> result; assert(proxy->dataSource != nullptr); for (auto rule : list) { if (rule->dataSource && !proxy->ruleIsFromOwnScript(rule)) { auto script = this->repository.getScriptByEntry(rule->dataSource); if (script != nullptr) { result[rule->dataSource] = script; } else { this->log("error finding the associated script! (" + rule->outputName + ")", Logger::WARNING); } } else if (rule->type == Model_Rule::SUBMENU) { auto subResult = this->getEntrySources(proxy, rule); if (subResult.size()) { result.insert(subResult.begin(), subResult.end()); } } } return result; } public: bool loadStaticCfg() { FILE* oldConfigFile = fopen(env->output_config_file.c_str(), "r"); if (oldConfigFile){ this->readGeneratedFile(oldConfigFile, true, true); fclose(oldConfigFile); return true; } return false; } public: void send_new_load_progress(double newProgress, std::string scriptName = "", int current = 0, int max = 0) { if (this->onLoadStateChange){ this->progress = newProgress; this->progress_name = scriptName; this->progress_pos = current; this->progress_max = max; this->onLoadStateChange(); } else if (this->verbose) { this->log("cannot show updated load progress - no event handler assigned!", Logger::ERROR); } } public: void send_new_save_progress(double newProgress) { if (this->onSaveStateChange){ this->progress = newProgress; this->onSaveStateChange(); } else if (this->verbose) { this->log("cannot show updated save progress - no event handler assigned!", Logger::ERROR); } } public: void cancelThreads() { cancelThreadsRequested = true; } public: void reset() { this->lock(); this->repository.clear(); this->repository.trash.clear(); this->proxies.clear(); this->proxies.trash.clear(); this->unlock(); } public: double getProgress() const { return progress; } public: std::string getProgress_name() const { return progress_name; } public: int getProgress_pos() const { return progress_pos; } public: int getProgress_max() const { return progress_max; } public: void renumerate(bool favorDefaultOrder = true) { short int i = 0; for (auto proxy : this->proxies) { bool isDefaultNumber = false; if (favorDefaultOrder && proxy->dataSource) { std::string sourceFileName = this->scriptSourceMap.getSourceName(proxy->dataSource->fileName); try { int prefixNum = Model_Script::extractIndexFromPath(sourceFileName, this->env->cfg_dir); if (prefixNum >= i) { i = prefixNum; isDefaultNumber = true; } } catch (InvalidStringFormatException const& e) { this->log(e, Logger::ERROR); } } bool retry = false; do { retry = false; proxy->index = i; if (!isDefaultNumber && proxy->dataSource) { // make sure that scripts never get a filePath that matches a script source (unless it's the source script) std::ostringstream fullFileName; fullFileName << this->env->cfg_dir << "/" << std::setw(2) << std::setfill('0') << i << "_" << proxy->dataSource->name; if (this->scriptSourceMap.has(fullFileName.str())) { i++; retry = true; } } } while (retry); i++; } this->proxies.sort(); if (favorDefaultOrder && i > 100) { // if positions are out of range... this->renumerate(false); // retry without favorDefaultOrder } } public: std::shared_ptr createSubmenu(std::shared_ptr position) { return this->proxies.getProxyByRule(position)->createSubmenu(position); } public: std::shared_ptr splitSubmenu(std::shared_ptr child) { return this->proxies.getProxyByRule(child)->splitSubmenu(child); } public: bool cfgDirIsClean() { DIR* hGrubCfgDir = opendir(this->env->cfg_dir.c_str()); if (hGrubCfgDir){ struct dirent *entry; struct stat fileProperties; while ((entry = readdir(hGrubCfgDir))){ std::string fname = entry->d_name; if ((fname.length() >= 4 && fname.substr(0,3) == "LS_") || fname.substr(0,3) == "PS_" || fname.substr(0,3) == "DS_") return false; } closedir(hGrubCfgDir); } return true; } public: void cleanupCfgDir() { this->log("cleaning up cfg dir!", Logger::IMPORTANT_EVENT); DIR* hGrubCfgDir = opendir(this->env->cfg_dir.c_str()); if (hGrubCfgDir){ struct dirent *entry; struct stat fileProperties; std::list lsfiles, dsfiles, psfiles; std::list proxyscripts; while ((entry = readdir(hGrubCfgDir))){ std::string fname = entry->d_name; if (fname.length() >= 4){ if (fname.substr(0,3) == "LS_") lsfiles.push_back(fname); else if (fname.substr(0,3) == "DS_") dsfiles.push_back(fname); else if (fname.substr(0,3) == "PS_") psfiles.push_back(fname); else if (fname[0] >= '1' && fname[0] <= '9' && fname[1] >= '0' && fname[1] <= '9' && fname[2] == '_') proxyscripts.push_back(fname); } } closedir(hGrubCfgDir); for (std::list::iterator iter = lsfiles.begin(); iter != lsfiles.end(); iter++){ this->log("deleting " + *iter, Logger::EVENT); unlink((this->env->cfg_dir+"/"+(*iter)).c_str()); } //proxyscripts will be disabled before loading the config. While the provious mode will only be saved on the objects, every script should be made executable for (std::list::iterator iter = proxyscripts.begin(); iter != proxyscripts.end(); iter++){ this->log("re-activating " + *iter, Logger::EVENT); chmod((this->env->cfg_dir+"/"+(*iter)).c_str(), 0755); } //remove the DS_ prefix (DS_10_foo -> 10_foo) for (std::list::iterator iter = dsfiles.begin(); iter != dsfiles.end(); iter++) { this->log("renaming " + *iter, Logger::EVENT); std::string newPath = this->env->cfg_dir+"/"+iter->substr(3); Helper::assert_filepath_empty(newPath, __FILE__, __LINE__); rename((this->env->cfg_dir+"/"+(*iter)).c_str(), newPath.c_str()); } //remove the PS_ prefix and add index prefix (PS_foo -> 10_foo) int i = 20; //prefix for (std::list::iterator iter = psfiles.begin(); iter != psfiles.end(); iter++) { this->log("renaming " + *iter, Logger::EVENT); std::string out = *iter; out.replace(0, 2, (std::string("") + char('0' + (i/10)%10) + char('0' + i%10))); std::string newPath = this->env->cfg_dir+"/"+out; Helper::assert_filepath_empty(newPath, __FILE__, __LINE__); rename((this->env->cfg_dir+"/"+(*iter)).c_str(), newPath.c_str()); i++; } } } public: bool compare(Model_ListCfg const& other) const { std::array>, 2> rlist; for (int i = 0; i < 2; i++){ const Model_ListCfg* gc = i == 0 ? this : &other; for (auto proxy : gc->proxies) { assert(proxy->dataSource != nullptr); if (proxy->isExecutable() && proxy->dataSource){ if (proxy->dataSource->fileName == "") { // if the associated file isn't found return false; } std::string fname = proxy->dataSource->fileName.substr(other.env->cfg_dir.length()+1); if (i == 0 || (fname[0] >= '1' && fname[0] <= '9' && fname[1] >= '0' && fname[1] <= '9' && fname[2] == '_')) { auto comparableRules = this->getComparableRules(proxy->rules); rlist[i].splice(rlist[i].end(), comparableRules); } } } } return Model_ListCfg::compareLists(rlist[0], rlist[1]); } public: static std::list> getComparableRules(std::list> const& list) { std::list> result; for (auto rule : list) { if (((rule->type == Model_Rule::NORMAL && rule->dataSource) || (rule->type == Model_Rule::SUBMENU && rule->hasRealSubrules())) && rule->isVisible){ result.push_back(rule); } } return result; } public: static bool compareLists(std::list> a, std::list> b) { if (a.size() != b.size()) { return false; } auto self_iter = a.begin(), other_iter = b.begin(); while (self_iter != a.end() && other_iter != b.end()){ if ((*self_iter)->type != (*other_iter)->type) { return false; } assert((*self_iter)->type == (*other_iter)->type); //check this Rule if ((*self_iter)->outputName != (*other_iter)->outputName) return false; if ((*self_iter)->dataSource) { if ((*self_iter)->dataSource->extension != (*other_iter)->dataSource->extension) return false; if ((*self_iter)->dataSource->content != (*other_iter)->dataSource->content) return false; if ((*self_iter)->dataSource->type != (*other_iter)->dataSource->type) return false; } //check rules inside the submenu if ((*self_iter)->type == Model_Rule::SUBMENU && !Model_ListCfg::compareLists(Model_ListCfg::getComparableRules((*self_iter)->subRules), Model_ListCfg::getComparableRules((*other_iter)->subRules))) { return false; } self_iter++; other_iter++; } return true; } public: void renameRule(std::shared_ptr rule, std::string const& newName) { rule->outputName = newName; } public: std::string getRulePath(std::shared_ptr rule) { auto proxy = this->proxies.getProxyByRule(rule); std::stack ruleNameStack; ruleNameStack.push(rule->outputName); auto currentRule = rule; while ((currentRule = proxy->getParentRule(currentRule))) { ruleNameStack.push(currentRule->outputName); } std::string output = ruleNameStack.top(); ruleNameStack.pop(); while (ruleNameStack.size()) { output += ">" + ruleNameStack.top(); ruleNameStack.pop(); } return output; } public: std::string getGrubErrorMessage() const { FILE* errorLogFile = fopen(this->errorLogFile.c_str(), "r"); std::string errorMessage; int c; while ((c = fgetc(errorLogFile)) != EOF) { errorMessage += char(c); } fclose(errorLogFile); return errorMessage; } public: void addColorHelper() { if (this->repository.getScriptByName("grub-customizer_menu_color_helper") == nullptr) { std::shared_ptr newScript = this->repository.createScript("grub-customizer_menu_color_helper", this->env->cfg_dir + "06_grub-customizer_menu_color_helper", "#!/bin/sh\n\ \n\ if [ \"x${GRUB_BACKGROUND}\" != \"x\" ] ; then\n\ if [ \"x${GRUB_COLOR_NORMAL}\" != \"x\" ] ; then\n\ echo \"set color_normal=${GRUB_COLOR_NORMAL}\"\n\ fi\n\ \n\ if [ \"x${GRUB_COLOR_HIGHLIGHT}\" != \"x\" ] ; then\n\ echo \"set color_highlight=${GRUB_COLOR_HIGHLIGHT}\"\n\ fi\n\ fi\n\ "); assert(newScript != nullptr); auto newProxy = std::make_shared(newScript); newProxy->index = 6; this->proxies.push_back(newProxy); } } public: std::list> getRemovedEntries( std::shared_ptr parent = nullptr, bool ignorePlaceholders = false ) { std::list> result; if (parent == nullptr) { for (auto script : this->repository) { auto subResult = this->getRemovedEntries(script->root, ignorePlaceholders); result.insert(result.end(), subResult.begin(), subResult.end()); } } else { if (parent->type == Model_Entry::SUBMENU || parent->type == Model_Entry::SCRIPT_ROOT) { for (auto entry : parent->subEntries) { auto subResult = this->getRemovedEntries(entry, ignorePlaceholders); std::shared_ptr currentSubmenu = nullptr; if (subResult.size()) { auto submenu = std::make_shared(Model_Rule::SUBMENU, std::list(), entry->name, true); submenu->subRules = subResult; submenu->dataSource = entry; result.push_back(submenu); currentSubmenu = result.back(); } if ((entry->type == Model_Entry::MENUENTRY || !ignorePlaceholders) && !this->proxies.getVisibleRuleForEntry(entry)) { Model_Rule::RuleType ruleType = Model_Rule::NORMAL; switch (entry->type) { case Model_Entry::MENUENTRY: ruleType = Model_Rule::NORMAL; break; case Model_Entry::PLAINTEXT: ruleType = Model_Rule::PLAINTEXT; break; case Model_Entry::SUBMENU: ruleType = Model_Rule::OTHER_ENTRIES_PLACEHOLDER; break; } auto newRule = std::make_shared(ruleType, std::list(), entry->name, true); newRule->dataSource = entry; if (currentSubmenu) { currentSubmenu->subRules.push_front(newRule); } else { result.push_back(newRule); } } } } } return result; } public: std::shared_ptr addEntry( std::shared_ptr entry, bool insertAsOtherEntriesPlaceholder = false ) { auto sourceScript = this->repository.getScriptByEntry(entry); assert(sourceScript != nullptr); std::shared_ptr targetProxy = nullptr; if (this->proxies.size() && this->proxies.back()->dataSource == sourceScript) { targetProxy = this->proxies.back(); targetProxy->set_isExecutable(true); } else { this->proxies.push_back(std::make_shared(sourceScript, false)); targetProxy = this->proxies.back(); this->renumerate(); } std::shared_ptr rule = nullptr; if (insertAsOtherEntriesPlaceholder) { rule = std::make_shared(Model_Rule::OTHER_ENTRIES_PLACEHOLDER, sourceScript->buildPath(entry), true); rule->dataSource = entry; } else { rule = std::make_shared( entry, true, sourceScript, std::list>(), sourceScript->buildPath(entry) ); } targetProxy->removeEquivalentRules(rule); targetProxy->rules.push_back(rule); return targetProxy->rules.back(); } public: void deleteEntry(std::shared_ptr entry) { for (auto proxy : this->proxies) { auto rule = proxy->getRuleByEntry(entry, proxy->rules, Model_Rule::NORMAL); if (rule) { proxy->removeRule(rule); } } this->repository.getScriptByEntry(entry)->deleteEntry(entry); } public: std::list getNormalizedRuleOrder(std::list rules) { if (rules.size() == 0 || rules.size() == 1) { return rules; } std::list result; auto firstRuleOfList = this->findRule(rules.front()); std::list>::iterator currentRule; auto parentRule = this->proxies.getProxyByRule(firstRuleOfList)->getParentRule(firstRuleOfList); if (parentRule) { currentRule = parentRule->subRules.begin(); } else { currentRule = this->proxies.front()->rules.begin(); } try { while (true) { for (auto rulePtr : rules) { if (currentRule->get() == rulePtr) { result.push_back(rulePtr); break; } } currentRule = this->proxies.getNextVisibleRule(currentRule, 1); } } catch (NoMoveTargetException const& e) { // loop finished } return result; } public: std::list> getProxifiedScripts() { std::list> result; for (auto script : this->repository) { if (this->proxies.proxyRequired(script)) { result.push_back(script); } } return result; } public: void generateScriptSourceMap() { std::map defaultScripts; // only for non-static scripts - so 40_custom is ignored defaultScripts["header"] = 0; defaultScripts["debian_theme"] = 5; defaultScripts["grub-customizer_menu_color_helper"] = 6; defaultScripts["linux"] = 10; defaultScripts["linux_xen"] = 20; defaultScripts["memtest86+"] = 20; defaultScripts["os-prober"] = 30; defaultScripts["custom"] = 41; std::string proxyfiedScriptPath = this->env->cfg_dir + "/proxifiedScripts"; for (auto script : this->repository) { std::string currentPath = script->fileName; std::string defaultPath; int pos = -1; if (script->isCustomScript) { defaultPath = this->env->cfg_dir + "/40_custom"; } else if (defaultScripts.find(script->name) != defaultScripts.end()) { pos = defaultScripts[script->name]; std::ostringstream str; str << this->env->cfg_dir << "/" << std::setw(2) << std::setfill('0') << pos << "_" << script->name; defaultPath = str.str(); } if (defaultPath != "" && defaultPath != currentPath) { this->scriptSourceMap[defaultPath] = currentPath; } } } public: void populateScriptSourceMap() { std::string proxyfiedScriptPath = this->env->cfg_dir + "/proxifiedScripts"; for (auto script : this->repository) { if (script->fileName.substr(0, proxyfiedScriptPath.length()) != proxyfiedScriptPath && this->scriptSourceMap.getSourceName(script->fileName) == "") { this->scriptSourceMap.addScript(script->fileName); } } } public: bool hasScriptUpdates() const { return this->scriptSourceMap.getUpdates().size() > 0; } public: void applyScriptUpdates() { std::list newScriptPathes = this->scriptSourceMap.getUpdates(); for (auto newScriptPath : newScriptPathes) { std::string oldScriptPath = this->scriptSourceMap[newScriptPath]; auto oldScript = this->repository.getScriptByFilename(oldScriptPath); auto newScript = this->repository.getScriptByFilename(newScriptPath); if (!oldScript || !newScript) { this->log("applyScriptUpdates failed for " + oldScriptPath + " (" + newScriptPath + ")", Logger::ERROR); continue; } // unsync proxies of newScript auto newProxies = this->proxies.getProxiesByScript(newScript); for (auto newProxy : newProxies) { newProxy->unsync(); this->proxies.deleteProxy(newProxy); } // copy entries of custom scripts if (oldScript->isCustomScript && newScript->isCustomScript && oldScript->entries().size()) { for (auto entry : oldScript->entries()) { if (entry->type == Model_Entry::PLAINTEXT && newScript->getPlaintextEntry()) { newScript->getPlaintextEntry()->content = entry->content; // copy plaintext instead of adding another entry newScript->getPlaintextEntry()->isModified = true; } else { newScript->entries().push_back(entry); newScript->entries().back()->isModified = true; } } } // connect proxies of oldScript with newScript, resync auto oldProxies = this->proxies.getProxiesByScript(oldScript); for (auto oldProxy : oldProxies) { // connect old proxy to new script oldProxy->unsync(); oldProxy->dataSource = newScript; if (oldProxy->fileName == oldScript->fileName) { oldProxy->fileName = newScript->fileName; // set the new fileName } } auto foreignRules = this->proxies.getForeignRules(); for (auto rule : foreignRules) { if (this->repository.getScriptByEntry(rule->dataSource) == oldScript) { rule->__sourceScriptPath = newScript->fileName; } } this->repository.removeScript(oldScript); } this->scriptSourceMap.deleteUpdates(); this->proxies.unsync_all(); this->proxies.sync_all(true, true, nullptr, this->repository.getScriptPathMap()); } public: void revert() { int remaining = this->proxies.size(); while (remaining) { this->proxies.deleteProxy(this->proxies.front()); assert(this->proxies.size() < remaining); // make sure that the proxy has really been deleted to prevent an endless loop remaining = this->proxies.size(); } std::list usedIndices; int i = 50; // unknown scripts starting at position 50 for (auto script : this->repository) { auto newProxy = std::make_shared(script); std::string sourceFileName = this->scriptSourceMap.getSourceName(script->fileName); try { newProxy->index = Model_Script::extractIndexFromPath(sourceFileName, this->env->cfg_dir); } catch (InvalidStringFormatException const& e) { newProxy->index = i++; this->log(e, Logger::ERROR); } // avoid duplicates std::ostringstream uniqueIndex; uniqueIndex << newProxy->index << script->name; if (std::find(usedIndices.begin(), usedIndices.end(), uniqueIndex.str()) != usedIndices.end()) { newProxy->index = i++; } usedIndices.push_back(uniqueIndex.str()); this->proxies.push_back(newProxy); } this->proxies.sort(); } public: std::shared_ptr findRule(Rule const* rulePtr) { auto allProxies = this->proxies; allProxies.insert(allProxies.end(), this->proxies.trash.begin(), this->proxies.trash.end()); for (auto proxy : allProxies) { auto result = this->findRule(rulePtr, proxy->rules); if (result != nullptr) { return result; } } throw ItemNotFoundException("rule not found", __FILE__, __LINE__); } private: std::shared_ptr findRule(Rule const* rulePtr, std::list> list) { for (auto rule : list) { if (rule.get() == rulePtr) { return rule; } auto subResult = this->findRule(rulePtr, rule->subRules); if (subResult != nullptr) { return subResult; } } return nullptr; } public: operator ArrayStructure() const { ArrayStructure result; result["proxies"] = ArrayStructure(this->proxies); result["repository"] = ArrayStructure(this->repository); result["progress"] = this->progress; result["progress_name"] = this->progress_name; result["progress_pos"] = this->progress_pos; result["progress_max"] = this->progress_max; result["errorLogFile"] = this->errorLogFile; result["verbose"] = this->verbose; result["error_proxy_not_found"] = this->error_proxy_not_found; if (this->env) { result["env"] = ArrayStructure(*this->env); } else { result["env"] = ArrayStructureItem(NULL); } result["ignoreLock"] = this->ignoreLock; result["cancelThreadsRequested"] = this->cancelThreadsRequested; return result; } }; class Model_ListCfg_Connection { protected: std::shared_ptr grublistCfg; public: virtual ~Model_ListCfg_Connection(){} public: void setListCfg(std::shared_ptr grublistCfg) { this->grublistCfg = grublistCfg; this->initListCfgEvents(); } public: virtual void initListCfgEvents() { // override to initialize specific view events } }; #endif grub-customizer-5.1.0/src/Model/SettingsStore.hpp0000644000175000017500000001641513360360026021313 0ustar danieldaniel/* * Copyright (C) 2010-2011 Daniel Richter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * * Additional permission under GNU GPL version 3 section 7 * * If you modify this program, or any covered work, by linking or combining * it with the OpenSSL library (or a modified version of that library), * containing parts covered by the terms of the OpenSSL license, the licensors * of this program grant you additional permission to convey the resulting work. * Corresponding source for a non-source form of such a combination shall include * the source code for the parts of the OpenSSL library used as well as that of * the covered work. */ #ifndef SETTINGSSTORE_H_ #define SETTINGSSTORE_H_ #include #include #include struct Model_SettingsStore_Row { Model_SettingsStore_Row() : isActive(true), hasExportPrefix(false), isSetting(true) {} std::string name, value, comment, plaintext; bool hasExportPrefix, isActive, isSetting; void validate() { isActive = false; hasExportPrefix = false; isSetting = false; // trim name and value name = name.substr(name.find_first_not_of(' ') == -1 ? 0 : name.find_first_not_of(' ')); // ltrim name = name.substr(0, name.find_last_not_of(' ') + 1); // rtrim value = value.substr(value.find_first_not_of(' ') == -1 ? 0 : value.find_first_not_of(' ')); // ltrim value = value.substr(0, value.find_last_not_of(' ') + 1); // rtrim if (name != "" && value != "" && (name.length() < 2 || name.substr(0,2) != "# ")){ isSetting = true; if (name[0] != '#') isActive = true; else name = name.substr(1); if (name.length() > 7 && name.substr(0,7) == "export "){ hasExportPrefix = true; int pos = name.find_first_not_of(' ', 7); name = name.substr(pos != -1 ? pos : 7); // try to use trimmed value, but use pos 7 if there's an error } } else { name = ""; value = ""; } } std::string getOutput() { if (isSetting) { if (name != "") { return (isActive ? "" : "#")+std::string(hasExportPrefix ? "export " : "")+name+"=\""+value+"\""+(comment != "" ? " #"+comment : ""); } else { return "#UNNAMED_OPTION=\""+value+"\""; //unnamed options would destroy the grub confuguration } } else { return plaintext; } } }; class Model_SettingsStore { std::string filePath; protected: std::list settings; public: Model_SettingsStore(FILE* source = NULL) { if (source) { this->load(source); } } std::list::iterator begin(bool jumpOverPlaintext = true) { std::list::iterator iter = settings.begin(); if (!iter->isSetting && jumpOverPlaintext) iter_to_next_setting(iter); return iter; } std::list::iterator end() { return settings.end(); } void iter_to_next_setting(std::list::iterator& iter) { iter++; while (iter != settings.end()){ if (iter->isSetting) break; else iter++; } } std::string getValue(std::string const& name) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (name == iter->name) return iter->value; } return ""; } bool setValue(std::string const& name, std::string const& value) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (name == iter->name){ if (iter->value != value){ //only set when the new value is really new iter->value = value; } return true; } } settings.push_back(Model_SettingsStore_Row()); settings.back().name = name; settings.back().value = value; settings.back().validate(); return false; } std::string addNewItem() { Model_SettingsStore_Row newRow; newRow.name = ""; settings.push_back(newRow); return newRow.name; } void removeItem(std::string const& name) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (iter->name == name){ settings.erase(iter); break; //must break because the iterator is invalid now! } } } void renameItem(std::string const& old_name, std::string const& new_name) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (iter->name == old_name){ iter->name = new_name; break; //must break because the iterator is invalid now! } } } bool isActive(std::string const& name, bool checkValueToo = false) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (name == iter->name) return iter->isActive && (!checkValueToo || iter->value != "false"); } return false; } bool setIsActive(std::string const& name, bool value) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (name == iter->name){ if (iter->isActive != value){ iter->isActive = value; } return true; } } return false; } bool setIsExport(std::string const& name, bool isExport) { for (std::list::iterator iter = this->begin(); iter != this->end(); this->iter_to_next_setting(iter)){ if (name == iter->name){ if (iter->hasExportPrefix != isExport){ iter->hasExportPrefix = isExport; } return true; } } return false; } void load(FILE* source) { std::string row; int c; int step = 0; //0: name parsing, 1: value parsing bool inQuotes = false; char quoteChar; settings.push_back(Model_SettingsStore_Row()); while ((c = fgetc(source)) != EOF){ if (c == '\n'){ settings.back().validate(); settings.push_back(Model_SettingsStore_Row()); inQuotes = false; step = 0; } else { settings.back().plaintext += c; if (c == '"' && (!inQuotes || quoteChar == c)){ inQuotes = !inQuotes; quoteChar = '"'; } else if (c == '\'' && (!inQuotes || quoteChar == c)){ inQuotes = !inQuotes; quoteChar = '\''; } else { if (step == 0 && c == '=' && !inQuotes) step = 1; else if (step == 0) settings.back().name += c; else if (step == 1) settings.back().value += c; } } } if (settings.size() > 0) settings.back().validate(); } void save(FILE* target) { for (std::list::iterator iter = this->begin(false); iter != this->end(); iter++){ if (iter != this->begin(false)) { fputs("\n", target); } fputs((iter->getOutput()).c_str(), target); } } void clear() { this->settings.clear(); } }; #endif /* SETTINGSSTORE_H_ */ grub-customizer-5.1.0/README0000644000175000017500000000440413360360026015011 0ustar danieldanielIf you are not using Ubuntu (or one of its derivates) you cannot use the ppa to install Grub Customizer. To install it anyway, you have to download and compile the sources. All the following lines starting with $ are shell commands - open a terminal and execute them (but don't copy the $ ;-) )! Make sure your grub2 contains the grub-mkconfig script (included since version 1.97). # step one: Install these packages: * cmake * g++ OR gcc-c++ * libgtkmm-3.0-dev OR gtkmm30-devel [when using the gtk-2 version you need libgtkmm-2.4-dev OR gtkmm24-devel] * gettext * libssl-dev OR openssl-devel * libarchive-dev OR libarchive-devel (The package names may be different, depending on the distribution they are using on) # step two: download the sources: download the tar.gz-package here: https://launchpad.net/grub-customizer/+download …and extract its contents. # step three: compile the sources: Go into the source directory extracted from the tar.gz file, then run $ cmake . && make If you get a cmake version error, try to set the "cmake_minimum_required" value to your installed version - I only written down the lowest tested version, so older versions may be compatible too. # step four: install some (optional) runtime dependencies: * hwinfo # step five: install Grub Customizer $ sudo make install Then you can start Grub Customizer using the menu or by running `gksu grub-customizer` / `sudo grub-customizer` On some distributions, this may fail ("bootloader not found"), because some of the commands / directories doesn't exist on the expected names. Please make sure, these commands are accessible: grub-mkconfig grub-install and these pathes/files: /etc/grub.d /boot/grub /boot/grub/grub.cfg /etc/default/grub If not, there may be alternative commands/pathes, if Grub2 is installed. Please try to find them out and create a config file at /etc/grub-customizer/grub.cfg containing this content (the values of this example are valid on fedora 16 - change them, if they are different): MKCONFIG_CMD=grub2-mkconfig INSTALL_CMD=grub2-install MKFONT_CMD=grub2-mkfont CFG_DIR=/etc/grub.d OUTPUT_DIR=/boot/grub2 OUTPUT_FILE=/boot/grub2/grub.cfg SETTINGS_FILE=/etc/default/grub DEVICEMAP_FILE="/boot/grub2/device.map" MKDEVICEMAP_CMD="grub2-mkdevicemap --device-map=/dev/stdout"grub-customizer-5.1.0/misc/0000755000175000017500000000000013360360026015062 5ustar danieldanielgrub-customizer-5.1.0/misc/icons/0000755000175000017500000000000013360360026016175 5ustar danieldanielgrub-customizer-5.1.0/misc/icons/24x24.svg0000644000175000017500000006206413360360026017511 0ustar danieldaniel image/svg+xml grub-customizer-5.1.0/misc/icons/64x64.svg0000644000175000017500000026262213360360026017523 0ustar danieldaniel image/svg+xml grub-customizer-5.1.0/misc/icons/16x16.svg0000644000175000017500000010254513360360026017512 0ustar danieldaniel image/svg+xml grub-customizer-5.1.0/misc/icons/128x128.svg0000644000175000017500000024504713360360026017667 0ustar danieldaniel image/svg+xml grub-customizer-5.1.0/misc/icons/32x32.svg0000644000175000017500000015664613360360026017521 0ustar danieldaniel image/svg+xml grub-customizer-5.1.0/misc/icons/48x48.svg0000644000175000017500000023023313360360026017520 0ustar danieldaniel image/svg+xml grub-customizer-5.1.0/misc/manpage.gz0000644000175000017500000000070013360360026017031 0ustar danieldanielQNmanpage}Rj@+:%`i)R(!C ,-YowkԯRꔞľ73;tBaWA挥^BazZ%˛d9KB;(J-o3%-Pq HK<ñQz 3ݱei@hà:~',F4j':)ߤPzR% :v|g+3j?B *8,}&K,镡<5+zpN쑜5 ~mn%蝿vOiɡC5ɔ#=‰"D]o:Qh̿#?e[F&_^h r0Ӯח$b@8c6M#;f[F #˶p]CX -tgrub-customizer-5.1.0/misc/grub-customizer.desktop0000644000175000017500000000053413360360026021620 0ustar danieldaniel[Desktop Entry] Name=Grub Customizer Comment=Customize the bootloader (GRUB2 or BURG) Exec=grub-customizer Terminal=false X-MultipleArgs=false Type=Application StartupNotify=false Categories=System;Settings; Icon=grub-customizer X-Ubuntu-Gettext-Domain=grub-customizer X-KDE-SubstituteUID=true Keywords=GRUB;GRUB2;BURG;configuration;settings;menu; grub-customizer-5.1.0/misc/pkexec_policy.in0000644000175000017500000000142413360360026020251 0ustar danieldaniel Authentication is required to run Grub Customizer grub-customizer auth_admin auth_admin auth_admin ${CMAKE_INSTALL_PREFIX}/bin/grub-customizer true grub-customizer-5.1.0/COPYING0000644000175000017500000010573613360360026015176 0ustar danieldaniel GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . * In addition, as a special exception, the copyright holders give * permission to link the code of portions of this program with the * OpenSSL library under certain conditions as described in each * individual source file, and distribute linked combinations * including the two. * You must obey the GNU General Public License in all respects * for all of the code used other than OpenSSL. If you modify * file(s) with this exception, you may extend this exception to your * version of the file(s), but you are not obligated to do so. If you * do not wish to do so, delete this exception statement from your * version. If you delete this exception statement from all source * files in the program, then also delete it here.grub-customizer-5.1.0/config.hpp.in0000644000175000017500000000052613360360026016515 0ustar danieldaniel#define BINDIR "${BINARY_INSTALL_DIR}" #define LIBDIR "${LIB_INSTALL_DIR}" #define LOCALEDIR "${LOCALE_INSTALL_DIR}" #define PARTCHOOSER_MOUNTPOINT "${PARTCHOOSER_MOUNTPOINT_DIR}" #define ERROR_LOG_FILE "${ERROR_LOG_FILE}" #define CUSTOM_SCRIPT_SHEBANG "#!/bin/sh" #define CUSTOM_SCRIPT_PREFIX "exec tail -n +3 $0" #define GC_VERSION "5.1.0" grub-customizer-5.1.0/cmake_uninstall.cmake.in0000644000175000017500000000174013360360026020711 0ustar danieldanielif (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) string(REGEX REPLACE "\n" ";" files "${files}") foreach (file ${files}) message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") if (EXISTS "$ENV{DESTDIR}${file}") execute_process( COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" OUTPUT_VARIABLE rm_out RESULT_VARIABLE rm_retval ) if(NOT ${rm_retval} EQUAL 0) message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") endif (NOT ${rm_retval} EQUAL 0) else (EXISTS "$ENV{DESTDIR}${file}") message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") endif (EXISTS "$ENV{DESTDIR}${file}") endforeach(file) grub-customizer-5.1.0/CMakeLists.txt0000644000175000017500000001605413360360026016675 0ustar danieldanielproject(GrubCustomizer) cmake_minimum_required(VERSION 2.6.2) # may be lower ADD_DEFINITIONS(-std=c++11) set(CMAKE_POSITION_INDEPENDENT_CODE ON) find_package(PkgConfig) pkg_check_modules(GTKMM gtkmm-3.0) pkg_check_modules(GTHREAD gthread-2.0) pkg_check_modules(OPENSSL openssl) pkg_check_modules(LIBARCHIVE libarchive) if ( LIB_INSTALL_DIR ) else() set ( LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/grub-customizer ) endif() if ( BINARY_INSTALL_DIR ) else() set ( BINARY_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin ) endif() if ( LOCALE_INSTALL_DIR ) else() set ( LOCALE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/locale ) endif() if ( PARTCHOOSER_MOUNTPOINT_DIR ) else() set ( PARTCHOOSER_MOUNTPOINT_DIR /media/grub-customizer_recovery_root_mountpoint ) endif() if ( ERROR_LOG_FILE ) else() set ( ERROR_LOG_FILE /tmp/grub-customizer_mkconfig_output.log ) endif() link_directories( ${GTKMM_LIBRARY_DIRS} ${OPENSSL_LIBRARY_DIRS} ${LIBARCHIVE_LIBRARY_DIRS} ) include_directories( ${GTKMM_INCLUDE_DIRS} ) add_executable(grub-customizer src/main/client.cpp src/Bootstrap/GtkView.cpp src/Bootstrap/GtkApplication.cpp src/Bootstrap/FactoryImpl/GlibThread.cpp src/Bootstrap/FactoryImpl/GLibRegex.cpp ) add_executable(grubcfg-proxy src/main/proxy.cpp ) target_link_libraries(grub-customizer ${GTKMM_LIBRARIES} ${GTHREAD_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBARCHIVE_LIBRARIES}) target_link_libraries(grubcfg-proxy ${OPENSSL_LIBRARIES}) configure_file ("config.hpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/config.hpp") configure_file ("misc/pkexec_policy.in" "${CMAKE_CURRENT_BINARY_DIR}/net.launchpad.danielrichter2007.pkexec.grub-customizer.policy") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/net.launchpad.danielrichter2007.pkexec.grub-customizer.policy DESTINATION /usr/share/polkit-1/actions) install(TARGETS grubcfg-proxy DESTINATION ${LIB_INSTALL_DIR} ) install(TARGETS grub-customizer DESTINATION bin) install(FILES misc/manpage.gz DESTINATION share/man/man1 RENAME grub-customizer.1.gz) #install(FILES misc/copyright # DESTINATION share/doc/grub-customizer) install(FILES translation/translation-de.mo DESTINATION share/locale/de/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-bg.mo DESTINATION share/locale/bg/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-el.mo DESTINATION share/locale/el/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-gl.mo DESTINATION share/locale/gl/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-hr.mo DESTINATION share/locale/hr/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-pl.mo DESTINATION share/locale/pl/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-pt_BR.mo DESTINATION share/locale/pt_BR/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-ru.mo DESTINATION share/locale/ru/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-tr.mo DESTINATION share/locale/tr/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-uk.mo DESTINATION share/locale/uk/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-it.mo DESTINATION share/locale/it/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-es.mo DESTINATION share/locale/es/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-fr.mo DESTINATION share/locale/fr/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-zh_CN.mo DESTINATION share/locale/zh_CN/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-zh_TW.mo DESTINATION share/locale/zh_TW/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-cs.mo DESTINATION share/locale/cs/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-cy.mo DESTINATION share/locale/cy/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-hu.mo DESTINATION share/locale/hu/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-sk.mo DESTINATION share/locale/sk/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-ast.mo DESTINATION share/locale/ast/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-kk.mo DESTINATION share/locale/kk/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-nl.mo DESTINATION share/locale/nl/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-ca.mo DESTINATION share/locale/ca/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-ar.mo DESTINATION share/locale/ar/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-vi.mo DESTINATION share/locale/vi/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-fi.mo DESTINATION share/locale/fi/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-lt.mo DESTINATION share/locale/lt/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-bs.mo DESTINATION share/locale/bs/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-et.mo DESTINATION share/locale/et/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-eu.mo DESTINATION share/locale/eu/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-en_GB.mo DESTINATION share/locale/en_GB/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-ja.mo DESTINATION share/locale/ja/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-ko.mo DESTINATION share/locale/ko/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-pt.mo DESTINATION share/locale/pt/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES translation/translation-ta.mo DESTINATION share/locale/ta/LC_MESSAGES/ RENAME grub-customizer.mo) install(FILES misc/grub-customizer.desktop DESTINATION /usr/share/applications ) #install icons install(FILES misc/icons/16x16.svg DESTINATION /usr/share/icons/hicolor/16x16/apps RENAME grub-customizer.svg) install(FILES misc/icons/24x24.svg DESTINATION /usr/share/icons/hicolor/24x24/apps RENAME grub-customizer.svg) install(FILES misc/icons/32x32.svg DESTINATION /usr/share/icons/hicolor/32x32/apps RENAME grub-customizer.svg) install(FILES misc/icons/48x48.svg DESTINATION /usr/share/icons/hicolor/48x48/apps RENAME grub-customizer.svg) install(FILES misc/icons/64x64.svg DESTINATION /usr/share/icons/hicolor/64x64/apps RENAME grub-customizer.svg) install(FILES misc/icons/128x128.svg DESTINATION /usr/share/icons/hicolor/128x128/apps RENAME grub-customizer.svg) # uninstall target configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) grub-customizer-5.1.0/changelog0000644000175000017500000001445013360360026016005 0ustar danieldanielv 5.1.0 * version info (-v) * some internal changes * translation updates v 5.0.8 * fixed error of mounttable parser v 5.0.7 * artful hotfix (wayland) v 5.0.6 * preventing plaintext entries from being moved into submenu (when they are not visible) * fixed some errors on entry editor v 5.0.5 * fixed some errors on entry editor * fixed error on trash view when selecting rule behind submenu v 5.0.4 * fixed error on entry deletion v 5.0.3 * fixed error when removing theme file v 5.0.2 * fixed errors when using theme editor v 5.0.1 * fixed error on startup when default entry selected v 5.0.0 * improved default os selector * improved entry editor * added c++11 support * internal improvements and fixes v 4.0.6 * showing save errors * fixed background image flicker bug in trusty (image was reset to previous one when choosing inside of image selection window) v 4.0.5 * copyright fix: added OpenSSL exemption v 4.0.4 * improved grub-cfg parser - handling of encapsulated menuentries * conflict resolution on startup (renumerate when there's something like 10_linux and 10_linux_proxy) * fixed some errors of script update detector v 4.0.3 * translation updates * theme packages: correct import from subdirectories v 4.0.2 * fixed some scriptUpdate related problems v 4.0.1 * error when there's a visible menuentry below a hidden submenu - fixed v 4.0 * hiding placeholders * view options * improved trash view * GTKmm 3.0 * Theming * improved appearance settings * script replacement detection (no more duplicates when grub scripts are replaced by an update of grub) * backup creation on first run (allows simple restoring of the default config) * more help texts * fallback on systems without grub-mkdevicemap/device.map (better compatibility) v 3.0.2 * crash if blkid prints devices without UUID... fixed * translation updates v 3.0.1 * crash if blkid prints devices without UUID... fixed * compiler problem fixed (new GCCs) v 3.0 * entries can be moved free now * integrated settings dialog * new partition chooser * context menu * multi selection * trash instead of checkboxes * entry editor * graphical error handlung * reset functionality * warning when trying to remove script- or system entries * bugfixes v 2.5.6 * made install- and tempfilepathes editable by custom cmake directives v 2.5.5 * improved kde menu compatibility * translation updates * preserving quote char (os-prober relates on them…) * replaced update-grub by grub-mkconfig + output_file v 2.5.4 * added a missing include directive * translation updates v 2.5.3 * fixed problems when there are multiple entries having the same name/path v 2.5.2 * renumeration of 00_header and 05_debian_theme nomore starting from 10 but using these fix values if possible * translation updates v 2.5.1 * some changes to make the background image and colors working on fedora * minor improvements... v. 2.5 * using policykit instead of su-to-root (there's an patch for older distibutions) * custom submenus (users are able to add/remove submenus) * indentification of the source entries by its content (additional to name and position) * made live cd detection ubuntu 11.10 capable * moved menu entry to system section * fixed crash (when doing reload) * custom grub pathes (/etc/grub-customizer/grub.cfg and /etc/grub-customizer/burg.cfg) v. 2.4.1 * fixed: preview rendering crashes on startup v. 2.4 * preview rendering (settings dialog) v. 2.3.4 * fixed some problem of the numeric default entry selection v. 2.3.3 * copying of the proxy if it exists too (solves some update problems) v. 2.3.2 * fixed: crash if the saved config contains "LS_" files that doesn't exist in /etc/grub.d * whitespace from the last script wont be saved v. 2.3.1 * fixed crash issue (https://bugs.launchpad.net/grub-customizer/+bug/892261) v. 2.3 * improved error handling (showing grub-mkconfig errors) * plaintext support (script parts outsinde of menuentries won't be removed anymore) v. 2.2.2 * no printing of empty submenus * modification detection fixed v. 2.2.1 * bug 860820 (on launchpad) fixed v. 2.2.0 * full grub 1.99 compatibility v. 2.1.2 * menu colors fixed * multiple loads (results in a chash) prevented * empty setting names won't simply be saved anymore * settings dialog now better handles the case when entries doesn't exist * translation updates v. 2.1.1 * better conf corruption detection/fix functionality. * improved view of disabled script entries. * translation updates. v. 2.1 * based on MVP pattern. * no modal windows. * add/remove entry buttons in settings dialog. v. 2.0.8 * french and hungarian translation updated. v 2.0.7 * spanish and italian translation updated (now complete). v. 2.0.6 * lintian and compiler warnings removed. * manpage created. * using su-to-root instead of gksu in the menu entry. v. 2.0.5 * translations updated. v. 2.0.4 * chineese translation added, frensh and turkish translation updated. * fixed: timeout not settable when "show menu" not selected. * renamed "black" to "transparent" in background selection. v. 2.0.3 * fixed: crash when choosing an img which can not be displayed by gtk. * polish translation updated. v. 2.0.2 * translations (Greek and Ukrainian) updated. v. 2.0.1 * Bulgarian and Turkish translation updated. * some partition chooser bugfixes. v. 2.0 * settings manager included. v. 1.6.4 * translations updated. v. 1.6.3 * translations updated. v. 1.6.2 * greek translation updated. * translators added to the about dialog. v. 1.6.1 * fixed burg mode indentfier (has not been updated). * translations included. v. 1.6 * bug #661304 fixed (multiple scripts using the same basename will not be overwritten anymore). * (new entries) will be displayed on uncustomized scripts too (the old behaviour was to fuzzy). * the test, if a script requires a proxy, is now solved dynamically (the previous behaviour was: when it's modified, set proxy_required). * the live cd setup assistant is now (renamed to partition chooser) accessible after loading (by menubutton click) or if no bootloader found too. * the toolbar button for saving the configuration is now marked as is_important (will be displayed larger in most cases).