diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-10-22 16:28:54 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-11-04 18:04:03 +0100 |
commit | cbbee23e7768750ca1c8b49bdfbf8a650131bbb6 (patch) | |
tree | 8727247578b43b0ae0a56110ff9e0e254157fc76 /cmdline/apt-cdrom.cc | |
parent | 995a4bf6d770a5cc824c38388909f23fcca558c3 (diff) |
split up help messages for simpler reuse
That is one huge commit with busy work only: Help messages used to be
one big translateable string, which is a pain for translators and hard
to reuse for us. This change there 'explodes' this single string into
new string for each documented string trying hard to split up the
translated messages as well. This actually restores many translations as
previously adding a single command made all of the bug message fuzzy.
The splitup also highlighted that its easy to forget a line, duplicate
one and similar stuff.
Git-Dch: Ignore
Diffstat (limited to 'cmdline/apt-cdrom.cc')
-rw-r--r-- | cmdline/apt-cdrom.cc | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc index dcc784746..1838a76fe 100644 --- a/cmdline/apt-cdrom.cc +++ b/cmdline/apt-cdrom.cc @@ -203,25 +203,30 @@ static bool DoIdent(CommandLine &) } /*}}}*/ // ShowHelp - Show the help screen /*{{{*/ -static bool ShowHelp(CommandLine &) +static bool ShowHelp(CommandLine &, CommandLine::DispatchWithHelp const * Cmds) { ioprintf(cout, "%s %s (%s)\n", PACKAGE, PACKAGE_VERSION, COMMON_ARCH); if (_config->FindB("version") == true) return true; - - cout << - "Usage: apt-cdrom [options] command\n" + + std::cout << + _("Usage: apt-cdrom [options] command\n" "\n" "apt-cdrom is a tool to add CDROM's to APT's source list. The\n" - "CDROM mount point and device information is taken from apt.conf\n" - "and /etc/fstab.\n" - "\n" - "Commands:\n" - " add - Add a CDROM\n" - " ident - Report the identity of a CDROM\n" - "\n" - "Options:\n" + "CDROM mount point and device information is taken from apt.conf,\n" + "udev and /etc/fstab.\n") + << std::endl + << _("Commands:") << std::endl; + for (; Cmds->Handler != nullptr; ++Cmds) + { + if (Cmds->Help == nullptr) + continue; + std::cout << " " << Cmds->Match << " - " << Cmds->Help << std::endl; + } + + std::cout << std::endl << + _("Options:\n" " -h This help text\n" " -d CD-ROM mount point\n" " -r Rename a recognized CD-ROM\n" @@ -231,17 +236,17 @@ static bool ShowHelp(CommandLine &) " --no-auto-detect Do not try to auto detect drive and mount point\n" " -c=? Read this configuration file\n" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" - "See fstab(5)\n"; + "See fstab(5)\n"); return true; } /*}}}*/ int main(int argc,const char *argv[]) /*{{{*/ { - CommandLine::Dispatch Cmds[] = { - {"add",&DoAdd}, - {"ident",&DoIdent}, - {"help",&ShowHelp}, - {0,0}}; + CommandLine::DispatchWithHelp Cmds[] = { + {"add", &DoAdd, "Add a CDROM"}, + {"ident", &DoIdent, "Report the identity of a CDROM"}, + {nullptr, nullptr, nullptr} + }; std::vector<CommandLine::Args> Args = getCommandArgs("apt-cdrom", CommandLine::GetCommand(Cmds, argc, argv)); |