# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the dosfstools package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: dosfstools VERSION\n"
"POT-Creation-Date: 2015-05-16 00:40+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: TH
#: en/fatlabel.8:22 en/fsck.fat.8:22 en/mkfs.fat.8:22
#, no-wrap
msgid "2015-05-16"
msgstr ""

#. type: TH
#: en/fatlabel.8:22 en/fsck.fat.8:22 en/mkfs.fat.8:22
#, no-wrap
msgid "3.0.28"
msgstr ""

#. type: TH
#: en/fatlabel.8:22 en/fsck.fat.8:22 en/mkfs.fat.8:22
#, no-wrap
msgid "dosfstools"
msgstr ""

#. type: SH
#: en/fatlabel.8:23 en/fsck.fat.8:23 en/mkfs.fat.8:23
#, no-wrap
msgid "NAME"
msgstr ""

#. type: SH
#: en/fatlabel.8:26 en/fsck.fat.8:26 en/mkfs.fat.8:26
#, no-wrap
msgid "SYNOPSIS"
msgstr ""

#. type: SH
#: en/fatlabel.8:29 en/fsck.fat.8:29 en/mkfs.fat.8:29
#, no-wrap
msgid "DESCRIPTION"
msgstr ""

#. type: SH
#: en/fatlabel.8:36 en/fsck.fat.8:99 en/mkfs.fat.8:36
#, no-wrap
msgid "OPTIONS"
msgstr ""

#. type: SH
#: en/fatlabel.8:42 en/fsck.fat.8:183 en/mkfs.fat.8:155
#, no-wrap
msgid "SEE ALSO"
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/fatlabel.8:44 en/mkfs.fat.8:160
msgid "B<fsck.fat>(8)"
msgstr ""

#. type: SH
#: en/fatlabel.8:47 en/fsck.fat.8:188 en/mkfs.fat.8:160
#, no-wrap
msgid "HOMEPAGE"
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/fatlabel.8:53 en/fsck.fat.8:194 en/mkfs.fat.8:166
msgid ""
"The home for the B<dosfstools> project is its E<.UR https://github.com/"
"dosfstools/dosfstools> GitHub project page E<.UE .>"
msgstr ""

#. type: SH
#: en/fatlabel.8:53 en/fsck.fat.8:194 en/mkfs.fat.8:166
#, no-wrap
msgid "AUTHORS"
msgstr ""

#. type: Plain text
#: en/fatlabel.8:55 en/fsck.fat.8:196 en/mkfs.fat.8:168
msgid "B<dosfstools> were written by"
msgstr ""

#. type: Plain text
#: en/fatlabel.8:57 en/fsck.fat.8:198 en/mkfs.fat.8:170
msgid "Werner Almesberger"
msgstr ""

#. type: Plain text
#: en/fatlabel.8:60 en/fsck.fat.8:201 en/mkfs.fat.8:173
msgid "Roman Hodek"
msgstr ""

#. type: Plain text
#: en/fatlabel.8:63 en/fsck.fat.8:204 en/mkfs.fat.8:176
msgid "and others.  The current maintainer is"
msgstr ""

#. type: Plain text
#: en/fatlabel.8:65 en/fsck.fat.8:206 en/mkfs.fat.8:178
msgid "Andreas Bombe"
msgstr ""

#. type: IP
#: en/fsck.fat.8:100 en/mkfs.fat.8:37
#, no-wrap
msgid "B<-a>"
msgstr ""

#. type: IP
#: en/fsck.fat.8:146 en/mkfs.fat.8:138
#, no-wrap
msgid "B<-v>"
msgstr ""

#. type: SH
#: en/fsck.fat.8:177 en/mkfs.fat.8:149
#, no-wrap
msgid "BUGS"
msgstr ""

#. type: Plain text
#: en/fsck.fat.8:185 en/mkfs.fat.8:157
msgid "B<fatlabel>(8)"
msgstr ""

#. type: TH
#: en/mkfs.fat.8:22
#, no-wrap
msgid "MKFS.FAT"
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/mkfs.fat.8:26
msgid "B<mkfs.fat> - create an MS-DOS filesystem under Linux"
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/mkfs.fat.8:29
msgid "B<mkfs.fat> [I<OPTIONS>] I<DEVICE> [I<BLOCK-COUNT>]"
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/mkfs.fat.8:36
msgid ""
"B<mkfs.fat> is used to create an MS-DOS filesystem under Linux on a device "
"(usually a disk partition).  I<DEVICE> is the special file corresponding to "
"the device (e.g. /dev/sdXX).  I<BLOCK-COUNT> is the number of blocks on the "
"device.  If omitted, B<mkfs.fat> automatically determines the filesystem "
"size."
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:45
msgid ""
"Normally, for any filesystem except very small ones, B<mkfs.fat> will align "
"all the data structures to cluster size, to make sure that as long as the "
"partition is properly aligned, so will all the data structures in the "
"filesystem.  This option disables alignment; this may provide a handful of "
"additional clusters of storage at the expense of a significant performance "
"degradation on RAIDs, flash media or large-sector hard disks."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:45
#, no-wrap
msgid "B< -A>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:60
msgid ""
"Use Atari variation of the MS-DOS filesystem.  This is default if B<mkfs."
"fat> is run on an Atari, then this option turns off Atari format.  There are "
"some differences when using Atari format: If not directed otherwise by the "
"user, B<mkfs.fat> will always use 2 sectors per cluster, since GEMDOS "
"doesn't like other values very much.  It will also obey the maximum number "
"of sectors GEMDOS can handle.  Larger filesystems are managed by raising the "
"logical sector size.  Under Atari format, an Atari-compatible serial number "
"for the filesystem is generated, and a 12 bit FAT is used only for "
"filesystems that have one of the usual floppy sizes (720k, 1.2M, 1.44M, "
"2.88M), a 16 bit FAT otherwise.  This can be overridden with the B<-F> "
"option.  Some PC-specific boot sector fields aren't written, and a boot "
"message (option B<-m>) is ignored."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:60
#, no-wrap
msgid "B<-b> I<SECTOR-OF-BACKUP>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:64
msgid ""
"Selects the location of the backup boot sector for FAT32.  Default depends "
"on number of reserved sectors, but usually is sector 6.  The backup must be "
"within the range of reserved sectors."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:64
#, no-wrap
msgid "B<-c>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:66
msgid "Check the device for bad blocks before creating the filesystem."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:66
#, no-wrap
msgid "B<-C>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:80
msgid ""
"Create the file given as I<DEVICE> on the command line, and write the to-be-"
"created filesystem to it.  This can be used to create the new filesystem in "
"a file instead of on a real device, and to avoid using B<dd> in advance to "
"create a file of appropriate size.  With this option, the I<BLOCK-COUNT> "
"must be given, because otherwise the intended size of the filesystem "
"wouldn't be known.  The file created is a sparse file, which actually only "
"contains the meta-data areas (boot sector, FATs, and root directory).  The "
"data portions won't be stored on the disk, but the file nevertheless will "
"have the correct size.  The resulting file can be copied later to a floppy "
"disk or other device, or mounted through a loop device."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:80
#, no-wrap
msgid "B<-D> I<DRIVE-NUMBER>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:84
msgid ""
"Specify the BIOS drive number to be stored in the FAT boot sector.  This "
"value is usually 0x80 for hard disks and 0x00 for floppy devices or "
"partitions to be used for floppy emulation."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:84
#, no-wrap
msgid "B<-f> I<NUMBER-OF-FATS>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:87
msgid ""
"Specify the number of file allocation tables in the filesystem.  The default "
"is 2."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:87
#, no-wrap
msgid "B<-F> I<FAT-SIZE>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:91
msgid ""
"Specifies the type of file allocation tables used (12, 16 or 32 bit).  If "
"nothing is specified, B<mkfs.fat> will automatically select between 12, 16 "
"and 32 bit, whatever fits better for the filesystem size."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:91
#, no-wrap
msgid "B<-h> I<NUMBER-OF-HIDDEN-SECTORS>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:95
msgid ""
"Select the number of hidden sectors in the volume.  Apparently some digital "
"cameras get indigestion if you feed them a CF card without such hidden "
"sectors, this option allows you to satisfy them."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:95
#, no-wrap
msgid "B<-i> I<VOLUME-ID>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:99
msgid ""
"Sets the volume ID of the newly created filesystem; I<VOLUME-ID> is a 32-bit "
"hexadecimal number (for example, 2e24ec82).  The default is a number which "
"depends on the filesystem creation time."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:99
#, no-wrap
msgid "B<-I>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:108
msgid ""
"It is typical for fixed disk devices to be partitioned so, by default, you "
"are not permitted to create a filesystem across the entire device.  B<mkfs."
"fat> will complain and tell you that it refuses to work.  This is different "
"when using MO disks.  One doesn't always need partitions on MO disks.  The "
"filesystem can go directly to the whole disk.  Under other OSes this is "
"known as the 'superfloppy' format.  This switch will force B<mkfs.fat> to "
"work properly."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:108
#, no-wrap
msgid "B<-l> I<FILENAME>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:110
msgid "Read the bad blocks list from I<FILENAME>."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:110
#, no-wrap
msgid "B<-m> I<MESSAGE-FILE>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:116
msgid ""
"Sets the message the user receives on attempts to boot this filesystem "
"without having properly installed an operating system.  The message file "
"must not exceed 418 bytes once line feeds have been converted to carriage "
"return-line feed combinations, and tabs have been expanded.  If the filename "
"is a hyphen (-), the text is taken from standard input."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:116
#, no-wrap
msgid "B<-M> I<FAT-MEDIA-TYPE>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:120
msgid ""
"Specify the media type to be stored in the FAT boot sector.  This value is "
"usually 0xF8 for hard disks and is 0xF0 or a value from 0xF9 to 0xFF for "
"floppies or partitions to be used for floppy emulation."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:120
#, no-wrap
msgid "B<-n> I<VOLUME-NAME>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:124
msgid ""
"Sets the volume name (label) of the filesystem.  The volume name can be up "
"to 11 characters long.  The default is no label."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:124
#, no-wrap
msgid "B<-r> I<ROOT-DIR-ENTRIES>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:127
msgid ""
"Select the number of entries available in the root directory.  The default "
"is 112 or 224 for floppies and 512 for hard disks."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:127
#, no-wrap
msgid "B<-R> I<NUMBER-OF-RESERVED-SECTORS>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:131
msgid ""
"Select the number of reserved sectors.  With FAT32 format at least 2 "
"reserved sectors are needed, the default is 32.  Otherwise the default is 1 "
"(only the boot sector)."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:131
#, no-wrap
msgid "B<-s> I<SECTORS-PER-CLUSTER>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:134
msgid ""
"Specify the number of disk sectors per cluster.  Must be a power of 2, i.e. "
"1, 2, 4, 8, ... 128."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:134
#, no-wrap
msgid "B<-S> I<LOGICAL-SECTOR-SIZE>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:138
msgid ""
"Specify the number of bytes per logical sector.  Must be a power of 2 and "
"greater than or equal to 512, i.e. 512, 1024, 2048, 4096, 8192, 16384, or "
"32768."
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:140
msgid "Verbose execution."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:140
#, no-wrap
msgid "B<--invariant>"
msgstr ""

#. type: Plain text
#: en/mkfs.fat.8:146
msgid ""
"Use constants for normally randomly generated or time based data such as "
"volume ID and creation time.  Multiple runs of B<mkfs.fat> on the same "
"device create identical results with this option.  Its main purpose is "
"testing B<mkfs.fat>."
msgstr ""

#. type: IP
#: en/mkfs.fat.8:146
#, no-wrap
msgid "B<--help>"
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/mkfs.fat.8:149
msgid "Display option summary and exit."
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/mkfs.fat.8:155
msgid ""
"B<mkfs.fat> can not create boot-able filesystems.  This isn't as easy as you "
"might think at first glance for various reasons and has been discussed a lot "
"already.  B<mkfs.fat> simply will not support it ;)"
msgstr ""
