mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-08-31 05:47:18 +02:00
I18N
- Localized and updated the 'help' command.
This commit is contained in:
parent
2826f1918e
commit
66ca9add3a
2 changed files with 118 additions and 84 deletions
|
@ -25,10 +25,14 @@
|
||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define L10N // Localization complete.
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <CmdHelp.h>
|
#include <CmdHelp.h>
|
||||||
#include <ViewText.h>
|
#include <ViewText.h>
|
||||||
#include <Context.h>
|
#include <Context.h>
|
||||||
|
#include <i18n.h>
|
||||||
|
#include <text.h>
|
||||||
#include <util.h>
|
#include <util.h>
|
||||||
|
|
||||||
extern Context context;
|
extern Context context;
|
||||||
|
@ -38,7 +42,7 @@ CmdHelp::CmdHelp ()
|
||||||
{
|
{
|
||||||
_keyword = "help";
|
_keyword = "help";
|
||||||
_usage = "task help";
|
_usage = "task help";
|
||||||
_description = "Displays this usage help text";
|
_description = STRING_CMD_HELP_USAGE;
|
||||||
_read_only = true;
|
_read_only = true;
|
||||||
_displays_id = false;
|
_displays_id = false;
|
||||||
}
|
}
|
||||||
|
@ -54,9 +58,9 @@ int CmdHelp::execute (std::string& output)
|
||||||
|
|
||||||
// Static first row.
|
// Static first row.
|
||||||
int row = view.addRow ();
|
int row = view.addRow ();
|
||||||
view.set (row, 0, "Usage:");
|
view.set (row, 0, STRING_CMD_HELP_USAGE_LABEL);
|
||||||
view.set (row, 1, "task");
|
view.set (row, 1, "task");
|
||||||
view.set (row, 2, "Runs rc.default.command, if specified.");
|
view.set (row, 2, STRING_CMD_HELP_USAGE_DESC);
|
||||||
|
|
||||||
// Obsolete method of getting a list of all commands.
|
// Obsolete method of getting a list of all commands.
|
||||||
std::vector <std::string> all;
|
std::vector <std::string> all;
|
||||||
|
@ -101,89 +105,13 @@ int CmdHelp::execute (std::string& output)
|
||||||
{
|
{
|
||||||
row = view.addRow ();
|
row = view.addRow ();
|
||||||
view.set (row, 1, alias->first);
|
view.set (row, 1, alias->first);
|
||||||
view.set (row, 2, "Aliased to '" + alias->second + "'");
|
view.set (row, 2, format (STRING_CMD_HELP_ALIASED, alias->second));
|
||||||
}
|
}
|
||||||
|
|
||||||
output = "\n"
|
output = "\n"
|
||||||
+ view.render ()
|
+ view.render ()
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ "Documentation for taskwarrior can be found using 'man task', "
|
+ STRING_CMD_HELP_TEXT;
|
||||||
"'man taskrc', 'man task-tutorial', 'man task-color', 'man task-faq' "
|
|
||||||
"or at http://taskwarrior.org"
|
|
||||||
+ "\n"
|
|
||||||
+ "\n"
|
|
||||||
|
|
||||||
+ "<filter>\n"
|
|
||||||
" Used to restrict the visible data.\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
+ "<modfications>\n"
|
|
||||||
" Changes to apply to the filtered data.\n"
|
|
||||||
"\n"
|
|
||||||
|
|
||||||
+ "ID is the numeric identifier displayed by the 'task list' command. "
|
|
||||||
"You can specify multiple IDs for task commands, and multiple tasks "
|
|
||||||
"will be affected. To specify multiple IDs make sure you use one "
|
|
||||||
"of these forms:\n"
|
|
||||||
" task delete 1,2,3\n"
|
|
||||||
" task info 1-3\n"
|
|
||||||
" task pri:H 1,2-5,19\n"
|
|
||||||
"\n"
|
|
||||||
"Tags are arbitrary words, any quantity:\n"
|
|
||||||
" +tag The + means add the tag\n"
|
|
||||||
" -tag The - means remove the tag\n"
|
|
||||||
"\n"
|
|
||||||
"Attributes are:\n"
|
|
||||||
" project: Project name\n"
|
|
||||||
" priority: Priority\n"
|
|
||||||
" due: Due date\n"
|
|
||||||
" recur: Recurrence frequency\n"
|
|
||||||
" until: Recurrence end date\n"
|
|
||||||
" fg: Foreground color\n"
|
|
||||||
" bg: Background color\n"
|
|
||||||
" limit: Desired number of rows in report, or 'page'\n"
|
|
||||||
" wait: Date until task becomes pending\n"
|
|
||||||
"\n"
|
|
||||||
"Attribute modifiers improve filters. Supported modifiers are:\n"
|
|
||||||
" before (synonyms under, below)\n"
|
|
||||||
" after (synonyms over, above)\n"
|
|
||||||
" none\n"
|
|
||||||
" any\n"
|
|
||||||
" is (synonym equals)\n"
|
|
||||||
" isnt (synonym not)\n"
|
|
||||||
" has (synonym contains)\n"
|
|
||||||
" hasnt\n"
|
|
||||||
" startswith (synonym left)\n"
|
|
||||||
" endswith (synonym right)\n"
|
|
||||||
" word\n"
|
|
||||||
" noword\n"
|
|
||||||
"\n"
|
|
||||||
" For example:\n"
|
|
||||||
" task list due.before:eom priority.not:L\n"
|
|
||||||
"\n"
|
|
||||||
" Modifiers can be inverted with the ~ character:\n"
|
|
||||||
" project.~is is equivalent to project.isnt\n"
|
|
||||||
"\n"
|
|
||||||
"The default .taskrc file can be overridden with:\n"
|
|
||||||
" task rc:<alternate file> ...\n"
|
|
||||||
"\n"
|
|
||||||
"The values in .taskrc (or alternate) can be overridden with:\n"
|
|
||||||
" task ... rc.<name>:<value>\n"
|
|
||||||
"\n"
|
|
||||||
"Any command or attribute name may be abbreviated if still unique:\n"
|
|
||||||
" task list project:Home\n"
|
|
||||||
" task li pro:Home\n"
|
|
||||||
"\n"
|
|
||||||
"Some task descriptions need to be escaped because of the shell:\n"
|
|
||||||
" task add \"quoted ' quote\"\n"
|
|
||||||
" task add escaped \\' quote\n"
|
|
||||||
"\n"
|
|
||||||
"The argument -- tells taskwarrior to treat all other args as description.\n"
|
|
||||||
" task add -- project:Home needs scheduling\n"
|
|
||||||
"\n"
|
|
||||||
"Many characters have special meaning to the shell, including:\n"
|
|
||||||
" $ ! ' \" ( ) ; \\ ` * ? { } [ ] < > | & % # ~\n"
|
|
||||||
"\n";
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
112
src/en-US.h
112
src/en-US.h
|
@ -36,7 +36,7 @@
|
||||||
// - text output that the user sees
|
// - text output that the user sees
|
||||||
//
|
//
|
||||||
// Strings that should NOT be localized:
|
// Strings that should NOT be localized:
|
||||||
// - ./taskrc configuration variable names
|
// - .taskrc configuration variable names
|
||||||
// - command names
|
// - command names
|
||||||
// - extension function names
|
// - extension function names
|
||||||
// - certain literals associated with parsing
|
// - certain literals associated with parsing
|
||||||
|
@ -46,8 +46,8 @@
|
||||||
// - logical operators (and, or, xor)
|
// - logical operators (and, or, xor)
|
||||||
//
|
//
|
||||||
// Rules:
|
// Rules:
|
||||||
// - Localized strings should contain leading or trailing white space,
|
// - Localized strings should not in general contain leading or trailing
|
||||||
// including \n, thus allowing the code to compose strings.
|
// white space, including \n, thus allowing the code to compose strings.
|
||||||
// - Retain the tense of the original string.
|
// - Retain the tense of the original string.
|
||||||
// - Retain the same degree of verbosity of the original string.
|
// - Retain the same degree of verbosity of the original string.
|
||||||
//
|
//
|
||||||
|
@ -429,6 +429,10 @@
|
||||||
#define STRING_CMD_BURN_DONE "Done" // Must be 7 or fewer characters
|
#define STRING_CMD_BURN_DONE "Done" // Must be 7 or fewer characters
|
||||||
#define STRING_CMD_BURN_PENDING "Pending" // Must be 7 or fewer characters
|
#define STRING_CMD_BURN_PENDING "Pending" // Must be 7 or fewer characters
|
||||||
#define STRING_CMD_BURN_NO_CONVERGE "No convergence"
|
#define STRING_CMD_BURN_NO_CONVERGE "No convergence"
|
||||||
|
#define STRING_CMD_HELP_USAGE "Displays this usage help text"
|
||||||
|
#define STRING_CMD_HELP_USAGE_LABEL "Usage:"
|
||||||
|
#define STRING_CMD_HELP_USAGE_DESC "Runs rc.default.command, if specified."
|
||||||
|
#define STRING_CMD_HELP_ALIASED "Aliased to '{1}'"
|
||||||
|
|
||||||
// Config
|
// Config
|
||||||
#define STRING_CONFIG_OVERNEST "Configuration file nested to more than 10 levels deep - this has to be a mistake."
|
#define STRING_CONFIG_OVERNEST "Configuration file nested to more than 10 levels deep - this has to be a mistake."
|
||||||
|
@ -594,6 +598,108 @@
|
||||||
#define STRING_UTF8_INVALID_CP_REP "Invalid codepoint representation."
|
#define STRING_UTF8_INVALID_CP_REP "Invalid codepoint representation."
|
||||||
#define STRING_UTF8_INVALID_CP "Invalid Unicode codepoint."
|
#define STRING_UTF8_INVALID_CP "Invalid Unicode codepoint."
|
||||||
|
|
||||||
|
// Usage text. This is an exception, and contains \n characters and formatting.
|
||||||
|
#define STRING_CMD_HELP_TEXT \
|
||||||
|
"Documentation for Taskwarrior can be found using 'man task', 'man taskrc', 'man " \
|
||||||
|
"task-tutorial', 'man task-color', 'man task-faq', 'man task-synch or at " \
|
||||||
|
"http://taskwarrior.org\n" \
|
||||||
|
"\n" \
|
||||||
|
"The general form of commands is:\n" \
|
||||||
|
" task <filter> <command> <modifications>\n" \
|
||||||
|
"\n" \
|
||||||
|
"The <filter> consists of zero or more restrictions on which tasks to select, " \
|
||||||
|
"such as:\n" \
|
||||||
|
" task <command> <modifications>\n" \
|
||||||
|
" task 28 <command> <modifications>\n" \
|
||||||
|
" task +weekend <command> <modifications>\n" \
|
||||||
|
" task project:Home due.before:today <command> <modifications>\n" \
|
||||||
|
" task ebeeab00-ccf8-464b-8b58-f7f2d606edfb <command> <modifications>\n" \
|
||||||
|
"\n" \
|
||||||
|
"By default, filter elements are combined with an implicit 'and' operator, but " \
|
||||||
|
"'or' and 'xor' may also be used, provided parentheses are included:\n" \
|
||||||
|
" task '(/[Cc]at|[Dd]og/ or /[0-9]+/)' <command> <modifications>\n" \
|
||||||
|
"\n" \
|
||||||
|
"A filter may target specific tasks using ID or UUID numbers. To specify " \
|
||||||
|
"multiple tasks use one of these forms:\n" \
|
||||||
|
" task 1,2,3 delete\n" \
|
||||||
|
" task 1-3 info\n" \
|
||||||
|
" task 1,2-5,19 modify pri:H\n" \
|
||||||
|
" task 4-7 ebeeab00-ccf8-464b-8b58-f7f2d606edfb info\n" \
|
||||||
|
"\n" \
|
||||||
|
"The <modifications> consist of zero or more changes to apply to the selected " \
|
||||||
|
"tasks, such as:\n" \
|
||||||
|
" task <filter> <command> project:Home\n" \
|
||||||
|
" task <filter> <command> +weekend +garden due:tomorrow\n" \
|
||||||
|
" task <filter> <command> Description/annotation text\n" \
|
||||||
|
"\n" \
|
||||||
|
"Tags are arbitrary words, any quantity:\n" \
|
||||||
|
" +tag The + means add the tag\n" \
|
||||||
|
" -tag The - means remove the tag\n" \
|
||||||
|
"\n" \
|
||||||
|
"Built-in attributes are:\n" \
|
||||||
|
" description: Task description text\n" \
|
||||||
|
" status: Status of task - pending, completed, deleted, waiting\n" \
|
||||||
|
" project: Project name\n" \
|
||||||
|
" priority: Priority\n" \
|
||||||
|
" due: Due date\n" \
|
||||||
|
" recur: Recurrence frequency\n" \
|
||||||
|
" until: Recurrence end date\n" \
|
||||||
|
" limit: Desired number of rows in report, or 'page'\n" \
|
||||||
|
" wait: Date until task becomes pending\n" \
|
||||||
|
" entry: Date task was created\n" \
|
||||||
|
" end: Date task was completed/deleted\n" \
|
||||||
|
" start: Date task was started\n" \
|
||||||
|
"\n" \
|
||||||
|
"Attribute modifiers make filters more precise. Supported modifiers are:\n" \
|
||||||
|
" before (synonyms under, below)\n" \
|
||||||
|
" after (synonyms over, above)\n" \
|
||||||
|
" none\n" \
|
||||||
|
" any\n" \
|
||||||
|
" is (synonym equals)\n" \
|
||||||
|
" isnt (synonym not)\n" \
|
||||||
|
" has (synonym contains)\n" \
|
||||||
|
" hasnt\n" \
|
||||||
|
" startswith (synonym left)\n" \
|
||||||
|
" endswith (synonym right)\n" \
|
||||||
|
" word\n" \
|
||||||
|
" noword\n" \
|
||||||
|
"\n" \
|
||||||
|
"Alternately algebraic expressions support:\n" \
|
||||||
|
" and or xor Logical operators\n" \
|
||||||
|
" < <= = != >= > Relational operators\n" \
|
||||||
|
" + - Addition, subtraction\n" \
|
||||||
|
" ! Inversion\n" \
|
||||||
|
" ~ !~ Match, no match\n" \
|
||||||
|
" ( ) Precedence\n" \
|
||||||
|
"\n" \
|
||||||
|
" For example:\n" \
|
||||||
|
" task due.before:eom priority.not:L list\n" \
|
||||||
|
" task '(due < eom or priority != L)' list\n" \
|
||||||
|
"\n" \
|
||||||
|
"The default .taskrc file can be overridden with:\n" \
|
||||||
|
" task ... rc:<alternate file> ...\n" \
|
||||||
|
" task ... rc:~/.alt_taskrc ...\n" \
|
||||||
|
"\n" \
|
||||||
|
"The values in .taskrc (or alternate) can be overridden with:\n" \
|
||||||
|
" task ... rc.<name>=<value> ...\n" \
|
||||||
|
" task rc.color=off list\n" \
|
||||||
|
"\n" \
|
||||||
|
"Any command or attribute name may be abbreviated if still unique:\n" \
|
||||||
|
" task list project:Home\n" \
|
||||||
|
" task li pro:Home\n" \
|
||||||
|
"\n" \
|
||||||
|
"Some task descriptions need to be escaped because of the shell:\n" \
|
||||||
|
" task add \"quoted ' quote\"\n" \
|
||||||
|
" task add escaped \\' quote\n" \
|
||||||
|
"\n" \
|
||||||
|
"The argument -- tells taskwarrior to treat all other args as description, even " \
|
||||||
|
"if they would otherwise be attributes or tags:\n" \
|
||||||
|
" task add -- project:Home needs scheduling\n" \
|
||||||
|
"\n" \
|
||||||
|
"Many characters have special meaning to the shell, including:\n" \
|
||||||
|
" $ ! ' \" ( ) ; \\ ` * ? { } [ ] < > | & % # ~\n" \
|
||||||
|
"\n"
|
||||||
|
|
||||||
// util
|
// util
|
||||||
#define STRING_UTIL_CONFIRM_YN " (y/n) "
|
#define STRING_UTIL_CONFIRM_YN " (y/n) "
|
||||||
#define STRING_UTIL_CONFIRM_YES "yes"
|
#define STRING_UTIL_CONFIRM_YES "yes"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue