mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-07-07 20:06:36 +02:00
I18N
- Localized more commands.
This commit is contained in:
parent
6d4bf3dc75
commit
20bb5bf648
7 changed files with 156 additions and 76 deletions
|
@ -25,6 +25,8 @@
|
|||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L10N // Localization complete.
|
||||
|
||||
#include <sstream>
|
||||
#include <stdlib.h>
|
||||
#include <Context.h>
|
||||
|
@ -33,6 +35,7 @@
|
|||
#include <ViewText.h>
|
||||
#include <main.h>
|
||||
#include <text.h>
|
||||
#include <i18n.h>
|
||||
#include <CmdInfo.h>
|
||||
|
||||
extern Context context;
|
||||
|
@ -41,7 +44,7 @@ CmdInfo::CmdInfo ()
|
|||
{
|
||||
_keyword = "information";
|
||||
_usage = "task information <filter>";
|
||||
_description = "Shows all data and metadata for specified tasks.";
|
||||
_description = STRING_CMD_INFO_USAGE;
|
||||
_read_only = true;
|
||||
_displays_id = true;
|
||||
}
|
||||
|
@ -79,8 +82,8 @@ int CmdInfo::execute (std::string& output)
|
|||
{
|
||||
ViewText view;
|
||||
view.width (context.getWidth ());
|
||||
view.add (Column::factory ("string", "Name"));
|
||||
view.add (Column::factory ("string", "Value"));
|
||||
view.add (Column::factory ("string", STRING_COLUMN_LABEL_NAME));
|
||||
view.add (Column::factory ("string", STRING_COLUMN_LABEL_VALUE));
|
||||
|
||||
// If an alternating row color is specified, notify the table.
|
||||
if (context.color ())
|
||||
|
@ -94,7 +97,7 @@ int CmdInfo::execute (std::string& output)
|
|||
|
||||
// id
|
||||
int row = view.addRow ();
|
||||
view.set (row, 0, "ID");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_ID);
|
||||
view.set (row, 1, format (task->id));
|
||||
|
||||
std::string status = ucFirst (Task::statusToText (task->getStatus ()));
|
||||
|
@ -104,19 +107,19 @@ int CmdInfo::execute (std::string& output)
|
|||
autoColorize (*task, c);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Description");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_DESC);
|
||||
view.set (row, 1, getFullDescription (*task, "info"), c);
|
||||
|
||||
// status
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Status");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_STATUS);
|
||||
view.set (row, 1, status);
|
||||
|
||||
// project
|
||||
if (task->has ("project"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Project");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_PROJECT);
|
||||
view.set (row, 1, task->get ("project"));
|
||||
}
|
||||
|
||||
|
@ -124,7 +127,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->has ("priority"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Priority");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_PRIORITY);
|
||||
view.set (row, 1, task->get ("priority"));
|
||||
}
|
||||
|
||||
|
@ -140,7 +143,7 @@ int CmdInfo::execute (std::string& output)
|
|||
message << it->id << " " << it->get ("description") << "\n";
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "This task blocked by");
|
||||
view.set (row, 0, STRING_CMD_INFO_BLOCKED);
|
||||
view.set (row, 1, message.str ());
|
||||
}
|
||||
}
|
||||
|
@ -157,7 +160,7 @@ int CmdInfo::execute (std::string& output)
|
|||
message << it->id << " " << it->get ("description") << "\n";
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "This task is blocking");
|
||||
view.set (row, 0, STRING_CMD_INFO_BLOCKING);
|
||||
view.set (row, 1, message.str ());
|
||||
}
|
||||
}
|
||||
|
@ -166,7 +169,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->has ("recur"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Recurrence");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_RECUR_L);
|
||||
view.set (row, 1, task->get ("recur"));
|
||||
}
|
||||
|
||||
|
@ -174,7 +177,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->has ("until"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Recur until");
|
||||
view.set (row, 0, STRING_CMD_INFO_RECUR_UNTIL);
|
||||
|
||||
Date dt (strtol (task->get ("until").c_str (), NULL, 10));
|
||||
std::string format = context.config.get ("reportdateformat");
|
||||
|
@ -189,7 +192,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->getStatus () == Task::recurring)
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Mask");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_MASK);
|
||||
view.set (row, 1, task->get ("mask"));
|
||||
}
|
||||
|
||||
|
@ -197,12 +200,12 @@ int CmdInfo::execute (std::string& output)
|
|||
{
|
||||
// parent
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Parent task");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_PARENT);
|
||||
view.set (row, 1, task->get ("parent"));
|
||||
|
||||
// imask
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Mask Index");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_MASK_IDX);
|
||||
view.set (row, 1, task->get ("imask"));
|
||||
}
|
||||
|
||||
|
@ -210,7 +213,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->has ("due"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Due");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_DUE);
|
||||
|
||||
std::string format = context.config.get ("reportdateformat");
|
||||
if (format == "")
|
||||
|
@ -223,7 +226,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->has ("wait"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Waiting until");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_WAITING);
|
||||
Date dt (strtol (task->get ("wait").c_str (), NULL, 10));
|
||||
view.set (row, 1, dt.toString (context.config.get ("dateformat")));
|
||||
}
|
||||
|
@ -232,7 +235,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->has ("start"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Start");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_START);
|
||||
Date dt (strtol (task->get ("start").c_str (), NULL, 10));
|
||||
view.set (row, 1, dt.toString (context.config.get ("dateformat")));
|
||||
}
|
||||
|
@ -241,7 +244,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (task->has ("end"))
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "End");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_END);
|
||||
Date dt (strtol (task->get ("end").c_str (), NULL, 10));
|
||||
view.set (row, 1, dt.toString (context.config.get ("dateformat")));
|
||||
}
|
||||
|
@ -255,19 +258,19 @@ int CmdInfo::execute (std::string& output)
|
|||
join (allTags, " ", tags);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Tags");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_TAGS);
|
||||
view.set (row, 1, allTags);
|
||||
}
|
||||
|
||||
// uuid
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "UUID");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_UUID);
|
||||
std::string uuid = task->get ("uuid");
|
||||
view.set (row, 1, uuid);
|
||||
|
||||
// entry
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Entered");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_ENTERED);
|
||||
Date dt (strtol (task->get ("entry").c_str (), NULL, 10));
|
||||
std::string entry = dt.toString (context.config.get ("dateformat"));
|
||||
|
||||
|
@ -281,27 +284,27 @@ int CmdInfo::execute (std::string& output)
|
|||
|
||||
view.set (row, 1, entry + " (" + age + ")");
|
||||
|
||||
// fg
|
||||
// fg TODO deprecated
|
||||
std::string color = task->get ("fg");
|
||||
if (color != "")
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Foreground color");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_FG);
|
||||
view.set (row, 1, color);
|
||||
}
|
||||
|
||||
// bg
|
||||
// bg TODO deprecated
|
||||
color = task->get ("bg");
|
||||
if (color != "")
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Background color");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_BG);
|
||||
view.set (row, 1, color);
|
||||
}
|
||||
|
||||
// Task::urgency
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Urgency");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_URGENCY);
|
||||
view.set (row, 1, trimLeft (format (task->urgency (), 4, 4)));
|
||||
|
||||
// Create a second table, containing undo log change details.
|
||||
|
@ -316,8 +319,8 @@ int CmdInfo::execute (std::string& output)
|
|||
}
|
||||
|
||||
journal.width (context.getWidth ());
|
||||
journal.add (Column::factory ("string", "Date"));
|
||||
journal.add (Column::factory ("string", "Modification"));
|
||||
journal.add (Column::factory ("string", STRING_COLUMN_LABEL_DATE));
|
||||
journal.add (Column::factory ("string", STRING_CMD_INFO_MODIFICATION));
|
||||
|
||||
if (context.config.getBoolean ("journal.info") &&
|
||||
undo.size () > 3)
|
||||
|
@ -376,7 +379,7 @@ int CmdInfo::execute (std::string& output)
|
|||
if (total_time > 0)
|
||||
{
|
||||
row = journal.addRow ();
|
||||
journal.set (row, 0, "Total active time");
|
||||
journal.set (row, 0, STRING_CMD_INFO_TOTAL_ACTIVE);
|
||||
journal.set (row, 1, Duration (total_time).format (),
|
||||
(context.color () ? Color ("bold") : Color ()));
|
||||
}
|
||||
|
@ -393,7 +396,7 @@ int CmdInfo::execute (std::string& output)
|
|||
|
||||
if (! filtered.size ())
|
||||
{
|
||||
out << "No matches.\n";
|
||||
out << STRING_FEEDBACK_NO_MATCH << "\n";
|
||||
rc = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,8 +25,11 @@
|
|||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L10N // Localization complete.
|
||||
|
||||
#include <Context.h>
|
||||
#include <main.h>
|
||||
#include <i18n.h>
|
||||
#include <CmdQuery.h>
|
||||
|
||||
extern Context context;
|
||||
|
@ -36,7 +39,7 @@ CmdQuery::CmdQuery ()
|
|||
{
|
||||
_keyword = "_query";
|
||||
_usage = "task _query [<filter>]";
|
||||
_description = "Executes external commands and scripts";
|
||||
_description = STRING_CMD_QUERY_USAGE;
|
||||
_read_only = true;
|
||||
_displays_id = true;
|
||||
}
|
||||
|
@ -60,7 +63,7 @@ int CmdQuery::execute (std::string& output)
|
|||
|
||||
if (filtered.size () == 0)
|
||||
{
|
||||
context.footnote ("No matches.");
|
||||
context.footnote (STRING_FEEDBACK_NO_MATCH);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,11 +25,14 @@
|
|||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L10N // Localization complete.
|
||||
|
||||
#include <sstream>
|
||||
#include <algorithm>
|
||||
#include <Context.h>
|
||||
#include <ViewText.h>
|
||||
#include <text.h>
|
||||
#include <i18n.h>
|
||||
#include <CmdReports.h>
|
||||
|
||||
extern Context context;
|
||||
|
@ -39,7 +42,7 @@ CmdReports::CmdReports ()
|
|||
{
|
||||
_keyword = "reports";
|
||||
_usage = "task reports";
|
||||
_description = "Lists all supported reports.";
|
||||
_description = STRING_CMD_REPORTS_USAGE;
|
||||
_read_only = true;
|
||||
_displays_id = false;
|
||||
}
|
||||
|
@ -84,8 +87,8 @@ int CmdReports::execute (std::string& output)
|
|||
std::stringstream out;
|
||||
ViewText view;
|
||||
view.width (context.getWidth ());
|
||||
view.add (Column::factory ("string", "Report"));
|
||||
view.add (Column::factory ("string", "Description"));
|
||||
view.add (Column::factory ("string", STRING_CMD_REPORTS_REPORT));
|
||||
view.add (Column::factory ("string", STRING_CMD_REPORTS_DESC));
|
||||
|
||||
// If an alternating row color is specified, notify the table.
|
||||
if (context.color ())
|
||||
|
@ -106,8 +109,7 @@ int CmdReports::execute (std::string& output)
|
|||
out << optionalBlankLine ()
|
||||
<< view.render ()
|
||||
<< optionalBlankLine ()
|
||||
<< reports.size ()
|
||||
<< " reports"
|
||||
<< format (STRING_CMD_REPORTS_SUMMARY, reports.size ())
|
||||
<< "\n";
|
||||
|
||||
output = out.str ();
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L10N // Localization complete.
|
||||
|
||||
#include <sstream>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
@ -34,6 +36,7 @@
|
|||
#include <main.h>
|
||||
#include <text.h>
|
||||
#include <util.h>
|
||||
#include <i18n.h>
|
||||
#include <CmdStatistics.h>
|
||||
|
||||
extern Context context;
|
||||
|
@ -43,7 +46,7 @@ CmdStatistics::CmdStatistics ()
|
|||
{
|
||||
_keyword = "stats";
|
||||
_usage = "task stats [<filter>]";
|
||||
_description = "Shows task database statistics.";
|
||||
_description = STRING_CMD_STATS_USAGE;
|
||||
_read_only = true;
|
||||
_displays_id = false;
|
||||
}
|
||||
|
@ -54,6 +57,8 @@ int CmdStatistics::execute (std::string& output)
|
|||
int rc = 0;
|
||||
std::stringstream out;
|
||||
|
||||
std::string dateformat = context.config.get ("dateformat");
|
||||
|
||||
// Go get the file sizes.
|
||||
size_t dataSize = 0;
|
||||
|
||||
|
@ -149,57 +154,57 @@ int CmdStatistics::execute (std::string& output)
|
|||
ViewText view;
|
||||
view.width (context.getWidth ());
|
||||
view.intraPadding (2);
|
||||
view.add (Column::factory ("string", "Category"));
|
||||
view.add (Column::factory ("string", "Data"));
|
||||
view.add (Column::factory ("string", STRING_CMD_STATS_CATEGORY));
|
||||
view.add (Column::factory ("string", STRING_CMD_STATS_DATA));
|
||||
|
||||
int row = view.addRow ();
|
||||
view.set (row, 0, "Pending");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_STAT_PE);
|
||||
view.set (row, 1, pendingT);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Waiting");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_STAT_WA);
|
||||
view.set (row, 1, waitingT);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Recurring");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_STAT_RE);
|
||||
view.set (row, 1, recurringT);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Completed");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_STAT_CO);
|
||||
view.set (row, 1, completedT);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Deleted");
|
||||
view.set (row, 0, STRING_COLUMN_LABEL_STAT_DE);
|
||||
view.set (row, 1, deletedT);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Total");
|
||||
view.set (row, 0, STRING_CMD_STATS_TOTAL);
|
||||
view.set (row, 1, totalT);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Annotations");
|
||||
view.set (row, 0, STRING_CMD_STATS_ANNOTATIONS);
|
||||
view.set (row, 1, annotationsT);
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Unique tags");
|
||||
view.set (row, 0, STRING_CMD_STATS_UNIQUE_TAGS);
|
||||
view.set (row, 1, (int)allTags.size ());
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Projects");
|
||||
view.set (row, 0, STRING_CMD_STATS_PROJECTS);
|
||||
view.set (row, 1, (int)allProjects.size ());
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Data size");
|
||||
view.set (row, 0, STRING_CMD_STATS_DATA_SIZE);
|
||||
view.set (row, 1, formatBytes (dataSize));
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Undo transactions");
|
||||
view.set (row, 0, STRING_CMD_STATS_UNDO_TXNS);
|
||||
view.set (row, 1, undoCount);
|
||||
|
||||
if (totalT)
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Tasks tagged");
|
||||
view.set (row, 0, STRING_CMD_STATS_TAGGED);
|
||||
|
||||
std::stringstream value;
|
||||
value << std::setprecision (3) << (100.0 * taggedT / totalT) << "%";
|
||||
|
@ -210,54 +215,52 @@ int CmdStatistics::execute (std::string& output)
|
|||
{
|
||||
Date e (earliest);
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Oldest task");
|
||||
view.set (row, 1, e.toString (context.config.get ("dateformat")));
|
||||
view.set (row, 0, STRING_CMD_STATS_OLDEST);
|
||||
view.set (row, 1, e.toString (dateformat));
|
||||
|
||||
Date l (latest);
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Newest task");
|
||||
view.set (row, 1, l.toString (context.config.get ("dateformat")));
|
||||
view.set (row, 0, STRING_CMD_STATS_NEWEST);
|
||||
view.set (row, 1, l.toString (dateformat));
|
||||
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Task used for");
|
||||
view.set (row, 0, STRING_CMD_STATS_USED_FOR);
|
||||
view.set (row, 1, Duration (latest - earliest).format ());
|
||||
}
|
||||
|
||||
if (totalT)
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Task added every");
|
||||
view.set (row, 0, STRING_CMD_STATS_ADD_EVERY);
|
||||
view.set (row, 1, Duration (((latest - earliest) / totalT)).format ());
|
||||
}
|
||||
|
||||
if (completedT)
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Task completed every");
|
||||
view.set (row, 0, STRING_CMD_STATS_COMP_EVERY);
|
||||
view.set (row, 1, Duration ((latest - earliest) / completedT).format ());
|
||||
}
|
||||
|
||||
if (deletedT)
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Task deleted every");
|
||||
view.set (row, 0, STRING_CMD_STATS_DEL_EVERY);
|
||||
view.set (row, 1, Duration ((latest - earliest) / deletedT).format ());
|
||||
}
|
||||
|
||||
if (pendingT || completedT)
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Average time pending");
|
||||
view.set (row, 0, STRING_CMD_STATS_AVG_PEND);
|
||||
view.set (row, 1, Duration ((int) ((daysPending / (pendingT + completedT)) * 86400)).format ());
|
||||
}
|
||||
|
||||
if (totalT)
|
||||
{
|
||||
row = view.addRow ();
|
||||
view.set (row, 0, "Average desc length");
|
||||
std::stringstream value;
|
||||
value << (int) (descLength / totalT) << " characters";
|
||||
view.set (row, 1, value.str ());
|
||||
view.set (row, 0, STRING_CMD_STATS_DESC_LEN);
|
||||
view.set (row, 1, format (STRING_CMD_STATS_CHARS, (int) (descLength / totalT)));
|
||||
}
|
||||
|
||||
// If an alternating row color is specified, notify the table.
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L10N // Localization complete.
|
||||
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
#include <stdlib.h>
|
||||
|
@ -32,6 +34,7 @@
|
|||
#include <ViewText.h>
|
||||
#include <CmdTags.h>
|
||||
#include <text.h>
|
||||
#include <i18n.h>
|
||||
|
||||
extern Context context;
|
||||
|
||||
|
@ -40,7 +43,7 @@ CmdTags::CmdTags ()
|
|||
{
|
||||
_keyword = "tags";
|
||||
_usage = "task tags";
|
||||
_description = "Shows a list of all tags used.";
|
||||
_description = STRING_CMD_TAGS_USAGE;
|
||||
_read_only = true;
|
||||
_displays_id = false;
|
||||
}
|
||||
|
@ -88,8 +91,8 @@ int CmdTags::execute (std::string& output)
|
|||
// Render a list of tags names from the map.
|
||||
ViewText view;
|
||||
view.width (context.getWidth ());
|
||||
view.add (Column::factory ("string", "Tag"));
|
||||
view.add (Column::factory ("string.right", "Count"));
|
||||
view.add (Column::factory ("string", STRING_COLUMN_LABEL_TAG));
|
||||
view.add (Column::factory ("string.right", STRING_COLUMN_LABEL_COUNT));
|
||||
|
||||
Color bold ("bold");
|
||||
bool special = false;
|
||||
|
@ -109,14 +112,23 @@ int CmdTags::execute (std::string& output)
|
|||
|
||||
out << optionalBlankLine ()
|
||||
<< view.render ()
|
||||
<< optionalBlankLine ()
|
||||
<< unique.size ()
|
||||
<< (unique.size () == 1 ? " tag" : " tags")
|
||||
<< " (" << quantity << (quantity == 1 ? " task" : " tasks") << ")\n";
|
||||
<< optionalBlankLine ();
|
||||
|
||||
if (unique.size () == 1)
|
||||
out << STRING_CMD_TAGS_SINGLE;
|
||||
else
|
||||
out << format (STRING_CMD_TAGS_PLURAL, unique.size ());
|
||||
|
||||
if (quantity == 1)
|
||||
out << " " << STRING_FEEDBACK_TASKS_SINGLE;
|
||||
else
|
||||
out << " " << format (STRING_FEEDBACK_TASKS_PLURAL, quantity);
|
||||
|
||||
out << "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
out << "No tags.\n";
|
||||
out << STRING_CMD_TAGS_NO_TAGS << "\n";
|
||||
rc = 1;
|
||||
}
|
||||
|
||||
|
@ -129,7 +141,7 @@ CmdCompletionTags::CmdCompletionTags ()
|
|||
{
|
||||
_keyword = "_tags";
|
||||
_usage = "task _tags";
|
||||
_description = "Shows only a list of all tags used, for autocompletion purposes.";
|
||||
_description = STRING_CMD_COMTAGS_USAGE;
|
||||
_read_only = true;
|
||||
_displays_id = false;
|
||||
}
|
||||
|
|
|
@ -25,7 +25,10 @@
|
|||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L10N // Localization complete.
|
||||
|
||||
#include <Context.h>
|
||||
#include <i18n.h>
|
||||
#include <CmdUndo.h>
|
||||
|
||||
extern Context context;
|
||||
|
@ -35,7 +38,7 @@ CmdUndo::CmdUndo ()
|
|||
{
|
||||
_keyword = "undo";
|
||||
_usage = "task undo";
|
||||
_description = "Reverts the most recent change to a task.";
|
||||
_description = STRING_CMD_UNDO_USAGE;
|
||||
_read_only = false;
|
||||
_displays_id = false;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue