// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// DO NOT EDIT THIS FILE. GENERATED BY go generate.
// Edit the documentation in other files and rerun go generate to generate this one.

// gotext is a tool for managing text in Go source code.
//
// Usage:
//
// 	gotext command [arguments]
//
// The commands are:
//
// 	extract     extract strings to be translated from code
//
// Use "go help [command]" for more information about a command.
//
// Additional help topics:
//
//
// Use "gotext help [topic]" for more information about that topic.
//
//
// Extract strings to be translated from code
//
// Usage:
//
// 	go extract <package>*
//
//
//
//
package main
