From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1Ru6l2-0004cK-1v for mharc-grub-devel@gnu.org; Sun, 05 Feb 2012 13:24:12 -0500 Received: from eggs.gnu.org ([140.186.70.92]:49523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ru6kv-0004bs-9H for grub-devel@gnu.org; Sun, 05 Feb 2012 13:24:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ru6kp-0004us-To for grub-devel@gnu.org; Sun, 05 Feb 2012 13:24:05 -0500 Received: from mail-we0-f169.google.com ([74.125.82.169]:60304) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ru6kp-0004tT-D1 for grub-devel@gnu.org; Sun, 05 Feb 2012 13:23:59 -0500 Received: by wera13 with SMTP id a13so4936804wer.0 for ; Sun, 05 Feb 2012 10:23:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; bh=K3SyKBi9/ww9RMpEtvXh5lmbh2bXfkubrd6i9qh9t18=; b=JrwAi0TozWHItc+lz0AovJl+MXsbfunKP4WJjJlszPyFrSun4SOfDvoA5FizZQCVJv KV5U8S8eFfPJOqAvHZIjStWWx8CIkiS1vKjpBNgVfqYW33viO9CaL/lz+4RSWwf9hjtm f+vQsqnYbCjTDiqlSWMnAGd9rbU5kW+QJURGo= Received: by 10.216.136.200 with SMTP id w50mr5952446wei.2.1328466238294; Sun, 05 Feb 2012 10:23:58 -0800 (PST) Received: from fedora.x201.phnet (65-63.203-62.cust.bluewin.ch. [62.203.63.65]) by mx.google.com with ESMTPS id dr5sm38680774wib.0.2012.02.05.10.23.53 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 05 Feb 2012 10:23:57 -0800 (PST) Message-ID: <4F2EC938.1090708@gmail.com> Date: Sun, 05 Feb 2012 19:23:52 +0100 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20120131 Thunderbird/10.0 MIME-Version: 1.0 To: mario.blaettermann@gmail.com, yurchor@ukr.net, The development of GRUB 2 Subject: Unclear gettextized strings Content-Type: multipart/mixed; boundary="------------020402060606090002090709" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 74.125.82.169 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Feb 2012 18:24:10 -0000 This is a multi-part message in MIME format. --------------020402060606090002090709 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello, all. First of all, I'd like to say great thanks to Mario Blättermann and Yuri Chornoivan who translated the recent gettext upload into German and Ukrainian respectively. Especially Yuri. Few hours after I uploaded tarball to translation project there was already a complete translation into Ukrainian. By examining these two translations and looking at errors in them, I've found a bunch of unclear strings in original. I've already fixed the most obvious ones directly. Here I attach the patch to change the remaining ones. Could someone well versed with words and/or native English speaker to check this. I'd like to make a new upload at translation project ASAP to avoid more translators getting into the traps. I've updated uk.po and it will be included in upload so it should be picked up by translation project. If someone wants it I can send it, not attached here due to size reasons. If someone (especially translators) find more unclear messages please report, in preference with a patch I'll update de.po if time permits. Tricky points: We use the word "key" several times to refer to the key that you press but the same word also means a key in catalog and both Yuri and Mario understood messages like "unknown key" in the second sense. I've rephrased those somehow, now it should be clear. APM engaged/disengaged seem to be difficult to understand. Anybody has a better idea? ACPI command contains options to put only some versions of ACPI into EBDA. Previously it was saying "Expose only v1 tables" in the sense of exposing symbols in ABI. Both translators interpreted it as "Show on the screen". zfsinfo gettext was pretty bad. I've changed it to use sentences instead of state words but zfsinfo may still have problems. -- Regards Vladimir 'φ-coder/phcoder' Serbinenko --------------020402060606090002090709 Content-Type: text/x-diff; name="gettextfix.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="gettextfix.diff" === modified file 'grub-core/commands/acpi.c' --- grub-core/commands/acpi.c 2011-12-26 11:58:08 +0000 +++ grub-core/commands/acpi.c 2012-02-05 13:32:04 +0000 @@ -41,8 +41,8 @@ 0, ARG_TYPE_STRING}, {"load-only", 'n', 0, N_("Load only tables specified by comma-separated list."), 0, ARG_TYPE_STRING}, - {"v1", '1', 0, N_("Expose v1 tables."), 0, ARG_TYPE_NONE}, - {"v2", '2', 0, N_("Expose v2 and v3 tables."), 0, ARG_TYPE_NONE}, + {"v1", '1', 0, N_("Export version 1 tables to the OS."), 0, ARG_TYPE_NONE}, + {"v2", '2', 0, N_("Export version 2 and version 3 tables to the OS."), 0, ARG_TYPE_NONE}, {"oemid", 'o', 0, N_("Set OEMID of RSDP, XSDT and RSDT."), 0, ARG_TYPE_STRING}, {"oemtable", 't', 0, N_("Set OEMTABLE ID of RSDP, XSDT and RSDT."), 0, ARG_TYPE_STRING}, @@ -771,7 +771,7 @@ { cmd = grub_register_extcmd ("acpi", grub_cmd_acpi, 0, N_("[-1|-2] [--exclude=TABLE1,TABLE2|" - "--load-only=table1,table2] FILE1" + "--load-only=TABLE1,TABLE2] FILE1" " [FILE2] [...]"), N_("Load host ACPI tables and tables " "specified by arguments."), === modified file 'grub-core/commands/cacheinfo.c' --- grub-core/commands/cacheinfo.c 2011-11-11 20:44:56 +0000 +++ grub-core/commands/cacheinfo.c 2012-02-05 13:42:26 +0000 @@ -31,14 +31,16 @@ unsigned long hits, misses; grub_disk_cache_get_performance (&hits, &misses); - grub_printf_ (N_("Disk cache: hits = %lu, misses = %lu "), hits, misses); if (hits + misses) { unsigned long ratio = hits * 10000 / (hits + misses); grub_printf ("(%lu.%lu%%)\n", ratio / 100, ratio % 100); + grub_printf_ (N_("Disk cache statistics: hits = %lu (%lu.%02lu%%)," + " misses = %lu\n"), ratio / 100, ratio % 100, + hits, misses); } else - grub_puts_ (N_("(N/A)")); + grub_printf ("%s\n", _("No disk cache statistics available\n")); return 0; } === modified file 'grub-core/commands/efi/loadbios.c' --- grub-core/commands/efi/loadbios.c 2011-11-11 20:44:56 +0000 +++ grub-core/commands/efi/loadbios.c 2012-02-05 12:17:09 +0000 @@ -206,7 +206,9 @@ GRUB_MOD_INIT(loadbios) { cmd_fakebios = grub_register_command ("fakebios", grub_cmd_fakebios, - 0, N_("Fake BIOS.")); + 0, N_("Create BIOS-like structures for" + " backward compatibility with" + " existing OS.")); cmd_loadbios = grub_register_command ("loadbios", grub_cmd_loadbios, N_("BIOS_DUMP [INT10_DUMP]"), === modified file 'grub-core/commands/hashsum.c' --- grub-core/commands/hashsum.c 2012-02-05 10:23:47 +0000 +++ grub-core/commands/hashsum.c 2012-02-05 15:30:11 +0000 @@ -30,7 +30,8 @@ static const struct grub_arg_option options[] = { {"hash", 'h', 0, N_("Specify hash to use."), N_("HASH"), ARG_TYPE_STRING}, - {"check", 'c', 0, N_("Check hash list file."), N_("FILE"), ARG_TYPE_STRING}, + {"check", 'c', 0, N_("Check hashes of files with hash list FILE."), + N_("FILE"), ARG_TYPE_STRING}, {"prefix", 'p', 0, N_("Base directory for hash list."), N_("DIR"), ARG_TYPE_STRING}, {"keep-going", 'k', 0, N_("Don't stop after first error."), 0, 0}, === modified file 'grub-core/commands/hdparm.c' --- grub-core/commands/hdparm.c 2011-12-13 13:57:46 +0000 +++ grub-core/commands/hdparm.c 2012-02-05 12:11:14 +0000 @@ -47,7 +47,7 @@ {"sleep", 'Y', 0, N_("Set drive to sleep mode."), 0, ARG_TYPE_NONE}, {"identify", 'i', 0, N_("Print drive identity and settings."), 0, ARG_TYPE_NONE}, - {"dumpid", 'I', 0, N_("Dump contents of ATA IDENTIFY sector."), + {"dumpid", 'I', 0, N_("Show raw contents of ATA IDENTIFY sector."), 0, ARG_TYPE_NONE}, {"smart", -1, 0, N_("Disable/enable SMART (0/1)."), 0, ARG_TYPE_INT}, {"quiet", 'q', 0, N_("Do not print messages."), 0, ARG_TYPE_NONE}, === modified file 'grub-core/commands/hexdump.c' --- grub-core/commands/hexdump.c 2011-04-11 21:01:51 +0000 +++ grub-core/commands/hexdump.c 2012-02-05 12:11:34 +0000 @@ -123,7 +123,7 @@ { cmd = grub_register_extcmd ("hexdump", grub_cmd_hexdump, 0, N_("[OPTIONS] FILE_OR_DEVICE"), - N_("Dump the contents of a file or memory."), + N_("Show raw contents of a file or memory."), options); } === modified file 'grub-core/commands/ieee1275/suspend.c' --- grub-core/commands/ieee1275/suspend.c 2011-11-11 20:44:56 +0000 +++ grub-core/commands/ieee1275/suspend.c 2012-02-05 13:53:06 +0000 @@ -42,7 +42,7 @@ GRUB_MOD_INIT(ieee1275_suspend) { cmd = grub_register_command ("suspend", grub_cmd_suspend, - 0, N_("Return to Open Firmware prompt.")); + 0, N_("Return to IEEE1275 prompt.")); } GRUB_MOD_FINI(ieee1275_suspend) === modified file 'grub-core/commands/iorw.c' --- grub-core/commands/iorw.c 2011-04-11 21:01:51 +0000 +++ grub-core/commands/iorw.c 2012-02-05 16:11:34 +0000 @@ -120,25 +120,28 @@ { cmd_read_byte = grub_register_extcmd ("inb", grub_cmd_read, 0, - N_("PORT"), N_("Read byte from PORT."), options); + N_("PORT"), N_("Read 8-bit value from PORT."), + options); cmd_read_word = grub_register_extcmd ("inw", grub_cmd_read, 0, - N_("PORT"), N_("Read word from PORT."), options); + N_("PORT"), N_("Read 16-bit value from PORT."), + options); cmd_read_dword = grub_register_extcmd ("inl", grub_cmd_read, 0, - N_("PORT"), N_("Read dword from PORT."), options); + N_("PORT"), N_("Read 32-bit value from PORT."), + options); cmd_write_byte = grub_register_command ("outb", grub_cmd_write, N_("PORT VALUE [MASK]"), - N_("Write byte VALUE to PORT.")); + N_("Write 8-bit VALUE to PORT.")); cmd_write_word = grub_register_command ("outw", grub_cmd_write, N_("PORT VALUE [MASK]"), - N_("Write word VALUE to PORT.")); + N_("Write 16-bit VALUE to PORT.")); cmd_write_dword = grub_register_command ("outl", grub_cmd_write, N_("ADDR VALUE [MASK]"), - N_("Write dword VALUE to PORT.")); + N_("Write 32-bit VALUE to PORT.")); } GRUB_MOD_FINI(memrw) === modified file 'grub-core/commands/lsmmap.c' --- grub-core/commands/lsmmap.c 2011-11-11 23:34:14 +0000 +++ grub-core/commands/lsmmap.c 2012-02-05 15:15:55 +0000 @@ -26,13 +26,13 @@ static const char *names[] = { - [GRUB_MEMORY_AVAILABLE] = N_("available"), - [GRUB_MEMORY_RESERVED] = N_("reserved"), - [GRUB_MEMORY_ACPI] = N_("ACPI reclamaible"), - [GRUB_MEMORY_NVS] = N_("ACPI non-volatile storage"), - [GRUB_MEMORY_BADRAM] = N_("BadRAM"), - [GRUB_MEMORY_CODE] = N_("firmware code"), - [GRUB_MEMORY_HOLE] = N_("hole") + [GRUB_MEMORY_AVAILABLE] = N_("available RAM"), + [GRUB_MEMORY_RESERVED] = N_("reserved RAM"), + [GRUB_MEMORY_ACPI] = N_("ACPI reclamaible RAM"), + [GRUB_MEMORY_NVS] = N_("ACPI non-volatile storage RAM"), + [GRUB_MEMORY_BADRAM] = N_("faulty RAM (BadRAM)"), + [GRUB_MEMORY_CODE] = N_("RAM holding firmware code"), + [GRUB_MEMORY_HOLE] = N_("Address range not associated with RAM") }; static grub_err_t === modified file 'grub-core/commands/memrw.c' --- grub-core/commands/memrw.c 2011-11-11 20:44:56 +0000 +++ grub-core/commands/memrw.c 2012-02-05 13:08:48 +0000 @@ -122,22 +122,28 @@ { cmd_read_byte = grub_register_extcmd ("read_byte", grub_cmd_read, 0, - N_("ADDR"), N_("Read byte from ADDR."), options); + N_("ADDR"), N_("Read 8-bit value from ADDR."), + options); cmd_read_word = grub_register_extcmd ("read_word", grub_cmd_read, 0, - N_("ADDR"), N_("Read word from ADDR."), options); + N_("ADDR"), N_("Read 16-bit value from ADDR."), + options); cmd_read_dword = grub_register_extcmd ("read_dword", grub_cmd_read, 0, - N_("ADDR"), N_("Read dword from ADDR."), options); + N_("ADDR"), N_("Read 32-bit value from ADDR."), + options); cmd_write_byte = grub_register_command ("write_byte", grub_cmd_write, - N_("ADDR VALUE [MASK]"), N_("Write byte VALUE to ADDR.")); + N_("ADDR VALUE [MASK]"), + N_("Write 8-bit VALUE to ADDR.")); cmd_write_word = grub_register_command ("write_word", grub_cmd_write, - N_("ADDR VALUE [MASK]"), N_("Write word VALUE to ADDR.")); + N_("ADDR VALUE [MASK]"), + N_("Write 16-bit VALUE to ADDR.")); cmd_write_dword = grub_register_command ("write_dword", grub_cmd_write, - N_("ADDR VALUE [MASK]"), N_("Write dword VALUE to ADDR.")); + N_("ADDR VALUE [MASK]"), + N_("Write 32-bit VALUE to ADDR.")); } GRUB_MOD_FINI(memrw) === modified file 'grub-core/commands/menuentry.c' --- grub-core/commands/menuentry.c 2012-02-05 10:23:47 +0000 +++ grub-core/commands/menuentry.c 2012-02-05 15:42:29 +0000 @@ -30,11 +30,12 @@ {"class", 1, GRUB_ARG_OPTION_REPEATABLE, N_("Menu entry type."), N_("STRING"), ARG_TYPE_STRING}, {"users", 2, 0, - N_("Users allowed to boot this entry."), N_("USERNAME"), ARG_TYPE_STRING}, + N_("List of users allowed to boot this entry."), N_("USERNAME[,USERNAME]"), + ARG_TYPE_STRING}, {"hotkey", 3, 0, N_("Keyboard key to quickly boot this entry."), N_("KEYBOARD_KEY"), ARG_TYPE_STRING}, {"source", 4, 0, - N_("Menu entry definition as a string."), N_("STRING"), ARG_TYPE_STRING}, + N_("Use STRING as menu entry body."), N_("STRING"), ARG_TYPE_STRING}, {0, 0, 0, 0, 0, 0} }; === modified file 'grub-core/commands/minicmd.c' --- grub-core/commands/minicmd.c 2012-02-05 10:32:11 +0000 +++ grub-core/commands/minicmd.c 2012-02-05 11:56:24 +0000 @@ -187,7 +187,7 @@ 0, N_("Show this message.")); cmd_dump = grub_register_command ("dump", grub_mini_cmd_dump, - N_("ADDR [SIZE]"), N_("Dump memory.")); + N_("ADDR [SIZE]"), N_("Show memory contents.")); cmd_rmmod = grub_register_command ("rmmod", grub_mini_cmd_rmmod, N_("MODULE"), N_("Remove a module.")); === modified file 'grub-core/commands/mips/loongson/lsspd.c' --- grub-core/commands/mips/loongson/lsspd.c 2011-11-11 23:34:14 +0000 +++ grub-core/commands/mips/loongson/lsspd.c 2012-02-05 15:11:19 +0000 @@ -49,14 +49,15 @@ if (err) return err; - grub_printf_ (N_("SMB base = 0x%x\n"), smbbase); + grub_printf_ (N_("System management bus controller I/O space is at 0x%x\n"), + smbbase); for (i = GRUB_SMB_RAM_START_ADDR; i < GRUB_SMB_RAM_START_ADDR + GRUB_SMB_RAM_NUM_MAX; i++) { struct grub_smbus_spd spd; grub_memset (&spd, 0, sizeof (spd)); - grub_printf_ (N_("Device %d\n"), i); + grub_printf_ (N_("RAM slot number %d\n"), i); err = grub_cs5536_read_spd (smbbase, i, &spd); if (err) { === modified file 'grub-core/commands/regexp.c' --- grub-core/commands/regexp.c 2011-04-11 21:01:51 +0000 +++ grub-core/commands/regexp.c 2012-02-05 14:25:35 +0000 @@ -32,7 +32,7 @@ static const struct grub_arg_option options[] = { { "set", 's', GRUB_ARG_OPTION_REPEATABLE, - N_("Variable names to update with matches."), + N_("Store matched component NUMBER in VARNAME."), N_("[NUMBER:]VARNAME"), ARG_TYPE_STRING }, { 0, 0, 0, 0, 0, 0 } }; === modified file 'grub-core/commands/true.c' --- grub-core/commands/true.c 2011-04-11 21:01:51 +0000 +++ grub-core/commands/true.c 2012-02-05 13:10:45 +0000 @@ -46,9 +46,13 @@ { cmd_true = grub_register_command ("true", grub_cmd_true, + /* TRANSLATORS: it's imperative, not + infinitive. */ 0, N_("Do nothing, successfully.")); cmd_false = grub_register_command ("false", grub_cmd_false, + /* TRANSLATORS: it's imperative, not + infinitive. */ 0, N_("Do nothing, unsuccessfully.")); } === modified file 'grub-core/commands/videoinfo.c' --- grub-core/commands/videoinfo.c 2011-11-11 20:44:56 +0000 +++ grub-core/commands/videoinfo.c 2012-02-05 15:36:56 +0000 @@ -178,7 +178,7 @@ { if (adapter->init ()) { - grub_puts_ (N_(" Failed")); + grub_puts_ (N_(" Failed to initialize video adapter")); grub_errno = GRUB_ERR_NONE; continue; } === modified file 'grub-core/disk/cryptodisk.c' --- grub-core/disk/cryptodisk.c 2012-01-29 20:49:44 +0000 +++ grub-core/disk/cryptodisk.c 2012-02-05 15:40:25 +0000 @@ -41,7 +41,7 @@ { {"uuid", 'u', 0, N_("Mount by UUID."), 0, 0}, {"all", 'a', 0, N_("Mount all."), 0, 0}, - {"boot", 'b', 0, N_("Mount all volumes marked as boot."), 0, 0}, + {"boot", 'b', 0, N_("Mount all volumes with `boot' flag set."), 0, 0}, {0, 0, 0, 0, 0, 0} }; === modified file 'grub-core/disk/diskfilter.c' --- grub-core/disk/diskfilter.c 2012-02-05 00:22:04 +0000 +++ grub-core/disk/diskfilter.c 2012-02-05 12:41:37 +0000 @@ -249,8 +249,8 @@ for (pv = lv->vg->pvs; pv; pv = pv->next) { if (!pv->disk) - grub_util_error (_("Couldn't find PV %s. Check your device.map"), - pv->name); + grub_util_error (_("Couldn't find physical volume `%s'." + " Check your device.map"), pv->name); tmp = grub_malloc (sizeof (*tmp)); tmp->disk = pv->disk; tmp->next = list; === modified file 'grub-core/disk/i386/pc/biosdisk.c' --- grub-core/disk/i386/pc/biosdisk.c 2011-11-12 20:12:52 +0000 +++ grub-core/disk/i386/pc/biosdisk.c 2012-02-05 15:39:16 +0000 @@ -627,7 +627,8 @@ if (grub_disk_firmware_is_tainted) { - grub_puts_ (N_("Firmware is marked as tainted, refusing to initialize.")); + grub_puts_ (N_("Native disk drivers are in use. " + "Refusing to use firmware disk interface.")); return; } grub_disk_firmware_fini = grub_disk_biosdisk_fini; === modified file 'grub-core/disk/loopback.c' --- grub-core/disk/loopback.c 2011-07-07 19:46:25 +0000 +++ grub-core/disk/loopback.c 2012-02-05 15:47:36 +0000 @@ -38,7 +38,7 @@ static const struct grub_arg_option options[] = { - {"delete", 'd', 0, N_("Delete the loopback device entry."), 0, 0}, + {"delete", 'd', 0, N_("Delete the specified loopback drive."), 0, 0}, {0, 0, 0, 0, 0, 0} }; @@ -224,7 +224,7 @@ { cmd = grub_register_extcmd ("loopback", grub_cmd_loopback, 0, N_("[-d] DEVICENAME FILE."), - N_("Make a device of a file."), options); + N_("Make a virtual drive from a file."), options); grub_disk_dev_register (&grub_loopback_dev); } === modified file 'grub-core/fs/zfs/zfsinfo.c' --- grub-core/fs/zfs/zfsinfo.c 2011-11-11 20:44:56 +0000 +++ grub-core/fs/zfs/zfsinfo.c 2012-02-05 15:28:37 +0000 @@ -45,31 +45,32 @@ int isok = 1; print_tabs (tab); - grub_xputs (_("State: ")); if (grub_zfs_nvlist_lookup_uint64 (nvlist, ZPOOL_CONFIG_REMOVED, &ival)) { - grub_xputs (_("removed ")); + grub_puts_ (N_("Virtual device is removed")); isok = 0; } if (grub_zfs_nvlist_lookup_uint64 (nvlist, ZPOOL_CONFIG_FAULTED, &ival)) { - grub_xputs (_("faulted ")); + grub_puts_ (N_("Virtual device is faulted")); isok = 0; } if (grub_zfs_nvlist_lookup_uint64 (nvlist, ZPOOL_CONFIG_OFFLINE, &ival)) { - grub_xputs (_("offline ")); + grub_puts_ (N_("Virtual device is offline")); isok = 0; } if (grub_zfs_nvlist_lookup_uint64 (nvlist, ZPOOL_CONFIG_FAULTED, &ival)) - grub_xputs (_("degraded ")); + /* TRANSLATORS: degraded doesn't mean broken but that some of + component are missing but virtual device as whole is still usable. */ + grub_puts_ (N_("Virtual device is degraded")); if (isok) - grub_xputs (_("online")); + grub_puts_ (N_("Virtual device is online")); grub_xputs ("\n"); return GRUB_ERR_NONE; @@ -85,7 +86,7 @@ if (!type) { print_tabs (tab); - grub_puts_ (N_("Incorrect VDEV: no type available")); + grub_puts_ (N_("Incorrect virtual device: no type available")); return grub_errno; } @@ -96,7 +97,7 @@ char *devid = 0; print_tabs (tab); - grub_puts_ (N_("Leaf VDEV")); + grub_puts_ (N_("Leaf virtual device (file or disk)")); print_state (nvlist, tab); @@ -137,10 +138,10 @@ print_tabs (tab); if (nelm <= 0) { - grub_puts_ (N_("Incorrect mirror VDEV")); + grub_puts_ (N_("Incorrect mirror")); return GRUB_ERR_NONE; } - grub_printf_ (N_("Mirror VDEV with %d children\n"), nelm); + grub_printf_ (N_("Mirror with %d children\n"), nelm); print_state (nvlist, tab); for (i = 0; i < nelm; i++) { @@ -152,11 +153,11 @@ print_tabs (tab); if (!child) { - grub_printf_ (N_("Mirror VDEV element %d isn't correct\n"), i); + grub_printf_ (N_("Mirror element %d isn't correct\n"), i); continue; } - grub_printf_ (N_("Mirror VDEV element %d:\n"), i); + grub_printf_ (N_("Mirror element %d:\n"), i); print_vdev_info (child, tab + 1); grub_free (child); @@ -165,7 +166,7 @@ } print_tabs (tab); - grub_printf_ (N_("Unknown VDEV type: %s\n"), type); + grub_printf_ (N_("Unknown virtual device type: %s\n"), type); return GRUB_ERR_NONE; } @@ -298,7 +299,7 @@ nv = grub_zfs_nvlist_lookup_nvlist (nvlist, ZPOOL_CONFIG_VDEV_TREE); if (!nv) - grub_puts_ (N_("No vdev tree available")); + grub_puts_ (N_("No virtual device tree available")); else print_vdev_info (nv, 1); === modified file 'grub-core/kern/emu/hostdisk.c' --- grub-core/kern/emu/hostdisk.c 2012-02-05 10:23:47 +0000 +++ grub-core/kern/emu/hostdisk.c 2012-02-05 12:36:18 +0000 @@ -428,13 +428,19 @@ error = geom_gettree (&mesh); if (error != 0) + /* TRANSLATORS: geom is the name of (k)FreeBSD device framework. + Usually left untranslated. + */ grub_util_error (_("couldn't open geom")); LIST_FOREACH (class, &mesh.lg_class, lg_class) if (strcasecmp (class->lg_name, "part") == 0) break; if (!class) - grub_util_error (_("couldn't open geom part")); + /* TRANSLATORS: geom is the name of (k)FreeBSD device framework. + Usually left untranslated. + */ + grub_util_error (_("couldn't find geom `part' class")); LIST_FOREACH (geom, &class->lg_geom, lg_geom) { === modified file 'grub-core/kern/emu/mm.c' --- grub-core/kern/emu/mm.c 2011-11-11 20:44:56 +0000 +++ grub-core/kern/emu/mm.c 2012-02-05 14:04:15 +0000 @@ -77,7 +77,7 @@ #else (void) align; (void) size; - grub_util_error (_("grub_memalign is not supported")); + grub_util_error (_("grub_memalign is not supported on your system")); #endif if (!p) === modified file 'grub-core/loader/efi/appleloader.c' --- grub-core/loader/efi/appleloader.c 2012-02-03 10:56:49 +0000 +++ grub-core/loader/efi/appleloader.c 2012-02-05 12:42:28 +0000 @@ -220,7 +220,7 @@ GRUB_MOD_INIT(appleloader) { cmd = grub_register_command ("appleloader", grub_cmd_appleloader, - N_("[OPTS]"), N_("Boot legacy system.")); + N_("[OPTS]"), N_("Boot BIOS-based system.")); my_mod = mod; } === modified file 'grub-core/loader/i386/bsd.c' --- grub-core/loader/i386/bsd.c 2011-12-26 11:58:08 +0000 +++ grub-core/loader/i386/bsd.c 2012-02-05 14:05:02 +0000 @@ -107,7 +107,7 @@ {"nointr", 'n', 0, "", 0, 0}, {"pause", 'p', 0, N_("Wait for keypress after every line of output."), 0, 0}, {"quiet", 'q', 0, "", 0, 0}, - {"dfltroot", 'r', 0, N_("Use compiled-in rootdev."), 0, 0}, + {"dfltroot", 'r', 0, N_("Use compiled-in root device."), 0, 0}, {"single", 's', 0, N_("Boot into single mode."), 0, 0}, {"verbose", 'v', 0, N_("Boot with verbose messages."), 0, 0}, {0, 0, 0, 0, 0, 0} @@ -131,7 +131,11 @@ {"kdb", 'd', 0, N_("Enter in KDB on boot."), 0, 0}, {"root", 'r', 0, N_("Set root device."), "wdXY", ARG_TYPE_STRING}, {"serial", 'h', GRUB_ARG_OPTION_OPTIONAL, - N_("Use serial console."), N_("comUNIT[,SPEED]"), ARG_TYPE_STRING}, + N_("Use serial console."), + /* TRANSLATORS: "com" is static and not to be translated. It refers to + serial ports e.g. com1. + */ + N_("comUNIT[,SPEED]"), ARG_TYPE_STRING}, {0, 0, 0, 0, 0, 0} }; @@ -160,7 +164,11 @@ {"silent", 'z', 0, N_("Supress normal output (warnings remain)."), 0, 0}, {"root", 'r', 0, N_("Set root device."), N_("DEVICE"), ARG_TYPE_STRING}, {"serial", 'h', GRUB_ARG_OPTION_OPTIONAL, - N_("Use serial console."), N_("[ADDR|comUNIT][,SPEED]"), ARG_TYPE_STRING}, + N_("Use serial console."), + /* TRANSLATORS: "com" is static and not to be translated. It refers to + serial ports e.g. com1. + */ + N_("[ADDR|comUNIT][,SPEED]"), ARG_TYPE_STRING}, {0, 0, 0, 0, 0, 0} }; === modified file 'grub-core/loader/i386/coreboot/chainloader.c' --- grub-core/loader/i386/coreboot/chainloader.c 2011-06-27 12:14:11 +0000 +++ grub-core/loader/i386/coreboot/chainloader.c 2012-02-05 12:46:50 +0000 @@ -135,7 +135,12 @@ GRUB_MOD_INIT (chain) { cmd_chain = grub_register_command ("chainloader", grub_cmd_chain, - N_("FILE"), N_("Load another payload")); + N_("FILE"), + /* TRANSLATORS: "payload" is a term used + by coreboot and must be translated in + sync with coreboot. If unsure, + let it untranslated. */ + N_("Load another coreboot payload")); } GRUB_MOD_FINI (chain) === modified file 'grub-core/loader/i386/xnu.c' --- grub-core/loader/i386/xnu.c 2012-02-03 11:47:07 +0000 +++ grub-core/loader/i386/xnu.c 2012-02-05 14:12:02 +0000 @@ -1129,7 +1129,10 @@ { cmd_devprop_load = grub_register_command ("xnu_devprop_load", grub_cmd_devprop_load, - 0, N_("Load device-properties dump.")); + /* TRANSLATORS: `device-properties' + is a variable name, + not a program. */ + 0, N_("Load `device-properties' dump.")); } void === modified file 'grub-core/loader/ia64/efi/linux.c' --- grub-core/loader/ia64/efi/linux.c 2012-02-05 10:23:47 +0000 +++ grub-core/loader/ia64/efi/linux.c 2012-02-05 14:23:03 +0000 @@ -104,12 +104,6 @@ static grub_efi_uintn_t boot_param_pages; static struct ia64_boot_payload *last_payload = NULL; -/* Can linux kernel be relocated ? */ -#define RELOCATE_OFF 0 /* No. */ -#define RELOCATE_ON 1 /* Yes. */ -#define RELOCATE_FORCE 2 /* Always - used to debug. */ -static int relocate = RELOCATE_OFF; - static inline grub_size_t page_align (grub_size_t size) { @@ -134,18 +128,19 @@ bs = grub_efi_system_table->boot_services; status = bs->locate_handle (GRUB_EFI_BY_PROTOCOL, - (void *)&fpswa_protocol, + (void *) &fpswa_protocol, NULL, &size, &fpswa_image); if (status != GRUB_EFI_SUCCESS) { - grub_printf (_("Could not locate FPSWA driver\n")); + grub_printf ("%s\n", _("Could not locate FPSWA driver")); return; } status = bs->handle_protocol (fpswa_image, - (void *)&fpswa_protocol, (void *)&fpswa); + (void *) &fpswa_protocol, (void *) &fpswa); if (status != GRUB_EFI_SUCCESS) { - grub_printf (_("Fpswa protocol not able find the interface\n")); + grub_printf ("%s\n", + _("FPSWA protocol wasn't able to find the interface")); return; } } @@ -398,6 +393,7 @@ grub_uint64_t high_addr; grub_uint64_t align; grub_uint64_t reloc_offset; + const char *relocate; if (ehdr->e_ident[EI_CLASS] != ELFCLASS64) return grub_error (GRUB_ERR_UNKNOWN_OS, "invalid ELF class"); @@ -447,13 +443,15 @@ kernel_pages = page_align (high_addr - low_addr) >> 12; - if (relocate != RELOCATE_FORCE) + /* Undocumented on purpose. */ + relocate = grub_env_get ("linux_relocate"); + if (!relocate || grub_strcmp (relocate, "force") != 0) { kernel_mem = grub_efi_allocate_pages (low_addr, kernel_pages); reloc_offset = 0; } /* Try to relocate. */ - if (! kernel_mem && relocate != RELOCATE_OFF) + if (! kernel_mem && (!relocate || grub_strcmp (relocate, "off") != 0)) { kernel_mem = allocate_pages (align, kernel_pages, low_addr); if (kernel_mem) @@ -755,38 +753,6 @@ } static grub_err_t -grub_cmd_relocate (grub_command_t cmd __attribute__ ((unused)), - int argc, char *argv[]) -{ - static const char * const vals[] = { "off", "on", "force"}; - unsigned int i; - - if (argc == 0) - { - grub_printf (_("relocate is %s\n"), vals[relocate]); - return GRUB_ERR_NONE; - } - else if (argc == 1) - { - if (kernel_mem != NULL) - grub_printf (_("Warning: kernel already loaded!\n")); - for (i = 0; i < sizeof (vals)/sizeof(vals[0]); i++) - if (grub_strcmp (argv[0], vals[i]) == 0) - { - relocate = i; - return GRUB_ERR_NONE; - } - return grub_error (GRUB_ERR_BAD_ARGUMENT, "unknown relocate value"); - } - else - { - return grub_error (GRUB_ERR_BAD_ARGUMENT, "accept 0 or 1 argument"); - } - -} - - -static grub_err_t grub_cmd_fpswa (grub_command_t cmd __attribute__ ((unused)), int argc, char *argv[] __attribute__((unused))) { @@ -794,13 +760,13 @@ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Arguments not expected"); query_fpswa (); if (fpswa == NULL) - grub_printf (_("No FPSWA loaded\n")); + grub_printf (_("No FPSWA found\n")); else grub_printf (_("FPSWA revision: %x\n"), fpswa->revision); return GRUB_ERR_NONE; } -static grub_command_t cmd_linux, cmd_initrd, cmd_payload, cmd_relocate, cmd_fpswa; +static grub_command_t cmd_linux, cmd_initrd, cmd_payload, cmd_fpswa; GRUB_MOD_INIT(linux) { @@ -814,10 +780,6 @@ N_("FILE [ARGS...]"), N_("Load an additional file.")); - cmd_relocate = grub_register_command ("relocate", grub_cmd_relocate, - "[on|off|force]", - N_("Set relocate feature.")); - cmd_fpswa = grub_register_command ("fpswa", grub_cmd_fpswa, "", N_("Display FPSWA version.")); @@ -829,6 +791,5 @@ grub_unregister_command (cmd_linux); grub_unregister_command (cmd_initrd); grub_unregister_command (cmd_payload); - grub_unregister_command (cmd_relocate); grub_unregister_command (cmd_fpswa); } === modified file 'grub-core/loader/xnu.c' --- grub-core/loader/xnu.c 2012-02-05 10:23:47 +0000 +++ grub-core/loader/xnu.c 2012-02-05 14:19:19 +0000 @@ -1457,11 +1457,16 @@ cmd_kext = grub_register_command ("xnu_kext", grub_cmd_xnu_kext, 0, N_("Load XNU extension.")); cmd_kextdir = grub_register_command ("xnu_kextdir", grub_cmd_xnu_kextdir, + /* TRANSLATORS: OSBundleRequired is a + variable name in xnu extensions + manifests. It behaves mostly like + GNU/Linux runlevels. + */ N_("DIRECTORY [OSBundleRequired]"), N_("Load XNU extension directory.")); cmd_ramdisk = grub_register_command ("xnu_ramdisk", grub_cmd_xnu_ramdisk, 0, N_("Load XNU ramdisk. " - "It will be seen as md0.")); + "It will be available in OS as md0.")); cmd_splash = grub_register_extcmd ("xnu_splash", grub_cmd_xnu_splash, 0, 0, N_("Load a splash image for XNU."), @@ -1469,7 +1474,8 @@ #ifndef GRUB_MACHINE_EMU cmd_resume = grub_register_command ("xnu_resume", grub_cmd_xnu_resume, - 0, N_("Load XNU hibernate image.")); + 0, N_("Load an image of hibernated" + " XNU image.")); #endif grub_cpu_xnu_init (); === modified file 'grub-core/mmap/mmap.c' --- grub-core/mmap/mmap.c 2011-04-11 21:01:51 +0000 +++ grub-core/mmap/mmap.c 2012-02-05 14:27:10 +0000 @@ -471,7 +471,7 @@ { cmd = grub_register_command ("badram", grub_cmd_badram, N_("ADDR1,MASK1[,ADDR2,MASK2[,...]]"), - N_("Declare memory regions as badram.")); + N_("Declare memory regions as faulty (badram).")); cmd_cut = grub_register_command ("cutmem", grub_cmd_cutmem, N_("FROM[K|M|G] TO[K|M|G]"), N_("Remove any memory regions in specified range.")); === modified file 'grub-core/net/bootp.c' --- grub-core/net/bootp.c 2011-12-16 16:37:47 +0000 +++ grub-core/net/bootp.c 2012-02-05 12:43:21 +0000 @@ -310,7 +310,7 @@ if (!inter) return grub_error (GRUB_ERR_BAD_ARGUMENT, - N_("unrecognised interface %s"), args[1]); + N_("unrecognised netword interface `%s'"), args[1]); if (!inter->dhcp_ack) return grub_error (GRUB_ERR_IO, N_("no DHCP info found")); === modified file 'grub-core/net/net.c' --- grub-core/net/net.c 2012-02-03 10:56:49 +0000 +++ grub-core/net/net.c 2012-02-05 12:44:10 +0000 @@ -563,7 +563,8 @@ return GRUB_ERR_NONE; } } - return grub_error (GRUB_ERR_NET_BAD_ADDRESS, N_("unrecognised address %s"), + return grub_error (GRUB_ERR_NET_BAD_ADDRESS, + N_("unrecognised network address `%s'"), name); } @@ -1026,7 +1027,7 @@ if (!inter) return grub_error (GRUB_ERR_BAD_ARGUMENT, - N_("unrecognised interface %s"), args[2]); + N_("unrecognised netword interface `%s'"), args[2]); return grub_net_add_route (args[0], target, inter); } } === modified file 'grub-core/normal/auth.c' --- grub-core/normal/auth.c 2012-01-24 12:31:12 +0000 +++ grub-core/normal/auth.c 2012-02-05 15:20:51 +0000 @@ -263,7 +263,8 @@ { cmd = grub_register_command ("authenticate", grub_cmd_authenticate, - N_("[USERLIST]"), N_("Authenticate users")); + N_("[USERLIST]"), + N_("Check whether user is in USERLIST.")); } === modified file 'grub-core/normal/dyncmd.c' --- grub-core/normal/dyncmd.c 2012-02-04 20:47:29 +0000 +++ grub-core/normal/dyncmd.c 2012-02-05 18:01:52 +0000 @@ -157,8 +157,8 @@ GRUB_COMMAND_FLAG_BLOCKS | GRUB_COMMAND_FLAG_EXTCMD | GRUB_COMMAND_FLAG_DYNCMD, - 0, N_("not loaded"), 0, - prio); + 0, N_("module isn't loaded"), + 0, prio); if (! cmd) { grub_free (name); === modified file 'grub-core/normal/misc.c' --- grub-core/normal/misc.c 2011-04-01 07:45:37 +0000 +++ grub-core/normal/misc.c 2012-02-05 14:24:00 +0000 @@ -109,7 +109,7 @@ } } else - grub_printf ("%s", _("Not a known filesystem")); + grub_printf ("%s", _("No known filesystem detected")); if (dev->disk->partition) grub_printf (_(" - Partition start at %llu"), === modified file 'grub-core/parttool/msdospart.c' --- grub-core/parttool/msdospart.c 2011-11-11 20:44:56 +0000 +++ grub-core/parttool/msdospart.c 2012-02-05 16:03:40 +0000 @@ -85,7 +85,7 @@ static struct grub_parttool_argdesc grub_pcpart_typeargs[] = { {"type", N_("Change partition type"), GRUB_PARTTOOL_ARG_VAL}, - {"hidden", N_("Make partition hidden"), GRUB_PARTTOOL_ARG_BOOL}, + {"hidden", N_("Set `hidden' flag in partition type"), GRUB_PARTTOOL_ARG_BOOL}, {0, 0, 0} }; === modified file 'grub-core/term/terminfo.c' --- grub-core/term/terminfo.c 2012-01-29 16:01:27 +0000 +++ grub-core/term/terminfo.c 2012-02-05 14:33:31 +0000 @@ -599,10 +599,10 @@ [GRUB_TERM_CODE_TYPE_UTF8_LOGICAL >> GRUB_TERM_CODE_TYPE_SHIFT] = _("UTF-8"), [GRUB_TERM_CODE_TYPE_UTF8_VISUAL >> GRUB_TERM_CODE_TYPE_SHIFT] - = _("UTF-8 visual"), + = _("visually-ordered UTF-8"), [GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS >> GRUB_TERM_CODE_TYPE_SHIFT] = "Glyph descriptors", - _("Unknown"), _("Unknown"), _("Unknown") + _("Unknown encoding"), _("Unknown encoding"), _("Unknown encoding") }; struct grub_term_output *cur; @@ -623,7 +623,7 @@ {"utf8", 'u', 0, N_("Terminal is logical-ordered UTF-8."), 0, ARG_TYPE_NONE}, {"visual-utf8", 'v', 0, N_("Terminal is visually-ordered UTF-8."), 0, ARG_TYPE_NONE}, - {"geometry", 'g', 0, N_("Terminal has given geometry."), + {"geometry", 'g', 0, N_("Terminal has specified geometry."), N_("WIDTHxHEIGHT."), ARG_TYPE_STRING}, {0, 0, 0, 0, 0, 0} }; === modified file 'po/POTFILES.in' --- po/POTFILES.in 2012-02-03 21:52:23 +0000 +++ po/POTFILES.in 2012-02-05 17:46:43 +0000 @@ -421,6 +421,7 @@ ./grub-core/loader/i386/pc/linux.c ./grub-core/loader/i386/pc/ntldr.c ./grub-core/loader/i386/pc/plan9.c +./grub-core/loader/i386/pc/pxechainloader.c ./grub-core/loader/i386/xnu.c ./grub-core/loader/ia64/efi/linux.c ./grub-core/loader/macho32.c === modified file 'util/getroot.c' --- util/getroot.c 2012-02-05 10:07:33 +0000 +++ util/getroot.c 2012-02-05 12:36:40 +0000 @@ -910,7 +910,7 @@ *tree = dm_tree_create (); if (! *tree) { - grub_puts_ (N_("Failed to create tree")); + grub_puts_ (N_("Failed to create `device-mapper' tree")); grub_dprintf ("hostdisk", "dm_tree_create failed\n"); return 0; } @@ -1026,6 +1026,9 @@ error = geom_gettree (&mesh); if (error != 0) + /* TRANSLATORS: geom is the name of (k)FreeBSD device framework. + Usually left untranslated. + */ grub_util_error (_("couldn't open geom")); LIST_FOREACH (class, &mesh.lg_class, lg_class) @@ -1190,6 +1193,9 @@ error = geom_gettree (&mesh); if (error != 0) + /* TRANSLATORS: geom is the name of (k)FreeBSD device framework. + Usually left untranslated. + */ grub_util_error (_("couldn't open geom")); LIST_FOREACH (class, &mesh.lg_class, lg_class) @@ -1228,7 +1234,8 @@ grub_err_t err; err = grub_cryptodisk_cheat_mount (grdev, os_dev); if (err) - grub_util_error (_("Can't mount crypto: %s"), _(grub_errmsg)); + grub_util_error (_("can't mount crypto volume `%s': %s"), + lastsubdev, _(grub_errmsg)); } grub_free (grdev); @@ -1272,7 +1279,8 @@ grub_err_t err; err = grub_cryptodisk_cheat_mount (grdev, os_dev); if (err) - grub_util_error (_("Can't mount crypto: %s"), _(grub_errmsg)); + grub_util_error (_("can't mount crypto volume `%s': %s"), + lastsubdev, _(grub_errmsg)); } grub_free (grdev); } @@ -2192,6 +2200,9 @@ error = geom_gettree (&mesh); if (error != 0) + /* TRANSLATORS: geom is the name of (k)FreeBSD device framework. + Usually left untranslated. + */ grub_util_error (_("couldn't open geom")); LIST_FOREACH (class, &mesh.lg_class, lg_class) === modified file 'util/grub-fstest.c' --- util/grub-fstest.c 2012-02-05 10:32:11 +0000 +++ util/grub-fstest.c 2012-02-05 14:00:10 +0000 @@ -332,7 +332,7 @@ argv[1] = host_file; if (execute_command ("loopback", 2, argv)) - grub_util_error (_("\`loopback' command fails: %s"), grub_errmsg); + grub_util_error (_("`loopback' command fails: %s"), grub_errmsg); grub_free (loop_name); grub_free (host_file); @@ -343,7 +343,7 @@ if (mount_crypt) { if (execute_command ("cryptomount", 1, argv)) - grub_util_error (_("\`cryptomount' command fails: %s"), grub_errmsg); + grub_util_error (_("`cryptomount' command fails: %s"), grub_errmsg); } } @@ -435,7 +435,7 @@ {N_("cp FILE LOCAL"), 0, 0, OPTION_DOC, N_("Copy FILE to local file LOCAL."), 1}, {N_("cat FILE"), 0, 0 , OPTION_DOC, N_("Copy FILE to standard output."), 1}, {N_("cmp FILE LOCAL"), 0, 0, OPTION_DOC, N_("Compare FILE with local file LOCAL."), 1}, - {N_("hex FILE"), 0, 0 , OPTION_DOC, N_("Hex dump FILE."), 1}, + {N_("hex FILE"), 0, 0 , OPTION_DOC, N_("Show contents of FILE in hex."), 1}, {N_("crc FILE"), 0, 0 , OPTION_DOC, N_("Get crc32 checksum of FILE."), 1}, {N_("blocklist FILE"), 0, 0, OPTION_DOC, N_("Display blocklist of FILE."), 1}, {N_("xnu_uuid DEVICE"), 0, 0, OPTION_DOC, N_("Compute XNU UUID of the device."), 1}, @@ -443,10 +443,12 @@ {"root", 'r', N_("DEVICE_NAME"), 0, N_("Set root device."), 2}, {"skip", 's', "N", 0, N_("Skip N bytes from output file."), 2}, {"length", 'n', "N", 0, N_("Handle N bytes in output file."), 2}, - {"diskcount", 'c', "N", 0, N_("N input files."), 2}, + {"diskcount", 'c', "N", 0, N_("Specify the number of input files."), 2}, {"debug", 'd', "S", 0, N_("Set debug environment variable."), 2}, {"crypto", 'C', NULL, OPTION_ARG_OPTIONAL, N_("Mount crypto devices."), 2}, - {"zfs-key", 'K', N_("FILE|prompt"), 0, N_("Load zfs crypto key."), 2}, + {"zfs-key", 'K', + /* TRANSLATORS: "prompt" is a keyword. */ + N_("FILE|prompt"), 0, N_("Load zfs crypto key."), 2}, {"verbose", 'v', NULL, OPTION_ARG_OPTIONAL, N_("print verbose messages."), 2}, {"uncompress", 'u', NULL, OPTION_ARG_OPTIONAL, N_("Uncompress data."), 2}, {0, 0, 0, 0, 0, 0} @@ -489,13 +491,17 @@ f = fopen (arg, "rb"); if (!f) { - printf (_("Error loading file %s: %s\n"), arg, strerror (errno)); + printf (_("%s: error:"), program_name); + printf (_("cannot open `%s': %s"), arg, strerror (errno)); + printf ("\n"); return 0; } real_size = fread (buf, 1, 1024, f); if (real_size < 0) { - printf (_("Error loading file %s: %s\n"), arg, strerror (errno)); + printf (_("%s: error:"), program_name); + printf (_("cannot read the file `%s': %s"), arg, strerror (errno)); + printf ("\n"); fclose (f); return 0; } @@ -528,6 +534,9 @@ } if (args_count != 0) { + /* TRANSLATORS: disk count is optional but if it's there it must + be before disk list. So please don't imply disk count as mandatory. + */ fprintf (stderr, "%s", _("Disk count must precede disks list.\n")); argp_usage (state); } === modified file 'util/grub-install.in' --- util/grub-install.in 2012-02-05 10:23:47 +0000 +++ util/grub-install.in 2012-02-05 13:53:47 +0000 @@ -49,7 +49,6 @@ modules= install_device= -no_floppy= force_lba= recheck=no debug=no @@ -101,7 +100,6 @@ printf " --grub-mkimage=%-9s%s\n" "$(gettext "FILE")" "$(gettext "use FILE as grub-mkimage")" printf " --grub-mkrelpath=%-7s%s\n" "$(gettext "FILE")" "$(gettext "use FILE as grub-mkrelpath")" printf " --grub-probe=%-11s%s\n" "$(gettext "FILE")" "$(gettext "use FILE as grub-probe")" - printf " --no-floppy %s\n" "$(gettext "do not probe any floppy drive")" printf " --allow-floppy %s\n" "$(gettext "Make the drive also bootable as floppy (default for fdX devices). May break on some BIOSes.")" printf " --recheck %s\n" "$(gettext "delete device map if it already exists")" printf " --force %s\n" "$(gettext "install even if problems are detected")" @@ -207,7 +205,7 @@ grub_probe="`echo "$option" | sed 's/--grub-probe=//'`" ;; --no-floppy) - no_floppy="--no-floppy" ;; + ;; --recheck) recheck=yes ;; --removable) @@ -535,6 +533,8 @@ elif [ "$disk_module" = ata ]; then gettext_printf "UUID needed with ata mod, but the filesystem containing %s does not support UUIDs.\n" "${grubdir}" 1>&2 else + # TRANSLATORS: cross-disk refers to /boot being on one disk + # but MBR on another. gettext_printf "UUID needed with cross-disk installs, but the filesystem containing %s does not support UUIDs.\n" "${grubdir}" 1>&2 fi @@ -633,7 +633,7 @@ dev="`echo $grub_device | sed -e 's/\/dev\///' -e 's/[0-9]\+//'`" partno="`echo $grub_device | sed -e 's/.*[^0-9]\([0-9]\+\)$/\1/'`" ofpath="`$ofpathname $dev`" || { - gettext_printf "Couldn't find Open Firmware device tree path for %s.\nYou will have to set \`boot-device' variable manually.\n" "$dev" 1>&2 + gettext_printf "Couldn't find IEEE1275 device tree path for %s.\nYou will have to set \`boot-device' variable manually.\n" "$dev" 1>&2 exit 1 } @@ -668,7 +668,7 @@ "$nvsetenv" boot-device "$boot_device" || { # TRANSLATORS: The %s will be replaced by an external program name. gettext_printf "\`%s' failed.\n" "$nvsetenv" 1>&2 - gettext "You will have to set \`boot-device' variable manually. At the Open Firmware prompt, type:" 1>&2 + gettext "You will have to set \`boot-device' variable manually. At the IEEE1275 prompt, type:" 1>&2 echo 1>&2 echo " setenv boot-device $boot_device" 1>&2 exit 1 === modified file 'util/grub-mkconfig.in' --- util/grub-mkconfig.in 2012-02-03 11:15:53 +0000 +++ util/grub-mkconfig.in 2012-02-05 13:33:33 +0000 @@ -184,7 +184,7 @@ fi if [ -z "${GRUB_FONT_PATH}" ] ; then if [ "x$termoutdefault" != "x1" ]; then - gettext "No font for gfxterm found." >&2; echo >&2 ; exit 1 + gettext "No font for video terminal found." >&2; echo >&2 ; exit 1 fi GRUB_TERMINAL_OUTPUT= fi === modified file 'util/grub-mkfont.c' --- util/grub-mkfont.c 2012-02-05 10:23:47 +0000 +++ util/grub-mkfont.c 2012-02-05 13:15:59 +0000 @@ -591,7 +591,7 @@ grub_uint32_t feattag = grub_be_to_cpu32 (features->features[i].feature_tag); if (feature->params) - printf (_("WARNING: unsupported feature parameters: %x\n"), + printf (_("WARNING: unsupported font feature parameters: %x\n"), grub_be_to_cpu16 (feature->params)); switch (feattag) { @@ -621,7 +621,8 @@ for (j = 0; j < 4; j++) if (!grub_isgraph (str[j])) str[j] = '?'; - printf (_("Unknown gsub feature 0x%x (%s)\n"), feattag, str); + printf (_("Unknown gsub font feature 0x%x (%s)\n"), + feattag, str); } } } @@ -692,8 +693,8 @@ int x, y, xmax, xmin, ymax, ymin; grub_uint8_t *bitmap, mask; - printf (_("\nGlyph #%d, U+%04x\n"), num, glyph->char_code); - printf (_("Width %d, Height %d, X offset %d, Y offset %d, Device width %d\n"), + printf ("\nGlyph #%d, U+%04x\n", num, glyph->char_code); + printf ("Width %d, Height %d, X offset %d, Y offset %d, Device width %d\n", glyph->width, glyph->height, glyph->x_ofs, glyph->y_ofs, glyph->device_width); @@ -961,7 +962,7 @@ {"index", 'i', N_("NUM"), 0, N_("set face index"), 0}, {"range", 'r', N_("FROM-TO[,FROM-TO]"), 0, N_("set font range"), 0}, {"name", 'n', N_("NAME"), 0, N_("set font family name"), 0}, - {"size", 's', N_("STR"), 0, N_("set font size"), 0}, + {"size", 's', N_("SIZE"), 0, N_("set font size"), 0}, {"desc", 'd', N_("NUM"), 0, N_("set font descent"), 0}, {"asce", 'c', N_("NUM"), 0, N_("set font ascent"), 0}, {"bold", 'b', 0, 0, N_("convert to bold font"), 0}, @@ -1128,7 +1129,7 @@ if (arguments.file_format == ASCII_BITMAPS && arguments.font_info.num_range > 0) { - grub_util_error (_("Option --ascii-bitmaps doesn't accept ranges (use ASCII).")); + grub_util_error (_("Option --ascii-bitmaps doesn't accept ranges (it always uses ASCII).")); return 1; } else if (arguments.file_format == ASCII_BITMAPS) === modified file 'util/grub-mkimage.c' --- util/grub-mkimage.c 2012-02-05 10:07:33 +0000 +++ util/grub-mkimage.c 2012-02-05 13:52:18 +0000 @@ -1633,10 +1633,11 @@ static struct argp_option options[] = { {"directory", 'd', N_("DIR"), 0, N_("use images and modules under DIR [default=%s/]"), 0}, - {"prefix", 'p', N_("DIR"), 0, N_("set grub_prefix directory [default=%s]"), 0}, + {"prefix", 'p', N_("DIR"), 0, N_("set prefix directory [default=%s]"), 0}, {"memdisk", 'm', N_("FILE"), 0, N_("embed FILE as a memdisk image"), 0}, - {"config", 'c', N_("FILE"), 0, N_("embed FILE as boot config"), 0}, - {"note", 'n', 0, 0, N_("add NOTE segment for CHRP Open Firmware"), 0}, + {"config", 'c', N_("FILE"), 0, N_("embed FILE as an early config"), 0}, + /* TRANSLATORS: NOTE is a name of segment. */ + {"note", 'n', 0, 0, N_("add NOTE segment for CHRP IEEE1275"), 0}, {"output", 'o', N_("FILE"), 0, N_("output a generated image to FILE [default=stdout]"), 0}, {"format", 'O', N_("FORMAT"), 0, 0, 0}, {"compression", 'C', "(xz|none|auto)", 0, N_("choose the compression to use"), 0}, === modified file 'util/grub-mklayout.c' --- util/grub-mklayout.c 2012-02-05 10:23:47 +0000 +++ util/grub-mklayout.c 2012-02-05 15:57:27 +0000 @@ -289,7 +289,7 @@ if (strcmp (code, console_grub_equivalences_common[i].layout) == 0) return console_grub_equivalences_common[i].grub; - fprintf (stderr, _("Unknown key %s\n"), code); + fprintf (stderr, _("Unknown keyboard scan identifier %s\n"), code); return '\0'; } @@ -385,7 +385,7 @@ if (keycode_usb == 0 || keycode_usb >= GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE) { - fprintf (stderr, _("Unknown keycode 0x%02x\n"), keycode_linux); + fprintf (stderr, _("Unknown keyboard scan code 0x%02x\n"), keycode_linux); continue; } if (keycode_usb < GRUB_KEYBOARD_LAYOUTS_ARRAY_SIZE) @@ -403,7 +403,7 @@ if (ok == 0) { - fprintf (stderr, "%s", _("ERROR: no keycodes found. Check the input.\n")); + fprintf (stderr, "%s", _("ERROR: no valid keyboard layout found. Check the input.\n")); exit (1); } === modified file 'util/grub-mkpasswd-pbkdf2.c' --- util/grub-mkpasswd-pbkdf2.c 2012-02-03 20:45:43 +0000 +++ util/grub-mkpasswd-pbkdf2.c 2012-02-05 12:20:44 +0000 @@ -114,7 +114,7 @@ .buflen = 64, .saltlen = 64 }; - char *bufhex, *salthex; + char *bufhex, *salthex, *result; gcry_err_code_t gcry_err; grub_uint8_t *buf, *salt; ssize_t nr; @@ -243,8 +243,14 @@ hexify (bufhex, buf, arguments.buflen); hexify (salthex, salt, arguments.saltlen); - printf (_("Your PBKDF2 is grub.pbkdf2.sha512.%d.%s.%s\n"), - arguments.count, salthex, bufhex); + result = xmalloc (sizeof ("grub.pbkdf2.sha512.XXXXXXXXXXXXXXXXXXX.S.S") + + arguments.buflen * 2 + arguments.saltlen * 2); + snprintf (result, sizeof ("grub.pbkdf2.sha512.XXXXXXXXXXXXXXXXXXX.S.S") + + arguments.buflen * 2 + arguments.saltlen * 2, + "grub.pbkdf2.sha512.%d.%s.%s", + arguments.count, salthex, bufhex); + + printf (_("PBKDF2 hash of your password is %s\n"), result); memset (buf, 0, arguments.buflen); memset (bufhex, 0, 2 * arguments.buflen); free (buf); === modified file 'util/grub-mkrelpath.c' --- util/grub-mkrelpath.c 2012-02-03 20:45:43 +0000 +++ util/grub-mkrelpath.c 2012-02-05 16:03:42 +0000 @@ -73,7 +73,7 @@ static struct argp argp = { options, argp_parser, N_("PATH"), - N_("Make a system path relative to its root."), + N_("Transform a sytem filename into GRUB one."), NULL, NULL, NULL }; === modified file 'util/grub-mkrescue.in' --- util/grub-mkrescue.in 2012-02-05 10:23:47 +0000 +++ util/grub-mkrescue.in 2012-02-05 13:31:37 +0000 @@ -52,7 +52,7 @@ # Print the usage. usage () { gettext_printf "Usage: %s [OPTION] SOURCE...\n" "$self" - gettext "Make GRUB rescue image."; echo + gettext "Make GRUB CDROM, disk, pendrive and floppy bootable image."; echo echo printf " -h, --help %s\n" "$(gettext "print this message and exit")" printf " -v, --version %s\n" "$(gettext "print the version information and exit")" @@ -62,7 +62,7 @@ printf " --xorriso=%-14s%s\n" "$(gettext "FILE")" "$(gettext "use FILE as xorriso [optional]")" printf " --grub-mkimage=%-9s%s\n" "$(gettext "FILE")" "$(gettext "use FILE as grub-mkimage")" echo - gettext_printf "%s generates a bootable rescue image with specified source files, source directories, or mkisofs options listed by: %s\n" "xorriso -as mkisofs -help" "$self" + gettext_printf "%s generates a bootable rescue image with specified source files, source directories, or mkisofs options listed by the output of `%s'\n" "xorriso -as mkisofs -help" "$self" echo gettext "Option -- switches to native xorriso command mode."; echo echo === modified file 'util/grub-mkstandalone.in' --- util/grub-mkstandalone.in 2012-02-05 10:23:47 +0000 +++ util/grub-mkstandalone.in 2012-02-05 13:32:52 +0000 @@ -47,6 +47,8 @@ usage () { formats="i386-coreboot i386-multiboot i386-pc i386-pc-pxe i386-efi i386-ieee1275 i386-qemu x86_64-efi mipsel-yeeloong-flash mipsel-fuloong2f-flash mipsel-loongson-elf powerpc-ieee1275 sparc64-ieee1275-raw sparc64-ieee1275-aout ia64-efi mips-arc mipsel-qemu_mips-elf mips-qemu_mips-flash mipsel-qemu_mips-flash mips-qemu_mips-elf" gettext_printf "Usage: %s [OPTION] SOURCE...\n" "$self" + gettext "Generate a standalone image (containing all modules) in the selected format" + echo gettext "Make GRUB rescue image."; echo echo printf " -h, --help %s\n" "$(gettext "print this message and exit")" @@ -62,8 +64,6 @@ printf " --modules=%-14s%s\n" "$(gettext "MODULES")" "$(gettext "pre-load specified modules MODULES")" printf " --grub-mkimage=%-9s%s\n" "$(gettext "FILE")" "$(gettext "use FILE as grub-mkimage")" echo - gettext_printf "%s generates a standalone image (containing all modules) in the selected format" "$self" - echo gettext "Report bugs to ."; echo } === modified file 'util/grub-mount.c' --- util/grub-mount.c 2012-02-05 10:23:47 +0000 +++ util/grub-mount.c 2012-02-05 14:00:21 +0000 @@ -407,7 +407,9 @@ {"root", 'r', N_("DEVICE_NAME"), 0, N_("Set root device."), 2}, {"debug", 'd', "S", 0, N_("Set debug environment variable."), 2}, {"crypto", 'C', NULL, OPTION_ARG_OPTIONAL, N_("Mount crypto devices."), 2}, - {"zfs-key", 'K', N_("FILE|prompt"), 0, N_("Load zfs crypto key."), 2}, + {"zfs-key", 'K', + /* TRANSLATORS: "prompt" is a keyword. */ + N_("FILE|prompt"), 0, N_("Load zfs crypto key."), 2}, {"verbose", 'v', NULL, OPTION_ARG_OPTIONAL, N_("print verbose messages."), 2}, {0, 0, 0, 0, 0, 0} }; @@ -449,13 +451,18 @@ f = fopen (arg, "rb"); if (!f) { - printf (_("Error loading file %s: %s\n"), arg, strerror (errno)); + printf (_("%s: error:"), program_name); + printf (_("cannot open `%s': %s"), arg, strerror (errno)); + printf ("\n"); return 0; } real_size = fread (buf, 1, 1024, f); if (real_size < 0) { - printf (_("Error loading file %s: %s\n"), arg, strerror (errno)); + printf (_("%s: error:"), program_name); + printf (_("cannot read the file `%s': %s"), arg, + strerror (errno)); + printf ("\n"); fclose (f); return 0; } === modified file 'util/grub-probe.c' --- util/grub-probe.c 2012-02-05 10:23:47 +0000 +++ util/grub-probe.c 2012-02-05 15:08:49 +0000 @@ -425,7 +425,8 @@ { char *label; if (! fs->label) - grub_util_error (_("%s does not support labels"), fs->name); + grub_util_error (_("filesystem `%s' does not support labels"), + fs->name); if (fs->label (dev, &label) != GRUB_ERR_NONE) grub_util_error ("%s", _(grub_errmsg)); @@ -688,12 +689,11 @@ {"device-map", 'm', N_("FILE"), 0, N_("use FILE as the device map [default=%s]"), 0}, {"target", 't', "(fs|fs_uuid|fs_label|drive|device|partmap|abstraction|cryptodisk_uuid|msdos_parttype)", 0, - N_("print filesystem module, GRUB drive, system device, partition map module, abstraction module or CRYPTO UUID [default=fs]"), 0}, + N_("print filesystem module, GRUB drive, system device, partition map module, abstraction module or cryptographic container UUID [default=fs]"), 0}, {"verbose", 'v', 0, 0, N_("print verbose messages."), 0}, { 0, 0, 0, 0, 0, 0 } }; - static char * help_filter (int key, const char *text, void *input __attribute__ ((unused))) { === modified file 'util/grub-setup.c' --- util/grub-setup.c 2012-02-05 10:23:47 +0000 +++ util/grub-setup.c 2012-02-05 18:00:51 +0000 @@ -542,16 +542,17 @@ unable_to_embed: + if (dest_dev->disk->dev->id != root_dev->disk->dev->id) + grub_util_error (_("embedding is not possible, but this is required for " + "RAID and LVM install")); + #ifdef GRUB_MACHINE_PCBIOS if (dest_dev->disk->id != root_dev->disk->id || dest_dev->disk->dev->id != root_dev->disk->dev->id) - grub_util_error (_("embedding is not possible, but this is required for " - "cross-disk, RAID and LVM install")); -#else - if (dest_dev->disk->dev->id != root_dev->disk->dev->id) - grub_util_error (_("embedding is not possible, but this is required for " - "RAID and LVM install")); - + /* TRANSLATORS: cross-disk refers to /boot being on one disk + but MBR on another. */ + grub_util_error (_("embedding is not possible, but this is required for " + "cross-disk install")); #endif grub_util_warn (_("Embedding is not possible. GRUB can only be installed in this " @@ -740,11 +741,9 @@ {"directory", 'd', N_("DIR"), 0, N_("Use GRUB files in the directory DIR [default=%s]"), 0}, {"device-map", 'm', N_("FILE"), 0, - N_("Use FILE as the device map [default=%s]"), 0}, - {"root-device", 'r', N_("DEVICE"), 0, - N_("Use DEV as the root device [default=guessed]"), 0}, + N_("use FILE as the device map [default=%s]"), 0}, {"force", 'f', 0, 0, - N_("Install even if problems are detected"), 0}, + N_("install even if problems are detected"), 0}, {"skip-fs-probe",'s',0, 0, N_("Do not probe for filesystems in DEVICE"), 0}, {"verbose", 'v', 0, 0, N_("print verbose messages."), 0}, === modified file 'util/grub.d/10_windows.in' --- util/grub.d/10_windows.in 2012-02-03 10:42:22 +0000 +++ util/grub.d/10_windows.in 2012-02-05 13:45:46 +0000 @@ -63,18 +63,18 @@ # Check for Vista bootmgr. if [ -f "$dir"/bootmgr -a -f "$dir"/boot/bcd ] ; then - OS="$(gettext_quoted "Windows Vista bootmgr")" + OS="$(gettext_quoted "Windows Vista/7 (loader)")" # Check for NTLDR. elif [ -f "$dir"/ntldr -a -f "$dir"/ntdetect.com -a -f "$dir"/boot.ini ] ; then - OS=`get_os_name_from_boot_ini "$dir"/boot.ini` || OS="$(gettext_quoted "Windows NT/2000/XP loader")" + OS=`get_os_name_from_boot_ini "$dir"/boot.ini` || OS="$(gettext_quoted "Windows NT/2000/XP (loader)")" needmap=t else continue fi - # Get boot /dev/ice. + # Get boot device. dev=`${grub_probe} -t device "$dir" 2>/dev/null` || continue gettext_printf "Found %s on %s (%s)\n" "$OS" "$drv" "$dev" >&2 === modified file 'util/powerpc/ieee1275/grub-mkrescue.in' --- util/powerpc/ieee1275/grub-mkrescue.in 2012-02-03 20:30:05 +0000 +++ util/powerpc/ieee1275/grub-mkrescue.in 2012-02-05 13:31:53 +0000 @@ -39,14 +39,14 @@ # Print the usage. usage () { gettext_printf "Usage: %s [OPTION] SOURCE...\n" "$self" - gettext "Make GRUB rescue image."; echo + gettext "Make GRUB CDROM, disk, pendrive and floppy bootable image."; echo echo printf " -h, --help %s\n" "$(gettext "print this message and exit")" printf " -v, --version %s\n" "$(gettext "print the version information and exit")" printf " --modules=%-14s%s\n" "$(gettext "MODULES")" "$(gettext "pre-load specified modules MODULES")" printf " --grub-mkimage=%-9s%s\n" "$(gettext "FILE")" "$(gettext "use FILE as grub-mkimage")" echo - gettext_printf "%s generates a bootable rescue image with specified source files, source directories, or mkisofs options listed by: %s\n" "genisoimage -help" "$self" + gettext_printf "%s generates a bootable rescue image with specified source files, source directories, or mkisofs options listed by the output of `%s'\n" "genisoimage -help" "$self" echo gettext "Report bugs to ."; echo } --------------020402060606090002090709 Content-Type: text/plain; name="unlocalised.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="unlocalised.txt" Li9ncnViLWNvcmUvbG9hZGVyL3NwYXJjNjQvaWVlZTEyNzUvbGludXguYzogICAgICBncnVi X3ByaW50ZiAoIkNhbm5vdCBmaW5kIC92aXJ0dWFsLW1lbW9yeSBub2RlLlxuIik7Ci4vZ3J1 Yi1jb3JlL2xvYWRlci9zcGFyYzY0L2llZWUxMjc1L2xpbnV4LmM6ICAgICAgZ3J1Yl9wcmlu dGYgKCJDYW5ub3QgZmluZCAvdmlydHVhbC1tZW1vcnkvdHJhbnNsYXRpb25zIHNpemUuXG4i KTsKLi9ncnViLWNvcmUvbG9hZGVyL3NwYXJjNjQvaWVlZTEyNzUvbGludXguYzogICAgICBn cnViX3ByaW50ZiAoIkNhbm5vdCBhbGxvY2F0ZSB0cmFuc2xhdGlvbnMgYnVmZmVyLlxuIik7 Ci4vZ3J1Yi1jb3JlL2xvYWRlci9zcGFyYzY0L2llZWUxMjc1L2xpbnV4LmM6ICAgICAgZ3J1 Yl9wcmludGYgKCJDYW5ub3QgZmV0Y2ggL3ZpcnR1YWwtbWVtb3J5L3RyYW5zbGF0aW9ucyBw cm9wZXJ0eS5cbiIpOwouL2dydWItY29yZS9idXMvZW11L3BjaS5jOiAgICBncnViX3V0aWxf ZXJyb3IgKCJtYXBwaW5nIDB4JXggZmFpbGVkIChlcnJvciAlZClcbiIsIGJhc2UsIGVycik7 Ci4vZ3J1Yi1jb3JlL2J1cy9ib25pdG8uYzogIGdydWJfZmF0YWwgKCJPdXQgb2YgUENJIHdp bmRvd3MuIik7Ci4vZ3J1Yi1jb3JlL2J1cy9ib25pdG8uYzogIGdydWJfZmF0YWwgKCJUcmll ZCB0byB1bm1hcCBub3QgbWFwcGVkIHJlZ2lvbiIpOwouL2dydWItY29yZS9jb21tYW5kcy9r ZXlsYXlvdXRzLmM6ICAgIGdydWJfcHJpbnRmICgiVW5rbm93biBrZXkgMHgleCBkZXRlY3Rl ZFxuIiwgY29kZSk7Ci4vZ3J1Yi1jb3JlL2NvbW1hbmRzL2RhdGUuYzogICAgICBncnViX3By aW50ZiAoIiVkLSUwMmQtJTAyZCAlMDJkOiUwMmQ6JTAyZCAlc1xuIiwKLi9ncnViLWNvcmUv aGVsbG8vaGVsbG8uYzogIGdydWJfcHJpbnRmICgiSGVsbG8gV29ybGRcbiIpOwouL2dydWIt Y29yZS9jb21tYW5kcy92aWRlb3Rlc3QuYzogICAgZ3J1Yl9mb250X2RyYXdfc3RyaW5nICgi VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuIiwKLi9ncnVi LWNvcmUvY29tbWFuZHMvdmlkZW90ZXN0LmM6ICAgIGdydWJfZm9udF9kcmF3X3N0cmluZyAo IlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLiIsCi4vZ3J1 Yi1jb3JlL2NvbW1hbmRzL3ZpZGVvdGVzdC5jOiAgICAgICJVbmljb2RlIHRlc3Q6IGhhcHB5 XHhFMlx4OThceEJBIFx4QzJceEEzIDUuMDAiCi4vZ3J1Yi1jb3JlL2NvbW1hbmRzL3ZpZGVv dGVzdC5jOiAgICAgICIgXHhDMlx4QTFceENGXHg4NFx4QzNceEE0dSEgIgouL2dydWItY29y ZS9jb21tYW5kcy92aWRlb3Rlc3QuYzogICAgICAiIFx4RTJceDg0XHhBNFx4RTJceDhBXHg4 Nlx4RTJceDg0XHg5RCI7Ci4vZ3J1Yi1jb3JlL2NvbW1hbmRzL3ZpZGVvdGVzdC5jOiAgICBn cnViX3ByaW50ZigiY29sb3IgJWQ6ICUwOHhcbiIsIGksIHBhbGV0dGVbaV0pOwouL2dydWIt Y29yZS9rZXJuL2kzODYvY29yZWJvb3QvaW5pdC5jOiAgZ3J1Yl9mYXRhbCAoImdydWJfZ2V0 X3J0YygpIGlzIG5vdCBpbXBsZW1lbnRlZC5cbiIpOwouL2dydWItY29yZS9tbWFwL2VmaS9t bWFwLmM6CSAgZ3J1Yl9wcmludGYgKCJVbmtub3duIG1lbW9yeSB0eXBlICVkLCBjb25zaWRl cmluZyByZXNlcnZlZFxuIiwKLi9ncnViLWNvcmUvbGliL2xpYmdjcnlwdF93cmFwL2NpcGhl cl93cmFwLmg6ICAgIGdydWJfZmF0YWwgKCJBc3NlcnRpb24gZmFpbGVkIGF0ICVzOiVkXG4i LCBmaWxlLCBsaW5lKTsKLi9ncnViLWNvcmUvbGliL3Bvc2l4X3dyYXAvYXNzZXJ0Lmg6ICAg IGdydWJfcHJpbnRmICgiQXNzZXJ0aW9uIGZhaWxlZCBhdCAlczolZFxuIiwgZmlsZSwgbGlu ZSk7Ci4vZ3J1Yi1jb3JlL2xvYWRlci9lZmkvY2hhaW5sb2FkZXIuYzogIGdydWJfcHJpbnRm ICgiZmlsZSBwYXRoOiAiKTsKLi9ncnViLWNvcmUva2Vybi9yZXNjdWVfcGFyc2VyLmM6ICAg ICAgZ3J1Yl9wcmludGYgKCJVbmtub3duIGNvbW1hbmQgYCVzJ1xuIiwgbmFtZSk7Ci4vZ3J1 Yi1jb3JlL2tlcm4vcmVzY3VlX3BhcnNlci5jOglncnViX3ByaW50ZiAoIlRyeSBgaGVscCcg Zm9yIHVzYWdlXG4iKTsKLi9ncnViLWNvcmUva2Vybi9jb3JlY21kLmM6CSAgZ3J1Yl9wcmlu dGYgKCIoJXMpOiBGaWxlc3lzdGVtIGlzICVzLlxuIiwKLi9ncnViLWNvcmUva2Vybi9jb3Jl Y21kLmM6CQkgICAgICAgZGV2aWNlX25hbWUsIGZzID8gZnMtPm5hbWUgOiAidW5rbm93biIp OwouL2dydWItY29yZS9rZXJuL2Vyci5jOiAgICAgIGdydWJfZXJyX3ByaW50ZiAoImFzc2Vy dDogZXJyb3Igc3RhY2sgb3ZlcmZsb3cgZGV0ZWN0ZWQhXG4iKTsKLi9ncnViLWNvcmUva2Vy bi9tYWluLmM6ICAgICAgZ3J1Yl9mYXRhbCAoIiVzIiwgZ3J1Yl9lcnJtc2cpOwouL2dydWIt Y29yZS9rZXJuL21haW4uYzogIGdydWJfcHJpbnRmICgiV2VsY29tZSB0byBHUlVCIVxuXG4i KTsKLi9ncnViLWNvcmUva2Vybi9kbC5jOiAgICBncnViX2ZhdGFsICgiY29yZSBzeW1ib2xz IGNhbm5vdCBiZSB1bnJlZ2lzdGVyZWQiKTsKLi9ncnViLWNvcmUva2Vybi9yZXNjdWVfcmVh ZGVyLmM6ICBncnViX3ByaW50ZiAoKGNvbnQpID8gIj4gIiA6ICJncnViIHJlc2N1ZT4gIik7 Ci4vZ3J1Yi1jb3JlL2tlcm4vcmVzY3VlX3JlYWRlci5jOiAgZ3J1Yl9wcmludGYgKCJFbnRl cmluZyByZXNjdWUgbW9kZS4uLlxuIik7Ci4vZ3J1Yi1jb3JlL2ZzL3JlaXNlcmZzLmM6ICAg IGdydWJfcHJpbnRmICgiQXNzZXJ0aW9uIGZhaWxlZCBhdCAlczolZFxuIiwgZmlsZSwgbGlu ZSk7ClZpZGVvIGFkYXB0ZXIgbmFtZQouL2dydWItY29yZS9jb21tYW5kcy9hY3BpaGFsdC5j OgkJICBncnViX3ByaW50ZiAoIlVua25vd24gb3Bjb2RlIGluIF9TNTogMHgleFxuIiwgKnB0 cjIpOwouL2dydWItY29yZS9jb21tYW5kcy9hY3BpaGFsdC5jOiAgICAgIGdydWJfcHJpbnRm ICgiVW5leHBlY3RlZCBleHRlbmRlZCBvcGNvZGU6IDB4JXhcbiIsICpwdHIpOwouL2dydWIt Y29yZS9jb21tYW5kcy9hY3BpaGFsdC5jOiAgICAgIGdydWJfcHJpbnRmICgiVW5rbm93biBv cGNvZGUgMHgleFxuIiwgKnB0cik7CgouL2dydWItY29yZS9jb21tYW5kcy9lZmkvbHNlZmlt bWFwLmMKLi9ncnViLWNvcmUvY29tbWFuZHMvZWZpL2xzZWZpc3lzdGFiLmMKLi9ncnViLWNv cmUvY29tbWFuZHMvZWZpL2xzc2FsLmMKLi9ncnViLWNvcmUvY29tbWFuZHMvdXNidGVzdC5j Ci4vZ3J1Yi1jb3JlL2NvbW1hbmRzL3Rlc3Rsb2FkLmMKLi9ncnViLWNvcmUvY29tbWFuZHMv bHNwY2kuYwouL2dydWItY29yZS9jb21tYW5kcy9oZHBhcm0uYwouL2dydWItY29yZS9jb21t YW5kcy9sc2FjcGkuYwouL3V0aWwvaTM4Ni9lZmkvZ3J1Yi1kdW1wZGV2dHJlZQo= --------------020402060606090002090709--