# 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
#, no-wrap
msgid "FATLABEL"
msgstr ""

#. 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: Plain text
#: en/fatlabel.8:26
msgid "B<fatlabel> - set or get MS-DOS filesystem label"
msgstr ""

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

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/fatlabel.8:29
msgid "B<fatlabel> I<DEVICE> [I<LABEL>]"
msgstr ""

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

#. type: Plain text
#: en/fatlabel.8:31
msgid "B<fatlabel> set or gets a MS-DOS filesystem label from a given device."
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/fatlabel.8:36
msgid ""
"If I<LABEL> is omitted, then the label name of the specified device is "
"written on the standard output.  A label can't be longer than 11 bytes."
msgstr ""

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

#. type: IP
#: en/fatlabel.8:37
#, no-wrap
msgid "B<-h>, B<--help>"
msgstr ""

#. type: Plain text
#: en/fatlabel.8:39
msgid "Displays a help message."
msgstr ""

#. type: IP
#: en/fatlabel.8:39
#, no-wrap
msgid "B<-V>, B<--version>"
msgstr ""

#.  ----------------------------------------------------------------------------
#. type: Plain text
#: en/fatlabel.8:42
msgid "Shows version."
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: Plain text
#: en/fatlabel.8:47 en/fsck.fat.8:188
msgid "B<mkfs.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 ""
