[tasque] Natural Language support (BGO #555680)
- From: Mario Carrion <mcarrion src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tasque] Natural Language support (BGO #555680)
- Date: Wed, 31 Mar 2010 03:05:46 +0000 (UTC)
commit 601bda447729fdd74872572424966e0672986ba1
Author: Mario Carrion <mario carrion mx>
Date: Tue Mar 30 23:03:45 2010 -0400
Natural Language support (BGO #555680)
Inspired by the work done by Anirudh Sanjeev and Steve George.
ChangeLog | 37 +
RtmNet/RtmNet.csproj | 2 +-
TRANSLATORS | 54 ++
po/ChangeLog | 5 +
po/POTFILES.in | 1 +
po/cs.po | 392 ++++++++----
po/da.po | 381 ++++++++----
po/de.po | 208 ++++---
po/el.po | 329 +++++++---
po/en_GB.po | 392 ++++++++----
po/eo.po | 429 ++++++++-----
po/es.po | 181 +++---
po/et.po | 255 +++++++-
po/fi.po | 505 ++++++++++++++-
po/fr.po | 458 ++++++++++----
po/gl.po | 188 ++++--
po/hu.po | 206 ++++---
po/id.po | 208 ++++---
po/it.po | 389 ++++++++----
po/ja.po | 395 ++++++++----
po/nb.po | 189 ++++--
po/nds.po | 250 +++++---
po/nl.po | 512 ++++++++++++++-
po/pl.po | 428 ++++++++----
po/pt.po | 185 ++++--
po/pt_BR.po | 185 ++++--
po/ru.po | 488 ++++++++++----
po/sl.po | 254 +++++---
po/sv.po | 250 +++++---
po/th.po | 392 ++++++++----
po/tr.po | 458 ++++++++++----
po/zh_CN.po | 185 ++++--
po/zh_TW.po | 458 ++++++++++----
src/Makefile.am | 37 +-
src/RemoteControl.cs | 2 +-
src/TaskTreeView.cs | 2 +-
src/TaskWindow.cs | 2 +-
src/Utilities.cs | 101 +---
src/libtasque/DateFormatterFactory.cs | 55 ++
src/libtasque/DateFormatters/DateFormatter.cs | 81 +++
.../DateFormatters/DateSeparatedFormatter.cs | 42 ++
src/libtasque/DateFormatters/DayFormatter.cs | 45 ++
src/libtasque/DateFormatters/IDateFormatter.cs | 33 +
src/libtasque/DateFormatters/MonthFormatter.cs | 46 ++
src/libtasque/DateFormatters/OrdinalFormatter.cs | 57 ++
src/libtasque/DateFormatters/QuantityFormatter.cs | 99 +++
.../DateFormatters/StringInsensitiveComparer.cs | 40 ++
.../DateFormatters/TodayTomorrowFormatter.cs | 45 ++
src/libtasque/DateFormatters/WeekFormatter.cs | 45 ++
src/libtasque/DateFormatters/WeekdayFormatter.cs | 49 ++
src/libtasque/DateFormatters/YearFormatter.cs | 45 ++
src/libtasque/Extensions.cs | 127 ++++
src/libtasque/RegularExpressionFormatter.cs | 60 ++
src/libtasque/TaskParser.cs | 365 ++++++++++
src/libtasque/TranslatableToken.cs | 46 ++
src/libtasque/libtasque.csproj | 39 +-
tasque.csproj | 3 +-
tasque.sln | 6 +
tests/DateGuesserTest.cs | 365 ++++++++++
tests/TaskParserFixture.cs | 694 ++++++++++++++++++++
tests/tests.csproj | 52 ++
61 files changed, 9189 insertions(+), 2643 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 1b84197..e431749 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2010-03-30 Mario Carrion <mario carrion mx>
+
+ * TRANSLATORS: Added file.
+ * RtmNet/RtmNet.csproj:
+ * src/libtasque/libtasque.csproj:
+ * tasque.csproj: Using 3.5 framework.
+ * tasque.sln: Updated to include tests project.
+ * src/libtasque/DateFormatterFactory.cs:
+ * src/libtasque/DateFormatters/DateFormatter.cs:
+ * src/libtasque/DateFormatters/DateSeparatedFormatter.cs:
+ * src/libtasque/DateFormatters/DayFormatter.cs:
+ * src/libtasque/DateFormatters/IDateFormatter.cs:
+ * src/libtasque/DateFormatters/MonthFormatter.cs:
+ * src/libtasque/DateFormatters/OrdinalFormatter.cs:
+ * src/libtasque/DateFormatters/QuantityFormatter.cs:
+ * src/libtasque/DateFormatters/StringInsensitiveComparer.cs:
+ * src/libtasque/DateFormatters/TodayTomorrowFormatter.cs:
+ * src/libtasque/DateFormatters/WeekFormatter.cs:
+ * src/libtasque/DateFormatters/WeekdayFormatter.cs:
+ * src/libtasque/DateFormatters/YearFormatter.cs:
+ * src/libtasque/Extensions.cs:
+ * src/libtasque/RegularExpressionFormatter.cs:
+ * src/libtasque/TaskParser.cs:
+ * src/libtasque/TranslatableToken.cs:
+ * tests/DateGuesserTest.cs:
+ * tests/TaskParserFixture.cs:
+ * src/Makefile.am:
+ * tests/tests.csproj: Files added. Implements Natural Language
+ support.
+ * src/RemoteControl.cs:
+ * src/TaskTreeView.cs:
+ * src/TaskWindow.cs:
+ * src/Utilities.cs: Updated to use newest NLI.
+ Fixes BGO #555680
+
+ Inspired by the work done by Anirudh Sanjeev and Steve George.
+
2010-03-08 Mario Carrion <mario carrion mx>
* tasque.csproj:
diff --git a/RtmNet/RtmNet.csproj b/RtmNet/RtmNet.csproj
index 127a70a..145e4e8 100644
--- a/RtmNet/RtmNet.csproj
+++ b/RtmNet/RtmNet.csproj
@@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<NoStandardLibraries>false</NoStandardLibraries>
<AssemblyName>RtmNet</AssemblyName>
- <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<RootNamespace>RtmNet</RootNamespace>
</PropertyGroup>
diff --git a/TRANSLATORS b/TRANSLATORS
new file mode 100644
index 0000000..3a0a52a
--- /dev/null
+++ b/TRANSLATORS
@@ -0,0 +1,54 @@
+TRANSLATORS
+
+This file explains the rules to follow for translating regular expressions.
+The most important one is:
+
+- Do not remove the the vertical separator or pipe ('|') in strings containing
+ it. Only the elements separated by this character are translated.
+- Do not add extra spaces.
+- MAKE SURE 'fuzzy' translations are reviewed, and if the translation is valid,
+ remove the fuzzy line.
+
+For example:
+
+ "next" would be translated to spanish "siguiente|proxima|próxima"
+
+Notice that "proxima" is also used, the idea here is to be not too strict
+and support spelling errors (that make sense). In this case we are ignoring
+the 'ó' to allow the spelling error.
+
+TRANSLATABLE EXPRESSIONS
+
+The following table shows the tokens and the meaning of them.
+
+-------------------------------------------------------------
+| Token | English words | Description
+-------------------------------------------------------------
+| M | "Jan|January|Feb|..." | Short and long months.
+| D | "Sun|Sunday|Mon|..." | Short and long weekdays.
+| A | "d/m/y|d-m-y" | Date separated, locale specific
+| T | "today", "tomorrow" | Same.
+| O | "1st,2nd,3rd,11th,.." | Ordinal number
+| N | "1,2,3,11,.." | Cardinal number, beginning in 1.
+
+| u | "due|due by|due before" | Same
+| d | "day|days" | Same
+| w | "week|weeks" | Same
+| m | "month|months" | Same
+| y | "year|years" | Same
+| n | "next" | Same
+| o | "on" | Same
+| i | "in" | Same
+
+For example, the following expression:
+"u M O" in English will match: "due by April 2nd"
+
+but in Spanish this expression would need to be changed to:
+"u O 'de' M" to match "antes del 1o de Abril"
+
+also notice here that the all tokens are shortcuts to the translation
+and only extra words needed are required to be included in the
+translated regular expression.
+
+If you have any question, send an email to the mailing list. We will
+answer all of your questions.
diff --git a/po/ChangeLog b/po/ChangeLog
index cf02e34..013fc14 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-30 Mario Carrion <mario carrion mx>
+
+ * POTFILES.in: Added new files.
+ * *.po: Updated to latest changes.
+
2009-10-05 Ray Wang <raywang gnome org>
* zh_CN.po: Updated zh_CN translation.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ef88ce7..f6aa3f4 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -13,3 +13,4 @@ src/TaskTreeView.cs
src/TaskWindow.cs
src/Utilities.cs
src/Backends/Rtm/RtmPreferencesWidget.cs
+src/libtasque/TaskParser.cs
diff --git a/po/cs.po b/po/cs.po
index 32b0732..c4d84c7 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-08 03:59+0100\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-03-04 19:56+0100\n"
"Last-Translator: Petr Pulc <petrpulc gmail com>\n"
"Language-Team: Czech <gnome-cs-list gnome org>\n"
@@ -30,55 +30,85 @@ msgstr "Správce úkolů"
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:487
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr "Petr Pulc <petrpulc gmail com>"
-#: ../src/Application.cs:496
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:497
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "UžiteÄ?ný seznam úkolů"
-#: ../src/Application.cs:499
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Domovská stránka projektu Tasque"
-#: ../src/Application.cs:612
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Nový úkol ..."
-#: ../src/Application.cs:619
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "Zobrazit úkoly ..."
-#: ../src/Application.cs:634
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "Obnovit úkoly ..."
-#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "VÅ¡e"
-#: ../src/CompletedTaskGroup.cs:205 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "VÄ?era"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Poslednà týden"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Poslednà mÄ?sÃc"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Poslednà rok"
@@ -95,28 +125,51 @@ msgstr "_Soubor"
msgid "_Window"
msgstr "_Okno"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Obecné"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "Dnes"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "ZpoždÄ?né"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "Systém správy úkolů"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Filtrovánà úkolů"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "Zobrazit d_okonÄ?ené úkoly"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "_S vybranou volbou \"VÅ¡e\" zobrazit jen tyto kategorie:"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Kategorie"
@@ -125,7 +178,7 @@ msgid "New task created."
msgstr "Nový úkol vytvoÅ?en."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:340
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "DokonÄ?ené"
@@ -135,19 +188,19 @@ msgid "Priority"
msgstr "Priorita"
#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
@@ -167,38 +220,38 @@ msgid "Due Date"
msgstr "TermÃn"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d. M. - "
-#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:273 ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Dnes"
-#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:291 ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "ZÃtra"
#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d. M. - ddd"
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "Za týden"
-#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Bez data"
-#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Zvolit datum..."
@@ -216,202 +269,311 @@ msgstr "Ä?asovaÄ?"
msgid "Task Completed"
msgstr "Ã?kol dokonÄ?en"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d. M. yy - ddd"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "Akce zrušena"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "OznaÄ?Ã jako dokonÄ?enou za: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:833 ../src/TaskWindow.cs:889
-#: ../src/TaskWindow.cs:899 ../src/TaskWindow.cs:910
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Nový úkol..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "PÅ?id_at"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "PÅ?id_at úkol"
-#: ../src/TaskWindow.cs:255
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "ZpoždÄ?né"
-#: ../src/TaskWindow.cs:309
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "Do týdne"
-#: ../src/TaskWindow.cs:325
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Budoucnost"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:797
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "Chyba pÅ?i vytváÅ?enà nového úkolu"
#. Show successful status
-#: ../src/TaskWindow.cs:801
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "Ã?kol úspÄ?Å¡nÄ? vytvoÅ?en"
-#: ../src/TaskWindow.cs:1078
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "Poz_námky..."
-#: ../src/TaskWindow.cs:1085
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_Smazat úkol"
-#: ../src/TaskWindow.cs:1090
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "_Upravit úkol"
-#: ../src/TaskWindow.cs:1118
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Kategorie"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "�kol smazán"
-#: ../src/TaskWindow.cs:1160
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "NaÄ?Ãtánà úkolů..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"Nejste pÅ?ipojeni"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Dnes, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "VÄ?era, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "PÅ?ed {0} dny, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "PÅ?ed {0} dny"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "ZÃtra, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "Za {0} dnÃ, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "Za {0} dnÃ"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d. MMMM, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d. MMMM"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d. MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d. MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "NedÄ?le"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "PondÄ?lÃ"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "�terý"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "StÅ?eda"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Ä?tvrtek"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Pátek"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sobota"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+dnes\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+zÃtra\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "KliknÄ?te sem pro pÅ?ipojenÃ"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"PrávÄ? jste pÅ?ipojeni"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"PrávÄ? jste pÅ?ipojeni"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"Nejste pÅ?ipojeni"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "Remember the Milk neodpovÃdá. Zkuste to prosÃm pozdÄ?ji."
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "Po autorizaci kliknÄ?te sem"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "Nastavte výchozà prohlÞeÄ? a zkuste to znovu"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "DÄ?kujeme"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-"\n"
-"\n"
-"PrávÄ? jste pÅ?ipojeni"
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Dnes"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "ZÃtra"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nový úkol..."
+
+#~ msgid "Sunday"
+#~ msgstr "NedÄ?le"
+
+#~ msgid "Monday"
+#~ msgstr "PondÄ?lÃ"
+
+#~ msgid "Tuesday"
+#~ msgstr "�terý"
+
+#~ msgid "Wednesday"
+#~ msgstr "StÅ?eda"
+
+#~ msgid "Thursday"
+#~ msgstr "Ä?tvrtek"
+
+#~ msgid "Friday"
+#~ msgstr "Pátek"
+
+#~ msgid "Saturday"
+#~ msgstr "Sobota"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+dnes\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+zÃtra\\W*$"
diff --git a/po/da.po b/po/da.po
index 247362d..5f74089 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-29 10:20+0200\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-07-02 12:55+0100\n"
"Last-Translator: Søren Juul <zpon dk gmail com>\n"
"Language-Team: Danish <dansk dansk-gruppen dk>\n"
@@ -27,11 +27,38 @@ msgstr "Opgavehåndtering"
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:487
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr ""
"Søren Juul\n"
@@ -39,47 +66,47 @@ msgstr ""
"Dansk-gruppen <dansk dansk-gruppen dk>\n"
"Mere info: http://www.dansk-gruppen.dk"
-#: ../src/Application.cs:496
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:497
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "En handy opgaveliste"
-#: ../src/Application.cs:499
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Tasque-projekthjemmeside"
-#: ../src/Application.cs:612
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Ny opgave..."
-#: ../src/Application.cs:619
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "Vis opgaver..."
-#: ../src/Application.cs:634
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "Genopfrisk opgaver ..."
-#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Alle"
-#: ../src/CompletedTaskGroup.cs:205 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "I går"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "De sidste 7 dage"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Sidste måned"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Sidste år"
@@ -96,29 +123,52 @@ msgstr "_Fil"
msgid "_Window"
msgstr "_Vindue"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Generelt"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "I dag"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "Overskredet"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "System til opgavehåndtering"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Opgavefiltrering"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
#, fuzzy
msgid "Sh_ow completed tasks"
msgstr "Vis _udførte opgaver"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "Vi_s kun disse kategorier når \"Alle\" er valgt:"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Kategori"
@@ -137,19 +187,19 @@ msgid "Priority"
msgstr "Prioritet"
#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
@@ -169,38 +219,38 @@ msgid "Due Date"
msgstr "Forfaldsdato"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "I dag"
-#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "I morgen"
#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "PÃ¥ 1 uge"
-#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Ingen dato"
-#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Vælg dato..."
@@ -218,31 +268,31 @@ msgstr "Stopur"
msgid "Task Completed"
msgstr "Opgave udført"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/åå - ddd"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "Handling annulleret"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "Færdigør opgaven i: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:835 ../src/TaskWindow.cs:891
-#: ../src/TaskWindow.cs:901 ../src/TaskWindow.cs:912
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Ny opgave..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Tilføj"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Tilføj opgave"
@@ -258,165 +308,274 @@ msgstr "Næste 7 Dage"
msgid "Future"
msgstr "Fremtidig"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:799
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "Fejl under oprettelse af ny opgave"
#. Show successful status
-#: ../src/TaskWindow.cs:803
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "Opgave oprettet"
-#: ../src/TaskWindow.cs:1080
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Noter..."
-#: ../src/TaskWindow.cs:1087
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_Slet opgave"
-#: ../src/TaskWindow.cs:1092
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "R_edigér opgave"
-#: ../src/TaskWindow.cs:1120
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Kategori"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "Opgaven er slettet"
-#: ../src/TaskWindow.cs:1162
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Indlæser opgaver..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"Du er ikke forbundet"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "I dag, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "I går, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} dage siden, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} dage siden"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "I morgen, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "PÃ¥ {0} dage, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "PÃ¥ {0} dage"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Søndag"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Mandag"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Tirsdag"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Onsdag"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Torsdag"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Fredag"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Lørdag"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+i dag\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+i morgen\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Klik her for at forbinde"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"Du er forbundet"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"Du er forbundet"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"Du er ikke forbundet"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "Remember the Milk svarede ikke. Prøv igen senere."
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "Klik her efter godkendelsen"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "Set standardbrowseren og prøv igen"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Tak"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-"\n"
-"\n"
-"Du er forbundet"
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "I dag"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "I morgen"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Ny opgave..."
+
+#~ msgid "Sunday"
+#~ msgstr "Søndag"
+
+#~ msgid "Monday"
+#~ msgstr "Mandag"
+
+#~ msgid "Tuesday"
+#~ msgstr "Tirsdag"
+
+#~ msgid "Wednesday"
+#~ msgstr "Onsdag"
+
+#~ msgid "Thursday"
+#~ msgstr "Torsdag"
+
+#~ msgid "Friday"
+#~ msgstr "Fredag"
+
+#~ msgid "Saturday"
+#~ msgstr "Lørdag"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+i dag\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+i morgen\\W*$"
#~ msgid "Reloading tasks..."
#~ msgstr "Genindlæs opgaver..."
diff --git a/po/de.po b/po/de.po
index 8fe0d4f..6a4ced3 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,9 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=tasque&component=general\n"
-"POT-Creation-Date: 2009-09-19 15:24+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-09-20 11:48+0100\n"
"Last-Translator: Mario Blättermann <mariobl gnome org>\n"
"Language-Team: German <gnome-de gnome org>\n"
@@ -56,7 +55,6 @@ msgstr[1] "{0} Aufgaben für morgen\n"
#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
#: ../src/Application.cs:540
-#| msgid "Tasque"
msgid "Tasque Rocks"
msgstr "Tasque Rocks"
@@ -98,7 +96,7 @@ msgstr "Aufgaben aktualisieren â?¦"
msgid "All"
msgstr "Alle"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Gestern"
@@ -145,12 +143,10 @@ msgid "Color Management"
msgstr "Farbverwaltung"
#: ../src/PreferencesDialog.cs:171
-#| msgid "Today"
msgid "Today:"
msgstr "Heute:"
#: ../src/PreferencesDialog.cs:199
-#| msgid "Overdue"
msgid "Overdue:"
msgstr "�berfällig:"
@@ -228,12 +224,12 @@ msgid "M/d - "
msgstr "d.M - "
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Heute"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Morgen"
@@ -249,7 +245,7 @@ msgid "In 1 Week"
msgstr "In 1 Woche"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Kein Datum"
@@ -341,7 +337,6 @@ msgstr "Aufgab_e bearbeiten"
#. TODO Needs translation.
#: ../src/TaskWindow.cs:1133
-#| msgid "Category"
msgid "_Change category"
msgstr "Kategorie än_dern"
@@ -354,130 +349,75 @@ msgid "Loading tasks..."
msgstr "Aufgaben laden â?¦"
#: ../src/TaskWindow.cs:1225
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "Not connected."
msgstr "Sie sind nicht verbunden."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Heute, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Gestern, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "vor {0} Tagen, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "vor {0} Tagen"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Morgen, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "In {0} Tagen, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "In {0} Tagen"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d. MMMM, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d. MMMM"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d. MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d. MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Sonntag"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Montag"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Dienstag"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Mittwoch"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Donnerstag"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Freitag"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Samstag"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+heute\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+morgen\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Hier klicken, um zu verbinden"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected"
msgstr "Sie sind gegenwärtig verbunden"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected as"
msgstr "Sie sind gegenwärtig verbunden als"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "You are not connected"
msgstr "Sie sind nicht verbunden"
@@ -504,3 +444,117 @@ msgstr "Gescheitert, bitte erneut versuchen"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Danke"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Heute"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Morgen"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Neue Aufgabe â?¦"
+
+#~ msgid "Sunday"
+#~ msgstr "Sonntag"
+
+#~ msgid "Monday"
+#~ msgstr "Montag"
+
+#~ msgid "Tuesday"
+#~ msgstr "Dienstag"
+
+#~ msgid "Wednesday"
+#~ msgstr "Mittwoch"
+
+#~ msgid "Thursday"
+#~ msgstr "Donnerstag"
+
+#~ msgid "Friday"
+#~ msgstr "Freitag"
+
+#~ msgid "Saturday"
+#~ msgstr "Samstag"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+heute\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+morgen\\W*$"
diff --git a/po/el.po b/po/el.po
index 7cb99dc..a0d677d 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: el\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-01-05 13:38+0000\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-01-05 13:39+0000\n"
"Last-Translator: Simos Xenitellis <simos gnome org>\n"
"Language-Team: Greek <team gnome gr>\n"
@@ -28,55 +28,81 @@ msgstr "Î?ιαÏ?ειÏ?ιÏ?Ï?ήÏ? εÏ?γαÏ?ιÏ?ν"
msgid "Tasque"
msgstr ""
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+msgid "Tasque Rocks"
+msgstr ""
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:488
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr ""
-#: ../src/Application.cs:497
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr ""
-#: ../src/Application.cs:498
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr ""
-#: ../src/Application.cs:500
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr ""
-#: ../src/Application.cs:614
-msgid "Show Tasks ..."
-msgstr ""
-
-#: ../src/Application.cs:621
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Î?Îα εÏ?γαÏ?ία..."
-#: ../src/Application.cs:636
+#: ../src/Application.cs:717
+msgid "Show Tasks ..."
+msgstr ""
+
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr ""
-#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Î?λα"
-#: ../src/CompletedTaskGroup.cs:205 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr ""
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr ""
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr ""
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr ""
@@ -93,28 +119,49 @@ msgstr ""
msgid "_Window"
msgstr ""
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr ""
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+msgid "Today:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:199
+msgid "Overdue:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr ""
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr ""
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr ""
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr ""
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr ""
@@ -123,7 +170,7 @@ msgid "New task created."
msgstr ""
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:340
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr ""
@@ -133,19 +180,19 @@ msgid "Priority"
msgstr ""
#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr ""
#. High
#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr ""
#. Medium
#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr ""
@@ -165,38 +212,38 @@ msgid "Due Date"
msgstr ""
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr ""
-#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:273 ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr ""
-#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:291 ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr ""
#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr ""
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr ""
-#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr ""
-#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr ""
@@ -214,197 +261,265 @@ msgstr ""
msgid "Task Completed"
msgstr ""
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr ""
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr ""
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr ""
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:833 ../src/TaskWindow.cs:889
-#: ../src/TaskWindow.cs:899 ../src/TaskWindow.cs:910
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr ""
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr ""
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr ""
-#: ../src/TaskWindow.cs:255
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr ""
-#: ../src/TaskWindow.cs:309
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr ""
-#: ../src/TaskWindow.cs:325
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr ""
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:797
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr ""
#. Show successful status
-#: ../src/TaskWindow.cs:801
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr ""
-#: ../src/TaskWindow.cs:1078
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr ""
-#: ../src/TaskWindow.cs:1085
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr ""
-#: ../src/TaskWindow.cs:1090
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr ""
-#: ../src/TaskWindow.cs:1118
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+msgid "_Change category"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr ""
-#: ../src/TaskWindow.cs:1160
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr ""
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+msgid "Not connected."
+msgstr ""
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr ""
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr ""
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr ""
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr ""
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr ""
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr ""
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr ""
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr ""
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr ""
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr ""
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr ""
-#: ../src/Utilities.cs:310
-msgid "Sunday"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
+msgid "Click Here to Connect"
msgstr ""
-#: ../src/Utilities.cs:312
-msgid "Monday"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+msgid "You are currently connected"
msgstr ""
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+msgid "You are currently connected as"
msgstr ""
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+msgid "You are not connected"
msgstr ""
-#: ../src/Utilities.cs:318
-msgid "Thursday"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
+msgid "Remember the Milk not responding. Try again later."
msgstr ""
-#: ../src/Utilities.cs:320
-msgid "Friday"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
+msgid "Click Here After Authorizing"
msgstr ""
-#: ../src/Utilities.cs:322
-msgid "Saturday"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
+msgid "Set the default browser and try again"
msgstr ""
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
msgstr ""
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
msgstr ""
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
-msgid "Click Here to Connect"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
+msgid "Thank You"
msgstr ""
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
-"\n"
-"\n"
-"You are not connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
-msgid "Remember the Milk not responding. Try again later."
+#: ../src/libtasque/TaskParser.cs:49
+msgid "today"
msgstr ""
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
-msgid "Click Here After Authorizing"
+#: ../src/libtasque/TaskParser.cs:51
+msgid "tomorrow"
msgstr ""
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
-msgid "Set the default browser and try again"
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
msgstr ""
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
-msgid "Thank You"
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
msgstr ""
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
msgstr ""
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Î?Îα εÏ?γαÏ?ία..."
diff --git a/po/en_GB.po b/po/en_GB.po
index 3575659..101c9fd 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -8,9 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Tasque\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=tasque&component=general\n"
-"POT-Creation-Date: 2009-03-08 03:00+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-03-20 07:42+0000\n"
"Last-Translator: Jen Ockwell <jenfraggleubuntu gmail com>\n"
"Language-Team: British English <en li org>\n"
@@ -30,55 +29,82 @@ msgstr "Task Manager"
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:487
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr "Jen Ockwell <jenfraggleubuntu gmail com>"
-#: ../src/Application.cs:496
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:497
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "A Useful Task List"
-#: ../src/Application.cs:499
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Tasque Project Homepage"
-#: ../src/Application.cs:612
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "New Task ..."
-#: ../src/Application.cs:619
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "Show Tasks ..."
-#: ../src/Application.cs:634
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "Refresh Tasks ..."
-#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "All"
-#: ../src/CompletedTaskGroup.cs:205 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Yesterday"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Last 7 Days"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Last Month"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Last Year"
@@ -95,28 +121,51 @@ msgstr "_File"
msgid "_Window"
msgstr "_Window"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "General"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "Today"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "Overdue"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "Task Management System"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Task Filtering"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "Sh_ow completed tasks"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "Only _show these categories when \"All\" is selected:"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Category"
@@ -125,7 +174,7 @@ msgid "New task created."
msgstr "New task created."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:340
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Completed"
@@ -135,19 +184,19 @@ msgid "Priority"
msgstr "Priority"
#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
@@ -167,38 +216,38 @@ msgid "Due Date"
msgstr "Due Date"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:273 ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Today"
-#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:291 ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Tomorrow"
#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "In 1 Week"
-#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "No Date"
-#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Choose Date..."
@@ -216,202 +265,311 @@ msgstr "Timer"
msgid "Task Completed"
msgstr "Task Completed"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/yy - ddd"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "Action Cancelled"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "Completing Task In: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:833 ../src/TaskWindow.cs:889
-#: ../src/TaskWindow.cs:899 ../src/TaskWindow.cs:910
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "New task..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Add"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Add Task"
-#: ../src/TaskWindow.cs:255
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "Overdue"
-#: ../src/TaskWindow.cs:309
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "Next 7 Days"
-#: ../src/TaskWindow.cs:325
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Future"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:797
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "Error creating a new task"
#. Show successful status
-#: ../src/TaskWindow.cs:801
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "Task created successfully"
-#: ../src/TaskWindow.cs:1078
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Notes..."
-#: ../src/TaskWindow.cs:1085
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_Delete task"
-#: ../src/TaskWindow.cs:1090
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "_Edit task"
-#: ../src/TaskWindow.cs:1118
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Category"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "Task deleted"
-#: ../src/TaskWindow.cs:1160
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Loading tasks..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"You are not connected"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Today, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Yesterday, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} days ago, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} days ago"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Tomorrow, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "In {0} days, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "In {0} days"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Sunday"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Monday"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Tuesday"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Wednesday"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Thursday"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Friday"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Saturday"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+today\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Click Here to Connect"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"You are currently connected"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"You are currently connected"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"You are not connected"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "Remember the Milk not responding. Try again later."
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "Click Here After Authorising"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "Set the default browser and try again"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Thank You"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-"\n"
-"\n"
-"You are currently connected"
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Today"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Tomorrow"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "New task..."
+
+#~ msgid "Sunday"
+#~ msgstr "Sunday"
+
+#~ msgid "Monday"
+#~ msgstr "Monday"
+
+#~ msgid "Tuesday"
+#~ msgstr "Tuesday"
+
+#~ msgid "Wednesday"
+#~ msgstr "Wednesday"
+
+#~ msgid "Thursday"
+#~ msgstr "Thursday"
+
+#~ msgid "Friday"
+#~ msgstr "Friday"
+
+#~ msgid "Saturday"
+#~ msgstr "Saturday"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+today\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
diff --git a/po/eo.po b/po/eo.po
index b15b442..f56cb2d 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=tasque&component=general\n"
-"POT-Creation-Date: 2009-03-07 20:59+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-03-07 22:20-0500\n"
"Last-Translator: Colin Dean <cad cad cx>\n"
"Language-Team: Esperanto <cad cad cx>\n"
@@ -27,57 +27,82 @@ msgstr "TaskmanaÄ?ero"
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:487
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr "Colin Dean <cad cad cx>"
-#: ../src/Application.cs:496
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Kopirajto © 2008 Novell, Inc."
-#: ../src/Application.cs:497
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "Utila tasklisto "
-#: ../src/Application.cs:499
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "TTT-paÄ?o de Tasque projekto"
-#: ../src/Application.cs:612
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Nova tasko..."
-#: ../src/Application.cs:619
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "Montri taskoj..."
-#: ../src/Application.cs:634
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "RefreÅ?igi taskoj..."
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Tuta"
-#: ../src/CompletedTaskGroup.cs:205
-#: ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "HieraÅ"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Lastaj 7 tagoj"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Pasintmonate"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Pasintjare"
@@ -94,28 +119,51 @@ msgstr "_Dosiero"
msgid "_Window"
msgstr "_Fenestro"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Ä?enerala"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "HodiaÅ"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "Posttempa"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "Taskadministrada Sistemo"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Tasko filtranta "
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "Montri _kompletaj taskoj"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "Montri sole tiuj kategorioj kiam \"Tuta\" elektita"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Kategorio"
@@ -124,8 +172,7 @@ msgid "New task created."
msgstr "Nova tasko kreita."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84
-#: ../src/TaskWindow.cs:340
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Kompletita"
@@ -134,29 +181,25 @@ msgstr "Kompletita"
msgid "Priority"
msgstr "Prioritato"
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:116
-#: ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:117
-#: ../src/TaskTreeView.cs:369
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
@@ -170,52 +213,39 @@ msgstr "Tasknomo"
msgid "Due Date"
msgstr "Pagdato"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683
-#: ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:273
-#: ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "HodiaÅ"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:291
-#: ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "MorgaÅ"
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "En 1 semajno"
-#: ../src/TaskTreeView.cs:202
-#: ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Ne dato"
-#: ../src/TaskTreeView.cs:203
-#: ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Elekti dato..."
@@ -233,209 +263,314 @@ msgstr "Minutatoro"
msgid "Task Completed"
msgstr "Tasko kompletita"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/yy - ddd"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "Ago nuligita"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "Kompletanta taskon en: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149
-#: ../src/TaskWindow.cs:833
-#: ../src/TaskWindow.cs:889
-#: ../src/TaskWindow.cs:899
-#: ../src/TaskWindow.cs:910
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Nova tasko..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Aldoni"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Aldoni taskon"
-#: ../src/TaskWindow.cs:255
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "Posttempa"
-#: ../src/TaskWindow.cs:309
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "Sekvantaj 7 tagoj"
-#: ../src/TaskWindow.cs:325
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Estonteco"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:797
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "Eraro dum kreanta novan taskon"
#. Show successful status
-#: ../src/TaskWindow.cs:801
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "Tasko kreita sukcese"
-#: ../src/TaskWindow.cs:1078
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Notoj..."
-#: ../src/TaskWindow.cs:1085
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_Forigi taskoj"
-#: ../src/TaskWindow.cs:1090
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "_Redakti tarea"
-#: ../src/TaskWindow.cs:1118
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Kategorio"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "Tasko forigita"
-#: ../src/TaskWindow.cs:1160
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Å?arÄ?anta taskoj..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"Vi ne konekita"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "HodiaÅ, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "HieraÅ, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "antaÅ {0} tagoj, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "antaÅ {0} dÃas"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "MorgaÅ, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "En {0} tagoj, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "En {0} tagoj"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "DimanÄ?o"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Lundo"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Mardo"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Merkredo"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Ä´audo"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Vendredo"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sabato"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+hodiaÅ\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+morgaÅ\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Klaki Ä?i tie Konekti"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"Vi estas konektita nuntempe"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"Vi estas konektita nuntempe"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"Vi ne konekita"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "Remember the Milk ne respondis. Provi denove poste."
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "Klaki Ä?i tie post rajtiganto"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "Fiksu la aÅtomata retumilo kaj provu denove"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Dankon!"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "HodiaÅ"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "MorgaÅ"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
msgstr ""
-"\n"
-"\n"
-"Vi estas konektita nuntempe"
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nova tasko..."
+
+#~ msgid "Sunday"
+#~ msgstr "DimanÄ?o"
+
+#~ msgid "Monday"
+#~ msgstr "Lundo"
+
+#~ msgid "Tuesday"
+#~ msgstr "Mardo"
+
+#~ msgid "Wednesday"
+#~ msgstr "Merkredo"
+
+#~ msgid "Thursday"
+#~ msgstr "Ä´audo"
+
+#~ msgid "Friday"
+#~ msgstr "Vendredo"
+
+#~ msgid "Saturday"
+#~ msgstr "Sabato"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+hodiaÅ\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+morgaÅ\\W*$"
#~ msgid "Reloading tasks..."
#~ msgstr "Actualizando tareas..."
-
diff --git a/po/es.po b/po/es.po
index 5edc080..5a181cb 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4,14 +4,14 @@
# Nacho Hermoso de Mendoza <gnacho gmail com>, 2008.
#
# Jorge González <jorgegonz svn gnome org>, 2008, 2009.
+# Mario Carrion <mario carrion mx>, 2010
msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=tasque&component=general\n"
-"POT-Creation-Date: 2009-09-19 15:24+0000\n"
-"PO-Revision-Date: 2009-11-02 11:28+0100\n"
-"Last-Translator: Jorge González <jorgegonz svn gnome org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
+"PO-Revision-Date: 2010-03-30 11:28+0100\n"
+"Last-Translator: Mario Carrion <mario carrion mx>\n"
"Language-Team: Español <gnome-es-list gnome org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -53,7 +53,6 @@ msgstr[1] "{0} tareas para mañana\n"
#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
#: ../src/Application.cs:540
-#| msgid "Tasque"
msgid "Tasque Rocks"
msgstr "Tasque mola"
@@ -93,7 +92,7 @@ msgstr "Actualizar tareas..."
msgid "All"
msgstr "Todas"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Ayer"
@@ -140,12 +139,10 @@ msgid "Color Management"
msgstr "Gestión de color"
#: ../src/PreferencesDialog.cs:171
-#| msgid "Today"
msgid "Today:"
msgstr "Hoy:"
#: ../src/PreferencesDialog.cs:199
-#| msgid "Overdue"
msgid "Overdue:"
msgstr "Atrasadas:"
@@ -223,12 +220,12 @@ msgid "M/d - "
msgstr "d/M - "
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Hoy"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Mañana"
@@ -244,7 +241,7 @@ msgid "In 1 Week"
msgstr "En 1 semana"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Sin fecha"
@@ -336,7 +333,6 @@ msgstr "_Editar tarea"
#. TODO Needs translation.
#: ../src/TaskWindow.cs:1133
-#| msgid "Category"
msgid "_Change category"
msgstr "_Cambiar categorÃa"
@@ -349,130 +345,75 @@ msgid "Loading tasks..."
msgstr "Cargando tareas..."
#: ../src/TaskWindow.cs:1225
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "Not connected."
msgstr "Sin conexión."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Hoy, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Ayer, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} dÃas atrás, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} dÃas atrás"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Mañana, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "En {0} dÃas, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "En {0} dÃas"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Domingo"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Lunes"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Martes"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Miércoles"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Jueves"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Viernes"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sábado"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+hoy\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+mañana\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Pulse aquà para conectar"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected"
msgstr "Ahora está conectado"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected as"
msgstr "Ahora está conectado como"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "You are not connected"
msgstr "No está conectado"
@@ -500,5 +441,83 @@ msgstr "Falló, inténtelo de nuevo"
msgid "Thank You"
msgstr "Gracias"
-#~ msgid "Reloading tasks..."
-#~ msgstr "Actualizando tareas..."
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr "o"
+
+#: ../src/libtasque/TaskParser.cs:49
+msgid "today"
+msgstr "hoy"
+
+#: ../src/libtasque/TaskParser.cs:51
+msgid "tomorrow"
+msgstr "mañana"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr "mes|meses"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr "semana|semanas"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr "año|años"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr "dÃa|dia|dÃas|dias"
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr "para|antes de|antes|antes del"
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr "la siguiente|la proxima|la próxima|el siguiente|el próximo|el proximo"
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr "el"
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr "en"
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr "u T"
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr "n w|n m|n y|n D"
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr "u 'del' D|u 'del' O 'de' M|u 'del' O|u 'de' M O|u 'de' M"
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr "o D|o O"
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr "T|D|O 'de' M|M N|O|A"
diff --git a/po/et.po b/po/et.po
index 93b32ce..5ab5ab3 100644
--- a/po/et.po
+++ b/po/et.po
@@ -10,9 +10,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=tasque&component=general\n"
-"POT-Creation-Date: 2009-10-05 15:28+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-10-09 14:11+0300\n"
"Last-Translator: Ivar Smolin <okul linux ee>\n"
"Language-Team: Estonian <et li org>\n"
@@ -21,27 +20,33 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ../data/tasque.desktop.in.h:1
msgid "Easy quick task management"
msgstr "Lihtne ja kiire ülesandehaldus"
+#: ../data/tasque.desktop.in.h:2
msgid "Task Manager"
msgstr "Ã?lesandehaldur"
+#: ../data/tasque.desktop.in.h:3
msgid "Tasque"
msgstr "Ã?lesandetasku"
+#: ../src/Application.cs:518
#, csharp-format
msgid "{0} task is Overdue\n"
msgid_plural "{0} tasks are Overdue\n"
msgstr[0] "{0} ülesanne on hilinenud\n"
msgstr[1] "{0} ülesannet on hilinenud\n"
+#: ../src/Application.cs:526
#, csharp-format
msgid "{0} task for Today\n"
msgid_plural "{0} tasks for Today\n"
msgstr[0] "Tänaseks on {0} ülesanne\n"
msgstr[1] "Tänaseks on {0} ülesannet\n"
+#: ../src/Application.cs:534
#, csharp-format
msgid "{0} task for Tomorrow\n"
msgid_plural "{0} tasks for Tomorrow\n"
@@ -49,6 +54,7 @@ msgstr[0] "Homseks on {0} ülesanne\n"
msgstr[1] "Homseks on {0} ülesannet\n"
#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
msgid "Tasque Rocks"
msgstr "�lesandetasku on mõnusalt tühi"
@@ -56,314 +62,497 @@ msgstr "�lesandetasku on mõnusalt tühi"
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr "Ivar Smolin <okul linux ee>"
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Autoriõigus © 2008 Novell, Inc."
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "Ã?lesannete nimekiri"
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Ã?lesandetasku projekti koduleht"
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Uus ülesanne..."
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "Näita ülesandeid..."
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "Värskenda ülesandeid..."
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Kõik"
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Eile"
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Viimased 7 päeva"
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Viimane kuu"
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Viimane aasta"
+#: ../src/NoteDialog.cs:24
#, csharp-format
msgid "Notes for: {0:s}"
msgstr "�lesande märkmed: {0:s}"
+#: ../src/OSXApplication.cs:38
msgid "_File"
msgstr "_Fail"
+#: ../src/OSXApplication.cs:44
msgid "_Window"
msgstr "_Aken"
#. Update the window title
+#: ../src/PreferencesDialog.cs:97
msgid "Tasque Preferences"
msgstr "Ã?lesandetasku eelistused"
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Ã?ldine"
+#: ../src/PreferencesDialog.cs:124
msgid "Appearance"
msgstr "Välimus"
+#: ../src/PreferencesDialog.cs:160
msgid "Color Management"
msgstr "Värvihaldus"
+#: ../src/PreferencesDialog.cs:171
msgid "Today:"
msgstr "Täna:"
+#: ../src/PreferencesDialog.cs:199
msgid "Overdue:"
msgstr "Hilinenud:"
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "�lesannete haldamise süsteem"
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Ã?lesannete filter"
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "_Lõpetatud ülesandeid näidatakse"
#. Categories TreeView
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "Neid kategooriaid _kuvatakse ainult siis, kui valitud on \"Kõik\":"
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Kategooria"
+#: ../src/RemoteControl.cs:150
msgid "New task created."
msgstr "Loodi uus ülesanne."
#. Title for Completed/Checkbox Column
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Lõpetatud"
#. Title for Priority Column
+#: ../src/TaskTreeView.cs:101
msgid "Priority"
msgstr "Tähtsus"
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
#. Title for Task Name Column
+#: ../src/TaskTreeView.cs:131
msgid "Task Name"
msgstr "Ã?lesande nimi"
#. Title for Due Date Column
+#: ../src/TaskTreeView.cs:173
msgid "Due Date"
msgstr "Tähtaeg"
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d-M - "
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Täna"
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Homme"
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d-M - ddd"
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "Nädala jooksul"
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Kuupäev puudub"
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Vali kuupäev..."
#. Title for Notes Column
+#: ../src/TaskTreeView.cs:219
msgid "Notes"
msgstr "Märkmed"
#. Title for Timer Column
+#: ../src/TaskTreeView.cs:236
msgid "Timer"
msgstr "Taimer"
+#: ../src/TaskTreeView.cs:281
msgid "Task Completed"
msgstr "�lesanne täidetud"
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d-M-yy - ddd"
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "Tegevus katkestatud"
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "�lesanne täidetakse: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Uus ülesanne..."
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Lisa"
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Lisa ülesanne"
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "Hilinemine"
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "Järgmised 7 päeva"
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Tulevikus"
#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
#, csharp-format
msgid "Tasks loaded: {0}"
msgstr "Laaditud ülesandeid: {0}"
#. Show error status
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "Viga uue ülesande loomisel"
#. Show successful status
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "Ã?lesanne edukalt loodud"
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Märkmed..."
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_Kustuta ülesanne"
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "_Redigeeri ülesannet"
#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
msgid "_Change category"
msgstr "_Muuda kataloogi"
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "Ã?lesanne kustutatud"
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Ã?lesannete laadimine..."
+#: ../src/TaskWindow.cs:1225
msgid "Not connected."
msgstr "Pole ühendatud."
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Täna, {0}"
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Eile, {0}"
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} päeva tagasi, {1}"
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} päeva tagasi"
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Homme, {0}"
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "{0} päeva pärast, {1}"
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "{0} päeva pärast"
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d. MMMM, h:mm tt"
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d. MMMM"
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d. MMMM yyyy, h:mm tt"
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d. MMMM yyyy"
-msgid "Sunday"
-msgstr "Pühapäeval"
-
-msgid "Monday"
-msgstr "Esmaspäeval"
-
-msgid "Tuesday"
-msgstr "Teisipäeval"
-
-msgid "Wednesday"
-msgstr "Kolmapäeval"
-
-msgid "Thursday"
-msgstr "Neljapäeval"
-
-msgid "Friday"
-msgstr "Reedel"
-
-msgid "Saturday"
-msgstr "Laupäeval"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+täna\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+homme\\W*$"
-
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "�hendumiseks klõpsa siia"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
msgid "You are currently connected"
msgstr "Sa oled praegu ühendatud"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
msgid "You are currently connected as"
msgstr "Oled praegu ühendatud kasutajana"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
msgid "You are not connected"
msgstr "Sa pole ühendatud"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "\"Remember the Milk\" server ei vasta. Proovi hiljem uuesti."
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "Pärast autoriseerimist klõpsa siia"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "Määra vaikimisi veebilehitseja ja proovi uuesti"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
msgid "Processing..."
msgstr "Töötlemine..."
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
msgid "Failed, Try Again"
msgstr "Nurjus, proovi uuesti"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Suur tänu"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Täna"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Homme"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Uus ülesanne..."
+
+#~ msgid "Sunday"
+#~ msgstr "Pühapäeval"
+
+#~ msgid "Monday"
+#~ msgstr "Esmaspäeval"
+
+#~ msgid "Tuesday"
+#~ msgstr "Teisipäeval"
+
+#~ msgid "Wednesday"
+#~ msgstr "Kolmapäeval"
+
+#~ msgid "Thursday"
+#~ msgstr "Neljapäeval"
+
+#~ msgid "Friday"
+#~ msgstr "Reedel"
+
+#~ msgid "Saturday"
+#~ msgstr "Laupäeval"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+täna\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+homme\\W*$"
diff --git a/po/fi.po b/po/fi.po
index 872f046..847250c 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-05-15 11:20-0600\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\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"
@@ -16,3 +16,506 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+#: ../data/tasque.desktop.in.h:1
+msgid "Easy quick task management"
+msgstr ""
+
+#: ../data/tasque.desktop.in.h:2
+msgid "Task Manager"
+msgstr ""
+
+#: ../data/tasque.desktop.in.h:3
+msgid "Tasque"
+msgstr ""
+
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+msgid "Tasque Rocks"
+msgstr ""
+
+#. string [] documenters = new string [] {
+#. "Calvin Gaisford <calvinrg gmail com>"
+#. };
+#.
+#: ../src/Application.cs:584
+msgid "translator-credits"
+msgstr ""
+
+#: ../src/Application.cs:593
+msgid "Copyright © 2008 Novell, Inc."
+msgstr ""
+
+#: ../src/Application.cs:594
+msgid "A Useful Task List"
+msgstr ""
+
+#: ../src/Application.cs:596
+msgid "Tasque Project Homepage"
+msgstr ""
+
+#: ../src/Application.cs:710
+msgid "New Task ..."
+msgstr ""
+
+#: ../src/Application.cs:717
+msgid "Show Tasks ..."
+msgstr ""
+
+#: ../src/Application.cs:732
+msgid "Refresh Tasks ..."
+msgstr ""
+
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
+msgid "All"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
+msgid "Yesterday"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:167
+msgid "Last 7 Days"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:169
+msgid "Last Month"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:171
+msgid "Last Year"
+msgstr ""
+
+#: ../src/NoteDialog.cs:24
+#, csharp-format
+msgid "Notes for: {0:s}"
+msgstr ""
+
+#: ../src/OSXApplication.cs:38
+msgid "_File"
+msgstr ""
+
+#: ../src/OSXApplication.cs:44
+msgid "_Window"
+msgstr ""
+
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
+msgid "General"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+msgid "Today:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:199
+msgid "Overdue:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:243
+msgid "Task Management System"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:285
+msgid "Task Filtering"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:304
+msgid "Sh_ow completed tasks"
+msgstr ""
+
+#. Categories TreeView
+#: ../src/PreferencesDialog.cs:313
+msgid "Only _show these categories when \"All\" is selected:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:331
+msgid "Category"
+msgstr ""
+
+#: ../src/RemoteControl.cs:150
+msgid "New task created."
+msgstr ""
+
+#. Title for Completed/Checkbox Column
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
+msgid "Completed"
+msgstr ""
+
+#. Title for Priority Column
+#: ../src/TaskTreeView.cs:101
+msgid "Priority"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
+msgid "1"
+msgstr ""
+
+#. High
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
+msgid "2"
+msgstr ""
+
+#. Medium
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
+msgid "3"
+msgstr ""
+
+#. Low
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
+msgid "-"
+msgstr ""
+
+#. Title for Task Name Column
+#: ../src/TaskTreeView.cs:131
+msgid "Task Name"
+msgstr ""
+
+#. Title for Due Date Column
+#: ../src/TaskTreeView.cs:173
+msgid "Due Date"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
+msgid "M/d - "
+msgstr ""
+
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
+msgid "Today"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
+msgid "Tomorrow"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
+msgid "M/d - ddd"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
+msgid "In 1 Week"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
+msgid "No Date"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
+msgid "Choose Date..."
+msgstr ""
+
+#. Title for Notes Column
+#: ../src/TaskTreeView.cs:219
+msgid "Notes"
+msgstr ""
+
+#. Title for Timer Column
+#: ../src/TaskTreeView.cs:236
+msgid "Timer"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:281
+msgid "Task Completed"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:436
+msgid "M/d/yy - ddd"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:594
+msgid "Action Canceled"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:859
+#, csharp-format
+msgid "Completing Task In: {0}"
+msgstr ""
+
+#. The new task entry widget
+#. Clear the entry if it contains the default text
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
+msgid "New task..."
+msgstr ""
+
+#: ../src/TaskWindow.cs:165
+msgid "_Add"
+msgstr ""
+
+#: ../src/TaskWindow.cs:170
+msgid "_Add Task"
+msgstr ""
+
+#: ../src/TaskWindow.cs:257
+msgid "Overdue"
+msgstr ""
+
+#: ../src/TaskWindow.cs:311
+msgid "Next 7 Days"
+msgstr ""
+
+#: ../src/TaskWindow.cs:327
+msgid "Future"
+msgstr ""
+
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
+#. Show error status
+#: ../src/TaskWindow.cs:801
+msgid "Error creating a new task"
+msgstr ""
+
+#. Show successful status
+#: ../src/TaskWindow.cs:805
+msgid "Task created successfully"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1089
+msgid "_Notes..."
+msgstr ""
+
+#: ../src/TaskWindow.cs:1096
+msgid "_Delete task"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1101
+msgid "_Edit task"
+msgstr ""
+
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+msgid "_Change category"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1162
+msgid "Task deleted"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1204
+msgid "Loading tasks..."
+msgstr ""
+
+#: ../src/TaskWindow.cs:1225
+msgid "Not connected."
+msgstr ""
+
+#: ../src/Utilities.cs:274
+#, csharp-format
+msgid "Today, {0}"
+msgstr ""
+
+#: ../src/Utilities.cs:280
+#, csharp-format
+msgid "Yesterday, {0}"
+msgstr ""
+
+#: ../src/Utilities.cs:286
+#, csharp-format
+msgid "{0} days ago, {1}"
+msgstr ""
+
+#: ../src/Utilities.cs:288
+#, csharp-format
+msgid "{0} days ago"
+msgstr ""
+
+#: ../src/Utilities.cs:293
+#, csharp-format
+msgid "Tomorrow, {0}"
+msgstr ""
+
+#: ../src/Utilities.cs:299
+#, csharp-format
+msgid "In {0} days, {1}"
+msgstr ""
+
+#: ../src/Utilities.cs:301
+#, csharp-format
+msgid "In {0} days"
+msgstr ""
+
+#: ../src/Utilities.cs:305
+msgid "MMMM d, h:mm tt"
+msgstr ""
+
+#: ../src/Utilities.cs:306
+msgid "MMMM d"
+msgstr ""
+
+#: ../src/Utilities.cs:311
+msgid "MMMM d yyyy, h:mm tt"
+msgstr ""
+
+#: ../src/Utilities.cs:312
+msgid "MMMM d yyyy"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
+msgid "Click Here to Connect"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+msgid "You are currently connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+msgid "You are currently connected as"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+msgid "You are not connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
+msgid "Remember the Milk not responding. Try again later."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
+msgid "Click Here After Authorizing"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
+msgid "Set the default browser and try again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
+msgid "Thank You"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+msgid "today"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:51
+msgid "tomorrow"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 4ce8159..bff5eef 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-06 10:40+0200\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2008-08-06 17:49+0100\n"
"Last-Translator: Christophe Benz <christophe benz gmail com>\n"
"Language-Team: GNOME French Team <gnomefr traduc org>\n"
@@ -28,49 +28,83 @@ msgstr "Gestionnaire de tâches"
msgid "Tasque"
msgstr "Tasque"
-#: ../src/Application.cs:403
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
+#. string [] documenters = new string [] {
+#. "Calvin Gaisford <calvinrg gmail com>"
+#. };
+#.
+#: ../src/Application.cs:584
+msgid "translator-credits"
+msgstr ""
+
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:404
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "Un gestionnaire de tâche pratique"
-#: ../src/Application.cs:406
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Page Web de Tasque"
-#: ../src/Application.cs:458
-msgid "Show Tasks ..."
-msgstr "Afficher les tâches..."
-
-#: ../src/Application.cs:466
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Nouvelle tâche..."
-#: ../src/Application.cs:487
-msgid "Refresh Tasks"
+#: ../src/Application.cs:717
+msgid "Show Tasks ..."
+msgstr "Afficher les tâches..."
+
+#: ../src/Application.cs:732
+#, fuzzy
+msgid "Refresh Tasks ..."
msgstr "Actualiser les tâches"
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Tout"
-#: ../src/CompletedTaskGroup.cs:205
-#: ../src/Utilities.cs:283
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Hier"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Les 7 derniers jours"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Le mois dernier"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "L'an dernier"
@@ -79,277 +113,449 @@ msgstr "L'an dernier"
msgid "Notes for: {0:s}"
msgstr "Notes pour : {0:s}"
-#: ../src/PreferencesDialog.cs:107
+#: ../src/OSXApplication.cs:38
+msgid "_File"
+msgstr ""
+
+#: ../src/OSXApplication.cs:44
+msgid "_Window"
+msgstr ""
+
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Général"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "Aujourd'hui"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "En retard"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "Système de gestion des tâches"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Filtrage des tâches"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "Afficher les tâches terminées"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "_Afficher seulement ces catégories lorsque « tout » est sélectionné :"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Catégorie"
-#: ../src/RemoteControl.cs:109
+#: ../src/RemoteControl.cs:150
msgid "New task created."
msgstr "Nouvelle tâche crée."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:82
-#: ../src/TaskWindow.cs:346
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Terminé"
#. Title for Priority Column
-#: ../src/TaskTreeView.cs:99
+#: ../src/TaskTreeView.cs:101
msgid "Priority"
msgstr "Priorité"
-#: ../src/TaskTreeView.cs:112
-#: ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:584
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:113
-#: ../src/TaskTreeView.cs:357
-#: ../src/TaskTreeView.cs:582
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:354
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
#. Title for Task Name Column
-#: ../src/TaskTreeView.cs:129
+#: ../src/TaskTreeView.cs:131
msgid "Task Name"
msgstr "Nom de la tâche"
#. Title for Due Date Column
-#: ../src/TaskTreeView.cs:171
+#: ../src/TaskTreeView.cs:173
msgid "Due Date"
msgstr "Date limite"
-#: ../src/TaskTreeView.cs:185
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:666
-#: ../src/TaskTreeView.cs:669
-#: ../src/TaskTreeView.cs:674
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:185
-#: ../src/TaskTreeView.cs:666
-#: ../src/TaskWindow.cs:279
-#: ../src/Utilities.cs:277
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Aujourd'hui"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:669
-#: ../src/TaskWindow.cs:297
-#: ../src/Utilities.cs:296
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Demain"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:414
-#: ../src/TaskTreeView.cs:683
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:674
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "Dans une semaine"
-#: ../src/TaskTreeView.cs:200
-#: ../src/TaskTreeView.cs:671
-#: ../src/Utilities.cs:309
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Aucune date"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:676
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Choisir une date..."
#. Title for Notes Column
-#: ../src/TaskTreeView.cs:217
+#: ../src/TaskTreeView.cs:219
msgid "Notes"
msgstr "Notes"
#. Title for Timer Column
-#: ../src/TaskTreeView.cs:234
+#: ../src/TaskTreeView.cs:236
msgid "Timer"
msgstr "Timer"
-#: ../src/TaskTreeView.cs:416
+#: ../src/TaskTreeView.cs:281
+#, fuzzy
+msgid "Task Completed"
+msgstr "Terminé"
+
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/yy - ddd"
+#: ../src/TaskTreeView.cs:594
+msgid "Action Canceled"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:859
+#, csharp-format
+msgid "Completing Task In: {0}"
+msgstr ""
+
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:152
-#: ../src/TaskWindow.cs:835
-#: ../src/TaskWindow.cs:845
-#: ../src/TaskWindow.cs:856
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Nouvelle tâche..."
-#: ../src/TaskWindow.cs:167
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Ajouter"
-#: ../src/TaskWindow.cs:172
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Ajouter une tâche"
-#: ../src/TaskWindow.cs:261
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "En retard"
-#: ../src/TaskWindow.cs:315
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "7 prochains jours"
-#: ../src/TaskWindow.cs:331
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Futur"
-#: ../src/TaskWindow.cs:1024
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
+#. Show error status
+#: ../src/TaskWindow.cs:801
+msgid "Error creating a new task"
+msgstr ""
+
+#. Show successful status
+#: ../src/TaskWindow.cs:805
+msgid "Task created successfully"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Notes..."
-#: ../src/TaskWindow.cs:1031
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_Supprimer cette tâche"
-#: ../src/TaskWindow.cs:1036
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "_�diter cette tâche"
-#: ../src/TaskWindow.cs:1103
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Catégorie"
+
+#: ../src/TaskWindow.cs:1162
+#, fuzzy
+msgid "Task deleted"
+msgstr "Filtrage des tâches"
+
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Chargement des tâches..."
-#: ../src/Utilities.cs:275
+#: ../src/TaskWindow.cs:1225
+msgid "Not connected."
+msgstr ""
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Aujourd'hui, {0}"
-#: ../src/Utilities.cs:281
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Hier, {0}"
-#: ../src/Utilities.cs:287
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "il y a {0} jours, {1}"
-#: ../src/Utilities.cs:289
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "il y a {0} jours"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Demain, {0}"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "Dans {0} jours, {1}"
-#: ../src/Utilities.cs:302
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "Dans {0} jours"
-#: ../src/Utilities.cs:306
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:307
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:312
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:313
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:322
-msgid "Sunday"
-msgstr "Dimanche"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
+msgid "Click Here to Connect"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+msgid "You are currently connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+msgid "You are currently connected as"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+msgid "You are not connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
+msgid "Remember the Milk not responding. Try again later."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
+msgid "Click Here After Authorizing"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
+msgid "Set the default browser and try again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
+msgid "Thank You"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Aujourd'hui"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Demain"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nouvelle tâche..."
-#: ../src/Utilities.cs:324
-msgid "Monday"
-msgstr "Lundi"
+#~ msgid "Sunday"
+#~ msgstr "Dimanche"
-#: ../src/Utilities.cs:326
-msgid "Tuesday"
-msgstr "Mardi"
+#~ msgid "Monday"
+#~ msgstr "Lundi"
-#: ../src/Utilities.cs:328
-msgid "Wednesday"
-msgstr "Mercredi"
+#~ msgid "Tuesday"
+#~ msgstr "Mardi"
-#: ../src/Utilities.cs:330
-msgid "Thursday"
-msgstr "Jeudi"
+#~ msgid "Wednesday"
+#~ msgstr "Mercredi"
-#: ../src/Utilities.cs:332
-msgid "Friday"
-msgstr "Vendredi"
+#~ msgid "Thursday"
+#~ msgstr "Jeudi"
-#: ../src/Utilities.cs:334
-msgid "Saturday"
-msgstr "Samedi"
+#~ msgid "Friday"
+#~ msgstr "Vendredi"
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:380
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+aujourd'hui\\W*$"
+#~ msgid "Saturday"
+#~ msgstr "Samedi"
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:382
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+demain\\W*$"
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+aujourd'hui\\W*$"
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+demain\\W*$"
diff --git a/po/gl.po b/po/gl.po
index 1835443..203433a 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,9 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque-master-po-gl-103238\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=tasque&component=general\n"
-"POT-Creation-Date: 2010-02-16 19:58+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2010-02-09 14:43+0100\n"
"Last-Translator: Antón Méixome <meixome mancomun org>\n"
"Language-Team: Galician <gnome mancomun org>\n"
@@ -96,7 +95,7 @@ msgstr "Actualizar tarefas..."
msgid "All"
msgstr "Todas"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:279
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Onte"
@@ -224,12 +223,12 @@ msgid "M/d - "
msgstr "M/d -"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:273
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Hoxe"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:292
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Mañán"
@@ -245,7 +244,7 @@ msgid "In 1 Week"
msgstr "En 1 semana"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:305
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Sen data"
@@ -352,96 +351,57 @@ msgstr "Cargando as tarefas..."
msgid "Not connected."
msgstr "Non está conectado."
-#: ../src/Utilities.cs:271
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Hoxe, {0}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Onte, {0}"
-#: ../src/Utilities.cs:283
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "hai {0} dÃas, {1}"
-#: ../src/Utilities.cs:285
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "hai {0} dÃas"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Mañá, {0}"
-#: ../src/Utilities.cs:296
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "En {0} dÃas, {1}"
-#: ../src/Utilities.cs:298
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "En {0} dÃas"
-#: ../src/Utilities.cs:302
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d MMMM, h:mm tt"
-#: ../src/Utilities.cs:303
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:308
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyy, h:mm tt"
-#: ../src/Utilities.cs:309
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:318
-msgid "Sunday"
-msgstr "Domingo"
-
-#: ../src/Utilities.cs:320
-msgid "Monday"
-msgstr "Luns"
-
-#: ../src/Utilities.cs:322
-msgid "Tuesday"
-msgstr "Martes"
-
-#: ../src/Utilities.cs:324
-msgid "Wednesday"
-msgstr "Mércores"
-
-#: ../src/Utilities.cs:326
-msgid "Thursday"
-msgstr "Xoves"
-
-#: ../src/Utilities.cs:328
-msgid "Friday"
-msgstr "Venres"
-
-#: ../src/Utilities.cs:330
-msgid "Saturday"
-msgstr "Sábado"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:376
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+hoxe\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:378
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+mañán\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Prema aquà para conectarse"
@@ -483,3 +443,117 @@ msgstr "Produciuse un fallo, tentando de novo."
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Grazas"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Hoxe"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Mañán"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nova tarefa..."
+
+#~ msgid "Sunday"
+#~ msgstr "Domingo"
+
+#~ msgid "Monday"
+#~ msgstr "Luns"
+
+#~ msgid "Tuesday"
+#~ msgstr "Martes"
+
+#~ msgid "Wednesday"
+#~ msgstr "Mércores"
+
+#~ msgid "Thursday"
+#~ msgstr "Xoves"
+
+#~ msgid "Friday"
+#~ msgstr "Venres"
+
+#~ msgid "Saturday"
+#~ msgstr "Sábado"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+hoxe\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+mañán\\W*$"
diff --git a/po/hu.po b/po/hu.po
index 1222b20..11a9229 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,8 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=tasque&component=general\n"
-"POT-Creation-Date: 2009-09-19 15:24+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2010-01-22 01:31+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
"Language-Team: Hungarian <gnome at fsf dot hu>\n"
@@ -54,7 +54,6 @@ msgstr[1] "{0} feladat holnapra\n"
#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
#: ../src/Application.cs:540
-#| msgid "Tasque"
msgid "Tasque Rocks"
msgstr "A Tasque király!"
@@ -94,7 +93,7 @@ msgstr "Feladatok frissÃtéseâ?¦"
msgid "All"
msgstr "Ã?sszes"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Tegnap"
@@ -141,12 +140,10 @@ msgid "Color Management"
msgstr "SzÃnkezelés"
#: ../src/PreferencesDialog.cs:171
-#| msgid "Today"
msgid "Today:"
msgstr "Ma:"
#: ../src/PreferencesDialog.cs:199
-#| msgid "Overdue"
msgid "Overdue:"
msgstr "Lejárt:"
@@ -224,12 +221,12 @@ msgid "M/d - "
msgstr "M d. â?? "
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Ma"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Holnap"
@@ -245,7 +242,7 @@ msgid "In 1 Week"
msgstr "Egy héten belül"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Nincs dátum"
@@ -337,7 +334,6 @@ msgstr "Feladat s_zerkesztése"
#. TODO Needs translation.
#: ../src/TaskWindow.cs:1133
-#| msgid "Category"
msgid "_Change category"
msgstr "_Kategória módosÃtása"
@@ -350,130 +346,75 @@ msgid "Loading tasks..."
msgstr "Feladat betöltése�"
#: ../src/TaskWindow.cs:1225
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "Not connected."
msgstr "Nincs kapcsolat."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Ma, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Tegnap, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} napja, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} napja"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Holnap, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "{0} nap múlva, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "{0} nap múlva"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "yyyy MMMM d, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "yyyy MMMM d"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Vasárnap"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "HétfÅ?"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Kedd"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Szerda"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Csütörtök"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Péntek"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Szombat"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+ma\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+holnap\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Kattintson a csatlakozáshoz"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected"
msgstr "Jelenleg csatlakozva van"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected as"
msgstr "Jelenleg csatlakozva van mint:"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "You are not connected"
msgstr "Nincs csatlakozva"
@@ -501,3 +442,116 @@ msgstr "Meghiúsult, próbálja újra"
msgid "Thank You"
msgstr "Köszönjük"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Ma"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Holnap"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Ã?j feladatâ?¦"
+
+#~ msgid "Sunday"
+#~ msgstr "Vasárnap"
+
+#~ msgid "Monday"
+#~ msgstr "HétfÅ?"
+
+#~ msgid "Tuesday"
+#~ msgstr "Kedd"
+
+#~ msgid "Wednesday"
+#~ msgstr "Szerda"
+
+#~ msgid "Thursday"
+#~ msgstr "Csütörtök"
+
+#~ msgid "Friday"
+#~ msgstr "Péntek"
+
+#~ msgid "Saturday"
+#~ msgstr "Szombat"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+ma\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+holnap\\W*$"
diff --git a/po/id.po b/po/id.po
index 48d9236..77c2414 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque.HEAD\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=tasque&component=general\n"
-"POT-Creation-Date: 2009-09-19 15:24+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-04-02 13:54+0700\n"
"Last-Translator: Imam Musthaqim <userindesign gmail com>\n"
"Language-Team: INDONESIA <userindesign gmail com>\n"
@@ -54,7 +53,6 @@ msgstr[1] ""
#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
#: ../src/Application.cs:540
#, fuzzy
-#| msgid "Tasque"
msgid "Tasque Rocks"
msgstr "Tasque"
@@ -94,7 +92,7 @@ msgstr "Perbarui Tugas ..."
msgid "All"
msgstr "Semua"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Kemarin"
@@ -142,13 +140,11 @@ msgstr ""
#: ../src/PreferencesDialog.cs:171
#, fuzzy
-#| msgid "Today"
msgid "Today:"
msgstr "Hari Ini"
#: ../src/PreferencesDialog.cs:199
#, fuzzy
-#| msgid "Overdue"
msgid "Overdue:"
msgstr "Terlambat"
@@ -226,12 +222,12 @@ msgid "M/d - "
msgstr "B/t -"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Hari Ini"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Besok"
@@ -247,7 +243,7 @@ msgid "In 1 Week"
msgstr "Dalam 1 Minggu"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Tanpa Tanggal"
@@ -340,7 +336,6 @@ msgstr "_Edit tugas"
#. TODO Needs translation.
#: ../src/TaskWindow.cs:1133
#, fuzzy
-#| msgid "Category"
msgid "_Change category"
msgstr "Kategori"
@@ -354,106 +349,63 @@ msgstr "Memuat tugas..."
#: ../src/TaskWindow.cs:1225
#, fuzzy
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "Not connected."
msgstr ""
"\n"
"\n"
"Anda tidak terhubung"
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Hari ini, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Kemarin, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} hari yang lalu, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} hari yang lau"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Besok, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "Dalam {0} hari, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "Dalam {0} hari"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "BBBB t, j:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "BBBB t"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "BBBB t tttt, j:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "BBB t tttt"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Minggu"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Senin"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Selasa"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Rabu"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Kamis"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Jumat"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sabtu"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+today\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Klik Di Sini untuk Menghubungkan"
@@ -461,10 +413,6 @@ msgstr "Klik Di Sini untuk Menghubungkan"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
#, fuzzy
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected"
msgstr ""
"\n"
@@ -474,10 +422,6 @@ msgstr ""
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
#, fuzzy
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are currently connected"
msgid "You are currently connected as"
msgstr ""
"\n"
@@ -486,10 +430,6 @@ msgstr ""
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
#, fuzzy
-#| msgid ""
-#| "\n"
-#| "\n"
-#| "You are not connected"
msgid "You are not connected"
msgstr ""
"\n"
@@ -519,3 +459,117 @@ msgstr ""
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Terima Kasih"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Hari Ini"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Besok"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Tugas baru..."
+
+#~ msgid "Sunday"
+#~ msgstr "Minggu"
+
+#~ msgid "Monday"
+#~ msgstr "Senin"
+
+#~ msgid "Tuesday"
+#~ msgstr "Selasa"
+
+#~ msgid "Wednesday"
+#~ msgstr "Rabu"
+
+#~ msgid "Thursday"
+#~ msgstr "Kamis"
+
+#~ msgid "Friday"
+#~ msgstr "Jumat"
+
+#~ msgid "Saturday"
+#~ msgstr "Sabtu"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+today\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
diff --git a/po/it.po b/po/it.po
index a604f85..6940793 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-07 16:43+0100\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-02-23 18:49+0100\n"
"Last-Translator: Milo Casagrande <milo ubuntu com>\n"
"Language-Team: Italian <tp lists linux it>\n"
@@ -27,57 +27,84 @@ msgstr "Gestore attività "
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:487
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr "Milo Casagrande <milo ubuntu com>, 2008-2009"
-#: ../src/Application.cs:496
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:497
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "Un utile elenco delle attività "
-#: ../src/Application.cs:499
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Sito web di Tasque"
-#: ../src/Application.cs:612
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Nuova attività ..."
-#: ../src/Application.cs:619
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "Mostra attività ..."
-#: ../src/Application.cs:634
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "Aggiorna attività ..."
# (ndt) attenzione: è usato anche in tomboy, se viene modificato qui
# va modificato anche lì!
-#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Tutte"
-#: ../src/CompletedTaskGroup.cs:205 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Ieri"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Ultimi sette giorni"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Ultimo mese"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Ultimo anno"
@@ -95,30 +122,53 @@ msgstr "_File"
msgid "_Window"
msgstr "_Finestra"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Generale"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "Oggi"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "Scaduto"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "Sistema gestione attività "
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Filtraggio attività "
# (ndt) opzione
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "M_ostrare le attività completate"
# (ndt) opzione
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "Mo_strare solo queste categorie quanto è selezionato «Tutte»:"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Categoria"
@@ -127,7 +177,7 @@ msgid "New task created."
msgstr "Nuova attività creata."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:340
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Completate"
@@ -137,19 +187,19 @@ msgid "Priority"
msgstr "Priorità "
#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
@@ -169,38 +219,38 @@ msgid "Due Date"
msgstr "Previsto per"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M -"
-#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:273 ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Oggi"
-#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:291 ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Domani"
#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "In una settimana"
-#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Nessuna data"
-#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Scelta data..."
@@ -219,202 +269,311 @@ msgstr "Orologio"
msgid "Task Completed"
msgstr "Attività completata"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/yy - ddd"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "Azione annullata"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "Completamento attività in: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:833 ../src/TaskWindow.cs:889
-#: ../src/TaskWindow.cs:899 ../src/TaskWindow.cs:910
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Nuova attività ..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "A_ggiungi"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Aggiungi attività "
-#: ../src/TaskWindow.cs:255
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "Scaduto"
-#: ../src/TaskWindow.cs:309
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "Prossimi 7 giorni"
-#: ../src/TaskWindow.cs:325
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Futuro"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:797
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "Errore nel creare una nuova attività "
#. Show successful status
-#: ../src/TaskWindow.cs:801
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "Attività creata con successo"
-#: ../src/TaskWindow.cs:1078
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Note..."
-#: ../src/TaskWindow.cs:1085
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_Elimina attività "
-#: ../src/TaskWindow.cs:1090
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "_Modifica attività "
-#: ../src/TaskWindow.cs:1118
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Categoria"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "Attività eliminata"
-#: ../src/TaskWindow.cs:1160
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Caricamento attività ..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"Non si è connessi"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Oggi, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Ieri, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} giorni fa, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} giorni fa"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Domani, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "In {0} giorni, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "In {0} giorni"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d MMMM, H.mm"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy, H.mm"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "domenica"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "lunedì"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "martedì"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "mercoledì"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "giovedì"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "venerdì"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "sabato"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+oggi\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+domani\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Fare clic qui per connettersi"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"Connessione avvenuta"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"Connessione avvenuta"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"Non si è connessi"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "Il servizio «Remember the Milk» non risponde. Riprovare più tardi."
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "Fare clic qui dopo l'autorizzazione"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "Impostare il browser predefinito e riprovare"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Grazie"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-"\n"
-"\n"
-"Connessione avvenuta"
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Oggi"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Domani"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nuova attività ..."
+
+#~ msgid "Sunday"
+#~ msgstr "domenica"
+
+#~ msgid "Monday"
+#~ msgstr "lunedì"
+
+#~ msgid "Tuesday"
+#~ msgstr "martedì"
+
+#~ msgid "Wednesday"
+#~ msgstr "mercoledì"
+
+#~ msgid "Thursday"
+#~ msgstr "giovedì"
+
+#~ msgid "Friday"
+#~ msgstr "venerdì"
+
+#~ msgid "Saturday"
+#~ msgstr "sabato"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+oggi\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+domani\\W*$"
diff --git a/po/ja.po b/po/ja.po
index 5e63e98..c70bf28 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque trunk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-28 20:33+0900\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2008-12-28 20:32+0900\n"
"Last-Translator: Takeshi AIHANA <takeshi aihana gmail com>\n"
"Language-Team: Japanese <takeshi aihana gmail com>\n"
@@ -27,55 +27,82 @@ msgstr "ã?¿ã?¹ã?¯ã?»ã??ã??ã?¼ã?¸ã?£"
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:488
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr "�� � <takeshi aihana gmail com>"
-#: ../src/Application.cs:497
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:498
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "æ??å¤?ã?¨ä¾¿å?©ã?ªã?¿ã?¹ã?¯ã?®ä¸?覧ã?§ã??ã??"
-#: ../src/Application.cs:500
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Tasque ã?®ã??ã?ã?¸ã?§ã?¯ã??ã?»ã??ã?¼ã?¸"
-#: ../src/Application.cs:614
-msgid "Show Tasks ..."
-msgstr "����表示..."
-
-#: ../src/Application.cs:621
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "æ?°ã??ã??ã?¿ã?¹ã?¯..."
-#: ../src/Application.cs:636
+#: ../src/Application.cs:717
+msgid "Show Tasks ..."
+msgstr "����表示..."
+
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "������..."
-#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "��"
-#: ../src/CompletedTaskGroup.cs:205 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "��"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "ã??ã?®ï¼?é?±é??"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "ã??ã?®ï¼?ã?¶æ??"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "ã??ã?®ï¼?å¹´"
@@ -92,28 +119,51 @@ msgstr "ã??ã?¡ã?¤ã?«(_F)"
msgid "_Window"
msgstr "ã?¦ã?£ã?³ã??ã?¦(_W)"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "��"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "ä»?æ?¥"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "æ??é??å??ã??"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "ã?¿ã?¹ã?¯ç®¡ç??ã?·ã?¹ã??ã? "
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "ã?¿ã?¹ã?¯ã?®ã??ã?£ã?«ã?¿ã?ªã?³ã?°"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "å?¨ã?¦ã?®ã?¿ã?¹ã?¯ã??表示ã??ã??(_O)"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "\"å?¨ã?¦\" ã??é?¸æ??ã??ã??ã??次ã?®ã?«ã??ã?´ã?ªã?®ã?¿è¡¨ç¤ºã??ã??(_S):"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "ã?«ã??ã?´ã?ª"
@@ -122,7 +172,7 @@ msgid "New task created."
msgstr "æ?°ã??ã??ã?¿ã?¹ã?¯ã??ç??æ??ã??ã?¾ã??ã??"
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:340
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "��"
@@ -132,19 +182,19 @@ msgid "Priority"
msgstr "å?ªå??度"
#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
@@ -164,38 +214,38 @@ msgid "Due Date"
msgstr "æ??æ?¥"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "M/d - "
-#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:273 ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "ä»?æ?¥"
-#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:291 ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "æ??æ?¥"
#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "M/d - dddæ??æ?¥"
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "ï¼?é?±é??以å??"
-#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "æ??æ?¥ã?ªã??"
-#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "æ?¥ä»?ã?®é?¸æ??..."
@@ -213,203 +263,312 @@ msgstr "ã?¿ã?¤ã??ã?¼"
msgid "Task Completed"
msgstr "å®?äº?ã??ã??ã?¿ã?¹ã?¯"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "yy/M/d - dddæ??æ?¥"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "ã?¢ã?¯ã?·ã?§ã?³ã??ã?ã?£ã?³ã?»ã?«ã??ã?¾ã??ã??"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "{0} ã?§å®?äº?ã??ã??ã?¿ã?¹ã?¯"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:833 ../src/TaskWindow.cs:889
-#: ../src/TaskWindow.cs:899 ../src/TaskWindow.cs:910
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "æ?°ã??ã??ã?¿ã?¹ã?¯..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "追å? (_A)"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "ã?¿ã?¹ã?¯ã?®è¿½å? (_A)"
-#: ../src/TaskWindow.cs:255
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "æ??é??å??ã??"
-#: ../src/TaskWindow.cs:309
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "次ã?®ï¼?é?±é??"
-#: ../src/TaskWindow.cs:325
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "å°?æ?¥"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:797
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "æ?°ã??ã??ã?¿ã?¹ã?¯ã??ç??æ??ã??ã??é??ã?«ã?¨ã?©ã?¼ã??ç?ºç??ã??ã?¾ã??ã??"
#. Show successful status
-#: ../src/TaskWindow.cs:801
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "ã?¿ã?¹ã?¯ã?®ç??æ??ã??å®?äº?ã??ã?¾ã??ã??"
-#: ../src/TaskWindow.cs:1078
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "ã?¡ã?¢(_N)..."
-#: ../src/TaskWindow.cs:1085
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "ã?¿ã?¹ã?¯ã?®å??é?¤(_D)"
-#: ../src/TaskWindow.cs:1090
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "ã?¿ã?¹ã?¯ã?®ç·¨é??(_E)"
-#: ../src/TaskWindow.cs:1118
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "ã?«ã??ã?´ã?ª"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "ã?¿ã?¹ã?¯ã??å??é?¤ã??ã?¾ã??ã??"
-#: ../src/TaskWindow.cs:1160
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "ã?¿ã?¹ã?¯ã?®èªã?¿è¾¼ã?¿ä¸..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"æ?¥ç¶?ã??ã?¦ã??ã?¾ã??ã??"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "���{0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "���{0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0}æ?¥å??ã?®{1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0}æ?¥å??"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "æ??æ?¥ã?®{0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "{0}æ?¥ä»¥å??ã?®{1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "{0}æ?¥ä»¥å??"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "MMMM d yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "MMMM d yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "æ?¥æ??æ?¥"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "æ??æ??æ?¥"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "ç?«æ??æ?¥"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "æ°´æ??æ?¥"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "æ?¨æ??æ?¥"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "é??æ??æ?¥"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "å??æ??æ?¥"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+ä»?æ?¥\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+æ??æ?¥\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "ã??ã??ã??ã?¯ã?ªã??ã?¯ã??ã?¦æ?¥ç¶?ã??ã?¦ä¸?ã??ã??"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"ç?¾å?¨æ?¥ç¶?ä¸ã?§ã??"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"ç?¾å?¨æ?¥ç¶?ä¸ã?§ã??"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"æ?¥ç¶?ã??ã?¦ã??ã?¾ã??ã??"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr ""
"Remember the Milk ã??ã??å¿?ç?ã??ã??ã??ã?¾ã??ã?? (ã??ã?¨ã?§ã??ã??ä¸?度試ã??ã?¦ã?¿ã?¦ä¸?ã??ã??)"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "èª?証ã??å®?äº?ã??ã??ã??ã??ã??ã??ã?¯ã?ªã??ã?¯ã??ã?¦ä¸?ã??ã??"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "ã??ã??ã?©ã?«ã??ã?®ã??ã?©ã?¦ã?¶ã??æ??å®?ã??ã?¦ã??ã??試ã??ã?¦ä¸?ã??ã??"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "ã?µã?³ã?ã?¥ã?¼"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-"\n"
-"\n"
-"ç?¾å?¨æ?¥ç¶?ä¸ã?§ã??"
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "ä»?æ?¥"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "æ??æ?¥"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "æ?°ã??ã??ã?¿ã?¹ã?¯..."
+
+#~ msgid "Sunday"
+#~ msgstr "æ?¥æ??æ?¥"
+
+#~ msgid "Monday"
+#~ msgstr "æ??æ??æ?¥"
+
+#~ msgid "Tuesday"
+#~ msgstr "ç?«æ??æ?¥"
+
+#~ msgid "Wednesday"
+#~ msgstr "æ°´æ??æ?¥"
+
+#~ msgid "Thursday"
+#~ msgstr "æ?¨æ??æ?¥"
+
+#~ msgid "Friday"
+#~ msgstr "é??æ??æ?¥"
+
+#~ msgid "Saturday"
+#~ msgstr "å??æ??æ?¥"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+ä»?æ?¥\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+æ??æ?¥\\W*$"
diff --git a/po/nb.po b/po/nb.po
index 9d68443..ee2cc32 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque 0.x\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-14 11:37+0100\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2010-03-14 11:43+0100\n"
"Last-Translator: Espen Stefansen <espens svn gnome org>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb lister ping uio no>\n"
@@ -90,7 +90,7 @@ msgstr "Oppdater oppgaver..."
msgid "All"
msgstr "Alle"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:279
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "I går"
@@ -218,12 +218,12 @@ msgid "M/d - "
msgstr ""
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:273
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "I dag"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:292
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "I morgen"
@@ -239,7 +239,7 @@ msgid "In 1 Week"
msgstr ""
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:305
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Ingen dato"
@@ -346,98 +346,57 @@ msgstr "Laster oppgaver..."
msgid "Not connected."
msgstr "Ikke tilkoblet."
-#: ../src/Utilities.cs:271
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "I dag, {0}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr ""
-#: ../src/Utilities.cs:283
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr ""
-#: ../src/Utilities.cs:285
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr ""
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr ""
-#: ../src/Utilities.cs:296
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr ""
-#: ../src/Utilities.cs:298
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr ""
-#: ../src/Utilities.cs:302
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr ""
-#: ../src/Utilities.cs:303
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr ""
-#: ../src/Utilities.cs:308
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr ""
-#: ../src/Utilities.cs:309
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr ""
-#: ../src/Utilities.cs:318
-msgid "Sunday"
-msgstr "Søndag"
-
-#: ../src/Utilities.cs:320
-msgid "Monday"
-msgstr "Mandag"
-
-#: ../src/Utilities.cs:322
-msgid "Tuesday"
-msgstr "Tirsdag"
-
-#: ../src/Utilities.cs:324
-msgid "Wednesday"
-msgstr "Onsdag"
-
-#: ../src/Utilities.cs:326
-msgid "Thursday"
-msgstr "Torsdag"
-
-#: ../src/Utilities.cs:328
-msgid "Friday"
-msgstr "Fredag"
-
-#: ../src/Utilities.cs:330
-msgid "Saturday"
-msgstr "Lørdag"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:376
-#, fuzzy
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+) i dag$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:378
-#, fuzzy
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+) i morgen$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Klikk her for å koble til"
@@ -479,3 +438,119 @@ msgstr "Feilet. Prøv igjen"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Takk"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "I dag"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "I morgen"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Ny oppgave ..."
+
+#~ msgid "Sunday"
+#~ msgstr "Søndag"
+
+#~ msgid "Monday"
+#~ msgstr "Mandag"
+
+#~ msgid "Tuesday"
+#~ msgstr "Tirsdag"
+
+#~ msgid "Wednesday"
+#~ msgstr "Onsdag"
+
+#~ msgid "Thursday"
+#~ msgstr "Torsdag"
+
+#~ msgid "Friday"
+#~ msgstr "Fredag"
+
+#~ msgid "Saturday"
+#~ msgstr "Lørdag"
+
+#, fuzzy
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+) i dag$"
+
+#, fuzzy
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+) i morgen$"
diff --git a/po/nds.po b/po/nds.po
index 9a477e8..b5b9588 100644
--- a/po/nds.po
+++ b/po/nds.po
@@ -6,8 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=tasque&component=general\n"
-"POT-Creation-Date: 2009-11-02 10:30+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-11-27 00:49+0100\n"
"Last-Translator: Nils-Christoph Fiedler <fiedler medienkompanie de>\n"
"Language-Team: Low German <nds-lowgerman lists sourceforge net>\n"
@@ -86,13 +86,11 @@ msgstr "Opgaven opwiesen ..."
msgid "Refresh Tasks ..."
msgstr "Opgaven opfrischen ..."
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:174
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Allens"
-#: ../src/CompletedTaskGroup.cs:165
-#: ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Güstern"
@@ -172,8 +170,7 @@ msgid "New task created."
msgstr "Neje Opgav erstellt"
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84
-#: ../src/TaskWindow.cs:342
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Fertig"
@@ -182,29 +179,25 @@ msgstr "Fertig"
msgid "Priority"
msgstr "Priorität"
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:116
-#: ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:117
-#: ../src/TaskTreeView.cs:369
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
@@ -218,52 +211,39 @@ msgstr "Opgavnaam"
msgid "Due Date"
msgstr "bit Dag"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:694
-#: ../src/TaskTreeView.cs:697
-#: ../src/TaskTreeView.cs:702
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "M/d -"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275
-#: ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Vandag"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293
-#: ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Morn"
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "M/d - ddd"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:702
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "In 1 Week"
-#: ../src/TaskTreeView.cs:202
-#: ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Keen Dag"
-#: ../src/TaskTreeView.cs:203
-#: ../src/TaskTreeView.cs:704
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Dag wählen..."
@@ -296,11 +276,8 @@ msgstr "Düsse Opgav avsluten in: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149
-#: ../src/TaskWindow.cs:837
-#: ../src/TaskWindow.cs:893
-#: ../src/TaskWindow.cs:903
-#: ../src/TaskWindow.cs:914
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Neje Opgav..."
@@ -325,8 +302,7 @@ msgid "Future"
msgstr "Tokunft"
#. Translators: This status shows the date and time when the task list was last refreshed
-#: ../src/TaskWindow.cs:474
-#: ../src/TaskWindow.cs:1213
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
#, csharp-format
msgid "Tasks loaded: {0}"
msgstr "Opgaven geladen: {0}"
@@ -370,96 +346,57 @@ msgstr "Lade Opgaven..."
msgid "Not connected."
msgstr "Nich verbunnen."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Vandag, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Güstern, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} Dage her, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} Dage her"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Moorn, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "In {0} Dagen, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "In {0} Dagen"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "MMMM d yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "MMMM d yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Sünndag"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Maandag"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Diensdag"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Middeweeken"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Donnersdag"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Friedag"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sünnavend"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+today\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Klick hier, um dik to verbinnen"
@@ -502,3 +439,116 @@ msgstr "So güng dat nich. Versöök dat nohmol!"
msgid "Thank You"
msgstr "Danke"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Vandag"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Morn"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Neje Opgav..."
+
+#~ msgid "Sunday"
+#~ msgstr "Sünndag"
+
+#~ msgid "Monday"
+#~ msgstr "Maandag"
+
+#~ msgid "Tuesday"
+#~ msgstr "Diensdag"
+
+#~ msgid "Wednesday"
+#~ msgstr "Middeweeken"
+
+#~ msgid "Thursday"
+#~ msgstr "Donnersdag"
+
+#~ msgid "Friday"
+#~ msgstr "Friedag"
+
+#~ msgid "Saturday"
+#~ msgstr "Sünnavend"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+today\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
diff --git a/po/nl.po b/po/nl.po
index 58f8d28..e77f351 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,35 +6,523 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque-svn-20080229 \n"
-"Report-Msgid-Bugs-To: http://code.google.com/p/tasky/issues/list \n"
-"POT-Creation-Date: 2008-02-29 22:48+0100\n"
-"PO-Revision-Date: 2008-02-29 22:52+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
+"PO-Revision-Date: 2008-02-29 22:52+0100\n"
"Last-Translator: Daniel van Eeden <gnomenl myname nl>\n"
"Language-Team: Dutch <vertaling vrijschrift org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/Application.cs:378
+#: ../data/tasque.desktop.in.h:1
+msgid "Easy quick task management"
+msgstr ""
+
+#: ../data/tasque.desktop.in.h:2
+msgid "Task Manager"
+msgstr ""
+
+#: ../data/tasque.desktop.in.h:3
+msgid "Tasque"
+msgstr ""
+
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+msgid "Tasque Rocks"
+msgstr ""
+
+#. string [] documenters = new string [] {
+#. "Calvin Gaisford <calvinrg gmail com>"
+#. };
+#.
+#: ../src/Application.cs:584
+msgid "translator-credits"
+msgstr ""
+
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: src/Application.cs:379
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "Een bruikbare takenlijst"
-#: src/Application.cs:381
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Tasque Project Webstek"
-#: src/Application.cs:431
+#: ../src/Application.cs:710
+msgid "New Task ..."
+msgstr "Nieuwe Taak ..."
+
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "Taken tonen ..."
-#: src/Application.cs:439
-msgid "New Task ..."
+#: ../src/Application.cs:732
+#, fuzzy
+msgid "Refresh Tasks ..."
+msgstr "Taken vernieuwen"
+
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
+msgid "All"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
+msgid "Yesterday"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:167
+msgid "Last 7 Days"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:169
+msgid "Last Month"
+msgstr ""
+
+#: ../src/CompletedTaskGroup.cs:171
+msgid "Last Year"
+msgstr ""
+
+#: ../src/NoteDialog.cs:24
+#, csharp-format
+msgid "Notes for: {0:s}"
+msgstr ""
+
+#: ../src/OSXApplication.cs:38
+msgid "_File"
+msgstr ""
+
+#: ../src/OSXApplication.cs:44
+msgid "_Window"
+msgstr ""
+
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
+msgid "General"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+msgid "Today:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:199
+msgid "Overdue:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:243
+msgid "Task Management System"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:285
+msgid "Task Filtering"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:304
+msgid "Sh_ow completed tasks"
+msgstr ""
+
+#. Categories TreeView
+#: ../src/PreferencesDialog.cs:313
+msgid "Only _show these categories when \"All\" is selected:"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:331
+msgid "Category"
+msgstr ""
+
+#: ../src/RemoteControl.cs:150
+#, fuzzy
+msgid "New task created."
msgstr "Nieuwe Taak ..."
-#: src/Application.cs:460
-msgid "Refresh Tasks"
-msgstr "Taken vernieuwen"
+#. Title for Completed/Checkbox Column
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
+msgid "Completed"
+msgstr ""
+
+#. Title for Priority Column
+#: ../src/TaskTreeView.cs:101
+msgid "Priority"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
+msgid "1"
+msgstr ""
+
+#. High
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
+msgid "2"
+msgstr ""
+
+#. Medium
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
+msgid "3"
+msgstr ""
+
+#. Low
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
+msgid "-"
+msgstr ""
+
+#. Title for Task Name Column
+#: ../src/TaskTreeView.cs:131
+msgid "Task Name"
+msgstr ""
+
+#. Title for Due Date Column
+#: ../src/TaskTreeView.cs:173
+msgid "Due Date"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
+msgid "M/d - "
+msgstr ""
+
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
+msgid "Today"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
+msgid "Tomorrow"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
+msgid "M/d - ddd"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
+msgid "In 1 Week"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
+msgid "No Date"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
+msgid "Choose Date..."
+msgstr ""
+
+#. Title for Notes Column
+#: ../src/TaskTreeView.cs:219
+msgid "Notes"
+msgstr ""
+
+#. Title for Timer Column
+#: ../src/TaskTreeView.cs:236
+msgid "Timer"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:281
+msgid "Task Completed"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:436
+msgid "M/d/yy - ddd"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:594
+msgid "Action Canceled"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:859
+#, csharp-format
+msgid "Completing Task In: {0}"
+msgstr ""
+
+#. The new task entry widget
+#. Clear the entry if it contains the default text
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
+#, fuzzy
+msgid "New task..."
+msgstr "Nieuwe Taak ..."
+
+#: ../src/TaskWindow.cs:165
+msgid "_Add"
+msgstr ""
+
+#: ../src/TaskWindow.cs:170
+msgid "_Add Task"
+msgstr ""
+
+#: ../src/TaskWindow.cs:257
+msgid "Overdue"
+msgstr ""
+
+#: ../src/TaskWindow.cs:311
+msgid "Next 7 Days"
+msgstr ""
+
+#: ../src/TaskWindow.cs:327
+msgid "Future"
+msgstr ""
+
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
+#. Show error status
+#: ../src/TaskWindow.cs:801
+msgid "Error creating a new task"
+msgstr ""
+
+#. Show successful status
+#: ../src/TaskWindow.cs:805
+msgid "Task created successfully"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1089
+msgid "_Notes..."
+msgstr ""
+
+#: ../src/TaskWindow.cs:1096
+msgid "_Delete task"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1101
+msgid "_Edit task"
+msgstr ""
+
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+msgid "_Change category"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1162
+msgid "Task deleted"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1204
+#, fuzzy
+msgid "Loading tasks..."
+msgstr "Taken tonen ..."
+
+#: ../src/TaskWindow.cs:1225
+msgid "Not connected."
+msgstr ""
+
+#: ../src/Utilities.cs:274
+#, csharp-format
+msgid "Today, {0}"
+msgstr ""
+
+#: ../src/Utilities.cs:280
+#, csharp-format
+msgid "Yesterday, {0}"
+msgstr ""
+
+#: ../src/Utilities.cs:286
+#, csharp-format
+msgid "{0} days ago, {1}"
+msgstr ""
+
+#: ../src/Utilities.cs:288
+#, csharp-format
+msgid "{0} days ago"
+msgstr ""
+
+#: ../src/Utilities.cs:293
+#, csharp-format
+msgid "Tomorrow, {0}"
+msgstr ""
+
+#: ../src/Utilities.cs:299
+#, csharp-format
+msgid "In {0} days, {1}"
+msgstr ""
+
+#: ../src/Utilities.cs:301
+#, csharp-format
+msgid "In {0} days"
+msgstr ""
+
+#: ../src/Utilities.cs:305
+msgid "MMMM d, h:mm tt"
+msgstr ""
+
+#: ../src/Utilities.cs:306
+msgid "MMMM d"
+msgstr ""
+
+#: ../src/Utilities.cs:311
+msgid "MMMM d yyyy, h:mm tt"
+msgstr ""
+
+#: ../src/Utilities.cs:312
+msgid "MMMM d yyyy"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
+msgid "Click Here to Connect"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+msgid "You are currently connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+msgid "You are currently connected as"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+msgid "You are not connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
+msgid "Remember the Milk not responding. Try again later."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
+msgid "Click Here After Authorizing"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
+msgid "Set the default browser and try again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
+msgid "Thank You"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+msgid "today"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:51
+msgid "tomorrow"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nieuwe Taak ..."
diff --git a/po/pl.po b/po/pl.po
index 6f01b3b..4b75edb 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,14 +8,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Tasque\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-14 13:39+0200\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-09-14 13:42+0100\n"
"Last-Translator: Tomasz Dominikowski <dominikowski gmail com>\n"
"Language-Team: Polish <gnomepl aviary pl>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: POLAND\n"
"X-Poedit-SourceCharset: utf-8\n"
@@ -32,59 +33,87 @@ msgstr "Menedżer zadaÅ?"
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:487
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr ""
"Aviary.pl <gnomepl aviary pl>, 2008, 2009\n"
"Piotr Makowski <pmakowski aviary pl>, 2008"
-#: ../src/Application.cs:496
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:497
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "Użyteczna lista zadaÅ?"
-#: ../src/Application.cs:499
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Strona domowa projektu Tasque"
-#: ../src/Application.cs:612
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Nowe zadanie..."
-#: ../src/Application.cs:619
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "WyÅ?wietl zadania..."
-#: ../src/Application.cs:634
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "OdÅ?wież zadania..."
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Wszystkie"
-#: ../src/CompletedTaskGroup.cs:205
-#: ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Wczoraj"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Ostatnie 7 dni"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Ostatni miesiÄ?c"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Ostatni rok"
@@ -101,28 +130,52 @@ msgstr "_Plik"
msgid "_Window"
msgstr "_Okno"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Ogólne"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "Dzisiaj"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "ZalegÅ?e"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "System zarzÄ?dzania zadaniami"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Filtrowanie zadaÅ?"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "WyÅ?wietlanie _ukoÅ?czonych zadaÅ?"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
-msgstr "_WyÅ?wietlanie poniższych kategorii tylko, gdy \"Wszystkie\" jest wybrane:"
+msgstr ""
+"_WyÅ?wietlanie poniższych kategorii tylko, gdy \"Wszystkie\" jest wybrane:"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Kategoria"
@@ -131,8 +184,7 @@ msgid "New task created."
msgstr "Utworzono nowe zadanie."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84
-#: ../src/TaskWindow.cs:342
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "UkoÅ?czone"
@@ -141,29 +193,25 @@ msgstr "UkoÅ?czone"
msgid "Priority"
msgstr "Priorytet"
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:116
-#: ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:117
-#: ../src/TaskTreeView.cs:369
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
@@ -177,52 +225,39 @@ msgstr "Nazwa zadania"
msgid "Due Date"
msgstr "Termin wykonania"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683
-#: ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:275
-#: ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Dzisiaj"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:293
-#: ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Jutro"
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "ddd, d/M"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "W ciÄ?gu tygodnia"
-#: ../src/TaskTreeView.cs:202
-#: ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Brak daty"
-#: ../src/TaskTreeView.cs:203
-#: ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Wybierz datÄ?..."
@@ -240,34 +275,31 @@ msgstr "Czasomierz"
msgid "Task Completed"
msgstr "Zadanie ukoÅ?czone"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "ddd, d/M/yy"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "DziaÅ?anie anulowane"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "KoÅ?czenie zadania w: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149
-#: ../src/TaskWindow.cs:835
-#: ../src/TaskWindow.cs:891
-#: ../src/TaskWindow.cs:901
-#: ../src/TaskWindow.cs:912
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Nowe zadanie..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Dodaj"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Dodaj zadanie"
@@ -283,163 +315,271 @@ msgstr "NastÄ?pne 7 dni"
msgid "Future"
msgstr "PrzyszÅ?oÅ?Ä?"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:799
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "BÅ?Ä?d podczas tworzenia nowego zadania"
#. Show successful status
-#: ../src/TaskWindow.cs:803
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "Poprawnie utworzono zadanie"
-#: ../src/TaskWindow.cs:1080
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Notatki..."
-#: ../src/TaskWindow.cs:1087
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_UsuÅ? zadanie"
-#: ../src/TaskWindow.cs:1092
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "Mo_dyfikuj zadanie"
-#: ../src/TaskWindow.cs:1120
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Kategoria"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "Zadanie usuniÄ?te"
-#: ../src/TaskWindow.cs:1162
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Wczytywanie zadaÅ?..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"Brak poÅ?Ä?czenia"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Dzisiaj, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Wczoraj, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} dni temu, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} dni temu"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Jutro, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "W ciÄ?gu {0} dni, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "W ciÄ?gu {0} dni"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d MMMM, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Niedziela"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "PoniedziaÅ?ek"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Wtorek"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Å?roda"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Czwartek"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "PiÄ?tek"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sobota"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+dzisiaj\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+jutr\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "ProszÄ? kliknÄ?Ä? tutaj, aby siÄ? poÅ?Ä?czyÄ?"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"PoÅ?Ä?czenie dostÄ?pne"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"PoÅ?Ä?czenie dostÄ?pne"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"Brak poÅ?Ä?czenia"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "Remember the Milk nie odpowiada. ProszÄ? spróbowaÄ? później."
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "ProszÄ? kliknÄ?Ä? tutaj po uwierzytelnieniu"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "ProszÄ? ustawiÄ? domyÅ?lnÄ? przeglÄ?darkÄ? i spróbowaÄ? ponownie"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "DziÄ?kujemy"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-"\n"
-"\n"
-"PoÅ?Ä?czenie dostÄ?pne"
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Dzisiaj"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Jutro"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nowe zadanie..."
+
+#~ msgid "Sunday"
+#~ msgstr "Niedziela"
+
+#~ msgid "Monday"
+#~ msgstr "PoniedziaÅ?ek"
+
+#~ msgid "Tuesday"
+#~ msgstr "Wtorek"
+
+#~ msgid "Wednesday"
+#~ msgstr "Å?roda"
+
+#~ msgid "Thursday"
+#~ msgstr "Czwartek"
+
+#~ msgid "Friday"
+#~ msgstr "PiÄ?tek"
+
+#~ msgid "Saturday"
+#~ msgstr "Sobota"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+dzisiaj\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+jutr\\W*$"
diff --git a/po/pt.po b/po/pt.po
index 39d382b..3e6857c 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-05 16:36+0100\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-10-03 21:17+0000\n"
"Last-Translator: António Lima <amrlima gmail com>\n"
"Language-Team: Portuguese <gnome_pt yahoogroups com>\n"
@@ -89,7 +89,7 @@ msgstr "Actualizar Tarefas..."
msgid "All"
msgstr "Todas"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Ontem"
@@ -218,12 +218,12 @@ msgid "M/d - "
msgstr "M/d - "
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Hoje"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Amanhã"
@@ -239,7 +239,7 @@ msgid "In 1 Week"
msgstr "Daqui a 1 Semana"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Sem Data"
@@ -346,96 +346,57 @@ msgstr "A carregar tarefas..."
msgid "Not connected."
msgstr "Não está ligado."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Hoje, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Ontem, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} dias atrás, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} dias atrás"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Amanhã, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "Em {0} dias, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "Em {0} dias"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "MMMM d aaaa, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "MMMM d aaaa"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Domingo"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Segunda-Feira"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Terça-Feira"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Quarta-Feira"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Quinta-Feira"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Sexta-Feira"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sábado"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+hoje\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+amanhã\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Clique Aqui para Ligar"
@@ -477,3 +438,117 @@ msgstr "Falhou, tente novamente"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Obrigado"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Hoje"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Amanhã"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nova tarefa..."
+
+#~ msgid "Sunday"
+#~ msgstr "Domingo"
+
+#~ msgid "Monday"
+#~ msgstr "Segunda-Feira"
+
+#~ msgid "Tuesday"
+#~ msgstr "Terça-Feira"
+
+#~ msgid "Wednesday"
+#~ msgstr "Quarta-Feira"
+
+#~ msgid "Thursday"
+#~ msgstr "Quinta-Feira"
+
+#~ msgid "Friday"
+#~ msgstr "Sexta-Feira"
+
+#~ msgid "Saturday"
+#~ msgstr "Sábado"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+hoje\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+amanhã\\W*$"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 362041b..048ef55 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-12 10:16-0300\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-12-31 14:49-0300\n"
"Last-Translator: Antonio Fernandes C. Neto <fernandes pelivre org>\n"
"Language-Team: Brazilian Portuguese <gnome-l10n-br listas cipsga org br>\n"
@@ -100,7 +100,7 @@ msgstr "Atualizar tarefas..."
msgid "All"
msgstr "Todas"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Ontem"
@@ -228,12 +228,12 @@ msgid "M/d - "
msgstr "d/M - "
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Hoje"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Amanhã"
@@ -249,7 +249,7 @@ msgid "In 1 Week"
msgstr "Em 1 semana"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Sem data"
@@ -356,96 +356,57 @@ msgstr "Carregando tarefas..."
msgid "Not connected."
msgstr "Não conectado."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Hoje, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Ontem, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} dias atrás, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} dias atrás"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Amanhã, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "Em {0} dias, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "Em {0} dias"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "Domingo"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "Segunda"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "Terça"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "Quarta"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Quinta"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "Sexta"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "Sábado"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+hoje\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+amanhã\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Clique aqui para conectar"
@@ -488,5 +449,119 @@ msgstr "Falhou, tente novamente"
msgid "Thank You"
msgstr "Obrigado"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Hoje"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Amanhã"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nova tarefa..."
+
+#~ msgid "Sunday"
+#~ msgstr "Domingo"
+
+#~ msgid "Monday"
+#~ msgstr "Segunda"
+
+#~ msgid "Tuesday"
+#~ msgstr "Terça"
+
+#~ msgid "Wednesday"
+#~ msgstr "Quarta"
+
+#~ msgid "Thursday"
+#~ msgstr "Quinta"
+
+#~ msgid "Friday"
+#~ msgstr "Sexta"
+
+#~ msgid "Saturday"
+#~ msgstr "Sábado"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+hoje\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+amanhã\\W*$"
+
#~ msgid "Reloading tasks..."
#~ msgstr "Atualizando tarefas..."
diff --git a/po/ru.po b/po/ru.po
index 7236545..71caae3 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,327 +4,561 @@
# Alexander Telenga <telenga gmail com>, 2008.
#
#
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-06-26 17:29+0200\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2008-11-14 13:10+0300\n"
"Last-Translator: Alexander Telenga <telenga gmail com>\n"
"Language-Team: Russian <ru li org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../data/tasque.desktop.in.h:1
+msgid "Easy quick task management"
+msgstr ""
+
+#: ../data/tasque.desktop.in.h:2
+#, fuzzy
+msgid "Task Manager"
+msgstr "Ð?мÑ? задаÑ?и"
+
+#: ../data/tasque.desktop.in.h:3
+msgid "Tasque"
+msgstr ""
+
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+msgid "Tasque Rocks"
+msgstr ""
-#: src/Application.cs:403
+#. string [] documenters = new string [] {
+#. "Calvin Gaisford <calvinrg gmail com>"
+#. };
+#.
+#: ../src/Application.cs:584
+msgid "translator-credits"
+msgstr ""
+
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: src/Application.cs:404
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "СпиÑ?ок полезнÑ?Ñ? задаÑ?"
-#: src/Application.cs:406
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Ð?омаÑ?нÑ?Ñ? Ñ?Ñ?Ñ?аниÑ?а пÑ?оекÑ?а Tasque"
-#: src/Application.cs:458
-msgid "Show Tasks ..."
-msgstr "Ð?оказаÑ?Ñ? задаÑ?и â?¦"
-
-#: src/Application.cs:466
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Ð?оваÑ? задаÑ?а â?¦"
-#: src/Application.cs:487
-msgid "Refresh Tasks"
+#: ../src/Application.cs:717
+msgid "Show Tasks ..."
+msgstr "Ð?оказаÑ?Ñ? задаÑ?и â?¦"
+
+#: ../src/Application.cs:732
+#, fuzzy
+msgid "Refresh Tasks ..."
msgstr "Ð?бновиÑ?Ñ? задаÑ?и"
-#: src/AllCategory.cs:28
-#: src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Ð?Ñ?е"
-#: src/CompletedTaskGroup.cs:205
-#: src/Utilities.cs:283
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Ð?Ñ?еÑ?а"
-#: src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Ð?оÑ?ледние 7 дней"
-#: src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Ð?оÑ?ледний меÑ?Ñ?Ñ?"
-#: src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Ð?оÑ?ледний год"
-#: src/NoteDialog.cs:22
+#: ../src/NoteDialog.cs:24
#, csharp-format
msgid "Notes for: {0:s}"
msgstr "Ð?амеÑ?ки длÑ?: {0:s}"
-#: src/PreferencesDialog.cs:107
+#: ../src/OSXApplication.cs:38
+msgid "_File"
+msgstr ""
+
+#: ../src/OSXApplication.cs:44
+msgid "_Window"
+msgstr ""
+
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Ð?бÑ?ее"
-#: src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "СегоднÑ?"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "Ð?Ñ?оÑ?Ñ?оÑ?еннÑ?е"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "СиÑ?Ñ?ема Ñ?пÑ?авлениÑ? задаÑ?ами"
-#: src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "ФилÑ?Ñ?Ñ?аÑ?иÑ? задаÑ?"
-#: src/PreferencesDialog.cs:207
-msgid "Show _completed tasks"
+#: ../src/PreferencesDialog.cs:304
+#, fuzzy
+msgid "Sh_ow completed tasks"
msgstr "Ð?оказаÑ?Ñ? _завеÑ?Ñ?еннÑ?е задаÑ?и"
-#: src/PreferencesDialog.cs:216
+#. Categories TreeView
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "_Ð?оказÑ?ваÑ?Ñ? Ñ?Ñ?и каÑ?егоÑ?ии, Ñ?олÑ?ко когда вÑ?бÑ?ано \"Ð?Ñ?е\":"
-#: src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Ð?аÑ?егоÑ?иÑ?"
-#: src/RemoteControl.cs:109
+#: ../src/RemoteControl.cs:150
msgid "New task created."
msgstr "Создана новаÑ? задаÑ?а."
-#: src/TaskTreeView.cs:72
-#: src/TaskWindow.cs:346
+#. Title for Completed/Checkbox Column
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Ð?авеÑ?Ñ?ено"
-#: src/TaskTreeView.cs:89
+#. Title for Priority Column
+#: ../src/TaskTreeView.cs:101
msgid "Priority"
msgstr "Ð?Ñ?иоÑ?иÑ?еÑ?"
-#: src/TaskTreeView.cs:102
-#: src/TaskTreeView.cs:300
-#: src/TaskTreeView.cs:524
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
-#: src/TaskTreeView.cs:103
-#: src/TaskTreeView.cs:297
-#: src/TaskTreeView.cs:522
+#. High
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
-#: src/TaskTreeView.cs:104
-#: src/TaskTreeView.cs:294
-#: src/TaskTreeView.cs:520
+#. Medium
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
-#: src/TaskTreeView.cs:105
-#: src/TaskTreeView.cs:303
+#. Low
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
-#: src/TaskTreeView.cs:119
+#. Title for Task Name Column
+#: ../src/TaskTreeView.cs:131
msgid "Task Name"
msgstr "Ð?мÑ? задаÑ?и"
-#: src/TaskTreeView.cs:161
+#. Title for Due Date Column
+#: ../src/TaskTreeView.cs:173
msgid "Due Date"
msgstr "СÑ?ок вÑ?полнениÑ?"
-#: src/TaskTreeView.cs:175
-#: src/TaskTreeView.cs:177
-#: src/TaskTreeView.cs:189
-#: src/TaskTreeView.cs:606
-#: src/TaskTreeView.cs:609
-#: src/TaskTreeView.cs:614
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d.M - "
-#: src/TaskTreeView.cs:175
-#: src/TaskTreeView.cs:606
-#: src/TaskWindow.cs:279
-#: src/Utilities.cs:277
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "СегоднÑ?"
-#: src/TaskTreeView.cs:177
-#: src/TaskTreeView.cs:609
-#: src/TaskWindow.cs:297
-#: src/Utilities.cs:296
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Ð?авÑ?Ñ?а"
-#: src/TaskTreeView.cs:179
-#: src/TaskTreeView.cs:181
-#: src/TaskTreeView.cs:183
-#: src/TaskTreeView.cs:185
-#: src/TaskTreeView.cs:187
-#: src/TaskTreeView.cs:354
-#: src/TaskTreeView.cs:623
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d.M - ddd"
-#: src/TaskTreeView.cs:189
-#: src/TaskTreeView.cs:614
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "ЧеÑ?ез 1 неделÑ?"
-#: src/TaskTreeView.cs:190
-#: src/TaskTreeView.cs:611
-#: src/Utilities.cs:309
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Ð?ез даÑ?Ñ?"
-#: src/TaskTreeView.cs:191
-#: src/TaskTreeView.cs:616
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Ð?Ñ?беÑ?иÑ?е даÑ?Ñ? â?¦"
-#: src/TaskTreeView.cs:207
+#. Title for Notes Column
+#: ../src/TaskTreeView.cs:219
msgid "Notes"
msgstr "Ð?амеÑ?ки"
-#: src/TaskTreeView.cs:224
+#. Title for Timer Column
+#: ../src/TaskTreeView.cs:236
msgid "Timer"
msgstr "ТаймеÑ?"
-#: src/TaskTreeView.cs:356
+#: ../src/TaskTreeView.cs:281
+#, fuzzy
+msgid "Task Completed"
+msgstr "Ð?авеÑ?Ñ?ено"
+
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d.M.yy - ddd"
-#: src/TaskWindow.cs:152
-#: src/TaskWindow.cs:835
-#: src/TaskWindow.cs:845
-#: src/TaskWindow.cs:856
+#: ../src/TaskTreeView.cs:594
+msgid "Action Canceled"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:859
+#, csharp-format
+msgid "Completing Task In: {0}"
+msgstr ""
+
+#. The new task entry widget
+#. Clear the entry if it contains the default text
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Ð?оваÑ? задаÑ?а â?¦"
-#: src/TaskWindow.cs:167
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Ð?обавиÑ?Ñ?"
-#: src/TaskWindow.cs:172
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "_Ð?обавиÑ?Ñ? задаÑ?Ñ?"
-#: src/TaskWindow.cs:261
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "Ð?Ñ?оÑ?Ñ?оÑ?еннÑ?е"
-#: src/TaskWindow.cs:315
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "СледÑ?Ñ?Ñ?ие 7 дней"
-#: src/TaskWindow.cs:331
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Ð?Ñ?дÑ?Ñ?ее"
-#: src/TaskWindow.cs:1024
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
+#. Show error status
+#: ../src/TaskWindow.cs:801
+msgid "Error creating a new task"
+msgstr ""
+
+#. Show successful status
+#: ../src/TaskWindow.cs:805
+msgid "Task created successfully"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Ð?амеÑ?ки â?¦"
-#: src/TaskWindow.cs:1031
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_УдалиÑ?Ñ? задаÑ?Ñ?"
-#: src/TaskWindow.cs:1036
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "_РедакÑ?иÑ?оваÑ?Ñ? задаÑ?Ñ?"
-#: src/TaskWindow.cs:1103
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Ð?аÑ?егоÑ?иÑ?"
+
+#: ../src/TaskWindow.cs:1162
+#, fuzzy
+msgid "Task deleted"
+msgstr "ФилÑ?Ñ?Ñ?аÑ?иÑ? задаÑ?"
+
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Ð?агÑ?Ñ?зка задаÑ?â?¦"
-#: src/Utilities.cs:275
+#: ../src/TaskWindow.cs:1225
+msgid "Not connected."
+msgstr ""
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "СегоднÑ?, {0}"
-#: src/Utilities.cs:281
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Ð?Ñ?еÑ?а, {0}"
-#: src/Utilities.cs:287
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} дней назад, {1}"
-#: src/Utilities.cs:289
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} дней назад"
-#: src/Utilities.cs:294
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Ð?авÑ?Ñ?а, {0}"
-#: src/Utilities.cs:300
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "ЧеÑ?ез {0} дней, {1}"
-#: src/Utilities.cs:302
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "ЧеÑ?ез {0} дней"
-#: src/Utilities.cs:306
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d. MMMM, h:mm tt"
-#: src/Utilities.cs:307
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d. MMMM"
-#: src/Utilities.cs:312
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d. MMMM yyyy, h:mm tt"
-#: src/Utilities.cs:313
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d. MMMM yyyy"
-#: src/Utilities.cs:322
-msgid "Sunday"
-msgstr "Ð?оÑ?кÑ?еÑ?ение"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
+msgid "Click Here to Connect"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+msgid "You are currently connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+msgid "You are currently connected as"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+msgid "You are not connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
+msgid "Remember the Milk not responding. Try again later."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
+msgid "Click Here After Authorizing"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
+msgid "Set the default browser and try again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
+msgid "Thank You"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "СегоднÑ?"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Ð?авÑ?Ñ?а"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Ð?оваÑ? задаÑ?а â?¦"
-#: src/Utilities.cs:324
-msgid "Monday"
-msgstr "Ð?онеделÑ?ник"
+#~ msgid "Sunday"
+#~ msgstr "Ð?оÑ?кÑ?еÑ?ение"
-#: src/Utilities.cs:326
-msgid "Tuesday"
-msgstr "Ð?Ñ?оÑ?ник"
+#~ msgid "Monday"
+#~ msgstr "Ð?онеделÑ?ник"
-#: src/Utilities.cs:328
-msgid "Wednesday"
-msgstr "СÑ?еда"
+#~ msgid "Tuesday"
+#~ msgstr "Ð?Ñ?оÑ?ник"
-#: src/Utilities.cs:330
-msgid "Thursday"
-msgstr "ЧеÑ?веÑ?г"
+#~ msgid "Wednesday"
+#~ msgstr "СÑ?еда"
-#: src/Utilities.cs:332
-msgid "Friday"
-msgstr "Ð?Ñ?Ñ?ниÑ?а"
+#~ msgid "Thursday"
+#~ msgstr "ЧеÑ?веÑ?г"
-#: src/Utilities.cs:334
-msgid "Saturday"
-msgstr "СÑ?ббоÑ?а"
+#~ msgid "Friday"
+#~ msgstr "Ð?Ñ?Ñ?ниÑ?а"
-#: src/Utilities.cs:380
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+today\\W*$"
+#~ msgid "Saturday"
+#~ msgstr "СÑ?ббоÑ?а"
-#: src/Utilities.cs:382
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+today\\W*$"
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
diff --git a/po/sl.po b/po/sl.po
index c0a6a6f..0dba983 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -6,15 +6,16 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=tasque&component=general\n"
-"POT-Creation-Date: 2009-11-02 10:30+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-12-01 21:21+0100\n"
"Last-Translator: Andrej ŽnidarÅ¡iÄ? <andrej znidarsic gmail com>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si googlegroups com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
+"%100==4 ? 3 : 0);\n"
"X-Poedit-Country: SLOVENIA\n"
"X-Poedit-Language: Slovenian\n"
"X-Poedit-SourceCharset: utf-8\n"
@@ -95,13 +96,11 @@ msgstr "Pokaži naloge ..."
msgid "Refresh Tasks ..."
msgstr "Osveži naloge ..."
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:174
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Vse"
-#: ../src/CompletedTaskGroup.cs:165
-#: ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "VÄ?eraj"
@@ -181,8 +180,7 @@ msgid "New task created."
msgstr "Nova naloga je ustvarjena"
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84
-#: ../src/TaskWindow.cs:342
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "KonÄ?ano"
@@ -191,29 +189,25 @@ msgstr "KonÄ?ano"
msgid "Priority"
msgstr "Prednost"
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:116
-#: ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:117
-#: ../src/TaskTreeView.cs:369
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
@@ -227,52 +221,39 @@ msgstr "Ime naloge"
msgid "Due Date"
msgstr "Rok"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:694
-#: ../src/TaskTreeView.cs:697
-#: ../src/TaskTreeView.cs:702
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M -"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275
-#: ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Danes"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293
-#: ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Jutri"
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:702
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "Ä?ez 1 teden"
-#: ../src/TaskTreeView.cs:202
-#: ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Ni datuma"
-#: ../src/TaskTreeView.cs:203
-#: ../src/TaskTreeView.cs:704
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Izbor datuma ..."
@@ -305,11 +286,8 @@ msgstr "DokonÄ?anje naloge v: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149
-#: ../src/TaskWindow.cs:837
-#: ../src/TaskWindow.cs:893
-#: ../src/TaskWindow.cs:903
-#: ../src/TaskWindow.cs:914
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Nova naloga ..."
@@ -334,8 +312,7 @@ msgid "Future"
msgstr "Prihodnost"
#. Translators: This status shows the date and time when the task list was last refreshed
-#: ../src/TaskWindow.cs:474
-#: ../src/TaskWindow.cs:1213
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
#, csharp-format
msgid "Tasks loaded: {0}"
msgstr "Ä?as osvežitve nalog: {0}"
@@ -379,96 +356,57 @@ msgstr "Nalaganje nalog ..."
msgid "Not connected."
msgstr "Brez povezave."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Danes, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "VÄ?eraj, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "Pred {0} dnevi, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "Pred {0} dnevi"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Jutri, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "V {0} dneh, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "V {0} dneh"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d MMMM, h.mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "nedelja"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "ponedeljek"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "torek"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "sreda"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "Ä?etrtek"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "petek"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "sobota"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+danes\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+jutri\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Kliknite sem za povezavo"
@@ -511,3 +449,117 @@ msgstr "Spodletelo, poskusite znova"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "Hvala vam"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Danes"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Jutri"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Nova naloga ..."
+
+#~ msgid "Sunday"
+#~ msgstr "nedelja"
+
+#~ msgid "Monday"
+#~ msgstr "ponedeljek"
+
+#~ msgid "Tuesday"
+#~ msgstr "torek"
+
+#~ msgid "Wednesday"
+#~ msgstr "sreda"
+
+#~ msgid "Thursday"
+#~ msgstr "Ä?etrtek"
+
+#~ msgid "Friday"
+#~ msgstr "petek"
+
+#~ msgid "Saturday"
+#~ msgstr "sobota"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+danes\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+jutri\\W*$"
diff --git a/po/sv.po b/po/sv.po
index d0b583b..7fd5446 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 04:04+0100\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2010-01-11 04:08+0100\n"
"Last-Translator: Daniel Nylander <po danielnylander se>\n"
"Language-Team: Swedish <tp-sv listor tp-sv se>\n"
@@ -92,13 +92,11 @@ msgstr "Visa aktiviteter ..."
msgid "Refresh Tasks ..."
msgstr "Uppdatera aktiviteter ..."
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:174
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Alla"
-#: ../src/CompletedTaskGroup.cs:165
-#: ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Igår"
@@ -178,8 +176,7 @@ msgid "New task created."
msgstr "Ny aktivitet skapad."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84
-#: ../src/TaskWindow.cs:342
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Avklarad"
@@ -188,29 +185,25 @@ msgstr "Avklarad"
msgid "Priority"
msgstr "Prioritet"
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:116
-#: ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:117
-#: ../src/TaskTreeView.cs:369
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
@@ -224,52 +217,39 @@ msgstr "Aktivitetsnamn"
msgid "Due Date"
msgstr "Förfallodag"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:694
-#: ../src/TaskTreeView.cs:697
-#: ../src/TaskTreeView.cs:702
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275
-#: ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Idag"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293
-#: ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Imorgon"
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:702
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "Inom en vecka"
-#: ../src/TaskTreeView.cs:202
-#: ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Inget datum"
-#: ../src/TaskTreeView.cs:203
-#: ../src/TaskTreeView.cs:704
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Välj datum..."
@@ -302,11 +282,8 @@ msgstr "Färdigställer aktivitet om: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149
-#: ../src/TaskWindow.cs:837
-#: ../src/TaskWindow.cs:893
-#: ../src/TaskWindow.cs:903
-#: ../src/TaskWindow.cs:914
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Ny aktivitet..."
@@ -331,8 +308,7 @@ msgid "Future"
msgstr "Framtiden"
#. Translators: This status shows the date and time when the task list was last refreshed
-#: ../src/TaskWindow.cs:474
-#: ../src/TaskWindow.cs:1213
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
#, csharp-format
msgid "Tasks loaded: {0}"
msgstr "Aktiviteter inlästa: {0}"
@@ -376,96 +352,57 @@ msgstr "Läser in aktiviteter..."
msgid "Not connected."
msgstr "Inte ansluten."
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Idag, {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Igår, {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} dagar sedan, {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} dagar sedan"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Imorgon, {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "Om {0} dagar, {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "Om {0} dagar"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, hh:mm"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy hh:mm"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "söndag"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "måndag"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "tisdag"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "onsdag"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "torsdag"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "fredag"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "lördag"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+idag\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+imorgon\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "Klicka här för att ansluta"
@@ -508,6 +445,119 @@ msgstr "Misslyckades. Försök igen"
msgid "Thank You"
msgstr "Tack"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Idag"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Imorgon"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Ny aktivitet..."
+
+#~ msgid "Sunday"
+#~ msgstr "söndag"
+
+#~ msgid "Monday"
+#~ msgstr "måndag"
+
+#~ msgid "Tuesday"
+#~ msgstr "tisdag"
+
+#~ msgid "Wednesday"
+#~ msgstr "onsdag"
+
+#~ msgid "Thursday"
+#~ msgstr "torsdag"
+
+#~ msgid "Friday"
+#~ msgstr "fredag"
+
+#~ msgid "Saturday"
+#~ msgstr "lördag"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+idag\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+imorgon\\W*$"
+
#~ msgid "Reloading tasks..."
#~ msgstr "Läser om uppgifter..."
-
diff --git a/po/th.po b/po/th.po
index a2ccec5..7ce9569 100644
--- a/po/th.po
+++ b/po/th.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: tasque\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=tasque&component=general\n"
-"POT-Creation-Date: 2009-04-17 15:19+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-04-28 14:17+0700\n"
"Last-Translator: Sira Nokyoongotong <gumaraa gmail com>\n"
"Language-Team: Thai <thai-l10n googlegroups com>\n"
@@ -28,55 +27,82 @@ msgstr "à¹?à¸?รืà¹?à¸à¸?มืà¸à¸?ัà¸?à¸?ารภารà¸?ิà¸?"
msgid "Tasque"
msgstr "Tasque"
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
#. string [] documenters = new string [] {
#. "Calvin Gaisford <calvinrg gmail com>"
#. };
#.
-#: ../src/Application.cs:487
+#: ../src/Application.cs:584
msgid "translator-credits"
msgstr "Sira Nokyoongotong <gumaraa gmail com>"
-#: ../src/Application.cs:496
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:497
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "à¹?à¸?รืà¹?à¸à¸?มืà¸à¸?ัà¸?à¸?ารภารà¸?ิà¸?"
-#: ../src/Application.cs:499
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "�ว��������ร��าร Tasque"
-#: ../src/Application.cs:612
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "ภาร�ิ��หม� ..."
-#: ../src/Application.cs:619
+#: ../src/Application.cs:717
msgid "Show Tasks ..."
msgstr "�ส��ภาร�ิ� ..."
-#: ../src/Application.cs:634
+#: ../src/Application.cs:732
msgid "Refresh Tasks ..."
msgstr "�รั��ส��ภาร�ิ� ..."
-#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "�ั��หม�"
-#: ../src/CompletedTaskGroup.cs:205 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "à¹?มืà¹?à¸à¸§à¸²à¸?"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "7 วั��ี���า�มา"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "à¹?à¸?ืà¸à¸?à¸?ีà¹?à¹?ลà¹?ว"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "�ี�ี��ล�ว"
@@ -93,28 +119,51 @@ msgstr "�_��ม"
msgid "_Window"
msgstr "_ห��า��า�"
-#: ../src/PreferencesDialog.cs:107
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "�ั�ว��"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "วั��ี�"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "�ลย�ำห��"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "ระ���ั��ารภาร�ิ�"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "à¸?ารà¸?รà¸à¸?ภารà¸?ิà¸?"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "�_ส��ภาร�ิ��ี��สร���ล�ว"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "à¹?สà¸?à¸?à¹?à¸?_à¸?าะหมวà¸?หมูà¹?à¹?หลà¹?าà¸?ีà¹?à¹?มืà¹?à¸à¹?ลืà¸à¸? \"à¸?ัà¹?à¸?หมà¸?\":"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "หมว�หมู�"
@@ -123,7 +172,7 @@ msgid "New task created."
msgstr "สร�า�ภาร�ิ��หม��ล�ว"
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:340
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "�สร���ล�ว"
@@ -133,19 +182,19 @@ msgid "Priority"
msgstr "�วามสำ�ั�"
#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
-#: ../src/TaskTreeView.cs:598
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
-#: ../src/TaskTreeView.cs:596
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:594
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
@@ -165,38 +214,38 @@ msgid "Due Date"
msgstr "�ำห���สร��"
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:680
-#: ../src/TaskTreeView.cs:683 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:680
-#: ../src/TaskWindow.cs:273 ../src/Utilities.cs:265
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "วั��ี�"
-#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:683
-#: ../src/TaskWindow.cs:291 ../src/Utilities.cs:284
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "�รุ���ี�"
#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:420
-#: ../src/TaskTreeView.cs:697
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:688
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "�� 1 สั��าห�"
-#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:685
-#: ../src/Utilities.cs:297
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "�ม��ำห��วั�"
-#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:690
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "à¹?ลืà¸à¸?วัà¸? ..."
@@ -214,202 +263,311 @@ msgstr "�ั���วลา"
msgid "Task Completed"
msgstr "ภาร�ิ��ี��สร���ล�ว"
-#: ../src/TaskTreeView.cs:422
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/yy - ddd"
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:594
msgid "Action Canceled"
msgstr "ย��ลิ��าร�ระ�ำ�ล�ว"
-#: ../src/TaskTreeView.cs:845
+#: ../src/TaskTreeView.cs:859
#, csharp-format
msgid "Completing Task In: {0}"
msgstr "ภารà¸?ิà¸?à¸?ะà¹?สรà¹?à¸?à¹?à¸?à¸à¸µà¸?: {0}"
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:833 ../src/TaskWindow.cs:889
-#: ../src/TaskWindow.cs:899 ../src/TaskWindow.cs:910
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "ภาร�ิ��หม�..."
-#: ../src/TaskWindow.cs:164
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "�_�ิ�ม"
-#: ../src/TaskWindow.cs:169
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "�_�ิ�มภาร�ิ�"
-#: ../src/TaskWindow.cs:255
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "�ลย�ำห��"
-#: ../src/TaskWindow.cs:309
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "7 วั���า�ห��า"
-#: ../src/TaskWindow.cs:325
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "à¹?à¸?à¸à¸?าà¸?à¸?"
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
#. Show error status
-#: ../src/TaskWindow.cs:797
+#: ../src/TaskWindow.cs:801
msgid "Error creating a new task"
msgstr "à¹?à¸?ิà¸?à¸?à¹?à¸à¸?ิà¸?à¸?ลาà¸?à¹?à¸?à¸?ารสรà¹?าà¸?ภารà¸?ิà¸?à¹?หมà¹?"
#. Show successful status
-#: ../src/TaskWindow.cs:801
+#: ../src/TaskWindow.cs:805
msgid "Task created successfully"
msgstr "สร�า�ภาร�ิ��สร���ล�ว"
-#: ../src/TaskWindow.cs:1078
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "ห_มาย�ห�ุ..."
-#: ../src/TaskWindow.cs:1085
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "_ล�ภาร�ิ�"
-#: ../src/TaskWindow.cs:1090
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "�_����ภาร�ิ�"
-#: ../src/TaskWindow.cs:1118
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "หมว�หมู�"
+
+#: ../src/TaskWindow.cs:1162
msgid "Task deleted"
msgstr "ล�ภาร�ิ��ล�ว"
-#: ../src/TaskWindow.cs:1160
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "à¸?ำลัà¸?à¸à¹?าà¸?à¸?à¹?à¸à¸¡à¸¹à¸¥à¸ ารà¸?ิà¸?..."
-#: ../src/Utilities.cs:263
+#: ../src/TaskWindow.cs:1225
+#, fuzzy
+msgid "Not connected."
+msgstr ""
+"\n"
+"\n"
+"à¸?ุà¸?ยัà¸?à¹?มà¹?à¹?à¸?à¹?à¹?à¸?ืà¹?à¸à¸¡à¸?à¹?à¸"
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "วั��ี� {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "à¹?มืà¹?à¸à¸§à¸²à¸?à¸?ีà¹? {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} วัà¸?à¸?à¹?à¸à¸? {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} วัà¸?à¸?à¹?à¸à¸?"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "�รุ���ี� {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "�� {0} วั� {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "�� {0} วั�"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "d MMMM H:mm"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy H:mm"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "วัà¸?à¸à¸²à¸?ิà¸?ยà¹?"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "วั��ั��ร�"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "วัà¸?à¸à¸±à¸?à¸?าร"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "วั��ุ�"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "วั��ฤหัส��ี"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "วั�ศุ�ร�"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "วั��สาร�"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+วั��ี�\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+�รุ���ี�\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "à¸?ลิà¸?à¹?à¸?ืà¹?à¸à¹?à¸?ืà¹?à¸à¸¡à¸?à¹?à¸"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+#, fuzzy
+msgid "You are currently connected"
+msgstr ""
+"\n"
+"\n"
+"à¸?ุà¸?à¸?ำลัà¸?à¹?à¸?ืà¹?à¸à¸¡à¸?à¹?à¸à¸à¸¢à¸¹à¹?"
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
-msgid ""
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+#, fuzzy
+msgid "You are currently connected as"
+msgstr ""
"\n"
"\n"
-"You are not connected"
+"à¸?ุà¸?à¸?ำลัà¸?à¹?à¸?ืà¹?à¸à¸¡à¸?à¹?à¸à¸à¸¢à¸¹à¹?"
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+#, fuzzy
+msgid "You are not connected"
msgstr ""
"\n"
"\n"
"à¸?ุà¸?ยัà¸?à¹?มà¹?à¹?à¸?à¹?à¹?à¸?ืà¹?à¸à¸¡à¸?à¹?à¸"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:108
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
msgid "Remember the Milk not responding. Try again later."
msgstr "Remember the Milk à¹?มà¹?à¸?à¸à¸?สà¸?à¸à¸? à¸?รุà¸?าลà¸à¸?à¹?หมà¹?ภายหลัà¸?"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:115
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
msgid "Click Here After Authorizing"
msgstr "à¸?ลิà¸?หลัà¸?à¸?รวà¸?สà¸à¸?สิà¸?à¸?ิà¹?à¸?à¹?าà¸?à¹?ลà¹?ว"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:118
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
msgid "Set the default browser and try again"
msgstr "à¸?ำหà¸?à¸?à¹?à¸?ราวà¹?à¹?à¸?à¸à¸£à¹?à¸?ริยายà¹?ลà¹?วลà¸à¸?à¹?หมà¹?"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "à¸?à¸à¸?à¸?ุà¸?"
-#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:137
-msgid ""
-"\n"
-"\n"
-"You are currently connected"
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
msgstr ""
-"\n"
-"\n"
-"à¸?ุà¸?à¸?ำลัà¸?à¹?à¸?ืà¹?à¸à¸¡à¸?à¹?à¸à¸à¸¢à¸¹à¹?"
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "วั��ี�"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "�รุ���ี�"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "ภาร�ิ��หม�..."
+
+#~ msgid "Sunday"
+#~ msgstr "วัà¸?à¸à¸²à¸?ิà¸?ยà¹?"
+
+#~ msgid "Monday"
+#~ msgstr "วั��ั��ร�"
+
+#~ msgid "Tuesday"
+#~ msgstr "วัà¸?à¸à¸±à¸?à¸?าร"
+
+#~ msgid "Wednesday"
+#~ msgstr "วั��ุ�"
+
+#~ msgid "Thursday"
+#~ msgstr "วั��ฤหัส��ี"
+
+#~ msgid "Friday"
+#~ msgstr "วั�ศุ�ร�"
+
+#~ msgid "Saturday"
+#~ msgstr "วั��สาร�"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+วั��ี�\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+�รุ���ี�\\W*$"
diff --git a/po/tr.po b/po/tr.po
index 87e076a..cd6e803 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Tasque\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-06 10:40+0200\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2008-08-31 00:48+0200\n"
"Last-Translator: Hasan Yılmaz <iletisim hasanyilmaz net>\n"
"Language-Team: \n"
@@ -29,49 +29,83 @@ msgstr "Görev Yöneticisi"
msgid "Tasque"
msgstr "Tasque"
-#: ../src/Application.cs:403
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
+#. string [] documenters = new string [] {
+#. "Calvin Gaisford <calvinrg gmail com>"
+#. };
+#.
+#: ../src/Application.cs:584
+msgid "translator-credits"
+msgstr ""
+
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Telif Hakkı © 2008 Novell, Inc."
-#: ../src/Application.cs:404
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "KullanıÅ?lı Bir Görev Listesi"
-#: ../src/Application.cs:406
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Tasque Proje Anasayfası"
-#: ../src/Application.cs:458
-msgid "Show Tasks ..."
-msgstr "Görevleri Göster..."
-
-#: ../src/Application.cs:466
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "Yeni Görev..."
-#: ../src/Application.cs:487
-msgid "Refresh Tasks"
+#: ../src/Application.cs:717
+msgid "Show Tasks ..."
+msgstr "Görevleri Göster..."
+
+#: ../src/Application.cs:732
+#, fuzzy
+msgid "Refresh Tasks ..."
msgstr "Görevleri Yenile"
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "Tümü"
-#: ../src/CompletedTaskGroup.cs:205
-#: ../src/Utilities.cs:283
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "Dün"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "Son 7 Gün"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "Son Ay"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "Son Yıl"
@@ -80,277 +114,449 @@ msgstr "Son Yıl"
msgid "Notes for: {0:s}"
msgstr "Notlar: {0:s}"
-#: ../src/PreferencesDialog.cs:107
+#: ../src/OSXApplication.cs:38
+msgid "_File"
+msgstr ""
+
+#: ../src/OSXApplication.cs:44
+msgid "_Window"
+msgstr ""
+
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "Genel"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "Bugün"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "GecikmiÅ?"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "Görev Yönetim Sistemi"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "Görev Süzgeci"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "TamamlanmıÅ? görevleri gö_ster"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "Bu kategorileri sadece \"Tümü\" seçiliyken _göster:"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "Kategori"
-#: ../src/RemoteControl.cs:109
+#: ../src/RemoteControl.cs:150
msgid "New task created."
msgstr "Yeni görev yaratıldı."
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:82
-#: ../src/TaskWindow.cs:346
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "Tamamlandı"
#. Title for Priority Column
-#: ../src/TaskTreeView.cs:99
+#: ../src/TaskTreeView.cs:101
msgid "Priority"
msgstr "Ã?ncelik"
-#: ../src/TaskTreeView.cs:112
-#: ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:584
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:113
-#: ../src/TaskTreeView.cs:357
-#: ../src/TaskTreeView.cs:582
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:354
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
#. Title for Task Name Column
-#: ../src/TaskTreeView.cs:129
+#: ../src/TaskTreeView.cs:131
msgid "Task Name"
msgstr "Görev Adı"
#. Title for Due Date Column
-#: ../src/TaskTreeView.cs:171
+#: ../src/TaskTreeView.cs:173
msgid "Due Date"
msgstr "Son Tarih"
-#: ../src/TaskTreeView.cs:185
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:666
-#: ../src/TaskTreeView.cs:669
-#: ../src/TaskTreeView.cs:674
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:185
-#: ../src/TaskTreeView.cs:666
-#: ../src/TaskWindow.cs:279
-#: ../src/Utilities.cs:277
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "Bugün"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:669
-#: ../src/TaskWindow.cs:297
-#: ../src/Utilities.cs:296
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "Yarın"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:414
-#: ../src/TaskTreeView.cs:683
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:674
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "Gelecek 1 Hafta"
-#: ../src/TaskTreeView.cs:200
-#: ../src/TaskTreeView.cs:671
-#: ../src/Utilities.cs:309
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "Tarih Yok"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:676
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "Tarih Seç..."
#. Title for Notes Column
-#: ../src/TaskTreeView.cs:217
+#: ../src/TaskTreeView.cs:219
msgid "Notes"
msgstr "Notlar"
#. Title for Timer Column
-#: ../src/TaskTreeView.cs:234
+#: ../src/TaskTreeView.cs:236
msgid "Timer"
msgstr "Süre �lçer"
-#: ../src/TaskTreeView.cs:416
+#: ../src/TaskTreeView.cs:281
+#, fuzzy
+msgid "Task Completed"
+msgstr "Tamamlandı"
+
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/yy - ddd"
+#: ../src/TaskTreeView.cs:594
+msgid "Action Canceled"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:859
+#, csharp-format
+msgid "Completing Task In: {0}"
+msgstr ""
+
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:152
-#: ../src/TaskWindow.cs:835
-#: ../src/TaskWindow.cs:845
-#: ../src/TaskWindow.cs:856
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "Yeni Görev..."
-#: ../src/TaskWindow.cs:167
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "_Ekle"
-#: ../src/TaskWindow.cs:172
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "Görev _Ekle"
-#: ../src/TaskWindow.cs:261
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "GecikmiÅ?"
-#: ../src/TaskWindow.cs:315
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "Sonraki 7 Gün"
-#: ../src/TaskWindow.cs:331
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "Gelecek"
-#: ../src/TaskWindow.cs:1024
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
+#. Show error status
+#: ../src/TaskWindow.cs:801
+msgid "Error creating a new task"
+msgstr ""
+
+#. Show successful status
+#: ../src/TaskWindow.cs:805
+msgid "Task created successfully"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "_Notlar..."
-#: ../src/TaskWindow.cs:1031
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "Görevi _sil"
-#: ../src/TaskWindow.cs:1036
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "Görevi _düzenle"
-#: ../src/TaskWindow.cs:1103
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "Kategori"
+
+#: ../src/TaskWindow.cs:1162
+#, fuzzy
+msgid "Task deleted"
+msgstr "Görev Süzgeci"
+
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "Görevler yükleniyor..."
-#: ../src/Utilities.cs:275
+#: ../src/TaskWindow.cs:1225
+msgid "Not connected."
+msgstr ""
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "Bugün, {0}"
-#: ../src/Utilities.cs:281
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "Dün, {0}"
-#: ../src/Utilities.cs:287
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} gün önce, {1}"
-#: ../src/Utilities.cs:289
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} gün önce"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "Yarın, {0}"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "{0} günde, {1}"
-#: ../src/Utilities.cs:302
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "{0} günde"
-#: ../src/Utilities.cs:306
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:307
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:312
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:313
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:322
-msgid "Sunday"
-msgstr "Pazar"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
+msgid "Click Here to Connect"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+msgid "You are currently connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+msgid "You are currently connected as"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+msgid "You are not connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
+msgid "Remember the Milk not responding. Try again later."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
+msgid "Click Here After Authorizing"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
+msgid "Set the default browser and try again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
+msgid "Thank You"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "Bugün"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "Yarın"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "Yeni Görev..."
-#: ../src/Utilities.cs:324
-msgid "Monday"
-msgstr "Pazartesi"
+#~ msgid "Sunday"
+#~ msgstr "Pazar"
-#: ../src/Utilities.cs:326
-msgid "Tuesday"
-msgstr "Salı"
+#~ msgid "Monday"
+#~ msgstr "Pazartesi"
-#: ../src/Utilities.cs:328
-msgid "Wednesday"
-msgstr "Ã?arÅ?amba"
+#~ msgid "Tuesday"
+#~ msgstr "Salı"
-#: ../src/Utilities.cs:330
-msgid "Thursday"
-msgstr "PerÅ?embe"
+#~ msgid "Wednesday"
+#~ msgstr "Ã?arÅ?amba"
-#: ../src/Utilities.cs:332
-msgid "Friday"
-msgstr "Cuma"
+#~ msgid "Thursday"
+#~ msgstr "PerÅ?embe"
-#: ../src/Utilities.cs:334
-msgid "Saturday"
-msgstr "Cumartesi"
+#~ msgid "Friday"
+#~ msgstr "Cuma"
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:380
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+bugün\\W*$"
+#~ msgid "Saturday"
+#~ msgstr "Cumartesi"
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:382
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+yarın\\W*$"
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+bugün\\W*$"
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+yarın\\W*$"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index d79cc62..5651d0b 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-05 14:44+0800\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2009-10-04 20:21+0800\n"
"Last-Translator: Ray Wang <raywang gnome org>\n"
"Language-Team: Chinese (Simplified) <i18n-zh googlegroups com>\n"
@@ -88,7 +88,7 @@ msgstr "��任�..."
msgid "All"
msgstr "��"
-#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:271
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "�天"
@@ -216,12 +216,12 @@ msgid "M/d - "
msgstr "Mæ??dæ?¥ - "
#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
-#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:265
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "�天"
#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
-#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:284
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "æ??天"
@@ -237,7 +237,7 @@ msgid "In 1 Week"
msgstr "ä¸?å?¨å??"
#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
-#: ../src/Utilities.cs:297
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "æ? æ?¥æ??"
@@ -344,96 +344,57 @@ msgstr "æ£å?¨è£?å?¥ä»»å?¡..."
msgid "Not connected."
msgstr "å°?æ?ªè¿?æ?¥ã??"
-#: ../src/Utilities.cs:263
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "�天 {0}"
-#: ../src/Utilities.cs:269
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "�天 {0}"
-#: ../src/Utilities.cs:275
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "{0} 天以å?? {1}"
-#: ../src/Utilities.cs:277
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "{0} 天å??"
-#: ../src/Utilities.cs:282
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "æ??天 {0}"
-#: ../src/Utilities.cs:288
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "{0} 天å?? {1}"
-#: ../src/Utilities.cs:290
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "å?¨ {0} 天å??"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:295
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "MMMM d"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "MMMM d yyyy, h:mm tt"
-#: ../src/Utilities.cs:301
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "MMMM d yyyy"
-#: ../src/Utilities.cs:310
-msgid "Sunday"
-msgstr "æ??æ??æ?¥"
-
-#: ../src/Utilities.cs:312
-msgid "Monday"
-msgstr "æ??æ??ä¸?"
-
-#: ../src/Utilities.cs:314
-msgid "Tuesday"
-msgstr "æ??æ??äº?"
-
-#: ../src/Utilities.cs:316
-msgid "Wednesday"
-msgstr "æ??æ??ä¸?"
-
-#: ../src/Utilities.cs:318
-msgid "Thursday"
-msgstr "æ??æ??å??"
-
-#: ../src/Utilities.cs:320
-msgid "Friday"
-msgstr "æ??æ??äº?"
-
-#: ../src/Utilities.cs:322
-msgid "Saturday"
-msgstr "æ??æ??å?"
-
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:368
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+today\\W*$"
-
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:370
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
-
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
msgid "Click Here to Connect"
msgstr "ç?¹å?»æ¤å¤?è¿?æ?¥"
@@ -475,3 +436,117 @@ msgstr "失败ï¼?å??è¯?ä¸?次"
#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
msgid "Thank You"
msgstr "谢谢"
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "�天"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "æ??天"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "�建任�..."
+
+#~ msgid "Sunday"
+#~ msgstr "æ??æ??æ?¥"
+
+#~ msgid "Monday"
+#~ msgstr "æ??æ??ä¸?"
+
+#~ msgid "Tuesday"
+#~ msgstr "æ??æ??äº?"
+
+#~ msgid "Wednesday"
+#~ msgstr "æ??æ??ä¸?"
+
+#~ msgid "Thursday"
+#~ msgstr "æ??æ??å??"
+
+#~ msgid "Friday"
+#~ msgstr "æ??æ??äº?"
+
+#~ msgid "Saturday"
+#~ msgstr "æ??æ??å?"
+
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+today\\W*$"
+
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 9e5a20d..4290fea 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tasque HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-06 10:40+0200\n"
+"POT-Creation-Date: 2010-03-30 22:36-0400\n"
"PO-Revision-Date: 2008-10-11 20:45+0800\n"
"Last-Translator: Yuren Ju <yurenju gmail com>\n"
"Language-Team: GNOME French Team <gnomefr traduc org>\n"
@@ -28,49 +28,83 @@ msgstr "å·¥ä½?管ç??"
msgid "Tasque"
msgstr "Tasque"
-#: ../src/Application.cs:403
+#: ../src/Application.cs:518
+#, csharp-format
+msgid "{0} task is Overdue\n"
+msgid_plural "{0} tasks are Overdue\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:526
+#, csharp-format
+msgid "{0} task for Today\n"
+msgid_plural "{0} tasks for Today\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/Application.cs:534
+#, csharp-format
+msgid "{0} task for Tomorrow\n"
+msgid_plural "{0} tasks for Tomorrow\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: This is the status icon's tooltip. When no tasks are overdue, due today, or due tomorrow, it displays this fun message
+#: ../src/Application.cs:540
+#, fuzzy
+msgid "Tasque Rocks"
+msgstr "Tasque"
+
+#. string [] documenters = new string [] {
+#. "Calvin Gaisford <calvinrg gmail com>"
+#. };
+#.
+#: ../src/Application.cs:584
+msgid "translator-credits"
+msgstr ""
+
+#: ../src/Application.cs:593
msgid "Copyright © 2008 Novell, Inc."
msgstr "Copyright © 2008 Novell, Inc."
-#: ../src/Application.cs:404
+#: ../src/Application.cs:594
msgid "A Useful Task List"
msgstr "ä¸?å??好ç?¨ç??å·¥ä½?æ¸?å?®"
-#: ../src/Application.cs:406
+#: ../src/Application.cs:596
msgid "Tasque Project Homepage"
msgstr "Tasque å°?æ¡?é¦?é ?"
-#: ../src/Application.cs:458
-msgid "Show Tasks ..."
-msgstr "檢�工��"
-
-#: ../src/Application.cs:466
+#: ../src/Application.cs:710
msgid "New Task ..."
msgstr "��工��"
-#: ../src/Application.cs:487
-msgid "Refresh Tasks"
+#: ../src/Application.cs:717
+msgid "Show Tasks ..."
+msgstr "檢�工��"
+
+#: ../src/Application.cs:732
+#, fuzzy
+msgid "Refresh Tasks ..."
msgstr "��工�"
-#: ../src/AllCategory.cs:28
-#: ../src/CompletedTaskGroup.cs:214
+#: ../src/AllCategory.cs:28 ../src/CompletedTaskGroup.cs:174
msgid "All"
msgstr "��"
-#: ../src/CompletedTaskGroup.cs:205
-#: ../src/Utilities.cs:283
+#: ../src/CompletedTaskGroup.cs:165 ../src/Utilities.cs:282
msgid "Yesterday"
msgstr "�天"
-#: ../src/CompletedTaskGroup.cs:207
+#: ../src/CompletedTaskGroup.cs:167
msgid "Last 7 Days"
msgstr "æ??è¿?ä¸?天"
-#: ../src/CompletedTaskGroup.cs:209
+#: ../src/CompletedTaskGroup.cs:169
msgid "Last Month"
msgstr "æ??è¿?ä¸?å??æ??"
-#: ../src/CompletedTaskGroup.cs:211
+#: ../src/CompletedTaskGroup.cs:171
msgid "Last Year"
msgstr "æ??è¿?ä¸?å¹´"
@@ -79,277 +113,449 @@ msgstr "æ??è¿?ä¸?å¹´"
msgid "Notes for: {0:s}"
msgstr "{0:s} ç??å??註"
-#: ../src/PreferencesDialog.cs:107
+#: ../src/OSXApplication.cs:38
+msgid "_File"
+msgstr ""
+
+#: ../src/OSXApplication.cs:44
+msgid "_Window"
+msgstr ""
+
+#. Update the window title
+#: ../src/PreferencesDialog.cs:97
+msgid "Tasque Preferences"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:116
msgid "General"
msgstr "��"
-#: ../src/PreferencesDialog.cs:146
+#: ../src/PreferencesDialog.cs:124
+msgid "Appearance"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:160
+msgid "Color Management"
+msgstr ""
+
+#: ../src/PreferencesDialog.cs:171
+#, fuzzy
+msgid "Today:"
+msgstr "�天"
+
+#: ../src/PreferencesDialog.cs:199
+#, fuzzy
+msgid "Overdue:"
+msgstr "é??æ??"
+
+#: ../src/PreferencesDialog.cs:243
msgid "Task Management System"
msgstr "å·¥ä½?管ç??系統"
-#: ../src/PreferencesDialog.cs:188
+#: ../src/PreferencesDialog.cs:285
msgid "Task Filtering"
msgstr "å·¥ä½?é??濾å?¨"
-#: ../src/PreferencesDialog.cs:207
+#: ../src/PreferencesDialog.cs:304
msgid "Sh_ow completed tasks"
msgstr "顯示已å®?æ??ç??å·¥ä½? (_o)"
#. Categories TreeView
-#: ../src/PreferencesDialog.cs:216
+#: ../src/PreferencesDialog.cs:313
msgid "Only _show these categories when \"All\" is selected:"
msgstr "ç?¶é?¸æ??ã??å?¨é?¨ã??æ??ï¼?å??顯示以ä¸?å??é¡?ï¼? (_s)"
-#: ../src/PreferencesDialog.cs:234
+#: ../src/PreferencesDialog.cs:331
msgid "Category"
msgstr "å??é¡?"
-#: ../src/RemoteControl.cs:109
+#: ../src/RemoteControl.cs:150
msgid "New task created."
msgstr "已建��工�"
#. Title for Completed/Checkbox Column
-#: ../src/TaskTreeView.cs:82
-#: ../src/TaskWindow.cs:346
+#: ../src/TaskTreeView.cs:84 ../src/TaskWindow.cs:342
msgid "Completed"
msgstr "å·²å®?æ??"
#. Title for Priority Column
-#: ../src/TaskTreeView.cs:99
+#: ../src/TaskTreeView.cs:101
msgid "Priority"
msgstr "å?ªå??度"
-#: ../src/TaskTreeView.cs:112
-#: ../src/TaskTreeView.cs:360
-#: ../src/TaskTreeView.cs:584
+#: ../src/TaskTreeView.cs:114 ../src/TaskTreeView.cs:366
+#: ../src/TaskTreeView.cs:612
msgid "1"
msgstr "1"
#. High
-#: ../src/TaskTreeView.cs:113
-#: ../src/TaskTreeView.cs:357
-#: ../src/TaskTreeView.cs:582
+#: ../src/TaskTreeView.cs:115 ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:610
msgid "2"
msgstr "2"
#. Medium
-#: ../src/TaskTreeView.cs:114
-#: ../src/TaskTreeView.cs:354
-#: ../src/TaskTreeView.cs:580
+#: ../src/TaskTreeView.cs:116 ../src/TaskTreeView.cs:360
+#: ../src/TaskTreeView.cs:608
msgid "3"
msgstr "3"
#. Low
-#: ../src/TaskTreeView.cs:115
-#: ../src/TaskTreeView.cs:363
+#: ../src/TaskTreeView.cs:117 ../src/TaskTreeView.cs:369
msgid "-"
msgstr "-"
#. Title for Task Name Column
-#: ../src/TaskTreeView.cs:129
+#: ../src/TaskTreeView.cs:131
msgid "Task Name"
msgstr "å·¥ä½?å??稱"
#. Title for Due Date Column
-#: ../src/TaskTreeView.cs:171
+#: ../src/TaskTreeView.cs:173
msgid "Due Date"
msgstr "å?°æ??æ?¥"
-#: ../src/TaskTreeView.cs:185
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:666
-#: ../src/TaskTreeView.cs:669
-#: ../src/TaskTreeView.cs:674
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:189
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:694
+#: ../src/TaskTreeView.cs:697 ../src/TaskTreeView.cs:702
msgid "M/d - "
msgstr "d/M - "
-#: ../src/TaskTreeView.cs:185
-#: ../src/TaskTreeView.cs:666
-#: ../src/TaskWindow.cs:279
-#: ../src/Utilities.cs:277
+#: ../src/TaskTreeView.cs:187 ../src/TaskTreeView.cs:694
+#: ../src/TaskWindow.cs:275 ../src/Utilities.cs:276
msgid "Today"
msgstr "�天"
-#: ../src/TaskTreeView.cs:187
-#: ../src/TaskTreeView.cs:669
-#: ../src/TaskWindow.cs:297
-#: ../src/Utilities.cs:296
+#: ../src/TaskTreeView.cs:189 ../src/TaskTreeView.cs:697
+#: ../src/TaskWindow.cs:293 ../src/Utilities.cs:295
msgid "Tomorrow"
msgstr "æ??天"
-#: ../src/TaskTreeView.cs:189
-#: ../src/TaskTreeView.cs:191
-#: ../src/TaskTreeView.cs:193
-#: ../src/TaskTreeView.cs:195
-#: ../src/TaskTreeView.cs:197
-#: ../src/TaskTreeView.cs:414
-#: ../src/TaskTreeView.cs:683
+#: ../src/TaskTreeView.cs:191 ../src/TaskTreeView.cs:193
+#: ../src/TaskTreeView.cs:195 ../src/TaskTreeView.cs:197
+#: ../src/TaskTreeView.cs:199 ../src/TaskTreeView.cs:434
+#: ../src/TaskTreeView.cs:711
msgid "M/d - ddd"
msgstr "d/M - ddd"
-#: ../src/TaskTreeView.cs:199
-#: ../src/TaskTreeView.cs:674
+#: ../src/TaskTreeView.cs:201 ../src/TaskTreeView.cs:702
msgid "In 1 Week"
msgstr "ä¸?å??禮æ??å?§"
-#: ../src/TaskTreeView.cs:200
-#: ../src/TaskTreeView.cs:671
-#: ../src/Utilities.cs:309
+#: ../src/TaskTreeView.cs:202 ../src/TaskTreeView.cs:699
+#: ../src/Utilities.cs:308
msgid "No Date"
msgstr "æ²?æ??æ?¥æ??"
-#: ../src/TaskTreeView.cs:201
-#: ../src/TaskTreeView.cs:676
+#: ../src/TaskTreeView.cs:203 ../src/TaskTreeView.cs:704
msgid "Choose Date..."
msgstr "é?¸æ??æ?¥æ??â?¦"
#. Title for Notes Column
-#: ../src/TaskTreeView.cs:217
+#: ../src/TaskTreeView.cs:219
msgid "Notes"
msgstr "å??註"
#. Title for Timer Column
-#: ../src/TaskTreeView.cs:234
+#: ../src/TaskTreeView.cs:236
msgid "Timer"
msgstr "è¨?æ??å?¨"
-#: ../src/TaskTreeView.cs:416
+#: ../src/TaskTreeView.cs:281
+#, fuzzy
+msgid "Task Completed"
+msgstr "å·²å®?æ??"
+
+#: ../src/TaskTreeView.cs:436
msgid "M/d/yy - ddd"
msgstr "d/M/yy - ddd"
+#: ../src/TaskTreeView.cs:594
+msgid "Action Canceled"
+msgstr ""
+
+#: ../src/TaskTreeView.cs:859
+#, csharp-format
+msgid "Completing Task In: {0}"
+msgstr ""
+
#. The new task entry widget
#. Clear the entry if it contains the default text
-#: ../src/TaskWindow.cs:152
-#: ../src/TaskWindow.cs:835
-#: ../src/TaskWindow.cs:845
-#: ../src/TaskWindow.cs:856
+#: ../src/TaskWindow.cs:149 ../src/TaskWindow.cs:837 ../src/TaskWindow.cs:893
+#: ../src/TaskWindow.cs:903 ../src/TaskWindow.cs:914
msgid "New task..."
msgstr "��工��"
-#: ../src/TaskWindow.cs:167
+#: ../src/TaskWindow.cs:165
msgid "_Add"
msgstr "å¢?å? (_A)"
-#: ../src/TaskWindow.cs:172
+#: ../src/TaskWindow.cs:170
msgid "_Add Task"
msgstr "��工� (_A)"
-#: ../src/TaskWindow.cs:261
+#: ../src/TaskWindow.cs:257
msgid "Overdue"
msgstr "é??æ??"
-#: ../src/TaskWindow.cs:315
+#: ../src/TaskWindow.cs:311
msgid "Next 7 Days"
msgstr "����天"
-#: ../src/TaskWindow.cs:331
+#: ../src/TaskWindow.cs:327
msgid "Future"
msgstr "��"
-#: ../src/TaskWindow.cs:1024
+#. Translators: This status shows the date and time when the task list was last refreshed
+#: ../src/TaskWindow.cs:474 ../src/TaskWindow.cs:1213
+#, csharp-format
+msgid "Tasks loaded: {0}"
+msgstr ""
+
+#. Show error status
+#: ../src/TaskWindow.cs:801
+msgid "Error creating a new task"
+msgstr ""
+
+#. Show successful status
+#: ../src/TaskWindow.cs:805
+msgid "Task created successfully"
+msgstr ""
+
+#: ../src/TaskWindow.cs:1089
msgid "_Notes..."
msgstr "註解� (_N)"
-#: ../src/TaskWindow.cs:1031
+#: ../src/TaskWindow.cs:1096
msgid "_Delete task"
msgstr "��工� (_D)"
-#: ../src/TaskWindow.cs:1036
+#: ../src/TaskWindow.cs:1101
msgid "_Edit task"
msgstr "編輯工� (_E)"
-#: ../src/TaskWindow.cs:1103
+#. TODO Needs translation.
+#: ../src/TaskWindow.cs:1133
+#, fuzzy
+msgid "_Change category"
+msgstr "å??é¡?"
+
+#: ../src/TaskWindow.cs:1162
+#, fuzzy
+msgid "Task deleted"
+msgstr "å·¥ä½?é??濾å?¨"
+
+#: ../src/TaskWindow.cs:1204
msgid "Loading tasks..."
msgstr "è®?å??å·¥ä½?ä¸â?¦"
-#: ../src/Utilities.cs:275
+#: ../src/TaskWindow.cs:1225
+msgid "Not connected."
+msgstr ""
+
+#: ../src/Utilities.cs:274
#, csharp-format
msgid "Today, {0}"
msgstr "�天�{0}"
-#: ../src/Utilities.cs:281
+#: ../src/Utilities.cs:280
#, csharp-format
msgid "Yesterday, {0}"
msgstr "�天�{0}"
-#: ../src/Utilities.cs:287
+#: ../src/Utilities.cs:286
#, csharp-format
msgid "{0} days ago, {1}"
msgstr "ç¶?é?? {0} 天ï¼?{1}"
-#: ../src/Utilities.cs:289
+#: ../src/Utilities.cs:288
#, csharp-format
msgid "{0} days ago"
msgstr "ç¶?é?? {0} 天"
-#: ../src/Utilities.cs:294
+#: ../src/Utilities.cs:293
#, csharp-format
msgid "Tomorrow, {0}"
msgstr "æ??天ï¼?{0}"
-#: ../src/Utilities.cs:300
+#: ../src/Utilities.cs:299
#, csharp-format
msgid "In {0} days, {1}"
msgstr "� {0} 天���{1}"
-#: ../src/Utilities.cs:302
+#: ../src/Utilities.cs:301
#, csharp-format
msgid "In {0} days"
msgstr "å?¨ {0} ä¹?å?§"
-#: ../src/Utilities.cs:306
+#: ../src/Utilities.cs:305
msgid "MMMM d, h:mm tt"
msgstr "MMMM d, h:mm tt"
-#: ../src/Utilities.cs:307
+#: ../src/Utilities.cs:306
msgid "MMMM d"
msgstr "d MMMM"
-#: ../src/Utilities.cs:312
+#: ../src/Utilities.cs:311
msgid "MMMM d yyyy, h:mm tt"
msgstr "d MMMM yyyy, h:mm tt"
-#: ../src/Utilities.cs:313
+#: ../src/Utilities.cs:312
msgid "MMMM d yyyy"
msgstr "d MMMM yyyy"
-#: ../src/Utilities.cs:322
-msgid "Sunday"
-msgstr "æ??æ??æ?¥"
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:65
+msgid "Click Here to Connect"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:71
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:142
+msgid "You are currently connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:75
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:147
+msgid "You are currently connected as"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:79
+msgid "You are not connected"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:112
+msgid "Remember the Milk not responding. Try again later."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:119
+msgid "Click Here After Authorizing"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:122
+msgid "Set the default browser and try again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:125
+msgid "Processing..."
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:135
+msgid "Failed, Try Again"
+msgstr ""
+
+#: ../src/Backends/Rtm/RtmPreferencesWidget.cs:139
+msgid "Thank You"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:47
+msgid "th,st,nd,rd"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:49
+#, fuzzy
+msgid "today"
+msgstr "�天"
+
+#: ../src/libtasque/TaskParser.cs:51
+#, fuzzy
+msgid "tomorrow"
+msgstr "æ??天"
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:54
+msgid "month|months"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:57
+msgid "week|weeks"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:60
+msgid "year|years"
+msgstr ""
+
+#. L10N: Don't forget to include the plural value, if any
+#: ../src/libtasque/TaskParser.cs:63
+msgid "day|days"
+msgstr ""
+
+#: ../src/libtasque/TaskParser.cs:199
+msgid "due before|due by|due"
+msgstr ""
+
+#. L10N: Examples could be: "Next Month", "Next Monday"
+#: ../src/libtasque/TaskParser.cs:224
+msgid "next"
+msgstr ""
+
+#. L10N: Examples could be: "On April 1st", "On Wednesday"
+#: ../src/libtasque/TaskParser.cs:229
+msgid "on"
+msgstr ""
+
+#. L10N: Examples could be: "In 2 weeks", "In 3 months"
+#: ../src/libtasque/TaskParser.cs:234
+msgid "in"
+msgstr ""
+
+#. "Today and Tomorrow" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:248
+msgid "u T"
+msgstr ""
+
+#. Represents: "Next" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:250
+msgid "n w|n m|n y|n D"
+msgstr ""
+
+#. Represents "Due" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:252
+msgid "u o D|u M O|u M N|u O|u M"
+msgstr ""
+
+#. Represents "On" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:254
+msgid "o D|o O"
+msgstr ""
+
+#. Represents "In" expression. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:256
+msgid "i N d|i d|i N w|i w|i N m|i m|i N y|i y"
+msgstr ""
+
+#. Represents all other expressions not using tokens. More information in TRANSLATORS
+#: ../src/libtasque/TaskParser.cs:258
+msgid "T|D|M O|M N|O|A"
+msgstr ""
+
+#, fuzzy
+#~ msgid "New task1..."
+#~ msgstr "��工��"
-#: ../src/Utilities.cs:324
-msgid "Monday"
-msgstr "æ??æ??ä¸?"
+#~ msgid "Sunday"
+#~ msgstr "æ??æ??æ?¥"
-#: ../src/Utilities.cs:326
-msgid "Tuesday"
-msgstr "æ??æ??äº?"
+#~ msgid "Monday"
+#~ msgstr "æ??æ??ä¸?"
-#: ../src/Utilities.cs:328
-msgid "Wednesday"
-msgstr "æ??æ??ä¸?"
+#~ msgid "Tuesday"
+#~ msgstr "æ??æ??äº?"
-#: ../src/Utilities.cs:330
-msgid "Thursday"
-msgstr "æ??æ??å??"
+#~ msgid "Wednesday"
+#~ msgstr "æ??æ??ä¸?"
-#: ../src/Utilities.cs:332
-msgid "Friday"
-msgstr "æ??æ??äº?"
+#~ msgid "Thursday"
+#~ msgstr "æ??æ??å??"
-#: ../src/Utilities.cs:334
-msgid "Saturday"
-msgstr "æ??æ??å?"
+#~ msgid "Friday"
+#~ msgstr "æ??æ??äº?"
-#. Then try some more natural language parsing
-#. A regular expression to capture a task that is due today
-#: ../src/Utilities.cs:380
-msgid "^(?<task>.+)\\s+today\\W*$"
-msgstr "^(?<task>.+)\\s+today\\W*$"
+#~ msgid "Saturday"
+#~ msgstr "æ??æ??å?"
-#. A regular expression to capture a task that is due tomorrow
-#: ../src/Utilities.cs:382
-msgid "^(?<task>.+)\\s+tomorrow\\W*$"
-msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgid "^(?<task>.+)\\s+today\\W*$"
+#~ msgstr "^(?<task>.+)\\s+today\\W*$"
+#~ msgid "^(?<task>.+)\\s+tomorrow\\W*$"
+#~ msgstr "^(?<task>.+)\\s+tomorrow\\W*$"
diff --git a/src/Makefile.am b/src/Makefile.am
index 45f348a..f62d6d2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -83,12 +83,7 @@ CSFILES = \
$(srcdir)/TaskWindow.cs \
$(srcdir)/TaskTreeView.cs \
$(srcdir)/Utilities.cs \
- $(srcdir)/libtasque/IBackend.cs \
- $(srcdir)/libtasque/ICategory.cs \
- $(srcdir)/libtasque/ITask.cs \
- $(srcdir)/libtasque/INote.cs \
- $(srcdir)/libtasque/TaskPriority.cs \
- $(srcdir)/libtasque/TaskState.cs \
+ $(TASQUEDLL_CSFILES) \
\
$(DUMMY_CSFILES) \
\
@@ -102,6 +97,34 @@ CSFILES = \
\
$(HIVEMINDER_CSFILES)
+TASQUEDLL_CSFILES = \
+ $(srcdir)/libtasque/DateFormatterFactory.cs \
+ $(srcdir)/libtasque/Extensions.cs \
+ $(srcdir)/libtasque/IBackend.cs \
+ $(srcdir)/libtasque/ICategory.cs \
+ $(srcdir)/libtasque/INote.cs \
+ $(srcdir)/libtasque/ITask.cs \
+ $(srcdir)/libtasque/RegularExpressionFormatter.cs \
+ $(srcdir)/libtasque/TaskParser.cs \
+ $(srcdir)/libtasque/TaskPriority.cs \
+ $(srcdir)/libtasque/TaskState.cs \
+ $(srcdir)/libtasque/TranslatableToken.cs \
+ $(foreach file,$(TASQUEDLL_FORMATTERS_CSFILES), $(addprefix $(srcdir)/libtasque/DateFormatters/, $(file)))
+
+TASQUEDLL_FORMATTERS_CSFILES = \
+ DateSeparatedFormatter.cs \
+ DayFormatter.cs \
+ DateFormatter.cs \
+ IDateFormatter.cs \
+ MonthFormatter.cs \
+ OrdinalFormatter.cs \
+ QuantityFormatter.cs \
+ StringInsensitiveComparer.cs \
+ TodayTomorrowFormatter.cs \
+ WeekdayFormatter.cs \
+ WeekFormatter.cs \
+ YearFormatter.cs
+
RESOURCES = \
-resource:$(top_srcdir)/data/images/tasque-16.png \
-resource:$(top_srcdir)/data/images/tasque-22.png \
@@ -125,6 +148,7 @@ RESOURCES = \
ASSEMBLIES = \
-r:System \
+ -r:System.Core \
-r:Mono.Posix \
-r:System.Xml \
-r:$(top_builddir)/RtmNet/RtmNet \
@@ -185,6 +209,7 @@ EXTRA_DIST = \
$(srcdir)/Backends/Hiveminder/*.cs \
$(srcdir)/Backends/Hiveminder/service/*.cs \
$(srcdir)/libtasque/*.cs \
+ $(srcdir)/libtasque/DateFormatters/* \
$(srcdir)/libtasque/libtasque.csproj
pkgconfigdir = $(libdir)/pkgconfig
diff --git a/src/RemoteControl.cs b/src/RemoteControl.cs
index 34b9277..3681960 100644
--- a/src/RemoteControl.cs
+++ b/src/RemoteControl.cs
@@ -120,7 +120,7 @@ namespace Tasque
// out of the taskName.
DateTime taskDueDate = DateTime.MinValue;
if (parseDate && Application.Preferences.GetBool (Preferences.ParseDateEnabledKey))
- Utilities.ParseTaskText (
+ TaskParser.Instance.TryParse (
taskName,
out taskName,
out taskDueDate);
diff --git a/src/TaskTreeView.cs b/src/TaskTreeView.cs
index 202ca61..8511ff7 100644
--- a/src/TaskTreeView.cs
+++ b/src/TaskTreeView.cs
@@ -640,7 +640,7 @@ namespace Tasque
string parsedTaskText;
DateTime parsedDueDate;
- Utilities.ParseTaskText (newText, out parsedTaskText, out parsedDueDate);
+ TaskParser.Instance.TryParse (newText, out parsedTaskText, out parsedDueDate);
if (parsedDueDate != DateTime.MinValue)
task.DueDate = parsedDueDate;
diff --git a/src/TaskWindow.cs b/src/TaskWindow.cs
index e51c221..eaedaf4 100644
--- a/src/TaskWindow.cs
+++ b/src/TaskWindow.cs
@@ -952,7 +952,7 @@ namespace Tasque
DateTime taskDueDate = DateTime.MinValue;
string taskName;
if (Application.Preferences.GetBool (Preferences.ParseDateEnabledKey))
- Utilities.ParseTaskText (
+ TaskParser.Instance.TryParse (
enteredTaskText,
out taskName,
out taskDueDate);
diff --git a/src/Utilities.cs b/src/Utilities.cs
index a5e26fe..ac5135e 100644
--- a/src/Utilities.cs
+++ b/src/Utilities.cs
@@ -2,9 +2,11 @@
* Utilities.cs
*
* Copyright (C) 2007 Novell, Inc.
+ * Copyright (C) 2010 Mario Carrion
* Written by:
* Calvin Gaisford <calvinrg gmail com>
* Boyd Timothy <btimothy gmail com>
+ * Mario Carrion <mario carrion mx>
****************************************************************************/
/* THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW:
@@ -41,7 +43,8 @@ using Gtk;
namespace Tasque
{
- internal class Utilities
+ // TODO: Change this class to internal
+ public static partial class Utilities
{
public static string ReplaceString (string originalString, string searchString, string replaceString)
{
@@ -310,102 +313,6 @@ namespace Tasque
return pretty_str;
}
-
- public static string GetLocalizedDayOfWeek (System.DayOfWeek dayOfWeek)
- {
- switch (dayOfWeek) {
- case DayOfWeek.Sunday:
- return Catalog.GetString ("Sunday");
- case DayOfWeek.Monday:
- return Catalog.GetString ("Monday");
- case DayOfWeek.Tuesday:
- return Catalog.GetString ("Tuesday");
- case DayOfWeek.Wednesday:
- return Catalog.GetString ("Wednesday");
- case DayOfWeek.Thursday:
- return Catalog.GetString ("Thursday");
- case DayOfWeek.Friday:
- return Catalog.GetString ("Friday");
- case DayOfWeek.Saturday:
- return Catalog.GetString ("Saturday");
- }
-
- return string.Empty;
- }
-
- /// <summary>
- /// Parse the task name in order to derive due date information.
- /// </summary>
- /// <param name="enteredTaskText">
- /// A <see cref="System.String"/> representing the text entered
- /// into the task name field.
- /// </param>
- /// <param name="parsedTaskText">
- /// The enteredTaskText with the due date section of the string
- /// removed.
- /// </param>
- /// <param name="parsedDueDate">
- /// The due date derived from enteredTaskText, or
- /// DateTime.MinValue if no date information was found.
- /// </param>
- public static void ParseTaskText (string enteredTaskText, out string parsedTaskText, out DateTime parsedDueDate)
- {
- // First, look for ways that the right side of the entered
- // text can be directly parsed as a date
- string[] words = enteredTaskText.Split (' ');
- for (int i = 1; i < words.Length; i++) {
- string possibleDate = string.Join (" ", words, i, words.Length - i);
- DateTime result;
- if (DateTime.TryParse (possibleDate, out result)) {
- // Favor future dates, unless year was specifically mentioned
- if (!possibleDate.Contains (result.Year.ToString ()))
- while (result < DateTime.Today)
- result = result.AddYears (1);
-
- // Set task due date and return the task
- // name with the date part removed.
- parsedDueDate = result;
- parsedTaskText = string.Join (" ", words, 0, i);
- return;
- }
- }
-
- // Then try some more natural language parsing
-
- // A regular expression to capture a task that is due today
- string today = Catalog.GetString (@"^(?<task>.+)\s+today\W*$");
- // A regular expression to capture a task that is due tomorrow
- string tomorrow = Catalog.GetString (@"^(?<task>.+)\s+tomorrow\W*$");
-
- // Additional regular expressions to consider using
- //string abbrevDate = Catalog.GetString (@"^(?<task>.+)(on )?(the )?(?<day>\d{1,2})((th)|(nd)|(rd)|(st))\W*$");
- //string nextDayName = Catalog.GetString (@"^(?<task>.+)(on )?next\s+(?<day>[a-z]+)\W*$");
- //string dayName = Catalog.GetString (@"^(?<task>.+)\s+(on )?(?<day>[a-z]+)\W*$");
-
- Match match = Regex.Match (enteredTaskText, today, RegexOptions.IgnoreCase);
- if (match.Success) {
- string trimmedTaskText = match.Groups ["task"].Value;
- if (!string.IsNullOrEmpty (trimmedTaskText)) {
- parsedDueDate = DateTime.Now;
- parsedTaskText = trimmedTaskText;
- return;
- }
- }
-
- match = Regex.Match (enteredTaskText, tomorrow, RegexOptions.IgnoreCase);
- if (match.Success) {
- string trimmedTaskText = match.Groups ["task"].Value;
- if (!string.IsNullOrEmpty (trimmedTaskText)) {
- parsedDueDate = DateTime.Now.AddDays (1);
- parsedTaskText = trimmedTaskText;
- return;
- }
- }
-
- parsedTaskText = enteredTaskText;
- parsedDueDate = DateTime.MinValue;
- return;
- }
/// <summary>
/// This returns the hexadecimal value of an GDK color.
diff --git a/src/libtasque/DateFormatterFactory.cs b/src/libtasque/DateFormatterFactory.cs
new file mode 100644
index 0000000..825b180
--- /dev/null
+++ b/src/libtasque/DateFormatterFactory.cs
@@ -0,0 +1,55 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Reflection;
+using System.Collections.Generic;
+using Tasque.DateFormatters;
+
+namespace Tasque {
+
+ sealed class DateFormatterFactory {
+
+ public static readonly DateFormatterFactory Instance = new DateFormatterFactory ();
+
+ private DateFormatterFactory ()
+ {
+ dateFormatters = new Dictionary<Type, IDateFormatter>();
+ }
+
+ public IDateFormatter Get (Type type)
+ {
+ IDateFormatter formatter = null;
+ if (dateFormatters.TryGetValue (type, out formatter))
+ return formatter;
+ else {
+ // We want to crash if Type is not IDateFormatter
+ formatter = (IDateFormatter) Activator.CreateInstance (type);
+ dateFormatters [type] = formatter;
+ return formatter;
+ }
+ }
+
+ Dictionary<Type, IDateFormatter> dateFormatters;
+ }
+}
diff --git a/src/libtasque/DateFormatters/DateFormatter.cs b/src/libtasque/DateFormatters/DateFormatter.cs
new file mode 100644
index 0000000..0f86675
--- /dev/null
+++ b/src/libtasque/DateFormatters/DateFormatter.cs
@@ -0,0 +1,81 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text.RegularExpressions;
+
+using Tasque;
+
+namespace Tasque.DateFormatters {
+
+ class DateFormatter : IDateFormatter {
+
+ // Formatting: Month and OrdinalNumber
+ public DateTime GetDate (Match match)
+ {
+ // Checking ordinal and cardinal numbers
+ bool dayProvided = !(string.IsNullOrEmpty (match.Groups ["O"].Value)
+ && string.IsNullOrEmpty (match.Groups ["N"].Value));
+ bool monthProvided = !string.IsNullOrEmpty (match.Groups ["M"].Value);
+ if (!monthProvided && !dayProvided)
+ return DateTime.MinValue;
+
+ int month = 0;
+ if (!monthProvided)
+ month = DateTime.Now.Month;
+ else {
+ month = Array.IndexOf (TaskParser.MonthsArray,
+ match.Groups ["M"].Value.ToLower ());
+ if (month == -1)
+ return DateTime.MinValue;
+ // Months start in 1.
+ month = (month / 2) + 1;
+ }
+
+ int day = -1;
+ if (dayProvided) {
+ if (!string.IsNullOrEmpty (match.Groups ["N"].Value))
+ int.TryParse (match.Groups ["N"].Value, out day);
+ else if (!match.Groups ["O"].Value.ToOrdinalNumber (out day))
+ return DateTime.MinValue;
+ }
+ int year = DateTime.Today.Year;
+ if (DateTime.Today.Month > month)
+ year++;
+
+ // If no day is provided, default is last one of the month
+ if (day == -1)
+ day = DateTime.DaysInMonth (year, month);
+
+ try {
+ return new DateTime (year, month, day);
+ } catch (Exception ex) {
+ if (ex is ArgumentOutOfRangeException
+ || ex is ArgumentException) {
+ return DateTime.MinValue;
+ } else
+ throw;
+ }
+ }
+ }
+}
diff --git a/src/libtasque/DateFormatters/DateSeparatedFormatter.cs b/src/libtasque/DateFormatters/DateSeparatedFormatter.cs
new file mode 100644
index 0000000..e7738cc
--- /dev/null
+++ b/src/libtasque/DateFormatters/DateSeparatedFormatter.cs
@@ -0,0 +1,42 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text.RegularExpressions;
+
+namespace Tasque.DateFormatters {
+
+ class DateSeparatedFormatter : IDateFormatter {
+
+ public DateTime GetDate (Match match)
+ {
+ DateTime dateTime = DateTime.MinValue;
+ try {
+ dateTime = Convert.ToDateTime (match.Groups ["A"].Value);
+ } catch (FormatException) {
+ dateTime = DateTime.MinValue;
+ }
+ return dateTime;
+ }
+ }
+}
diff --git a/src/libtasque/DateFormatters/DayFormatter.cs b/src/libtasque/DateFormatters/DayFormatter.cs
new file mode 100644
index 0000000..5711ed0
--- /dev/null
+++ b/src/libtasque/DateFormatters/DayFormatter.cs
@@ -0,0 +1,45 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+
+namespace Tasque.DateFormatters {
+
+ class DayFormatter : QuantityFormatter {
+
+ public DayFormatter ()
+ : base ("d")
+ {
+ }
+
+ public override DateTime GetDate (int quantity)
+ {
+ return DateTime.Now.AddDays (quantity);
+ }
+
+ protected override string RegularExpression {
+ get { return TaskParser.Day; }
+ }
+
+ }
+}
diff --git a/src/libtasque/DateFormatters/IDateFormatter.cs b/src/libtasque/DateFormatters/IDateFormatter.cs
new file mode 100644
index 0000000..4c48d78
--- /dev/null
+++ b/src/libtasque/DateFormatters/IDateFormatter.cs
@@ -0,0 +1,33 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text.RegularExpressions;
+
+namespace Tasque.DateFormatters {
+
+ interface IDateFormatter {
+ DateTime GetDate (Match match);
+ }
+
+}
diff --git a/src/libtasque/DateFormatters/MonthFormatter.cs b/src/libtasque/DateFormatters/MonthFormatter.cs
new file mode 100644
index 0000000..d3c1110
--- /dev/null
+++ b/src/libtasque/DateFormatters/MonthFormatter.cs
@@ -0,0 +1,46 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+
+namespace Tasque.DateFormatters {
+
+ class MonthFormatter : QuantityFormatter {
+
+ public MonthFormatter ()
+ : base ("m")
+ {
+ }
+
+ public override DateTime GetDate (int quantity)
+ {
+ return DateTime.Now.AddMonths (quantity);
+ }
+
+ protected override string RegularExpression {
+ get { return TaskParser.Month; }
+ }
+
+ }
+
+}
diff --git a/src/libtasque/DateFormatters/OrdinalFormatter.cs b/src/libtasque/DateFormatters/OrdinalFormatter.cs
new file mode 100644
index 0000000..450b9ce
--- /dev/null
+++ b/src/libtasque/DateFormatters/OrdinalFormatter.cs
@@ -0,0 +1,57 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text.RegularExpressions;
+
+namespace Tasque.DateFormatters {
+
+ class OrdinalFormatter : IDateFormatter {
+
+ public DateTime GetDate (Match match)
+ {
+ string ordinalDate = match.Groups ["O"].Value;
+ if (string.IsNullOrEmpty (ordinalDate))
+ return DateTime.MinValue;
+
+ // If no day is provided, default is 1st
+ int day = 0;
+ if (!ordinalDate.ToOrdinalNumber (out day))
+ return DateTime.MinValue;
+
+ try {
+ return new DateTime (DateTime.Now.Year,
+ DateTime.Now.Month,
+ day);
+ } catch (Exception ex) {
+ if (ex is ArgumentOutOfRangeException
+ || ex is ArgumentException) {
+ return DateTime.MinValue;
+ } else
+ throw;
+ }
+ }
+
+
+ }
+}
diff --git a/src/libtasque/DateFormatters/QuantityFormatter.cs b/src/libtasque/DateFormatters/QuantityFormatter.cs
new file mode 100644
index 0000000..2137550
--- /dev/null
+++ b/src/libtasque/DateFormatters/QuantityFormatter.cs
@@ -0,0 +1,99 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using System.Linq;
+
+namespace Tasque.DateFormatters {
+
+ abstract class QuantityFormatter : IDateFormatter {
+
+ #region Constructor
+
+ protected QuantityFormatter (string token)
+ {
+ this.token = token;
+ }
+
+ #endregion
+
+ #region IDateFormatter
+
+ public DateTime GetDate (Match match)
+ {
+ if (string.IsNullOrEmpty (match.Groups [token].Value)
+ || !Translations.Contains (match.Groups [token].Value,
+ new StringInsensitiveComparer ()))
+ return DateTime.MinValue;
+
+ return GetDate (GetCardinal (match));
+ }
+
+ #endregion
+
+ #region Public Members
+
+ public abstract DateTime GetDate (int quantity);
+
+ #endregion
+
+ #region Protected Members
+
+ protected List<string> Translations {
+ get {
+ if (translations == null)
+ translations = new List<string> (RegularExpression.Split ('|'));
+ return translations;
+ }
+ }
+
+ protected abstract string RegularExpression {
+ get;
+ }
+
+ protected int GetCardinal (Match match)
+ {
+ int cardinal = 1;
+ string cardinalStr = match.Groups ["N"].Value;
+ // We don't validate "valid" literal value,
+ // for example, in English:
+ // "Something in months" or "Something in 3 month"
+ if (!string.IsNullOrEmpty (cardinalStr)) {
+ if (!int.TryParse (cardinalStr, out cardinal))
+ throw new ArgumentException ("cardinal");
+ }
+ return cardinal;
+ }
+
+ #endregion
+
+ #region Private Members
+
+ List<string> translations;
+ string token;
+
+ #endregion
+ }
+}
diff --git a/src/libtasque/DateFormatters/StringInsensitiveComparer.cs b/src/libtasque/DateFormatters/StringInsensitiveComparer.cs
new file mode 100644
index 0000000..632bf3e
--- /dev/null
+++ b/src/libtasque/DateFormatters/StringInsensitiveComparer.cs
@@ -0,0 +1,40 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System.Collections.Generic;
+
+namespace Tasque.DateFormatters {
+
+ class StringInsensitiveComparer : IEqualityComparer<string> {
+
+ public bool Equals (string str1, string str2)
+ {
+ return string.Compare (str1, str2, true) == 0;
+ }
+
+ public int GetHashCode (string str1)
+ {
+ return str1.GetHashCode ();
+ }
+ }
+}
diff --git a/src/libtasque/DateFormatters/TodayTomorrowFormatter.cs b/src/libtasque/DateFormatters/TodayTomorrowFormatter.cs
new file mode 100644
index 0000000..fa61bad
--- /dev/null
+++ b/src/libtasque/DateFormatters/TodayTomorrowFormatter.cs
@@ -0,0 +1,45 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text.RegularExpressions;
+
+namespace Tasque.DateFormatters {
+
+ class TodayTomorrowFormatter : IDateFormatter {
+
+ public DateTime GetDate (Match match)
+ {
+ string t = match.Groups ["T"].Value;
+
+ if (string.Compare (t, TaskParser.Tomorrow, true) == 0)
+ return DateTime.Now.AddDays (1);
+ else if (string.Compare (t, TaskParser.Today, true) == 0)
+ return DateTime.Now;
+
+ return DateTime.MinValue;
+ }
+
+ }
+
+}
diff --git a/src/libtasque/DateFormatters/WeekFormatter.cs b/src/libtasque/DateFormatters/WeekFormatter.cs
new file mode 100644
index 0000000..961b674
--- /dev/null
+++ b/src/libtasque/DateFormatters/WeekFormatter.cs
@@ -0,0 +1,45 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+
+namespace Tasque.DateFormatters {
+
+ class WeekFormatter : QuantityFormatter {
+
+ public WeekFormatter ()
+ : base ("w")
+ {
+ }
+
+ public override DateTime GetDate (int quantity)
+ {
+ return DateTime.Now.AddDays (7 * quantity);
+ }
+
+ protected override string RegularExpression {
+ get { return TaskParser.Week; }
+ }
+
+ }
+}
diff --git a/src/libtasque/DateFormatters/WeekdayFormatter.cs b/src/libtasque/DateFormatters/WeekdayFormatter.cs
new file mode 100644
index 0000000..4c78c68
--- /dev/null
+++ b/src/libtasque/DateFormatters/WeekdayFormatter.cs
@@ -0,0 +1,49 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Text.RegularExpressions;
+
+namespace Tasque.DateFormatters {
+
+ class WeekdayFormatter : IDateFormatter {
+
+ public DateTime GetDate (Match match)
+ {
+ string weekDay = match.Groups ["D"].Value;
+ if (string.IsNullOrEmpty (weekDay))
+ return DateTime.MinValue;
+
+ DateTime todayDateTime = DateTime.Now;
+ uint today = todayDateTime.DayOfWeek.ToUint ();
+ uint future = weekDay.ToDayOfWeek ().ToUint ();
+ if (future > today)
+ return DateTime.Now.AddDays (future - today);
+ else if (today > future)
+ return DateTime.Now.AddDays (7 - (today - future));
+ else // future is in one week
+ return DateTime.Now.AddDays (7);
+ }
+
+ }
+}
diff --git a/src/libtasque/DateFormatters/YearFormatter.cs b/src/libtasque/DateFormatters/YearFormatter.cs
new file mode 100644
index 0000000..08c5e23
--- /dev/null
+++ b/src/libtasque/DateFormatters/YearFormatter.cs
@@ -0,0 +1,45 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+
+namespace Tasque.DateFormatters {
+
+ class YearFormatter : QuantityFormatter {
+
+ public YearFormatter ()
+ : base ("y")
+ {
+ }
+
+ public override DateTime GetDate (int quantity)
+ {
+ return DateTime.Now.AddYears (quantity);
+ }
+
+ protected override string RegularExpression {
+ get { return TaskParser.Year; }
+ }
+
+ }
+}
diff --git a/src/libtasque/Extensions.cs b/src/libtasque/Extensions.cs
new file mode 100644
index 0000000..204f24f
--- /dev/null
+++ b/src/libtasque/Extensions.cs
@@ -0,0 +1,127 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Linq;
+
+namespace Tasque {
+
+ internal static class Extensions {
+
+ #region DayOfWeek Extensions
+
+ internal static uint ToUint (this DayOfWeek dayOfWeek)
+ {
+ switch (dayOfWeek) {
+ case DayOfWeek.Sunday:
+ return 0;
+ case DayOfWeek.Monday:
+ return 1;
+ case DayOfWeek.Tuesday:
+ return 2;
+ case DayOfWeek.Wednesday:
+ return 3;
+ case DayOfWeek.Thursday:
+ return 4;
+ case DayOfWeek.Friday:
+ return 5;
+ case DayOfWeek.Saturday:
+ default:
+ return 6;
+ }
+ }
+
+ #endregion
+
+ #region String Extensions
+
+ internal static DayOfWeek ToDayOfWeek (this string str)
+ {
+ str = str.ToLower ();
+ int indexOf
+ = Array.IndexOf (TaskParser.WeekdaysArray, str);
+ if (indexOf == -1)
+ throw new ArgumentException (string.Format ("Wrong day {0}",
+ str));
+
+ switch (indexOf) {
+ case 0:
+ case 1:
+ return DayOfWeek.Sunday;
+ case 2:
+ case 3:
+ return DayOfWeek.Monday;
+ case 4:
+ case 5:
+ return DayOfWeek.Tuesday;
+ case 6:
+ case 7:
+ return DayOfWeek.Wednesday;
+ case 8:
+ case 9:
+ return DayOfWeek.Thursday;
+ case 10:
+ case 11:
+ return DayOfWeek.Friday;
+ case 12:
+ case 13:
+ default:
+ return DayOfWeek.Saturday;
+ }
+ }
+
+ internal static bool IsMonth (this string str)
+ {
+ return TaskParser.MonthsArray.Contains (str.ToLower ());
+ }
+
+ internal static bool IsWeekday (this string str)
+ {
+ return TaskParser.WeekdaysArray.Contains (str.ToLower ());
+ }
+
+ internal static bool ToOrdinalNumber (this string ordinalDate,
+ out int day)
+ {
+ day = -1;
+
+ int cardinal = 0;
+
+ int index = 0;
+ foreach (char c in ordinalDate) {
+ if (char.IsDigit (c))
+ index++;
+ }
+
+ string number = ordinalDate.Substring (0, index);
+ if (!int.TryParse (number, out cardinal))
+ return false;
+
+ day = cardinal;
+ return true;
+ }
+
+ #endregion
+
+ }
+}
diff --git a/src/libtasque/RegularExpressionFormatter.cs b/src/libtasque/RegularExpressionFormatter.cs
new file mode 100644
index 0000000..5b01387
--- /dev/null
+++ b/src/libtasque/RegularExpressionFormatter.cs
@@ -0,0 +1,60 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Collections.Generic;
+using Tasque.DateFormatters;
+
+namespace Tasque {
+
+ // Used to keep a relation of Regular Expression and the
+ // formatters used to get the date.
+ class RegularExpressionFormatter {
+
+ public RegularExpressionFormatter ()
+ {
+ }
+
+ public string RegularExpression {
+ get { return regularExpression; }
+ set {
+ if (value == null)
+ throw new ArgumentNullException ("RegularExpression");
+ regularExpression = value;
+ }
+ }
+
+ public IEnumerable<IDateFormatter> Formatters {
+ get { return formatters; }
+ set {
+ if (value == null)
+ throw new ArgumentNullException ("Formatters");
+ formatters = value;
+ }
+ }
+
+ IEnumerable<IDateFormatter> formatters;
+ string regularExpression;
+ }
+
+}
diff --git a/src/libtasque/TaskParser.cs b/src/libtasque/TaskParser.cs
new file mode 100644
index 0000000..aebf08a
--- /dev/null
+++ b/src/libtasque/TaskParser.cs
@@ -0,0 +1,365 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using Mono.Unix;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using Tasque.DateFormatters;
+
+namespace Tasque {
+
+ // TODO: Support for time parsing
+
+ public class TaskParser {
+
+ #region Public Members
+
+ public static TaskParser Instance {
+ get {
+ if (instance == null)
+ instance = new TaskParser ();
+ return instance;
+ }
+ }
+
+ public static string OrdinalSuffixes = Catalog.GetString ("th,st,nd,rd");
+
+ public static string Today = Catalog.GetString ("today");
+
+ public static string Tomorrow = Catalog.GetString ("tomorrow");
+
+ // L10N: Don't forget to include the plural value, if any
+ public static string Month = Catalog.GetString ("month|months");
+
+ // L10N: Don't forget to include the plural value, if any
+ public static string Week = Catalog.GetString ("week|weeks");
+
+ // L10N: Don't forget to include the plural value, if any
+ public static string Year = Catalog.GetString ("year|years");
+
+ // L10N: Don't forget to include the plural value, if any
+ public static string Day = Catalog.GetString ("day|days");
+
+ public static string[] MonthsArray {
+ get {
+ if (months == null) {
+ List<string> list = new List<string> (12);
+ foreach (int month in Enumerable.Range (1, 12)) {
+ DateTime date = new DateTime (1900, month, 1);
+ list.Add (date.ToString ("MMMM").ToLower ());
+ list.Add (date.ToString ("MMM").ToLower ());
+ }
+ months = list.ToArray ();
+ }
+ return months;
+ }
+ }
+
+ public static string[] WeekdaysArray {
+ get {
+ if (weekdays == null) {
+ List<string> list = new List<string> (7);
+ // To begin on Sunday January 7th 1900.
+ // Sunday is our index 0
+ foreach (int day in Enumerable.Range (7, 7)) {
+ DateTime date = new DateTime (1900, 1, day);
+ list.Add (date.ToString ("dddd").ToLower ());
+ list.Add (date.ToString ("ddd").ToLower ());
+ }
+ weekdays = list.ToArray ();
+ }
+ return weekdays;
+ }
+ }
+
+ public bool TryParse (string enteredTaskText,
+ out string parsedTaskText,
+ out DateTime dueDateTime)
+ {
+ if (fullExpression == null) {
+ fullExpression = string.Format ("{0}|{1}",
+ tokensExpression,
+ dateGroupExpression);
+
+ // 1. Get all translatable token
+ translatableTokens = TranslatableTokens;
+
+ // 2. Get all regular expressions, these are also translatable
+ // and are based on the translatable tokens.
+ regExFormats = RegularExpressions;
+ }
+
+ dueDateTime = DateTime.MinValue;
+ parsedTaskText = enteredTaskText;
+ foreach (RegularExpressionFormatter format in regExFormats) {
+ string regEx = string.Format (@"^(?<task>.+?)\s*?{0}(?<eol>.*)$",
+ format.RegularExpression);
+ Match match = Regex.Match (enteredTaskText,
+ regEx,
+ RegexOptions.IgnoreCase);
+ if (match.Success) {
+ string trimmedTaskText = match.Groups ["task"].Value;
+
+ if (!string.IsNullOrEmpty (trimmedTaskText)) {
+ foreach (IDateFormatter formatter in format.Formatters) {
+ dueDateTime = formatter.GetDate (match);
+ if (dueDateTime != DateTime.MinValue)
+ break;
+ }
+ if (dueDateTime == DateTime.MinValue)
+ return false;
+
+ string trimmedEofText = match.Groups ["eol"].Value;
+ parsedTaskText = string.Format ("{0}{1}", trimmedTaskText, trimmedEofText);
+
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ #endregion
+
+ #region Static Members
+
+ static TaskParser instance;
+ static string[] months;
+ static string[] weekdays;
+
+ #endregion
+
+ #region Private Members
+
+ // All the translatable tokens and their possible formatters
+ // are defined here
+ Dictionary<char, TranslatableToken> TranslatableTokens {
+ get {
+ Dictionary<char, TranslatableToken> tokens
+ = new Dictionary<char, TranslatableToken> ();
+ // Months
+ tokens.Add ('M', new TranslatableToken () {
+ Formatter = typeof (DateFormatter),
+ Expression = string.Join ("|", MonthsArray)
+ });
+ // Weekdays
+ tokens.Add ('D', new TranslatableToken () {
+ Formatter = typeof (WeekdayFormatter),
+ Expression = string.Join ("|", WeekdaysArray)
+ });
+ // Date separated Formatter
+ tokens.Add ('A', new TranslatableToken () {
+ Formatter = typeof (DateSeparatedFormatter),
+ Expression = string.Format ("{0}",
+ @"[0-9]{1,2}(/|-)[0-9]{1,2}(((/|-)[0-9]{2,4}|/s))?")
+ });
+ // Today and Tomorrow
+ tokens.Add ('T', new TranslatableToken () {
+ Formatter = typeof (TodayTomorrowFormatter),
+ Expression = string.Format ("{0}|{1}", Today, Tomorrow)
+ });
+ // Ordinal Number
+ tokens.Add ('O', new TranslatableToken () {
+ Formatter = typeof (DateFormatter),
+ Expression = string.Format ("{0}({1})",
+ @"\d{1,2}",
+ OrdinalSuffixes.Replace (",", "|"))
+ });
+ // Cardinal Number
+ tokens.Add ('N', new TranslatableToken () {
+ Expression = string.Format ("{0}", @"[1-9][0-9]?")
+ });
+ // Due
+ tokens.Add ('u', new TranslatableToken () {
+ Expression = Catalog.GetString ("due before|due by|due")
+ });
+ // Day
+ tokens.Add ('d', new TranslatableToken () {
+ Formatter = typeof (DayFormatter),
+ Expression = Day
+ });
+ // Week
+ tokens.Add ('w', new TranslatableToken () {
+ Formatter = typeof (WeekFormatter),
+ Expression = Week
+ });
+ // Month
+ tokens.Add ('m', new TranslatableToken () {
+ Formatter = typeof (MonthFormatter),
+ Expression = Month
+ });
+ // Year
+ tokens.Add ('y', new TranslatableToken () {
+ Formatter = typeof (YearFormatter),
+ Expression = Year
+ });
+ // Next
+ tokens.Add ('n', new TranslatableToken () {
+ // L10N: Examples could be: "Next Month", "Next Monday"
+ Expression = Catalog.GetString ("next")
+ });
+ // On
+ tokens.Add ('o', new TranslatableToken () {
+ // L10N: Examples could be: "On April 1st", "On Wednesday"
+ Expression = Catalog.GetString ("on")
+ });
+ // In
+ tokens.Add ('i', new TranslatableToken () {
+ // L10N: Examples could be: "In 2 weeks", "In 3 months"
+ Expression = Catalog.GetString ("in")
+ });
+
+ return tokens;
+ }
+ }
+
+ List<RegularExpressionFormatter> RegularExpressions {
+ get {
+ List<RegularExpressionFormatter> regularExpressions
+ = new List<RegularExpressionFormatter> ();
+ List<string> translatableExpressions
+ = new List<string> () {
+ // "Today and Tomorrow" expression. More information in TRANSLATORS
+ Catalog.GetString ("u T"),
+ // Represents: "Next" expression. More information in TRANSLATORS
+ Catalog.GetString ("n w|n m|n y|n D"),
+ // Represents "Due" expression. More information in TRANSLATORS
+ Catalog.GetString ("u o D|u M O|u M N|u O|u M"),
+ // Represents "On" expression. More information in TRANSLATORS
+ Catalog.GetString (@"o D|o O"),
+ // Represents "In" expression. More information in TRANSLATORS
+ Catalog.GetString (@"i N d|i d|i N w|i w|i N m|i m|i N y|i y"),
+ // Represents all other expressions not using tokens. More information in TRANSLATORS
+ Catalog.GetString (@"T|D|M O|M N|O|A")
+ };
+
+ foreach (string expression in translatableExpressions) {
+ foreach (string alternativeExpression
+ in GetAlternativesExpressions (expression)) {
+ regularExpressions.Add (new RegularExpressionFormatter () {
+ RegularExpression = GenerateRegularExpression (alternativeExpression),
+ Formatters = GetFormatters (alternativeExpression)
+ });
+ }
+ }
+ return regularExpressions;
+ }
+ }
+
+ #endregion
+
+ #region Private Members
+
+ TaskParser ()
+ {
+ }
+
+ string GenerateRegularExpression (string translatedExpression)
+ {
+ List<string> expressionList = new List<string> ();
+ Regex regex = new Regex (fullExpression, RegexOptions.IgnoreCase);
+ foreach (Match match in regex.Matches (translatedExpression)) {
+ // We found a match for a string like this: "\Something\"
+ if (Regex.IsMatch (match.Value, dateGroupExpression)) {
+ Regex dateRegEx = new Regex (tokensExpression,
+ RegexOptions.IgnoreCase);
+ string date = "(?<date>";
+ List<string> dateList = new List<string> ();
+ foreach (Match token in dateRegEx.Matches (match.Value))
+ dateList.Add (GetFormatedToken (token));
+ date += string.Join (@"\s+", dateList.ToArray ()) + ")";
+ expressionList.Add (date);
+ // Using translated tokens
+ } else
+ expressionList.Add (GetFormatedToken (match));
+ }
+ return String.Join (@"\s+", expressionList.ToArray ());
+ }
+
+ string GetFormatedToken (Match match)
+ {
+ // It's a translatable token, we need it named.
+ if (match.Value.Length == 1) {
+ char token = match.Value [0];
+ string savedTokens = translatableTokens [token].Expression;
+ return string.Format (@"(?<{0}>\b({1})\b)", token, savedTokens);
+ // It's a "hardcoded" translated string. We need the complete word
+ } else
+ return string.Format (@"({0})", match.Value.Replace ("'", @"\b"));
+ }
+
+ List<IDateFormatter> GetFormatters (string expression)
+ {
+ List<IDateFormatter> formatters = new List<IDateFormatter> ();
+ foreach (string str in expression.Split (' ')) {
+ char token = char.MinValue;
+ if (!char.TryParse (str, out token))
+ continue;
+
+ TranslatableToken translatableToken = null;
+ if (!translatableTokens.TryGetValue (token,
+ out translatableToken))
+ continue;
+
+ if (translatableToken.Formatter == null)
+ continue;
+
+ IDateFormatter formatter = DateFormatterFactory
+ .Instance.Get (translatableToken.Formatter);
+ if (!formatters.Contains (formatter))
+ formatters.Add (formatter);
+ }
+ if (formatters.Count == 0)
+ throw new Exception ("No formatters");
+
+ return formatters;
+ }
+
+ // Spliting all "|" separated expressions (RegularExpressions)
+ List<string> GetAlternativesExpressions (string expression)
+ {
+ // Matches anything like this: "a b cd|e f g 'xy'"
+ string alternativesRegEx = @"(\w|\s|\'|\\)+((?<=\|)(\w|\s|\'|\\)+)*";
+
+ List<string> expressionList = new List<string> ();
+ Regex regex = new Regex (alternativesRegEx,
+ RegexOptions.IgnoreCase);
+ foreach (Match match in regex.Matches (expression))
+ expressionList.Add (match.Value);
+ return expressionList;
+ }
+
+ // Matches format and explicit '' delimited text
+ string tokensExpression = @"(\b\w\b|'\w+')+((?<=\s)(\b\w\b|'\w+'))*";
+ // Expression that defines the named group "<?date>"
+ string dateGroupExpression = @"(?>\\)(\b\w\b|'\w+')+(?>.*?\\)";
+
+ string fullExpression;
+ List<RegularExpressionFormatter> regExFormats;
+ Dictionary<char, TranslatableToken> translatableTokens;
+
+ #endregion
+ }
+}
diff --git a/src/libtasque/TranslatableToken.cs b/src/libtasque/TranslatableToken.cs
new file mode 100644
index 0000000..fe4353d
--- /dev/null
+++ b/src/libtasque/TranslatableToken.cs
@@ -0,0 +1,46 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+
+namespace Tasque {
+
+ class TranslatableToken {
+
+ public char Token {
+ get;
+ set;
+ }
+
+ public Type Formatter {
+ get;
+ set;
+ }
+
+ public string Expression {
+ get;
+ set;
+ }
+
+ }
+}
diff --git a/src/libtasque/libtasque.csproj b/src/libtasque/libtasque.csproj
index 3eb06e4..9c0b07b 100644
--- a/src/libtasque/libtasque.csproj
+++ b/src/libtasque/libtasque.csproj
@@ -7,9 +7,9 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}</ProjectGuid>
<OutputType>Library</OutputType>
- <RootNamespace>libtasque</RootNamespace>
+ <RootNamespace>Tasque</RootNamespace>
<AssemblyName>libtasque</AssemblyName>
- <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -35,9 +35,44 @@
<Compile Include="ITask.cs" />
<Compile Include="TaskPriority.cs" />
<Compile Include="TaskState.cs" />
+ <Compile Include="TaskParser.cs" />
+ <Compile Include="DateFormatterFactory.cs" />
+ <Compile Include="DateFormatters\IDateFormatter.cs" />
+ <Compile Include="DateFormatters\WeekdayFormatter.cs" />
+ <Compile Include="DateFormatters\OrdinalFormatter.cs" />
+ <Compile Include="DateFormatters\WeekFormatter.cs" />
+ <Compile Include="DateFormatters\StringInsensitiveComparer.cs" />
+ <Compile Include="DateFormatters\QuantityFormatter.cs" />
+ <Compile Include="DateFormatters\YearFormatter.cs" />
+ <Compile Include="DateFormatters\DateFormatter.cs" />
+ <Compile Include="DateFormatters\MonthFormatter.cs" />
+ <Compile Include="DateFormatters\TodayTomorrowFormatter.cs" />
+ <Compile Include="RegularExpressionFormatter.cs" />
+ <Compile Include="TranslatableToken.cs" />
+ <Compile Include="Extensions.cs" />
+ <Compile Include="DateFormatters\DayFormatter.cs" />
+ <Compile Include="DateFormatters\DateSeparatedFormatter.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="Mono.Posix, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\winbin\Mono.Posix.dll</HintPath>
+ </Reference>
</ItemGroup>
+ <ItemGroup>
+ <Folder Include="DateFormatters\" />
+ </ItemGroup>
+ <ProjectExtensions>
+ <MonoDevelop>
+ <Properties>
+ <Policies>
+ <DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="MSBuild" />
+ <StandardHeader Text="Author:
 ${AuthorName} <${AuthorEmail}>

Copyright (c) ${Year} ${CopyrightHolder}

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE." inheritsSet="MITX11License" />
+ </Policies>
+ </Properties>
+ </MonoDevelop>
+ </ProjectExtensions>
</Project>
\ No newline at end of file
diff --git a/tasque.csproj b/tasque.csproj
index d71b608..a945f72 100644
--- a/tasque.csproj
+++ b/tasque.csproj
@@ -9,7 +9,7 @@
<OutputType>WinExe</OutputType>
<NoStandardLibraries>false</NoStandardLibraries>
<AssemblyName>tasque</AssemblyName>
- <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<NoWin32Manifest>True</NoWin32Manifest>
<RootNamespace>tasque</RootNamespace>
@@ -48,6 +48,7 @@
<Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <Reference Include="NDesk.DBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099" />
</ItemGroup>
<ItemGroup>
<None Include="ChangeLog" />
diff --git a/tasque.sln b/tasque.sln
index 4e9c7c6..10413d0 100644
--- a/tasque.sln
+++ b/tasque.sln
@@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RtmNet", "RtmNet\RtmNet.csp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "libtasque", "src\libtasque\libtasque.csproj", "{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tests", "tests\tests.csproj", "{6DC908EC-E7C2-46CD-A21D-832C0D81D946}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -17,6 +19,10 @@ Global
{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0AA1B96E-03DE-4D26-B4FD-507E988FD9B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6DC908EC-E7C2-46CD-A21D-832C0D81D946}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6DC908EC-E7C2-46CD-A21D-832C0D81D946}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6DC908EC-E7C2-46CD-A21D-832C0D81D946}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6DC908EC-E7C2-46CD-A21D-832C0D81D946}.Release|Any CPU.Build.0 = Release|Any CPU
{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
diff --git a/tests/DateGuesserTest.cs b/tests/DateGuesserTest.cs
new file mode 100644
index 0000000..5bd2759
--- /dev/null
+++ b/tests/DateGuesserTest.cs
@@ -0,0 +1,365 @@
+//
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using NUnit.Framework;
+
+using Tasque;
+
+namespace Tasque.Tests {
+
+ [TestFixture]
+ public class DateGuesserTest {
+
+ #region TomorrowTodayGuesser
+
+ [Test]
+ public void Today ()
+ {
+ DateGuesser guesser = DateGuesser.Instance;
+
+ DateTime dateTime = DateTime.MinValue;
+ DateTime expected = DateTime.Today;
+ string task = string.Empty;
+ string text = string.Empty;
+
+ // #1
+ text = string.Format ("Sell something, {0}, on the internet",
+ Constants.Today);
+ bool parsed = guesser.Parse (text, out task, out dateTime);
+ Assert.IsTrue (parsed, "#0");
+ Assert.AreEqual ("Sell something,, on the internet", task, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#4");
+ parsed = false;
+ dateTime = DateTime.MinValue;
+
+ // #2
+ text = string.Format ("Buy beer {0}", Constants.Today);
+ parsed = guesser.Parse (text, out task, out dateTime);
+ Assert.IsTrue (parsed, "#5");
+ Assert.AreEqual ("Buy beer", task, "#6");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#7");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#8");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#9");
+ parsed = false;
+ dateTime = DateTime.MinValue;
+
+ // Due is separated by "|"
+ string[] dues = Constants.Due.Split (new string[] { "|" },
+ StringSplitOptions.RemoveEmptyEntries);
+ foreach (string due in dues) {
+ if (string.IsNullOrEmpty (due))
+ continue;
+
+ // #3
+ text = string.Format ("Print tickets {0} {1}", due, Constants.Today);
+ parsed = guesser.Parse (text, out task, out dateTime);
+ Assert.IsTrue (parsed, "#10");
+ Assert.AreEqual ("Print tickets",
+ task,
+ string.Format ("#11 -> {0}", due));
+ Assert.AreEqual (expected.Month,
+ dateTime.Month,
+ string.Format ("#12 -> {0}", due));
+ Assert.AreEqual (expected.Day,
+ dateTime.Day,
+ string.Format ("#13 -> {0}", due));
+ Assert.AreEqual (expected.Year,
+ dateTime.Year,
+ string.Format ("#14 -> {0}", due));
+ parsed = false;
+ dateTime = DateTime.MinValue;
+ }
+ }
+
+ [Test]
+ public void Tomorrow ()
+ {
+ DateGuesser guesser = DateGuesser.Instance;
+
+ DateTime dateTime = DateTime.MinValue;
+ DateTime expected = DateTime.Today.AddDays (1);
+ string task = string.Empty;
+ string text = string.Empty;
+
+ // #1
+ text = string.Format ("Sell something, {0}, on the internet",
+ Constants.Tomorrow);
+ bool parsed = guesser.Parse (text, out task, out dateTime);
+ Assert.IsTrue (parsed, "#0");
+ Assert.AreEqual ("Sell something,, on the internet", task, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#4");
+ parsed = false;
+ dateTime = DateTime.MinValue;
+
+ // #2
+ text = string.Format ("Buy beer {0}", Constants.Tomorrow);
+ parsed = guesser.Parse (text, out task, out dateTime);
+ Assert.IsTrue (parsed, "#5");
+ Assert.AreEqual ("Buy beer", task, "#6");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#7");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#8");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#9");
+ parsed = false;
+ dateTime = DateTime.MinValue;
+
+ // Due is separated by "|"
+ string[] dues = Constants.Due.Split (new string[] { "|" },
+ StringSplitOptions.RemoveEmptyEntries);
+ foreach (string due in dues) {
+ if (string.IsNullOrEmpty (due))
+ continue;
+
+ // #3
+ text = string.Format ("Print tickets {0} {1}", due, Constants.Tomorrow);
+ parsed = guesser.Parse (text, out task, out dateTime);
+ Assert.IsTrue (parsed, "#10");
+ Assert.AreEqual ("Print tickets",
+ task,
+ string.Format ("#11 -> {0}", due));
+ Assert.AreEqual (expected.Month,
+ dateTime.Month,
+ string.Format ("#12 -> {0}", due));
+ Assert.AreEqual (expected.Day,
+ dateTime.Day,
+ string.Format ("#13 -> {0}", due));
+ Assert.AreEqual (expected.Year,
+ dateTime.Year,
+ string.Format ("#14 -> {0}", due));
+ parsed = false;
+ dateTime = DateTime.MinValue;
+ }
+ }
+
+ #endregion
+
+ #region NextGuesser
+
+ [Test]
+ public void NextMonth ()
+ {
+ DateTime dateTime = DateTime.MinValue;
+ string task = string.Empty;
+
+ DateTime expected = DateTime.Today.AddMonths (1);
+ string text = string.Format ("Sell something, {0} {1}, on the internet",
+ Constants.Next,
+ Constants.Month);
+ Assert.IsTrue (DateGuesser.Instance.Parse (text, out task, out dateTime), "#0");
+ Assert.AreEqual ("Sell something,, on the internet", task, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#4");
+ }
+
+ [Test]
+ public void NextWeek ()
+ {
+ DateTime dateTime = DateTime.MinValue;
+ string task = string.Empty;
+ DateTime expected = DateTime.Today.AddDays (7);
+
+ string text = string.Format ("Buy beer {0} {1}",
+ Constants.Next,
+ Constants.Week);
+ Assert.IsTrue (DateGuesser.Instance.Parse (text, out task, out dateTime), "#1");
+ Assert.AreEqual ("Buy beer", task, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#5");
+ }
+
+ [Test]
+ public void NextYear ()
+ {
+ DateTime dateTime = DateTime.MinValue;
+ string task = string.Empty;
+
+ DateTime expected = DateTime.Today.AddYears (1);
+ string text = string.Format ("Buy a house {0} {1}",
+ Constants.Next,
+ Constants.Year);
+ Assert.IsTrue (DateGuesser.Instance.Parse (text, out task, out dateTime), "#1");
+ Assert.AreEqual ("Buy a house", task, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#5");
+ }
+
+ [Test]
+ public void NextMonday ()
+ {
+ DateTime dateTime = DateTime.MinValue;
+ string task = string.Empty;
+
+ DateTime expected = DateTime.Today.AddDays (GetDayOffset (DayOfWeek.Monday));
+ string text = string.Format ("Doctor appointment {0} {1}",
+ Constants.Next,
+ Utilities.GetLocalizedDayOfWeek (DayOfWeek.Monday));
+ Assert.IsTrue (DateGuesser.Instance.Parse (text, out task, out dateTime), "#0");
+ Assert.AreEqual ("Doctor appointment", task, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#4");
+ }
+
+ [Test]
+ public void OnNextMonday ()
+ {
+ DateTime dateTime = DateTime.MinValue;
+ string task = string.Empty;
+
+ DateTime expected = DateTime.Today.AddDays (GetDayOffset (DayOfWeek.Monday));
+ string text = string.Format ("Doctor appointment {0} {1} {2}",
+ Constants.On,
+ Constants.Next,
+ Utilities.GetLocalizedDayOfWeek (DayOfWeek.Monday));
+ Assert.IsTrue (DateGuesser.Instance.Parse (text, out task, out dateTime), "#0");
+ Assert.AreEqual ("Doctor appointment", task, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#4");
+ }
+
+ #endregion
+
+ #region DueGuesser
+
+ [Test]
+ public void DueValid ()
+ {
+ DateGuesser guesser = DateGuesser.Instance;
+
+ DateTime dateTime = DateTime.MinValue;
+ DateTime expected = DateTime.MinValue;
+ string task = string.Empty;
+
+ // January
+ string text = string.Format ("Sell something due {0} 12", Constants.Months [0]);
+ expected = GetMonthDate (1, 12);
+
+ Assert.IsTrue (guesser.Parse (text, out task, out dateTime), "#0");
+ Assert.AreEqual ("Sell something", task, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#4");
+ dateTime = DateTime.MinValue;
+
+ // April 22
+ expected = GetMonthDate (4, 22);
+ text = string.Format ("Sell something due {0} 22nd", Constants.Months [7]);
+
+ Assert.IsTrue (guesser.Parse (text, out task, out dateTime), "#5");
+ Assert.AreEqual ("Sell something", task, "#6");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#7");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#8");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#9");
+ dateTime = DateTime.MinValue;
+
+ // April 13th
+ expected = GetMonthDate (4, 13);
+ text = string.Format ("Sell something due {0} 13th", Constants.Months [7]);
+
+ Assert.IsTrue (guesser.Parse (text, out task, out dateTime), "#10");
+ Assert.AreEqual ("Sell something", task, "#11");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#12");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#13");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#14");
+ dateTime = DateTime.MinValue;
+
+ // May
+ expected = GetMonthDate (5, 1);
+ text = string.Format ("Sell something due before {0}", Constants.Months [9]);
+
+ Assert.IsTrue (guesser.Parse (text, out task, out dateTime), "#15");
+ Assert.AreEqual ("Sell something", task, "#16");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#17");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#18");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#19");
+
+ // April 13th
+ expected = GetMonthDate (4, 12);
+ text = string.Format ("Sell something due {0} 12th", Constants.Months [7]);
+
+ Assert.IsTrue (guesser.Parse (text, out task, out dateTime), "#20");
+ Assert.AreEqual ("Sell something", task, "#21");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#22");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#23");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#24");
+ dateTime = DateTime.MinValue;
+ }
+
+ [Test]
+ public void DueInvalid ()
+ {
+ string task = string.Empty;
+ DateTime dateTime = DateTime.MinValue;
+
+ // April 22rd - invalid
+ string text = string.Format ("Sell something due {0} 22rd", Constants.Months [7]);
+ Assert.IsFalse (DateGuesser.Instance.Parse (text,
+ out task,
+ out dateTime),
+ "#10");
+
+ // April 32nd
+ text = string.Format ("Sell something due {0} 32nd", Constants.Months [7]);
+ Assert.IsFalse (DateGuesser.Instance.Parse (text,
+ out task,
+ out dateTime),
+ "#10");
+ }
+
+ #endregion
+
+ #region Helper methods
+
+ DateTime GetMonthDate (int month, int day)
+ {
+ if (DateTime.Now.Month > month)
+ return new DateTime (DateTime.Now.Year + 1, month, day);
+ else
+ return new DateTime (DateTime.Now.Year, month, day);
+ }
+
+ uint GetDayOffset (DayOfWeek futureDay)
+ {
+ uint future = DateGuesser.DayOfWeekToUInt (futureDay);
+ uint today = DateGuesser.DayOfWeekToUInt (DateTime.Today.DayOfWeek);
+
+ if (future > today)
+ return future - today;
+ else if (today > future)
+ return 7 - (today - future);
+ else
+ return 7;
+ }
+
+ #endregion
+ }
+}
diff --git a/tests/TaskParserFixture.cs b/tests/TaskParserFixture.cs
new file mode 100644
index 0000000..9be2f8b
--- /dev/null
+++ b/tests/TaskParserFixture.cs
@@ -0,0 +1,694 @@
+// Author:
+// Mario Carrion <mario carrion mx>
+//
+// Copyright (c) 2010 Mario Carrion
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using NUnit.Framework;
+
+namespace Tasque.Tests {
+
+ [TestFixture]
+ public class TaskParserFixture {
+
+ #region TodayTomorrowFormatter tests
+
+ [Test]
+ public void TomorrowTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = DateTime.Now.AddDays (1);
+ Assert.IsTrue (parser.TryParse ("Something tomorrow",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#0");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsTrue (parser.TryParse ("Buy meat tomorrow for lunch",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Buy meat for lunch", parsedText, "#4");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#5");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#6");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#7");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsTrue (parser.TryParse ("GET BEER TOMORROW!",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("GET BEER!", parsedText, "#8");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#9");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#10");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#11");
+ }
+
+ [Test]
+ public void TodayTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = DateTime.Now;
+ Assert.IsTrue (parser.TryParse ("Something today",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#0");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsTrue (parser.TryParse ("Buy meat today for lunch",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Buy meat for lunch", parsedText, "#4");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#5");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#6");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#7");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsTrue (parser.TryParse ("GET BEER TODAY, RIGHT NOW!",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("GET BEER, RIGHT NOW!", parsedText, "#8");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#9");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#10");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#11");
+ }
+
+ #endregion
+
+ #region MonthFormatter tests
+
+ [Test]
+ public void MonthTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = DateTime.Now.AddMonths (1);
+ Assert.IsTrue (parser.TryParse ("Something next month",
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = DateTime.Now.AddMonths (3);
+ Assert.IsTrue (parser.TryParse ("Something in 3 months",
+ out parsedText,
+ out dateTime),
+ "#5");
+ Assert.AreEqual ("Something", parsedText, "#6");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#7");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#8");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#9");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsFalse (parser.TryParse ("Something in -1 months",
+ out parsedText,
+ out dateTime),
+ "#10");
+ dateTime = DateTime.MinValue;
+
+ // Even though this is invalid English, we accept it
+ expected = DateTime.Now.AddMonths (1);
+ Assert.IsTrue (parser.TryParse ("Something in months",
+ out parsedText,
+ out dateTime),
+ "#11");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#12");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#13");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#14");
+ dateTime = DateTime.MinValue;
+ }
+
+ #endregion
+
+ #region DayFormatter tests
+
+ [Test]
+ public void DayTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = DateTime.Now.AddDays (3);
+ Assert.IsTrue (parser.TryParse ("Something in 3 days",
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = DateTime.Now.AddDays (1);
+ Assert.IsTrue (parser.TryParse ("Something in 1 day",
+ out parsedText,
+ out dateTime),
+ "#5");
+ Assert.AreEqual ("Something", parsedText, "#6");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#7");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#8");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#9");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsFalse (parser.TryParse ("Something in -1 days",
+ out parsedText,
+ out dateTime),
+ "#10");
+ dateTime = DateTime.MinValue;
+
+ // Even though this is invalid English, we accept it
+ expected = DateTime.Now.AddDays (1);
+ Assert.IsTrue (parser.TryParse ("Something in days",
+ out parsedText,
+ out dateTime),
+ "#11");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#12");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#13");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#14");
+ dateTime = DateTime.MinValue;
+ }
+
+ #endregion
+
+ #region WeekFormatter tests
+
+ [Test]
+ public void WeekTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = DateTime.Now.AddDays (7);
+ Assert.IsTrue (parser.TryParse ("Something next week",
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = DateTime.Now.AddDays (7 * 2);
+ Assert.IsTrue (parser.TryParse ("Something in 2 weeks",
+ out parsedText,
+ out dateTime),
+ "#5");
+ Assert.AreEqual ("Something", parsedText, "#6");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#7");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#8");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#9");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsFalse (parser.TryParse ("Something in -1 week",
+ out parsedText,
+ out dateTime),
+ "#10");
+ dateTime = DateTime.MinValue;
+
+ // Even though this is invalid English, we accept it
+ expected = DateTime.Now.AddDays (7);
+ Assert.IsTrue (parser.TryParse ("Something in weeks",
+ out parsedText,
+ out dateTime),
+ "#11");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#12");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#13");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#14");
+ dateTime = DateTime.MinValue;
+ }
+
+ #endregion
+
+ #region YearFormatter tests
+
+ [Test]
+ public void YearTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = DateTime.Now.AddYears (1);
+ Assert.IsTrue (parser.TryParse ("Something next year",
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = DateTime.Now.AddYears (5);
+ Assert.IsTrue (parser.TryParse ("Buy a house in 5 years",
+ out parsedText,
+ out dateTime),
+ "#5");
+ Assert.AreEqual ("Buy a house", parsedText, "#6");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#7");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#8");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#9");
+ dateTime = DateTime.MinValue;
+
+ Assert.IsFalse (parser.TryParse ("Sleep in -1 years",
+ out parsedText,
+ out dateTime),
+ "#10");
+ dateTime = DateTime.MinValue;
+
+ // Even though this is invalid English, we accept it
+ expected = DateTime.Now.AddYears (1);
+ Assert.IsTrue (parser.TryParse ("Something in years",
+ out parsedText,
+ out dateTime),
+ "#11");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#12");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#13");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#14");
+ dateTime = DateTime.MinValue;
+ }
+
+ #endregion
+
+ #region DateFormatter tests
+
+ [Test]
+ public void DateTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = GetMonthDate (12, 1);
+ Assert.IsTrue (parser.TryParse ("Something due by December 1st",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#0");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#1");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#2");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#3");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (12, 1);
+ Assert.IsTrue (parser.TryParse ("Something due Dec 1",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#4");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#5");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#6");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#7");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (12, -1);
+ Assert.IsTrue (parser.TryParse ("Something due before December",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#8");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#9");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#10");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#11");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (-1, 15);
+ Assert.IsTrue (parser.TryParse ("Something due by 15th",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#12");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#13");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#14");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#15");
+ dateTime = DateTime.MinValue;
+
+ // Invalid date, it should be 15th, but we accept it
+ expected = GetMonthDate (-1, 15);
+ Assert.IsTrue (parser.TryParse ("Something important due by 15nd",
+ out parsedText,
+ out dateTime),
+ "#16");
+ Assert.AreEqual ("Something important", parsedText, "#17");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#18");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#19");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#20");
+
+ expected = GetMonthDate (3, 15);
+ Assert.IsTrue (parser.TryParse ("Something important March 15th",
+ out parsedText,
+ out dateTime),
+ "#21");
+ Assert.AreEqual ("Something important", parsedText, "#22");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#23");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#24");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#25");
+
+ expected = GetMonthDate (DateTime.Now.Month, 2);
+ Assert.IsTrue (parser.TryParse (string.Format ("Something important {0} 2nd",
+ expected.ToString ("MMMM")),
+ out parsedText,
+ out dateTime),
+ "#26");
+ Assert.AreEqual ("Something important", parsedText, "#27");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#28");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#29");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#30");
+ }
+
+ #endregion
+
+ #region OrdinalFormatter tests
+
+ [Test]
+ public void OrdinalTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = GetMonthDate (DateTime.Now.Month, 1);
+ Assert.IsTrue (parser.TryParse ("Something on 1st",
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (DateTime.Now.Month, 2);
+ Assert.IsTrue (parser.TryParse ("Something due 2nd",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#5");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#6");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#7");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#8");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (-1, 15);
+ Assert.IsTrue (parser.TryParse ("Something due by 15th",
+ out parsedText,
+ out dateTime));
+ Assert.AreEqual ("Something", parsedText, "#9");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#10");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#11");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#12");
+ dateTime = DateTime.MinValue;
+
+ // Event this is an invalid date in English
+ // we don't care about it, and we parse it
+ expected = GetMonthDate (-1, 15);
+ Assert.IsTrue (parser.TryParse ("Something important on 15nd",
+ out parsedText,
+ out dateTime),
+ "#13");
+ Assert.AreEqual ("Something important", parsedText, "#14");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#15");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#16");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#17");
+ }
+
+ #endregion
+
+ #region WeekdayFormatter tests
+
+ [Test]
+ public void WeekdayTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = GetWeekdayDate (DayOfWeek.Monday);
+ Assert.IsTrue (parser.TryParse ("Something on Monday",
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = GetWeekdayDate (DayOfWeek.Friday);
+ Assert.IsTrue (parser.TryParse ("Something due on Friday",
+ out parsedText,
+ out dateTime),
+ "#5");
+ Assert.AreEqual ("Something", parsedText, "#6");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#7");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#8");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#9");
+ dateTime = DateTime.MinValue;
+
+ expected = GetWeekdayDate (DayOfWeek.Sunday);
+ Assert.IsTrue (parser.TryParse ("Something next sunday",
+ out parsedText,
+ out dateTime),
+ "#10");
+ Assert.AreEqual ("Something", parsedText, "#11");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#12");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#13");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#14");
+ dateTime = DateTime.MinValue;
+
+ expected = GetWeekdayDate (DayOfWeek.Wednesday);
+ Assert.IsTrue (parser.TryParse ("Something next wed",
+ out parsedText,
+ out dateTime),
+ "#15");
+ Assert.AreEqual ("Something", parsedText, "#16");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#17");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#18");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#19");
+ }
+
+ #endregion
+
+ #region Others tests
+
+ [Test]
+ public void OthersTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = GetWeekdayDate (DayOfWeek.Monday);
+ Assert.IsTrue (parser.TryParse ("Something mon", // as in Monday
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (3, 11);
+ Assert.IsTrue (parser.TryParse ("Something March 11",
+ out parsedText,
+ out dateTime),
+ "#5");
+ Assert.AreEqual ("Something", parsedText, "#6");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#7");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#8");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#9");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (4, 22);
+ Assert.IsTrue (parser.TryParse ("Something April 22nd",
+ out parsedText,
+ out dateTime),
+ "#10");
+ Assert.AreEqual ("Something", parsedText, "#11");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#12");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#13");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#14");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (-1, 12);
+ Assert.IsTrue (parser.TryParse ("Something 12th",
+ out parsedText,
+ out dateTime),
+ "#15");
+ Assert.AreEqual ("Something", parsedText, "#16");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#17");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#18");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#19");
+ }
+
+ #endregion
+
+ #region DateSeparatedFormatter Tests
+
+ [Test]
+ public void DateSeparatedTest ()
+ {
+ string parsedText = null;
+ DateTime dateTime = DateTime.MinValue;
+ TaskParser parser = TaskParser.Instance;
+
+ DateTime expected = GetMonthDate (11, 12);
+ Assert.IsTrue (parser.TryParse ("Something 11/12", // as in Monday
+ out parsedText,
+ out dateTime),
+ "#0");
+ Assert.AreEqual ("Something", parsedText, "#1");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#2");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#3");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#4");
+ dateTime = DateTime.MinValue;
+
+ expected = GetMonthDate (3, 11);
+ Assert.IsTrue (parser.TryParse ("Something 3-11",
+ out parsedText,
+ out dateTime),
+ "#5");
+ Assert.AreEqual ("Something", parsedText, "#6");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#7");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#8");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#9");
+ dateTime = DateTime.MinValue;
+
+ expected = new DateTime (DateTime.Now.Year + 1, 1, 22);
+ Assert.IsTrue (parser.TryParse (string.Format ("Something 1/22/{0}",
+ DateTime.Now.Year + 1),
+ out parsedText,
+ out dateTime),
+ "#10");
+ Assert.AreEqual ("Something", parsedText, "#11");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#12");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#13");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#14");
+ dateTime = DateTime.MinValue;
+
+ expected = new DateTime (2011, 11, 11);
+ Assert.IsTrue (parser.TryParse ("Something 11-11-11 soon!",
+ out parsedText,
+ out dateTime),
+ "#15");
+ Assert.AreEqual ("Something soon!", parsedText, "#16");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#17");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#18");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#19");
+ dateTime = DateTime.MinValue;
+
+ // The year doesn't make sense, but is still valid
+ expected = new DateTime (102, 1, 13);
+ Assert.IsTrue (parser.TryParse ("Something 1-13-102 soon!!",
+ out parsedText,
+ out dateTime),
+ "#20");
+ Assert.AreEqual ("Something soon!!", parsedText, "#21");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#22");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#23");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#24");
+ dateTime = DateTime.MinValue;
+
+ // Matches "11/11"
+ expected = GetMonthDate (11, 11);
+ Assert.IsTrue (parser.TryParse ("Buy beer 11/11/3 for party",
+ out parsedText,
+ out dateTime),
+ "#25");
+ Assert.AreEqual ("Buy beer/3 for party", parsedText, "#26");
+ Assert.AreEqual (expected.Year, dateTime.Year, "#27");
+ Assert.AreEqual (expected.Month, dateTime.Month, "#28");
+ Assert.AreEqual (expected.Day, dateTime.Day, "#29");
+ }
+
+ #endregion
+
+ #region Helper methods
+
+ DateTime GetMonthDate (int month, int day)
+ {
+ if (month == -1)
+ month = DateTime.Now.Month;
+
+ if (DateTime.Now.Month > month) {
+ if (day == -1)
+ day = DateTime.DaysInMonth (DateTime.Now.Year + 1, month);
+ return new DateTime (DateTime.Now.Year + 1, month, day);
+ }
+ else {
+ if (day == -1)
+ day = DateTime.DaysInMonth (DateTime.Now.Year, month);
+ return new DateTime (DateTime.Now.Year, month, day);
+ }
+ }
+
+ DateTime GetWeekdayDate (DayOfWeek weekday)
+ {
+ DateTime todayDateTime = DateTime.Now;
+ uint today = ToUint (todayDateTime.DayOfWeek);
+ uint future = ToUint (weekday);
+ if (future > today)
+ return DateTime.Now.AddDays (future - today);
+ else if (today > future)
+ return DateTime.Now.AddDays (7 - (today - future));
+ else // future is in one week
+ return DateTime.Now.AddDays (7);
+ }
+
+ uint ToUint (DayOfWeek dayOfWeek)
+ {
+ switch (dayOfWeek) {
+ case DayOfWeek.Sunday:
+ return 0;
+ case DayOfWeek.Monday:
+ return 1;
+ case DayOfWeek.Tuesday:
+ return 2;
+ case DayOfWeek.Wednesday:
+ return 3;
+ case DayOfWeek.Thursday:
+ return 4;
+ case DayOfWeek.Friday:
+ return 5;
+ case DayOfWeek.Saturday:
+ default:
+ return 6;
+ }
+ }
+
+ #endregion
+ }
+}
diff --git a/tests/tests.csproj b/tests/tests.csproj
new file mode 100644
index 0000000..1a2f271
--- /dev/null
+++ b/tests/tests.csproj
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{6DC908EC-E7C2-46CD-A21D-832C0D81D946}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <RootNamespace>Tasque.Tests</RootNamespace>
+ <AssemblyName>tasque.tests</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug</OutputPath>
+ <DefineConstants>DEBUG</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>none</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="nunit.core, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
+ <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="TaskParserFixture.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <ItemGroup>
+ <ProjectReference Include="..\src\libtasque\libtasque.csproj">
+ <Project>{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}</Project>
+ <Name>libtasque</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ProjectExtensions>
+ <MonoDevelop>
+ <Properties>
+ <Deployment.LinuxDeployData generatePcFile="false" />
+ </Properties>
+ </MonoDevelop>
+ </ProjectExtensions>
+</Project>
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]