diff --git a/ChangeLog b/ChangeLog index 037297b9e..5dbdd6a9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,95 @@ +2009-11-29 Samuel Thibault + + Fix GNU/Hurd grub-install crash. + * util/grub-probe.c (probe): Try to access `path' only when it is not + NULL. + +2009-11-28 Vladimir Serbinenko + + Correct module naming. + + * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ... + (GRUB_MOD_INIT(efi_uga)): ... to this + (GRUB_MOD_FINI(efi_fb)): Renamed from this ... + (GRUB_MOD_FINI(efi_uga)): ... to this + * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ... + (GRUB_MOD_INIT(efi_gop)): ... to this + (GRUB_MOD_FINI(efi_fb)): Renamed from this ... + (GRUB_MOD_FINI(efi_gop)): ... to this + +2009-11-28 Robert Millan + + * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as + translatable. + (usage): Translate `arg' strings using gettext(). + Thanks to Jordi Mallach for the suggestion. + +2009-11-28 Vladimir Serbinenko + + GOP support. Based on patch from Bean + (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html) + + * video/efi_gop.c: New file. + * include/grub/efi/graphics_output.h: Likewise. + * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'. + (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New + variables. + * conf/x86_64-efi.rmk: Likewise. + +2009-11-28 Vladimir Serbinenko + + Rename efi_fb to efi_uga. + + * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to + 'efi_uga.mod'. + (efi_fb_mod_SOURCES): Rename this ... + (efi_uga_mod_SOURCES): ... to this. + (efi_fb_mod_CFLAGS): Rename this ... + (efi_uga_mod_CFLAGS): ... to this. + (efi_fb_mod_LDFLAGS): Rename this ... + (efi_uga_mod_LDFLAGS): ... to this. + * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to + 'efi_uga.mod'. + (efi_fb_mod_SOURCES): Rename this ... + (efi_uga_mod_SOURCES): ... to this. + (efi_fb_mod_CFLAGS): Rename this ... + (efi_uga_mod_CFLAGS): ... to this. + (efi_fb_mod_LDFLAGS): Rename this ... + (efi_uga_mod_LDFLAGS): ... to this. + * video/efi_fb.c: Move this ... + * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'. + +2009-11-27 Robert Millan + + * po/README: New file. Explain our PO file workflow. + +2009-11-27 Robert Millan + + * po/ChangeLog: Remove. Move relevant entries back to ... + * ChangeLog: ... here. + * po/ca.po: Remove (now handled by TLP). + * po/id.po: Likewise. + * po/zh_CN.po: Likewise. + * Makefile.in (LINGUAS): Initialize in a way that supports + empty set. + +2009-11-27 Robert Millan + + * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of + reliing on po/LINGUAS. + ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ... + (po/%.po): ... this. + +2009-11-26 Felix Zielcke + + * util/i386/efi/grub-mkimage.c: Include "progname.h". + (main): Use `program_name' instead of nonexistent `progname'. + +2009-11-26 Felix Zielcke + + * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'. + * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise. + 2009-11-26 Robert Millan * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous @@ -171,6 +263,8 @@ * normal/menu_text.c: Include . * normal/menu_text.c (print_timeout): Gettexttize string. * normal/menu_text.c (print_message): Gettexttize string. + * po/POTFILES: Add `normal/menu_text.c'. + * po/ca.po: Add new translations. * util/grub.d/00_header.in: Define locale_dir and lang. insmod gettext module and defines locale_dir and lang in grub.cfg. * NEWS: Add gettext support. @@ -373,6 +467,8 @@ * Makefile.in (po/*.po): Redefine as ... ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this. + * po/POTFILES: Add `util/i386/pc/grub-setup.c'. + 2009-11-19 Robert Millan * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'. @@ -391,6 +487,8 @@ * util/mkisofs/tree.c: Likewise. * util/mkisofs/write.c: Likewise. + * po/POTFILES: Update with new files. + 2009-11-18 Robert Millan * util/mkisofs/eltorito.c: Fix minor mistake in license text. @@ -418,6 +516,8 @@ 2009-11-18 Robert Millan + * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in' + and `util/grub.d/10_linux.in'. * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for translatable Shell files. @@ -428,6 +528,7 @@ 2009-11-17 Robert Millan * INSTALL: Document Automake is needed for bootstrap. + * po/ca.po: Fix PO-Revision-Date and Language-Team fields. * util/grub.d/10_kfreebsd.in (bindir): New variable. Add gettext initialization. (kfreebsd_entry): Make menuentry output translatable. @@ -439,6 +540,7 @@ (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'. (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'. (LINGUAS): Auto-generate using `po/LINGUAS'. + * po/LINGUAS: New file. 2009-11-17 Robert Millan @@ -478,6 +580,8 @@ (install-local): Install MO files. (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules. * include/grub/i18n.h: New file. + * po/POTFILES: New file. + * po/ca.po: New file. * util/grub.d/10_linux.in (bindir): New variable. Add gettext initialization. (linux_entry): Make menuentry output translatable. diff --git a/ChangeLog.bmpidx b/ChangeLog.bmpidx new file mode 100644 index 000000000..bae879596 --- /dev/null +++ b/ChangeLog.bmpidx @@ -0,0 +1,9 @@ +2009-11-29 Vladimir Serbinenko + + Optimise glyph lookup by Basic Multilingual Plane lookup array. + + * font/font.c (struct grub_font): New member 'bmp_idx'. + (font_init): Initialise 'bmp_idx'. + (load_font_index): Fill 'bmp_idx'. + (find_glyph): Make inline. Use bmp_idx for BMP characters. + diff --git a/Makefile.in b/Makefile.in index ae9d4de3e..3d9f5db3b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -45,7 +45,9 @@ XGETTEXT = @XGETTEXT@ MSGMERGE = @MSGMERGE@ MSGFMT = @MSGFMT@ -LINGUAS = $(shell tr '\n' ' ' < $(srcdir)/po/LINGUAS) +LINGUAS = $(shell for i in $(srcdir)/po/*.po ; do \ + if test -e $$i ; then echo $$i ; fi ; \ + done | sed -e "s,.*/po/\(.*\)\.po$$,\1,") PACKAGE = @PACKAGE@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -480,7 +482,7 @@ $(srcdir)/po/$(PACKAGE).pot: po/POTFILES po/POTFILES-shell cd $(srcdir) && $(XGETTEXT) --from-code=utf-8 -o $@ -f $< --keyword=_ --keyword=N_ cd $(srcdir) && $(XGETTEXT) --from-code=utf-8 -o $@ -f po/POTFILES-shell -j --language=Shell -$(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): po/$(PACKAGE).pot +po/%.po: po/$(PACKAGE).pot $(MSGMERGE) -U $@ $^ po/%.mo: po/%.po diff --git a/conf/i386-efi.rmk b/conf/i386-efi.rmk index ebb908fc9..c135ded4e 100644 --- a/conf/i386-efi.rmk +++ b/conf/i386-efi.rmk @@ -11,8 +11,8 @@ script/lexer.c_DEPENDENCIES = grub_script.tab.h bin_UTILITIES = grub-mkimage # For grub-mkimage. -grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \ - util/resolve.c +grub_mkimage_SOURCES = gnulib/progname.c util/i386/efi/grub-mkimage.c \ + util/misc.c util/resolve.c util/i386/efi/grub-mkimage.c_DEPENDENCIES = Makefile # For grub-setup. @@ -143,10 +143,15 @@ fixvideo_mod_SOURCES = commands/efi/fixvideo.c fixvideo_mod_CFLAGS = $(COMMON_CFLAGS) fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS) -pkglib_MODULES += efi_fb.mod -efi_fb_mod_SOURCES = video/efi_fb.c -efi_fb_mod_CFLAGS = $(COMMON_CFLAGS) -efi_fb_mod_LDFLAGS = $(COMMON_LDFLAGS) +pkglib_MODULES += efi_uga.mod +efi_uga_mod_SOURCES = video/efi_uga.c +efi_uga_mod_CFLAGS = $(COMMON_CFLAGS) +efi_uga_mod_LDFLAGS = $(COMMON_LDFLAGS) + +pkglib_MODULES += efi_gop.mod +efi_gop_mod_SOURCES = video/efi_gop.c +efi_gop_mod_CFLAGS = $(COMMON_CFLAGS) +efi_gop_mod_LDFLAGS = $(COMMON_LDFLAGS) pkglib_MODULES += xnu.mod xnu_mod_SOURCES = loader/xnu_resume.c loader/i386/xnu.c loader/i386/efi/xnu.c\ diff --git a/conf/x86_64-efi.rmk b/conf/x86_64-efi.rmk index 2e1b4e76e..22ed2d639 100644 --- a/conf/x86_64-efi.rmk +++ b/conf/x86_64-efi.rmk @@ -11,8 +11,8 @@ script/lexer.c_DEPENDENCIES = grub_script.tab.h bin_UTILITIES = grub-mkimage # For grub-mkimage. -grub_mkimage_SOURCES = util/i386/efi/grub-mkimage.c util/misc.c \ - util/resolve.c +grub_mkimage_SOURCES = gnulib/progname.c util/i386/efi/grub-mkimage.c \ + util/misc.c util/resolve.c # For grub-setup. #grub_setup_SOURCES = util/i386/pc/grub-setup.c util/hostdisk.c \ @@ -149,10 +149,15 @@ fixvideo_mod_SOURCES = commands/efi/fixvideo.c fixvideo_mod_CFLAGS = $(COMMON_CFLAGS) fixvideo_mod_LDFLAGS = $(COMMON_LDFLAGS) -pkglib_MODULES += efi_fb.mod -efi_fb_mod_SOURCES = video/efi_fb.c -efi_fb_mod_CFLAGS = $(COMMON_CFLAGS) -efi_fb_mod_LDFLAGS = $(COMMON_LDFLAGS) +pkglib_MODULES += efi_uga.mod +efi_uga_mod_SOURCES = video/efi_uga.c +efi_uga_mod_CFLAGS = $(COMMON_CFLAGS) +efi_uga_mod_LDFLAGS = $(COMMON_LDFLAGS) + +pkglib_MODULES += efi_gop.mod +efi_gop_mod_SOURCES = video/efi_gop.c +efi_gop_mod_CFLAGS = $(COMMON_CFLAGS) +efi_gop_mod_LDFLAGS = $(COMMON_LDFLAGS) pkglib_MODULES += xnu.mod xnu_mod_SOURCES = loader/xnu_resume.c loader/i386/xnu.c loader/i386/efi/xnu.c\ diff --git a/font/font.c b/font/font.c index a81291916..82e0d88e7 100644 --- a/font/font.c +++ b/font/font.c @@ -58,6 +58,7 @@ struct grub_font short leading; grub_uint32_t num_chars; struct char_index_entry *char_index; + grub_uint16_t *bmp_idx; }; /* Definition of font registry. */ @@ -180,6 +181,7 @@ font_init (grub_font_t font) font->descent = 0; font->num_chars = 0; font->char_index = 0; + font->bmp_idx = 0; } /* Open the next section in the file. @@ -273,6 +275,14 @@ load_font_index (grub_file_t file, grub_uint32_t sect_length, struct * sizeof (struct char_index_entry)); if (! font->char_index) return 1; + font->bmp_idx = grub_malloc (0x10000 * sizeof (grub_uint16_t)); + if (! font->bmp_idx) + { + grub_free (font->char_index); + return 1; + } + grub_memset (font->bmp_idx, 0xff, 0x10000 * sizeof (grub_uint16_t)); + #if FONT_DEBUG >= 2 grub_printf("num_chars=%d)\n", font->num_chars); @@ -299,6 +309,9 @@ load_font_index (grub_file_t file, grub_uint32_t sect_length, struct return 1; } + if (entry->code < 0x10000) + font->bmp_idx[entry->code] = i; + last_code = entry->code; /* Read storage flags byte. */ @@ -594,7 +607,7 @@ read_be_int16 (grub_file_t file, grub_int16_t * value) /* Return a pointer to the character index entry for the glyph corresponding to the codepoint CODE in the font FONT. If not found, return zero. */ -static struct char_index_entry * +static inline struct char_index_entry * find_glyph (const grub_font_t font, grub_uint32_t code) { struct char_index_entry *table; @@ -602,8 +615,17 @@ find_glyph (const grub_font_t font, grub_uint32_t code) grub_size_t hi; grub_size_t mid; - /* Do a binary search in `char_index', which is ordered by code point. */ table = font->char_index; + + /* Use BMP index if possible. */ + if (code < 0x10000) + { + if (font->bmp_idx[code] == 0xffff) + return 0; + return &table[font->bmp_idx[code]]; + } + + /* Do a binary search in `char_index', which is ordered by code point. */ lo = 0; hi = font->num_chars - 1; diff --git a/include/grub/efi/graphics_output.h b/include/grub/efi/graphics_output.h new file mode 100644 index 000000000..a55869dc7 --- /dev/null +++ b/include/grub/efi/graphics_output.h @@ -0,0 +1,96 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * GRUB 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. + * + * GRUB 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 GRUB. If not, see . + */ + +#ifndef GRUB_EFI_GOP_HEADER +#define GRUB_EFI_GOP_HEADER 1 + +/* Based on UEFI specification. */ + +#define GRUB_EFI_GOP_GUID \ + { 0x9042a9de, 0x23dc, 0x4a38, { 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a }} + +typedef enum + { + GRUB_EFI_GOT_RGBA8, + GRUB_EFI_GOT_BGRA8, + GRUB_EFI_GOT_BITMASK + } + grub_efi_gop_pixel_format_t; + +struct grub_efi_gop_pixel_bitmask +{ + grub_uint32_t r; + grub_uint32_t g; + grub_uint32_t b; + grub_uint32_t a; +}; + +struct grub_efi_gop_mode_info +{ + grub_efi_uint32_t version; + grub_efi_uint32_t width; + grub_efi_uint32_t height; + grub_efi_gop_pixel_format_t pixel_format; + struct grub_efi_gop_pixel_bitmask pixel_bitmask; + grub_efi_uint32_t pixels_per_scanline; +}; + +struct grub_efi_gop_mode +{ + grub_efi_uint32_t max_mode; + grub_efi_uint32_t mode; + struct grub_efi_gop_mode_info *info; + grub_efi_uintn_t info_size; + grub_efi_physical_address_t fb_base; + grub_efi_uintn_t fb_size; +}; + +/* Forward declaration. */ +struct grub_efi_gop; + +typedef grub_efi_status_t +(*grub_efi_gop_query_mode_t) (struct grub_efi_gop *this, + grub_efi_uint32_t mode_number, + grub_efi_uintn_t *size_of_info, + struct grub_efi_gop_mode_info **info); + +typedef grub_efi_status_t +(*grub_efi_gop_set_mode_t) (struct grub_efi_gop *this, + grub_efi_uint32_t mode_number); + +typedef grub_efi_status_t +(*grub_efi_gop_blt_t) (struct grub_efi_gop *this, + void *buffer, + grub_efi_uintn_t operation, + grub_efi_uintn_t sx, + grub_efi_uintn_t sy, + grub_efi_uintn_t dx, + grub_efi_uintn_t dy, + grub_efi_uintn_t width, + grub_efi_uintn_t height, + grub_efi_uintn_t delta); + +struct grub_efi_gop +{ + grub_efi_gop_query_mode_t query_mode; + grub_efi_gop_set_mode_t set_mode; + grub_efi_gop_blt_t blt; + struct grub_efi_gop_mode *mode; +}; + +#endif diff --git a/po/ChangeLog b/po/ChangeLog deleted file mode 100644 index 6e537ccbf..000000000 --- a/po/ChangeLog +++ /dev/null @@ -1,43 +0,0 @@ -2009-11-24 Robert Millan - - * zh_CN.po: New file. - * LINGUAS: Add `zh_CN'. - -2009-11-23 Robert Millan - - * id.po: New file. - * LINGUAS: Add `id'. - -2009-11-23 Carles Pina i Estany - - * POTFILES: Add `normal/menu_text.c'. - * ca.po: Add new translations. - -2009-11-19 Robert Millan - - * POTFILES: Add `util/i386/pc/grub-setup.c'. - -2009-11-19 Robert Millan - - * POTFILES: Add `util/mkisofs/eltorito.c', `util/mkisofs/joliet.c', - `util/mkisofs/mkisofs.c', `util/mkisofs/multi.c', - `util/mkisofs/rock.c', `util/mkisofs/tree.c', and - `util/mkisofs/write.c'. - -2009-11-18 Robert Millan - - * POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in' - and `util/grub.d/10_linux.in'. - -2009-11-17 Robert Millan - - * ca.po: Fix PO-Revision-Date and Language-Team fields. - -2009-11-17 Robert Millan - - * LINGUAS: New file. - -2009-11-16 Robert Millan - - * POTFILES: New file. - * ca.po: New file. diff --git a/po/LINGUAS b/po/LINGUAS deleted file mode 100644 index 9bc3e53c1..000000000 --- a/po/LINGUAS +++ /dev/null @@ -1,3 +0,0 @@ -ca -id -zh_CN diff --git a/po/README b/po/README new file mode 100644 index 000000000..801599583 --- /dev/null +++ b/po/README @@ -0,0 +1,24 @@ + +If you checked out this source tree directly from GRUB Bazaar, you might +be wondering where are the POT and PO files. Here are some instructions +that will hopefully clarify the situation. + + - If you're a user or a distributor, simply fill the po directory by + importing translations from the Translation Project: + + rsync -Lrtvz translationproject.org::tp/latest/grub/ po + + GRUB's build system will automatically detect those and include them + in your install. + + - If you're a translator and want to add a new translation or improve an + existing one, get in touch with the Translation Project + (http://translationproject.org/). The GRUB project doesn't interact + with translators directly (but we dearly appreciate your work!). + + - If you're a developer adding/removing/modifiing translatable strings, + you can check that these turn into a sane POT file by using the + `po/grub.pot' make rule. + + - If you're the maintainer of GNU GRUB preparing a new release, don't + forget to include the latest PO files in your source tarball! diff --git a/po/ca.po b/po/ca.po deleted file mode 100644 index 58783edbd..000000000 --- a/po/ca.po +++ /dev/null @@ -1,1018 +0,0 @@ -# Copyright (C) 2009 Free Software Foundation, Inc -# This file is distributed under the same license as the GNU GRUB package. -# Robert Millan , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: GNU GRUB\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-22 11:45+0000\n" -"PO-Revision-Date: 2009-11-17 12:26+0100\n" -"Last-Translator: Robert Millan \n" -"Language-Team: None \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: util/i386/pc/grub-mkimage.c:65 -msgid "the core image is too small" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:77 -msgid "cannot compress the kernel image" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:138 -msgid "prefix is too long" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:206 -msgid "the core image is too big" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:211 -#, c-format -msgid "diskboot.img size must be %u bytes" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:284 -#, c-format -msgid "Core image is too big (%p > %p)\n" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:321 util/i386/pc/grub-setup.c:587 -#, c-format -msgid "Try ``%s --help'' for more information.\n" -msgstr "Proveu «%s --help» per a obtenir més informació.\n" - -#: util/i386/pc/grub-mkimage.c:323 -#, c-format -msgid "" -"Usage: grub-mkimage [OPTION]... [MODULES]\n" -"\n" -"Make a bootable image of GRUB.\n" -"\n" -" -d, --directory=DIR use images and modules under DIR [default=%s]\n" -" -p, --prefix=DIR set grub_prefix directory [default=%s]\n" -" -m, --memdisk=FILE embed FILE as a memdisk image\n" -" -c, --config=FILE embed FILE as boot config\n" -" -o, --output=FILE output a generated image to FILE [default=stdout]\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:429 -#, c-format -msgid "cannot open %s" -msgstr "" - -#: util/i386/pc/grub-setup.c:166 -msgid "The first sector of the core file is not sector-aligned" -msgstr "" - -#: util/i386/pc/grub-setup.c:180 -msgid "Non-sector-aligned data is found in the core file" -msgstr "" - -#: util/i386/pc/grub-setup.c:194 -msgid "The sectors of the core file are too fragmented" -msgstr "" - -#: util/i386/pc/grub-setup.c:205 -#, c-format -msgid "The size of `%s' is not %u" -msgstr "" - -#: util/i386/pc/grub-setup.c:222 -#, c-format -msgid "The size of `%s' is too small" -msgstr "" - -#: util/i386/pc/grub-setup.c:224 -#, c-format -msgid "The size of `%s' is too large" -msgstr "" - -#: util/i386/pc/grub-setup.c:261 -#, c-format -msgid "Unable to identify a filesystem in %s; safety check can't be performed" -msgstr "" - -#: util/i386/pc/grub-setup.c:265 -#, c-format -msgid "" -"%s appears to contain a %s filesystem which isn't known to reserve space for " -"DOS-style boot. Installing GRUB there could result in FILESYSTEM " -"DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe " -"disables this check, use at your own risk)" -msgstr "" - -#: util/i386/pc/grub-setup.c:314 -msgid "No DOS-style partitions found" -msgstr "" - -#: util/i386/pc/grub-setup.c:330 util/i386/pc/grub-setup.c:355 -msgid "" -"Attempting to install GRUB to a partitionless disk. This is a BAD idea." -msgstr "" - -#: util/i386/pc/grub-setup.c:336 -msgid "" -"Attempting to install GRUB to a partition instead of the MBR. This is a BAD " -"idea." -msgstr "" - -#: util/i386/pc/grub-setup.c:365 -msgid "" -"This msdos-style partition label has no post-MBR gap; embedding won't be " -"possible!" -msgstr "" - -#: util/i386/pc/grub-setup.c:367 -msgid "" -"This GPT partition label has no BIOS Boot Partition; embedding won't be " -"possible!" -msgstr "" - -#: util/i386/pc/grub-setup.c:374 -msgid "Your core.img is unusually large. It won't fit in the embedding area." -msgstr "" - -#: util/i386/pc/grub-setup.c:376 -msgid "Your embedding area is unusually small. core.img won't fit in it." -msgstr "" - -#: util/i386/pc/grub-setup.c:418 -msgid "" -"Embedding is not possible, but this is required when the root device is on a " -"RAID array or LVM volume." -msgstr "" - -#: util/i386/pc/grub-setup.c:421 -msgid "" -"Embedding is not possible. GRUB can only be installed in this setup by " -"using blocklists. However, blocklists are UNRELIABLE and its use is " -"discouraged." -msgstr "" - -#: util/i386/pc/grub-setup.c:425 -msgid "If you really want blocklists, use --force." -msgstr "" - -#: util/i386/pc/grub-setup.c:439 -#, c-format -msgid "attempting to read the core image `%s' from GRUB" -msgstr "" - -#: util/i386/pc/grub-setup.c:440 -#, c-format -msgid "attempting to read the core image `%s' from GRUB again" -msgstr "" - -#: util/i386/pc/grub-setup.c:498 -#, c-format -msgid "Cannot read `%s' correctly" -msgstr "" - -#: util/i386/pc/grub-setup.c:511 -msgid "No terminator in the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:522 -msgid "Failed to read the first sector of the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:528 -msgid "Failed to read the rest sectors of the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:547 -#, c-format -msgid "Cannot open `%s'" -msgstr "" - -#: util/i386/pc/grub-setup.c:589 -#, c-format -msgid "" -"Usage: grub-setup [OPTION]... DEVICE\n" -"\n" -"Set up images to boot from DEVICE.\n" -"DEVICE must be a GRUB device (e.g. ``(hd0,1)'').\n" -"\n" -" -b, --boot-image=FILE use FILE as the boot image [default=%s]\n" -" -c, --core-image=FILE use FILE as the core image [default=%s]\n" -" -d, --directory=DIR use GRUB files in the directory DIR [default=%s]\n" -" -m, --device-map=FILE use FILE as the device map [default=%s]\n" -" -r, --root-device=DEV use DEV as the root device [default=guessed]\n" -" -f, --force install even if problems are detected\n" -" -s, --skip-fs-probe do not probe for filesystems in DEVICE\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:719 -#, c-format -msgid "No device is specified.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:725 -#, c-format -msgid "Unknown extra argument `%s'.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:742 -#, c-format -msgid "Invalid device `%s'.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:755 -#, c-format -msgid "Invalid root device `%s'" -msgstr "" - -#: util/i386/pc/grub-setup.c:768 -msgid "Cannot guess the root device. Specify the option ``--root-device''." -msgstr "" - -#: util/mkisofs/eltorito.c:96 -#, c-format -msgid "A boot catalog exists and appears corrupted.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:97 -#, c-format -msgid "Please check the following file: %s.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:98 -#, c-format -msgid "This file must be removed before a bootable CD can be done.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:110 -#, c-format -msgid "Error creating boot catalog (%s)" -msgstr "" - -#: util/mkisofs/eltorito.c:114 -#, c-format -msgid "Error writing to boot catalog (%s)" -msgstr "" - -#: util/mkisofs/eltorito.c:144 -#, c-format -msgid "Boot catalog cannot be found!\n" -msgstr "" - -#: util/mkisofs/eltorito.c:158 -#, c-format -msgid "Boot image cannot be found!\n" -msgstr "" - -#: util/mkisofs/eltorito.c:221 -#, c-format -msgid "" -"\n" -"Size of boot image is %d sectors" -msgstr "" - -#: util/mkisofs/eltorito.c:227 -#, c-format -msgid "No emulation\n" -msgstr "" - -#: util/mkisofs/eltorito.c:235 -#, c-format -msgid "Emulating a 1.44 meg floppy\n" -msgstr "" - -#: util/mkisofs/eltorito.c:240 -#, c-format -msgid "Emulating a 2.88 meg floppy\n" -msgstr "" - -#: util/mkisofs/eltorito.c:245 -#, c-format -msgid "Emulating a 1.2 meg floppy\n" -msgstr "" - -#: util/mkisofs/eltorito.c:249 -#, c-format -msgid "" -"\n" -"Error - boot image is not the an allowable size.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:269 -msgid "Error opening boot catalog for update" -msgstr "" - -#: util/mkisofs/eltorito.c:275 util/mkisofs/eltorito.c:277 -msgid "Error writing to boot catalog" -msgstr "" - -#: util/mkisofs/eltorito.c:291 -#, c-format -msgid "Error opening boot image file '%s' for update" -msgstr "" - -#: util/mkisofs/eltorito.c:299 -#, c-format -msgid "Odd alignment at non-end-of-file in boot image '%s'" -msgstr "" - -#: util/mkisofs/eltorito.c:311 -#, c-format -msgid "Boot image file '%s' changed unexpectedly" -msgstr "" - -#: util/mkisofs/eltorito.c:323 -#, c-format -msgid "Error writing to boot image (%s)" -msgstr "" - -#: util/mkisofs/joliet.c:359 util/mkisofs/write.c:981 -#, c-format -msgid "Unable to generate sane path tables - too many directories (%d)\n" -msgstr "" - -#: util/mkisofs/joliet.c:398 util/mkisofs/write.c:1017 -#, c-format -msgid "Entry %d not in path tables\n" -msgstr "" - -#: util/mkisofs/joliet.c:412 -#, c-format -msgid "Fatal goof - directory has amnesia\n" -msgstr "" - -#: util/mkisofs/joliet.c:478 -#, c-format -msgid "Joliet path table lengths do not match %d %d\n" -msgstr "" - -#: util/mkisofs/joliet.c:530 -#, c-format -msgid "Unable to locate relocated directory\n" -msgstr "" - -#: util/mkisofs/joliet.c:605 -#, c-format -msgid "Fatal goof - unable to find directory location\n" -msgstr "" - -#: util/mkisofs/joliet.c:654 -#, c-format -msgid "Unexpected joliet directory length %d %d %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:203 -msgid "Process all files (don't skip backup files)" -msgstr "" - -#: util/mkisofs/mkisofs.c:205 -msgid "Set Abstract filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:207 -msgid "Set Application ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:209 -msgid "Set Bibliographic filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:211 -msgid "Set Copyright filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:213 -msgid "Set El Torito boot image name" -msgstr "" - -#: util/mkisofs/mkisofs.c:215 -msgid "Set El Torito boot catalog name" -msgstr "" - -#: util/mkisofs/mkisofs.c:217 -msgid "Patch Boot Info Table in El Torito boot image" -msgstr "" - -#: util/mkisofs/mkisofs.c:219 -msgid "Dummy option for backward compatibility" -msgstr "" - -#: util/mkisofs/mkisofs.c:221 -msgid "Enable floppy drive emulation for El Torito" -msgstr "" - -#: util/mkisofs/mkisofs.c:223 -msgid "Magic parameters from cdrecord" -msgstr "" - -#: util/mkisofs/mkisofs.c:225 -msgid "Omit trailing periods from filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:227 -msgid "Disable deep directory relocation" -msgstr "" - -#: util/mkisofs/mkisofs.c:229 -msgid "Follow symbolic links" -msgstr "" - -#: util/mkisofs/mkisofs.c:231 util/mkisofs/mkisofs.c:233 -msgid "Print option help" -msgstr "" - -#: util/mkisofs/mkisofs.c:235 -msgid "Print version information and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:237 -msgid "Hide ISO9660/RR file" -msgstr "" - -#: util/mkisofs/mkisofs.c:239 -msgid "Hide Joliet file" -msgstr "" - -#: util/mkisofs/mkisofs.c:241 -msgid "No longer supported" -msgstr "" - -#: util/mkisofs/mkisofs.c:243 -msgid "Generate Joliet directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:245 -msgid "Allow full 32 character filenames for iso9660 names" -msgstr "" - -#: util/mkisofs/mkisofs.c:247 -msgid "Allow iso9660 filenames to start with '.'" -msgstr "" - -#: util/mkisofs/mkisofs.c:249 -msgid "Re-direct messages to LOG_FILE" -msgstr "" - -#: util/mkisofs/mkisofs.c:251 -msgid "Exclude file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:253 -msgid "Set path to previous session to merge" -msgstr "" - -#: util/mkisofs/mkisofs.c:255 -msgid "Omit version number from iso9660 filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:257 -msgid "Inhibit splitting symlink components" -msgstr "" - -#: util/mkisofs/mkisofs.c:259 -msgid "Inhibit splitting symlink fields" -msgstr "" - -#: util/mkisofs/mkisofs.c:261 -msgid "Set output file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:263 -msgid "Set Volume preparer" -msgstr "" - -#: util/mkisofs/mkisofs.c:265 -msgid "Print estimated filesystem size and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:267 -msgid "Set Volume publisher" -msgstr "" - -#: util/mkisofs/mkisofs.c:269 -msgid "Run quietly" -msgstr "" - -#: util/mkisofs/mkisofs.c:271 -msgid "Generate rationalized Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:273 -msgid "Generate Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:275 -msgid "Split output into files of approx. 1GB size" -msgstr "" - -#: util/mkisofs/mkisofs.c:277 -msgid "Set System ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:279 -msgid "" -"Generate translation tables for systems that don't understand long filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:281 -msgid "Verbose" -msgstr "" - -#: util/mkisofs/mkisofs.c:283 -msgid "Set Volume ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:285 -msgid "Set Volume set ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:287 -msgid "Set Volume set size" -msgstr "" - -#: util/mkisofs/mkisofs.c:289 -msgid "Set Volume set sequence number" -msgstr "" - -#: util/mkisofs/mkisofs.c:291 -msgid "Exclude file name (deprecated)" -msgstr "" - -#: util/mkisofs/mkisofs.c:297 -msgid "Override creation date" -msgstr "" - -#: util/mkisofs/mkisofs.c:299 -msgid "Override modification date" -msgstr "" - -#: util/mkisofs/mkisofs.c:301 -msgid "Override expiration date" -msgstr "" - -#: util/mkisofs/mkisofs.c:303 -msgid "Override effective date" -msgstr "" - -#: util/mkisofs/mkisofs.c:373 -#, c-format -msgid "Using \"%s\"\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:401 -#, c-format -msgid "%s:%d: name required\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:411 -#, c-format -msgid "%s:%d: equals sign required\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:445 -#, c-format -msgid "%s:%d: field name \"%s\" unknown\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:474 -#, c-format -msgid "Usage: %s [options] file...\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:476 -#, c-format -msgid "Options:\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:706 -#, c-format -msgid "-i option no longer supported.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:720 -#, c-format -msgid "Required boot image pathname missing\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:729 -#, c-format -msgid "Required boot catalog pathname missing\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:737 -#, c-format -msgid "Ignoring -no-emul-boot (no-emulation is the default behaviour)\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:746 -#, c-format -msgid "Abstract filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:754 -#, c-format -msgid "Application-id string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:762 -#, c-format -msgid "Bibliographic filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:770 -#, c-format -msgid "Copyright filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:805 -#, c-format -msgid "Preparer string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:816 -#, c-format -msgid "Publisher string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:837 -#, c-format -msgid "System ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:848 -#, c-format -msgid "Volume ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:856 -#, c-format -msgid "Volume set ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:867 -#, c-format -msgid "Volume set sequence number too big\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:909 util/mkisofs/mkisofs.c:919 -#: util/mkisofs/mkisofs.c:929 util/mkisofs/mkisofs.c:939 -#, c-format -msgid "date string must be 16 characters.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:958 -msgid "Warning: getrlimit" -msgstr "" - -#: util/mkisofs/mkisofs.c:962 -msgid "Warning: setrlimit" -msgstr "" - -#: util/mkisofs/mkisofs.c:978 -#, c-format -msgid "Multisession usage bug: Must specify -C if -M is used.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:984 -#, c-format -msgid "" -"Warning: -C specified without -M: old session data will not be merged.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1023 -#, c-format -msgid "can't open logfile: %s" -msgstr "" - -#: util/mkisofs/mkisofs.c:1027 -#, c-format -msgid "re-directing all messages to %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1032 -#, c-format -msgid "can't open logfile: %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1073 -#, c-format -msgid "Unable to open previous session image %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1184 -#, c-format -msgid "Invalid node - %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1246 -msgid "Joliet tree sort failed.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1261 -msgid "Unable to open /dev/null\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1265 -msgid "Unable to open disc image file\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1387 -#, c-format -msgid "Max brk space used %x\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1390 -#, c-format -msgid "%llu extents written (%llu MiB)\n" -msgstr "" - -#: util/mkisofs/multi.c:161 -msgid "Seek error on old image\n" -msgstr "" - -#: util/mkisofs/multi.c:179 util/mkisofs/multi.c:250 -#, c-format -msgid "**Bad RR version attribute" -msgstr "" - -#: util/mkisofs/multi.c:546 -#, c-format -msgid "" -"Warning: Neither Rock Ridge (-R) nor TRANS.TBL (-T) name translations were " -"found on previous session. ISO (8.3) file names have been used instead.\n" -msgstr "" - -#: util/mkisofs/multi.c:764 -#, c-format -msgid "Read error on old image %s\n" -msgstr "" - -#: util/mkisofs/multi.c:1084 -msgid "Special parameters for cdwrite not specified with -C\n" -msgstr "" - -#: util/mkisofs/multi.c:1091 -msgid "Malformed cdwrite parameters\n" -msgstr "" - -#: util/mkisofs/rock.c:309 -#, c-format -msgid "symbolic link ``%s'' to long for one SL System Use Field, splitting" -msgstr "" - -#: util/mkisofs/rock.c:517 -#, c-format -msgid "Unable to insert transparent compressed file - name conflict\n" -msgstr "" - -#: util/mkisofs/rock.c:591 -msgid "Extension record too long\n" -msgstr "" - -#: util/mkisofs/tree.c:226 util/mkisofs/write.c:565 util/mkisofs/write.c:1037 -msgid "Fatal goof\n" -msgstr "" - -#: util/mkisofs/tree.c:284 -#, c-format -msgid "Unable to generate unique name for file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:295 util/mkisofs/tree.c:317 -#, c-format -msgid "Using %s for %s%s%s (%s)\n" -msgstr "" - -#: util/mkisofs/tree.c:441 -#, c-format -msgid "Fatal error - RR overflow for file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:449 -#, c-format -msgid "Unable to sort directory %s\n" -msgstr "" - -#: util/mkisofs/tree.c:480 -#, c-format -msgid "Translation table size mismatch %d %d\n" -msgstr "" - -#: util/mkisofs/tree.c:746 -msgid "Unable to locate directory parent\n" -msgstr "" - -#: util/mkisofs/tree.c:796 -#, c-format -msgid "Scanning %s\n" -msgstr "" - -#: util/mkisofs/tree.c:811 -#, c-format -msgid "Unable to open directory %s\n" -msgstr "" - -#: util/mkisofs/tree.c:856 -#, c-format -msgid "Ignoring file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:863 -msgid "Overflow of stat buffer\n" -msgstr "" - -#: util/mkisofs/tree.c:876 -#, c-format -msgid "Excluded by match: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:891 -#, c-format -msgid "Excluded: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:961 -#, c-format -msgid "Non-existant or inaccessible: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:997 util/mkisofs/tree.c:1103 -#, c-format -msgid "Unable to stat file %s - ignoring and continuing.\n" -msgstr "" - -#: util/mkisofs/tree.c:1003 -#, c-format -msgid "Symlink %s ignored - continuing.\n" -msgstr "" - -#: util/mkisofs/tree.c:1028 -#, c-format -msgid "Already cached directory seen (%s)\n" -msgstr "" - -#: util/mkisofs/tree.c:1070 -#, c-format -msgid "File %s is not readable (%s) - ignoring\n" -msgstr "" - -#: util/mkisofs/tree.c:1083 -#, c-format -msgid "Directory loop - fatal goof (%s %lx %lu).\n" -msgstr "" - -#: util/mkisofs/tree.c:1093 -#, c-format -msgid "Unknown file type %s - ignoring and continuing.\n" -msgstr "" - -#: util/mkisofs/tree.c:1179 -#, c-format -msgid "Hidden from ISO9660 tree: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:1191 -#, c-format -msgid "Hidden from Joliet tree: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:1600 -#, c-format -msgid "Directories too deep %s\n" -msgstr "" - -#: util/mkisofs/tree.c:1632 -msgid "Unable to delete non-empty directory\n" -msgstr "" - -#: util/mkisofs/tree.c:1655 -msgid "Unable to locate child directory in parent list\n" -msgstr "" - -#: util/mkisofs/tree.c:1772 -#, c-format -msgid "call to search_tree_file with an absolute path, stripping\n" -msgstr "" - -#: util/mkisofs/tree.c:1773 -#, c-format -msgid "initial path separator. Hope this was intended...\n" -msgstr "" - -#: util/mkisofs/write.c:158 -#, c-format -msgid "Cannot open '%s'" -msgstr "" - -#: util/mkisofs/write.c:166 -#, c-format -msgid "cannot fwrite %llu*%llu\n" -msgstr "" - -#: util/mkisofs/write.c:248 -#, c-format -msgid "cannot open %s\n" -msgstr "" - -#: util/mkisofs/write.c:257 -#, c-format -msgid "cannot read %llu bytes from %s" -msgstr "" - -#: util/mkisofs/write.c:275 -#, c-format -msgid "%6.2f%% done, estimate finish %s" -msgstr "" - -#: util/mkisofs/write.c:542 -#, c-format -msgid "Cache hit for %s%s%s\n" -msgstr "" - -#: util/mkisofs/write.c:896 -#, c-format -msgid "Unexpected directory length %d %d %s\n" -msgstr "" - -#: util/mkisofs/write.c:908 -#, c-format -msgid "Continuation entry record length mismatch (%d %d).\n" -msgstr "" - -#: util/mkisofs/write.c:1072 -#, c-format -msgid "Path table lengths do not match %d %d\n" -msgstr "" - -#: util/mkisofs/write.c:1118 util/mkisofs/write.c:1128 -#, c-format -msgid "Total extents scheduled to be written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1145 -#, c-format -msgid "Total extents actually written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1154 -#, c-format -msgid "" -"Number of extents written different than what was predicted. Please fix.\n" -msgstr "" - -#: util/mkisofs/write.c:1155 -#, c-format -msgid "Predicted = %d, written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1158 -#, c-format -msgid "Total translation table size: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1159 -#, c-format -msgid "Total rockridge attributes bytes: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1160 -#, c-format -msgid "Total directory bytes: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1161 -#, c-format -msgid "Path table size(bytes): %d\n" -msgstr "" - -#: normal/menu_text.c:97 -#, c-format -msgid "" -"\n" -" Use the %C and %C keys to select which entry is highlighted.\n" -msgstr "" -"\n" -" Utilitzeu les tecles %C i %C per a seleccionar l'entrada ressaltada.\n" - -#: util/grub.d/10_kfreebsd.in:40 -msgid "%s, with kFreeBSD %s" -msgstr "" - -#: util/grub.d/10_linux.in:57 -msgid "%s, with Linux %s (recovery mode)" -msgstr "" - -#: util/grub.d/10_linux.in:59 -msgid "%s, with Linux %s" -msgstr "" diff --git a/po/id.po b/po/id.po deleted file mode 100644 index 066e3cefc..000000000 --- a/po/id.po +++ /dev/null @@ -1,1149 +0,0 @@ -# Pesan Bahasa Indonesia untuk grub. -# Copyright (C) 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the grub package. -# Arif E. Nugroho , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: grub 1.97+20091122\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-24 01:21+0100\n" -"PO-Revision-Date: 2009-11-22 20:00+0700\n" -"Last-Translator: Arif E. Nugroho \n" -"Language-Team: Indonesian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: util/i386/pc/grub-mkimage.c:65 -msgid "the core image is too small" -msgstr "image core terlalu kecil" - -#: util/i386/pc/grub-mkimage.c:77 -msgid "cannot compress the kernel image" -msgstr "tidak dapat mengkompress image kernel" - -#: util/i386/pc/grub-mkimage.c:138 -msgid "prefix is too long" -msgstr "awalan terlalu panjang" - -#: util/i386/pc/grub-mkimage.c:206 -msgid "the core image is too big" -msgstr "image core terlalu besar" - -#: util/i386/pc/grub-mkimage.c:211 -#, c-format -msgid "diskboot.img size must be %u bytes" -msgstr "besar diskboot.img seharusnya %u bytes" - -#: util/i386/pc/grub-mkimage.c:284 -#, c-format -msgid "Core image is too big (%p > %p)\n" -msgstr "Image core terlalu besar (%p >%p)\n" - -#: util/i386/pc/grub-mkimage.c:321 util/i386/pc/grub-setup.c:587 -#, c-format -msgid "Try ``%s --help'' for more information.\n" -msgstr "Coba ``%s --help'' untuk informasi lebih lanjut.\n" - -#: util/i386/pc/grub-mkimage.c:323 -#, c-format -msgid "" -"Usage: grub-mkimage [OPTION]... [MODULES]\n" -"\n" -"Make a bootable image of GRUB.\n" -"\n" -" -d, --directory=DIR use images and modules under DIR [default=%s]\n" -" -p, --prefix=DIR set grub_prefix directory [default=%s]\n" -" -m, --memdisk=FILE embed FILE as a memdisk image\n" -" -c, --config=FILE embed FILE as boot config\n" -" -o, --output=FILE output a generated image to FILE [default=stdout]\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" -"Penggunaan: grub-mkimage [PILIHAN]... [MODUL]\n" -"\n" -"Buat sebuah image GRUB yang dapat diboot.\n" -"\n" -" -d, --directory=DIR gunakan image dan modul dibawah DIR [baku=%s]\n" -" -p, --prefix=DIR set direktori grub_prefix [baku=%s]\n" -" -m, --memdisk=BERKAS tempatkan BERKAS sebagai sebuah image memdisk\n" -" -c, --config=BERKAS tempatkan BERKAS sebagai konfigurasi boot\n" -" -o, --output=BERKAS keluarkan sebuah image yang dihasilkan ke BERKAS " -"[baku=stdout]\n" -" -h, --help tampilkan pesan ini dan keluar\n" -" -V, --version tampilkan informasi versi dan keluar\n" -" -v, --verbose tampilkan informasi secara detail\n" -"\n" -"Laporkan bugs ke <%s>.\n" - -#: util/i386/pc/grub-mkimage.c:429 -#, c-format -msgid "cannot open %s" -msgstr "tidak dapat membuka %s" - -#: util/i386/pc/grub-setup.c:166 -msgid "The first sector of the core file is not sector-aligned" -msgstr "Sektor pertama dari berkas core tidak selaras secara sektor" - -#: util/i386/pc/grub-setup.c:180 -msgid "Non-sector-aligned data is found in the core file" -msgstr "Sektor-tidak-selaras data ditemukan dalam berkas core" - -#: util/i386/pc/grub-setup.c:194 -msgid "The sectors of the core file are too fragmented" -msgstr "Sektor dari berkas core terlalu terpotong potong" - -#: util/i386/pc/grub-setup.c:205 -#, c-format -msgid "The size of `%s' is not %u" -msgstr "Ukuran dari `%s' bukan %u" - -#: util/i386/pc/grub-setup.c:222 -#, c-format -msgid "The size of `%s' is too small" -msgstr "Ukuran dari `%s' terlalu kecil" - -#: util/i386/pc/grub-setup.c:224 -#, c-format -msgid "The size of `%s' is too large" -msgstr "Ukuran dari `%s' terlalu besar" - -#: util/i386/pc/grub-setup.c:261 -#, c-format -msgid "Unable to identify a filesystem in %s; safety check can't be performed" -msgstr "" -"Tidak dapat mengidentifikasikan sebuah sistem berkas dalam %s; pemeriksaan " -"keamanan tidak dapat dilakukan" - -#: util/i386/pc/grub-setup.c:265 -#, c-format -msgid "" -"%s appears to contain a %s filesystem which isn't known to reserve space for " -"DOS-style boot. Installing GRUB there could result in FILESYSTEM " -"DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe " -"disables this check, use at your own risk)" -msgstr "" -"%s sepertinya berisi sebuah sistem berkas %s yang tidak diketahui untuk " -"mereserve ruang untuk boot gaya-DOS. Memasang GRUB disana dapat berakibat " -"KERUSAKAN SISTEM BERKAS jika data berharga dipaksa tulis oleh grub-setup (--" -"skip-fs-probe menonaktifkan pemeriksaan ini, gunakan sesuai resiko anda)" - -#: util/i386/pc/grub-setup.c:314 -msgid "No DOS-style partitions found" -msgstr "Tidak ditemukan gaya partisi DOS" - -#: util/i386/pc/grub-setup.c:330 util/i386/pc/grub-setup.c:355 -msgid "" -"Attempting to install GRUB to a partitionless disk. This is a BAD idea." -msgstr "" -"Mencoba memasang GRUB ke sebuah disk yang tidak berpartisi. Ini mungkin " -"bukan ide baik." - -#: util/i386/pc/grub-setup.c:336 -msgid "" -"Attempting to install GRUB to a partition instead of the MBR. This is a BAD " -"idea." -msgstr "" -"Mencoba memasang GRUB ke sebuah partisi daripada MBR. Ini mungkin bukan ide " -"baik." - -#: util/i386/pc/grub-setup.c:365 -msgid "" -"This msdos-style partition label has no post-MBR gap; embedding won't be " -"possible!" -msgstr "" -"Label partisi gaya msdos ini tidak memiliki post-MBR gap; penempatan tidak " -"memungkinkan!" - -#: util/i386/pc/grub-setup.c:367 -msgid "" -"This GPT partition label has no BIOS Boot Partition; embedding won't be " -"possible!" -msgstr "" -"Label partisi GPT ini tidak memiliki partisi boot BIOS; penempatan tidak " -"memungkinkan!" - -#: util/i386/pc/grub-setup.c:374 -msgid "Your core.img is unusually large. It won't fit in the embedding area." -msgstr "" -"Besar core.img anda sangat besar. Ini tidak akan masuk dalam area penempatan." - -#: util/i386/pc/grub-setup.c:376 -msgid "Your embedding area is unusually small. core.img won't fit in it." -msgstr "Penempatan anda sangat kecil. core.img tidak akan masuk disana." - -#: util/i386/pc/grub-setup.c:418 -msgid "" -"Embedding is not possible, but this is required when the root device is on a " -"RAID array or LVM volume." -msgstr "" -"Penempatan tidak memungkinkan, tetapi ini dibutuhkan ketika perangkat root " -"berada di sebuah array RAID atau volume LVM." - -#: util/i386/pc/grub-setup.c:421 -msgid "" -"Embedding is not possible. GRUB can only be installed in this setup by " -"using blocklists. However, blocklists are UNRELIABLE and its use is " -"discouraged." -msgstr "" -"Penempatan tidak memungkinkan. GRUB hanya dapat dipasang di konfigurasi ini " -"dengan menggunakan blocklists. Akan tetapi, blocklists TIDAK DAPAT DIJAGAKAN " -"dan penggunaan ini tidak disarankan." - -#: util/i386/pc/grub-setup.c:425 -msgid "If you really want blocklists, use --force." -msgstr "Jika anda benar benar menginginkan blocklists, gunakan --force." - -#: util/i386/pc/grub-setup.c:439 -#, c-format -msgid "attempting to read the core image `%s' from GRUB" -msgstr "mencoba untuk membaca image core `%s' dari GRUB" - -#: util/i386/pc/grub-setup.c:440 -#, c-format -msgid "attempting to read the core image `%s' from GRUB again" -msgstr "mencoba untuk membaca image core `%s' dari GRUB lagi" - -#: util/i386/pc/grub-setup.c:498 -#, c-format -msgid "Cannot read `%s' correctly" -msgstr "Tidak dapat membaca `%s' secara benar" - -#: util/i386/pc/grub-setup.c:511 -msgid "No terminator in the core image" -msgstr "Tidak ada pengakhir dalam image core" - -#: util/i386/pc/grub-setup.c:522 -msgid "Failed to read the first sector of the core image" -msgstr "Gagal untuk membaca sektor pertama dari core image" - -#: util/i386/pc/grub-setup.c:528 -msgid "Failed to read the rest sectors of the core image" -msgstr "Gagal untuk membaca sektor selanjutnya dari image core" - -#: util/i386/pc/grub-setup.c:547 -#, c-format -msgid "Cannot open `%s'" -msgstr "Tidak dapat membuka `%s'" - -#: util/i386/pc/grub-setup.c:589 -#, c-format -msgid "" -"Usage: grub-setup [OPTION]... DEVICE\n" -"\n" -"Set up images to boot from DEVICE.\n" -"DEVICE must be a GRUB device (e.g. ``(hd0,1)'').\n" -"\n" -" -b, --boot-image=FILE use FILE as the boot image [default=%s]\n" -" -c, --core-image=FILE use FILE as the core image [default=%s]\n" -" -d, --directory=DIR use GRUB files in the directory DIR [default=%s]\n" -" -m, --device-map=FILE use FILE as the device map [default=%s]\n" -" -r, --root-device=DEV use DEV as the root device [default=guessed]\n" -" -f, --force install even if problems are detected\n" -" -s, --skip-fs-probe do not probe for filesystems in DEVICE\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" -"Penggunaan: grub-setup [PILIHAN]... PERANGKAT\n" -"\n" -"Konfigurasi image untuk boot dari PERANGKAT.\n" -"PERANGKAT harus berupa sebuah perangkat GRUB (e.g. ``(hd0,1)'').\n" -"\n" -" -b, --boot-image=BERKAS gunakan BERKAS sebagai image boot [baku=%s]\n" -" -c, --core-image=BERKAS gunakan BERKAS sebagai image core [baku=%s]\n" -" -d, --directory=DIR gunakan berkas GRUB dalam direktori DIR [baku=%s]\n" -" -m, --device-map=BERKAS gunakan BERKAS sebagai peta perangkat [baku=%s]\n" -" -r, --root-device=DEV gunakan DEV sebagai perangkat root [baku=ditebak]\n" -" -f, --force pasang walaupun masalah terdeteksi\n" -" -s, --skip-fs-probe jangan periksa untuk sistem berkas dalam " -"PERANGKAT\n" -" -h, --help tampilkan pesan bantuan ini dan keluar\n" -" -V, --version tampilkan informasi versi dan keluar\n" -" -v, --verbose tampilkan informasi secara detail\n" -"\n" -"Laporkan bugs ke <%s>.\n" - -#: util/i386/pc/grub-setup.c:719 -#, c-format -msgid "No device is specified.\n" -msgstr "Perangkat tidak dispesifikasikan.\n" - -#: util/i386/pc/grub-setup.c:725 -#, c-format -msgid "Unknown extra argument `%s'.\n" -msgstr "Argumen ekstra `%s' tidak diketahui.\n" - -#: util/i386/pc/grub-setup.c:742 -#, c-format -msgid "Invalid device `%s'.\n" -msgstr "Perangkat `%s' tidak valid.\n" - -#: util/i386/pc/grub-setup.c:755 -#, c-format -msgid "Invalid root device `%s'" -msgstr "Perangkat root `%s' tidak valid" - -#: util/i386/pc/grub-setup.c:768 -msgid "Cannot guess the root device. Specify the option ``--root-device''." -msgstr "" -"Tidak dapat menebak perangkat root. Spesifikasikan pilihan ``--root-device''." - -#: util/mkisofs/eltorito.c:96 -#, c-format -msgid "A boot catalog exists and appears corrupted.\n" -msgstr "Sebuah katalog boot ada dan mungkin terkorupsi.\n" - -#: util/mkisofs/eltorito.c:97 -#, c-format -msgid "Please check the following file: %s.\n" -msgstr "Mohon periksa berkas berikut: %s.\n" - -#: util/mkisofs/eltorito.c:98 -#, c-format -msgid "This file must be removed before a bootable CD can be done.\n" -msgstr "" -"Berkas ini mungkin telah terhapus sebelum sebuah CD bootable dapat " -"dilakukan.\n" - -#: util/mkisofs/eltorito.c:110 -#, c-format -msgid "Error creating boot catalog (%s)" -msgstr "Error membuat katalog boot (%s)" - -#: util/mkisofs/eltorito.c:114 -#, c-format -msgid "Error writing to boot catalog (%s)" -msgstr "Error menulis katalog boot (%s)" - -#: util/mkisofs/eltorito.c:144 -#, c-format -msgid "Boot catalog cannot be found!\n" -msgstr "Katalog boot tidak dapat ditemukan!\n" - -#: util/mkisofs/eltorito.c:158 -#, c-format -msgid "Boot image cannot be found!\n" -msgstr "Image boot tidak dapat ditemukan!\n" - -#: util/mkisofs/eltorito.c:221 -#, c-format -msgid "" -"\n" -"Size of boot image is %d sectors" -msgstr "" -"\n" -"Ukuran dari boot image adalah %d sektor" - -#: util/mkisofs/eltorito.c:227 -#, c-format -msgid "No emulation\n" -msgstr "Tidak ada emulasi\n" - -#: util/mkisofs/eltorito.c:235 -#, c-format -msgid "Emulating a 1.44 meg floppy\n" -msgstr "Mengemulasikan sebuah 1.44 meg floppy\n" - -#: util/mkisofs/eltorito.c:240 -#, c-format -msgid "Emulating a 2.88 meg floppy\n" -msgstr "Mengemulasikan sebuah 2.88 meg floppy\n" - -#: util/mkisofs/eltorito.c:245 -#, c-format -msgid "Emulating a 1.2 meg floppy\n" -msgstr "Mengemulasikan sebuah 1.2 meg floppy\n" - -#: util/mkisofs/eltorito.c:249 -#, c-format -msgid "" -"\n" -"Error - boot image is not the an allowable size.\n" -msgstr "" -"\n" -"Error - image boot tidak berukuran yang diperbolehkan.\n" - -#: util/mkisofs/eltorito.c:269 -msgid "Error opening boot catalog for update" -msgstr "Error membuka katalog boot untuk diperbarui" - -#: util/mkisofs/eltorito.c:275 util/mkisofs/eltorito.c:277 -msgid "Error writing to boot catalog" -msgstr "Error menulis ke katalog boot" - -#: util/mkisofs/eltorito.c:291 -#, c-format -msgid "Error opening boot image file '%s' for update" -msgstr "Error membuka berkas boot image '%s' untuk diperbarui" - -#: util/mkisofs/eltorito.c:299 -#, c-format -msgid "Odd alignment at non-end-of-file in boot image '%s'" -msgstr "Penyesuaian janggal di akhir-dari-berkas dalam image boot '%s'" - -#: util/mkisofs/eltorito.c:311 -#, c-format -msgid "Boot image file '%s' changed unexpectedly" -msgstr "Berkas image boot '%s' berubah secara tidak terduga" - -#: util/mkisofs/eltorito.c:323 -#, c-format -msgid "Error writing to boot image (%s)" -msgstr "Error menulis ke boot image (%s)" - -#: util/mkisofs/joliet.c:359 util/mkisofs/write.c:981 -#, c-format -msgid "Unable to generate sane path tables - too many directories (%d)\n" -msgstr "" -"Tidak dapat menghasilkan tabel jalur yang masuk akal - terlalu banyak " -"direktori (%d)\n" - -#: util/mkisofs/joliet.c:398 util/mkisofs/write.c:1017 -#, c-format -msgid "Entry %d not in path tables\n" -msgstr "Masukan %d tidak dalam tabel jalur\n" - -#: util/mkisofs/joliet.c:412 -#, c-format -msgid "Fatal goof - directory has amnesia\n" -msgstr "Fatal goof - direktori memiliki amnesia\n" - -#: util/mkisofs/joliet.c:478 -#, c-format -msgid "Joliet path table lengths do not match %d %d\n" -msgstr "Panjang tabel jalur joliet tidak cocok %d %d\n" - -#: util/mkisofs/joliet.c:530 -#, c-format -msgid "Unable to locate relocated directory\n" -msgstr "Tidak dapat menempatkan direktori yang ditempatkan\n" - -#: util/mkisofs/joliet.c:605 -#, c-format -msgid "Fatal goof - unable to find directory location\n" -msgstr "Fatal goof - tidak dapat menemukan lokasi direktori\n" - -#: util/mkisofs/joliet.c:654 -#, c-format -msgid "Unexpected joliet directory length %d %d %s\n" -msgstr "Panjang direktori joliet tidak terduga %d %d %s\n" - -#: util/mkisofs/mkisofs.c:203 -msgid "Process all files (don't skip backup files)" -msgstr "" - -#: util/mkisofs/mkisofs.c:205 -#, fuzzy -msgid "Set Abstract filename" -msgstr "String nama berkas abstrak terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:207 -msgid "Set Application ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:209 -#, fuzzy -msgid "Set Bibliographic filename" -msgstr "String nama berkas bibliographic terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:211 -#, fuzzy -msgid "Set Copyright filename" -msgstr "String nama berkas Hak Cipta terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:213 -msgid "Set El Torito boot image name" -msgstr "" - -#: util/mkisofs/mkisofs.c:215 -#, fuzzy -msgid "Set El Torito boot catalog name" -msgstr "Error menulis ke katalog boot" - -#: util/mkisofs/mkisofs.c:217 -msgid "Patch Boot Info Table in El Torito boot image" -msgstr "" - -#: util/mkisofs/mkisofs.c:219 -msgid "Dummy option for backward compatibility" -msgstr "" - -#: util/mkisofs/mkisofs.c:221 -msgid "Enable floppy drive emulation for El Torito" -msgstr "" - -#: util/mkisofs/mkisofs.c:223 -msgid "Magic parameters from cdrecord" -msgstr "" - -#: util/mkisofs/mkisofs.c:225 -msgid "Omit trailing periods from filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:227 -#, fuzzy -msgid "Disable deep directory relocation" -msgstr "Fatal goof - tidak dapat menemukan lokasi direktori\n" - -#: util/mkisofs/mkisofs.c:229 -msgid "Follow symbolic links" -msgstr "" - -#: util/mkisofs/mkisofs.c:231 util/mkisofs/mkisofs.c:233 -msgid "Print option help" -msgstr "" - -#: util/mkisofs/mkisofs.c:235 -msgid "Print version information and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:237 -msgid "Hide ISO9660/RR file" -msgstr "" - -#: util/mkisofs/mkisofs.c:239 -msgid "Hide Joliet file" -msgstr "" - -#: util/mkisofs/mkisofs.c:241 -#, fuzzy -msgid "No longer supported" -msgstr "pilihan -i tidak lagi didukung.\n" - -#: util/mkisofs/mkisofs.c:243 -msgid "Generate Joliet directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:245 -msgid "Allow full 32 character filenames for iso9660 names" -msgstr "" - -#: util/mkisofs/mkisofs.c:247 -msgid "Allow iso9660 filenames to start with '.'" -msgstr "" - -#: util/mkisofs/mkisofs.c:249 -#, fuzzy -msgid "Re-direct messages to LOG_FILE" -msgstr "menredireksikan seluruh pesan ke %s\n" - -#: util/mkisofs/mkisofs.c:251 -msgid "Exclude file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:253 -#, fuzzy -msgid "Set path to previous session to merge" -msgstr "Tidak dapat membuka sesi image sebelumnya %s\n" - -#: util/mkisofs/mkisofs.c:255 -msgid "Omit version number from iso9660 filename" -msgstr "" - -#: util/mkisofs/mkisofs.c:257 -msgid "Inhibit splitting symlink components" -msgstr "" - -#: util/mkisofs/mkisofs.c:259 -msgid "Inhibit splitting symlink fields" -msgstr "" - -#: util/mkisofs/mkisofs.c:261 -msgid "Set output file name" -msgstr "" - -#: util/mkisofs/mkisofs.c:263 -msgid "Set Volume preparer" -msgstr "" - -#: util/mkisofs/mkisofs.c:265 -msgid "Print estimated filesystem size and exit" -msgstr "" - -#: util/mkisofs/mkisofs.c:267 -msgid "Set Volume publisher" -msgstr "" - -#: util/mkisofs/mkisofs.c:269 -msgid "Run quietly" -msgstr "" - -#: util/mkisofs/mkisofs.c:271 -msgid "Generate rationalized Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:273 -msgid "Generate Rock Ridge directory information" -msgstr "" - -#: util/mkisofs/mkisofs.c:275 -msgid "Split output into files of approx. 1GB size" -msgstr "" - -#: util/mkisofs/mkisofs.c:277 -msgid "Set System ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:279 -msgid "" -"Generate translation tables for systems that don't understand long filenames" -msgstr "" - -#: util/mkisofs/mkisofs.c:281 -msgid "Verbose" -msgstr "" - -#: util/mkisofs/mkisofs.c:283 -msgid "Set Volume ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:285 -msgid "Set Volume set ID" -msgstr "" - -#: util/mkisofs/mkisofs.c:287 -msgid "Set Volume set size" -msgstr "" - -#: util/mkisofs/mkisofs.c:289 -#, fuzzy -msgid "Set Volume set sequence number" -msgstr "Set urutan nomor volume terlalu besar\n" - -#: util/mkisofs/mkisofs.c:291 -msgid "Exclude file name (deprecated)" -msgstr "" - -#: util/mkisofs/mkisofs.c:297 -msgid "Override creation date" -msgstr "" - -#: util/mkisofs/mkisofs.c:299 -msgid "Override modification date" -msgstr "" - -#: util/mkisofs/mkisofs.c:301 -msgid "Override expiration date" -msgstr "" - -#: util/mkisofs/mkisofs.c:303 -msgid "Override effective date" -msgstr "" - -#: util/mkisofs/mkisofs.c:373 -#, c-format -msgid "Using \"%s\"\n" -msgstr "Menggunakan \"%s\"\n" - -#: util/mkisofs/mkisofs.c:401 -#, c-format -msgid "%s:%d: name required\n" -msgstr "%s:%d: nama dibutuhkan\n" - -#: util/mkisofs/mkisofs.c:411 -#, c-format -msgid "%s:%d: equals sign required\n" -msgstr "%s:%d: tanda sama dibutuhkan\n" - -#: util/mkisofs/mkisofs.c:445 -#, c-format -msgid "%s:%d: field name \"%s\" unknown\n" -msgstr "%s:%d: nama daerah \"%s\" tidak diketahui\n" - -#: util/mkisofs/mkisofs.c:474 -#, c-format -msgid "Usage: %s [options] file...\n" -msgstr "Penggunaan: %s [pilihan] berkas...\n" - -#: util/mkisofs/mkisofs.c:476 -#, c-format -msgid "Options:\n" -msgstr "Pilihan:\n" - -#: util/mkisofs/mkisofs.c:706 -#, c-format -msgid "-i option no longer supported.\n" -msgstr "pilihan -i tidak lagi didukung.\n" - -#: util/mkisofs/mkisofs.c:720 -#, c-format -msgid "Required boot image pathname missing\n" -msgstr "Nama jalur boot image yang dibutuhkan hilang\n" - -#: util/mkisofs/mkisofs.c:729 -#, c-format -msgid "Required boot catalog pathname missing\n" -msgstr "Nama jalur katalog boot yang dibutuhkan hilang\n" - -#: util/mkisofs/mkisofs.c:737 -#, c-format -msgid "Ignoring -no-emul-boot (no-emulation is the default behaviour)\n" -msgstr "Mengabaikan -no-emul-boot (no-emulation adalah perilaku baku)\n" - -#: util/mkisofs/mkisofs.c:746 -#, c-format -msgid "Abstract filename string too long\n" -msgstr "String nama berkas abstrak terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:754 -#, c-format -msgid "Application-id string too long\n" -msgstr "String ID-Aplikasi terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:762 -#, c-format -msgid "Bibliographic filename string too long\n" -msgstr "String nama berkas bibliographic terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:770 -#, c-format -msgid "Copyright filename string too long\n" -msgstr "String nama berkas Hak Cipta terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:805 -#, c-format -msgid "Preparer string too long\n" -msgstr "String penyiap terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:816 -#, c-format -msgid "Publisher string too long\n" -msgstr "String penerbit terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:837 -#, c-format -msgid "System ID string too long\n" -msgstr "String ID sistem terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:848 -#, c-format -msgid "Volume ID string too long\n" -msgstr "String ID volume terlalu penjang\n" - -#: util/mkisofs/mkisofs.c:856 -#, c-format -msgid "Volume set ID string too long\n" -msgstr "String ID set volume terlalu panjang\n" - -#: util/mkisofs/mkisofs.c:867 -#, c-format -msgid "Volume set sequence number too big\n" -msgstr "Set urutan nomor volume terlalu besar\n" - -#: util/mkisofs/mkisofs.c:909 util/mkisofs/mkisofs.c:919 -#: util/mkisofs/mkisofs.c:929 util/mkisofs/mkisofs.c:939 -#, c-format -msgid "date string must be 16 characters.\n" -msgstr "string tanggal harus berupa 16 karakter.\n" - -#: util/mkisofs/mkisofs.c:958 -msgid "Warning: getrlimit" -msgstr "Peringatan: getrlimit" - -#: util/mkisofs/mkisofs.c:962 -msgid "Warning: setrlimit" -msgstr "Peringatan: setrlimit" - -#: util/mkisofs/mkisofs.c:978 -#, c-format -msgid "Multisession usage bug: Must specify -C if -M is used.\n" -msgstr "" -"Bug penggunaan multi sesi: Harus menspesifikasikan -C jika -M digunakan.\n" - -#: util/mkisofs/mkisofs.c:984 -#, c-format -msgid "" -"Warning: -C specified without -M: old session data will not be merged.\n" -msgstr "" -"Peringatan: -C dispesifikasikan tanpa -M: data sesi lama tidak akan " -"digabungkan.\n" - -#: util/mkisofs/mkisofs.c:1023 -#, c-format -msgid "can't open logfile: %s" -msgstr "tidak dapat membuka berkas log: %s" - -#: util/mkisofs/mkisofs.c:1027 -#, c-format -msgid "re-directing all messages to %s\n" -msgstr "menredireksikan seluruh pesan ke %s\n" - -#: util/mkisofs/mkisofs.c:1032 -#, c-format -msgid "can't open logfile: %s\n" -msgstr "tidak dapat membuka berkas log: %s\n" - -#: util/mkisofs/mkisofs.c:1073 -#, c-format -msgid "Unable to open previous session image %s\n" -msgstr "Tidak dapat membuka sesi image sebelumnya %s\n" - -#: util/mkisofs/mkisofs.c:1184 -#, c-format -msgid "Invalid node - %s\n" -msgstr "Node tidak valid -%s\n" - -#: util/mkisofs/mkisofs.c:1246 -msgid "Joliet tree sort failed.\n" -msgstr "Pengurutan pohon joliet gagal.\n" - -#: util/mkisofs/mkisofs.c:1261 -msgid "Unable to open /dev/null\n" -msgstr "Tidak dapat membuka /dev/null\n" - -#: util/mkisofs/mkisofs.c:1265 -msgid "Unable to open disc image file\n" -msgstr "Tidak dapat membuka berkas image disk\n" - -#: util/mkisofs/mkisofs.c:1387 -#, c-format -msgid "Max brk space used %x\n" -msgstr "Ruang maksimal brk yang digunakan %x\n" - -#: util/mkisofs/mkisofs.c:1390 -#, c-format -msgid "%llu extents written (%llu MiB)\n" -msgstr "%llu ekstensi ditulis (%llu MiB)\n" - -#: util/mkisofs/multi.c:161 -msgid "Seek error on old image\n" -msgstr "Error pencarian dalam image lama\n" - -#: util/mkisofs/multi.c:179 util/mkisofs/multi.c:250 -#, c-format -msgid "**Bad RR version attribute" -msgstr "**Atribut versi RR buruk" - -#: util/mkisofs/multi.c:546 -#, c-format -msgid "" -"Warning: Neither Rock Ridge (-R) nor TRANS.TBL (-T) name translations were " -"found on previous session. ISO (8.3) file names have been used instead.\n" -msgstr "" -"Peringatan: Bukan Rock Ridge (-R) ataupun TRANS.TBL (-T) nama terjemahan " -"ditemukan dalam sesi sebelumnya. ISO (8.3) nama berkas yang telah " -"digunakan.\n" - -#: util/mkisofs/multi.c:764 -#, c-format -msgid "Read error on old image %s\n" -msgstr "Error membaca dalam image lama %s\n" - -#: util/mkisofs/multi.c:1084 -msgid "Special parameters for cdwrite not specified with -C\n" -msgstr "Parameter spesial untuk cdwrite tidak dispesifikasikan dengan -C\n" - -#: util/mkisofs/multi.c:1091 -msgid "Malformed cdwrite parameters\n" -msgstr "Parameter cdwrite salah format\n" - -#: util/mkisofs/rock.c:309 -#, c-format -msgid "symbolic link ``%s'' to long for one SL System Use Field, splitting" -msgstr "" -"link simbolik ``%s'' terlalu panjang untuk satu SL Sistem Menggunakan " -"Field, dipisahkan" - -#: util/mkisofs/rock.c:517 -#, c-format -msgid "Unable to insert transparent compressed file - name conflict\n" -msgstr "" -"Tidak dapat memasukan berkas terkompress secara transparan - konflik nama\n" - -#: util/mkisofs/rock.c:591 -msgid "Extension record too long\n" -msgstr "Rekaman ekstensi terlalu panjang\n" - -#: util/mkisofs/tree.c:226 util/mkisofs/write.c:565 util/mkisofs/write.c:1037 -msgid "Fatal goof\n" -msgstr "Fatal goof\n" - -#: util/mkisofs/tree.c:284 -#, c-format -msgid "Unable to generate unique name for file %s\n" -msgstr "Tidak dapat menghasilkan nama unik untuk berkas %s\n" - -#: util/mkisofs/tree.c:295 util/mkisofs/tree.c:317 -#, c-format -msgid "Using %s for %s%s%s (%s)\n" -msgstr "Menggunakan %s untuk %s%s%s (%s)\n" - -#: util/mkisofs/tree.c:441 -#, c-format -msgid "Fatal error - RR overflow for file %s\n" -msgstr "Fatal error -RR overflow untuk berkas %s\n" - -#: util/mkisofs/tree.c:449 -#, c-format -msgid "Unable to sort directory %s\n" -msgstr "Tidak dapat mengurutkan direktori %s\n" - -#: util/mkisofs/tree.c:480 -#, c-format -msgid "Translation table size mismatch %d %d\n" -msgstr "Besar tabel terjemahan tidak cocok %d %d\n" - -#: util/mkisofs/tree.c:746 -msgid "Unable to locate directory parent\n" -msgstr "Tidak dapat menempatkan direktori atasnya\n" - -#: util/mkisofs/tree.c:796 -#, c-format -msgid "Scanning %s\n" -msgstr "Memindai %s\n" - -#: util/mkisofs/tree.c:811 -#, c-format -msgid "Unable to open directory %s\n" -msgstr "Tidak dapat membuka direktori %s\n" - -#: util/mkisofs/tree.c:856 -#, c-format -msgid "Ignoring file %s\n" -msgstr "Mengabaikan berkas %s\n" - -#: util/mkisofs/tree.c:863 -msgid "Overflow of stat buffer\n" -msgstr "Overflow dari penyangga statistik\n" - -#: util/mkisofs/tree.c:876 -#, c-format -msgid "Excluded by match: %s\n" -msgstr "Diabaikan oleh kecocokan: %s\n" - -#: util/mkisofs/tree.c:891 -#, c-format -msgid "Excluded: %s\n" -msgstr "Diabaikan: %s\n" - -#: util/mkisofs/tree.c:961 -#, c-format -msgid "Non-existant or inaccessible: %s\n" -msgstr "Tidak ada atau tidak dapat diakses: %s\n" - -#: util/mkisofs/tree.c:997 util/mkisofs/tree.c:1103 -#, c-format -msgid "Unable to stat file %s - ignoring and continuing.\n" -msgstr "" -"Tidak dapat memperoleh statistik berkas %s - mengabaikan dan melanjutkan.\n" - -#: util/mkisofs/tree.c:1003 -#, c-format -msgid "Symlink %s ignored - continuing.\n" -msgstr "Link simbolik %s diabaikan - melanjutkan.\n" - -#: util/mkisofs/tree.c:1028 -#, c-format -msgid "Already cached directory seen (%s)\n" -msgstr "Direktori yang telah dicache terlihat (%s)\n" - -#: util/mkisofs/tree.c:1070 -#, c-format -msgid "File %s is not readable (%s) - ignoring\n" -msgstr "Berkas %s tidak dapat dibaca (%s) - mengabaikan\n" - -#: util/mkisofs/tree.c:1083 -#, c-format -msgid "Directory loop - fatal goof (%s %lx %lu).\n" -msgstr "Loop direktori - fatal goof (%s %lx %lu).\n" - -#: util/mkisofs/tree.c:1093 -#, c-format -msgid "Unknown file type %s - ignoring and continuing.\n" -msgstr "Tipe berkas %s tidak diketahui - mengabaikan dan melanjutkan.\n" - -#: util/mkisofs/tree.c:1179 -#, c-format -msgid "Hidden from ISO9660 tree: %s\n" -msgstr "Tersembunyi dari pohon ISO9660: %s\n" - -#: util/mkisofs/tree.c:1191 -#, c-format -msgid "Hidden from Joliet tree: %s\n" -msgstr "Tersembunyi dari pohon joliet: %s\n" - -#: util/mkisofs/tree.c:1600 -#, c-format -msgid "Directories too deep %s\n" -msgstr "Direktori terlalu dalam %s\n" - -#: util/mkisofs/tree.c:1632 -msgid "Unable to delete non-empty directory\n" -msgstr "Tidak dapat menghapus direktori yang tidak kosong\n" - -#: util/mkisofs/tree.c:1655 -msgid "Unable to locate child directory in parent list\n" -msgstr "Tidak dapat menemukan direktori anak dalam daftar orang-tua\n" - -#: util/mkisofs/tree.c:1772 -#, c-format -msgid "call to search_tree_file with an absolute path, stripping\n" -msgstr "memanggil ke search_tree_file dengan sebuah jalur absolut, dipotong\n" - -#: util/mkisofs/tree.c:1773 -#, c-format -msgid "initial path separator. Hope this was intended...\n" -msgstr "jalur pemisah awal. Semoga ini yang diinginkan...\n" - -#: util/mkisofs/write.c:158 -#, c-format -msgid "Cannot open '%s'" -msgstr "Tidak dapat membuka '%s'" - -#: util/mkisofs/write.c:166 -#, c-format -msgid "cannot fwrite %llu*%llu\n" -msgstr "tidak dapat fwrite %llu*%llu\n" - -#: util/mkisofs/write.c:248 -#, c-format -msgid "cannot open %s\n" -msgstr "tidak dapat membuka %s\n" - -#: util/mkisofs/write.c:257 -#, c-format -msgid "cannot read %llu bytes from %s" -msgstr "tidak dapat membaca %llu bytes dari %s" - -#: util/mkisofs/write.c:275 -#, c-format -msgid "%6.2f%% done, estimate finish %s" -msgstr "%6.2f%% selesai, kira kira selesai %s" - -#: util/mkisofs/write.c:542 -#, c-format -msgid "Cache hit for %s%s%s\n" -msgstr "Cache kena untuk %s%s%s\n" - -#: util/mkisofs/write.c:896 -#, c-format -msgid "Unexpected directory length %d %d %s\n" -msgstr "Panjang direktori tidak terduga %d %d %s\n" - -#: util/mkisofs/write.c:908 -#, c-format -msgid "Continuation entry record length mismatch (%d %d).\n" -msgstr "Panjang masukan rekaman lanjutan tidak cocok (%d %d).\n" - -#: util/mkisofs/write.c:1072 -#, c-format -msgid "Path table lengths do not match %d %d\n" -msgstr "Panjang jalur tabel tidak cocok %d %d\n" - -#: util/mkisofs/write.c:1118 util/mkisofs/write.c:1128 -#, c-format -msgid "Total extents scheduled to be written = %llu\n" -msgstr "Total ekstensi telah terjadwal untuk ditulis = %llu\n" - -#: util/mkisofs/write.c:1145 -#, c-format -msgid "Total extents actually written = %llu\n" -msgstr "Total ekstensi yang sebenarnya tertulis = %llu\n" - -#: util/mkisofs/write.c:1154 -#, c-format -msgid "" -"Number of extents written different than what was predicted. Please fix.\n" -msgstr "" -"Jumlah dari ekstensi yang ditulis berbeda dari apa yang direncanakan. Mohon " -"betulkan.\n" - -#: util/mkisofs/write.c:1155 -#, c-format -msgid "Predicted = %d, written = %llu\n" -msgstr "Diperkirakan = %d, tertulis = %llu\n" - -#: util/mkisofs/write.c:1158 -#, c-format -msgid "Total translation table size: %d\n" -msgstr "Total besar tabel terjemahan: %d\n" - -#: util/mkisofs/write.c:1159 -#, c-format -msgid "Total rockridge attributes bytes: %d\n" -msgstr "Total atribut rockridge bytes: %d\n" - -#: util/mkisofs/write.c:1160 -#, c-format -msgid "Total directory bytes: %d\n" -msgstr "Total bytes direktori: %d\n" - -#: util/mkisofs/write.c:1161 -#, c-format -msgid "Path table size(bytes): %d\n" -msgstr "Ukuran tabel jalur(bytes): %d\n" - -#: normal/menu_text.c:97 -#, c-format -msgid "" -"\n" -" Use the %C and %C keys to select which entry is highlighted.\n" -msgstr "" - -#: util/grub.d/10_kfreebsd.in:40 -msgid "%s, with kFreeBSD %s" -msgstr "%s, dengan kFreeBSD %s" - -#: util/grub.d/10_linux.in:57 -msgid "%s, with Linux %s (recovery mode)" -msgstr "%s, dengan Linux %s (mode penyembuhan)" - -#: util/grub.d/10_linux.in:59 -msgid "%s, with Linux %s" -msgstr "%s, dengan Linux %s" - -#~ msgid "the size of memory disk is 0x%x" -#~ msgstr "besar dari disk memori 0x%0x" - -#~ msgid "the size of config file is 0x%x" -#~ msgstr "besar dari berkas konfig adalah 0x%x" - -#~ msgid "the total module size is 0x%x" -#~ msgstr "total besar modul adalah 0x%x" - -#~ msgid "the core size is 0x%x" -#~ msgstr "besar core adalah 0x%x" - -#~ msgid "the first sector is <%llu,%u,%u>" -#~ msgstr "sektor pertama adalah <%llu,%u,%u>" - -#~ msgid "saving <%llu,%u,%u> with the segment 0x%x" -#~ msgstr "menyimpan <%llu,%u,%u> dengan bagian 0x%x" - -#~ msgid "setting the root device to `%s'" -#~ msgstr "konfigurasi perangkat root ke `%s'" - -#~ msgid "dos partition is %d, bsd partition is %d" -#~ msgstr "partisi dos adalah %d, partisi bsd adalah %d" - -#~ msgid "the core image will be embedded at sector 0x%llx" -#~ msgstr "core image akan di ditempatkan di sektor 0x%llx" - -#~ msgid "" -#~ "succeeded in opening the core image but the size is different (%d != %d)" -#~ msgstr "sukses dalam membuka image core tetapi ukurannya berbeda (%d != %d)" - -#~ msgid "succeeded in opening the core image but cannot read %d bytes" -#~ msgstr "sukses dalam membuka image core tetapi tidak dapat membaca %d bytes" - -#~ msgid "succeeded in opening the core image but the data is different" -#~ msgstr "sukses dalam membuka image core tetapi data berbeda" - -#~ msgid "couldn't open the core image" -#~ msgstr "tidak dapat membuka image core" - -#~ msgid "error message = %s" -#~ msgstr "pesan error = %s" - -#~ msgid "opening the core image `%s'" -#~ msgstr "membuka image core `%s'" - -#~ msgid "guessing the root device failed, because of `%s'" -#~ msgstr "pendeteksian perangkat root gagal, karena `%s'" diff --git a/po/zh_CN.po b/po/zh_CN.po deleted file mode 100644 index 9816afbad..000000000 --- a/po/zh_CN.po +++ /dev/null @@ -1,832 +0,0 @@ -# Simplified Chinese translations for grub package -# grub 软件包的简体中文翻译。 -# Copyright (C) 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the grub package. -# Aron Xu , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: grub 1.97+20091122\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-11-22 11:48+0100\n" -"PO-Revision-Date: 2009-11-23 18:36+0800\n" -"Last-Translator: Aron Xu \n" -"Language-Team: Chinese (simplified) \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: util/i386/pc/grub-mkimage.c:65 -msgid "the core image is too small" -msgstr "核心映像太小" - -#: util/i386/pc/grub-mkimage.c:77 -msgid "cannot compress the kernel image" -msgstr "无法压缩内核映像" - -#: util/i386/pc/grub-mkimage.c:138 -msgid "prefix is too long" -msgstr "前缀太长" - -#: util/i386/pc/grub-mkimage.c:206 -msgid "the core image is too big" -msgstr "核心映像太大" - -#: util/i386/pc/grub-mkimage.c:211 -#, c-format -msgid "diskboot.img size must be %u bytes" -msgstr "diskboot.img 的大小必须为 %u 字节" - -#: util/i386/pc/grub-mkimage.c:284 -#, c-format -msgid "Core image is too big (%p > %p)\n" -msgstr "核心映像太大(%p > %p)\n" - -#: util/i386/pc/grub-mkimage.c:321 util/i386/pc/grub-setup.c:587 -#, c-format -msgid "Try ``%s --help'' for more information.\n" -msgstr "请尝试运行 ``%s --help'' 以获得更多信息。\n" - -#: util/i386/pc/grub-mkimage.c:323 -#, c-format -msgid "" -"Usage: grub-mkimage [OPTION]... [MODULES]\n" -"\n" -"Make a bootable image of GRUB.\n" -"\n" -" -d, --directory=DIR use images and modules under DIR [default=%s]\n" -" -p, --prefix=DIR set grub_prefix directory [default=%s]\n" -" -m, --memdisk=FILE embed FILE as a memdisk image\n" -" -c, --config=FILE embed FILE as boot config\n" -" -o, --output=FILE output a generated image to FILE [default=stdout]\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" - -#: util/i386/pc/grub-mkimage.c:429 -#, c-format -msgid "cannot open %s" -msgstr "无法打开 %s" - -#: util/i386/pc/grub-setup.c:166 -msgid "The first sector of the core file is not sector-aligned" -msgstr "" - -#: util/i386/pc/grub-setup.c:180 -msgid "Non-sector-aligned data is found in the core file" -msgstr "" - -#: util/i386/pc/grub-setup.c:194 -msgid "The sectors of the core file are too fragmented" -msgstr "" - -#: util/i386/pc/grub-setup.c:205 -#, c-format -msgid "The size of `%s' is not %u" -msgstr "`%s' 的大小不是 %u" - -#: util/i386/pc/grub-setup.c:222 -#, c-format -msgid "The size of `%s' is too small" -msgstr "`%s' 太小" - -#: util/i386/pc/grub-setup.c:224 -#, c-format -msgid "The size of `%s' is too large" -msgstr "`%s' 太大" - -#: util/i386/pc/grub-setup.c:261 -#, c-format -msgid "Unable to identify a filesystem in %s; safety check can't be performed" -msgstr "" - -#: util/i386/pc/grub-setup.c:265 -#, c-format -msgid "%s appears to contain a %s filesystem which isn't known to reserve space for DOS-style boot. Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk)" -msgstr "" - -#: util/i386/pc/grub-setup.c:314 -msgid "No DOS-style partitions found" -msgstr "未找到 DOS 类型分区" - -#: util/i386/pc/grub-setup.c:330 util/i386/pc/grub-setup.c:355 -msgid "Attempting to install GRUB to a partitionless disk. This is a BAD idea." -msgstr "正在试图安装 GRUB 到未分区的磁盘。 这是一个坏主意。" - -#: util/i386/pc/grub-setup.c:336 -msgid "Attempting to install GRUB to a partition instead of the MBR. This is a BAD idea." -msgstr "正在试图安装 GRUB 到分区而非 MBR。 这是一个坏主意。" - -#: util/i386/pc/grub-setup.c:365 -msgid "This msdos-style partition label has no post-MBR gap; embedding won't be possible!" -msgstr "" - -#: util/i386/pc/grub-setup.c:367 -msgid "This GPT partition label has no BIOS Boot Partition; embedding won't be possible!" -msgstr "" - -#: util/i386/pc/grub-setup.c:374 -msgid "Your core.img is unusually large. It won't fit in the embedding area." -msgstr "您的 core.img 超乎寻常的巨大。它不适用于嵌入式环境。" - -#: util/i386/pc/grub-setup.c:376 -msgid "Your embedding area is unusually small. core.img won't fit in it." -msgstr "您的嵌入式环境超乎寻常的小。core.img 无法适用于此处。" - -#: util/i386/pc/grub-setup.c:418 -msgid "Embedding is not possible, but this is required when the root device is on a RAID array or LVM volume." -msgstr "" - -#: util/i386/pc/grub-setup.c:421 -msgid "Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and its use is discouraged." -msgstr "" - -#: util/i386/pc/grub-setup.c:425 -msgid "If you really want blocklists, use --force." -msgstr "" - -#: util/i386/pc/grub-setup.c:439 -#, c-format -msgid "attempting to read the core image `%s' from GRUB" -msgstr "正在尝试从 GRUB 读取核心映像 `%s'" - -#: util/i386/pc/grub-setup.c:440 -#, c-format -msgid "attempting to read the core image `%s' from GRUB again" -msgstr "正在再次尝试从 GRUB 读取核心映像 `%s'" - -#: util/i386/pc/grub-setup.c:498 -#, c-format -msgid "Cannot read `%s' correctly" -msgstr "无法正确读取 `%s'" - -#: util/i386/pc/grub-setup.c:511 -msgid "No terminator in the core image" -msgstr "核心映像中没有终止符" - -#: util/i386/pc/grub-setup.c:522 -msgid "Failed to read the first sector of the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:528 -msgid "Failed to read the rest sectors of the core image" -msgstr "" - -#: util/i386/pc/grub-setup.c:547 -#, c-format -msgid "Cannot open `%s'" -msgstr "无法打开 `%s'" - -#: util/i386/pc/grub-setup.c:589 -#, c-format -msgid "" -"Usage: grub-setup [OPTION]... DEVICE\n" -"\n" -"Set up images to boot from DEVICE.\n" -"DEVICE must be a GRUB device (e.g. ``(hd0,1)'').\n" -"\n" -" -b, --boot-image=FILE use FILE as the boot image [default=%s]\n" -" -c, --core-image=FILE use FILE as the core image [default=%s]\n" -" -d, --directory=DIR use GRUB files in the directory DIR [default=%s]\n" -" -m, --device-map=FILE use FILE as the device map [default=%s]\n" -" -r, --root-device=DEV use DEV as the root device [default=guessed]\n" -" -f, --force install even if problems are detected\n" -" -s, --skip-fs-probe do not probe for filesystems in DEVICE\n" -" -h, --help display this message and exit\n" -" -V, --version print version information and exit\n" -" -v, --verbose print verbose messages\n" -"\n" -"Report bugs to <%s>.\n" -msgstr "" - -#: util/i386/pc/grub-setup.c:719 -#, c-format -msgid "No device is specified.\n" -msgstr "没有指定设备。\n" - -#: util/i386/pc/grub-setup.c:725 -#, c-format -msgid "Unknown extra argument `%s'.\n" -msgstr "未知的额外参数 `%s'。\n" - -#: util/i386/pc/grub-setup.c:742 -#, c-format -msgid "Invalid device `%s'.\n" -msgstr "无效的设备 `%s'。\n" - -#: util/i386/pc/grub-setup.c:755 -#, c-format -msgid "Invalid root device `%s'" -msgstr "无效的根设备 `%s'" - -#: util/i386/pc/grub-setup.c:768 -msgid "Cannot guess the root device. Specify the option ``--root-device''." -msgstr "无法猜测根设备。请使用 ``--root-device'' 选项指定。" - -#: util/mkisofs/eltorito.c:96 -#, c-format -msgid "A boot catalog exists and appears corrupted.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:97 -#, c-format -msgid "Please check the following file: %s.\n" -msgstr "请检查以下文件:%s。\n" - -#: util/mkisofs/eltorito.c:98 -#, c-format -msgid "This file must be removed before a bootable CD can be done.\n" -msgstr "" - -#: util/mkisofs/eltorito.c:110 -#, c-format -msgid "Error creating boot catalog (%s)" -msgstr "" - -#: util/mkisofs/eltorito.c:114 -#, c-format -msgid "Error writing to boot catalog (%s)" -msgstr "" - -#: util/mkisofs/eltorito.c:144 -#, c-format -msgid "Boot catalog cannot be found!\n" -msgstr "" - -#: util/mkisofs/eltorito.c:158 -#, c-format -msgid "Boot image cannot be found!\n" -msgstr "无法找到引导映像!\n" - -#: util/mkisofs/eltorito.c:221 -#, c-format -msgid "" -"\n" -"Size of boot image is %d sectors" -msgstr "" -"\n" -"引导映像的大小为 %d 个扇区" - -#: util/mkisofs/eltorito.c:227 -#, c-format -msgid "No emulation\n" -msgstr "无模拟\n" - -#: util/mkisofs/eltorito.c:235 -#, c-format -msgid "Emulating a 1.44 meg floppy\n" -msgstr "模拟 1.44MiB 软盘\n" - -#: util/mkisofs/eltorito.c:240 -#, c-format -msgid "Emulating a 2.88 meg floppy\n" -msgstr "模拟 2.88MiB 软盘\n" - -#: util/mkisofs/eltorito.c:245 -#, c-format -msgid "Emulating a 1.2 meg floppy\n" -msgstr "模拟 1.2MiB 软盘\n" - -#: util/mkisofs/eltorito.c:249 -#, c-format -msgid "" -"\n" -"Error - boot image is not the an allowable size.\n" -msgstr "" -"\n" -"错误 - 引导映像大小不允许。\n" - -#: util/mkisofs/eltorito.c:269 -msgid "Error opening boot catalog for update" -msgstr "" - -#: util/mkisofs/eltorito.c:275 util/mkisofs/eltorito.c:277 -msgid "Error writing to boot catalog" -msgstr "" - -#: util/mkisofs/eltorito.c:291 -#, c-format -msgid "Error opening boot image file '%s' for update" -msgstr "" - -#: util/mkisofs/eltorito.c:299 -#, c-format -msgid "Odd alignment at non-end-of-file in boot image '%s'" -msgstr "" - -#: util/mkisofs/eltorito.c:311 -#, c-format -msgid "Boot image file '%s' changed unexpectedly" -msgstr "引导映像文件 '%s' 意外改变" - -#: util/mkisofs/eltorito.c:323 -#, c-format -msgid "Error writing to boot image (%s)" -msgstr "写入到引导映像出错(%s)" - -#: util/mkisofs/joliet.c:359 util/mkisofs/write.c:981 -#, c-format -msgid "Unable to generate sane path tables - too many directories (%d)\n" -msgstr "" - -#: util/mkisofs/joliet.c:398 util/mkisofs/write.c:1017 -#, c-format -msgid "Entry %d not in path tables\n" -msgstr "" - -#: util/mkisofs/joliet.c:412 -#, c-format -msgid "Fatal goof - directory has amnesia\n" -msgstr "" - -#: util/mkisofs/joliet.c:478 -#, c-format -msgid "Joliet path table lengths do not match %d %d\n" -msgstr "" - -#: util/mkisofs/joliet.c:530 -#, c-format -msgid "Unable to locate relocated directory\n" -msgstr "" - -#: util/mkisofs/joliet.c:605 -#, c-format -msgid "Fatal goof - unable to find directory location\n" -msgstr "" - -#: util/mkisofs/joliet.c:654 -#, c-format -msgid "Unexpected joliet directory length %d %d %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:373 -#, c-format -msgid "Using \"%s\"\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:401 -#, c-format -msgid "%s:%d: name required\n" -msgstr "%s:%d:需要名称\n" - -#: util/mkisofs/mkisofs.c:411 -#, c-format -msgid "%s:%d: equals sign required\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:445 -#, c-format -msgid "%s:%d: field name \"%s\" unknown\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:474 -#, c-format -msgid "Usage: %s [options] file...\n" -msgstr "用法:%s [选项] 文件...\n" - -#: util/mkisofs/mkisofs.c:476 -#, c-format -msgid "Options:\n" -msgstr "选项:\n" - -#: util/mkisofs/mkisofs.c:706 -#, c-format -msgid "-i option no longer supported.\n" -msgstr "-i 选项已不再被支持。\n" - -#: util/mkisofs/mkisofs.c:720 -#, c-format -msgid "Required boot image pathname missing\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:729 -#, c-format -msgid "Required boot catalog pathname missing\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:737 -#, c-format -msgid "Ignoring -no-emul-boot (no-emulation is the default behaviour)\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:746 -#, c-format -msgid "Abstract filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:754 -#, c-format -msgid "Application-id string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:762 -#, c-format -msgid "Bibliographic filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:770 -#, c-format -msgid "Copyright filename string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:805 -#, c-format -msgid "Preparer string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:816 -#, c-format -msgid "Publisher string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:837 -#, c-format -msgid "System ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:848 -#, c-format -msgid "Volume ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:856 -#, c-format -msgid "Volume set ID string too long\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:867 -#, c-format -msgid "Volume set sequence number too big\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:909 util/mkisofs/mkisofs.c:919 -#: util/mkisofs/mkisofs.c:929 util/mkisofs/mkisofs.c:939 -#, c-format -msgid "date string must be 16 characters.\n" -msgstr "日期字符串长度必须为 16。\n" - -#: util/mkisofs/mkisofs.c:958 -msgid "Warning: getrlimit" -msgstr "警告:getrlimit" - -#: util/mkisofs/mkisofs.c:962 -msgid "Warning: setrlimit" -msgstr "警告:setrlimit" - -#: util/mkisofs/mkisofs.c:978 -#, c-format -msgid "Multisession usage bug: Must specify -C if -M is used.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:984 -#, c-format -msgid "Warning: -C specified without -M: old session data will not be merged.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1023 -#, c-format -msgid "can't open logfile: %s" -msgstr "无法打开日志文件:%s" - -#: util/mkisofs/mkisofs.c:1027 -#, c-format -msgid "re-directing all messages to %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1032 -#, c-format -msgid "can't open logfile: %s\n" -msgstr "无法打开日志文件:%s\n" - -#: util/mkisofs/mkisofs.c:1073 -#, c-format -msgid "Unable to open previous session image %s\n" -msgstr "无法打开上一会话使用的映像 %s\n" - -#: util/mkisofs/mkisofs.c:1184 -#, c-format -msgid "Invalid node - %s\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1246 -msgid "Joliet tree sort failed.\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1261 -msgid "Unable to open /dev/null\n" -msgstr "无法打开 /dev/null\n" - -#: util/mkisofs/mkisofs.c:1265 -msgid "Unable to open disc image file\n" -msgstr "无法打开磁盘映像文件\n" - -#: util/mkisofs/mkisofs.c:1387 -#, c-format -msgid "Max brk space used %x\n" -msgstr "" - -#: util/mkisofs/mkisofs.c:1390 -#, c-format -msgid "%llu extents written (%llu MiB)\n" -msgstr "" - -#: util/mkisofs/multi.c:161 -msgid "Seek error on old image\n" -msgstr "" - -#: util/mkisofs/multi.c:179 util/mkisofs/multi.c:250 -#, c-format -msgid "**Bad RR version attribute" -msgstr "" - -#: util/mkisofs/multi.c:546 -#, c-format -msgid "Warning: Neither Rock Ridge (-R) nor TRANS.TBL (-T) name translations were found on previous session. ISO (8.3) file names have been used instead.\n" -msgstr "" - -#: util/mkisofs/multi.c:764 -#, c-format -msgid "Read error on old image %s\n" -msgstr "" - -#: util/mkisofs/multi.c:1084 -msgid "Special parameters for cdwrite not specified with -C\n" -msgstr "" - -#: util/mkisofs/multi.c:1091 -msgid "Malformed cdwrite parameters\n" -msgstr "" - -#: util/mkisofs/rock.c:309 -#, c-format -msgid "symbolic link ``%s'' to long for one SL System Use Field, splitting" -msgstr "" - -#: util/mkisofs/rock.c:517 -#, c-format -msgid "Unable to insert transparent compressed file - name conflict\n" -msgstr "" - -#: util/mkisofs/rock.c:591 -msgid "Extension record too long\n" -msgstr "" - -#: util/mkisofs/tree.c:226 util/mkisofs/write.c:565 util/mkisofs/write.c:1037 -msgid "Fatal goof\n" -msgstr "" - -#: util/mkisofs/tree.c:284 -#, c-format -msgid "Unable to generate unique name for file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:295 util/mkisofs/tree.c:317 -#, c-format -msgid "Using %s for %s%s%s (%s)\n" -msgstr "" - -#: util/mkisofs/tree.c:441 -#, c-format -msgid "Fatal error - RR overflow for file %s\n" -msgstr "" - -#: util/mkisofs/tree.c:449 -#, c-format -msgid "Unable to sort directory %s\n" -msgstr "" - -#: util/mkisofs/tree.c:480 -#, c-format -msgid "Translation table size mismatch %d %d\n" -msgstr "" - -#: util/mkisofs/tree.c:746 -msgid "Unable to locate directory parent\n" -msgstr "" - -#: util/mkisofs/tree.c:796 -#, c-format -msgid "Scanning %s\n" -msgstr "正在扫描 %s\n" - -#: util/mkisofs/tree.c:811 -#, c-format -msgid "Unable to open directory %s\n" -msgstr "无法打开目录 %s\n" - -#: util/mkisofs/tree.c:856 -#, c-format -msgid "Ignoring file %s\n" -msgstr "忽略文件 %s\n" - -#: util/mkisofs/tree.c:863 -msgid "Overflow of stat buffer\n" -msgstr "" - -#: util/mkisofs/tree.c:876 -#, c-format -msgid "Excluded by match: %s\n" -msgstr "" - -#: util/mkisofs/tree.c:891 -#, c-format -msgid "Excluded: %s\n" -msgstr "已排除:%s\n" - -#: util/mkisofs/tree.c:961 -#, c-format -msgid "Non-existant or inaccessible: %s\n" -msgstr "不存在或不可访问:%s\n" - -#: util/mkisofs/tree.c:997 util/mkisofs/tree.c:1103 -#, c-format -msgid "Unable to stat file %s - ignoring and continuing.\n" -msgstr "" - -#: util/mkisofs/tree.c:1003 -#, c-format -msgid "Symlink %s ignored - continuing.\n" -msgstr "已忽略符号链接 %s - 继续。\n" - -#: util/mkisofs/tree.c:1028 -#, c-format -msgid "Already cached directory seen (%s)\n" -msgstr "发现已缓冲目录(%s)\n" - -#: util/mkisofs/tree.c:1070 -#, c-format -msgid "File %s is not readable (%s) - ignoring\n" -msgstr "文件 %s 无法读取(%s) - 忽略\n" - -#: util/mkisofs/tree.c:1083 -#, c-format -msgid "Directory loop - fatal goof (%s %lx %lu).\n" -msgstr "" - -#: util/mkisofs/tree.c:1093 -#, c-format -msgid "Unknown file type %s - ignoring and continuing.\n" -msgstr "未知文件类型 %s - 忽略并继续。\n" - -#: util/mkisofs/tree.c:1179 -#, c-format -msgid "Hidden from ISO9660 tree: %s\n" -msgstr "从 ISO9660 树隐藏:%s\n" - -#: util/mkisofs/tree.c:1191 -#, c-format -msgid "Hidden from Joliet tree: %s\n" -msgstr "从 Joliet 树隐藏:%s\n" - -#: util/mkisofs/tree.c:1600 -#, c-format -msgid "Directories too deep %s\n" -msgstr "目录层次太深 %s\n" - -#: util/mkisofs/tree.c:1632 -msgid "Unable to delete non-empty directory\n" -msgstr "无法删除非空目录\n" - -#: util/mkisofs/tree.c:1655 -msgid "Unable to locate child directory in parent list\n" -msgstr "" - -#: util/mkisofs/tree.c:1772 -#, c-format -msgid "call to search_tree_file with an absolute path, stripping\n" -msgstr "" - -#: util/mkisofs/tree.c:1773 -#, c-format -msgid "initial path separator. Hope this was intended...\n" -msgstr "" - -#: util/mkisofs/write.c:158 -#, c-format -msgid "Cannot open '%s'" -msgstr "无法打开 '%s'" - -#: util/mkisofs/write.c:166 -#, c-format -msgid "cannot fwrite %llu*%llu\n" -msgstr "" - -#: util/mkisofs/write.c:248 -#, c-format -msgid "cannot open %s\n" -msgstr "无法打开 %s\n" - -#: util/mkisofs/write.c:257 -#, c-format -msgid "cannot read %llu bytes from %s" -msgstr "无法从 %2$s 读取 %1$llu 字节" - -#: util/mkisofs/write.c:275 -#, c-format -msgid "%6.2f%% done, estimate finish %s" -msgstr "已完成 %6.2f%%,估计 %s 完成" - -#: util/mkisofs/write.c:542 -#, c-format -msgid "Cache hit for %s%s%s\n" -msgstr "" - -#: util/mkisofs/write.c:896 -#, c-format -msgid "Unexpected directory length %d %d %s\n" -msgstr "目录长度意外 %d %d %s\n" - -#: util/mkisofs/write.c:908 -#, c-format -msgid "Continuation entry record length mismatch (%d %d).\n" -msgstr "" - -#: util/mkisofs/write.c:1072 -#, c-format -msgid "Path table lengths do not match %d %d\n" -msgstr "" - -#: util/mkisofs/write.c:1118 util/mkisofs/write.c:1128 -#, c-format -msgid "Total extents scheduled to be written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1145 -#, c-format -msgid "Total extents actually written = %llu\n" -msgstr "" - -#: util/mkisofs/write.c:1154 -#, c-format -msgid "Number of extents written different than what was predicted. Please fix.\n" -msgstr "" - -#: util/mkisofs/write.c:1155 -#, c-format -msgid "Predicted = %d, written = %llu\n" -msgstr "预计 = %d,已写入 = %llu\n" - -#: util/mkisofs/write.c:1158 -#, c-format -msgid "Total translation table size: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1159 -#, c-format -msgid "Total rockridge attributes bytes: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1160 -#, c-format -msgid "Total directory bytes: %d\n" -msgstr "" - -#: util/mkisofs/write.c:1161 -#, c-format -msgid "Path table size(bytes): %d\n" -msgstr "" - -#: util/grub.d/10_kfreebsd.in:40 -msgid "%s, with kFreeBSD %s" -msgstr "" - -#: util/grub.d/10_linux.in:57 -msgid "%s, with Linux %s (recovery mode)" -msgstr "" - -#: util/grub.d/10_linux.in:59 -msgid "%s, with Linux %s" -msgstr "" - -#~ msgid "the size of memory disk is 0x%x" -#~ msgstr "内存磁盘大小为 0x%x" - -#~ msgid "the size of config file is 0x%x" -#~ msgstr "配置文件大小为 0x%x" - -#~ msgid "the total module size is 0x%x" -#~ msgstr "模块总计大小为 0x%x" - -#~ msgid "the core size is 0x%x" -#~ msgstr "核心大小位 0x%x" - -#~ msgid "setting the root device to `%s'" -#~ msgstr "设置 `%s' 为根设备" - -#~ msgid "dos partition is %d, bsd partition is %d" -#~ msgstr "DOS 分区为 %d,BSD 分区为 %d" - -#~ msgid "the core image will be embedded at sector 0x%llx" -#~ msgstr "核心映像将被嵌入于 0x%llx 扇区" - -#~ msgid "error message = %s" -#~ msgstr "错误信息 = %s" - -#~ msgid "opening the core image `%s'" -#~ msgstr "正在打开核心映像 `%s'" - -#~ msgid "guessing the root device failed, because of `%s'" -#~ msgstr "猜测根设备失败,原因为 `%s'" diff --git a/util/grub-probe.c b/util/grub-probe.c index b88fbaaae..2b9784123 100644 --- a/util/grub-probe.c +++ b/util/grub-probe.c @@ -238,33 +238,36 @@ probe (const char *path, char *device_name) if (print == PRINT_FS) { - struct stat st; + if (path) + { + struct stat st; - stat (path, &st); + stat (path, &st); - if (S_ISREG (st.st_mode)) - { - /* Regular file. Verify that we can read it properly. */ + if (S_ISREG (st.st_mode)) + { + /* Regular file. Verify that we can read it properly. */ - grub_file_t file; - char *rel_path; - grub_util_info ("reading %s via OS facilities", path); - filebuf_via_sys = grub_util_read_image (path); + grub_file_t file; + char *rel_path; + grub_util_info ("reading %s via OS facilities", path); + filebuf_via_sys = grub_util_read_image (path); - rel_path = make_system_path_relative_to_its_root (path); - asprintf (&grub_path, "(%s)%s", drive_name, rel_path); - free (rel_path); - grub_util_info ("reading %s via GRUB facilities", grub_path); - file = grub_file_open (grub_path); - if (! file) - grub_util_error ("can not open %s via GRUB facilities", grub_path); - filebuf_via_grub = xmalloc (file->size); - grub_file_read (file, filebuf_via_grub, file->size); + rel_path = make_system_path_relative_to_its_root (path); + asprintf (&grub_path, "(%s)%s", drive_name, rel_path); + free (rel_path); + grub_util_info ("reading %s via GRUB facilities", grub_path); + file = grub_file_open (grub_path); + if (! file) + grub_util_error ("can not open %s via GRUB facilities", grub_path); + filebuf_via_grub = xmalloc (file->size); + grub_file_read (file, filebuf_via_grub, file->size); - grub_util_info ("comparing"); + grub_util_info ("comparing"); - if (memcmp (filebuf_via_grub, filebuf_via_sys, file->size)) - grub_util_error ("files differ"); + if (memcmp (filebuf_via_grub, filebuf_via_sys, file->size)) + grub_util_error ("files differ"); + } } printf ("%s\n", fs->name); diff --git a/util/i386/efi/grub-mkimage.c b/util/i386/efi/grub-mkimage.c index 29a823e58..401c5006c 100644 --- a/util/i386/efi/grub-mkimage.c +++ b/util/i386/efi/grub-mkimage.c @@ -30,6 +30,7 @@ #include #include #include +#include "progname.h" #if GRUB_TARGET_WORDSIZE == 32 # define grub_le_to_cpu(val) grub_le_to_cpu32(val) @@ -1056,7 +1057,7 @@ main (int argc, char *argv[]) char *dir = NULL; char *prefix = NULL; - progname = "grub-mkimage"; + program_name = "grub-mkimage"; while (1) { diff --git a/util/mkisofs/mkisofs.c b/util/mkisofs/mkisofs.c index 4b43ba63b..803317ba0 100644 --- a/util/mkisofs/mkisofs.c +++ b/util/mkisofs/mkisofs.c @@ -202,17 +202,17 @@ static const struct ld_option ld_options[] = { {"all-files", no_argument, NULL, 'a'}, 'a', NULL, N_("Process all files (don't skip backup files)"), ONE_DASH }, { {"abstract", required_argument, NULL, OPTION_ABSTRACT}, - '\0', "FILE", N_("Set Abstract filename"), ONE_DASH }, + '\0', N_("FILE"), N_("Set Abstract filename"), ONE_DASH }, { {"appid", required_argument, NULL, 'A'}, - 'A', "ID", N_("Set Application ID"), ONE_DASH }, + 'A', N_("ID"), N_("Set Application ID"), ONE_DASH }, { {"biblio", required_argument, NULL, OPTION_BIBLIO}, - '\0', "FILE", N_("Set Bibliographic filename"), ONE_DASH }, + '\0', N_("FILE"), N_("Set Bibliographic filename"), ONE_DASH }, { {"copyright", required_argument, NULL, OPTION_COPYRIGHT}, - '\0', "FILE", N_("Set Copyright filename"), ONE_DASH }, + '\0', N_("FILE"), N_("Set Copyright filename"), ONE_DASH }, { {"eltorito-boot", required_argument, NULL, 'b'}, - 'b', "FILE", N_("Set El Torito boot image name"), ONE_DASH }, + 'b', N_("FILE"), N_("Set El Torito boot image name"), ONE_DASH }, { {"eltorito-catalog", required_argument, NULL, 'c'}, - 'c', "FILE", N_("Set El Torito boot catalog name"), ONE_DASH }, + 'c', N_("FILE"), N_("Set El Torito boot catalog name"), ONE_DASH }, { {"boot-info-table", no_argument, NULL, OPTION_BOOT_INFO_TABLE }, '\0', NULL, N_("Patch Boot Info Table in El Torito boot image"), ONE_DASH }, { {"no-emul-boot", no_argument, NULL, OPTION_NO_EMUL_BOOT }, @@ -220,7 +220,7 @@ static const struct ld_option ld_options[] = { {"eltorito-emul-floppy", no_argument, NULL, OPTION_ELTORITO_EMUL_FLOPPY }, '\0', NULL, N_("Enable floppy drive emulation for El Torito"), TWO_DASHES }, { {"cdwrite-params", required_argument, NULL, 'C'}, - 'C', "PARAMS", N_("Magic parameters from cdrecord"), ONE_DASH }, + 'C', N_("PARAMS"), N_("Magic parameters from cdrecord"), ONE_DASH }, { {"omit-period", no_argument, NULL, 'd'}, 'd', NULL, N_("Omit trailing periods from filenames"), ONE_DASH }, { {"disable-deep-relocation", no_argument, NULL, 'D'}, @@ -234,11 +234,11 @@ static const struct ld_option ld_options[] = { {"version", no_argument, NULL, OPTION_VERSION}, '\0', NULL, N_("Print version information and exit"), TWO_DASHES }, { {"hide", required_argument, NULL, OPTION_I_HIDE}, - '\0', "GLOBFILE", N_("Hide ISO9660/RR file"), ONE_DASH }, + '\0', N_("GLOBFILE"), N_("Hide ISO9660/RR file"), ONE_DASH }, { {"hide-joliet", required_argument, NULL, OPTION_J_HIDE}, - '\0', "GLOBFILE", N_("Hide Joliet file"), ONE_DASH }, + '\0', N_("GLOBFILE"), N_("Hide Joliet file"), ONE_DASH }, { {NULL, required_argument, NULL, 'i'}, - 'i', "ADD_FILES", N_("No longer supported"), TWO_DASHES }, + 'i', N_("ADD_FILES"), N_("No longer supported"), TWO_DASHES }, { {"joliet", no_argument, NULL, 'J'}, 'J', NULL, N_("Generate Joliet directory information"), ONE_DASH }, { {"full-iso9660-filenames", no_argument, NULL, 'l'}, @@ -246,11 +246,11 @@ static const struct ld_option ld_options[] = { {"allow-leading-dots", no_argument, NULL, 'L'}, 'L', NULL, N_("Allow iso9660 filenames to start with '.'"), ONE_DASH }, { {"log-file", required_argument, NULL, OPTION_LOG_FILE}, - '\0', "LOG_FILE", N_("Re-direct messages to LOG_FILE"), ONE_DASH }, + '\0', N_("LOG_FILE"), N_("Re-direct messages to LOG_FILE"), ONE_DASH }, { {"exclude", required_argument, NULL, 'm'}, - 'm', "GLOBFILE", N_("Exclude file name"), ONE_DASH }, + 'm', N_("GLOBFILE"), N_("Exclude file name"), ONE_DASH }, { {"prev-session", required_argument, NULL, 'M'}, - 'M', "FILE", N_("Set path to previous session to merge"), ONE_DASH }, + 'M', N_("FILE"), N_("Set path to previous session to merge"), ONE_DASH }, { {"omit-version-number", no_argument, NULL, 'N'}, 'N', NULL, N_("Omit version number from iso9660 filename"), ONE_DASH }, { {"no-split-symlink-components", no_argument, NULL, 0}, @@ -258,13 +258,13 @@ static const struct ld_option ld_options[] = { {"no-split-symlink-fields", no_argument, NULL, 0}, 0, NULL, N_("Inhibit splitting symlink fields"), ONE_DASH }, { {"output", required_argument, NULL, 'o'}, - 'o', "FILE", N_("Set output file name"), ONE_DASH }, + 'o', N_("FILE"), N_("Set output file name"), ONE_DASH }, { {"preparer", required_argument, NULL, 'p'}, - 'p', "PREP", N_("Set Volume preparer"), ONE_DASH }, + 'p', N_("PREP"), N_("Set Volume preparer"), ONE_DASH }, { {"print-size", no_argument, NULL, OPTION_PRINT_SIZE}, '\0', NULL, N_("Print estimated filesystem size and exit"), ONE_DASH }, { {"publisher", required_argument, NULL, 'P'}, - 'P', "PUB", N_("Set Volume publisher"), ONE_DASH }, + 'P', N_("PUB"), N_("Set Volume publisher"), ONE_DASH }, { {"quiet", no_argument, NULL, OPTION_QUIET}, '\0', NULL, N_("Run quietly"), ONE_DASH }, { {"rational-rock", no_argument, NULL, 'r'}, @@ -274,21 +274,21 @@ static const struct ld_option ld_options[] = { {"split-output", no_argument, NULL, OPTION_SPLIT_OUTPUT}, '\0', NULL, N_("Split output into files of approx. 1GB size"), ONE_DASH }, { {"sysid", required_argument, NULL, OPTION_SYSID}, - '\0', "ID", N_("Set System ID"), ONE_DASH }, + '\0', N_("ID"), N_("Set System ID"), ONE_DASH }, { {"translation-table", no_argument, NULL, 'T'}, 'T', NULL, N_("Generate translation tables for systems that don't understand long filenames"), ONE_DASH }, { {"verbose", no_argument, NULL, 'v'}, 'v', NULL, N_("Verbose"), ONE_DASH }, { {"volid", required_argument, NULL, 'V'}, - 'V', "ID", N_("Set Volume ID"), ONE_DASH }, + 'V', N_("ID"), N_("Set Volume ID"), ONE_DASH }, { {"volset", required_argument, NULL, OPTION_VOLSET}, - '\0', "ID", N_("Set Volume set ID"), ONE_DASH }, + '\0', N_("ID"), N_("Set Volume set ID"), ONE_DASH }, { {"volset-size", required_argument, NULL, OPTION_VOLSET_SIZE}, '\0', "#", N_("Set Volume set size"), ONE_DASH }, { {"volset-seqno", required_argument, NULL, OPTION_VOLSET_SEQ_NUM}, '\0', "#", N_("Set Volume set sequence number"), ONE_DASH }, { {"old-exclude", required_argument, NULL, 'x'}, - 'x', "FILE", N_("Exclude file name (deprecated)"), ONE_DASH }, + 'x', N_("FILE"), N_("Exclude file name (deprecated)"), ONE_DASH }, #ifdef ERIC_neverdef { {"transparent-compression", no_argument, NULL, 'z'}, 'z', NULL, "Enable transparent compression of files", ONE_DASH }, @@ -481,6 +481,7 @@ void usage(){ int comma; int len; unsigned int j; + char *arg; printf (" "); @@ -502,8 +503,9 @@ void usage(){ putchar (' '); ++len; } - printf ("%s", ld_options[j].arg); - len += strlen (ld_options[j].arg); + arg = gettext (ld_options[j].arg); + printf ("%s", arg); + len += strlen (arg); } comma = TRUE; } @@ -527,8 +529,9 @@ void usage(){ + strlen (ld_options[j].opt.name)); if (ld_options[j].arg != NULL) { - printf (" %s", ld_options[j].arg); - len += 1 + strlen (ld_options[j].arg); + arg = gettext (ld_options[j].arg); + printf (" %s", arg); + len += 1 + strlen (arg); } comma = TRUE; } diff --git a/video/efi_gop.c b/video/efi_gop.c new file mode 100644 index 000000000..3143135d6 --- /dev/null +++ b/video/efi_gop.c @@ -0,0 +1,398 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2005,2006,2007,2008,2009 Free Software Foundation, Inc. + * + * GRUB 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. + * + * GRUB 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 GRUB. If not, see . + */ + +#define grub_video_render_target grub_video_fbrender_target + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GOP_GUID; +static struct grub_efi_gop *gop; +static unsigned old_mode; +static int restore_needed; + +static struct +{ + struct grub_video_mode_info mode_info; + struct grub_video_render_target *render_target; + grub_uint8_t *ptr; +} framebuffer; + + +static int +check_protocol (void) +{ + gop = grub_efi_locate_protocol (&graphics_output_guid, 0); + if (gop) + return 1; + + return 0; +} + +static grub_err_t +grub_video_gop_init (void) +{ + grub_memset (&framebuffer, 0, sizeof(framebuffer)); + return grub_video_fb_init (); +} + +static grub_err_t +grub_video_gop_fini (void) +{ + if (restore_needed) + { + efi_call_2 (gop->set_mode, gop, old_mode); + restore_needed = 0; + } + return grub_video_fb_fini (); +} + +static int +grub_video_gop_get_bpp (struct grub_efi_gop_mode_info *in) +{ + grub_uint32_t total_mask; + int i; + switch (in->pixel_format) + { + case GRUB_EFI_GOT_BGRA8: + case GRUB_EFI_GOT_RGBA8: + return 32; + + case GRUB_EFI_GOT_BITMASK: + /* Check overlaps. */ + if ((in->pixel_bitmask.r & in->pixel_bitmask.g) + || (in->pixel_bitmask.r & in->pixel_bitmask.b) + || (in->pixel_bitmask.g & in->pixel_bitmask.b) + || (in->pixel_bitmask.r & in->pixel_bitmask.a) + || (in->pixel_bitmask.g & in->pixel_bitmask.a) + || (in->pixel_bitmask.b & in->pixel_bitmask.a)) + return 0; + + total_mask = in->pixel_bitmask.r | in->pixel_bitmask.g + | in->pixel_bitmask.b | in->pixel_bitmask.a; + + for (i = 31; i >= 0; i--) + if (total_mask & (1 << i)) + return i + 1; + + /* Fall through. */ + default: + return 0; + } +} + +static void +grub_video_gop_get_bitmask (grub_uint32_t mask, unsigned int *mask_size, + unsigned int *field_pos) +{ + int i; + int last_p; + for (i = 31; i >= 0; i--) + if (mask & (1 << i)) + break; + if (i == -1) + { + *mask_size = *field_pos = 0; + return; + } + last_p = i; + for (; i >= 0; i--) + if (!(mask & (1 << i))) + break; + *field_pos = i + 1; + *mask_size = last_p - *field_pos; +} + +static grub_err_t +grub_video_gop_fill_mode_info (struct grub_efi_gop_mode_info *in, + struct grub_video_mode_info *out) +{ + out->number_of_colors = 256; + out->width = in->width; + out->height = in->height; + out->mode_type = GRUB_VIDEO_MODE_TYPE_RGB; + out->bpp = grub_video_gop_get_bpp (in); + out->bytes_per_pixel = out->bpp >> 3; + if (!out->bpp) + return grub_error (GRUB_ERR_IO, "Unsupported video mode"); + out->pitch = in->pixels_per_scanline * out->bytes_per_pixel; + + switch (in->pixel_format) + { + case GRUB_EFI_GOT_RGBA8: + out->red_mask_size = 8; + out->red_field_pos = 0; + out->green_mask_size = 8; + out->green_field_pos = 8; + out->blue_mask_size = 8; + out->blue_field_pos = 16; + out->reserved_mask_size = 8; + out->reserved_field_pos = 24; + break; + + case GRUB_EFI_GOT_BGRA8: + out->red_mask_size = 8; + out->red_field_pos = 16; + out->green_mask_size = 8; + out->green_field_pos = 8; + out->blue_mask_size = 8; + out->blue_field_pos = 0; + out->reserved_mask_size = 8; + out->reserved_field_pos = 24; + break; + + case GRUB_EFI_GOT_BITMASK: + grub_video_gop_get_bitmask (in->pixel_bitmask.r, &out->red_mask_size, + &out->red_field_pos); + grub_video_gop_get_bitmask (in->pixel_bitmask.g, &out->green_mask_size, + &out->green_field_pos); + grub_video_gop_get_bitmask (in->pixel_bitmask.b, &out->blue_mask_size, + &out->blue_field_pos); + grub_video_gop_get_bitmask (in->pixel_bitmask.a, &out->reserved_mask_size, + &out->reserved_field_pos); + break; + + default: + return grub_error (GRUB_ERR_IO, "Unsupported video mode"); + } + + out->blit_format = grub_video_get_blit_format (out); + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_video_gop_setup (unsigned int width, unsigned int height, + unsigned int mode_type, unsigned int mode_mask __attribute__ ((unused))) +{ + unsigned int depth; + struct grub_efi_gop_mode_info *info = NULL; + unsigned best_mode = 0; + grub_err_t err; + unsigned bpp; + int found = 0; + unsigned long long best_volume = 0; + + depth = (mode_type & GRUB_VIDEO_MODE_TYPE_DEPTH_MASK) + >> GRUB_VIDEO_MODE_TYPE_DEPTH_POS; + + /* Keep current mode if possible. */ + if (gop->mode->info) + { + bpp = grub_video_gop_get_bpp (gop->mode->info); + if (bpp && ((width == gop->mode->info->width + && height == gop->mode->info->height) + || (width == 0 && height == 0)) + && (depth == bpp || depth == 0)) + { + grub_dprintf ("video", "GOP: keeping mode %d\n", gop->mode->mode); + best_mode = gop->mode->mode; + found = 1; + } + } + + if (!found) + { + unsigned mode; + grub_dprintf ("video", "GOP: %d modes detected\n", gop->mode->max_mode); + for (mode = 0; mode < gop->mode->max_mode; mode++) + { + grub_efi_uintn_t size; + grub_efi_status_t status; + + status = efi_call_4 (gop->query_mode, gop, mode, &size, &info); + if (status) + { + info = 0; + break; + } + + grub_dprintf ("video", "GOP: mode %d: %dx%d\n", mode, info->width, + info->height); + + bpp = grub_video_gop_get_bpp (info); + if (!bpp) + { + grub_dprintf ("video", "GOP: mode %d: incompatible pixel mode\n", + mode); + continue; + } + + grub_dprintf ("video", "GOP: mode %d: depth %d\n", mode, bpp); + + if (!(((info->width == width && info->height == height) + || (width == 0 && height == 0)) + && (bpp == depth || depth == 0))) + { + grub_dprintf ("video", "GOP: mode %d: rejected\n", mode); + continue; + } + + if (best_volume < ((unsigned long long) info->width) + * ((unsigned long long) info->height) + * ((unsigned long long) bpp)) + { + best_volume = ((unsigned long long) info->width) + * ((unsigned long long) info->height) + * ((unsigned long long) bpp); + best_mode = mode; + } + found = 1; + } + } + + if (!found) + { + grub_dprintf ("video", "GOP: no mode found\n"); + return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found."); + } + + if (best_mode != gop->mode->mode) + { + if (!restore_needed) + { + old_mode = gop->mode->mode; + restore_needed = 1; + } + efi_call_2 (gop->set_mode, gop, best_mode); + } + + info = gop->mode->info; + + err = grub_video_gop_fill_mode_info (info, &framebuffer.mode_info); + if (err) + { + grub_dprintf ("video", "GOP: couldn't fill mode info\n"); + return err; + } + + framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base; + + grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n", + framebuffer.ptr, framebuffer.mode_info.width, + framebuffer.mode_info.height, framebuffer.mode_info.bpp); + + err = grub_video_fb_create_render_target_from_pointer + (&framebuffer.render_target, &framebuffer.mode_info, framebuffer.ptr); + + if (err) + { + grub_dprintf ("video", "GOP: Couldn't create FB target\n"); + return err; + } + + err = grub_video_fb_set_active_render_target (framebuffer.render_target); + + if (err) + { + grub_dprintf ("video", "GOP: Couldn't set FB target\n"); + return err; + } + + err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS, + grub_video_fbstd_colors); + + if (err) + grub_dprintf ("video", "GOP: Couldn't set palette\n"); + else + grub_dprintf ("video", "GOP: Success\n"); + + return err; +} + +static grub_err_t +grub_video_gop_swap_buffers (void) +{ + /* TODO: Implement buffer swapping. */ + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_video_gop_set_active_render_target (struct grub_video_render_target *target) +{ + if (target == GRUB_VIDEO_RENDER_TARGET_DISPLAY) + target = framebuffer.render_target; + + return grub_video_fb_set_active_render_target (target); +} + +static grub_err_t +grub_video_gop_get_info_and_fini (struct grub_video_mode_info *mode_info, + void **framebuf) +{ + grub_memcpy (mode_info, &(framebuffer.mode_info), sizeof (*mode_info)); + *framebuf = (char *) framebuffer.ptr; + + grub_video_fb_fini (); + + return GRUB_ERR_NONE; +} + +static struct grub_video_adapter grub_video_gop_adapter = + { + .name = "EFI GOP driver", + + .init = grub_video_gop_init, + .fini = grub_video_gop_fini, + .setup = grub_video_gop_setup, + .get_info = grub_video_fb_get_info, + .get_info_and_fini = grub_video_gop_get_info_and_fini, + .set_palette = grub_video_fb_set_palette, + .get_palette = grub_video_fb_get_palette, + .set_viewport = grub_video_fb_set_viewport, + .get_viewport = grub_video_fb_get_viewport, + .map_color = grub_video_fb_map_color, + .map_rgb = grub_video_fb_map_rgb, + .map_rgba = grub_video_fb_map_rgba, + .unmap_color = grub_video_fb_unmap_color, + .fill_rect = grub_video_fb_fill_rect, + .blit_bitmap = grub_video_fb_blit_bitmap, + .blit_render_target = grub_video_fb_blit_render_target, + .scroll = grub_video_fb_scroll, + .swap_buffers = grub_video_gop_swap_buffers, + .create_render_target = grub_video_fb_create_render_target, + .delete_render_target = grub_video_fb_delete_render_target, + .set_active_render_target = grub_video_gop_set_active_render_target, + .get_active_render_target = grub_video_fb_get_active_render_target, + + .next = 0 + }; + +GRUB_MOD_INIT(efi_gop) +{ + if (check_protocol ()) + grub_video_register (&grub_video_gop_adapter); +} + +GRUB_MOD_FINI(efi_gop) +{ + if (restore_needed) + { + efi_call_2 (gop->set_mode, gop, old_mode); + restore_needed = 0; + } + if (gop) + grub_video_unregister (&grub_video_gop_adapter); +} diff --git a/video/efi_fb.c b/video/efi_uga.c similarity index 90% rename from video/efi_fb.c rename to video/efi_uga.c index a4a9950b1..2a9e78a4f 100644 --- a/video/efi_fb.c +++ b/video/efi_uga.c @@ -183,20 +183,20 @@ check_protocol (void) } static grub_err_t -grub_video_efi_init (void) +grub_video_uga_init (void) { grub_memset (&framebuffer, 0, sizeof(framebuffer)); return grub_video_fb_init (); } static grub_err_t -grub_video_efi_fini (void) +grub_video_uga_fini (void) { return grub_video_fb_fini (); } static grub_err_t -grub_video_efi_setup (unsigned int width, unsigned int height, +grub_video_uga_setup (unsigned int width, unsigned int height, unsigned int mode_type, unsigned int mode_mask __attribute__ ((unused))) { unsigned int depth; @@ -269,14 +269,14 @@ grub_video_efi_setup (unsigned int width, unsigned int height, } static grub_err_t -grub_video_efi_swap_buffers (void) +grub_video_uga_swap_buffers (void) { /* TODO: Implement buffer swapping. */ return GRUB_ERR_NONE; } static grub_err_t -grub_video_efi_set_active_render_target (struct grub_video_render_target *target) +grub_video_uga_set_active_render_target (struct grub_video_render_target *target) { if (target == GRUB_VIDEO_RENDER_TARGET_DISPLAY) target = framebuffer.render_target; @@ -285,7 +285,7 @@ grub_video_efi_set_active_render_target (struct grub_video_render_target *target } static grub_err_t -grub_video_efi_get_info_and_fini (struct grub_video_mode_info *mode_info, +grub_video_uga_get_info_and_fini (struct grub_video_mode_info *mode_info, void **framebuf) { grub_memcpy (mode_info, &(framebuffer.mode_info), sizeof (*mode_info)); @@ -296,15 +296,15 @@ grub_video_efi_get_info_and_fini (struct grub_video_mode_info *mode_info, return GRUB_ERR_NONE; } -static struct grub_video_adapter grub_video_efi_adapter = +static struct grub_video_adapter grub_video_uga_adapter = { - .name = "EFI frame buffer driver", + .name = "EFI UGA driver", - .init = grub_video_efi_init, - .fini = grub_video_efi_fini, - .setup = grub_video_efi_setup, + .init = grub_video_uga_init, + .fini = grub_video_uga_fini, + .setup = grub_video_uga_setup, .get_info = grub_video_fb_get_info, - .get_info_and_fini = grub_video_efi_get_info_and_fini, + .get_info_and_fini = grub_video_uga_get_info_and_fini, .set_palette = grub_video_fb_set_palette, .get_palette = grub_video_fb_get_palette, .set_viewport = grub_video_fb_set_viewport, @@ -317,21 +317,21 @@ static struct grub_video_adapter grub_video_efi_adapter = .blit_bitmap = grub_video_fb_blit_bitmap, .blit_render_target = grub_video_fb_blit_render_target, .scroll = grub_video_fb_scroll, - .swap_buffers = grub_video_efi_swap_buffers, + .swap_buffers = grub_video_uga_swap_buffers, .create_render_target = grub_video_fb_create_render_target, .delete_render_target = grub_video_fb_delete_render_target, - .set_active_render_target = grub_video_efi_set_active_render_target, + .set_active_render_target = grub_video_uga_set_active_render_target, .get_active_render_target = grub_video_fb_get_active_render_target, }; -GRUB_MOD_INIT(efi_fb) +GRUB_MOD_INIT(efi_uga) { if (check_protocol ()) - grub_video_register (&grub_video_efi_adapter); + grub_video_register (&grub_video_uga_adapter); } -GRUB_MOD_FINI(efi_fb) +GRUB_MOD_FINI(efi_uga) { if (uga) - grub_video_unregister (&grub_video_efi_adapter); + grub_video_unregister (&grub_video_uga_adapter); }