ingo/config/*.php
jeta/config/*.php
kronolith/config/*.php
+nag/config/*.php
turba/config/*.php
--- /dev/null
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
--- /dev/null
+What is Nag?
+============
+
+:Last update: $Date: 2005/08/23 09:54:40 $
+:Revision: $Revision: 1.10 $
+:Contact: nag@lists.horde.org
+
+.. contents:: Contents
+.. section-numbering::
+
+Nag is the Horde task list application. It stores todo items, things due
+later this week, etc. It is very similar in functionality to the Palm ToDo
+application.
+
+This software is OSI Certified Open Source Software. OSI Certified is a
+certification mark of the `Open Source Initiative`_.
+
+.. _`Open Source Initiative`: http://www.opensource.org/
+
+
+Obtaining Nag
+-------------
+
+Further information on Nag and the latest version can be obtained at
+
+ http://www.horde.org/nag/
+
+
+Documentation
+-------------
+
+The following documentation is available in the Nag distribution:
+
+:README_: This file
+:COPYING_: Copyright and license information
+:`docs/CHANGES`_: Changes by release
+:`docs/CREDITS`_: Project developers
+:`docs/INSTALL`_: Installation instructions and notes
+:`docs/TODO`_: Development TODO list
+:`docs/UPGRADING`_: Pointers on upgrading from previous Nag versions
+
+
+Installation
+------------
+
+Instructions for installing Nag can be found in the file INSTALL_ in the
+``docs/`` directory of the Nag distribution.
+
+
+Assistance
+----------
+
+If you encounter problems with Nag, help is available!
+
+The Horde Frequently Asked Questions List (FAQ), available on the Web at
+
+ http://www.horde.org/faq/
+
+The Horde Project runs a number of mailing lists, for individual applications
+and for issues relating to the project as a whole. Information, archives, and
+subscription information can be found at
+
+ http://www.horde.org/mail/
+
+Lastly, Horde developers, contributors and users also make occasional
+appearances on IRC, on the channel #horde on the freenode Network
+(irc.freenode.net).
+
+
+Licensing
+---------
+
+For licensing and copyright information, please see the file COPYING_ in the
+Nag distribution.
+
+Thanks,
+
+The Horde team
+
+
+.. _README: ?f=README.html
+.. _COPYING: http://www.horde.org/licenses/gpl.php
+.. _docs/CHANGES: ?f=CHANGES.html
+.. _docs/CREDITS: ?f=CREDITS.html
+.. _INSTALL:
+.. _docs/INSTALL: ?f=INSTALL.html
+.. _docs/TODO: ?f=TODO.html
+.. _docs/UPGRADING: ?f=UPGRADING.html
--- /dev/null
+Deny from all
--- /dev/null
+<?xml version="1.0"?>
+<!-- $Id$ -->
+<configuration>
+ <configsection name="storage">
+ <configheader>Storage System Settings</configheader>
+
+ <configswitch name="driver" desc="What storage driver should we use?">sql
+ <case name="sql" desc="SQL">
+ <configsection name="params">
+ <configsql switchname="driverconfig">
+ <configstring name="table" desc="Database table">nag_tasks</configstring>
+ </configsql>
+ </configsection>
+ </case>
+ <case name="kolab" desc="Kolab" />
+ </configswitch>
+ </configsection>
+
+ <configsection name="menu">
+ <configheader>Menu settings</configheader>
+
+ <configboolean name="print" desc="Should we display a print link in the Horde
+ application menus?">true</configboolean>
+ <configboolean name="import_export" desc="Should we display an Import/Export
+ link in the Horde application menus?">true</configboolean>
+ <configmultienum name="apps" desc="Select any applications that should be
+ linked in Nag's menu">
+ <values>
+ <configspecial name="list-horde-apps" />
+ </values>
+ </configmultienum>
+ </configsection>
+</configuration>
--- /dev/null
+<?php
+/**
+ * Example hooks for Nag
+ *
+ * $Id$
+ */
+
+// if (!function_exists('_nag_hook_format_description')) {
+// function _nag_hook_format_description($text)
+// {
+// $text = preg_replace('/#(\d+)/', '<a href="http://bugs.horde.org/ticket/\1">\0</a>', $text);
+// $text = preg_replace('/(bug|ticket|request|enhancement|issue):\s*#?(\d+)/i', '<a href="http://bugs.horde.org/ticket/\1">\0</a>', $text);
+//
+// $text = preg_replace_callback('/\[\[note: ?(.*)\]\]/i', create_function('$m', 'return \'<a href="/horde/mnemo/notes/?q=\' . urlencode($m[1]) . \'">\' . htmlspecialchars($m[0]) . \'</a>\';'), $text);
+// $text = preg_replace_callback('/\[\[task: ?(.*)\]\]/i', create_function('$m', 'return \'<a href="/horde/nag/tasks/?q=\' . urlencode($m[1]) . \'">\' . htmlspecialchars($m[0]) . \'</a>\';'), $text);
+//
+// return $text;
+// }
+// }
+
+// if (!function_exists('_nag_hook_description_help')) {
+// function _nag_hook_description_help()
+// {
+// return '<p>To create a link to a bug, use #123 where 123 is the bug number. To create a link to another task, use [[task: name]], where name is the beginning of the task name. To create a link to a note, use [[note: title]] where title is the beginning of the note title.</p>';
+// }
+// }
--- /dev/null
+<?php
+/**
+ * This file lets you extend Nag's menu with your own items.
+ *
+ * To add a new menu item, simply add a new entry to the $_menu array.
+ * Valid attributes for a new menu item are:
+ *
+ * 'url' The URL value for the menu item.
+ * 'text' The text to accompany the menu item.
+ *
+ * These attributes are optional:
+ *
+ * 'icon' The filename of an icon to use for the menu item.
+ * 'icon_path' The path to the icon if it doesn't exist in the graphics/
+ * directory.
+ * 'target' The "target" of the link (e.g. '_top', '_blank').
+ * 'onclick' Any JavaScript to execute on the "onclick" event.
+ *
+ * Here's an example entry:
+ *
+ * $_menu[] = array(
+ * 'url' => 'http://www.example.com/',
+ * 'text' => 'Example, Inc.',
+ * 'icon' => 'example.png',
+ * 'icon_path' => 'http://www.example.com/images/',
+ * 'target' => '_blank',
+ * 'onclick' => ''
+ * );
+ *
+ * You can also add a "separator" (a spacer) between menu items. To add a
+ * separator, simply add a new string to the $_menu array set to the text
+ * 'separator'. It should look like this:
+ *
+ * $_menu[] = 'separator';
+ *
+ * $Id$
+ */
+
+$_menu = array();
+
+/* Add your custom entries below this line. */
--- /dev/null
+<?php
+/**
+ * See horde/config/prefs.php for documentation on the structure of this file.
+ *
+ * $Id$
+ */
+
+$prefGroups['display'] = array(
+ 'column' => _("General Options"),
+ 'label' => _("Display Options"),
+ 'desc' => _("Change your task sorting and display options."),
+ 'members' => array('tasklist_columns', 'sortby', 'altsortby', 'sortdir'),
+);
+
+$prefGroups['deletion'] = array(
+ 'column' => _("General Options"),
+ 'label' => _("Delete Confirmation"),
+ 'desc' => _("Delete button behaviour"),
+ 'members' => array('delete_opt'),
+);
+
+$prefGroups['tasks'] = array(
+ 'column' => _("General Options"),
+ 'label' => _("Task Defaults"),
+ 'desc' => _("Defaults for new tasks"),
+ 'members' => array('default_due', 'default_due_days', 'defaultduetimeselect'),
+);
+
+$prefGroups['share'] = array(
+ 'column' => _("Task List and Share Options"),
+ 'label' => _("Default Task List"),
+ 'desc' => _("Choose your default task list."),
+ 'members' => array('tasklistselect'),
+);
+
+$prefGroups['notification'] = array(
+ 'column' => _("Task List and Share Options"),
+ 'label' => _("Notifications"),
+ 'desc' => _("Choose if you want to be notified of task changes and task alarms."),
+ 'members' => array('task_notification'),
+);
+if (!empty($GLOBALS['conf']['alarms']['driver'])) {
+ $prefGroups['notification']['members'][] = 'task_alarms';
+}
+
+$_show_external = array();
+if ($GLOBALS['registry']->hasMethod('getListTypes', 'whups')) {
+ $_show_external['whups'] = $GLOBALS['registry']->get('name', 'whups');
+}
+if (count($_show_external)) {
+ $prefGroups['external'] = array(
+ 'column' => _("Task List and Share Options"),
+ 'label' => _("External Data"),
+ 'desc' => _("Show data from other applications or sources."),
+ 'members' => array('show_external'),
+ );
+}
+
+// columns in the list view
+$_prefs['tasklist_columns'] = array(
+ 'value' => 'a:3:{i:0;s:8:"priority";i:1;s:3:"due";i:2;s:8:"category";}',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'multienum',
+ 'enum' => array('tasklist' => _("Task List"),
+ 'priority' => _("Priority"),
+ 'assignee' => _("Assignee"),
+ 'due' => _("Due Date"),
+ 'estimate' => _("Estimated Time"),
+ 'category' => _("Category")),
+ 'desc' => _("Select the columns that should be shown in the list view:")
+);
+
+// show the task list options panel?
+// a value of 0 = no, 1 = yes
+$_prefs['show_panel'] = array(
+ 'value' => 1,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'implicit',
+);
+
+// user preferred sorting column
+$_prefs['sortby'] = array(
+ 'value' => Nag::SORT_PRIORITY,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'enum',
+ 'enum' => array(Nag::SORT_PRIORITY => _("Priority"),
+ Nag::SORT_NAME => _("Task Name"),
+ Nag::SORT_CATEGORY => _("Category"),
+ Nag::SORT_DUE => _("Due Date"),
+ Nag::SORT_COMPLETION => _("Completed?"),
+ Nag::SORT_ESTIMATE => _("Estimated Time"),
+ Nag::SORT_ASSIGNEE => _("Assignee"),
+ Nag::SORT_OWNER => _("Task List")),
+ 'desc' => _("Sort tasks by:"),
+);
+
+// alternate sort column
+$_prefs['altsortby'] = array(
+ 'value' => Nag::SORT_CATEGORY,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'enum',
+ 'enum' => array(Nag::SORT_PRIORITY => _("Priority"),
+ Nag::SORT_NAME => _("Task Name"),
+ Nag::SORT_CATEGORY => _("Category"),
+ Nag::SORT_DUE => _("Due Date"),
+ Nag::SORT_COMPLETION => _("Completed?"),
+ Nag::SORT_ESTIMATE => _("Estimated Time"),
+ Nag::SORT_ASSIGNEE => _("Assignee"),
+ Nag::SORT_OWNER => _("Task List")),
+ 'desc' => _("Then:"),
+);
+
+// user preferred sorting direction
+$_prefs['sortdir'] = array(
+ 'value' => Nag::SORT_ASCEND,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'enum',
+ 'enum' => array(Nag::SORT_ASCEND => _("Ascending"),
+ Nag::SORT_DESCEND => _("Descending")),
+ 'desc' => _("Sort direction:"),
+);
+
+// preference for delete confirmation dialog.
+$_prefs['delete_opt'] = array(
+ 'value' => 1,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'checkbox',
+ 'desc' => _("Do you want to confirm deleting entries?"),
+);
+
+// default to tasks having a due date?
+$_prefs['default_due'] = array(
+ 'value' => 0,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'checkbox',
+ 'desc' => _("When creating a new task, should it default to having a due date?"),
+);
+
+// default number of days out for due dates
+$_prefs['default_due_days'] = array(
+ 'value' => 1,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'number',
+ 'desc' => _("When creating a new task, how many days in the future should the default due date be (0 means today)?"),
+);
+
+// default due time
+$_prefs['default_due_time'] = array(
+ 'value' => 'now',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'implicit',
+);
+
+// default due time selection widget
+$_prefs['defaultduetimeselect'] = array('type' => 'special');
+
+// new task notifications
+$_prefs['task_notification'] = array(
+ 'value' => '',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'enum',
+ 'enum' => array('' => _("No"),
+ 'owner' => _("On my task lists only"),
+ 'show' => _("On all shown task lists"),
+ 'read' => _("On all task lists I have read access to")),
+ 'desc' => _("Choose if you want to be notified of new, edited, and deleted tasks by email:"),
+);
+
+// alarm methods
+$_prefs['task_alarms'] = array(
+ 'value' => 'a:1:{s:6:"notify";a:0:{}}',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'alarm',
+ 'desc' => _("Choose how you want to receive reminders for tasks with alarms:"),
+);
+
+// show data from other applications that can be listed as tasks?
+if (count($_show_external)) {
+ $_prefs['show_external'] = array(
+ 'value' => 'a:0:{}',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'multienum',
+ 'enum' => $_show_external,
+ 'desc' => _("Show data from any of these other applications in your task list?"),
+ );
+}
+
+// show complete/incomplete tasks?
+$_prefs['show_completed'] = array(
+ 'value' => 1,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'enum',
+ 'enum' => array(1 => _("All tasks"),
+ 0 => _("Incomplete tasks"),
+ 2 => _("Complete tasks")),
+ 'desc' => _("Show complete, incomplete, or all tasks in the task list?"),
+);
+
+// user task categories
+$_prefs['task_categories'] = array(
+ 'value' => '',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'implicit'
+);
+
+// default task list selection widget
+$_prefs['tasklistselect'] = array('type' => 'special');
+
+// default tasklists
+// Set locked to true if you don't want users to have multiple task lists.
+$_prefs['default_tasklist'] = array(
+ 'value' => Horde_Auth::getAuth() ? Horde_Auth::getAuth() : 0,
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'implicit',
+);
+
+// store the task lists to diplay
+$_prefs['display_tasklists'] = array(
+ 'value' => 'a:0:{}',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'implicit',
+);
--- /dev/null
+<?php
+/**
+ * Nag data script.
+ *
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jan Schneider <jan@horde.org>
+ */
+
+function _cleanup()
+{
+ global $import_step;
+ $import_step = 1;
+ return Horde_Data::IMPORT_FILE;
+}
+
+require_once dirname(__FILE__) . '/lib/base.php';
+
+if (!$conf['menu']['import_export']) {
+ require NAG_BASE . '/index.php';
+ exit;
+}
+
+/* Importable file types. */
+$file_types = array('csv' => _("CSV"),
+ 'vtodo' => _("iCalendar (vTodo)"));
+
+/* Templates for the different import steps. */
+$templates = array(
+ Horde_Data::IMPORT_CSV => array($registry->get('templates', 'horde') . '/data/csvinfo.inc'),
+ Horde_Data::IMPORT_MAPPED => array($registry->get('templates', 'horde') . '/data/csvmap.inc'),
+ Horde_Data::IMPORT_DATETIME => array($registry->get('templates', 'horde') . '/data/datemap.inc')
+);
+if (Nag::hasPermission('max_tasks') !== true &&
+ Nag::hasPermission('max_tasks') <= Nag::countTasks()) {
+ $message = @htmlspecialchars(sprintf(_("You are not allowed to create more than %d tasks."), Nag::hasPermission('max_tasks')), ENT_COMPAT, Horde_Nls::getCharset());
+ if (!empty($conf['hooks']['permsdenied'])) {
+ $message = Horde::callHook('_perms_hook_denied', array('nag:max_tasks'), 'horde', $message);
+ }
+ $notification->push($message, 'horde.warning', array('content.raw'));
+ $templates[Horde_Data::IMPORT_FILE] = array(NAG_TEMPLATES . '/data/export.inc');
+} else {
+ $templates[Horde_Data::IMPORT_FILE] = array(NAG_TEMPLATES . '/data/import.inc', NAG_TEMPLATES . '/data/export.inc');
+}
+
+/* Field/clear name mapping. */
+$app_fields = array(
+ 'name' => _("Name"),
+ 'desc' => _("Description"),
+ 'category' => _("Category"),
+ 'assignee' => _("Assignee"),
+ 'due' => _("Due By"),
+ 'alarm' => _("Alarm"),
+ 'start' => _("Start"),
+ 'priority' => _("Priority"),
+ 'private' => _("Private Task"),
+ 'estimate' => _("Estimated Time"),
+ 'completed' => _("Completion Status"),
+ 'completed_date' => _("Completion Date"),
+ 'uid' => _("Unique ID")
+);
+
+/* Date/time fields. */
+$time_fields = array('due' => 'datetime');
+
+/* Initial values. */
+$param = array('time_fields' => $time_fields,
+ 'file_types' => $file_types);
+$import_format = Horde_Util::getFormData('import_format', '');
+$import_step = Horde_Util::getFormData('import_step', 0) + 1;
+$next_step = Horde_Data::IMPORT_FILE;
+$actionID = Horde_Util::getFormData('actionID');
+$error = false;
+
+/* Loop through the action handlers. */
+switch ($actionID) {
+case 'export':
+ $exportID = Horde_Util::getFormData('exportID');
+ $tasklists = Horde_Util::getFormData('exportList', $display_tasklists);
+ if (!is_array($tasklists)) {
+ $tasklists = array($tasklists);
+ }
+
+ /* Get the full, sorted task list. */
+ $tasks = Nag::listTasks(null, null, null, $tasklists,
+ Horde_Util::getFormData('exportTasks'));
+ if (is_a($tasks, 'PEAR_Error')) {
+ $notification->push($tasks);
+ $error = true;
+ } elseif (!$tasks->hasTasks()) {
+ $notification->push(_("There were no tasks to export."), 'horde.message');
+ $error = true;
+ } else {
+ $tasks->reset();
+ switch ($exportID) {
+ case Horde_Data::EXPORT_CSV:
+ $data = array();
+ while ($task = $tasks->each()) {
+ $task = $task->toHash();
+ unset($task['task_id']);
+ $task['desc'] = str_replace(',', '', $task['desc']);
+ unset($task['tasklist_id']);
+ unset($task['parent']);
+ unset($task['view_link']);
+ unset($task['complete_link']);
+ unset($task['edit_link']);
+ unset($task['delete_link']);
+ $data[] = $task;
+ }
+ $csv = Horde_Data::singleton('csv');
+ $csv->exportFile(_("tasks.csv"), $data, true);
+ exit;
+
+ case Horde_Data::EXPORT_ICALENDAR:
+ require_once NAG_BASE . '/lib/version.php';
+ $iCal = new Horde_iCalendar();
+ $iCal->setAttribute(
+ 'PRODID',
+ '-//The Horde Project//Nag ' . NAG_VERSION . '//EN');
+ while ($task = $tasks->each()) {
+ $iCal->addComponent($task->toiCalendar($iCal));
+ }
+ $data = $iCal->exportvCalendar();
+ $browser->downloadHeaders(_("tasks.ics"), 'text/calendar', false, strlen($data));
+ echo $data;
+ exit;
+ }
+ }
+ break;
+
+case Horde_Data::IMPORT_FILE:
+ $_SESSION['import_data']['target'] = Horde_Util::getFormData('tasklist_target');
+ break;
+}
+
+if (!$error) {
+ $data = Horde_Data::singleton($import_format);
+ if (is_a($data, 'PEAR_Error')) {
+ $notification->push(_("This file format is not supported."), 'horde.error');
+ $next_step = Horde_Data::IMPORT_FILE;
+ } else {
+ $next_step = $data->nextStep($actionID, $param);
+ if (is_a($next_step, 'PEAR_Error')) {
+ $notification->push($next_step->getMessage(), 'horde.error');
+ $next_step = $data->cleanup();
+ }
+ }
+}
+
+/* We have a final result set. */
+if (is_array($next_step)) {
+ /* Create a category manager. */
+ require_once 'Horde/Prefs/CategoryManager.php';
+ $cManager = new Prefs_CategoryManager();
+ $categories = $cManager->get();
+
+ /* Create a Nag storage instance. */
+ $storage = Nag_Driver::singleton($_SESSION['import_data']['target']);
+ $max_tasks = Nag::hasPermission('max_tasks');
+ $num_tasks = Nag::countTasks();
+ $result = null;
+ foreach ($next_step as $row) {
+ if ($max_tasks !== true && $num_tasks >= $max_tasks) {
+ $message = @htmlspecialchars(sprintf(_("You are not allowed to create more than %d tasks."), Nag::hasPermission('max_tasks')), ENT_COMPAT, Horde_Nls::getCharset());
+ if (!empty($conf['hooks']['permsdenied'])) {
+ $message = Horde::callHook('_perms_hook_denied', array('nag:max_tasks'), 'horde', $message);
+ }
+ $notification->push($message, 'horde.error', array('content.raw'));
+ break;
+ }
+
+ if (!is_array($row)) {
+ if (!is_a($row, 'Horde_iCalendar_vtodo')) {
+ continue;
+ }
+ $task = new Nag_Task();
+ $task->fromiCalendar($row);
+ $row = $task->toHash();
+ foreach ($app_fields as $field => $null) {
+ if (!isset($row[$field])) {
+ $row[$field] = '';
+ }
+ }
+ }
+
+ $result = $storage->add($row['name'], $row['desc'], $row['start'],
+ $row['due'], $row['priority'],
+ $row['estimate'], $row['completed'],
+ $row['category'], $row['alarm'], $row['uid'],
+ isset($row['parent']) ? $row['parent'] : '',
+ $row['private'], Horde_Auth::getAuth(),
+ $row['assignee']);
+ if (is_a($result, 'PEAR_Error')) {
+ break;
+ }
+
+ if (!empty($row['category']) &&
+ !in_array($row['category'], $categories)) {
+ $cManager->add($row['category']);
+ $categories[] = $row['category'];
+ }
+
+ $num_tasks++;
+ }
+
+
+ if (!count($next_step)) {
+ $notification->push(sprintf(_("The %s file didn't contain any tasks."),
+ $file_types[$_SESSION['import_data']['format']]), 'horde.error');
+ } elseif (is_a($result, 'PEAR_Error')) {
+ $notification->push(sprintf(_("There was an error importing the data: %s"),
+ $result->getMessage()), 'horde.error');
+ } else {
+ $notification->push(sprintf(_("%s successfully imported"),
+ $file_types[$_SESSION['import_data']['format']]), 'horde.success');
+ }
+ $next_step = $data->cleanup();
+}
+
+$title = _("Import/Export Tasks");
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+
+foreach ($templates[$next_step] as $template) {
+ require $template;
+ echo '<br />';
+}
+
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+--------
+v3.0-git
+--------
+
+[cjh] Quick Add support: there is a javascript UI element for quickly adding
+ tasks, and an API method (tasks/quickAdd) that provides the same
+ functionality.
+[jan] Add individual notification methods for single tasks (Alfonso Marín
+ Marín <almarin@um.es>).
+
+
+----------
+v2.3.3-cvs
+----------
+
+[jan] Show application name as task list name when listing external tasks.
+[jan] Fix importing vTodo data including more iCalendar components.
+
+
+------
+v2.3.2
+------
+
+[jan] Don't allow to set alarms if no due date has been set.
+[cjh] Work around BC break with Horde versions before 3.2 (Bug #7820).
+[cjh] Add URL access to tasks by "starts-with" search on the task name.
+[cjh] Add hooks for altering the displayed task description and showing help
+ text next to the task description entry field.
+[cjh] Add estimated time to the fields available in the task list.
+[jan] Fix link escaping in notification messages (Alfonso Marín Marín
+ <almarin@um.es>, Bug #7509).
+
+
+------
+v2.3.1
+------
+
+[cjh] Add a PostgreSQL-specific upgrade script for 2.2 to 2.3.
+[cjh] Fix fatal error when completing tasks (Bug #7400).
+[mms] Upgrade prototype.js to v1.6.0.3.
+
+
+----
+v2.3
+----
+
+[jan] Change group field in shares table to work with LDAP groups (Bug #6883).
+[jan] Log completion date if adding a completed task (Bug #7275).
+[jan] Fix user name conversion with user hooks in the task list panel
+ (Bug #7366).
+[jan] Fix displayed WebDAV subscription URLs in the task list manager.
+
+
+--------
+v2.3-RC1
+--------
+
+[jan] Log moving of tasks in the history backend (Bug #3207).
+[jan] Fix deleting all tasks over WebDAV (Bug #7004).
+[jan] Add Estonian translation (Alar Sing <alar.sing@err.ee>).
+[jan] Send a more detailed notification message and use the recipient's
+ preferred language and date/time format after a task has changed.
+[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
+ <xabier.arrieta@ehu.es>).
+[jan] Fix task relationship getting lost when importing tasks
+ (tkrah@fachschaft.imn.htwk-leipzig.de, bb.apc.ag, Bug #6770).
+[jan] Add preference to set columns for the list view.
+[jan] Allow to set task assignee.
+[jan] Add options to export screen for choosing task lists and task states.
+[mjr] Remove user permissions on all shares when deleting a user.
+[mjr] Fix issue with removeUserData api that caused the deleted user's task list
+ to not be deleted (Bug #6969).
+
+
+----
+v2.2
+----
+
+[cjh] Improve resource usage in datatree_to_sql share migration script
+ (Bug #6740).
+[jan] Allow to import all fields that can be exported.
+[cjh] Fix displayed WebDAV subscription URLs in the panel (Bug #6709).
+
+
+--------
+v2.2-RC3
+--------
+
+[bak] Move tasklists into per-owner subdirectories when viewed through WebDAV.
+ (Request #6595)
+[cjh] Apply fix for http://dev.rubyonrails.org/ticket/11473 to prototype.js
+ (Request #6590).
+[cjh] Add an upgrade script for the new SQL share driver (Request #6109).
+[jan] Correctly determine default task list in the API (SyncML, WebDAV).
+[cjh] Show who created or made the last change to a task along with the date
+ (Request #6305).
+[jan] Add Turkish translation (METU <horde-tr@metu.edu.tr>).
+
+
+--------
+v2.2-RC2
+--------
+
+[jan] SECURITY: Fix privilege escalation in Horde API.
+[cjh] SECURITY: Fix missing ownership validation on share changes.
+[cjh] Fix sorting tasks by Task list.
+[jan] Fix tasks losing their parent task when being completed (Bug #6035).
+[cjh] Add the ability to filter the list of task lists in the panel.
+[cjh] New share management UI that doesn't require JavaScript.
+[jan] Fix 2006-04-18_add_creator_and_assignee_fields.php upgrade script.
+
+
+--------
+v2.2-RC1
+--------
+
+[jan] Implement WebDAV access.
+[jan] Add exportTasklist() API method.
+[jan] Add SQL upgrade script.
+[jan] Show estimated time including sub-tasks.
+[cjh] Fix generation of UIDs with PHP 5.2+.
+
+
+----------
+v2.2-ALPHA
+----------
+
+[cjh] Add preferences for turning due dates on by default, setting the
+ default due date's number of days in the future, and setting the
+ default due date's time.
+[cjh] Add vCalendar 2.0 alarm export (munzli@olmero.ch, Bug #4851).
+[jan] Add sub-tasks.
+[jan] Add start dates for tasks.
+[jan] Add support for the Horde_Alarm framework (requires Horde 3.2).
+[cjh] Default to a javascript quick search, if available, with options
+ for the full search and a direct link to full search if javascript
+ is unavailable.
+[cjh] Allow explicitly searching All, Incomplete, or Completed tasks
+ (Request #4222).
+[cjh] Allow configuring the tasklists that the task summary block shows,
+ and let the user set a title for the block to differentiate multiple
+ instances (Request #2388).
+[cjh] Show task description tooltips in the task summary block (Request #3444).
+[cjh] Store completion date and add history entries for task completion.
+[cjh] Move tasklist selection/deselection to a collapsible panel.
+[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
+ (Request #4080)
+[cjh] Allow using the checkboxes to mark tasks as incomplete as well
+ as complete (michael.sheldon@credativ.de, Request #4250).
+[cjh] Sort date fields correctly with JS table sorting.
+[jan] Add private flag.
+[jan] Add a field for estimated time being spent on a task.
+[mdj] Add support for split read/write database.
+[mdj] Add failover support for SQL backend.
+[cjh] Add a tree block for showing current alarms.
+
+
+------
+v2.1.4
+------
+
+[jan] SECURITY: Fix privilege escalation in Horde API.
+[cjh] SECURITY: Fix missing ownership validation on share changes.
+[cjh] Send iCalendar data as UTF-8.
+
+
+------
+v2.1.3
+------
+
+[jan] Show alarms for overdue tasks too.
+[jan] Add Catalan translation (Jordi Giralt <projecte.k2@upcnet.es>).
+
+
+------
+v2.1.2
+------
+
+[jan] Show error message if imported file didn't contain tasks.
+[jan] Add categories from imported contacts to the user's categories.
+[jan] Fix import of CSV data.
+[jan] Add Slovenian translation (Duck <duck@obala.net>).
+[jan] Show personal tasklist by default with disabled preferences (Bug #4078).
+
+
+------
+v2.1.1
+------
+
+[jan] Only load completed/incomplete tasks from backend where sufficient
+ (Request #2387).
+[jan] Don't show tooltips for tasks without read permissions (Bug #3836).
+[jan] Fix fatal error when dealing with very old tasks that don't have a UID
+ yet (Bug #3818).
+[jan] Add 1.1 to 2.x upgrade script for Oracle.
+
+
+----
+v2.1
+----
+
+[ben] Better support for MS-SQL.
+
+
+--------
+v2.1-RC1
+--------
+
+[jan] Add Portuguese translation (Manuel Menezes de Sequeira
+ <Manuel.Sequeira>).
+[jan] Add preference to send email notifications to users when tasks have
+ been added, edited, or deleted in their calendars (kevin_myer@iu13.org,
+ Request #2332).
+[jan] Confirm task deletions (Request #1155).
+[jan] Add CLI script to import vTodo data.
+[cjh] Add support for dynamic re-sorting of the task list, including saving
+ the sort preferences on any changes.
+[cjh] Deprecate the DataTree tasks driver.
+[cjh] Make the completed checkbox in task view functional
+ (martin@mein-horde.de, Bug #2157).
+[mas] Change any output of <b> and <i> tags to <strong> and <em> for better
+ accessibility support.
+[jan] Add permissions to restrict number of tasks.
+[jan] Add print view to task list (kevin_myer@iu13.org, Bug #1875).
+[cjh] Add ics.php, which can be used for integration with Sunbird,
+ iCal, et. al.
+[jan] Show category colors in portal block (Brandon Knitter
+ <knitterb@blandsite.org>, Bug #1126).
+
+
+------
+v2.0.4
+------
+
+[cjh] Close several XSS vulnerabilities with task and tasklist data.
+
+
+------
+v2.0.3
+------
+
+[jan] Allow to import more than one task from vTodo data at once.
+
+
+------
+v2.0.2
+------
+
+[cjh] Add a PostgreSQL upgrade script (Bug #1780).
+[cjh] Use bind variables in the SQL driver (selsky@columbia.edu, Bug #1681).
+[cjh] Fix problem where you couldn't select any tasklists once you'd
+ deselected all of them.
+[jan] Add shortcut icon (favicon.ico).
+[jan] Fix warnings if no tasks to export exist.
+[jan] Fix CSV imports (Bug #1387).
+[cjh] Allow hiding the Task List column in the List view.
+
+
+------
+v2.0.1
+------
+
+[jan] Allow to select the "Unfiled" category in the portal block (Mathieu
+ Clabaut <mathieu.clabaut@free.fr>, Bug #1237).
+[cjh] Don't highlight the New Task menu item when editing tasks.
+[cjh] Use a checkbox for editing completed/incomplete in the task
+ edit view, to match the list view (Bug #1212).
+[jan] Fix print button.
+[jan] Add Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>).
+
+
+----
+v2.0
+----
+
+[cjh] UIDs need to be stored in the History system with a nag: prefix and
+ with the tasklist_id so as not to confuse different instances of the
+ same task (if two users both have a task on their seperate tasklists,
+ they should have unique histories for that task).
+[jan] Fix upgrade script to create unique IDs.
+
+
+--------
+v2.0-RC3
+--------
+
+[jan] Add Polish translation (Piotr Kuczynski <pkuczynski@hypode.pl>).
+[cjh] Add My Tasklists menu entry.
+
+
+--------
+v2.0-RC2
+--------
+
+[jan] Add Latvian translation (Janis Eisaks <jancs@dv.lv>).
+
+
+--------
+v2.0-RC1
+--------
+
+[jan] Tweak layout of the summary block.
+
+
+---------
+v2.0-BETA
+---------
+
+[jan] Add special black-on-white styles for message printing.
+[cjh] Users can now specify a secondary sort column
+ (Andrew Coleman <mercury@appisolutions.net>).
+[cjh] Preserve searches while re-sorting (Francois Marier <francois@nit.ca>).
+[jan] Add access keys.
+[cjh] Add Kolab drivers (Stuart Bingë <s.binge@codefusion.co.za>).
+
+
+----------
+v2.0-ALPHA
+----------
+
+[cjh] GUIDs now only contain nag: and the task ID - sharename is not needed.
+[cjh] Task IDs are now 32-character unique strings, to be useable as GUIDs.
+ The SQL table definition has changed; conversion scripts are in scripts/.
+[jan] Add Indonesian language (Slamin <slamin@unej.ac.id>).
+[cjh] Add import and export in vTodo (iCalendar) format.
+[cjh] Make sure that the correct categories for a task's current tasklist
+ are always used.
+[cjh] Track addition, modification, and deletion of tasks
+ with the Horde History:: API.
+[cjh] Change how tasks are stored in the SQL driver. scripts/create_sequence.php
+ will update an existing database with no loss of data.
+[cjh] Show tooltips containing task descriptions.
+[cjh] Add a preference for the default category
+ (Brian Keifer <brian@valinor.net>).
+[cjh] Make the due date in the summary block configurable
+ (Mathieu CLABAUT <mathieu.clabaut@free.fr>).
+[cjh] Add task alarms (Mathieu CLABAUT <mathieu.clabaut@free.fr>).
+[jan] Add UTF-8 support and charset parameter for backend drivers.
+[cjh] Only show selected task categories on the summary screen
+ (John Morrissey <jwm@horde.net>).
+[cjh] Much more comprehensive permissions checking, and support for
+ guest access.
+[cjh] Use the global shares editing page for changing/assigning share permissions.
+[cjh] Add options for showing, sorting by, and grouping by task owner
+ (Brian Keifer <brian@valinor.net>).
+[mac] Allow importing onto any available Task list.
+[cjh] Add an option to show only complete tasks, and add links on the
+ task view to switch between all, complete, and incomplete.
+[mac] Add shared task lists.
+
+
+------
+v1.1.3
+------
+
+[jan] Close XSS when setting the parent frame's page title by javascript (cjh).
+
+
+------
+v1.1.2
+------
+
+[jan] Add Polish translation (Piotr Kuczynski <pkuczynski@hypode.pl>).
+[cjh] Fix changing of task attributes that have not been set previously
+ (rvs@angara.ru, Bug #569).
+
+
+------
+v1.1.1
+------
+
+[jan] Add Indonesian language (Slamin <slamin@unej.ac.id>).
+[jan] Add Arabic (Syria) translation (Platinum Development Team
+ <devteam@platinum-sy.net>).
+[jan] Add Romanian translation (Eugen Hoanca <eugenh@urban-grafx.ro>,
+ Marius Dragulescu <mariusd@urban-grafx.ro>).
+[jon] Display the task navbar above the description in the task view, as well
+ (John Morrissey <jwm@horde.net>).
+
+
+----
+v1.1
+----
+
+[jan] Add Greek translation (Stefanos I. Dimitriou <sdimitri@teiath.gr>).
+[jan] Add print task button (mac).
+[jan] Add Slovak translation (Ivan Noris <vix@vazka.sk>).
+[jan] Add ability to create new categories (mac).
+[jan] Add Nag::addParameter().
+[jan] Add Norwegian Bokmaal translation (Torstein S. Hansen <huleboer@techbee.no>).
+[jan] Add Bulgarian translation (Miroslav Pendev <miro@cybershade.us>).
+[jan] Add preferences for showing priorities and due dates in the summary
+ (Brian Keifer <brian@valinor.net>).
+[jan] Add Lithuanian translation (Darius Matuliauskas <darius@lnk.lt>).
+[jan] Replace <?= with <?php echo to remove the short_open_tags requirement (cjh).
+[jan] Show success or failure message on saving the task.
+[jan] Show completed tasks with strikethrough in the Horde summary screen
+ (Bill Edgington <horde@0x20.com>).
+[jan] Add Danish translation (Martin List-Petersen <martin@list-petersen.dk>).
+
+
+----
+v1.0
+----
+
+[jan] Add Hungarian translation (Laszlo L. Tornoci <torlasz@xenia.sote.hu>).
+[jan] Add Simplified Chinese translation (Peter Wang <whw@oulink.net>).
+[jan] Add Korean translation (J.I Kim <aporie@netian.com>).
+[jan] Add Norwegian Nynorsk translation (Per-Stian Vatne <psv@orsta.org>).
+[cjh] Completed tasks aren't overdue, no matter what the due date.
+[cjh] Filter out completed tasks earlier if requested, so the task count
+ is correct.
+[cjh] Simplify color scheme a bit.
+[cjh] Add category column.
+[cjh] Remove task_added column.
+[cjh] Keep track of when a task was last modified (for sync purposes).
+[jan] Add Finnish translation (Tero Matinlassi <terom@iki.fi>).
+[jan] Add Brazilian Portuguese translation (Antonio Dias <accdias@sst.com.br>).
+[cjh] Close a potential problem with register_globals On and $js_onLoad.
+[cjh] Add new task link to the summary (Quinn Wilson <qwilson@midworld.org>).
+[cjh] Use the new PrefsUI class.
+[cjh] Remove the STORAGE_* constants in favor of PEAR_Errors.
+[cjh] Add a preference to not show completed tasks in the task list.
+[cjh] Fix completion widget in the task modification screen.
+[jon] Adapt to the new Horde::img() syntax.
+[cjh] Switch output compression to ob_gzhandler().
+[cjh] Use NAG_TEMPLATES constant for all template paths.
+[cjh] Use $registry->get() for all Registry information.
+[cjh] Prefix all application constants with NAG_.
+[cjh] Use the new Notification system.
+[jon] Enable the "portability" option in the SQL driver.
+[jan] Remove the standard value for the language preference. The language to
+ fall back to should be set Horde wide in lang.php instead.
+[jan] Add Swedish translation (Andreas Dahlén <andreas@dahlen.ws>).
+[jan] Add Traditional Chinese translation (David Chang <david@thbuo.gov.tw>).
+[bjn] Change 'en' and 'en_EN' locales to 'en_US' (default).
+[cjh] Change Nag_Storage:: to Nag_Driver::.
+[cjh] Allow setting priority for multiple tasks in the list view.
+[cjh] Change task priorities to be 1-5 (matches Palm todo list).
+[jon] Apply a "strike-through" style to closed (completed) tasks.
+[jon] Remove task dependency code.
+[jon] Add completion status. (Paul Cooper <pgc@ucecom.com>)
+[jan] Add French translation (Mikhaël Janson <mik@galaxie.net>).
+[cjh] Let the Registry handle retrieving preferences.
+[jan] Due tasks can now be shown in Kronolith.
+[jan] Add Italian translation (Giovanni Meneghetti <gmeneghetti@infvic.it>).
+[cjh] Add Czech translation (pchytil@asp.ogi.edu).
+[cjh] Add Russian translation (Ignat Ikryanov <ignat@ibd.ru>).
+[avsm] Replace $conf['paths'] with the $registry equivalents.
+[jon] Updated to reflect the changes in PEAR DB's quoteString().
+[cjh] Add $conf['menu']['apps'] support.
+[cjh] Add low and high priority icons.
+[cjh] Show a note icon if a task has a description.
+[jon] Added the concept of task priorities (low, medium, high).
+[jon] Return to the task detail view after additions or modifications.
+[jon] Allow a task to be dependent on another task.
+[cjh] Add translation framework.
+[jon] Added Nag::formatDate() to format internal date values.
+
+
+------
+v0.0.1
+------
+
+[cjh] Start application-specific constants at 100 and prefix them with NAG_.
+[cjh] Add a Horde summary API function.
+[jon] Added initial help text.
+[cjh] Use prefs.gif and generic prefs templates from Horde.
+[jon] Display task descriptions using a proportional (fixed) font.
+[jon] Added externally-accessible API for registry integration.
+[jon] HORDE_BASE is now defined in lib/base.php instead of config/conf.php.
+[jon] Added detailed installation documentation (docs/INSTALL).
+[jon] Moved task retrieval out of base.php for more efficiency and granularity.
+[jon] Display overdue tasks in a different color.
+[jon] Added status support for Horde messages / errors.
+[cjh] Make multiple task deletion from the task list work.
+[cjh] Make task storage work when deleting more than one task.
+[jon] Added rudimentary searching capabilities.
+[cjh] Define the HORDE_BASE constant in config/conf.php, and use it when
+ referring to any of Horde's files.
+[jon] Added the ability to add, remove, and delete tasks.
+[jon] Made the task view date and time formats separately configurable.
+[jon] Added individual task viewing (with descriptions).
+[jon] Added sorting to the task list.
+[jon] Added initial preferences support.
+[jon] Added an initial "List Tasks" implementation
+[jon] Added the 'sql' storage implementation.
--- /dev/null
+======================
+ Nag Development Team
+======================
+
+
+Core Developers
+===============
+
+- Chuck Hagenbuch <chuck@horde.org>
+- Jan Schneider <jan@horde.org>
+
+
+Localization
+============
+
+===================== ======================================================
+Arabic (Syria) Platinum Development Team <devteam@platinum-sy.net>
+Basque Euskal Herriko Unibertsitatea <xabier.arrieta@ehu.es>
+Brazilian Portuguese Antonio Dias <accdias@sst.com.br>
+ Fabio Gomes <flgomes@fazenda.sp.gov.br>
+ Luis Felipe Marzagao <duli@fedoraproject.org>
+ Eduardo de Carli <carliedu@ig.com.br>
+Bulgarian Miroslav Pendev <miro@cybershade.us>
+Catalan Jordi Giralt <projecte.k2@upcnet.es>
+Chinese (Simplified) Peter Wang <whw@oulink.net>
+Chinese (Traditional) David Chang <david@tmv.gov.tw>
+Czech Pavel Chytil <pchytil@asp.ogi.edu>
+Danish Martin List-Petersen <martin@list-petersen.dk>
+ Brian Truelsen <horde+i18n@briantruelsen.dk>
+ Niels Baggesen <nba@users.sourceforge.net>
+Dutch Jan Kuipers <jrkuipers@lauwerscollege.nl>
+ Ariën Huisken <arien@huisken-systems.nl>
+Estonian Alar Sing <alar.sing@err.ee>
+Finnish Tero Matinlassi <terom@iki.fi>
+ Leena Heino <leena.heino@uta.fi>
+French Mikhaël Janson <mik@galaxie.net>
+ Benoit St-André <ben@benoitst-andre.net>
+ Pierre Lachance <pl@pierrelachance.net>
+ Thierry Thomas <thierry@horde.org>
+ Yannick Sebastia <yannick.sebastia@ecole-navale.fr>
+German Jan Schneider <jan@horde.org>
+Greek Stefanos I. Dimitriou <support_webmail@teiath.gr>
+ Silligardos Xristoforos
+ Anagnostopoulos Apostolis
+ Konstantinos C. Milosis <kmilosis@yahoo.com>
+Hungarian Laszlo L. Tornoci <torlasz@xenia.sote.hu>
+Indonesian Slamin <slamin@unej.ac.id>
+Italian Giovanni Meneghetti <gmeneghetti@infvic.it>
+ Marco Pirovano <marco.pirovano@unibocconi.it>
+ Cristian Manoni <cristian.manoni@nethesis.it>
+Japanese Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>
+Korean J.I Kim <aporie@netian.com>
+Latvian Janis Eisaks <jancs@dv.lv>
+Lithuanian Darius Matuliauskas <darius@lnk.lt>
+ Vilius Šumskas <vilius@lnk.lt>
+Norwegian Bokmaal Torstein S. Hansen <huleboer@techbee.no>
+Norwegian Nynorsk Per-Stian Vatne <psv@orsta.org>
+Polish Piotr Kuczynski <pkuczynski@hypode.pl>
+ Piotr Adamcio <adamcios@o2.pl>
+ Tadeusz Lesiecki <lesiecki@tmtsystem.pl>
+ Piotr Tarnowski <drfugazi@drfugazi.eu.org>
+Portuguese Manuel Menezes de Sequeira <Manuel.Sequeira>
+Romanian Eugen Hoanca <eugenh@urban-grafx.ro>
+ Marius Dragulescu <mariusd@urban-grafx.ro>
+Russian Ignat Ikryanov <ignat@ibd.ru>
+ Alexey Zakharov <baber@mosga.net>
+Slovak Ivan Noris <vix@vazka.sk>
+ Martin Matuška <martin@matuska.org>
+Slovenian Duck <duck@obala.net>
+Spanish Raúl Alvarez Venegas <rav@tecoman.ucol.mx>
+ Manuel Perez Ayala <mperaya@alcazaba.unex.es>
+Swedish Andreas Dahlén <andreas@dahlen.ws>
+ Joaquim Homrighausen <joho@webbplatsen.se>
+Turkish Istanbul Technical University IT Department
+ <itubim@itu.edu.tr>
+ Middle East Technical University <horde-tr@metu.edu.tr>
+===================== ======================================================
+
+
+Inactive Developers
+===================
+
+- Jon Parise <jon@csh.rit.edu>
--- /dev/null
+================
+ Installing Nag
+================
+
+:Contact: nag@lists.horde.org
+
+.. contents:: Contents
+.. section-numbering::
+
+This document contains instructions for installing the Nag web-based todo list
+application on your system.
+
+For information on the capabilities and features of Nag, see the file README_
+in the top-level directory of the Nag distribution.
+
+
+Obtaining Nag
+=============
+
+Nag can be obtained from the Horde website and FTP server, at
+
+ http://www.horde.org/nag/
+
+ ftp://ftp.horde.org/pub/nag/
+
+Bleeding-edge development versions of Nag are available via CVS; see the file
+`docs/HACKING`_ in the Horde distribution for information on accessing the
+Horde CVS repository.
+
+
+Prerequisites
+=============
+
+To function properly, Nag requires the following:
+
+1. A working Horde installation.
+
+ Nag runs within the `Horde Application Framework`_, a set of common tools
+ for Web applications written in PHP. You must install Horde before
+ installing Nag.
+
+ .. _`Horde Application Framework`: http://www.horde.org/horde/
+
+ The Horde Framework can be obtained from the Horde website and FTP server,
+ at
+
+ http://www.horde.org/horde/
+
+ ftp://ftp.horde.org/pub/horde/
+
+ Many of Nag's prerequisites are also Horde prerequisites. Be sure to have
+ completed all of the steps in the INSTALL_ file for the Horde Framework
+ before installing Nag.
+
+2. SQL support in PHP *or* a configured Kolab Server.
+
+ Nag will store its data in either an SQL database or on a Kolab Server.
+ If you use SQL, build PHP with whichever SQL driver you require; see the
+ Horde INSTALL_ file for details.
+
+
+Installing Nag
+==============
+
+Nag is written in PHP, and must be installed in a web-accessible directory.
+The precise location of this directory will differ from system to system.
+Conventionally, Nag is installed directly underneath Horde in the webserver's
+document tree.
+
+Since Nag is written in PHP, there is no compilation necessary; simply expand
+the distribution where you want it to reside and rename the root directory of
+the distribution to whatever you wish to appear in the URL. For example, with
+the Apache webserver's default document root of ``/usr/local/apache/htdocs``,
+you would type::
+
+ cd /usr/local/apache/htdocs/horde
+ tar zxvf /path/to/nag-x.y.z.tar.gz
+ mv nag-x.y.z nag
+
+and would then find Nag at the URL::
+
+ http://your-server/horde/nag/
+
+
+Configuring Nag
+===============
+
+1. Configuring Horde for Nag
+
+ a. Register the application
+
+ In ``horde/config/registry.php``, find the ``applications['nag']``
+ stanza. The default settings here should be okay, but you can change
+ them if desired. If you have changed the location of Nag relative to
+ Horde, either in the URL, in the filesystem or both, you must update the
+ ``fileroot`` and ``webroot`` settings to their correct values.
+
+ b. Configuring a DataTree backend
+
+ Nag requires a permanent ``DataTree`` backend in Horde to manage
+ tasklists and to add tasks to tasklists. If you didn't setup a DataTree
+ backend yet, go to the configuration interface, select Horde from the
+ list of applications and select a driver different than ``None`` on the
+ ``DataTree System`` tab. Make sure that you ran the necessary scripts
+ to create a storage backend for the DataTree system, e.g. one of the
+ ``create.*.sql`` or ``horde_datatree.*.sql`` SQL scripts in
+ ``horde/scripts/sql/``. You should have done this already during the
+ installation of Horde.
+
+2. Creating the database table
+
+ The specific steps to create the Nag database table depend on which
+ database you've chosen to use. If you've chosen to use the Kolab driver,
+ skip this step.
+
+ First, look in ``scripts/sql/`` to see if a script already exists
+ for your database type. If so, you should be able to simply execute that
+ script as superuser in your database. (Note that executing the script as
+ the "horde" user will probably fail when granting privileges.)
+
+ If such a script does not exist, you'll need to build your own, using the
+ file nag.sql as a starting point. If you need assistance in creating
+ databases, you may wish to let us know on the Nag mailing list.
+
+3. Configuring Nag
+
+ To configure Nag, change to the ``config/`` directory of the installed
+ distribution, and make copies of all of the configuration ``dist`` files
+ without the ``dist`` suffix::
+
+ cd config/
+ for foo in *.dist; do cp $foo `basename $foo .dist`; done
+
+ Documentation on the format of those files can be found in each file. With
+ the exception of the ``conf.*`` files (see below), the other files in
+ ``config/`` need only be modified if you wish to customize Nag's appearance
+ or behavior, as the defaults will be correct for most sites.
+
+ You must login to Horde as a Horde Administrator to finish the
+ configuration of Nag. Use the Horde ``Administration`` menu item to get to
+ the administration page, and then click on the ``Configuration`` icon to
+ get the configuration page. Select ``Tasks`` from the selection list of
+ applications. Fill in or change any configuration values as needed. When
+ done click on ``Generate Tasks Configuration`` to generate the ``conf.php``
+ file. If your web server doesn't have write permissions to the Nag
+ configuration directory or file, it will not be able to write the file. In
+ this case, go back to ``Configuration`` and choose one of the other methods
+ to create the configuration file ``nag/config/conf.php``.
+
+ Note for international users: Nag uses GNU gettext to provide local
+ translations of text displayed by applications; the translations are found
+ in the po/ directory. If a translation is not yet available for your
+ locale (and you wish to create one), see the ``horde/po/README`` file, or
+ if you're having trouble using a provided translation, please see the
+ `horde/docs/TRANSLATIONS`_ file for instructions.
+
+4. Testing Nag
+
+ Use Nag to create, modify, and delete todos. Test at least the following:
+
+ - Creating a new todo item
+ - Modifying a todo item
+ - Completing a todo item
+ - Deleting a todo item
+
+
+Obtaining Support
+=================
+
+If you encounter problems with Nag, help is available!
+
+The Horde Frequently Asked Questions List (FAQ), available on the Web at
+
+ http://www.horde.org/faq/
+
+The Horde Project runs a number of mailing lists, for individual applications
+and for issues relating to the project as a whole. Information, archives, and
+subscription information can be found at
+
+ http://www.horde.org/mail/
+
+Lastly, Horde developers, contributors and users may also be found on IRC,
+on the channel #horde on the Freenode Network (irc.freenode.net).
+
+Please keep in mind that Nag is free software written by volunteers. For
+information on reasonable support expectations, please read
+
+ http://www.horde.org/support.php
+
+Thanks for using Nag!
+
+The Horde team
+
+
+.. _README: ?f=README.html
+.. _`docs/HACKING`: ../../horde/docs/?f=HACKING.html
+.. _INSTALL:
+.. _`horde/docs/INSTALL`: ../../horde/docs/?f=INSTALL.html
+.. _`horde/docs/TRANSLATIONS`: ../../horde/docs/?f=TRANSLATIONS.html
--- /dev/null
+<?php
+/**
+ * Release focus. Possible values:
+ * 0 - N/A
+ * 1 - Initial freshmeat announcement
+ * 2 - Documentation
+ * 3 - Code cleanup
+ * 4 - Minor feature enhancements
+ * 5 - Major feature enhancements
+ * 6 - Minor bugfixes
+ * 7 - Major bugfixes
+ * 8 - Minor security fixes
+ * 9 - Major security fixes
+ */
+$this->notes['fm']['focus'] = 4;
+
+/* Mailing list release notes. */
+$this->notes['ml']['changes'] = <<<ML
+The Horde Team is pleased to announce the first release candidate of the Nag
+Task List Manager version H3 (2.2).
+
+Nag is a web-based application built upon the Horde Application Framework which
+provides a simple, clean interface for managing online task lists (i.e., TODO
+lists). It also includes strong integration with the other Horde applications
+and offers shared task lists.
+
+This is a preview version that should not be used on production systems. This
+version is considered feature complete but a few bugs may still exist in the
+code.
+
+We encourage widespread testing and feedback via the mailing lists or our bug
+tracking system. Updated translations are very welcome, though some strings
+might still change before the final release.
+
+The major changes compared to the Nag version H3 (2.2-ALPHA) are:
+ * Added WebDAV support for external calendar clients.
+ * Improved estimation times display.
+ * Further bugfixes and improvements.
+ML;
+
+/* Freshmeat release notes, not more than 600 characters. */
+$this->notes['fm']['changes'] = <<<FM
+WebDAV support for external calendar clients has been added. The estimation times display has been improved. Further bugfixes and improvements have been made.
+FM;
+
+$this->notes['name'] = 'Nag';
+$this->notes['fm']['project'] = 'nag';
+$this->notes['fm']['branch'] = 'Horde 3';
--- /dev/null
+===========================
+ Nag Development TODO List
+===========================
+
+:Contact: nag@lists.horde.org
+
+- Allow resorting search results.
+
+- Send email warnings as due dates approach.
+
+- Next/Previous buttons in the task view.
+
+- Adopt some UI enhancements from Palm ToDo app - dropdown list of categories
+ to filter by category, view tasks due today, etc.
+
+- Ability to purge completed tasks.
+
+- Automatically publish tasks in iCalendar format.
--- /dev/null
+===============
+ Upgrading Nag
+===============
+
+:Contact: nag@lists.horde.org
+
+
+These are instructions to upgrade from earlier Nag versions. Please backup
+your existing data before running any of the steps described below. You can't
+use the updated data with your old Nag version anymore.
+
+
+Upgrading Nag from 2.2.x to 2.3.x
+=================================
+
+Some fields in the SQL share driver tables have been changed. Execute the
+provided SQL script to update your database if you are using the native SQL
+share driver.
+
+ mysql --user=root --password=<MySQL-root-password> <db name> < scripts/upgrades/2.2_to_2.3.sql
+
+
+Upgrading Nag from 2.1.x to 2.2.x
+=================================
+
+
+SQL Backends
+------------
+
+A few new fields have been added to the default SQL table layout.
+
+Execute the provided SQL script to update your data to the new Nag version,
+e.g.::
+
+ mysql --user=root --password=<MySQL-root-password> <db name> < scripts/upgrades/2.1_to_2.2.sql
+
+You also have to execute the provided PHP script::
+
+ php scripts/upgrades/2006-04-18_add_creator_and_assignee_fields.php
+
+
+New Beta SQL Share Driver Support
+---------------------------------
+
+A new beta-level SQL Horde_Share driver has been added in Horde 3.2. This driver
+offers significant performance improvements over the existing Datatree driver,
+but it has not received the same level of testing, thus the beta designation.
+In order to make use of this driver, you must be using Horde 3.2-RC3 or
+later. The new tables needed for this driver already should have been created
+by the step above.
+
+If you want to use the new SQL Share driver, you must also execute the
+provided PHP script to migrate your existing share data to the new format::
+
+ php scripts/upgrades/convert_datatree_shares_to_sql.php
+
+
+Upgrading Nag from 1.1.x to 2.0.x
+=================================
+
+
+SQL Backends
+------------
+
+Two new fields have been added to the default SQL table layout. The new
+``task_uid`` field provides a global unique ID to task items, the
+``task_alarm`` allows you to set alarm notification on due dates.
+
+Execute the provided SQL script to update your data to the new Nag version::
+
+ mysql --user=root --password=<MySQL-root-password> <db name> < scripts/upgrades/1.1_to_2.0.mysql.sql
+
+
+Categories
+----------
+
+Categories are now being maintained centrally for all Horde applications that
+support them. To convert the old task categories execute the provided PHP
+script::
+
+ php scripts/upgrades/2004-05-13_convert_categories_to_strings.php
--- /dev/null
+BEGIN:VCALENDAR
+
+BEGIN:VTODO
+DTSTAMP:19980130T134500Z
+SEQUENCE:2
+UID:<1234@example.com>
+ORGANIZER:MAILTO:<test@example.com>
+ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:<EMAIL:test@example.com>
+DUE:19980415T235959
+STATUS:NEEDS-ACTION
+SUMMARY:Submit Income Taxes
+
+BEGIN:VALARM
+ACTION:AUDIO
+TRIGGER;VALUE=DATE-TIME:19980403T120000
+ATTACH;FMTTYPE=audio/basic:http://host.com/pub/audio-files/ssbanner.aud
+REPEAT:4
+DURATION:PT1H
+END:VALARM
+
+END:VTODO
+
+END:VCALENDAR
--- /dev/null
+<?php
+/**
+ * Nag ics script.
+ *
+ * Copyright 1999-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ */
+
+$nag_session_control = 'none';
+require_once dirname(__FILE__) . '/lib/base.php';
+require_once 'Horde/Identity.php';
+
+// We want to always generate UTF-8 iCalendar data.
+Horde_Nls::setCharset('UTF-8');
+
+// Determine which tasklist to export.
+$tasklist = Horde_Util::getFormData('t');
+if (empty($tasklist) && $pathInfo = Horde_Util::getPathInfo()) {
+ $tasklist = basename($pathInfo);
+}
+
+$share = $nag_shares->getShare($tasklist);
+if (is_a($share, 'PEAR_Error')) {
+ header('HTTP/1.0 400 Bad Request');
+ echo '400 Bad Request';
+ exit;
+}
+
+// First try guest permissions.
+if (!$share->hasPermission('', PERMS_READ)) {
+ // Authenticate.
+ $auth = Horde_Auth::singleton($conf['auth']['driver']);
+ if (!isset($_SERVER['PHP_AUTH_USER']) ||
+ !$auth->authenticate($_SERVER['PHP_AUTH_USER'],
+ array('password' => isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : null)) ||
+ !$share->hasPermission(Horde_Auth::getAuth(), PERMS_READ)) {
+ header('WWW-Authenticate: Basic realm="Nag iCalendar Interface"');
+ header('HTTP/1.0 401 Unauthorized');
+ echo '401 Unauthorized';
+ exit;
+ }
+}
+
+$cache = Horde_Cache::singleton($conf['cache']['driver'], Horde::getDriverConfig('cache', $conf['cache']['driver']));
+$key = 'nag.ics.' . $tasklist;
+
+$ics = $cache->get($key, 360);
+if (!$ics) {
+ $iCal = new Horde_iCalendar();
+ $iCal->setAttribute('X-WR-CALNAME', $share->get('name'));
+
+ $storage = Nag_Driver::singleton($tasklist);
+ $result = $storage->retrieve();
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::fatal($result, __FILE__, __LINE__);
+ }
+
+ $identity = Identity::singleton('none', $share->get('owner'));
+ $storage->tasks->reset();
+ while ($task = $storage->tasks->each() ) {
+ $iCal->addComponent($task->toiCalendar($iCal));
+ }
+
+ $ics = $iCal->exportvCalendar();
+ $cache->set($key, $ics);
+}
+
+$browser->downloadHeaders($tasklist . '.ics',
+ 'text/calendar; charset=' . Horde_Nls::getCharset(),
+ true,
+ strlen($ics));
+echo $ics;
--- /dev/null
+<?php
+/**
+ * Nag index script.
+ *
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/lib/base.load.php';
+$nag_configured = (is_readable(NAG_BASE . '/config/conf.php') &&
+ is_readable(NAG_BASE . '/config/prefs.php'));
+
+if (!$nag_configured) {
+ require HORDE_BASE . '/lib/Test.php';
+ Horde_Test::configFilesMissing('Nag', NAG_BASE,
+ array('conf.php', 'prefs.php'));
+}
+
+require NAG_BASE . '/list.php';
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+
+$block_name = _("Tasks Summary");
+
+/**
+ * @package Horde_Block
+ */
+class Horde_Block_nag_summary extends Horde_Block {
+
+ var $_app = 'nag';
+
+ function _title()
+ {
+ global $registry;
+
+ $label = !empty($this->_params['block_title'])
+ ? $this->_params['block_title']
+ : $registry->get('name');
+ return Horde::link(Horde::applicationUrl($registry->getInitialPage(),
+ true))
+ . htmlspecialchars($label) . '</a>';
+ }
+
+ function _params()
+ {
+ require_once dirname(__FILE__) . '/../base.php';
+ require_once 'Horde/Prefs/CategoryManager.php';
+ $cManager = new Prefs_CategoryManager();
+ $categories = array();
+ foreach ($cManager->get() as $c) {
+ $categories[$c] = $c;
+ }
+ $categories['unfiled'] = _("Unfiled");
+
+ $tasklists = array();
+ foreach (Nag::listTasklists() as $id => $tasklist) {
+ $tasklists[$id] = $tasklist->get('name');
+ }
+
+ return array('block_title' => array(
+ 'type' => 'text',
+ 'name' => _("Block title"),
+ 'default' => $GLOBALS['registry']->get('name')),
+ 'show_pri' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Show priorities?"),
+ 'default' => 1),
+ 'show_actions' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Show action buttons?"),
+ 'default' => 1),
+ 'show_due' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Show due dates?"),
+ 'default' => 1),
+ 'show_tasklist' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Show tasklist name?"),
+ 'default' => 1),
+ 'show_alarms' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Show task alarms?"),
+ 'default' => 1),
+ 'show_category' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Show task category?"),
+ 'default' => 1),
+ 'show_overdue' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Always show overdue tasks?"),
+ 'default' => 1),
+ 'show_completed' => array(
+ 'type' => 'checkbox',
+ 'name' => _("Always show completed and future tasks?"),
+ 'default' => 1),
+ 'show_tasklists' => array(
+ 'type' => 'multienum',
+ 'name' => _("Show tasks from these tasklists"),
+ 'default' => array(Horde_Auth::getAuth()),
+ 'values' => $tasklists),
+ 'show_categories' => array(
+ 'type' => 'multienum',
+ 'name' => _("Show tasks from these categories"),
+ 'default' => array(),
+ 'values' => $categories));
+ }
+
+ function _content()
+ {
+ global $registry, $prefs;
+ require_once dirname(__FILE__) . '/../base.php';
+
+ $now = time();
+ $html = '';
+
+ if (!empty($this->_params['show_alarms'])) {
+ $messages = array();
+ $alarmList = Nag::listAlarms($now);
+ if (is_a($alarmList, 'PEAR_Error')) {
+ return '<em>' . htmlspecialchars($alarmList->getMessage())
+ . '</em>';
+ }
+ foreach ($alarmList as $task) {
+ $differential = $task->due - $now;
+ $key = $differential;
+ while (isset($messages[$key])) {
+ $key++;
+ }
+ $viewurl = Horde_Util::addParameter(
+ 'view.php',
+ array('task' => $task->id,
+ 'tasklist' => $task->tasklist));
+ $link = Horde::link(
+ htmlspecialchars(Horde::applicationUrl($viewurl, true)))
+ . (!empty($task->name)
+ ? htmlspecialchars($task->name) : _("[none]"))
+ . '</a>';
+ if ($differential >= -60 && $differential < 60) {
+ $messages[$key] = sprintf(_("%s is due now."), $link);
+ } elseif ($differential >= 60) {
+ $messages[$key] = sprintf(
+ _("%s is due in %s"),
+ $link, Nag::secondsToString($differential));
+ }
+ }
+
+ ksort($messages);
+ foreach ($messages as $message) {
+ $html .= '<tr><td class="control">'
+ . Horde::img('alarm_small.png') . ' <strong>'
+ . $message . '</strong></td></tr>';
+ }
+
+ if (!empty($messages)) {
+ $html .= '</table><br /><table cellspacing="0" width="100%" class="linedRow">';
+ }
+ }
+
+ $i = 0;
+ $tasks = Nag::listTasks(
+ null, null, null,
+ isset($this->_params['show_tasklists'])
+ ? $this->_params['show_tasklists']
+ : array_keys(Nag::listTasklists(false, PERMS_READ)),
+ empty($this->_params['show_completed']) ? 0 : 1);
+ if (is_a($tasks, 'PEAR_Error')) {
+ return '<em>' . htmlspecialchars($tasks->getMessage()) . '</em>';
+ }
+
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ // Only print tasks due in the past if the show_overdue flag is
+ // on. Only display selected categories (possibly unfiled).
+ if (($task->due > 0 &&
+ $now > $task->due &&
+ empty($this->_params['show_overdue'])) ||
+ (!empty($this->_params['show_categories']) &&
+ (!in_array($task->category, $this->_params['show_categories']) &&
+ !(empty($task->category) &&
+ in_array('unfiled', $this->_params['show_categories']))))) {
+ continue;
+ }
+
+ if ($task->completed) {
+ $style = 'closed';
+ } elseif (!empty($task->due) && $task->due < $now) {
+ $style = 'overdue';
+ } else {
+ $style = '';
+ }
+
+ $html .= '<tr class="' . $style . '">';
+
+ if (!empty($this->_params['show_actions'])) {
+ $taskurl = Horde_Util::addParameter(
+ 'task.php',
+ array('task' => $task->id,
+ 'tasklist' => $task->tasklist,
+ 'url' => Horde::selfUrl(true)));
+ $label = sprintf(_("Edit \"%s\""), $task->name);
+ $html .= '<td width="1%">'
+ . Horde::link(htmlspecialchars(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'modify_task'), true)), $label)
+ . Horde::img('edit.png', $label, null,
+ $registry->getImageDir('horde'))
+ . '</a></td>';
+ if ($task->completed) {
+ $html .= '<td width="1%">'
+ . Horde::img('checked.png', _("Completed")) . '</td>';
+ } else {
+ $label = sprintf(_("Complete \"%s\""), $task->name);
+ $html .= '<td width="1%">'
+ . Horde::link(htmlspecialchars(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'complete_task'), true)), $label)
+ . Horde::img('unchecked.png', $label) . '</a></td>';
+ }
+ }
+
+ if (!empty($this->_params['show_pri'])) {
+ $html .= '<td align="center"> '
+ . Nag::formatPriority($task->priority) . ' </td>';
+ }
+
+ if (!empty($this->_params['show_tasklist'])) {
+ $owner = $task->tasklist;
+ $shares = &Horde_Share::singleton($registry->getApp());
+ $share = $shares->getShare($owner);
+ if (!is_a($share, 'PEAR_Error')) {
+ $owner = $share->get('name');
+ }
+ $html .= '<td width="1%" class="nowrap">'
+ . htmlspecialchars($owner) . ' </td>';
+ }
+
+ $html .= '<td>';
+
+ $viewurl = Horde_Util::addParameter(
+ 'view.php',
+ array('task' => $task->id,
+ 'tasklist' => $task->tasklist));
+ $html .= $task->treeIcons()
+ . Horde::link(
+ htmlspecialchars(Horde::applicationUrl($viewurl, true)),
+ $task->desc)
+ . (!empty($task->name)
+ ? htmlspecialchars($task->name) : _("[none]"))
+ . '</a>';
+
+ if ($task->due > 0 &&
+ empty($task->completed) &&
+ !empty($this->_params['show_due'])) {
+ $html .= ' ('
+ . strftime($prefs->getValue('date_format'), $task->due)
+ . ')';
+ }
+
+ $html .= '</td>';
+
+ if (!empty($this->_params['show_category'])) {
+ $html .= '<td width="1%" class="category'
+ . md5($task->category) . '">'
+ . htmlspecialchars($task->category
+ ? $task->category : _("Unfiled"))
+ . '</td>';
+ }
+ $html .= "</tr>\n";
+ }
+
+ if (empty($html)) {
+ return '<em>' . _("No tasks to display") . '</em>';
+ }
+
+ return '<link href="'
+ . htmlspecialchars(Horde::applicationUrl('themes/categoryCSS.php',
+ true))
+ . '" rel="stylesheet" type="text/css" />'
+ . '<table cellspacing="0" width="100%" class="linedRow">'
+ . $html . '</table>';
+ }
+
+}
--- /dev/null
+<?php
+
+$block_name = _("Menu Alarms");
+$block_type = 'tree';
+
+/**
+ * @package Horde_Block
+ */
+class Horde_Block_nag_tree_alarms extends Horde_Block {
+
+ var $_app = 'nag';
+
+ function _buildTree(&$tree, $indent = 0, $parent = null)
+ {
+ require_once dirname(__FILE__) . '/../base.php';
+
+ $horde_alarm = null;
+ if (!empty($GLOBALS['conf']['alarms']['driver'])) {
+ $horde_alarm = Horde_Alarm::factory();
+ }
+
+ // Get any alarms in the next hour.
+ $now = time();
+ $alarms = Nag::listAlarms($now);
+ if (is_a($alarms, 'PEAR_Error')) {
+ return;
+ }
+
+ $alarmCount = 0;
+ foreach ($alarms as $taskId => $task) {
+ if ($horde_alarm &&
+ $horde_alarm->isSnoozed($task->uid, Horde_Auth::getAuth())) {
+ continue;
+ }
+ $alarmCount++;
+ $differential = $task->due - $now;
+ if ($differential >= 60) {
+ $title = sprintf(_("%s is due in %s"), $task->name, Nag::secondsToString($differential));
+ } else {
+ $title = sprintf(_("%s is due now."), $task->name);
+ }
+
+ $url = Horde_Util::addParameter(Horde::applicationUrl('view.php'),
+ array('task' => $task->id,
+ 'tasklist' => $task->tasklist));
+ $tree->addNode($parent . $taskId,
+ $parent,
+ $task->name,
+ $indent + 1,
+ false,
+ array('icon' => 'alarm.png',
+ 'icondir' => $GLOBALS['registry']->getImageDir(),
+ 'title' => $title,
+ 'url' => $url));
+ }
+
+ if ($GLOBALS['registry']->get('url', $parent)) {
+ $purl = $GLOBALS['registry']->get('url', $parent);
+ } elseif ($GLOBALS['registry']->get('status', $parent) == 'heading' ||
+ !$GLOBALS['registry']->get('webroot')) {
+ $purl = null;
+ } else {
+ $purl = Horde::url($GLOBALS['registry']->getInitialPage($parent));
+ }
+ $pnode_params = array('url' => $purl,
+ 'icon' => $GLOBALS['registry']->get('icon', $parent),
+ 'icondir' => '');
+
+ $pnode_params = array('url' => $purl,
+ 'icon' => $GLOBALS['registry']->get('icon', $parent),
+ 'icondir' => '');
+ $pnode_name = $GLOBALS['registry']->get('name', $parent);
+ if ($alarmCount) {
+ $pnode_name = '<strong>' . $pnode_name . '</strong>';
+ }
+
+ $tree->addNode($parent,
+ $GLOBALS['registry']->get('menu_parent', $parent),
+ $pnode_name,
+ $indent,
+ false,
+ $pnode_params);
+ }
+
+}
--- /dev/null
+<?php
+
+$block_name = _("Menu List");
+$block_type = 'tree';
+
+/**
+ * @package Horde_Block
+ */
+class Horde_Block_nag_tree_menu extends Horde_Block {
+
+ var $_app = 'nag';
+
+ function _buildTree(&$tree, $indent = 0, $parent = null)
+ {
+ global $registry;
+
+ require_once dirname(__FILE__) . '/../base.php';
+
+ $add = Horde::applicationUrl('task.php?actionID=add_task');
+ $icondir = $registry->getImageDir();
+
+ $tree->addNode($parent . '__new',
+ $parent,
+ _("New Task"),
+ $indent + 1,
+ false,
+ array('icon' => 'add.png',
+ 'icondir' => $icondir,
+ 'url' => $add));
+
+ foreach (Nag::listTasklists() as $name => $tasklist) {
+ $tree->addNode($parent . $name . '__new',
+ $parent . '__new',
+ sprintf(_("in %s"), $tasklist->get('name')),
+ $indent + 2,
+ false,
+ array('icon' => 'add.png',
+ 'icondir' => $icondir,
+ 'url' => Horde_Util::addParameter($add, array('tasklist_id' => $name))));
+ }
+
+ $tree->addNode($parent . '__search',
+ $parent,
+ _("Search"),
+ $indent + 1,
+ false,
+ array('icon' => 'search.png',
+ 'icondir' => $registry->getImageDir('horde'),
+ 'url' => Horde::applicationUrl('search.php')));
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Nag_Driver:: defines an API for implementing storage backends for Nag.
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jon Parise <jon@horde.org>
+ * @author Jan Schneider <jan@horde.org>
+ * @package Nag
+ */
+class Nag_Driver
+{
+ /**
+ * A Nag_Task instance holding the current task list.
+ *
+ * @var Nag_Task
+ */
+ var $tasks;
+
+ /**
+ * String containing the current tasklist.
+ *
+ * @var string
+ */
+ var $_tasklist = '';
+
+ /**
+ * Hash containing connection parameters.
+ *
+ * @var array
+ */
+ var $_params = array();
+
+ /**
+ * An error message to throw when something is wrong.
+ *
+ * @var string
+ */
+ var $_errormsg;
+
+ /**
+ * Constructor - just store the $params in our newly-created
+ * object. All other work is done by initialize().
+ *
+ * @param array $params Any parameters needed for this driver.
+ */
+ function Nag_Driver($params = array(), $errormsg = null)
+ {
+ $this->tasks = new Nag_Task();
+ $this->_params = $params;
+ if (is_null($errormsg)) {
+ $this->_errormsg = _("The Tasks backend is not currently available.");
+ } else {
+ $this->_errormsg = $errormsg;
+ }
+ }
+
+ /**
+ * List all alarms near $date.
+ *
+ * @param integer $date The unix epoch time to check for alarms.
+ *
+ * @return array An array of tasks that have alarms that match.
+ */
+ function listAlarms($date)
+ {
+ if (!$this->tasks->count()) {
+ $result = $this->retrieve(0);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ }
+ $alarms = array();
+ $this->tasks->reset();
+ while ($task = $this->tasks->each()) {
+ if ($task->alarm &&
+ ($task->due - ($task->alarm * 60)) <= $date) {
+ $alarms[$task_id] = $task;
+ }
+ }
+ return $alarms;
+ }
+
+ /**
+ * Generate a universal / unique identifier for a task. This is
+ * NOT something that we expect to be able to parse into a
+ * tasklist and a taskId.
+ *
+ * @return string A nice unique string (should be 255 chars or less).
+ */
+ function generateUID()
+ {
+ return date('YmdHis') . '.'
+ . substr(str_pad(base_convert(microtime(), 10, 36), 16, uniqid(mt_rand()), STR_PAD_LEFT), -16)
+ . '@' . $GLOBALS['conf']['server']['name'];
+ }
+
+ /**
+ * Attempts to return a concrete Nag_Driver instance based on $driver.
+ *
+ * @param string $tasklist The name of the tasklist to load.
+ *
+ * @param string $driver The type of concrete Nag_Driver subclass
+ * to return. The is based on the storage
+ * driver ($driver). The code is dynamically
+ * included.
+ *
+ * @param array $params (optional) A hash containing any additional
+ * configuration or connection parameters a
+ * subclass might need.
+ *
+ * @return mixed The newly created concrete Nag_Driver instance, or
+ * false on an error.
+ */
+ function factory($tasklist = '', $driver = null, $params = null)
+ {
+ if (is_null($driver)) {
+ $driver = $GLOBALS['conf']['storage']['driver'];
+ }
+
+ $driver = ucfirst(basename($driver));
+
+ if (is_null($params)) {
+ $params = Horde::getDriverConfig('storage', $driver);
+ }
+
+ require_once dirname(__FILE__) . '/Driver/' . $driver . '.php';
+ $class = 'Nag_Driver_' . $driver;
+ if (class_exists($class)) {
+ $nag = new $class($tasklist, $params);
+ $result = $nag->initialize();
+ if (is_a($result, 'PEAR_Error')) {
+ $nag = new Nag_Driver($params, sprintf(_("The Tasks backend is not currently available: %s"), $result->getMessage()));
+ }
+ } else {
+ $nag = new Nag_Driver($params, sprintf(_("Unable to load the definition of %s."), $class));
+ }
+
+ return $nag;
+ }
+
+ /**
+ * Attempts to return a reference to a concrete Nag_Driver
+ * instance based on $driver. It will only create a new instance
+ * if no Nag_Driver instance with the same parameters currently
+ * exists.
+ *
+ * This should be used if multiple storage sources are required.
+ *
+ * This method must be invoked as: $var =& Nag_Driver::singleton()
+ *
+ * @param string $tasklist The name of the tasklist to load.
+ *
+ * @param string $driver The type of concrete Nag_Driver subclass
+ * to return. The is based on the storage
+ * driver ($driver). The code is dynamically
+ * included.
+ *
+ * @param array $params (optional) A hash containing any additional
+ * configuration or connection parameters a
+ * subclass might need.
+ *
+ * @return mixed The created concrete Nag_Driver instance, or false
+ * on error.
+ */
+ function &singleton($tasklist = '', $driver = null, $params = null)
+ {
+ static $instances = array();
+
+ if (is_null($driver)) {
+ $driver = $GLOBALS['conf']['storage']['driver'];
+ }
+
+ if (is_null($params)) {
+ $params = Horde::getDriverConfig('storage', $driver);
+ }
+
+ $signature = serialize(array($tasklist, $driver, $params));
+ if (!isset($instances[$signature])) {
+ $instances[$signature] =& Nag_Driver::factory($tasklist, $driver, $params);
+ }
+
+ return $instances[$signature];
+ }
+
+ /**
+ * Adds a task and handles notification.
+ *
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param array $methods The overridden alarm notification methods.
+ * @param string $uid A Unique Identifier for the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ *
+ * @return array array(ID,UID) of new task
+ */
+ function add($name, $desc, $start = 0, $due = 0, $priority = 0,
+ $estimate = 0.0, $completed = 0, $category = '', $alarm = 0,
+ $methods = null, $uid = null, $parent = '', $private = false,
+ $owner = null, $assignee = null)
+ {
+ if (is_null($uid)) {
+ $uid = $this->generateUID();
+ }
+ if (is_null($owner)) {
+ $owner = Horde_Auth::getAuth();
+ }
+
+ $taskId = $this->_add($name, $desc, $start, $due, $priority, $estimate,
+ $completed, $category, $alarm, $methods, $uid, $parent,
+ $private, $owner, $assignee);
+ if (is_a($taskId, 'PEAR_Error')) {
+ return $taskId;
+ }
+ $task = $this->get($taskId);
+
+ /* Log the creation of this item in the history log. */
+ $history = Horde_History::singleton();
+ $history->log('nag:' . $this->_tasklist . ':' . $uid, array('action' => 'add'), true);
+
+ /* Log completion status changes. */
+ if ($completed) {
+ $history->log('nag:' . $this->_tasklist . ':' . $uid, array('action' => 'complete'), true);
+ }
+
+ /* Notify users about the new event. */
+ $result = Nag::sendNotification('add', $task);
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR);
+ }
+
+ /* Add an alarm if necessary. */
+ if (!empty($GLOBALS['conf']['alarms']['driver']) && !empty($alarm)) {
+ $alarm = $task->toAlarm();
+ if ($alarm) {
+ $alarm['start'] = new Horde_Date($alarm['start']);
+ require_once 'Horde/Alarm.php';
+ $horde_alarm = Horde_Alarm::factory();
+ $horde_alarm->set($alarm);
+ }
+ }
+
+ return array($taskId, $uid);
+ }
+
+ /**
+ * Modifies an existing task and handles notification.
+ *
+ * @param string $taskId The task to modify.
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param array $methods The overridden alarm notification
+ * methods.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ * @param integer $completed_date The task's completion date.
+ * @param string $tasklist The new tasklist.
+ */
+ function modify($taskId, $name, $desc, $start = 0, $due = 0, $priority = 0,
+ $estimate = 0.0, $completed = 0, $category = '',
+ $alarm = 0, $methods = null, $parent = '', $private = false,
+ $owner = null, $assignee = null, $completed_date = null,
+ $tasklist = null)
+ {
+ /* Retrieve unmodified task. */
+ $task = $this->get($taskId);
+ if (is_a($task, 'PEAR_Error')) {
+ return $task;
+ }
+
+ /* Avoid circular reference. */
+ if ($parent == $taskId) {
+ $parent = '';
+ }
+
+ $modify = $this->_modify($taskId, $name, $desc, $start, $due,
+ $priority, $estimate, $completed, $category,
+ $alarm, $methods, $parent, $private, $owner,
+ $assignee, $completed_date);
+ if (is_a($modify, 'PEAR_Error')) {
+ return $modify;
+ }
+
+ /* Update alarm if necessary. */
+ if (!empty($GLOBALS['conf']['alarms']['driver'])) {
+ require_once 'Horde/Alarm.php';
+ $horde_alarm = Horde_Alarm::factory();
+ if (empty($alarm) || $completed) {
+ $horde_alarm->delete($task->uid);
+ } else {
+ $task = $this->get($taskId);
+ $alarm = $task->toAlarm();
+ if ($alarm) {
+ $alarm['start'] = new Horde_Date($alarm['start']);
+ $horde_alarm->set($alarm);
+ }
+ }
+ }
+
+ $new_task = $this->get($task->id);
+ $log_tasklist = $this->_tasklist;
+ if (!is_null($tasklist) && $task->tasklist != $tasklist) {
+ /* Moving the task to another tasklist. */
+ $share = $GLOBALS['nag_shares']->getShare($task->tasklist);
+ if (is_a($share, 'PEAR_Error')) {
+ return $share;
+ }
+
+ if (!$share->hasPermission(Horde_Auth::getAuth(), PERMS_DELETE)) {
+ $GLOBALS['notification']->push(sprintf(_("Access denied removing task from %s."), $share->get('name')), 'horde.error');
+ return false;
+ }
+
+ $share = $GLOBALS['nag_shares']->getShare($tasklist);
+ if (is_a($share, 'PEAR_Error')) {
+ return $share;
+ }
+
+ if (!$share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+ $GLOBALS['notification']->push(sprintf(_("Access denied moving the task to %s."), $share->get('name')), 'horde.error');
+ }
+
+ $moved = $this->_move($task->id, $tasklist);
+ if (is_a($moved, 'PEAR_Error')) {
+ return $moved;
+ }
+ $new_storage = Nag_Driver::singleton($tasklist);
+ $new_task = $new_storage->get($task->id);
+
+ /* Log the moving of this item in the history log. */
+ if (!empty($task->uid)) {
+ $history = Horde_History::singleton();
+ $history->log('nag:' . $task->tasklist . ':' . $task->uid, array('action' => 'delete'), true);
+ $history->log('nag:' . $tasklist . ':' . $task->uid, array('action' => 'add'), true);
+ $log_tasklist = $tasklist;
+ }
+ }
+
+ /* Log the modification of this item in the history log. */
+ if (!empty($task->uid)) {
+ $history = Horde_History::singleton();
+ $history->log('nag:' . $log_tasklist . ':' . $task->uid, array('action' => 'modify'), true);
+ }
+
+ /* Log completion status changes. */
+ if ($task->completed != $completed) {
+ $history = Horde_History::singleton();
+ $attributes = array('action' => 'complete');
+ if (!$completed) {
+ $attributes['ts'] = 0;
+ }
+ $history->log('nag:' . $log_tasklist . ':' . $task->uid, $attributes, true);
+ }
+
+ /* Notify users about the changed event. */
+ $result = Nag::sendNotification('edit', $new_task, $task);
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR);
+ }
+
+ return true;
+ }
+
+ /**
+ * Deletes a task and handles notification.
+ *
+ * @param string $taskId The task to delete.
+ */
+ function delete($taskId)
+ {
+ /* Get the task's details for use later. */
+ $task = $this->get($taskId);
+
+ $delete = $this->_delete($taskId);
+ if (is_a($delete, 'PEAR_Error')) {
+ return $delete;
+ }
+
+ /* Log the deletion of this item in the history log. */
+ if (!empty($task->uid)) {
+ $history = Horde_History::singleton();
+ $history->log('nag:' . $this->_tasklist . ':' . $task->uid, array('action' => 'delete'), true);
+ }
+
+ /* Notify users about the deleted event. */
+ $result = Nag::sendNotification('delete', $task);
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR);
+ }
+
+ /* Delete alarm if necessary. */
+ if (!empty($GLOBALS['conf']['alarms']['driver']) &&
+ !empty($task->alarm)) {
+ require_once 'Horde/Alarm.php';
+ $horde_alarm = Horde_Alarm::factory();
+ $horde_alarm->delete($task->uid);
+ }
+
+ return true;
+ }
+
+ /**
+ * Retrieves tasks from the database.
+ *
+ * @return mixed True on success, PEAR_Error on failure.
+ */
+ function retrieve()
+ {
+ return PEAR::raiseError($this->_errormsg);
+ }
+
+ /**
+ * Retrieves sub-tasks from the database.
+ *
+ * @param string $parentId The parent id for the sub-tasks to retrieve.
+ *
+ * @return array List of sub-tasks.
+ */
+ function getChildren($parentId)
+ {
+ return PEAR::raiseError($this->_errormsg);
+ }
+
+ /**
+ * Retrieves one task from the database.
+ *
+ * @param string $taskId The id of the task to retrieve.
+ *
+ * @return Nag_Task A Nag_Task object.
+ */
+ function get($taskId)
+ {
+ return PEAR::raiseError($this->_errormsg);
+ }
+
+ /**
+ * Retrieves one task from the database by UID.
+ *
+ * @param string $uid The UID of the task to retrieve.
+ *
+ * @return Nag_Task A Nag_Task object.
+ */
+ function getByUID($uid)
+ {
+ return PEAR::raiseError($this->_errormsg);
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Nag driver classes for the Kolab IMAP server.
+ *
+ * Copyright 2004-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @author Thomas Jarosch <thomas.jarosch@intra2net.com>
+ * @author Stuart Binge <omicron@mighty.co.za>
+ * @package Nag
+ */
+class Nag_Driver_Kolab extends Nag_Driver
+{
+ /**
+ * Our Kolab server connection.
+ *
+ * @var Kolab
+ */
+ protected $_kolab = null;
+
+ /**
+ * The wrapper to decide between the Kolab implementation
+ *
+ * @var Nag_Driver_Kolab_Wrapper
+ */
+ protected $_wrapper = null;
+
+ /**
+ * Constructs a new Kolab storage object.
+ *
+ * @param string $tasklist The tasklist to load.
+ * @param array $params A hash containing connection parameters.
+ */
+ public function __construct($tasklist, $params = array())
+ {
+ if (empty($tasklist)) {
+ $tasklist = Horde_Auth::getAuth();
+ }
+
+ $this->_tasklist = $tasklist;
+
+ $this->_kolab = new Kolab();
+ if (empty($this->_kolab->version)) {
+ $wrapper = 'Nag_Driver_kolab_Wrapper_Old';
+ } else {
+ $wrapper = 'Nag_Driver_Kolab_Wrapper_New';
+ }
+
+ $this->_wrapper = new $wrapper($this->_tasklist, $this->_kolab);
+ }
+
+ /**
+ * Attempts to open a Kolab Groupware folder.
+ *
+ * @return boolean True on success, PEAR_Error on failure.
+ */
+ publi function initialize()
+ {
+ return $this->_wrapper->connect();
+ }
+
+ /**
+ * Retrieves one task from the store.
+ *
+ * @param string $taskId The id of the task to retrieve.
+ *
+ * @return array The array of task attributes.
+ */
+ public function get($taskId)
+ {
+ return $this->_wrapper->get($taskId);
+ }
+
+ /**
+ * Retrieves one task from the database by UID.
+ *
+ * @param string $uid The UID of the task to retrieve.
+ *
+ * @return array The array of task attributes.
+ */
+ public function getByUID($uid)
+ {
+ return $this->_wrapper->getByUID($uid);
+ }
+
+ /**
+ * Adds a task to the backend storage.
+ *
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param array $methods The overridden alarm notification methods.
+ * @param string $uid A Unique Identifier for the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ *
+ * @return string The Nag ID of the new task.
+ */
+ protected function _add($name, $desc, $start = 0, $due = 0, $priority = 0,
+ $completed = 0, $estimate = 0.0, $category = '',
+ $alarm = 0, $methods = null, $uid = null,
+ $parent = null, $private = false, $owner = null,
+ $assignee = null)
+ {
+ return $this->_wrapper->add($name, $desc, $start, $due, $priority,
+ $completed, $estimate, $category, $alarm,
+ $uid, $parent, $private, $owner, $assignee);
+ }
+
+ /**
+ * Modifies an existing task.
+ *
+ * @param string $taskId The task to modify.
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param array $methods The overridden alarm notification
+ * methods.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ * @param integer $completed_date The task's completion date.
+ *
+ * @return boolean Indicates if the modification was successfull.
+ */
+ protected function _modify($taskId, $name, $desc, $start = 0, $due = 0,
+ $priority = 0, $estimate = 0.0, $completed = 0,
+ $category = '', $alarm = 0, $methods = null,
+ $parent = null, $private = false, $owner = null,
+ $assignee = null, $completed_date = null)
+ {
+ return $this->_wrapper->modify($taskId, $name, $desc, $start, $due,
+ $priority, $estimate, $completed,
+ $category, $alarm, $parent, $private,
+ $owner, $assignee, $completed_date);
+ }
+
+ /**
+ * Moves a task to a different tasklist.
+ *
+ * @param string $taskId The task to move.
+ * @param string $newTasklist The new tasklist.
+ */
+ protected function _move($taskId, $newTasklist)
+ {
+ return $this->_wrapper->move($taskId, $newTasklist);
+ }
+
+ /**
+ * Deletes a task from the backend.
+ *
+ * @param string $taskId The task to delete.
+ */
+ protected function _delete($taskId)
+ {
+ return $this->_wrapper->delete($taskId);
+ }
+
+ /**
+ * Deletes all tasks from the backend.
+ */
+ public function deleteAll()
+ {
+ return $this->_wrapper->deleteAll();
+ }
+
+ /**
+ * Retrieves tasks from the Kolab server.
+ *
+ * @param integer $completed Which tasks to retrieve (1 = all tasks,
+ * 0 = incomplete tasks, 2 = complete tasks).
+ *
+ * @return mixed True on success, PEAR_Error on failure.
+ */
+ public function retrieve($completed = 1)
+ {
+ $tasks = $this->_wrapper->retrieve($completed);
+ if (is_a($tasks, 'PEAR_Error')) {
+ return $tasks;
+ }
+
+ $this->tasks = $tasks;
+
+ return true;
+ }
+
+ /**
+ * Lists all alarms near $date.
+ *
+ * @param integer $date The unix epoch time to check for alarms.
+ *
+ * @return array An array of tasks that have alarms that match.
+ */
+ public function listAlarms($date)
+ {
+ return $this->_wrapper->listAlarms($date);
+ }
+
+ /**
+ * Retrieves sub-tasks from the database.
+ *
+ * @param string $parentId The parent id for the sub-tasks to retrieve.
+ *
+ * @return array List of sub-tasks.
+ */
+ public function getChildren($parentId)
+ {
+ return $this->_wrapper->getChildren($parentId);
+ }
+}
+
+/**
+ * Horde Nag wrapper to distinguish between both Kolab driver implementations.
+ *
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @package Nag
+ */
+
+class Nag_Driver_kolab_wrapper {
+
+ /**
+ * Indicates if the wrapper has connected or not
+ *
+ * @var boolean
+ */
+ var $_connected = false;
+
+ /**
+ * String containing the current tasklist name.
+ *
+ * @var string
+ */
+ var $_tasklist = '';
+
+ /**
+ * Our Kolab server connection.
+ *
+ * @var Kolab
+ */
+ var $_kolab = null;
+
+ /**
+ * Constructor
+ *
+ * @param string $tasklist The tasklist to load.
+ * @param Horde_Kolab $kolab The Kolab connection object
+ */
+ function Nag_Driver_kolab_wrapper($tasklist, $kolab)
+ {
+ $this->_tasklist = $tasklist;
+ $this->_kolab = $kolab;
+ }
+
+ /**
+ * Connect to the Kolab backend
+ *
+ * @param int $loader The version of the XML
+ * loader
+ *
+ * @return mixed True on success, a PEAR error otherwise
+ */
+ function connect($loader = 0)
+ {
+ if ($this->_connected) {
+ return true;
+ }
+
+ $result = $this->_kolab->open($this->_tasklist, $loader);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ $this->_connected = true;
+
+ return true;
+ }
+}
+
+/**
+ * Old Nag driver for the Kolab IMAP server.
+ *
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @author Stuart Binge <omicron@mighty.co.za>
+ * @package Nag
+ */
+class Nag_Driver_kolab_wrapper_old extends Nag_Driver_kolab_wrapper {
+
+ function _buildTask()
+ {
+ $private = Horde_String::lower($this->_kolab->getVal('sensitivity'));
+ $private = ($private == 'private' || $private == 'confidential');
+
+ return array(
+ 'tasklist_id' => $this->_tasklist,
+ 'task_id' => $this->_kolab->getUID(),
+ 'uid' => $this->_kolab->getUID(),
+ 'owner' => Horde_Auth::getAuth(),
+ 'name' => $this->_kolab->getStr('summary'),
+ 'desc' => $this->_kolab->getStr('body'),
+ 'category' => $this->_kolab->getStr('categories'),
+ 'due' => Kolab::decodeDateOrDateTime($this->_kolab->getVal('due-date')),
+ 'priority' => $this->_kolab->getVal('priority'),
+ 'parent' => $this->_kolab->getVal('parent'),
+ 'estimate' => (float)$this->_kolab->getVal('priority'),
+ 'completed' => Kolab::percentageToBoolean($this->_kolab->getVal('completed')),
+ 'alarm' => $this->_kolab->getVal('alarm'),
+ 'private' => $private,
+ );
+ }
+
+ /**
+ * Retrieves one task from the store.
+ *
+ * @param string $taskId The id of the task to retrieve.
+ *
+ * @return array The array of task attributes.
+ */
+ function get($taskId)
+ {
+ $result = $this->_kolab->loadObject($taskId);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ return new Nag_Task($this->_buildTask());
+ }
+
+ /**
+ * Retrieves one task from the database by UID.
+ *
+ * @param string $uid The UID of the task to retrieve.
+ *
+ * @return array The array of task attributes.
+ */
+ function getByUID($uid)
+ {
+ return PEAR::raiseError("Not supported");
+ }
+
+ /**
+ * @todo Utilize $owner, $assignee, and $completed_date
+ * parameters.
+ *
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ * @param integer $completed_date The task's completion date.
+ *
+ * @return string The ID of the task.
+ */
+ function _setObject($name, $desc, $start = 0, $due = 0, $priority = 0,
+ $estimate = 0.0, $completed = 0, $category = '',
+ $alarm = 0, $parent = null, $private = false,
+ $owner = null, $assignee = null, $completed_date = null)
+ {
+ if ($due == 0) {
+ $alarm = 0;
+ }
+
+ $this->_kolab->setStr('summary', $name);
+ $this->_kolab->setStr('body', $desc);
+ $this->_kolab->setStr('categories', $category);
+ $this->_kolab->setVal('priority', $priority);
+ $this->_kolab->setVal('estimate', number_format($priority, 2));
+ $this->_kolab->setVal('completed', Kolab::booleanToPercentage($completed));
+ $this->_kolab->setVal('start-date', Kolab::encodeDateTime($start));
+ $this->_kolab->setVal('due-date', Kolab::encodeDateTime($due));
+ $this->_kolab->setVal('alarm', $alarm);
+ if ($parent) {
+ $this->_kolab->setVal('parent', $parent);
+ }
+ if ($private) {
+ $this->_kolab->setVal('sensitivity', 'private');
+ }
+
+ $result = $this->_kolab->saveObject();
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ return $this->_kolab->getUID();
+ }
+
+ /**
+ * Adds a task to the backend storage.
+ *
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param string $uid A Unique Identifier for the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ *
+ * @return string The Nag ID of the new task.
+ */
+ function add($name, $desc, $start = 0, $due = 0, $priority = 0,
+ $completed = 0, $estimate = 0.0, $category = '', $alarm = 0,
+ $uid = null, $parent = null, $private = false, $owner = null,
+ $assignee = null)
+ {
+ // Usually provided by the generic Driver class
+ if ($uid !== null) {
+ $uid = $this->generateUID();
+ }
+
+ // Load the object into the kolab driver
+ $object = $this->_kolab->newObject($uid);
+ if (is_a($object, 'PEAR_Error')) {
+ return $object;
+ }
+
+ return $this->_setObject($name, $desc, $start, $due, $priority,
+ $completed, $estimate, $category, $alarm,
+ $parent, $private, $owner, $assignee);
+ }
+
+ /**
+ * Modifies an existing task.
+ *
+ * @param string $taskId The task to modify.
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ * @param integer $completed_date The task's completion date.
+ *
+ * @return boolean Indicates if the modification was successfull.
+ */
+ function modify($taskId, $name, $desc, $start = 0, $due = 0,
+ $priority = 0, $estimate = 0.0, $completed = 0,
+ $category = '', $alarm = 0, $parent = null,
+ $private = false, $owner = null, $assignee = null,
+ $completed_date = null)
+ {
+ // Load the object into the kolab driver
+ $result = $this->_kolab->loadObject($taskId);
+ if (is_a($object, 'PEAR_Error')) {
+ return $object;
+ }
+
+ $result = $this->_setObject($name, $desc, $start, $due, $priority,
+ $estimate, $completed, $category, $alarm,
+ $parent, $private, $owner, $assignee,
+ $completed_date);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ return $result == $taskId;
+ }
+
+ /**
+ * Moves a task to a different tasklist.
+ *
+ * @param string $taskId The task to move.
+ * @param string $newTasklist The new tasklist.
+ */
+ function move($taskId, $newTasklist)
+ {
+ return $this->_kolab->moveObject($taskId, $newTasklist);
+ }
+
+ /**
+ * Deletes a task from the backend.
+ *
+ * @param string $taskId The task to delete.
+ */
+ function delete($taskId)
+ {
+ return $this->_kolab->removeObjects($taskId);
+ }
+
+ /**
+ * Deletes all tasks from the backend.
+ */
+ function deleteAll()
+ {
+ return $this->_kolab->removeAllObjects();
+ }
+
+ /**
+ * Retrieves tasks from the Kolab server.
+ *
+ * @param integer $completed Which tasks to retrieve (1 = all tasks,
+ * 0 = incomplete tasks, 2 = complete tasks,
+ * 3 = future tasks, 4 = future and incomplete
+ * tasks).
+ *
+ * @return mixed True on success, PEAR_Error on failure.
+ */
+ function retrieve($completed = 1)
+ {
+ $tasks = array();
+
+ $msg_list = $this->_kolab->listObjects();
+ if (is_a($msg_list, 'PEAR_Error')) {
+ return $msg_list;
+ }
+
+ if (empty($msg_list)) {
+ return true;
+ }
+
+ foreach ($msg_list as $msg) {
+ $result = $this->_kolab->loadObject($msg, true);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ $complete = Kolab::percentageToBoolean($this->_kolab->getVal('completed'));
+ $start_date = Kolab::decodeDateOrDateTime($this->_kolab->getVal('start-date'));
+ if (($completed == 0 && ($complete || $start_date > time())) ||
+ ($completed == 2 && !$complete) ||
+ ($completed == 3 &&
+ ($complete || $start_date == 0 || $start_date < time())) ||
+ ($completed == 4 && $complete)) {
+ continue;
+ }
+ $tasks[$this->_kolab->getUID()] = new Nag_Task($this->_buildTask());
+ }
+
+ return $tasks;
+ }
+
+ /**
+ * Lists all alarms near $date.
+ *
+ * @param integer $date The unix epoch time to check for alarms.
+ *
+ * @return array An array of tasks that have alarms that match.
+ */
+ function listAlarms($date)
+ {
+ $tasks = array();
+
+ $msg_list = $this->_kolab->listObjects();
+ if (is_a($msg_list, 'PEAR_Error')) {
+ return $msg_list;
+ }
+
+ if (empty($msg_list)) {
+ return $tasks;
+ }
+
+ foreach ($msg_list as $msg) {
+ $result = $this->_kolab->loadObject($msg, true);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ $task = new Nag_Task($this->_buildTask());
+
+ if ($task['alarm'] > 0 && $task['due'] >= time() && $task['due'] - ($task['alarm'] * 60) <= $date) {
+ $tasks[$this->_kolab->getUID()] = $task;
+ }
+ }
+
+ return $tasks;
+ }
+
+ /**
+ * Retrieves sub-tasks from the database.
+ *
+ * @param string $parentId The parent id for the sub-tasks to retrieve.
+ *
+ * @return array List of sub-tasks.
+ */
+ function getChildren($parentId)
+ {
+ $tasks = array();
+
+ $msg_list = $this->_kolab->listObjects();
+ if (is_a($msg_list, 'PEAR_Error')) {
+ return $msg_list;
+ }
+
+ if (empty($msg_list)) {
+ return $tasks;
+ }
+
+ foreach ($msg_list as $msg) {
+ $result = $this->_kolab->loadObject($msg, true);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ if ($this->_kolab->getVal('parent') != $parentId) {
+ continue;
+ }
+ $task = new Nag_Task($this->_buildTask());
+ $children = $this->getChildren($task->id);
+ if (is_a($children, 'PEAR_Error')) {
+ return $children;
+ }
+ $task->mergeChildren($children);
+ $tasks[] = $task;
+ }
+
+ return $tasks;
+ }
+}
+
+
+/**
+ * New Nag driver for the Kolab IMAP server.
+ *
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @package Nag
+ */
+class Nag_Driver_kolab_wrapper_new extends Nag_Driver_kolab_wrapper {
+
+ /**
+ * Shortcut to the imap connection
+ *
+ * @var Kolab_IMAP
+ */
+ var $_store = null;
+
+ /**
+ * Connect to the Kolab backend
+ *
+ * @return mixed True on success, a PEAR error otherwise
+ */
+ function connect()
+ {
+ if ($this->_connected) {
+ return true;
+ }
+
+ $result = parent::connect(1);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ $this->_store = $this->_kolab->_storage;
+
+ return true;
+ }
+
+ /**
+ * Split the tasklist name of the id. We use this to make ids
+ * unique across folders.
+ *
+ * @param string $id The ID of the task appended with the tasklist
+ * name.
+ *
+ * @return array The task id and tasklist name
+ */
+ function _splitId($id)
+ {
+ $split = explode('@', $id, 2);
+ if (count($split) == 2) {
+ list($id, $tasklist) = $split;
+ } else if (count($split) == 1) {
+ $tasklist = Horde_Auth::getAuth();
+ }
+ return array($id, $tasklist);
+ }
+
+ /**
+ * Append the tasklist name to the id. We use this to make ids
+ * unique across folders.
+ *
+ * @param string $id The ID of the task
+ *
+ * @return string The task id appended with the tasklist
+ * name.
+ */
+ function _uniqueId($id)
+ {
+ if ($this->_tasklist == Horde_Auth::getAuth()) {
+ return $id;
+ }
+ return $id . '@' . $this->_tasklist;
+ }
+
+ /**
+ * Retrieves one task from the store.
+ *
+ * @param string $taskId The id of the task to retrieve.
+ *
+ * @return Nag_Task A Nag_Task object.
+ */
+ function get($taskId)
+ {
+ list($taskId, $tasklist) = $this->_splitId($taskId);
+
+ if ($this->_store->objectUidExists($taskId)) {
+ $task = $this->_store->getObject($taskId);
+ return new Nag_Task($this->_buildTask($task));
+ } else {
+ return PEAR::raiseError(sprintf(_('Nag/kolab: Did not find task %s'), $taskId));
+ }
+ }
+
+ /**
+ * Retrieves one task from the database by UID.
+ *
+ * @param string $uid The UID of the task to retrieve.
+ *
+ * @return Nag_Task A Nag_Task object.
+ */
+ function getByUID($uid)
+ {
+ list($taskId, $tasklist) = $this->_splitId($uid);
+
+ if ($this->_tasklist != $tasklist) {
+ $this->_tasklist = $tasklist;
+ $this->_connected = false;
+ $this->connect();
+ }
+
+ return $this->get($taskId);
+ }
+
+ /**
+ * Add or modify a task.
+ *
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param string $uid A Unique Identifier for the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ * @param integer $completed_date The task's completion date.
+ *
+ * @return mixed The id of the task if successful, a PEAR error
+ * otherwise
+ */
+ function _setObject($name, $desc, $start = 0, $due = 0, $priority = 0,
+ $estimate = 0.0, $completed = 0, $category = '',
+ $alarm = 0, $uid = null, $parent = null,
+ $private = false, $owner = null, $assignee = null,
+ $completed_date = null)
+ {
+ if (empty($uid)) {
+ $task_uid = $this->_store->generateUID();
+ $old_uid = null;
+ } else {
+ list($task_uid, $tasklist) = $this->_splitId($uid);
+ $old_uid = $task_uid;
+ }
+
+ if ($parent) {
+ list($parent, $dummy) = $this->_splitId($parent);
+ }
+
+ if ($private) {
+ $sensitivity = 'private';
+ } else {
+ $sensitivity = 'public';
+ }
+
+ $result = $this->_store->save(array(
+ 'uid' => $task_uid,
+ 'name' => $name,
+ 'body' => $desc,
+ 'start' => $start,
+ 'due' => $due,
+ 'priority' => $priority,
+ 'completed' => $completed,
+ 'categories' => $category,
+ 'alarm' => $alarm,
+ 'parent' => $parent,
+ 'sensitivity' => $sensitivity,
+ 'estimate' => $estimate,
+ 'completed_date' => $completed_date,
+ 'creator' => array(
+ 'smpt-address' => $owner,
+ ),
+ 'organizer' => array(
+ 'smpt-address' => $assignee,
+ ),
+ ),
+ $old_uid);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ return $task_uid;
+ }
+
+ /**
+ * Adds a task to the backend storage.
+ *
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param string $uid A Unique Identifier for the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ *
+ * @return mixed The id of the task if successful, a PEAR error
+ * otherwise
+ */
+ function add($name, $desc, $start = 0, $due = 0, $priority = 0,
+ $estimate = 0.0, $completed = 0, $category = '', $alarm = 0,
+ $uid = null, $parent = null, $private = false, $owner = null,
+ $assignee = null)
+ {
+ return $this->_setObject($name, $desc, $start, $due, $priority,
+ $estimate, $completed, $category, $alarm,
+ null, $parent, $private, $owner, $assignee);
+ }
+
+ /**
+ * Modifies an existing task.
+ *
+ * @param string $taskId The task to modify.
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ * @param integer $completed_date The task's completion date.
+ *
+ * @return mixed The id of the task if successful, a PEAR error
+ * otherwise
+ */
+ function modify($taskId, $name, $desc, $start = 0, $due = 0, $priority = 0,
+ $estimate = 0.0, $completed = 0, $category = '',
+ $alarm = 0, $parent = null, $private = false,
+ $owner = null, $assignee = null, $completed_date = null)
+ {
+ $result = $this->_setObject($name, $desc, $start, $due, $priority,
+ $estimate, $completed, $category, $alarm,
+ $taskId, $parent, $private, $owner, $assignee,
+ $completed_date);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ return $result == $taskId;
+ }
+
+ /**
+ * Moves a task to a different tasklist.
+ *
+ * @param string $taskId The task to move.
+ * @param string $newTasklist The new tasklist.
+ *
+ * @return mixed True on success, PEAR_Error on failure.
+ */
+ function move($taskId, $newTasklist)
+ {
+ list($taskId, $tasklist) = $this->_splitId($taskId);
+
+ return $this->_store->move($taskId, $newTasklist);
+ }
+
+ /**
+ * Deletes a task from the backend.
+ *
+ * @param string $taskId The task to delete.
+ */
+ function delete($taskId)
+ {
+ list($taskId, $tasklist) = $this->_splitId($taskId);
+
+ return $this->_store->delete($taskId);
+ }
+
+ /**
+ * Deletes all tasks from the backend.
+ */
+ function deleteAll()
+ {
+ return $this->_store->deleteAll();
+ }
+
+ /**
+ * Retrieves tasks from the Kolab server.
+ *
+ * @param integer $completed Which tasks to retrieve (1 = all tasks,
+ * 0 = incomplete tasks, 2 = complete tasks,
+ * 3 = future tasks, 4 = future and incomplete
+ * tasks).
+ *
+ * @return mixed True on success, PEAR_Error on failure.
+ */
+ function retrieve($completed = 1)
+ {
+ $dict = array();
+ $tasks = new Nag_Task();
+
+ $task_list = $this->_store->getObjects();
+ if (is_a($task_list, 'PEAR_Error')) {
+ return $task_list;
+ }
+
+ if (empty($task_list)) {
+ return $tasks;
+ }
+
+ foreach ($task_list as $task) {
+ $tuid = $this->_uniqueId($task['uid']);
+ $t = new Nag_Task($this->_buildTask($task));
+ $complete = $t->completed;
+ if (empty($t->start)) {
+ $start = null;
+ } else {
+ $start = $t->start;
+ }
+
+ if (($completed == 0 && ($complete || $start > time())) ||
+ ($completed == 2 && !$complete) ||
+ ($completed == 3 &&
+ ($complete || $start == 0 || $start < time())) ||
+ ($completed == 4 && $complete)) {
+ continue;
+ }
+ if (empty($t->parent_id)) {
+ $tasks->add($t);
+ } else {
+ $dict[$tuid] = $t;
+ }
+ }
+
+ /* Build a tree from the subtasks. */
+ foreach (array_keys($dict) as $key) {
+ $task = $tasks->get($dict[$key]->parent_id);
+ if ($task) {
+ $task->add($dict[$key]);
+ } elseif (isset($dict[$dict[$key]->parent_id])) {
+ $dict[$dict[$key]->parent_id]->add($dict[$key]);
+ } else {
+ $tasks->add($dict[$key]);
+ }
+ }
+
+ return $tasks;
+ }
+
+ /**
+ * Build a task based a data array
+ *
+ * @param array $task The data for the task
+ *
+ * @return array The converted data array representing the task
+ */
+ function _buildTask($task)
+ {
+ $task['tasklist_id'] = $this->_tasklist;
+ $task['task_id'] = $this->_uniqueId($task['uid']);
+
+ if (!empty($task['parent'])) {
+ $task['parent'] = $this->_uniqueId($task['parent']);
+ }
+
+ $task['category'] = $task['categories'];
+ unset($task['categories']);
+
+ $task['desc'] = $task['body'];
+ unset($task['body']);
+
+ if ($task['sensitivity'] == 'public') {
+ $task['private'] = false;
+ } else {
+ $task['private'] = true;
+ }
+ unset($task['sensitivity']);
+
+ $share = $GLOBALS['nag_shares']->getShare($this->_tasklist);
+ $task['owner'] = $share->get('owner');
+
+ return $task;
+ }
+
+ /**
+ * Lists all alarms near $date.
+ *
+ * @param integer $date The unix epoch time to check for alarms.
+ *
+ * @return array An array of tasks that have alarms that match.
+ */
+ function listAlarms($date)
+ {
+ $task_list = $this->_store->getObjects();
+ if (is_a($task_list, 'PEAR_Error')) {
+ return $task_list;
+ }
+
+ if (empty($task_list)) {
+ return array();
+ }
+
+ $tasks = array();
+ foreach ($task_list as $task) {
+ $tuid = $this->_uniqueId($task['uid']);
+ $t = new Nag_Task($this->_buildTask($task));
+ if ($t->alarm && $t->due &&
+ $t->due - $t->alarm * 60 < $date) {
+ $tasks[] = $t;
+ }
+ }
+
+ return $tasks;
+ }
+
+ /**
+ * Retrieves sub-tasks from the database.
+ *
+ * @param string $parentId The parent id for the sub-tasks to retrieve.
+ *
+ * @return array List of sub-tasks.
+ */
+ function getChildren($parentId)
+ {
+ list($parentId, $tasklist) = $this->_splitId($parentId);
+
+ $task_list = $this->_store->getObjects();
+ if (is_a($task_list, 'PEAR_Error')) {
+ return $task_list;
+ }
+
+ if (empty($task_list)) {
+ return array();
+ }
+
+ $tasks = array();
+
+ foreach ($task_list as $task) {
+ if ($task['parent'] != $parentId) {
+ continue;
+ }
+ $t = new Nag_Task($this->_buildTask($task));
+ $children = $this->getChildren($t->id);
+ if (is_a($children, 'PEAR_Error')) {
+ return $children;
+ }
+ $t->mergeChildren($children);
+ $tasks[] = $t;
+ }
+
+ return $tasks;
+ }
+}
--- /dev/null
+<?php
+/**
+ * Nag storage implementation for PHP's PEAR database abstraction layer.
+ *
+ * Required parameters:<pre>
+ * 'phptype' The database type (e.g. 'pgsql', 'mysql', etc.).
+ * 'charset' The database's internal charset.</pre>
+ *
+ * Required by some database implementations:<pre>
+ * 'hostspec' The hostname of the database server.
+ * 'protocol' The communication protocol ('tcp', 'unix', etc.).
+ * 'database' The name of the database.
+ * 'username' The username with which to connect to the database.
+ * 'password' The password associated with 'username'.
+ * 'options' Additional options to pass to the database.
+ * 'tty' The TTY on which to connect to the database.
+ * 'port' The port on which to connect to the database.</pre>
+ *
+ * Optional values when using separate reading and writing servers, for example
+ * in replication settings:<pre>
+ * 'splitread' Boolean, whether to implement the separation or not.
+ * 'read' Array containing the parameters which are different for
+ * the read database connection, currently supported
+ * only 'hostspec' and 'port' parameters.</pre>
+ *
+ * Optional parameters:<pre>
+ * 'table' The name of the tasks table in 'database'. Default is
+ * 'nag_tasks'.</pre>
+ *
+ * The table structure can be created by the scripts/sql/nag.sql script.
+ *
+ * $Horde: nag/lib/Driver/sql.php,v 1.105 2009/07/15 01:54:58 chuck Exp $
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jon Parise <jon@horde.org>
+ * @package Nag
+ */
+class Nag_Driver_Sql extends Nag_Driver {
+
+ /**
+ * Handle for the current database connection.
+ *
+ * @var DB
+ */
+ var $_db;
+
+ /**
+ * Handle for the current database connection, used for writing. Defaults
+ * to the same handle as $_db if a separate write database is not required.
+ *
+ * @var DB
+ */
+ var $_write_db;
+
+ /**
+ * Constructs a new SQL storage object.
+ *
+ * @param string $tasklist The tasklist to load.
+ * @param array $params A hash containing connection parameters.
+ */
+ public function __construct($tasklist, $params = array())
+ {
+ $this->_tasklist = $tasklist;
+ $this->_params = $params;
+ }
+
+ /**
+ * Retrieves one task from the database.
+ *
+ * @param string $taskId The id of the task to retrieve.
+ *
+ * @return Nag_Task A Nag_Task object.
+ */
+ function get($taskId)
+ {
+ /* Build the SQL query. */
+ $query = sprintf('SELECT * FROM %s WHERE task_owner = ? and task_id = ?',
+ $this->_params['table']);
+ $values = array($this->_tasklist, $taskId);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::get(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Execute the query. */
+ $result = $this->_db->query($query, $values);
+
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if (is_a($row, 'PEAR_Error')) {
+ return $row;
+ }
+ if ($row === null) {
+ return PEAR::raiseError(_("Task ID not found"));
+ }
+
+ /* Decode and return the task. */
+ return new Nag_Task($this->_buildTask($row));
+ }
+
+ /**
+ * Retrieves one task from the database by UID.
+ *
+ * @param string $uid The UID of the task to retrieve.
+ *
+ * @return Nag_Task A Nag_Task object.
+ */
+ function getByUID($uid)
+ {
+ /* Build the SQL query. */
+ $query = sprintf('SELECT * FROM %s WHERE task_uid = ?',
+ $this->_params['table']);
+ $values = array($uid);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::getByUID(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Execute the query. */
+ $result = $this->_db->query($query, $values);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if (is_a($row, 'PEAR_Error')) {
+ return $row;
+ }
+ if ($row === null) {
+ return PEAR::raiseError(_("Task UID not found"));
+ }
+
+ /* Decode and return the task. */
+ $this->_tasklist = $row['task_owner'];
+ return new Nag_Task($this->_buildTask($row));
+ }
+
+ /**
+ * Adds a task to the backend storage.
+ *
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param array $methods The overridden alarm notification methods.
+ * @param string $uid A Unique Identifier for the task.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ *
+ * @return string The Nag ID of the new task.
+ */
+ function _add($name, $desc, $start = 0, $due = 0, $priority = 0,
+ $estimate = 0.0, $completed = 0, $category = '', $alarm = 0,
+ $methods = null, $uid = null, $parent = '', $private = false,
+ $owner = null, $assignee = null)
+ {
+ $taskId = md5(uniqid(mt_rand(), true));
+ if ($uid === null) {
+ $uid = $this->generateUID();
+ }
+
+ $query = sprintf(
+ 'INSERT INTO %s (task_owner, task_creator, task_assignee, '
+ . 'task_id, task_name, task_uid, task_desc, task_start, task_due, '
+ . 'task_priority, task_estimate, task_completed, task_category, '
+ . 'task_alarm, task_alarm_methods, task_private, task_parent) '
+ . 'VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
+ $this->_params['table']);
+ $values = array($this->_tasklist,
+ $owner,
+ $assignee,
+ $taskId,
+ Horde_String::convertCharset($name, Horde_Nls::getCharset(), $this->_params['charset']),
+ Horde_String::convertCharset($uid, Horde_Nls::getCharset(), $this->_params['charset']),
+ Horde_String::convertCharset($desc, Horde_Nls::getCharset(), $this->_params['charset']),
+ (int)$start,
+ (int)$due,
+ (int)$priority,
+ number_format($estimate, 2),
+ (int)$completed,
+ Horde_String::convertCharset($category, Horde_Nls::getCharset(), $this->_params['charset']),
+ (int)$alarm,
+ serialize(Horde_String::convertCharset($methods, Horde_Nls::getCharset(), $this->_params['charset'])),
+ (int)$private,
+ Horde_String::convertCharset($parent, Horde_Nls::getCharset(), $this->_params['charset']));
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::_add(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Attempt the insertion query. */
+ $result = $this->_write_db->query($query, $values);
+
+ /* Return an error immediately if the query failed. */
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR);
+ return $result;
+ }
+
+ return $taskId;
+ }
+
+ /**
+ * Modifies an existing task.
+ *
+ * @param string $taskId The task to modify.
+ * @param string $name The name (short) of the task.
+ * @param string $desc The description (long) of the task.
+ * @param integer $start The start date of the task.
+ * @param integer $due The due date of the task.
+ * @param integer $priority The priority of the task.
+ * @param float $estimate The estimated time to complete the task.
+ * @param integer $completed The completion state of the task.
+ * @param string $category The category of the task.
+ * @param integer $alarm The alarm associated with the task.
+ * @param array $methods The overridden alarm notification
+ * methods.
+ * @param string $parent The parent task.
+ * @param boolean $private Whether the task is private.
+ * @param string $owner The owner of the event.
+ * @param string $assignee The assignee of the event.
+ * @param integer $completed_date The task's completion date.
+ */
+ function _modify($taskId, $name, $desc, $start = 0, $due = 0,
+ $priority = 0, $estimate = 0.0, $completed = 0,
+ $category = '', $alarm = 0, $methods = null,
+ $parent = '', $private = false, $owner = null,
+ $assignee = null, $completed_date = null)
+ {
+ $query = sprintf('UPDATE %s SET' .
+ ' task_creator = ?, ' .
+ ' task_assignee = ?, ' .
+ ' task_name = ?, ' .
+ ' task_desc = ?, ' .
+ ' task_start = ?, ' .
+ ' task_due = ?, ' .
+ ' task_priority = ?, ' .
+ ' task_estimate = ?, ' .
+ ' task_completed = ?, ' .
+ ' task_completed_date = ?, ' .
+ ' task_category = ?, ' .
+ ' task_alarm = ?, ' .
+ ' task_alarm_methods = ?, ' .
+ ' task_parent = ?, ' .
+ ' task_private = ? ' .
+ 'WHERE task_owner = ? AND task_id = ?',
+ $this->_params['table']);
+ $values = array($owner,
+ $assignee,
+ Horde_String::convertCharset($name, Horde_Nls::getCharset(), $this->_params['charset']),
+ Horde_String::convertCharset($desc, Horde_Nls::getCharset(), $this->_params['charset']),
+ (int)$start,
+ (int)$due,
+ (int)$priority,
+ number_format($estimate, 2),
+ (int)$completed,
+ (int)$completed_date,
+ Horde_String::convertCharset($category, Horde_Nls::getCharset(), $this->_params['charset']),
+ (int)$alarm,
+ serialize(Horde_String::convertCharset($methods, Horde_Nls::getCharset(), $this->_params['charset'])),
+ Horde_String::convertCharset($parent, Horde_Nls::getCharset(), $this->_params['charset']),
+ (int)$private,
+ $this->_tasklist,
+ $taskId);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::modify(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Attempt the update query. */
+ $result = $this->_write_db->query($query, $values);
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR);
+ return $result;
+ }
+
+ return true;
+ }
+
+ /**
+ * Moves a task to a different tasklist.
+ *
+ * @param string $taskId The task to move.
+ * @param string $newTasklist The new tasklist.
+ */
+ function _move($taskId, $newTasklist)
+ {
+ $query = sprintf('UPDATE %s SET task_owner = ? WHERE task_owner = ? AND task_id = ?',
+ $this->_params['table']);
+ $values = array($newTasklist, $this->_tasklist, $taskId);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::move(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Attempt the move query. */
+ $result = $this->_write_db->query($query, $values);
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR);
+ return $result;
+ }
+
+ return true;
+ }
+
+ /**
+ * Deletes a task from the backend.
+ *
+ * @param string $taskId The task to delete.
+ */
+ function _delete($taskId)
+ {
+ /* Get the task's details for use later. */
+ $task = $this->get($taskId);
+
+ $query = sprintf('DELETE FROM %s WHERE task_owner = ? AND task_id = ?',
+ $this->_params['table']);
+ $values = array($this->_tasklist, $taskId);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::delete(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Attempt the delete query. */
+ $result = $this->_write_db->query($query, $values);
+
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR);
+ return $result;
+ }
+
+ return true;
+ }
+
+ /**
+ * Deletes all tasks from the backend.
+ *
+ * @return mixed True on success, PEAR_Error on failure.
+ */
+ function deleteAll()
+ {
+ $query = sprintf('DELETE FROM %s WHERE task_owner = ?',
+ $this->_params['table']);
+ $values = array($this->_tasklist);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::deleteAll(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Attempt the delete query. */
+ $result = $this->_write_db->query($query, $values);
+
+ return is_a($result, 'PEAR_Error') ? $result : true;
+ }
+
+ /**
+ * Retrieves tasks from the database.
+ *
+ * @param integer $completed Which tasks to retrieve (1 = all tasks,
+ * 0 = incomplete tasks, 2 = complete tasks,
+ * 3 = future tasks, 4 = future and incomplete
+ * tasks).
+ *
+ * @return mixed True on success, PEAR_Error on failure.
+ */
+ function retrieve($completed = 1)
+ {
+ /* Build the SQL query. */
+ $query = sprintf('SELECT * FROM %s WHERE task_owner = ?',
+ $this->_params['table']);
+ $values = array($this->_tasklist);
+ switch ($completed) {
+ case 0:
+ $query .= ' AND task_completed = 0 AND (task_start IS NULL OR task_start = 0 OR task_start < ?)';
+ $values[] = time();
+ break;
+ case 2:
+ $query .= ' AND task_completed = 1';
+ break;
+ case 3:
+ $query .= ' AND task_completed = 0 AND task_start > ?';
+ $values[] = time();
+ break;
+ case 4:
+ $query .= ' AND task_completed = 0';
+ break;
+ }
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::retrieve(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Execute the query. */
+ $result = $this->_db->query($query, $values);
+
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if (is_a($row, 'PEAR_Error')) {
+ return $row;
+ }
+
+ /* Store the retrieved values in a fresh task list. */
+ $this->tasks = new Nag_Task();
+ $dict = array();
+ while ($row && !is_a($row, 'PEAR_Error')) {
+ $task = new Nag_Task($this->_buildTask($row));
+
+ /* Add task directly if it is a root task, otherwise store it in
+ * the dictionary. */
+ if (empty($row['task_parent'])) {
+ $this->tasks->add($task);
+ } else {
+ $dict[$row['task_id']] = $task;
+ }
+
+ /* Advance to the new row in the result set. */
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ }
+ $result->free();
+
+ /* Build a tree from the subtasks. */
+ foreach (array_keys($dict) as $key) {
+ $task = $this->tasks->get($dict[$key]->parent_id);
+ if ($task) {
+ $task->add($dict[$key]);
+ } elseif (isset($dict[$dict[$key]->parent_id])) {
+ $dict[$dict[$key]->parent_id]->add($dict[$key]);
+ } else {
+ $this->tasks->add($dict[$key]);
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Retrieves sub-tasks from the database.
+ *
+ * @param string $parentId The parent id for the sub-tasks to retrieve.
+ *
+ * @return array List of sub-tasks.
+ */
+ function getChildren($parentId)
+ {
+ /* Build the SQL query. */
+ $query = sprintf('SELECT * FROM %s WHERE task_owner = ? AND task_parent = ?',
+ $this->_params['table']);
+ $values = array($this->_tasklist, $parentId);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql::getChildren(): %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Execute the query. */
+ $result = $this->_db->query($query, $values);
+
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if (is_a($row, 'PEAR_Error')) {
+ return $row;
+ }
+
+ /* Store the retrieved values in a fresh task list. */
+ $tasks = array();
+ while ($row && !is_a($row, 'PEAR_Error')) {
+ $task = new Nag_Task($this->_buildTask($row));
+ $children = $this->getChildren($task->id);
+ if (is_a($children, 'PEAR_Error')) {
+ return $children;
+ }
+ $task->mergeChildren($children);
+ $tasks[] = $task;
+
+ /* Advance to the new row in the result set. */
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ }
+ $result->free();
+
+ return $tasks;
+ }
+
+ /**
+ * Lists all alarms near $date.
+ *
+ * @param integer $date The unix epoch time to check for alarms.
+ *
+ * @return array An array of tasks that have alarms that match.
+ */
+ function listAlarms($date)
+ {
+ $q = 'SELECT * FROM ' . $this->_params['table'];
+ $q .= ' WHERE task_owner = ?';
+ $q .= ' AND task_alarm > 0';
+ $q .= ' AND (task_due - (task_alarm * 60) <= ?)';
+ $q .= ' AND task_completed = 0';
+ $values = array($this->_tasklist, $date);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('SQL alarms list by %s: table = %s; query = "%s"',
+ Horde_Auth::getAuth(), $this->_params['table'], $q),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
+ /* Run the query. */
+ $qr = $this->_db->getAll($q, $values, DB_FETCHMODE_ASSOC);
+ if (is_a($qr, 'PEAR_Error')) {
+ return $qr;
+ }
+
+ $tasks = array();
+ foreach ($qr as $row) {
+ $tasks[$row['task_id']] = new Nag_Task($this->_buildTask($row));
+ }
+ return $tasks;
+ }
+
+ /**
+ */
+ function _buildTask($row)
+ {
+ /* Make sure tasks always have a UID. */
+ if (empty($row['task_uid'])) {
+ $row['task_uid'] = $this->generateUID();
+
+ $query = 'UPDATE ' . $this->_params['table'] .
+ ' SET task_uid = ?' .
+ ' WHERE task_owner = ? AND task_id = ?';
+ $values = array($row['task_uid'], $row['task_owner'], $row['task_id']);
+
+ /* Log the query at a DEBUG log level. */
+ Horde::logMessage(sprintf('Nag_Driver_Sql adding missing UID: %s', $query),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+ $this->_write_db->query($query, $values);
+ }
+
+ /* Create a new task based on $row's values. */
+ return array('tasklist_id' => $row['task_owner'],
+ 'task_id' => $row['task_id'],
+ 'uid' => Horde_String::convertCharset($row['task_uid'], $this->_params['charset']),
+ 'parent' => $row['task_parent'],
+ 'owner' => $row['task_creator'],
+ 'assignee' => $row['task_assignee'],
+ 'name' => Horde_String::convertCharset($row['task_name'], $this->_params['charset']),
+ 'desc' => Horde_String::convertCharset($row['task_desc'], $this->_params['charset']),
+ 'category' => Horde_String::convertCharset($row['task_category'], $this->_params['charset']),
+ 'start' => $row['task_start'],
+ 'due' => $row['task_due'],
+ 'priority' => $row['task_priority'],
+ 'estimate' => (float)$row['task_estimate'],
+ 'completed' => $row['task_completed'],
+ 'completed_date' => isset($row['task_completed_date']) ? $row['task_completed_date'] : null,
+ 'alarm' => $row['task_alarm'],
+ 'methods' => Horde_String::convertCharset(@unserialize($row['task_alarm_methods']), $this->_params['charset']),
+ 'private' => $row['task_private']);
+ }
+
+ /**
+ * Attempts to open a connection to the SQL server.
+ *
+ * @return boolean True on success, PEAR_Error on failure.
+ */
+ function initialize()
+ {
+ Horde::assertDriverConfig($this->_params, 'storage',
+ array('phptype', 'charset'));
+
+ if (!isset($this->_params['database'])) {
+ $this->_params['database'] = '';
+ }
+ if (!isset($this->_params['username'])) {
+ $this->_params['username'] = '';
+ }
+ if (!isset($this->_params['hostspec'])) {
+ $this->_params['hostspec'] = '';
+ }
+ if (!isset($this->_params['table'])) {
+ $this->_params['table'] = 'nag_tasks';
+ }
+
+ /* Connect to the SQL server using the supplied parameters. */
+ require_once 'DB.php';
+ $this->_write_db = DB::connect($this->_params,
+ array('persistent' => !empty($this->_params['persistent']),
+ 'ssl' => !empty($this->_params['ssl'])));
+ if (is_a($this->_write_db, 'PEAR_Error')) {
+ return $this->_write_db;
+ }
+
+ /* Set DB portability options. */
+ switch ($this->_write_db->phptype) {
+ case 'mssql':
+ $this->_write_db->setOption('portability', DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_ERRORS | DB_PORTABILITY_RTRIM);
+ break;
+ default:
+ $this->_write_db->setOption('portability', DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_ERRORS);
+ }
+
+ /* Check if we need to set up the read DB connection
+ * seperately. */
+ if (!empty($this->_params['splitread'])) {
+ $params = array_merge($this->_params, $this->_params['read']);
+ $this->_db = DB::connect($params,
+ array('persistent' => !empty($params['persistent']),
+ 'ssl' => !empty($params['ssl'])));
+ if (is_a($this->_db, 'PEAR_Error')) {
+ return $this->_db;
+ }
+
+ /* Set DB portability options. */
+ switch ($this->_db->phptype) {
+ case 'mssql':
+ $this->_db->setOption('portability', DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_ERRORS | DB_PORTABILITY_RTRIM);
+ break;
+ default:
+ $this->_db->setOption('portability', DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_ERRORS);
+ }
+
+ } else {
+ /* Default to the same DB handle for the writer too. */
+ $this->_db =& $this->_write_db;
+ }
+
+ return true;
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Horde_Form for creating task lists.
+ *
+ * $Horde: nag/lib/Forms/CreateTaskList.php,v 1.3 2009/06/10 17:33:41 slusarz Exp $
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @package Nag
+ */
+
+/** Horde_Form */
+require_once 'Horde/Form.php';
+
+/** Horde_Form_Renderer */
+require_once 'Horde/Form/Renderer.php';
+
+/**
+ * The Nag_CreateTaskListForm class provides the form for
+ * creating a task list.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @since Nag 2.2
+ * @package Nag
+ */
+class Nag_CreateTaskListForm extends Horde_Form {
+
+ function Nag_CreateTaskListForm(&$vars)
+ {
+ parent::Horde_Form($vars, _("Create Task List"));
+
+ $this->addVariable(_("Task List Name"), 'name', 'text', true);
+ $this->addVariable(_("Task List Description"), 'description', 'longtext', false, false, null, array(4, 60));
+
+ $this->setButtons(array(_("Create")));
+ }
+
+ function execute()
+ {
+ // Create new share.
+ $tasklist = $GLOBALS['nag_shares']->newShare(md5(microtime()));
+ if (is_a($tasklist, 'PEAR_Error')) {
+ return $tasklist;
+ }
+ $tasklist->set('name', $this->_vars->get('name'));
+ $tasklist->set('desc', $this->_vars->get('description'));
+ return $GLOBALS['nag_shares']->addShare($tasklist);
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Horde_Form for deleting task lists.
+ *
+ * $Horde: nag/lib/Forms/DeleteTaskList.php,v 1.3 2009/07/08 18:29:48 slusarz Exp $
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @package Nag
+ */
+
+/** Horde_Form */
+require_once 'Horde/Form.php';
+
+/** Horde_Form_Renderer */
+require_once 'Horde/Form/Renderer.php';
+
+/**
+ * The Nag_DeleteTaskListForm class provides the form for
+ * deleting a task list.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @since Nag 2.2
+ * @package Nag
+ */
+class Nag_DeleteTaskListForm extends Horde_Form {
+
+ /**
+ * Task list being deleted
+ */
+ var $_tasklist;
+
+ function Nag_DeleteTaskListForm(&$vars, &$tasklist)
+ {
+ $this->_tasklist = &$tasklist;
+ parent::Horde_Form($vars, sprintf(_("Delete %s"), $tasklist->get('name')));
+
+ $this->addHidden('', 't', 'text', true);
+ $this->addVariable(sprintf(_("Really delete the task list \"%s\"? This cannot be undone and all data on this task list will be permanently removed."), $this->_tasklist->get('name')), 'desc', 'description', false);
+
+ $this->setButtons(array(_("Delete"), _("Cancel")));
+ }
+
+ function execute()
+ {
+ // If cancel was clicked, return false.
+ if ($this->_vars->get('submitbutton') == _("Cancel")) {
+ return false;
+ }
+
+ if ($this->_tasklist->get('owner') != Horde_Auth::getAuth()) {
+ return PEAR::raiseError(_("Permission denied"));
+ }
+
+ // Delete the task list.
+ $storage = &Nag_Driver::singleton($this->_tasklist->getName());
+ $result = $storage->deleteAll();
+ if (is_a($result, 'PEAR_Error')) {
+ return PEAR::raiseError(sprintf(_("Unable to delete \"%s\": %s"), $this->_tasklist->get('name'), $result->getMessage()));
+ } else {
+ // Remove share and all groups/permissions.
+ $result = $GLOBALS['nag_shares']->removeShare($this->_tasklist);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ }
+
+ // Make sure we still own at least one task list.
+ if (count(Nag::listTasklists(true)) == 0) {
+ // If the default share doesn't exist then create it.
+ if (!$GLOBALS['nag_shares']->exists(Horde_Auth::getAuth())) {
+ require_once 'Horde/Identity.php';
+ $identity = &Identity::singleton();
+ $name = $identity->getValue('fullname');
+ if (trim($name) == '') {
+ $name = Horde_Auth::removeHook(Horde_Auth::getAuth());
+ }
+ $tasklist = &$GLOBALS['nag_shares']->newShare(Horde_Auth::getAuth());
+ if (is_a($tasklist, 'PEAR_Error')) {
+ return;
+ }
+ $tasklist->set('name', sprintf(_("%s's Task List"), $name));
+ $GLOBALS['nag_shares']->addShare($tasklist);
+ }
+ }
+
+ return true;
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Horde_Form for editing task lists.
+ *
+ * $Horde: nag/lib/Forms/EditTaskList.php,v 1.3 2009/06/10 17:33:41 slusarz Exp $
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @package Nag
+ */
+
+/** Horde_Form */
+require_once 'Horde/Form.php';
+
+/** Horde_Form_Renderer */
+require_once 'Horde/Form/Renderer.php';
+
+/**
+ * The Nag_EditTaskListForm class provides the form for
+ * editing a task list.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @since Nag 2.2
+ * @package Nag
+ */
+class Nag_EditTaskListForm extends Horde_Form {
+
+ /**
+ * Task list being edited
+ */
+ var $_tasklist;
+
+ function Nag_EditTaskListForm(&$vars, &$tasklist)
+ {
+ $this->_tasklist = &$tasklist;
+ parent::Horde_Form($vars, sprintf(_("Edit %s"), $tasklist->get('name')));
+
+ $this->addHidden('', 't', 'text', true);
+ $this->addVariable(_("Task List Name"), 'name', 'text', true);
+ $this->addVariable(_("Task List Description"), 'description', 'longtext', false, false, null, array(4, 60));
+
+ $this->setButtons(array(_("Save")));
+ }
+
+ function execute()
+ {
+ $this->_tasklist->set('name', $this->_vars->get('name'));
+ $this->_tasklist->set('desc', $this->_vars->get('description'));
+ $result = $this->_tasklist->save();
+ if (is_a($result, 'PEAR_Error')) {
+ return PEAR::raiseError(sprintf(_("Unable to save task list \"%s\": %s"), $id, $result->getMessage()));
+ }
+ return true;
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * This file contains all Horde_Form extensions required for editing tasks.
+ *
+ * $Horde: nag/lib/Forms/task.php,v 1.23 2009/07/09 08:18:34 slusarz Exp $
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @package Nag
+ */
+
+/**
+ * The Nag_TaskForm class provides the form for adding and editing a task.
+ *
+ * @author Jan Schneider <jan@horde.org>
+ * @since Nag 1.2
+ * @package Nag
+ */
+class Nag_TaskForm extends Horde_Form {
+
+ var $delete;
+
+ function Nag_TaskForm(&$vars, $title = '', $delete = false)
+ {
+ parent::Horde_Form($vars, $title);
+ $this->delete = $delete;
+
+ $tasklists = Nag::listTasklists(false, PERMS_EDIT);
+ $tasklist_enums = array();
+ foreach ($tasklists as $tl_id => $tl) {
+ $tasklist_enums[$tl_id] = $tl->get('name');
+ }
+
+ $tasklist = $vars->get('tasklist_id');
+ if (empty($tasklist)) {
+ reset($tasklists);
+ $tasklist = key($tasklists);
+ }
+ $tasks = Nag::listTasks(null, null, null, array($tasklist), 4);
+ $task_enums = array('' => _("No parent task"));
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ if ($vars->get('task_id') == $task->id) {
+ continue;
+ }
+ $task_enums[htmlspecialchars($task->id)] = str_repeat(' ', $task->indent * 4) . htmlentities($task->name, ENT_COMPAT, Horde_Nls::getCharset());
+ }
+ $users = array();
+ $share = &$GLOBALS['nag_shares']->getShare($tasklist);
+ if (!is_a($share, 'PEAR_Error')) {
+ $users = $share->listUsers(PERMS_READ);
+ $groups = $share->listGroups(PERMS_READ);
+ if (count($groups)) {
+ require_once 'Horde/Group.php';
+ $horde_group = &Group::singleton();
+ foreach ($groups as $group) {
+ $users = array_merge($users,
+ $horde_group->listAllUsers($group));
+ }
+ }
+ $users = array_flip($users);
+ }
+ if (count($users)) {
+ require_once 'Horde/Identity.php';
+ foreach (array_keys($users) as $user) {
+ $identity = &Identity::singleton('none', $user);
+ $fullname = $identity->getValue('fullname');
+ $users[$user] = strlen($fullname) ? $fullname : $user;
+ }
+ }
+ $priorities = array(1 => '1 ' . _("(highest)"), 2 => 2, 3 => 3,
+ 4 => 4, 5 => '5 ' . _("(lowest)"));
+
+ $this->addHidden('', 'actionID', 'text', true);
+ $this->addHidden('', 'task_id', 'text', false);
+ $this->addHidden('', 'old_tasklist', 'text', false);
+
+ $this->addVariable(_("Name"), 'name', 'text', true);
+ if (!$GLOBALS['prefs']->isLocked('default_tasklist') &&
+ count($tasklists) > 1) {
+ $v = &$this->addVariable(_("Task List"), 'tasklist_id', 'enum', true, false, false, array($tasklist_enums));
+ $v->setAction(Horde_Form_Action::factory('reload'));
+ }
+
+ $v = &$this->addVariable(_("Parent task"), 'parent', 'enum', false, false, false, array($task_enums));
+ $v->setOption('htmlchars', true);
+
+ if (class_exists('Horde_Form_Type_category')) {
+ $this->addVariable(_("Category"), 'category', 'category', false);
+ } else {
+ require_once 'Horde/Prefs/CategoryManager.php';
+ require_once 'Horde/Array.php';
+ $values = Horde_Array::valuesToKeys(Prefs_CategoryManager::get());
+ $this->addVariable(_("Category"), 'category', 'enum', false, false, false, array($values, _("Unfiled")));
+ }
+
+ $this->addVariable(_("Assignee"), 'assignee', 'enum', false, false,
+ null, array($users, _("None")));
+ $this->addVariable(_("Private?"), 'private', 'boolean', false);
+ $this->addVariable(_("Due By"), 'due', 'nag_due', false);
+ $this->addVariable(_("Delay Start Until"), 'start', 'nag_start', false);
+ $this->addVariable(_("Alarm"), 'alarm', 'nag_alarm', false);
+ $v = &$this->addVariable(_("Notification"), 'methods', 'nag_method', false);
+ $v->setAction(Horde_Form_Action::factory('reload'));
+
+ $v = &$this->addVariable(_("Priority"), 'priority', 'enum', false, false, false, array($priorities));
+ $v->setDefault(3);
+
+ $this->addVariable(_("Estimated Time"), 'estimate', 'number', false);
+ $this->addVariable(_("Completed?"), 'completed', 'boolean', false);
+ $this->addVariable(_("Description"), 'desc', 'longtext', false, false,
+ Horde::callHook('_nag_hook_description_help', array(), 'nag', ''));
+
+ $buttons = array(_("Save"));
+ if ($delete) {
+ $buttons[] = _("Delete this task");
+ }
+ $this->setButtons($buttons);
+ }
+
+ function renderActive()
+ {
+ return parent::renderActive(new Nag_TaskForm_Renderer(array('varrenderer_driver' => array('nag', 'nag')), $this->delete), $this->_vars, 'task.php', 'post');
+ }
+
+}
+
+class Nag_TaskForm_Renderer extends Horde_Form_Renderer {
+
+ var $delete;
+
+ function Nag_TaskForm_Renderer($params = array(), $delete = false)
+ {
+ parent::Horde_Form_Renderer($params);
+ $this->delete = $delete;
+ }
+
+ function _renderSubmit($submit, $reset)
+ {
+?><div class="control" style="padding:1em;">
+ <input class="button leftFloat" name="submitbutton" type="submit" value="<?php echo _("Save") ?>" />
+<?php if ($this->delete): ?>
+ <input class="button rightFloat" name="submitbutton" type="submit" value="<?php echo _("Delete this task") ?>" />
+<?php endif; ?>
+ <div class="clear"></div>
+</div>
+<?php
+ }
+
+}
+/**
+ * The Horde_Form_Type_nag_method class provides a form field for editing
+ * notification methods for a task alarm.
+ *
+ * @author Alfonso Marin <almarin@um.es>
+ * @since Nag 3.0
+ * @package Nag
+ */
+class Horde_Form_Type_nag_method extends Horde_Form_Type {
+
+ function getInfo(&$vars, &$var, &$info)
+ {
+ $info = $var->getValue($vars);
+ if (empty($info['on'])) {
+ $info = array();
+ return;
+ }
+
+ $types = $vars->get('task_alarms');
+ $info = array();
+ if (!empty($types)) {
+ foreach ($types as $type) {
+ $info[$type] = array();
+ switch ($type){
+ case 'notify':
+ $info[$type]['sound'] = $vars->get('task_alarms_sound');
+ break;
+ case 'mail':
+ $info[$type]['email'] = $vars->get('task_alarms_email');
+ break;
+ case 'popup':
+ break;
+ }
+ }
+ }
+ }
+
+ function isValid(&$var, &$vars, $value, &$message)
+ {
+ $alarm = $vars->get('alarm');
+ if ($value['on'] && !$alarm['on']){
+ $message = _("An alarm must be set to specify a notification method");
+ return false;
+ }
+ return true;
+ }
+
+}
+
+/**
+ * The Horde_Form_Type_nag_alarm class provides a form field for editing task
+ * alarms.
+ *
+ * @author Jan Schneider <jan@horde.org>
+ * @since Nag 2.2
+ * @package Nag
+ */
+class Horde_Form_Type_nag_alarm extends Horde_Form_Type {
+
+ function getInfo(&$vars, &$var, &$info)
+ {
+ $info = $var->getValue($vars);
+ if (!$info['on']) {
+ $info = 0;
+ }
+ $info = $info['value'] * $info['unit'];
+ }
+
+ function isValid(&$var, &$vars, $value, &$message)
+ {
+ if ($value['on']) {
+ if ($vars->get('due_type') == 'none') {
+ $message = _("A due date must be set to enable alarms.");
+ return false;
+ }
+ if (empty($value['value'])) {
+ $message = _("The alarm value must not be empty.");
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+}
+
+/**
+ * The Horde_Form_Type_nag_due class provides a form field for editing
+ * task due dates.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @since Nag 2.2
+ * @package Nag
+ */
+class Horde_Form_Type_nag_due extends Horde_Form_Type {
+
+ function getInfo(&$vars, &$var, &$info)
+ {
+ $due_type = $vars->get('due_type');
+ $due = $vars->get('due');
+ if (is_array($due)) {
+ $due_day = !empty($due['day']) ? $due['day'] : null;
+ $due_month = !empty($due['month']) ? $due['month'] : null;
+ $due_year = !empty($due['year']) ? $due['year'] : null;
+ $due_hour = Horde_Util::getFormData('due_hour');
+ $due_minute = Horde_Util::getFormData('due_minute');
+ if (!$GLOBALS['prefs']->getValue('twentyFour')) {
+ $due_am_pm = Horde_Util::getFormData('due_am_pm');
+ if ($due_am_pm == 'pm') {
+ if ($due_hour < 12) {
+ $due_hour = $due_hour + 12;
+ }
+ } else {
+ // Adjust 12:xx AM times.
+ if ($due_hour == 12) {
+ $due_hour = 0;
+ }
+ }
+ }
+
+ $due = (int)strtotime("$due_month/$due_day/$due_year $due_hour:$due_minute");
+ }
+
+ $info = strcasecmp($due_type, 'none') ? $due : 0;
+ }
+
+ function isValid(&$var, &$vars, $value, &$message)
+ {
+ return true;
+ }
+
+}
+
+/**
+ * The Horde_Form_Type_nag_start class provides a form field for editing
+ * task delayed start dates.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @since Nag 2.2
+ * @package Nag
+ */
+class Horde_Form_Type_nag_start extends Horde_Form_Type {
+
+ function getInfo(&$vars, &$var, &$info)
+ {
+ $start_type = $vars->get('start_date');
+ $start = $vars->get('start');
+ if (is_array($start)) {
+ $start_day = !empty($start['day']) ? $start['day'] : null;
+ $start_month = !empty($start['month']) ? $start['month'] : null;
+ $start_year = !empty($start['year']) ? $start['year'] : null;
+ $start = (int)strtotime("$start_month/$start_day/$start_year");
+ }
+
+ $info = strcasecmp($start_type, 'none') ? $start : 0;
+ }
+
+ function isValid(&$var, &$vars, $value, &$message)
+ {
+ return true;
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Nag Base Class.
+ *
+ * $Horde: nag/lib/Nag.php,v 1.203 2009/07/17 15:56:16 chuck Exp $
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jon Parise <jon@horde.org>
+ * @package Nag
+ */
+class Nag
+{
+ /**
+ * Sort by task name.
+ */
+ const SORT_NAME = 'name';
+
+ /**
+ * Sort by priority.
+ */
+ const SORT_PRIORITY = 'priority';
+
+ /**
+ * Sort by due date.
+ */
+ const SORT_DUE = 'due';
+
+ /**
+ * Sort by completion.
+ */
+ const SORT_COMPLETION = 'completed';
+
+ /**
+ * Sort by category.
+ */
+ const SORT_CATEGORY = 'category';
+
+ /**
+ * Sort by owner.
+ */
+ const SORT_OWNER = 'tasklist';
+
+ /**
+ * Sort by estimate.
+ */
+ const SORT_ESTIMATE = 'estimate';
+
+ /**
+ * Sort by assignee.
+ */
+ const SORT_ASSIGNEE = 'assignee';
+
+ /**
+ * Sort in ascending order.
+ */
+ const SORT_ASCEND = 0;
+
+ /**
+ * Sort in descending order.
+ */
+ const SORT_DESCEND = 1;
+
+ public static function secondsToString($seconds)
+ {
+ $hours = floor($seconds / 3600);
+ $minutes = ($seconds / 60) % 60;
+
+ if ($hours > 1) {
+ if ($minutes == 0) {
+ return sprintf(_("%d hours"), $hours);
+ } elseif ($minutes == 1) {
+ return sprintf(_("%d hours, %d minute"), $hours, $minutes);
+ } else {
+ return sprintf(_("%d hours, %d minutes"), $hours, $minutes);
+ }
+ } elseif ($hours == 1) {
+ if ($minutes == 0) {
+ return sprintf(_("%d hour"), $hours);
+ } elseif ($minutes == 1) {
+ return sprintf(_("%d hour, %d minute"), $hours, $minutes);
+ } else {
+ return sprintf(_("%d hour, %d minutes"), $hours, $minutes);
+ }
+ } else {
+ if ($minutes == 0) {
+ return _("no time");
+ } elseif ($minutes == 1) {
+ return sprintf(_("%d minute"), $minutes);
+ } else {
+ return sprintf(_("%d minutes"), $minutes);
+ }
+ }
+ }
+
+ /**
+ * Retrieves the current user's task list from storage.
+ *
+ * This function will also sort the resulting list, if requested.
+ *
+ * @param string $sortby The field by which to sort (Nag::SORT_*).
+ * @param integer $sortdir The direction by which to sort
+ * (Nag::SORT_ASCEND, Nag::SORT_DESCEND).
+ * @param string $altsortby The secondary sort field.
+ * @param array $tasklists An array of tasklist to display or
+ * null/empty to display taskslists
+ * $GLOBALS['display_tasklists'].
+ * @param integer $completed Which tasks to retrieve (1 = all tasks,
+ * 0 = incomplete tasks, 2 = complete tasks,
+ * 3 = future tasks, 4 = future and incomplete
+ * tasks).
+ *
+ * @return Nag_Task A list of the requested tasks.
+ */
+ function listTasks($sortby = null,
+ $sortdir = null,
+ $altsortby = null,
+ $tasklists = null,
+ $completed = null)
+ {
+ global $prefs, $registry;
+
+ if (is_null($sortby)) {
+ $sortby = $prefs->getValue('sortby');
+ }
+ if (is_null($sortdir)) {
+ $sortdir = $prefs->getValue('sortdir');
+ }
+ if (is_null($altsortby)) {
+ $altsortby = $prefs->getValue('altsortby');
+ }
+
+ if (is_null($tasklists)) {
+ $tasklists = $GLOBALS['display_tasklists'];
+ }
+ if (!is_array($tasklists)) {
+ $tasklists = array($tasklists);
+ }
+ if (is_null($completed)) {
+ $completed = $prefs->getValue('show_completed');
+ }
+
+ $tasks = new Nag_Task();
+ foreach ($tasklists as $tasklist) {
+ /* Create a Nag storage instance. */
+ $storage = Nag_Driver::singleton($tasklist);
+
+ /* Retrieve the tasklist from storage. */
+ $result = $storage->retrieve($completed);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ $tasks->mergeChildren($storage->tasks->children);
+ }
+
+ /* Process all tasks. */
+ $tasks->process();
+
+ /* We look for registered apis that support listAs(taskHash). */
+ $apps = @unserialize($prefs->getValue('show_external'));
+ if (is_array($apps)) {
+ foreach ($apps as $app) {
+ if ($app != 'nag' &&
+ $registry->hasMethod('getListTypes', $app)) {
+ $types = $registry->callByPackage($app, 'getListTypes');
+ if (is_a($types, 'PEAR_Error')) {
+ continue;
+ }
+ if (!empty($types['taskHash'])) {
+ $newtasks = $registry->callByPackage($app, 'listAs', array('taskHash'));
+ if (is_a($newtasks, 'PEAR_Error')) {
+ Horde::logMessage($newtasks, __FILE__, __LINE__, PEAR_LOG_ERR);
+ } else {
+ foreach ($newtasks as $task) {
+ $task['tasklist_id'] = '**EXTERNAL**';
+ $task['tasklist_name'] = $registry->get('name', $app);
+ $tasks->add(new Nag_Task($task));
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* Sort the array. */
+ $tasks->sort($sortby, $sortdir, $altsortby);
+
+ return $tasks;
+ }
+
+ /**
+ * Returns a single task.
+ *
+ * @param string $tasklist A tasklist.
+ * @param string $task A task id.
+ *
+ * @return array The task hash.
+ */
+ function getTask($tasklist, $task)
+ {
+ $storage = Nag_Driver::singleton($tasklist);
+ $task = $storage->get($task);
+ if (is_a($task, 'PEAR_Error')) {
+ return $task;
+ }
+ $task->process();
+ return $task;
+ }
+
+ /**
+ * Returns the number of taks in task lists that the current user owns.
+ *
+ * @return integer The number of tasks that the user owns.
+ */
+ function countTasks()
+ {
+ static $count;
+ if (isset($count)) {
+ return $count;
+ }
+
+ $tasklists = Nag::listTasklists(true, PERMS_ALL);
+
+ $count = 0;
+ foreach (array_keys($tasklists) as $tasklist) {
+ /* Create a Nag storage instance. */
+ $storage = Nag_Driver::singleton($tasklist);
+ $storage->retrieve();
+
+ /* Retrieve the task list from storage. */
+ $count += $storage->tasks->count();
+ }
+
+ return $count;
+ }
+
+ /**
+ * Imports one or more tasks parsed from a string.
+ *
+ * @param string $text The text to parse into
+ * @param string $tasklist The tasklist into which the task will be
+ * imported. If 'null', the user's default
+ * tasklist will be used.
+ *
+ * @return array The UIDs of all tasks that were added.
+ */
+ public static function createTasksFromText($text, $tasklist = null)
+ {
+ if ($tasklist === null) {
+ $tasklist = Nag::getDefaultTasklist(PERMS_EDIT);
+ }
+ if (!array_key_exists($tasklist, Nag::listTasklists(false, PERMS_EDIT))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $storage = Nag_Driver::singleton($tasklist);
+ $dateParser = Horde_Date_Parser::factory();
+
+ $quickParser = new Nag_QuickParser();
+ $tasks = $quickParser->parse($text);
+
+ $uids = array();
+ foreach ($tasks as &$task) {
+ if (!is_array($task)) {
+ $name = $task;
+ $task = array($name);
+ }
+
+ $r = $dateParser->parse($task[0], array('return' => 'result'));
+ if ($d = $r->guess()) {
+ $name = $r->untaggedText();
+ $due = $d->timestamp();
+ } else {
+ $name = $task[0];
+ $due = 0;
+ }
+
+ if (isset($task['parent'])) {
+ $newTask = $storage->add($name, '', 0, $due, 3, 0.0, 0, '', 0, null, null, $tasks[$task['parent']]['id']);
+ } else {
+ $newTask = $storage->add($name, '', 0, $due, 3);
+ }
+ if (is_a($newTask, 'PEAR_Error')) {
+ return $newTask;
+ }
+ $uids[] = $newTask[1];
+ $task['id'] = $newTask[0];
+ }
+
+ return $uids;
+ }
+
+ /**
+ * Returns all the alarms active right on $date.
+ *
+ * @param integer $date The unix epoch time to check for alarms.
+ *
+ * @return array The alarms (taskId) active on $date.
+ */
+ function listAlarms($date, $tasklists = null)
+ {
+ if (is_null($tasklists)) {
+ $tasklists = $GLOBALS['display_tasklists'];
+ }
+
+ $tasks = array();
+ foreach ($tasklists as $tasklist) {
+ /* Create a Nag storage instance. */
+ $storage = Nag_Driver::singleton($tasklist);
+
+ /* Retrieve the alarms for the task list. */
+ $newtasks = $storage->listAlarms($date);
+ if (is_a($newtasks, 'PEAR_Error')) {
+ return $newtasks;
+ }
+
+ /* Don't show an alarm for complete tasks. */
+ foreach ($newtasks as $taskID => $task) {
+ if (!empty($task->completed)) {
+ unset($newtasks[$taskID]);
+ }
+ }
+
+ $tasks = array_merge($tasks, $newtasks);
+ }
+
+ return $tasks;
+ }
+
+ /**
+ * Lists all task lists a user has access to.
+ *
+ * @param boolean $owneronly Only return tasklists that this user owns?
+ * Defaults to false.
+ * @param integer $permission The permission to filter tasklists by.
+ *
+ * @return array The task lists.
+ */
+ function listTasklists($owneronly = false, $permission = PERMS_SHOW)
+ {
+ $tasklists = $GLOBALS['nag_shares']->listShares(Horde_Auth::getAuth(), $permission, $owneronly ? Horde_Auth::getAuth() : null, 0, 0, 'name');
+ if (is_a($tasklists, 'PEAR_Error')) {
+ Horde::logMessage($tasklists, __FILE__, __LINE__, PEAR_LOG_ERR);
+ return array();
+ }
+
+ return $tasklists;
+ }
+
+ /**
+ * Filters data based on permissions.
+ *
+ * @param array $in The data we want filtered.
+ * @param string $filter What type of data we are filtering.
+ * @param integer $permission The PERMS_* constant we will filter on.
+ *
+ * @return array The filtered data.
+ */
+ function permissionsFilter($in, $permission = PERMS_READ)
+ {
+ // FIXME: Must find a way to check individual tasklists for
+ // permission. Can't specify attributes as it does not check for the
+ // 'key' attribute, only 'name' and 'value'.
+ return $in;
+
+ // Broken code:
+ $out = array();
+
+ foreach ($in as $sourceId => $source) {
+ if ($in->hasPermission($permission)) {
+ $out[$sourceId] = $source;
+ }
+ }
+
+ return $out;
+ }
+
+ /**
+ * Returns the default tasklist for the current user at the specified
+ * permissions level.
+ */
+ function getDefaultTasklist($permission = PERMS_SHOW)
+ {
+ global $prefs;
+
+ $default_tasklist = $prefs->getValue('default_tasklist');
+ $tasklists = Nag::listTasklists(false, $permission);
+
+ if (isset($tasklists[$default_tasklist])) {
+ return $default_tasklist;
+ } elseif ($prefs->isLocked('default_tasklist')) {
+ return Horde_Auth::getAuth();
+ } elseif (count($tasklists)) {
+ reset($tasklists);
+ return key($tasklists);
+ }
+
+ return false;
+ }
+
+ /**
+ * Builds the HTML for a priority selection widget.
+ *
+ * @param string $name The name of the widget.
+ * @param integer $selected The default selected priority.
+ *
+ * @return string The HTML <select> widget.
+ */
+ function buildPriorityWidget($name, $selected = -1)
+ {
+ $descs = array(1 => _("(highest)"), 5 => _("(lowest)"));
+
+ $html = "<select id=\"$name\" name=\"$name\">";
+ for ($priority = 1; $priority <= 5; $priority++) {
+ $html .= "<option value=\"$priority\"";
+ $html .= ($priority == $selected) ? ' selected="selected">' : '>';
+ $html .= $priority . ' ' . @$descs[$priority] . '</option>';
+ }
+ $html .= "</select>\n";
+
+ return $html;
+ }
+
+ /**
+ * Builds the HTML for a checkbox widget.
+ *
+ * @param string $name The name of the widget.
+ * @param integer $checked The default checkbox state.
+ *
+ * @return string HTML for a checkbox representing the completion state.
+ */
+ function buildCheckboxWidget($name, $checked = 0)
+ {
+ $name = htmlspecialchars($name);
+ return "<input type=\"checkbox\" id=\"$name\" name=\"$name\"" .
+ ($checked ? ' checked="checked"' : '') . ' />';
+ }
+
+ /**
+ * Formats the given Unix-style date string.
+ *
+ * @param string $unixdate The Unix-style date value to format.
+ * @param boolean $hours Whether to add hours.
+ *
+ * @return string The formatted due date string.
+ */
+ function formatDate($unixdate = '', $hours = true)
+ {
+ global $prefs;
+
+ if (empty($unixdate)) {
+ return '';
+ }
+
+ $date = strftime($prefs->getValue('date_format'), $unixdate);
+ if (!$hours) {
+ return $date;
+ }
+
+ return sprintf(_("%s at %s"),
+ $date,
+ strftime($prefs->getValue('twentyFour') ? '%H:%M' : '%I:%M %p', $unixdate));
+ }
+
+ /**
+ * Returns the string representation of the given completion status.
+ *
+ * @param int $completed The completion value.
+ *
+ * @return string The HTML representation of $completed.
+ */
+ function formatCompletion($completed)
+ {
+ return $completed ?
+ Horde::img('checked.png', _("Completed")) :
+ Horde::img('unchecked.png', _("Not Completed"));
+ }
+
+ /**
+ * Returns a colored representation of a priority.
+ *
+ * @param int $priority The priority level.
+ *
+ * @return string The HTML representation of $priority.
+ */
+ function formatPriority($priority)
+ {
+ return '<span class="pri-' . (int)$priority . '">' . (int)$priority .
+ '</span>';
+ }
+
+ /**
+ * Returns the string matching the given alarm value.
+ *
+ * @param int $value The alarm value in minutes.
+ *
+ * @return string The formatted alarm string.
+ */
+ function formatAlarm($value)
+ {
+ if ($value) {
+ if ($value % 10080 == 0) {
+ $alarm_value = $value / 10080;
+ $alarm_unit = _("Week(s)");
+ } elseif ($value % 1440 == 0) {
+ $alarm_value = $value / 1440;
+ $alarm_unit = _("Day(s)");
+ } elseif ($value % 60 == 0) {
+ $alarm_value = $value / 60;
+ $alarm_unit = _("Hour(s)");
+ } else {
+ $alarm_value = $value;
+ $alarm_unit = _("Minute(s)");
+ }
+ $alarm_text = "$alarm_value $alarm_unit";
+ } else {
+ $alarm_text = _("None");
+ }
+ return $alarm_text;
+ }
+
+ /**
+ * Returns the full name and a compose to message an assignee.
+ *
+ * @param string $assignee The assignee's user name.
+ * @param boolean $link Whether to link to an email compose screen.
+ *
+ * @return string The formatted assignee name.
+ */
+ function formatAssignee($assignee, $link = false)
+ {
+ if (!strlen($assignee)) {
+ return '';
+ }
+
+ require_once 'Horde/Identity.php';
+ $identity = Identity::singleton('none', $assignee);
+ $fullname = $identity->getValue('fullname');
+ if (!strlen($fullname)) {
+ $fullname = $assignee;
+ }
+ $email = $identity->getValue('from_addr');
+ if ($link && !empty($email) &&
+ $GLOBALS['registry']->hasMethod('mail/compose')) {
+ return Horde::link($GLOBALS['registry']->call(
+ 'mail/compose',
+ array(array('to' => $email))))
+ . @htmlspecialchars($fullname . ' <' . $email . '>',
+ ENT_COMPAT, Horde_Nls::getCharset())
+ . '</a>';
+ } else {
+ return @htmlspecialchars($fullname, ENT_COMPAT, Horde_Nls::getCharset());
+ }
+ }
+
+ /**
+ * Returns the specified permission for the current user.
+ *
+ * @since Nag 2.1
+ *
+ * @param string $permission A permission, currently only 'max_tasks'.
+ *
+ * @return mixed The value of the specified permission.
+ */
+ function hasPermission($permission)
+ {
+ global $perms;
+
+ if (!$perms->exists('nag:' . $permission)) {
+ return true;
+ }
+
+ $allowed = $perms->getPermissions('nag:' . $permission);
+ if (is_array($allowed)) {
+ switch ($permission) {
+ case 'max_tasks':
+ $allowed = max($allowed);
+ break;
+ }
+ }
+
+ return $allowed;
+ }
+
+ /**
+ * Initial app setup code.
+ */
+ function initialize()
+ {
+ /* Store the request timestamp if it's not already present. */
+ if (!isset($_SERVER['REQUEST_TIME'])) {
+ $_SERVER['REQUEST_TIME'] = time();
+ }
+
+ // Update the preference for what task lists to display. If the user
+ // doesn't have any selected task lists for view then fall back to
+ // some available list.
+ $GLOBALS['display_tasklists'] = @unserialize($GLOBALS['prefs']->getValue('display_tasklists'));
+ if (!$GLOBALS['display_tasklists']) {
+ $GLOBALS['display_tasklists'] = array();
+ }
+ if (($tasklistId = Horde_Util::getFormData('display_tasklist')) !== null) {
+ if (is_array($tasklistId)) {
+ $GLOBALS['display_tasklists'] = $tasklistId;
+ } else {
+ if (in_array($tasklistId, $GLOBALS['display_tasklists'])) {
+ $key = array_search($tasklistId, $GLOBALS['display_tasklists']);
+ unset($GLOBALS['display_tasklists'][$key]);
+ } else {
+ $GLOBALS['display_tasklists'][] = $tasklistId;
+ }
+ }
+ }
+
+ // Make sure all task lists exist now, to save on checking later.
+ $_temp = $GLOBALS['display_tasklists'];
+ $GLOBALS['all_tasklists'] = Nag::listTasklists();
+ $GLOBALS['display_tasklists'] = array();
+ foreach ($_temp as $id) {
+ if (isset($GLOBALS['all_tasklists'][$id])) {
+ $GLOBALS['display_tasklists'][] = $id;
+ }
+ }
+
+ if (count($GLOBALS['display_tasklists']) == 0) {
+ $lists = Nag::listTasklists(true);
+ if (!Horde_Auth::getAuth()) {
+ /* All tasklists for guests. */
+ $GLOBALS['display_tasklists'] = array_keys($lists);
+ } else {
+ /* Make sure at least the default tasklist is visible. */
+ $default_tasklist = Nag::getDefaultTasklist(PERMS_READ);
+ if ($default_tasklist) {
+ $GLOBALS['display_tasklists'] = array($default_tasklist);
+ }
+
+ /* If the user's personal tasklist doesn't exist, then create it. */
+ if (!$GLOBALS['nag_shares']->exists(Horde_Auth::getAuth())) {
+ require_once 'Horde/Identity.php';
+ $identity = Identity::singleton();
+ $name = $identity->getValue('fullname');
+ if (trim($name) == '') {
+ $name = Horde_Auth::removeHook(Horde_Auth::getAuth());
+ }
+ $share = $GLOBALS['nag_shares']->newShare(Horde_Auth::getAuth());
+ $share->set('name', sprintf(_("%s's Task List"), $name));
+ $GLOBALS['nag_shares']->addShare($share);
+
+ /* Make sure the personal tasklist is displayed by default. */
+ if (!in_array(Horde_Auth::getAuth(), $GLOBALS['display_tasklists'])) {
+ $GLOBALS['display_tasklists'][] = Horde_Auth::getAuth();
+ }
+ }
+ }
+ }
+
+ $GLOBALS['prefs']->setValue('display_tasklists', serialize($GLOBALS['display_tasklists']));
+ }
+
+ /**
+ * Build Nag's list of menu items.
+ */
+ function getMenu($returnType = 'object')
+ {
+ global $conf, $registry, $print_link;
+
+ $menu = new Horde_Menu();
+ $menu->add(Horde::applicationUrl('list.php'), _("_List Tasks"), 'nag.png', null, null, null, basename($_SERVER['PHP_SELF']) == 'index.php' ? 'current' : null);
+ if (Nag::getDefaultTasklist(PERMS_EDIT) &&
+ (!empty($conf['hooks']['permsdenied']) ||
+ Nag::hasPermission('max_tasks') === true ||
+ Nag::hasPermission('max_tasks') > Nag::countTasks())) {
+ $menu->add(Horde::applicationUrl(Horde_Util::addParameter('task.php', 'actionID', 'add_task')), _("_New Task"), 'add.png', null, null, null, Horde_Util::getFormData('task') ? '__noselection' : null);
+ if ($GLOBALS['browser']->hasFeature('dom')) {
+ $menu->add('', _("_Quick Add"), 'add.png', null, null, 'Nag.quickAddPanel.show(); $(\'quickText\').focus(); return false;', Horde_Util::getFormData('task') ? 'quickAdd __noselection' : 'quickAdd');
+ }
+ }
+
+ /* Search. */
+ $menu->add(Horde::applicationUrl('search.php'), _("_Search"), 'search.png', $registry->getImageDir('horde'));
+
+ /* Import/Export. */
+ if ($conf['menu']['import_export']) {
+ $menu->add(Horde::applicationUrl('data.php'), _("_Import/Export"), 'data.png', $registry->getImageDir('horde'));
+ }
+
+ /* Print. */
+ if ($conf['menu']['print'] && isset($print_link)) {
+ $menu->add($print_link, _("_Print"), 'print.png', $registry->getImageDir('horde'), '_blank', 'popup(this.href); return false;', '__noselection');
+ }
+
+ if ($returnType == 'object') {
+ return $menu;
+ } else {
+ return $menu->render();
+ }
+ }
+
+ function status()
+ {
+ global $notification;
+
+ if (empty($GLOBALS['conf']['alarms']['driver'])) {
+ // Get any alarms in the next hour.
+ $now = time();
+ $alarmList = Nag::listAlarms($now);
+ if (is_a($alarmList, 'PEAR_Error')) {
+ Horde::logMessage($alarmList, __FILE__, __LINE__, PEAR_LOG_ERR);
+ $notification->push($alarmList, 'horde.error');
+ } else {
+ $messages = array();
+ foreach ($alarmList as $task) {
+ $differential = $task->due - $now;
+ $key = $differential;
+ while (isset($messages[$key])) {
+ $key++;
+ }
+ if ($differential >= -60 && $differential < 60) {
+ $messages[$key] = array(sprintf(_("%s is due now."), $task->name), 'nag.alarm');
+ } elseif ($differential >= 60) {
+ $messages[$key] = array(sprintf(_("%s is due in %s"), $task->name,
+ Nag::secondsToString($differential)), 'nag.alarm');
+ }
+ }
+
+ ksort($messages);
+ foreach ($messages as $message) {
+ $notification->push($message[0], $message[1]);
+ }
+ }
+ }
+
+ // Check here for guest task lists so that we don't get multiple
+ // messages after redirects, etc.
+ if (!Horde_Auth::getAuth() && !count(Nag::listTasklists())) {
+ $notification->push(_("No task lists are available to guests."));
+ }
+
+ // Display all notifications.
+ $notification->notify(array('listeners' => 'status'));
+ }
+
+ /**
+ * Sends email notifications that a task has been added, edited, or
+ * deleted to users that want such notifications.
+ *
+ * @param string $action The event action. One of "add", "edit", or
+ * "delete".
+ * @param Nag_Task $task The changed task.
+ * @param Nag_Task $old_task The original task if $action is "edit".
+ */
+ function sendNotification($action, $task, $old_task = null)
+ {
+ if (!in_array($action, array('add', 'edit', 'delete'))) {
+ return PEAR::raiseError('Unknown event action: ' . $action);
+ }
+
+ $share = $GLOBALS['nag_shares']->getShare($task->tasklist);
+ if (is_a($share, 'PEAR_Error')) {
+ return $share;
+ }
+
+ require_once 'Horde/Group.php';
+ require_once 'Horde/Identity.php';
+
+ $groups = Group::singleton();
+ $recipients = array();
+ $identity = Identity::singleton();
+ $from = $identity->getDefaultFromAddress(true);
+
+ $owner = $share->get('owner');
+ $recipients[$owner] = Nag::_notificationPref($owner, 'owner');
+
+ foreach ($share->listUsers(PERMS_READ) as $user) {
+ if (empty($recipients[$user])) {
+ $recipients[$user] = Nag::_notificationPref($user, 'read', $task->tasklist);
+ }
+ }
+ foreach ($share->listGroups(PERMS_READ) as $group) {
+ $group = $groups->getGroupById($group);
+ if (is_a($group, 'PEAR_Error')) {
+ continue;
+ }
+ $group_users = $group->listAllUsers();
+ if (is_a($group_users, 'PEAR_Error')) {
+ Horde::logMessage($group_users, __FILE__, __LINE__, PEAR_LOG_ERR);
+ continue;
+ }
+ foreach ($group_users as $user) {
+ if (empty($recipients[$user])) {
+ $recipients[$user] = Nag::_notificationPref($user, 'read', $task->tasklist);
+ }
+ }
+ }
+
+ $addresses = array();
+ foreach ($recipients as $user => $vals) {
+ if (!$vals) {
+ continue;
+ }
+ $identity = Identity::singleton('none', $user);
+ $email = $identity->getValue('from_addr');
+ if (strpos($email, '@') === false) {
+ continue;
+ }
+ list($mailbox, $host) = explode('@', $email);
+ if (!isset($addresses[$vals['lang']][$vals['tf']][$vals['df']])) {
+ $addresses[$vals['lang']][$vals['tf']][$vals['df']] = array();
+ }
+ $addresses[$vals['lang']][$vals['tf']][$vals['df']][] = Horde_Mime_Address::writeAddress($mailbox, $host, $identity->getValue('fullname'));
+ }
+
+ if (!$addresses) {
+ return;
+ }
+
+ list($mail_driver, $mail_params) = Horde::getMailerConfig();
+ $mail = new Horde_Mime_Mail();
+ require_once NAG_BASE . '/lib/version.php';
+ $mail->addHeader('User-Agent', 'Nag ' . NAG_VERSION);
+ $mail->addHeader('Precedence', 'bulk');
+ $mail->addHeader('Auto-Submitted', 'auto-generated');
+ $mail->addHeader('From', $from);
+
+ foreach ($addresses as $lang => $twentyFour) {
+ Horde_Nls::setLanguageEnvironment($lang);
+
+ $view_link = Horde_Util::addParameter(Horde::applicationUrl('view.php', true),
+ array('tasklist' => $task->tasklist,
+ 'task' => $task->id),
+ null, false);
+
+ switch ($action) {
+ case 'add':
+ $subject = _("Task added:");
+ $notification_message = _("You requested to be notified when tasks are added to your task lists.")
+ . "\n\n"
+ . ($task->due
+ ? _("The task \"%s\" has been added to task list \"%s\", with a due date of: %s.")
+ : _("The task \"%s\" has been added to task list \"%s\"."))
+ . "\n"
+ . str_replace('%', '%%', $view_link);
+ break;
+
+ case 'edit':
+ $subject = _("Task modified:");
+ $notification_message = _("You requested to be notified when tasks are edited on your task lists.")
+ . "\n\n"
+ . _("The task \"%s\" has been edited on task list \"%s\".")
+ . "\n"
+ . str_replace('%', '%%', $view_link)
+ . "\n\n"
+ . _("Changes made for this task:");
+ if ($old_task->name != $task->name) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed name from \"%s\" to \"%s\""),
+ $old_task->name, $task->name);
+ }
+ if ($old_task->tasklist != $task->tasklist) {
+ $old_share = $GLOBALS['nag_shares']->getShare($old_task->tasklist);
+ $notification_message .= "\n - "
+ . sprintf(_("Changed task list from \"%s\" to \"%s\""),
+ $old_share->get('name'), $share->get('name'));
+ }
+ if ($old_task->parent_id != $task->parent_id) {
+ $old_parent = $old_task->getParent();
+ if (!is_a($old_parent, 'PEAR_Error')) {
+ $parent = $task->getParent();
+ if (!is_a($parent, 'PEAR_Error')) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed parent task from \"%s\" to \"%s\""),
+ $old_parent ? $old_parent->name : _("no parent"),
+ $parent ? $parent->name : _("no parent"));
+ }
+ }
+ }
+ if ($old_task->category != $task->category) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed category from \"%s\" to \"%s\""),
+ $old_task->category, $task->category);
+ }
+ if ($old_task->assignee != $task->assignee) {
+ require_once 'Horde/Identity.php';
+ $identity = Identity::singleton('none', $old_task->assignee);
+ $old_name = $identity->getValue('fullname');
+ if (!strlen($old_name)) {
+ $old_name = $old_task->assignee;
+ }
+ $identity = Identity::singleton('none', $task->assignee);
+ $new_name = $identity->getValue('fullname');
+ if (!strlen($new_name)) {
+ $new_name = $new_task->assignee;
+ }
+ $notification_message .= "\n - "
+ . sprintf(_("Changed assignee from \"%s\" to \"%s\""),
+ $old_name, $new_name);
+ }
+ if ($old_task->private != $task->private) {
+ $notification_message .= "\n - "
+ . ($task->private ? _("Turned privacy on") : _("Turned privacy off"));
+ }
+ if ($old_task->due != $task->due) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed due date from %s to %s"),
+ $old_task->due ? Nag::formatDate($old_task->due) : _("no due date"),
+ $task->due ? Nag::formatDate($task->due) : _("no due date"));
+ }
+ if ($old_task->start != $task->start) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed start date from %s to %s"),
+ $old_task->start ? Nag::formatDate($old_task->start) : _("no start date"),
+ $task->start ? Nag::formatDate($task->start) : _("no start date"));
+ }
+ if ($old_task->alarm != $task->alarm) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed alarm from %s to %s"),
+ Nag::formatAlarm($old_task->alarm), Nag::formatAlarm($task->alarm));
+ }
+ if ($old_task->priority != $task->priority) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed priority from %s to %s"),
+ $old_task->priority, $task->priority);
+ }
+ if ($old_task->estimate != $task->estimate) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed estimate from %s to %s"),
+ $old_task->estimate, $task->estimate);
+ }
+ if ($old_task->completed != $task->completed) {
+ $notification_message .= "\n - "
+ . sprintf(_("Changed completion from %s to %s"),
+ $old_task->completed ? _("completed") : _("not completed"),
+ $task->completed ? _("completed") : _("not completed"));
+ }
+ if ($old_task->desc != $task->desc) {
+ $notification_message .= "\n - " . _("Changed description");
+ }
+ break;
+
+ case 'delete':
+ $subject = _("Task deleted:");
+ $notification_message =
+ _("You requested to be notified when tasks are deleted from your task lists.")
+ . "\n\n"
+ . _("The task \"%s\" has been deleted from task list \"%s\".");
+ break;
+ }
+
+ $mail->addHeader('Subject', $subject . ' ' . $task->name, Horde_Nls::getCharset());
+
+ foreach ($twentyFour as $tf => $dateFormat) {
+ foreach ($dateFormat as $df => $df_recipients) {
+ $message = sprintf($notification_message,
+ $task->name,
+ $share->get('name'),
+ $task->due ? strftime($df, $task->due) . ' ' . date($tf ? 'H:i' : 'h:ia', $task->due) : '');
+ if (strlen(trim($task->desc))) {
+ $message .= "\n\n" . _("Task description:") . "\n\n" . $task->desc;
+ }
+
+ $mail->setBody($message, Horde_Nls::getCharset());
+ $mail->clearRecipients();
+ $mail->addRecipients($df_recipients);
+
+ Horde::logMessage(sprintf('Sending event notifications for %s to %s',
+ $task->name, implode(', ', $df_recipients)),
+ __FILE__, __LINE__, PEAR_LOG_INFO);
+ $sent = $mail->send($mail_driver, $mail_params);
+ if (is_a($sent, 'PEAR_Error')) {
+ return $sent;
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns the real name, if available, of a user.
+ *
+ * @since Nag 2.2
+ */
+ function getUserName($uid)
+ {
+ static $names = array();
+
+ if (!isset($names[$uid])) {
+ require_once 'Horde/Identity.php';
+ $ident = Identity::singleton('none', $uid);
+ $ident->setDefault($ident->getDefault());
+ $names[$uid] = $ident->getValue('fullname');
+ if (empty($names[$uid])) {
+ $names[$uid] = $uid;
+ }
+ }
+
+ return $names[$uid];
+ }
+
+ /**
+ * Returns whether a user wants email notifications for a tasklist.
+ *
+ * @access private
+ *
+ * @todo This method is causing a memory leak somewhere, noticeable if
+ * importing a large amount of events.
+ *
+ * @param string $user A user name.
+ * @param string $mode The check "mode". If "owner", the method checks
+ * if the user wants notifications only for
+ * tasklists he owns. If "read", the method checks
+ * if the user wants notifications for all
+ * tasklists he has read access to, or only for
+ * shown tasklists and the specified tasklist is
+ * currently shown.
+ * @param string $tasklist The name of the tasklist if mode is "read".
+ *
+ * @return boolean True if the user wants notifications for the tasklist.
+ */
+ function _notificationPref($user, $mode, $tasklist = null)
+ {
+ $prefs = Prefs::singleton($GLOBALS['conf']['prefs']['driver'],
+ 'nag', $user, '', null,
+ false);
+ $prefs->retrieve();
+ $vals = array('lang' => $prefs->getValue('language'),
+ 'tf' => $prefs->getValue('twentyFour'),
+ 'df' => $prefs->getValue('date_format'));
+
+ if ($prefs->getValue('task_notification_exclude_self') &&
+ $user == Horde_Auth::getAuth()) {
+ return false;
+ }
+
+ $notification = $prefs->getValue('task_notification');
+ switch ($notification) {
+ case 'owner':
+ return $mode == 'owner' ? $vals : false;
+ case 'read':
+ return $mode == 'read' ? $vals : false;
+ case 'show':
+ if ($mode == 'read') {
+ $display_tasklists = unserialize($prefs->getValue('display_tasklists'));
+ return in_array($tasklist, $display_tasklists) ? $vals : false;;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Comparison function for sorting tasks by create date (not currently used
+ * as it would require accessing Horde_History for each task) and id.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal (though no tasks should ever be
+ * equal in this comparison).
+ */
+ function _sortByIdentity($a, $b)
+ {
+ return strcmp($a->id, $b->id);
+ }
+
+ /**
+ * Comparison function for sorting tasks by priority.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByPriority($a, $b)
+ {
+ if ($a->priority == $b->priority) {
+ return self::_sortByIdentity($a, $b);
+ }
+ return ($a->priority > $b->priority) ? 1 : -1;
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by priority.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _rsortByPriority($a, $b)
+ {
+ if ($a->priority == $b->priority) {
+ return self::_sortByIdentity($b, $a);
+ }
+ return ($a->priority > $b->priority) ? -1 : 1;
+ }
+
+ /**
+ * Comparison function for sorting tasks by name.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByName($a, $b)
+ {
+ return strcasecmp($a->name, $b->name);
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by name.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _rsortByName($a, $b)
+ {
+ return strcasecmp($b->name, $a->name);
+ }
+
+ /**
+ * Comparison function for sorting tasks by assignee.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByAssignee($a, $b)
+ {
+ return strcasecmp($a->assignee, $b->assignee);
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by assignee.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _rsortByAssignee($a, $b)
+ {
+ return strcasecmp($b->assignee, $a->assignee);
+ }
+
+ /**
+ * Comparison function for sorting tasks by assignee.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByEstimate($a, $b)
+ {
+ $a_est = $a->estimation();
+ $b_est = $b->estimation();
+ if ($a_est == $b_est) {
+ return self::_sortByIdentity($a, $b);
+ }
+ return ($a_est > $b_est) ? 1 : -1;
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by name.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _rsortByEstimate($a, $b)
+ {
+ $a_est = $a->estimation();
+ $b_est = $b->estimation();
+ if ($a_est == $b_est) {
+ return self::_sortByIdentity($b, $a);
+ }
+ return ($a_est > $b_est) ? -1 : 1;
+ }
+
+ /**
+ * Comparison function for sorting tasks by category.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByCategory($a, $b)
+ {
+ return strcasecmp($a->category ? $a->category : _("Unfiled"),
+ $b->category ? $b->category : _("Unfiled"));
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by category.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _rsortByCategory($a, $b)
+ {
+ return strcasecmp($b->category ? $b->category : _("Unfiled"),
+ $a->category ? $a->category : _("Unfiled"));
+ }
+
+ /**
+ * Comparison function for sorting tasks by due date.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByDue($a, $b)
+ {
+ if ($a->due == $b->due) {
+ return self::_sortByIdentity($a, $b);
+ }
+
+ // Treat empty due dates as farthest into the future.
+ if ($a->due == 0) {
+ return 1;
+ }
+ if ($b->due == 0) {
+ return -1;
+ }
+
+ return ($a->due > $b->due) ? 1 : -1;
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by due date.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater,
+ * 0 if they are equal.
+ */
+ function _rsortByDue($a, $b)
+ {
+ if ($a->due == $b->due) {
+ return self::_sortByIdentity($b, $a);
+ }
+
+ // Treat empty due dates as farthest into the future.
+ if ($a->due == 0) {
+ return -1;
+ }
+ if ($b->due == 0) {
+ return 1;
+ }
+
+ return ($a->due < $b->due) ? 1 : -1;
+ }
+
+ /**
+ * Comparison function for sorting tasks by completion status.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByCompletion($a, $b)
+ {
+ if ($a->completed == $b->completed) {
+ return self::_sortByIdentity($a, $b);
+ }
+ return ($a->completed > $b->completed) ? -1 : 1;
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by completion status.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _rsortByCompletion($a, $b)
+ {
+ if ($a->completed == $b->completed) {
+ return self::_sortByIdentity($b, $a);
+ }
+ return ($a->completed < $b->completed) ? -1 : 1;
+ }
+
+ /**
+ * Comparison function for sorting tasks by owner.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer 1 if task one is greater, -1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _sortByOwner($a, $b)
+ {
+ $ashare = $GLOBALS['nag_shares']->getShare($a->tasklist);
+ $bshare = $GLOBALS['nag_shares']->getShare($b->tasklist);
+
+ $aowner = $a->tasklist;
+ $bowner = $b->tasklist;
+
+ if (!is_a($ashare, 'PEAR_Error') && $aowner != $ashare->get('owner')) {
+ $aowner = $ashare->get('name');
+ }
+ if (!is_a($bshare, 'PEAR_Error') && $bowner != $bshare->get('owner')) {
+ $bowner = $bshare->get('name');
+ }
+
+ $diff = strcasecmp($aowner, $bowner);
+ if ($diff == 0) {
+ return self::_sortByIdentity($a, $b);
+ } else {
+ return $diff;
+ }
+ }
+
+ /**
+ * Comparison function for reverse sorting tasks by owner.
+ *
+ * @param array $a Task one.
+ * @param array $b Task two.
+ *
+ * @return integer -1 if task one is greater, 1 if task two is greater;
+ * 0 if they are equal.
+ */
+ function _rsortByOwner($a, $b)
+ {
+ $ashare = $GLOBALS['nag_shares']->getShare($a->tasklist);
+ $bshare = $GLOBALS['nag_shares']->getShare($b->tasklist);
+
+ $aowner = $a->tasklist;
+ $bowner = $b->tasklist;
+
+ if (!is_a($ashare, 'PEAR_Error') && $aowner != $ashare->get('owner')) {
+ $aowner = $ashare->get('name');
+ }
+ if (!is_a($bshare, 'PEAR_Error') && $bowner != $bshare->get('owner')) {
+ $bowner = $bshare->get('name');
+ }
+
+ $diff = strcasecmp($bowner, $aowner);
+ if ($diff == 0) {
+ return self::_sortByIdentity($b, $a);
+ } else {
+ return $diff;
+ }
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * The Nag_Notification_Listener_Status:: class extends the
+ * Horde_Notification_Listener_Status:: class to display the messages for
+ * Nag's special message type 'nag.alarm'.
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @package Horde_Notification
+ */
+class Nag_Notification_Listener_Status extends Horde_Notification_Listener_Status
+{
+ /**
+ * Constructor.
+ */
+ public function __construct()
+ {
+ parent::__construct();
+
+ $this->_handles['nag.alarm'] = array($GLOBALS['registry']->getImageDir() . '/alarm.png', _("Alarm"));
+ }
+
+}
--- /dev/null
+<?php
+class Nag_QuickParser
+{
+ protected $_indentStack;
+
+ public function __construct($stack = null)
+ {
+ if ($stack === null) { $stack = new Horde_Support_Stack(); }
+ $this->_indentStack = $stack;
+ }
+
+ public function parse($text)
+ {
+ $text = str_replace("\t", ' ', $text);
+ $lines = preg_split('/[\r\n]+/', $text, -1, PREG_SPLIT_NO_EMPTY);
+
+ $parents = array();
+ $tasks = array();
+ foreach ($lines as $line) {
+ $line = rtrim($line);
+ if (preg_match('/^\s*$/', $line)) { continue; }
+
+ $indented = preg_match('/^([*-\s]+)(.*)$/', $line, $matches);
+ if (!$indented) {
+ $tasks[] = $line;
+ $parents[$this->_indentStack->peek()] = count($tasks) - 1;
+ } else {
+ $line = $matches[2];
+ $indent = strlen($matches[1]);
+ if ($indent == $this->_indentStack->peek()) {
+ $parent = $parents[$this->_indentStack->peek(2)];
+ $tasks[] = array($line, 'parent' => $parent);
+ } elseif ($indent > $this->_indentStack->peek()) {
+ $parent = $parents[$this->_indentStack->peek()];
+ $this->_indentStack->push($indent);
+ $tasks[] = array($line, 'parent' => $parent);
+ $parents[$this->_indentStack->peek()] = count($tasks) - 1;
+ } else {
+ while ($this->_indentStack->pop() > $indent);
+
+ $parents[$indent] = $parents[$this->_indentStack->peek()];
+ $this->_indentStack->pop(); $this->_indentStack->push($indent);
+ $parent = $parents[$this->_indentStack->peek()];
+ if ($parent !== null) {
+ $tasks[] = array($line, 'parent' => $parent);
+ } else {
+ $tasks[] = $line;
+ }
+ $parents[$this->_indentStack->peek()] = count($tasks) - 1;
+ }
+ }
+ }
+
+ return $tasks;
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Nag_Task handles as single task as well as a list of tasks and implements a
+ * recursive iterator to handle a (hierarchical) list of tasks.
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jan Schneider <jan@horde.org>
+ * @package Nag
+ */
+class Nag_Task {
+
+ /**
+ * The task id.
+ *
+ * @var string
+ */
+ var $id;
+
+ /**
+ * This task's tasklist id.
+ *
+ * @var string
+ */
+ var $tasklist;
+
+ /**
+ * The task uid.
+ *
+ * @var string
+ */
+ var $uid;
+
+ /**
+ * The task owner.
+ *
+ * @var string
+ */
+ var $owner;
+
+ /**
+ * The task assignee.
+ *
+ * @var string
+ */
+ var $assignee;
+
+ /**
+ * The task title.
+ *
+ * @var string
+ */
+ var $name;
+
+ /**
+ * The task decription.
+ *
+ * @var string
+ */
+ var $desc;
+
+ /**
+ * The start date timestamp.
+ *
+ * @var integer
+ */
+ var $start;
+
+ /**
+ * The due date timestamp.
+ *
+ * @var integer
+ */
+ var $due;
+
+ /**
+ * The task priority.
+ *
+ * @var integer
+ */
+ var $priority;
+
+ /**
+ * The estimated task length.
+ *
+ * @var float
+ */
+ var $estimate;
+
+ /**
+ * Whether the task is completed.
+ *
+ * @var boolean
+ */
+ var $completed;
+
+ /**
+ * The completion date timestamp.
+ *
+ * @var integer
+ */
+ var $completed_date;
+
+ /**
+ * The task category
+ *
+ * @var string
+ */
+ var $category;
+
+ /**
+ * The task alarm threshold.
+ *
+ * @var integer
+ */
+ var $alarm;
+
+ /**
+ * The particular alarm methods overridden for this task.
+ *
+ * @var array
+ */
+ var $methods;
+
+ /**
+ * Whether the task is private.
+ *
+ * @var boolean
+ */
+ var $private;
+
+ /**
+ * URL to view the task.
+ *
+ * @var string
+ */
+ var $view_link;
+
+ /**
+ * URL to complete the task.
+ *
+ * @var string
+ */
+ var $complete_link;
+
+ /**
+ * URL to edit the task.
+ *
+ * @var string
+ */
+ var $edit_link;
+
+ /**
+ * URL to delete the task.
+ *
+ * @var string
+ */
+ var $delete_link;
+
+ /**
+ * The parent task's id.
+ *
+ * @var string
+ */
+ var $parent_id = '';
+
+ /**
+ * The parent task.
+ *
+ * @var Nag_Task
+ */
+ var $parent;
+
+ /**
+ * The sub-tasks.
+ *
+ * @var array
+ */
+ var $children = array();
+
+ /**
+ * This task's idention (child) level.
+ *
+ * @var integer
+ */
+ var $indent = 0;
+
+ /**
+ * Whether this is the last sub-task.
+ *
+ * @var boolean
+ */
+ var $lastChild;
+
+ /**
+ * Internal flag.
+ *
+ * @var boolean
+ * @see each()
+ */
+ var $_inlist = false;
+
+ /**
+ * Internal pointer.
+ *
+ * @var integer
+ * @see each()
+ */
+ var $_pointer;
+
+ /**
+ * Task id => pointer dictionary.
+ *
+ * @var array
+ */
+ var $_dict = array();
+
+ /**
+ * Constructor.
+ *
+ * Takes a hash and returns a nice wrapper around it.
+ *
+ * @param array $task A task hash.
+ */
+ function Nag_Task($task = null)
+ {
+ if ($task) {
+ $this->merge($task);
+ }
+ }
+
+ /**
+ * Merges a task hash into this task object.
+ *
+ * @param array $task A task hash.
+ */
+ function merge($task)
+ {
+ foreach ($task as $key => $val) {
+ if ($key == 'tasklist_id') {
+ $key = 'tasklist';
+ } elseif ($key == 'task_id') {
+ $key = 'id';
+ } elseif ($key == 'parent') {
+ $key = 'parent_id';
+ }
+ $this->$key = $val;
+ }
+ }
+
+ /**
+ * Saves this task in the storage backend.
+ */
+ function save()
+ {
+ $storage = Nag_Driver::singleton($this->tasklist);
+ return $storage->modify($this->id,
+ $this->name,
+ $this->desc,
+ $this->start,
+ $this->due,
+ $this->priority,
+ $this->estimate,
+ $this->completed,
+ $this->category,
+ $this->alarm,
+ $this->methods,
+ $this->parent_id,
+ $this->private,
+ $this->owner,
+ $this->assignee,
+ $this->completed_date);
+ }
+
+ /**
+ * Returns the parent task of this task, if one exists.
+ *
+ * @return Nag_Task The parent task, null if none exists, PEAR_Error on
+ * failure.
+ */
+ function getParent()
+ {
+ if (!$this->parent_id) {
+ return null;
+ }
+ return Nag::getTask($this->tasklist, $this->parent_id);
+ }
+
+ /**
+ * Adds a sub task to this task.
+ *
+ * @param Nag_Task $task A sub task.
+ */
+ function add($task)
+ {
+ $this->_dict[$task->id] = count($this->children);
+ $task->parent = $this;
+ $this->children[] = $task;
+ }
+
+ /**
+ * Loads all sub-tasks.
+ */
+ function loadChildren()
+ {
+ $storage = Nag_Driver::singleton($this->tasklist);
+ $children = $storage->getChildren($this->id);
+ if (!is_a($children, 'PEAR_Error')) {
+ $this->children = $children;
+ }
+ }
+
+ /**
+ * Merges an array of tasks into this task's children.
+ *
+ * @param array $children A list of Nag_Tasks.
+ *
+ */
+ function mergeChildren($children)
+ {
+ for ($i = 0, $c = count($children); $i < $c; ++$i) {
+ $this->add($children[$i]);
+ }
+ }
+
+ /**
+ * Returns a sub task by its id.
+ *
+ * The methods goes recursively through all sub tasks until it finds the
+ * searched task.
+ *
+ * @param string $key A task id.
+ *
+ * @return Nag_Task The searched task or null.
+ */
+ function get($key)
+ {
+ if (isset($this->_dict[$key])) {
+ $task = $this->children[$this->_dict[$key]];
+ } else {
+ $task = null;
+ }
+ return $task;
+ }
+
+ /**
+ * Returns whether this is a task (not a container) or contains any sub
+ * tasks.
+ *
+ * @return boolean True if this is a task or has sub tasks.
+ */
+ function hasTasks()
+ {
+ if ($this->id) {
+ return true;
+ }
+ return $this->hasSubTasks();
+ }
+
+ /**
+ * Returns whether this task contains any sub tasks.
+ *
+ * @return boolean True if this task has sub tasks.
+ */
+ function hasSubTasks()
+ {
+ foreach ($this->children as $task) {
+ if ($task->hasTasks()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns whether all sub tasks are completed.
+ *
+ * @return boolean True if all sub tasks are completed.
+ */
+ function childrenCompleted()
+ {
+ foreach ($this->children as $task) {
+ if (!$task->completed || !$task->childrenCompleted()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Returns the number of tasks including this and any sub tasks.
+ *
+ * @return integer The number of tasks and sub tasks.
+ */
+ function count()
+ {
+ $count = $this->id ? 1 : 0;
+ foreach ($this->children as $task) {
+ $count += $task->count();
+ }
+ return $count;
+ }
+
+ /**
+ * Returns the estimated length for this and any sub tasks.
+ *
+ * @return integer The estimated length sum.
+ */
+ function estimation()
+ {
+ $estimate = $this->estimate;
+ foreach ($this->children as $task) {
+ $estimate += $task->estimation();
+ }
+ return $estimate;
+ }
+
+ /**
+ * Format the description - link URLs, etc.
+ *
+ * @return string
+ */
+ function getFormattedDescription()
+ {
+ $desc = Horde_Text_Filter::filter($this->desc, 'text2html', array('parselevel' => Horde_Text_Filter_Text2html::MICRO));
+ $desc = Horde::callHook('_nag_hook_format_description', array($desc), 'nag', $desc);
+ return $desc;
+ }
+
+ /**
+ * Resets the tasks iterator.
+ *
+ * Call this each time before looping through the tasks.
+ *
+ * @see each()
+ */
+ function reset()
+ {
+ foreach (array_keys($this->children) as $key) {
+ $this->children[$key]->reset();
+ }
+ $this->_pointer = 0;
+ $this->_inlist = false;
+ }
+
+ /**
+ * Returns the next task iterating through all tasks and sub tasks.
+ *
+ * Call reset() each time before looping through the tasks:
+ * <code>
+ * $tasks->reset();
+ * while ($task = $tasks->each() {
+ * ...
+ * }
+ *
+ * @see reset()
+ */
+ function each()
+ {
+ if ($this->id && !$this->_inlist) {
+ $this->_inlist = true;
+ return $this;
+ }
+ if ($this->_pointer >= count($this->children)) {
+ $task = false;
+ return $task;
+ }
+ $next = $this->children[$this->_pointer]->each();
+ if ($next) {
+ return $next;
+ }
+ $this->_pointer++;
+ return $this->each();
+ }
+
+ /**
+ * Processes a list of tasks by adding action links, obscuring details of
+ * private tasks and calculating indentation.
+ *
+ * @param integer $indent The indention level of the tasks.
+ */
+ function process($indent = 0)
+ {
+ /* Link cache. */
+ static $view_url_list, $task_url_list;
+
+ /* Set indention. */
+ $this->indent = $indent;
+ if ($this->id) {
+ ++$indent;
+ }
+
+ /* Process children. */
+ for ($i = 0, $c = count($this->children); $i < $c; ++$i) {
+ $this->children[$i]->process($indent);
+ }
+
+ /* Mark last child. */
+ if (count($this->children)) {
+ $this->children[count($this->children) - 1]->lastChild = true;
+ }
+
+ /* Only process further if this is really a (parent) task, not only a
+ * task list container. */
+ if (!$this->id) {
+ return;
+ }
+
+ if (!isset($view_url_list[$this->tasklist])) {
+ $view_url_list[$this->tasklist] = Horde_Util::addParameter(Horde::applicationUrl('view.php'), 'tasklist', $this->tasklist);
+ $task_url_list[$this->tasklist] = Horde_Util::addParameter(Horde::applicationUrl('task.php'), 'tasklist', $this->tasklist);
+ }
+
+ /* Obscure private tasks. */
+ if ($this->private && $this->owner != Horde_Auth::getAuth()) {
+ $this->name = _("Private Task");
+ $this->desc = '';
+ $this->category = _("Private");
+ }
+
+ /* Create task links. */
+ $this->view_link = Horde_Util::addParameter($view_url_list[$this->tasklist], 'task', $this->id);
+
+ $task_url_task = Horde_Util::addParameter($task_url_list[$this->tasklist], 'task', $this->id);
+ $this->complete_link = Horde_Util::addParameter($task_url_task, 'actionID', 'complete_task');
+ $this->edit_link = Horde_Util::addParameter($task_url_task, 'actionID', 'modify_task');
+ $this->delete_link = Horde_Util::addParameter($task_url_task, 'actionID', 'delete_tasks');
+ }
+
+ /**
+ * Returns the HTML code for any tree icons, when displaying this task in
+ * a tree view.
+ *
+ * @return string The HTML code for necessary tree icons.
+ */
+ function treeIcons()
+ {
+ $treedir = $GLOBALS['registry']->getImageDir('horde');
+ $html = '';
+
+ $parent = $this->parent;
+ for ($i = 1; $i < $this->indent; ++$i) {
+ if ($parent && $parent->lastChild) {
+ $html = Horde::img('tree/blank.png', '', '', $treedir) . $html;
+ } else {
+ $html = Horde::img('tree/line.png', '|', '', $treedir) . $html;
+ }
+ $parent = $parent->parent;
+ }
+ if ($this->indent) {
+ if ($this->lastChild) {
+ $html .= Horde::img(empty($GLOBALS['nls']['rtl'][$GLOBALS['language']]) ? 'tree/joinbottom.png' : 'tree/rev-joinbottom.png', '\\', '', $treedir);
+ } else {
+ $html .= Horde::img(empty($GLOBALS['nls']['rtl'][$GLOBALS['language']]) ? 'tree/join.png' : 'tree/rev-join.png', '+', '', $treedir);
+ }
+ }
+
+ return $html;
+ }
+
+ /**
+ * Sorts sub tasks by the given criteria.
+ *
+ * @param string $sortby The field by which to sort
+ * (Nag::SORT_PRIORITY, Nag::SORT_NAME
+ * Nag::SORT_DUE, Nag::SORT_COMPLETION).
+ * @param integer $sortdir The direction by which to sort
+ * (Nag::SORT_ASCEND, Nag::SORT_DESCEND).
+ * @param string $altsortby The secondary sort field.
+ */
+ function sort($sortby, $sortdir, $altsortby)
+ {
+ /* Sorting criteria for the task list. */
+ $sort_functions = array(
+ Nag::SORT_PRIORITY => 'ByPriority',
+ Nag::SORT_NAME => 'ByName',
+ Nag::SORT_CATEGORY => 'ByCategory',
+ Nag::SORT_DUE => 'ByDue',
+ Nag::SORT_COMPLETION => 'ByCompletion',
+ Nag::SORT_ASSIGNEE => 'ByAssignee',
+ Nag::SORT_ESTIMATE => 'ByEstimate',
+ Nag::SORT_OWNER => 'ByOwner'
+ );
+
+ /* Sort the array if we have a sort function defined for this
+ * field. */
+ if (isset($sort_functions[$sortby])) {
+ $prefix = ($sortdir == Nag::SORT_DESCEND) ? '_rsort' : '_sort';
+ usort($this->children, array('Nag', $prefix . $sort_functions[$sortby]));
+ if (isset($sort_functions[$altsortby]) && $altsortby !== $sortby) {
+ $task_buckets = array();
+ for ($i = 0, $c = count($this->children); $i < $c; ++$i) {
+ if (!isset($task_buckets[$this->children[$i]->$sortby])) {
+ $task_buckets[$this->children[$i]->$sortby] = array();
+ }
+ $task_buckets[$this->children[$i]->$sortby][] = $this->children[$i];
+ }
+ $tasks = array();
+ foreach ($task_buckets as $task_bucket) {
+ usort($task_bucket, array('Nag', $prefix . $sort_functions[$altsortby]));
+ $tasks = array_merge($tasks, $task_bucket);
+ }
+ $this->children = $tasks;
+ }
+
+ /* Mark last child. */
+ for ($i = 0, $c = count($this->children); $i < $c; ++$i) {
+ $this->children[$i]->lastChild = false;
+ }
+ if (count($this->children)) {
+ $this->children[count($this->children) - 1]->lastChild = true;
+ }
+
+ for ($i = 0, $c = count($this->children); $i < $c; ++$i) {
+ $this->_dict[$this->children[$i]->id] = $i;
+ $this->children[$i]->sort($sortby, $sortdir, $altsortby);
+ }
+ }
+ }
+
+ /**
+ * Returns a hash representation for this task.
+ *
+ * @return array A task hash.
+ */
+ function toHash()
+ {
+ return array('tasklist_id' => $this->tasklist,
+ 'task_id' => $this->id,
+ 'uid' => $this->uid,
+ 'parent' => $this->parent_id,
+ 'owner' => $this->owner,
+ 'assignee' => $this->assignee,
+ 'name' => $this->name,
+ 'desc' => $this->desc,
+ 'category' => $this->category,
+ 'start' => $this->start,
+ 'due' => $this->due,
+ 'priority' => $this->priority,
+ 'estimate' => $this->estimate,
+ 'completed' => $this->completed,
+ 'completed_date' => $this->completed_date,
+ 'alarm' => $this->alarm,
+ 'methods' => $this->methods,
+ 'private' => $this->private);
+ }
+
+ /**
+ * Returns a simple object suitable for json transport representing this
+ * task.
+ *
+ * @param boolean $full Whether to return all event details.
+ *
+ * @return object A simple object.
+ */
+ function toJson($full = false)
+ {
+ $json = new stdClass;
+ $json->l = $this->tasklist;
+ $json->n = $this->name;
+ if ($this->desc) {
+ //TODO: Get the proper amount of characters, and cut by last
+ //whitespace
+ $json->sd = Horde_String::substr($this->desc, 0, 80);
+ }
+ $json->cp = $this->completed;
+ if ($this->due) {
+ $date = new Horde_Date($this->due);
+ $json->du = $date->toJson();
+ }
+ if ($this->start) {
+ $date = new Horde_Date($this->start);
+ $json->s = $date->toJson();
+ }
+ $json->pr = $this->priority;
+
+ if ($full) {
+ // @todo: do we really need all this?
+ $json->id = $this->id;
+ $json->de = $this->desc;
+ $json->ui = $this->uid;
+ $json->p = $this->parent_id;
+ $json->o = $this->owner;
+ $json->as = $this->assignee;
+ $json->ct = $this->category;
+ $json->e = $this->estimate;
+ if ($this->completed_date) {
+ $date = new Horde_Date($this->completed_date);
+ $json->cd = $date->toJson();
+ }
+ $json->a = $this->alarm;
+ $json->m = $this->methods;
+ $json->pv = $this->private;
+ }
+
+ return $json;
+ }
+
+ /**
+ * Returns an alarm hash of this task suitable for Horde_Alarm.
+ *
+ * @param string $user The user to return alarms for.
+ * @param Prefs $prefs A Prefs instance.
+ *
+ * @return array Alarm hash or null.
+ */
+ function toAlarm($user = null, $prefs = null)
+ {
+ if (empty($this->alarm) || $this->completed) {
+ return;
+ }
+
+ if (empty($user)) {
+ $user = Horde_Auth::getAuth();
+ }
+ if (empty($prefs)) {
+ $prefs = $GLOBALS['prefs'];
+ }
+
+ $methods = !empty($this->methods) ? $this->methods : @unserialize($prefs->getValue('task_alarms'));
+ if (!$methods) {
+ $methods = array();
+ }
+
+ if (isset($methods['notify'])) {
+ $methods['notify']['show'] = array(
+ '__app' => $GLOBALS['registry']->getApp(),
+ 'task' => $this->id,
+ 'tasklist' => $this->tasklist);
+ if (!empty($methods['notify']['sound'])) {
+ if ($methods['notify']['sound'] == 'on') {
+ // Handle boolean sound preferences;
+ $methods['notify']['sound'] = $GLOBALS['registry']->get('themesuri') . '/sounds/theetone.wav';
+ } else {
+ // Else we know we have a sound name that can be
+ // served from Horde.
+ $methods['notify']['sound'] = $GLOBALS['registry']->get('themesuri', 'horde') . '/sounds/' . $methods['notify']['sound'];
+ }
+ }
+ }
+ if (isset($methods['popup'])) {
+ $methods['popup']['message'] = $this->name;
+ if (!empty($this->desc)) {
+ $methods['popup']['message'] .= "\n\n" . $this->desc;
+ }
+ }
+ if (isset($methods['mail'])) {
+ $methods['mail']['body'] = sprintf(
+ _("We would like to remind you of this due task.\n\n%s\n\nDate: %s\nTime: %s\n\n%s"),
+ $this->name,
+ strftime($prefs->getValue('date_format'), $this->due),
+ date($prefs->getValue('twentyFour') ? 'H:i' : 'h:ia', $this->due),
+ $this->desc);
+ }
+ return array(
+ 'id' => $this->uid,
+ 'user' => $user,
+ 'start' => $this->due - $this->alarm * 60,
+ 'methods' => array_keys($methods),
+ 'params' => $methods,
+ 'title' => $this->name,
+ 'text' => $this->desc);
+ }
+
+ /**
+ * Exports this task in iCalendar format.
+ *
+ * @param Horde_iCalendar $calendar A Horde_iCalendar object that acts as
+ * the container.
+ *
+ * @return Horde_iCalendar_vtodo A vtodo component of this task.
+ */
+ function toiCalendar($calendar)
+ {
+ $vTodo = Horde_iCalendar::newComponent('vtodo', $calendar);
+ $v1 = $calendar->getAttribute('VERSION') == '1.0';
+
+ $vTodo->setAttribute('UID', $this->uid);
+
+ if (!empty($this->assignee)) {
+ $vTodo->setAttribute('ORGANIZER', $this->assignee);
+ }
+
+ if (!empty($this->name)) {
+ $vTodo->setAttribute('SUMMARY', $this->name);
+ }
+
+ if (!empty($this->desc)) {
+ $vTodo->setAttribute('DESCRIPTION', $this->desc);
+ }
+
+ if (isset($this->priority)) {
+ $vTodo->setAttribute('PRIORITY', $this->priority);
+ }
+
+ if (!empty($this->parent_id)) {
+ $vTodo->setAttribute('RELATED-TO', $this->parent->uid);
+ }
+
+ if ($this->private) {
+ $vTodo->setAttribute('CLASS', 'PRIVATE');
+ }
+
+ if (!empty($this->start)) {
+ $vTodo->setAttribute('DTSTART', $this->start);
+ }
+
+ if ($this->due) {
+ $vTodo->setAttribute('DUE', $this->due);
+
+ if ($this->alarm) {
+ if ($v1) {
+ $vTodo->setAttribute('AALARM', $this->due - $this->alarm * 60);
+ } else {
+ $vAlarm = Horde_iCalendar::newComponent('valarm', $vTodo);
+ $vAlarm->setAttribute('ACTION', 'DISPLAY');
+ $vAlarm->setAttribute('TRIGGER;VALUE=DURATION', '-PT' . $this->alarm . 'M');
+ $vTodo->addComponent($vAlarm);
+ }
+ }
+ }
+
+ if ($this->completed) {
+ $vTodo->setAttribute('STATUS', 'COMPLETED');
+ $vTodo->setAttribute('COMPLETED', $this->completed_date ? $this->completed_date : time());
+ } else {
+ if ($v1) {
+ $vTodo->setAttribute('STATUS', 'NEEDS ACTION');
+ } else {
+ $vTodo->setAttribute('STATUS', 'NEEDS-ACTION');
+ }
+ }
+
+ if (!empty($this->category)) {
+ $vTodo->setAttribute('CATEGORIES', $this->category);
+ }
+
+ /* Get the task's history. */
+ $history = Horde_History::singleton();
+ $log = $history->getHistory('nag:' . $this->tasklist . ':' . $this->uid);
+ if ($log && !is_a($log, 'PEAR_Error')) {
+ foreach ($log->getData() as $entry) {
+ switch ($entry['action']) {
+ case 'add':
+ $created = $entry['ts'];
+ break;
+
+ case 'modify':
+ $modified = $entry['ts'];
+ break;
+ }
+ }
+ }
+ if (!empty($created)) {
+ $vTodo->setAttribute($v1 ? 'DCREATED' : 'CREATED', $created);
+ if (empty($modified)) {
+ $modified = $created;
+ }
+ }
+ if (!empty($modified)) {
+ $vTodo->setAttribute('LAST-MODIFIED', $modified);
+ }
+
+ return $vTodo;
+ }
+
+ /**
+ * Creates a task from a Horde_iCalendar_vtodo object.
+ *
+ * @param Horde_iCalendar_vtodo $vTodo The iCalendar data to update from.
+ */
+ function fromiCalendar($vTodo)
+ {
+ $name = $vTodo->getAttribute('SUMMARY');
+ if (!is_array($name) && !is_a($name, 'PEAR_Error')) {
+ $this->name = $name;
+ }
+
+ $assignee = $vTodo->getAttribute('ORGANIZER');
+ if (!is_array($assignee) && !is_a($assignee, 'PEAR_Error')) {
+ $this->assignee = $assignee;
+ }
+
+ $uid = $vTodo->getAttribute('UID');
+ if (!is_array($uid) && !is_a($uid, 'PEAR_Error')) {
+ $this->uid = $uid;
+ }
+
+ $relations = $vTodo->getAttribute('RELATED-TO');
+ if (!is_a($relations, 'PEAR_Error')) {
+ if (!is_array($relations)) {
+ $relations = array($relations);
+ }
+ $params = $vTodo->getAttribute('RELATED-TO', true);
+ foreach ($relations as $id => $relation) {
+ if (empty($params[$id]['RELTYPE']) ||
+ Horde_String::upper($params[$id]['RELTYPE']) == 'PARENT') {
+ $storage = Nag_Driver::singleton($this->tasklist);
+
+ $parent = $storage->getByUID($relation);
+ if (!is_a($parent, 'PEAR_Error')) {
+ $this->parent_id = $parent->id;
+ }
+ break;
+ }
+ }
+ }
+
+ $start = $vTodo->getAttribute('DTSTART');
+ if (!is_a($start, 'PEAR_Error')) {
+ if (!is_array($start)) {
+ // Date-Time field
+ $this->start = $start;
+ } else {
+ // Date field
+ $this->start = mktime(0, 0, 0, (int)$start['month'], (int)$start['mday'], (int)$start['year']);
+ }
+ }
+
+ $due = $vTodo->getAttribute('DUE');
+ if (!is_array($due) && !is_a($due, 'PEAR_Error') && !empty($due)) {
+ $this->due = $due;
+ }
+
+ // vCalendar 1.0 alarms
+ $alarm = $vTodo->getAttribute('AALARM');
+ if (!is_array($alarm) && !is_a($alarm, 'PEAR_Error') &&
+ !empty($alarm) && !empty($this->due)) {
+ $this->alarm = intval(($this->due - $alarm) / 60);
+ if ($this->alarm === 0) {
+ // We don't support alarms exactly at due date.
+ $this->alarm = 1;
+ }
+ }
+
+ // @TODO: vCalendar 2.0 alarms
+
+ $desc = $vTodo->getAttribute('DESCRIPTION');
+ if (!is_array($desc) && !is_a($desc, 'PEAR_Error')) {
+ $this->desc = $desc;
+ }
+
+ $priority = $vTodo->getAttribute('PRIORITY');
+ if (!is_array($priority) && !is_a($priority, 'PEAR_Error')) {
+ $this->priority = $priority;
+ }
+
+ $cat = $vTodo->getAttribute('CATEGORIES');
+ if (!is_array($cat) && !is_a($cat, 'PEAR_Error')) {
+ $this->category = $cat;
+ }
+
+ $status = $vTodo->getAttribute('STATUS');
+ if (!is_array($status) && !is_a($status, 'PEAR_Error')) {
+ $this->completed = !strcasecmp($status, 'COMPLETED');
+ }
+
+ $class = $vTodo->getAttribute('CLASS');
+ if (!is_array($class) && !is_a($class, 'PEAR_Error')) {
+ $class = Horde_String::upper($class);
+ $this->private = $class == 'PRIVATE' || $class == 'CONFIDENTIAL';
+ }
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * This file contains all Horde_UI_VarRenderer extensions required for editing
+ * tasks.
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @package Nag
+ */
+
+/** Horde_UI_VarRenderer */
+require_once 'Horde/UI/VarRenderer.php';
+
+/** Horde_UI_VarRenderer_html */
+require_once 'Horde/UI/VarRenderer/html.php';
+
+/**
+ * The Horde_UI_VarRenderer_nag class provides additional methods for
+ * rendering Horde_Form_Type_alarm fields.
+ *
+ * @todo Clean this hack up with Horde_Form/H4
+ * @author Jan Schneider <jan@horde.org>
+ * @package Nag
+ */
+class Horde_UI_VarRenderer_nag extends Horde_UI_VarRenderer_html {
+
+ function _renderVarInput_nag_method($form, &$var, &$vars)
+ {
+ $varname = @htmlspecialchars($var->getVarName(), ENT_QUOTES, $this->_charset);
+ $varvalue = $var->getValue($vars);
+ if (isset($varvalue['on'])) {
+ // Submitted form.
+ $methods = array();
+ $types = $vars->get('task_alarms');
+ if (!empty($varvalue['on']) && !empty($types)) {
+ foreach ($types as $type) {
+ $methods[$type] = array();
+ switch ($type){
+ case 'notify':
+ $methods[$type]['sound'] = $vars->get('task_alarms_sound');
+ break;
+ case 'mail':
+ $methods[$type]['email'] = $vars->get('task_alarms_email');
+ break;
+ case 'popup':
+ break;
+ }
+ }
+ }
+ } else {
+ // Prefilled form.
+ $methods = $varvalue;
+ }
+
+ printf('<input id="%soff" type="radio" class="radio" name="%s[on]" value="0"%s %s/><label for="%soff"> %s</label><br />',
+ $varname,
+ $varname,
+ !empty($methods) ? '' : ' checked="checked"',
+ $this->_getActionScripts($form, $var),
+ $varname,
+ _("Use default notification method"));
+ printf('<input type="radio" class="radio" name="%s[on]" value="1"%s %s/><label for="%soff"> %s</label>',
+ $varname,
+ !empty($methods) ? ' checked="checked"' : '',
+ $this->_getActionScripts($form, $var),
+ $varname,
+ _("Use custom notification method"));
+
+ if (!empty($methods)) {
+ echo '<br />';
+
+ global $registry, $prefs;
+ $pref = 'task_alarms';
+ $_prefs = array($pref => array('desc' => ''));
+ $helplink = '';
+ $original_value = $prefs->getValue($pref);
+ if (!empty($methods)) {
+ $prefs->setValue($pref, serialize($methods));
+ }
+ include $GLOBALS['registry']->get('templates', 'horde') . '/prefs/alarm.inc';
+ if (!empty($methods)) {
+ $prefs->setValue($pref, $original_value);
+ }
+ }
+ }
+
+ function _renderVarInput_nag_start($form, &$var, &$vars)
+ {
+ $var->type->getInfo($vars, $var, $task_start);
+ if ($task_start == 0) {
+ $start_date = getdate(time() + 604800); // About a week from now
+ } else {
+ $start_date = getdate($task_start);
+ }
+
+ $javascript_start = 'onchange="document.' . $form->getName() . '.start_date[1].checked = true;"';
+
+ /* Set up the radio buttons. */
+ $no_start_checked = ($task_start == 0) ? 'checked="checked" ' : '';
+ $specified_start_checked = ($task_start > 0) ? 'checked="checked" ' : '';
+?>
+<input id="start_date_none" name="start_date" type="radio" class="radio" value="none" <?php echo $no_start_checked ?> />
+<?php echo Horde::label('start_date_none', _("No delay")) ?>
+<br />
+
+<input id="start_date_specified" name="start_date" type="radio" class="radio" value="specified" <?php echo $specified_start_checked ?> />
+<label for="start_date_specified" class="hidden"><?php echo _("Start date specified.") ?></label>
+<label for="start_day" class="hidden"><?php echo _("Day") ?></label>
+<label for="start_month" class="hidden"><?php echo _("Month") ?></label>
+<label for="start_year" class="hidden"><?php echo _("Year") ?></label>
+<?php echo $this->buildDayWidget('start[day]', $start_date['mday'], $javascript_start) . ' ' . $this->buildMonthWidget('start[month]', $start_date['mon'], $javascript_start) . ' ' . $this->buildYearWidget('start[year]', 3, $start_date['year'], $javascript_start) ?>
+<?php if ($GLOBALS['browser']->hasFeature('javascript')) {
+Horde::addScriptFile('open_calendar.js', 'horde');
+echo '<div id="goto" class="control" style="position:absolute;visibility:hidden;padding:1px"></div>';
+echo Horde::link('#', _("Select a date"), '', '', 'openCalendar(\'startimg\', \'start\', \'document.' . $form->getName() . '.start_date[1].checked = true;\'); return false;') . Horde::img('calendar.png', _("Calendar"), 'align="top" id="startimg"', $GLOBALS['registry']->getImageDir('horde')) . '</a>';
+} ?>
+<?php
+ }
+
+ function _renderVarInput_nag_due($form, &$var, &$vars)
+ {
+ $var->type->getInfo($vars, $var, $task_due);
+ if ($task_due == 0) {
+ $date = '+' . (int)$GLOBALS['prefs']->getValue('default_due_days') . ' days';
+ $time = $GLOBALS['prefs']->getValue('default_due_time');
+ if ($time == 'now') {
+ $time = '';
+ } else {
+ $time = ' ' . $time;
+ }
+ $due_date = getdate(strtotime($date . $time));
+
+ // Default to having a due date for new tasks if the
+ // default_due preference is set.
+ if (!$vars->exists('task_id') && $GLOBALS['prefs']->getValue('default_due')) {
+ $task_due = strtotime($date . $time);
+ }
+ } else {
+ $due_date = getdate($task_due);
+ }
+
+ $javascript_due = 'onchange="document.' . $form->getName() . '.due_type[1].checked = true;"';
+ $hour_widget = $this->buildHourWidget('due_hour', $due_date['hours'], $javascript_due);
+ $minute_widget = $this->buildMinuteWidget('due_minute', 15, $due_date['minutes'], $javascript_due);
+ $am_pm_widget = $this->buildAmPmWidget('due_am_pm', $due_date['hours'], $javascript_due, $javascript_due);
+
+ /* Set up the radio buttons. */
+ $none_checked = ($task_due == 0) ? 'checked="checked" ' : '';
+ $specified_checked = ($task_due > 0) ? 'checked="checked" ' : '';
+?>
+<input id="due_type_none" name="due_type" type="radio" class="radio" value="none" <?php echo $none_checked ?> />
+<?php echo Horde::label('due_type_none', _("No due date.")) ?>
+<br />
+
+<input id="due_type_specified" name="due_type" type="radio" class="radio" value="specified" <?php echo $specified_checked ?> />
+<label for="due_type_specified" class="hidden"><?php echo _("Due date specified.") ?></label>
+<label for="due_day" class="hidden"><?php echo _("Day") ?></label>
+<label for="due_month" class="hidden"><?php echo _("Month") ?></label>
+<label for="due_year" class="hidden"><?php echo _("Year") ?></label>
+<?php echo $this->buildDayWidget('due[day]', $due_date['mday'], $javascript_due) . ' ' . $this->buildMonthWidget('due[month]', $due_date['mon'], $javascript_due) . ' ' . $this->buildYearWidget('due[year]', 3, $due_date['year'], $javascript_due) ?>
+<?php if ($GLOBALS['browser']->hasFeature('javascript')) {
+echo '<div id="goto" class="control" style="position:absolute;visibility:hidden;padding:1px"></div>';
+echo Horde::link('#', _("Select a date"), '', '', 'openCalendar(\'dueimg\', \'due\', \'document.' . $form->getName() . '.due_type[1].checked = true;\'); return false;') . Horde::img('calendar.png', _("Calendar"), 'align="top" id="dueimg"', $GLOBALS['registry']->getImageDir('horde')) . '</a>';
+} ?>
+<br />
+
+<input type="radio" class="radio" style="visibility:hidden;" />
+<label for="due_hour" class="hidden"><?php echo _("Hour") ?></label>
+<label for="due_minute" class="hidden"><?php echo _("Minute") ?></label>
+<?php echo $hour_widget . ' ' . $minute_widget . ' ' . $am_pm_widget ?>
+<?php
+ }
+
+ function _renderVarInput_nag_alarm($form, &$var, &$vars)
+ {
+ $varname = @htmlspecialchars($var->getVarName(), ENT_QUOTES, $this->_charset);
+ $value = $var->getValue($vars);
+ if (!is_array($value)) {
+ if ($value) {
+ if ($value % 10080 == 0) {
+ $value = array('value' => $value / 10080, 'unit' => 10080);
+ } elseif ($value % 1440 == 0) {
+ $value = array('value' => $value / 1440, 'unit' => 1440);
+ } elseif ($value % 60 == 0) {
+ $value = array('value' => $value / 60, 'unit' => 60);
+ } else {
+ $value = array('value' => $value, 'unit' => 1);
+ }
+ $value['on'] = true;
+ }
+ }
+ $units = array(1 => _("Minute(s)"), 60 => _("Hour(s)"),
+ 1440 => _("Day(s)"), 10080 => _("Week(s)"));
+ $options = '';
+ foreach ($units as $unit => $label) {
+ $options .= '<option value="' . $unit;
+ if ($value['on'] && $value['unit'] == $unit) {
+ $options .= '" selected="selected';
+ }
+ $options .= '">' . $label . '</option>';
+ }
+
+ return sprintf('<input id="%soff" type="radio" class="radio" name="%s[on]" value="0"%s /><label for="%soff"> %s</label><br />',
+ $varname,
+ $varname,
+ $value['on'] ? '' : ' checked="checked"',
+ $varname,
+ _("None"))
+ . sprintf('<input type="radio" class="radio" name="%s[on]" value="1"%s />',
+ $varname,
+ $value['on'] ? ' checked="checked"' : '')
+ . sprintf('<input type="text" size="2" name="%s[value]" id="%s_value" value="%s" />',
+ $varname,
+ $varname,
+ $value['on'] ? htmlspecialchars($value['value']) : 15)
+ . sprintf(' <select name="%s[unit]" id="%s_unit">%s</select>',
+ $varname,
+ $varname,
+ $options);
+ }
+
+ /**
+ * Generates the HTML for a day selection widget.
+ *
+ * @param string $name The name of the widget.
+ * @param integer $default The value to select by default. Range: 1-31
+ * @param string $params Any additional parameters to include in the
+ * <select> tag.
+ *
+ * @return string The HTML <select> widget.
+ */
+ function buildDayWidget($name, $default = null, $params = null)
+ {
+ $id = str_replace(array('[', ']'), array('_', ''), $name);
+
+ $html = '<select id="' . $id . '" name="' . $name. '"';
+ if (!is_null($params)) {
+ $html .= ' ' . $params;
+ }
+ $html .= '>';
+
+ for ($day = 1; $day <= 31; $day++) {
+ $html .= '<option value="' . $day . '"';
+ $html .= ($day == $default) ? ' selected="selected">' : '>';
+ $html .= $day . '</option>';
+ }
+
+ return $html . "</select>\n";
+ }
+
+ /**
+ * Generates the HTML for a month selection widget.
+ *
+ * @param string $name The name of the widget.
+ * @param integer $default The value to select by default.
+ * @param string $params Any additional parameters to include in the
+ * <select> tag.
+ *
+ * @return string The HTML <select> widget.
+ */
+ function buildMonthWidget($name, $default = null, $params = null)
+ {
+ $id = str_replace(array('[', ']'), array('_', ''), $name);
+
+ $html = '<select id="' . $id . '" name="' . $name. '"';
+ if (!is_null($params)) {
+ $html .= ' ' . $params;
+ }
+ $html .= '>';
+
+ for ($month = 1; $month <= 12; $month++) {
+ $html .= '<option value="' . $month . '"';
+ $html .= ($month == $default) ? ' selected="selected">' : '>';
+ $html .= strftime('%B', mktime(0, 0, 0, $month, 1)) . '</option>';
+ }
+
+ return $html . "</select>\n";
+ }
+
+ /**
+ * Generates the HTML for a year selection widget.
+ *
+ * @param integer $name The name of the widget.
+ * @param integer $years The number of years to include.
+ * If (+): future years
+ * If (-): past years
+ * @param string $default The timestamp to select by default.
+ * @param string $params Any additional parameters to include in the
+ * <select> tag.
+ *
+ * @return string The HTML <select> widget.
+ */
+ function buildYearWidget($name, $years, $default = null, $params = null)
+ {
+ $curr_year = date('Y');
+ $yearlist = array();
+
+ $startyear = (!is_null($default) && ($default < $curr_year) && ($years > 0)) ? $default : $curr_year;
+ $startyear = min($startyear, $startyear + $years);
+ for ($i = 0; $i <= abs($years); $i++) {
+ $yearlist[] = $startyear++;
+ }
+ if ($years < 0) {
+ $yearlist = array_reverse($yearlist);
+ }
+
+ $id = str_replace(array('[', ']'), array('_', ''), $name);
+
+ $html = '<select id="' . $id . '" name="' . $name. '"';
+ if (!is_null($params)) {
+ $html .= ' ' . $params;
+ }
+ $html .= '>';
+
+ foreach ($yearlist as $year) {
+ $html .= '<option value="' . $year . '"';
+ $html .= ($year == $default) ? ' selected="selected">' : '>';
+ $html .= $year . '</option>';
+ }
+
+ return $html . "</select>\n";
+ }
+
+ /**
+ * Generates the HTML for an hour selection widget.
+ *
+ * @param string $name The name of the widget.
+ * @param integer $default The timestamp to select by default.
+ * @param string $params Any additional parameters to include in the
+ * <select> tag.
+ *
+ * @return string The HTML <select> widget.
+ */
+ function buildHourWidget($name, $default = null, $params = null)
+ {
+ global $prefs;
+ if (!$prefs->getValue('twentyFour')) {
+ $default = ($default + 24) % 12;
+ }
+
+ $html = '<select id="' . $name . '" name="' . $name. '"';
+ if (!is_null($params)) {
+ $html .= ' ' . $params;
+ }
+ $html .= '>';
+
+ $min = $prefs->getValue('twentyFour') ? 0 : 1;
+ $max = $prefs->getValue('twentyFour') ? 23 : 12;
+ for ($hour = $min; $hour <= $max; $hour++) {
+ $html .= '<option value="' . $hour . '"';
+ $html .= ($hour == $default) ? ' selected="selected">' : '>';
+ $html .= $hour . '</option>';
+ }
+
+ return $html . '</select>';
+ }
+
+ function buildAmPmWidget($name, $default = 'am', $amParams = null, $pmParams = null)
+ {
+ global $prefs;
+ if ($prefs->getValue('twentyFour')) {
+ return;
+ }
+
+ if (is_numeric($default)) {
+ $default = date('a', mktime($default));
+ }
+ if ($default == 'am') {
+ $am = ' checked="checked"';
+ $pm = '';
+ } else {
+ $am = '';
+ $pm = ' checked="checked"';
+ }
+
+ $html = '<input id="' . $name . '_am" type="radio" class="radio" name="' . $name . '" value="am"' . $am . (!empty($amParams) ? ' ' . $amParams : '') . ' /><label for="' . $name . '_am">AM</label> ';
+ $html .= '<input id="' . $name . '_pm" type="radio" class="radio" name="' . $name . '" value="pm"' . $pm . (!empty($pmParams) ? ' ' . $pmParams : '') . ' /><label for="' . $name . '_pm">PM</label>';
+
+ return $html;
+ }
+
+ /**
+ * Generates the HTML for a minute selection widget.
+ *
+ * @param string $name The name of the widget.
+ * @param integer $increment The increment between minutes.
+ * @param integer $default The timestamp to select by default.
+ * @param string $params Any additional parameters to include in the
+ * <select> tag.
+ *
+ * @return string The HTML <select> widget.
+ */
+ function buildMinuteWidget($name, $increment = 1, $default = null,
+ $params = null)
+ {
+ $html = '<select id="' . $name . '" name="' . $name. '"';
+ if (!is_null($params)) {
+ $html .= ' ' . $params;
+ }
+ $html .= '>';
+
+ for ($minute = 0; $minute < 60; $minute += $increment) {
+ $html .= '<option value="' . $minute . '"';
+ $html .= ($minute == $default) ? ' selected="selected">' : '>';
+ $html .= sprintf("%02d", $minute) . '</option>';
+ }
+
+ return $html . "</select>\n";
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Nag external API interface.
+ *
+ * This file defines Nag's external API interface. Other applications can
+ * interact with Nag through this API.
+ *
+ * @package Nag
+ */
+
+$_services['perms'] = array(
+ 'args' => array(),
+ 'type' => '{urn:horde}hashHash'
+);
+
+$_services['removeUserData'] = array(
+ 'args' => array('user' => 'string'),
+ 'type' => 'boolean'
+);
+
+$_services['show'] = array(
+ 'link' => '%application%/view.php?tasklist=|tasklist|&task=|task|&uid=|uid|',
+);
+
+$_services['browse'] = array(
+ 'args' => array('path' => 'string'),
+ 'type' => '{urn:horde}hashHash',
+);
+
+$_services['put'] = array(
+ 'args' => array('path' => 'string', 'content' => 'string', 'content_type' => 'string'),
+ 'type' => 'int',
+);
+
+$_services['path_delete'] = array(
+ 'args' => array('path' => 'string'),
+ 'type' => 'boolean',
+);
+
+$_services['addTasklist'] = array(
+ 'args' => array('name' => 'string', 'description' => 'string'),
+ 'type' => 'string',
+);
+
+$_services['listTasklists'] = array(
+ 'args' => array('owneronly' => 'boolean', 'permission' => 'int'),
+ 'type' => '{urn:horde}stringArray',
+);
+
+$_services['listTasks'] = array(
+ 'args' => array('sortby' => 'string', 'sortdir' => 'int', 'altsortby' => 'string', 'tasklists' => '{urn:horde}stringArray', 'completed' => 'int', 'json' => 'boolean'),
+ 'type' => '{urn:horde}stringArray',
+);
+
+$_services['listAlarms'] = array(
+ 'args' => array('time' => 'int', 'user' => 'string'),
+ 'type' => '{urn:horde}hashHash'
+);
+
+$_services['list'] = array(
+ 'args' => array(),
+ 'type' => '{urn:horde}stringArray',
+);
+
+$_services['listBy'] = array(
+ 'args' => array('action' => 'string', 'timestamp' => 'int'),
+ 'type' => '{urn:horde}stringArray',
+);
+
+$_services['getActionTimestamp'] = array(
+ 'args' => array('uid' => 'string', 'action' => 'string', 'tasklist' => 'string'),
+ 'type' => 'int',
+);
+
+$_services['import'] = array(
+ 'args' => array('content' => 'string', 'contentType' => 'string', 'tasklist' => 'string'),
+ 'type' => 'string',
+);
+
+$_services['quickAdd'] = array(
+ 'args' => array('content' => 'string', 'tasklist' => 'string'),
+ 'type' => '{urn:horde}stringArray',
+);
+
+$_services['export'] = array(
+ 'args' => array('uid' => 'string', 'contentType' => '{urn:horde}stringArray'),
+ 'type' => 'string',
+);
+
+$_services['exportTasklist'] = array(
+ 'args' => array('tasklist' => 'string', 'contentType' => 'string'),
+ 'type' => 'string'
+);
+
+$_services['delete'] = array(
+ 'args' => array('uid' => '{urn:horde}stringArray'),
+ 'type' => 'boolean',
+);
+
+$_services['replace'] = array(
+ 'args' => array('uid' => 'string', 'content' => 'string', 'contentType' => 'string'),
+ 'type' => 'boolean',
+);
+
+$_services['listCostObjects'] = array(
+ 'args' => array('criteria' => '{urn:horde}hash'),
+ 'type' => '{urn:horde}stringArray'
+);
+
+$_services['listTimeObjectCategories'] = array(
+ 'type' => '{urn:horde}stringArray'
+);
+
+$_services['listTimeObjects'] = array(
+ 'args' => array('start' => 'int', 'end' => 'int'),
+ 'type' => '{urn:horde}hashHash'
+);
+
+$_services['completeTask'] = array(
+ 'args' => array('task_id' => 'string', 'tasklist_id' => 'string'),
+ 'type' => 'boolean'
+);
+
+/**
+ * Returns a list of available permissions.
+ *
+ * @return array An array describing all available permissions.
+ */
+function _nag_perms()
+{
+ $perms = array();
+ $perms['tree']['nag']['max_tasks'] = false;
+ $perms['title']['nag:max_tasks'] = _("Maximum Number of Tasks");
+ $perms['type']['nag:max_tasks'] = 'int';
+
+ return $perms;
+}
+
+/**
+ * Removes user data.
+ *
+ * @param string $user Name of user to remove data for.
+ *
+ * @return mixed true on success | PEAR_Error on failure
+ */
+function _nag_removeUserData($user)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if (!Horde_Auth::isAdmin() && $user != Horde_Auth::getAuth()) {
+ return PEAR::raiseError(_("You are not allowed to remove user data."));
+ }
+
+ /* Error flag */
+ $hasError = false;
+
+ /* Get the share for later deletion */
+ $share = $GLOBALS['nag_shares']->getShare($user);
+ if(is_a($share, 'PEAR_Error')) {
+ Horde::logMessage($share->getMessage(), __FILE__, __LINE__, PEAR_LOG_ERR);
+ unset($share);
+ } else {
+ /* Get the list of all tasks */
+ $tasks = Nag::listTasks(null, null, null, $user, 1);
+ if (is_a($tasks, 'PEAR_Error')) {
+ $hasError = true;
+ Horde::logMessage($share->getMessage(), __FILE__, __LINE__, PEAR_LOG_ERR);
+ } else {
+ $uids = array();
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ $uids[] = $task->uid;
+ }
+
+ /* ... and delete them. */
+ foreach ($uids as $uid) {
+ _nag_delete($uid);
+ }
+ }
+ }
+
+ /* Now delete history as well. */
+ $history = Horde_History::singleton();
+ if (method_exists($history, 'removeByParent')) {
+ $histories = $history->removeByParent('nag:' . $user);
+ } else {
+ /* Remove entries 100 at a time. */
+ $all = $history->getByTimestamp('>', 0, array(), 'nag:' . $user);
+ if (is_a($all, 'PEAR_Error')) {
+ Horde::logMessage($all, __FILE__, __LINE__, PEAR_LOG_ERR);
+ } else {
+ $all = array_keys($all);
+ while (count($d = array_splice($all, 0, 100)) > 0) {
+ $history->removebyNames($d);
+ }
+ }
+ }
+
+ /* ...and finally, delete the actual share */
+ if (!empty($share)) {
+ $result = $GLOBALS['nag_shares']->removeShare($share);
+ if (is_a($result, 'PEAR_Error')) {
+ $hasError = true;
+ Horde::logMessage($result->getMessage(), __FILE__, __LINE__, PEAR_LOG_ERR);
+ }
+ }
+
+ /* Now remove perms for this user from all other shares */
+ $shares = $GLOBALS['nag_shares']->listShares($user);
+ if (is_a($shares, 'PEAR_Error')) {
+ $hasError = true;
+ Horde::logMessage($shares, __FILE__, __LINE__, PEAR_LOG_ERR);
+ }
+ foreach ($shares as $share) {
+ $share->removeUser($user);
+ }
+
+ if ($hasError) {
+ return PEAR::raiseError(sprintf(_("There was an error removing tasks for %s. Details have been logged."), $user));
+ } else {
+ return true;
+ }
+}
+
+/**
+ * Retrieves the current user's task list from storage.
+ *
+ * This function will also sort the resulting list, if requested.
+ *
+ * @param string $sortby The field by which to sort
+ * (NAG_SORT_PRIORITY, NAG_SORT_NAME
+ * NAG_SORT_DUE, NAG_SORT_COMPLETION).
+ * @param integer $sortdir The direction by which to sort
+ * @param string $altsortby The secondary sort field.
+ * @param array $tasklists An array of tasklist to display or
+ * null/empty to display taskslists
+ * $GLOBALS['display_tasklists'].
+ * @param integer $completed Which tasks to retrieve (1 = all tasks,
+ * 0 = incomplete tasks, 2 = complete tasks,
+ * 3 = future tasks, 4 = future and incomplete
+ * tasks).
+ * @param boolean $json Retrieve the results of the tasks in
+ * 'json format'
+ *
+ * @return Nag_Task A list of the requested tasks.
+ */
+function _nag_listTasks($sortby = null, $sortdir = null, $altsortby = null,
+ $tasklists = null, $completed = null, $json = false)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if (!isset($sortby)) {
+ $sortby = $GLOBALS['prefs']->getValue('sortby');
+ }
+ if (!isset($sortdir)) {
+ $sortdir = $GLOBALS['prefs']->getValue('sortdir');
+ }
+ if (is_null($altsortby)) {
+ $altsortby = $GLOBALS['prefs']->getValue('altsortby');
+ }
+ if (is_null($tasklists)) {
+ $tasklists = $GLOBALS['display_tasklists'];
+ }
+ if (is_null($completed)) {
+ $completed = $GLOBALS['prefs']->getValue('show_completed');
+ }
+
+ $tasks = Nag::listTasks($sortby, $sortdir, $altsortby, $tasklists);
+ $tasks->reset();
+ $list = array();
+ while ($task = $tasks->each()) {
+ $list[$task->id] = $json ? $task->toJson() : $task->toHash();
+ }
+
+ return $list;
+}
+
+/**
+ * Add a new task list
+ *
+ * @param string $name Task list name
+ * @param string $description Task list description
+ *
+ * @return integer The new tasklist's id.
+ */
+function _nag_addTasklist($name, $description = '')
+{
+ if (!Horde_Auth::getAuth()) {
+ return PEAR::raiseError(_("Permission denied"));
+ }
+
+ require_once dirname(__FILE__) . '/base.php';
+ global $nag_shares;
+
+ $tasklistId = md5(microtime());
+ $tasklist = $nag_shares->newShare($tasklistId);
+
+ if (is_a($tasklist, 'PEAR_Error')) {
+ return $tasklist;
+ }
+
+ $tasklist->set('name', $name, false);
+ $tasklist->set('desc', $description, false);
+ $result = $nag_shares->addShare($tasklist);
+
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+
+ return $tasklistId;
+}
+
+/**
+ * Returns the last modification timestamp of a given uid.
+ *
+ * @param string $uid The uid to look for.
+ * @param string $tasklist The tasklist to look in.
+ *
+ * @return integer The timestamp for the last modification of $uid.
+ */
+function __nag_modified($uid, $tasklist = null)
+{
+ $modified = _nag_getActionTimestamp($uid, 'modify', $tasklist);
+ if (empty($modified)) {
+ $modified = _nag_getActionTimestamp($uid, 'add', $tasklist);
+ }
+ return $modified;
+}
+
+/**
+ * Browse through Nag's object tree.
+ *
+ * @param string $path The level of the tree to browse.
+ * @param array $properties The item properties to return. Defaults to 'name',
+ * 'icon', and 'browseable'.
+ *
+ * @return array The contents of $path
+ */
+function _nag_browse($path = '', $properties = array())
+{
+ require_once dirname(__FILE__) . '/base.php';
+ global $registry;
+
+ function _getTasklistSize($tasklistID)
+ {
+ // This ugly and performance-heavy hack is required to set the content
+ // length. Some clients (at least OS X) respect the content-length
+ // header a little too exactly. If we send a content-length that is
+ // longer than the actual data it will complain that the connection
+ // broke. If we specify one that is too short it will truncate the
+ // downlaoded file. To make matters worse it seems to respect the
+ // content-length from the PROPFIND request used to enumerate objects
+ // rather than the actual content-length sent at the time the file is
+ // downloaded. Way to go, Apple.
+ return strlen(_nag_exportTasklist($tasklistID, 'text/calendar'));
+ }
+
+ // Default properties.
+ if (!$properties) {
+ $properties = array('name', 'icon', 'browseable');
+ }
+
+ if (substr($path, 0, 3) == 'nag') {
+ $path = substr($path, 3);
+ }
+ $path = trim($path, '/');
+ $parts = explode('/', $path);
+
+ if (empty($path)) {
+ //
+ // This request is for a list of all users who have tasklists visible
+ // to the requesting user.
+ //
+ $tasklists = Nag::listTasklists(false, PERMS_READ);
+ $owners = array();
+ foreach ($tasklists as $tasklist) {
+ $owners[$tasklist->get('owner')] = true;
+ }
+
+ $results = array();
+ foreach (array_keys($owners) as $owner) {
+ if (in_array('name', $properties)) {
+ $results['nag/' . $owner]['name'] = $owner;
+ }
+ if (in_array('icon', $properties)) {
+ $results['nag/' . $owner]['icon'] =
+ $registry->getImageDir('horde') . '/user.png';
+ }
+ if (in_array('browseable', $properties)) {
+ $results['nag/' . $owner]['browseable'] = true;
+ }
+ if (in_array('contenttype', $properties)) {
+ $results['nag/' . $owner]['contenttype'] =
+ 'httpd/unix-directory';
+ }
+ if (in_array('contentlength', $properties)) {
+ $results['nag/' . $owner]['contentlength'] = 0;
+ }
+ if (in_array('modified', $properties)) {
+ $results['nag/' . $owner]['modified'] =
+ $_SERVER['REQUEST_TIME'];
+ }
+ if (in_array('created', $properties)) {
+ $results['nag/' . $owner]['created'] = 0;
+ }
+ }
+ return $results;
+
+ } elseif (count($parts) == 1) {
+ //
+ // This request is for all tasklists owned by the requested user
+ //
+ $tasklists = $GLOBALS['nag_shares']->listShares($parts[0],
+ PERMS_SHOW,
+ $parts[0]);
+
+ // The last check returns all addressbooks for the requested user,
+ // but that does not mean the requesting user has access to them.
+ // Filter out those address books for which the requesting user has
+ // no access.
+ $tasklists = Nag::permissionsFilter($tasklists);
+
+ $results = array();
+ foreach ($tasklists as $tasklistId => $tasklist) {
+ $retpath = 'nag/' . $parts[0] . '/' . $tasklistId;
+ if (in_array('name', $properties)) {
+ $results[$retpath]['name'] = sprintf(_("Tasks from %s"), $tasklist->get('name'));
+ $results[$retpath . '.ics']['name'] = $tasklist->get('name');
+ }
+ if (in_array('icon', $properties)) {
+ $results[$retpath]['icon'] = $registry->getImageDir() . '/nag.png';
+ $results[$retpath . '.ics']['icon'] = $registry->getImageDir() . '/mime/icalendar.png';
+ }
+ if (in_array('browseable', $properties)) {
+ $results[$retpath]['browseable'] = $tasklist->hasPermission(Horde_Auth::getAuth(), PERMS_READ);
+ $results[$retpath . '.ics']['browseable'] = false;
+ }
+ if (in_array('contenttype', $properties)) {
+ $results[$retpath]['contenttype'] = 'httpd/unix-directory';
+ $results[$retpath . '.ics']['contenttype'] = 'text/calendar';
+ }
+ if (in_array('contentlength', $properties)) {
+ $results[$retpath]['contentlength'] = 0;
+ $results[$retpath . '.ics']['contentlength'] = _getTasklistSize($tasklistId);
+ }
+ if (in_array('modified', $properties)) {
+ // @TODO Find a way to get the actual modification times
+ $results[$retpath]['modified'] = $_SERVER['REQUEST_TIME'];
+ $results[$retpath . '.ics']['modified'] = $_SERVER['REQUEST_TIME'];
+ }
+ if (in_array('created', $properties)) {
+ // @TODO Find a way to get the actual creation times
+ $results[$retpath]['created'] = 0;
+ $results[$retpath . '.ics']['created'] = 0;
+ }
+ }
+ return $results;
+
+ } elseif (count($parts) == 2 && substr($parts[1], -4) == '.ics') {
+ //
+ // This is a request for the entire tasklist in iCalendar format.
+ //
+ $tasklist = substr($parts[1], 0, -4);
+ if (!array_key_exists($tasklist, Nag::listTasklists(false, PERMS_READ))) {
+ return PEAR::raiseError(_("Invalid tasklist file requested."), 404);
+ }
+ $ical_data = _nag_exportTasklist($tasklist, 'text/calendar');
+ $result = array('data' => $ical_data,
+ 'mimetype' => 'text/calendar',
+ 'contentlength' => strlen($ical_data),
+ 'mtime' => $_SERVER['REQUEST_TIME']);
+
+ return $result;
+
+ } elseif (count($parts) == 2) {
+ //
+ // This request is browsing into a specific tasklist. Generate the list
+ // of items and represent them as files within the directory.
+ //
+ if (!array_key_exists($parts[1], Nag::listTasklists(false, PERMS_READ))) {
+ return PEAR::raiseError(_("Invalid tasklist requested."), 404);
+ }
+ $storage = Nag_Driver::singleton($parts[1]);
+ $result = $storage->retrieve();
+ if (is_a($result, 'PEAR_Error')) {
+ $result->code = 500;
+ return $result;
+ }
+
+ $icon = $registry->getImageDir() . '/nag.png';
+ $results = array();
+ $storage->tasks->reset();
+ while ($task = $storage->tasks->each()) {
+ $key = 'nag/' . $parts[0] . '/' . $parts[1] . '/' . $task->id;
+ if (in_array('name', $properties)) {
+ $results[$key]['name'] = $task->name;
+ }
+ if (in_array('icon', $properties)) {
+ $results[$key]['icon'] = $icon;
+ }
+ if (in_array('browseable', $properties)) {
+ $results[$key]['browseable'] = false;
+ }
+ if (in_array('contenttype', $properties)) {
+ $results[$key]['contenttype'] = 'text/calendar';
+ }
+ if (in_array('contentlength', $properties)) {
+ // FIXME: This is a hack. If the content length is longer
+ // than the actual data then some WebDAV clients will report
+ // an error when the file EOF is received. Ideally we should
+ // determine the actual size of the data and report it here, but
+ // the performance hit may be prohibitive. This requires
+ // further investigation.
+ $results[$key]['contentlength'] = 1;
+ }
+ if (in_array('modified', $properties)) {
+ $results[$key]['modified'] = __nag_modified($task->uid, $path);
+ }
+ if (in_array('created', $properties)) {
+ $results[$key]['created'] = _nag_getActionTimestamp($task->uid, 'add', $path);
+ }
+ }
+ return $results;
+ } else {
+ //
+ // The only valid request left is for either a specific task item.
+ //
+ if (count($parts) == 3 &&
+ array_key_exists($parts[1], Nag::listTasklists(false,
+ PERMS_READ))) {
+ //
+ // This request is for a specific item within a given task list.
+ //
+ /* Create a Nag storage instance. */
+ $storage = Nag_Driver::singleton($parts[1]);
+ if (is_a($storage, 'PEAR_Error')) {
+ return PEAR::raiseError(sprintf(_("Connection failed: %s"), $storage->getMessage()));
+ }
+ $storage->retrieve();
+
+ $task = $storage->get($parts[2]);
+ if (is_a($task, 'PEAR_Error')) {
+ $task->code = 500;
+ return $task;
+ }
+
+ $result = array('data' => _nag_export($task->uid, 'text/calendar'),
+ 'mimetype' => 'text/calendar');
+ $modified = __nag_modified($task->uid, $parts[1]);
+ if (!empty($modified)) {
+ $result['mtime'] = $modified;
+ }
+ return $result;
+ } elseif (count($parts) == 2 &&
+ substr($parts[1], -4) == '.ics' &&
+ array_key_exists(substr($parts[1], 0, -4), Nag::listTasklists(false, PERMS_READ))) {
+ } else {
+ //
+ // All other requests are a 404: Not Found
+ //
+ return false;
+ }
+ }
+}
+
+/**
+ * Saves a file into the Nag tree.
+ *
+ * @param string $path The path where to PUT the file.
+ * @param string $content The file content.
+ * @param string $content_type The file's content type.
+ *
+ * @return array The event UIDs, or a PEAR_Error on failure.
+ */
+function _nag_put($path, $content, $content_type)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if (substr($path, 0, 3) == 'nag') {
+ $path = substr($path, 3);
+ }
+ $path = trim($path, '/');
+ $parts = explode('/', $path);
+
+ if (count($parts) == 2 &&
+ substr($parts[1], -4) == '.ics') {
+
+ // Workaround for WebDAV clients that are not smart enough to send
+ // the right content type. Assume text/calendar.
+ if ($content_type == 'application/octet-stream') {
+ $content_type = 'text/calendar';
+ }
+ $tasklist = substr($parts[1], 0, -4);
+ } elseif (count($parts) == 3) {
+ $tasklist = $parts[1];
+
+ // Workaround for WebDAV clients that are not smart enough to send
+ // the right content type. Assume the same format we send individual
+ // tasklist items: text/calendar
+ if ($content_type == 'application/octet-stream') {
+ $content_type = 'text/calendar';
+ }
+ } else {
+ return PEAR::raiseError(_("Invalid tasklist name supplied."), 403);
+ }
+
+ if (!array_key_exists($tasklist, Nag::listTasklists(false, PERMS_EDIT))) {
+ // FIXME: Should we attempt to create a tasklist based on the filename
+ // in the case that the requested tasklist does not exist?
+ return PEAR::raiseError(_("Tasklist does not exist or no permission to edit"), 403);
+ }
+
+ // Store all currently existings UIDs. Use this info to delete UIDs not
+ // present in $content after processing.
+ $ids = array();
+ $uids_remove = array_flip(_nag_list($tasklist));
+
+ $storage = Nag_Driver::singleton($tasklist);
+
+ switch ($content_type) {
+ case 'text/calendar':
+ case 'text/x-vcalendar':
+ $iCal = new Horde_iCalendar();
+ if (!is_a($content, 'Horde_iCalendar_vtodo')) {
+ if (!$iCal->parsevCalendar($content)) {
+ return PEAR::raiseError(_("There was an error importing the iCalendar data."), 400);
+ }
+ } else {
+ $iCal->addComponent($content);
+ }
+
+ foreach ($iCal->getComponents() as $content) {
+ if (is_a($content, 'Horde_iCalendar_vtodo')) {
+ $task = new Nag_Task();
+ $task->fromiCalendar($content);
+ $task->tasklist = $tasklist;
+ if (isset($task->uid) &&
+ !is_a(($existing = $storage->getByUID($task->uid)), 'PEAR_Error')) {
+ // Entry exists, remove from uids_remove list so we won't
+ // delete in the end.
+ if (isset($uids_remove[$task->uid])) {
+ unset($uids_remove[$task->uid]);
+ }
+ if ($existing->private &&
+ $existing->owner != Horde_Auth::getAuth()) {
+ continue;
+ }
+ // Check if our task is newer then the existing - get the
+ // task's history.
+ $history = Horde_History::singleton();
+ $created = $modified = null;
+ $log = $history->getHistory('nag:' . $tasklist . ':' . $task->uid);
+ if ($log && !is_a($log, 'PEAR_Error')) {
+ foreach ($log->getData() as $entry) {
+ switch ($entry['action']) {
+ case 'add':
+ $created = $entry['ts'];
+ break;
+
+ case 'modify':
+ $modified = $entry['ts'];
+ break;
+ }
+ }
+ }
+ if (empty($modified) && !empty($add)) {
+ $modified = $add;
+ }
+ if (!empty($modified) &&
+ $modified >= $content->getAttribute('LAST-MODIFIED')) {
+ // LAST-MODIFIED timestamp of existing entry is newer:
+ // don't replace it.
+ continue;
+ }
+
+ // Don't change creator/owner.
+ $owner = $existing->owner;
+ $taskId = $existing->id;
+ $result = $storage->modify(
+ $taskId,
+ isset($task->name) ? $task->name : $existing->name,
+ isset($task->desc) ? $task->desc : $existing->desc,
+ isset($task->start) ? $task->start : $existing->start,
+ isset($task->due) ? $task->due : $existing->due,
+ isset($task->priority) ? $task->priority : $existing->priority,
+ isset($task->estimate) ? $task->estimate : 0,
+ isset($task->completed) ? (int)$task->completed : $existing->completed,
+ isset($task->category) ? $task->category : $existing->category,
+ isset($task->alarm) ? $task->alarm : $existing->alarm,
+ isset($task->parent_id) ? $task->parent_id : $existing->parent_id,
+ isset($task->private) ? $task->private : $existing->private,
+ $owner,
+ isset($task->assignee) ? $task->assignee : $existing->assignee);
+
+ if (is_a($result, 'PEAR_Error')) {
+ $result->code = 500;
+ return $result;
+ }
+ $ids[] = $task->uid;
+ } else {
+ $newTask = $storage->add(
+ isset($task->name) ? $task->name : '',
+ isset($task->desc) ? $task->desc : '',
+ isset($task->start) ? $task->start : 0,
+ isset($task->due) ? $task->due : 0,
+ isset($task->priority) ? $task->priority : 3,
+ isset($task->estimate) ? $task->estimate : 0,
+ !empty($task->completed),
+ isset($task->category) ? $task->category : '',
+ isset($task->alarm) ? $task->alarm : 0,
+ isset($task->uid) ? $task->uid : null,
+ isset($task->parent_id) ? $task->parent_id : '',
+ !empty($task->private),
+ Horde_Auth::getAuth(),
+ isset($task->assignee) ? $task->assignee : null);
+ if (is_a($newTask, 'PEAR_Error')) {
+ $newtask->code = 500;
+ return $newTask;
+ }
+ // use UID rather than ID
+ $ids[] = $newTask[1];
+ }
+ }
+ }
+ break;
+
+ default:
+ return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $content_type), 400);
+ }
+
+ if (array_key_exists($tasklist, Nag::listTasklists(false, PERMS_DELETE))) {
+ foreach (array_keys($uids_remove) as $uid) {
+ _nag_delete($uid);
+ }
+ }
+
+ return $ids;
+}
+
+/**
+ * Deletes a file from the Nag tree.
+ *
+ * @param string $path The path to the file.
+ *
+ * @return mixed The event's UID, or a PEAR_Error on failure.
+ */
+function _nag_path_delete($path)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if (substr($path, 0, 3) == 'nag') {
+ $path = substr($path, 3);
+ }
+ $path = trim($path, '/');
+ $parts = explode('/', $path);
+
+ if (count($parts) == 2) {
+ // @TODO Deny deleting of the entire tasklist for now.
+ // Allow users to delete tasklists but not create them via WebDAV will
+ // be more confusing than helpful. They are, however, still able to
+ // delete individual task items within the tasklist folder.
+ return PEAR::raiseError(_("Deleting entire tasklists is not supported."), 403);
+ // To re-enable the functionality just remove this if {} block.
+ }
+
+ if (substr($parts[1], -4) == '.ics') {
+ $tasklistID = substr($parts[1], 0, -4);
+ } else {
+ $tasklistID = $parts[1];
+ }
+
+ if (!(count($parts) == 2 || count($parts) == 3) ||
+ !array_key_exists($tasklistID, Nag::listTasklists(false, PERMS_DELETE))) {
+ return PEAR::raiseError(_("Tasklist does not exist or no permission to delete"), 403);
+ }
+
+ /* Create a Nag storage instance. */
+ $storage = Nag_Driver::singleton($tasklistID);
+ if (is_a($storage, 'PEAR_Error')) {
+ return PEAR::raiseError(sprintf(_("Connection failed: %s"), $storage->getMessage()), 500);
+ }
+ $retrieved = $storage->retrieve();
+ if (is_a($retrieved, 'PEAR_Error')) {
+ $retrieved->code = 500;
+ return $retrieved;
+ }
+
+ if (count($parts) == 3) {
+ // Delete just a single entry
+ return $storage->delete($parts[2]);
+ } else {
+ // Delete the entire task list
+ $result = $storage->deleteAll();
+ if (is_a($result, 'PEAR_Error')) {
+ return PEAR::raiseError(sprintf(_("Unable to delete tasklist \"%s\": %s"), $tasklistID, $result->getMessage()), 500);
+ } else {
+ // Remove share and all groups/permissions.
+ $share = $GLOBALS['nag_shares']->getShare($tasklistID);
+ $result = $GLOBALS['nag_shares']->removeShare($share);
+ if (is_a($result, 'PEAR_Error')) {
+ $result->code = 500;
+ return $result;
+ }
+ }
+ }
+}
+
+/**
+ * @param boolean $owneronly Only return tasklists that this user owns?
+ * Defaults to false.
+ * @param integer $permission The permission to filter tasklists by.
+ *
+ * @return array The task lists.
+ */
+function _nag_listTasklists($owneronly, $permission)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ return Nag::listTasklists($owneronly, $permission);
+}
+
+/**
+ * Returns an array of UIDs for all tasks that the current user is authorized
+ * to see.
+ *
+ * @param variant $tasklist The tasklist or an array of taskslists to list.
+ *
+ * @return array An array of UIDs for all tasks
+ * the user can access.
+ */
+function _nag_list($tasklist = null)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if (!isset($GLOBALS['conf']['storage']['driver'])) {
+ return PEAR::raiseError(_("Not configured"));
+ }
+
+ if ($tasklist === null) {
+ $tasklist = Nag::getDefaultTasklist(PERMS_READ);
+ }
+
+ if (!array_key_exists($tasklist,
+ Nag::listTasklists(false, PERMS_READ))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $tasks = Nag::listTasks(null, null, null, $tasklist, 1);
+ if (is_a($tasks, 'PEAR_Error')) {
+ return $tasks;
+ }
+
+ $uids = array();
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ $uids[] = $task->uid;
+ }
+
+ return $uids;
+}
+
+/**
+ * Returns an array of UIDs for tasks that have had $action happen since
+ * $timestamp.
+ *
+ * @param string $action The action to check for - add, modify, or delete.
+ * @param integer $timestamp The time to start the search.
+ * @param string $tasklist The tasklist to be used. If 'null', the
+ * user's default tasklist will be used.
+ *
+ * @return array An array of UIDs matching the action and time criteria.
+ */
+function _nag_listBy($action, $timestamp, $tasklist = null)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if ($tasklist === null) {
+ $tasklist = Nag::getDefaultTasklist(PERMS_READ);
+ }
+
+ if (!array_key_exists($tasklist,
+ Nag::listTasklists(false, PERMS_READ))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $history = Horde_History::singleton();
+ $histories = $history->getByTimestamp('>', $timestamp, array(array('op' => '=', 'field' => 'action', 'value' => $action)), 'nag:' . $tasklist);
+ if (is_a($histories, 'PEAR_Error')) {
+ return $histories;
+ }
+
+ // Strip leading nag:username:.
+ return preg_replace('/^([^:]*:){2}/', '', array_keys($histories));
+}
+
+/**
+ * Returns the timestamp of an operation for a given uid an action.
+ *
+ * @param string $uid The uid to look for.
+ * @param string $action The action to check for - add, modify, or delete.
+ * @param string $tasklist The tasklist to be used. If 'null', the
+ * user's default tasklist will be used.
+ *
+ * @return integer The timestamp for this action.
+ */
+function _nag_getActionTimestamp($uid, $action, $tasklist = null)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if ($tasklist === null) {
+ $tasklist = Nag::getDefaultTasklist(PERMS_READ);
+ }
+
+ if (!array_key_exists($tasklist,
+ Nag::listTasklists(false, PERMS_READ))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $history = Horde_History::singleton();
+ return $history->getActionTimestamp('nag:' . $tasklist . ':' . $uid, $action);
+}
+
+/**
+ * Imports one or more tasks represented in the specified content type.
+ *
+ * If a UID is present in the content and the task is already in the
+ * database, a replace is performed rather than an add.
+ *
+ * @param string $content The content of the task.
+ * @param string $contentType What format is the data in? Currently supports:
+ * text/calendar
+ * text/x-vcalendar
+ * @param string $tasklist The tasklist into which the task will be
+ * imported. If 'null', the user's default
+ * tasklist will be used.
+ *
+ * @return string The new UID on one import, an array of UIDs on multiple imports,
+ * or PEAR_Error on failure.
+ */
+function _nag_import($content, $contentType, $tasklist = null)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if ($tasklist === null) {
+ $tasklist = Nag::getDefaultTasklist(PERMS_EDIT);
+ }
+
+ if (!array_key_exists($tasklist, Nag::listTasklists(false, PERMS_EDIT))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ /* Create a Nag_Driver instance. */
+ $storage = Nag_Driver::singleton($tasklist);
+
+ switch ($contentType) {
+ case 'text/x-vcalendar':
+ case 'text/calendar':
+ case 'text/x-vtodo':
+ $iCal = new Horde_iCalendar();
+ if (!is_a($content, 'Horde_iCalendar_vtodo')) {
+ if (!$iCal->parsevCalendar($content)) {
+ return PEAR::raiseError(_("There was an error importing the iCalendar data."));
+ }
+ } else {
+ $iCal->addComponent($content);
+ }
+
+ $components = $iCal->getComponents();
+ if (count($components) == 0) {
+ return PEAR::raiseError(_("No iCalendar data was found."));
+ }
+
+ $ids = array();
+ foreach ($components as $content) {
+ if (is_a($content, 'Horde_iCalendar_vtodo')) {
+ $task = new Nag_Task();
+ $task->fromiCalendar($content);
+ if (isset($task->uid) &&
+ !is_a(($existing = $storage->getByUID($task->uid)), 'PEAR_Error')) {
+ $taskId = $existing->id;
+ $result = $storage->modify(
+ $taskId,
+ isset($task->name) ? $task->name : $existing->name,
+ isset($task->desc) ? $task->desc : $existing->desc,
+ isset($task->start) ? $task->start : $existing->start,
+ isset($task->due) ? $task->due : $existing->due,
+ isset($task->priority) ? $task->priority : $existing->priority,
+ isset($task->estimate) ? $task->estimate : 0,
+ isset($task->completed) ? (int)$task->completed : $existing->completed,
+ isset($task->category) ? $task->category : $existing->category,
+ isset($task->alarm) ? $task->alarm : $existing->alarm,
+ isset($task->parent_id) ? $task->parent_id : $existing->parent_id,
+ isset($task->private) ? $task->private : $existing->private,
+ isset($task->owner) ? $task->owner : $existing->owner,
+ isset($task->assignee) ? $task->assignee : $existing->assignee);
+
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ $ids[] = $task->uid;
+ } else {
+ $newTask = $storage->add(
+ isset($task->name) ? $task->name : '',
+ isset($task->desc) ? $task->desc : '',
+ isset($task->start) ? $task->start : 0,
+ isset($task->due) ? $task->due : 0,
+ isset($task->priority) ? $task->priority : 3,
+ isset($task->estimate) ? $task->estimate : 0,
+ !empty($task->completed),
+ isset($task->category) ? $task->category : '',
+ isset($task->alarm) ? $task->alarm : 0,
+ isset($task->methods) ? $task->methods : null,
+ isset($task->uid) ? $task->uid : null,
+ isset($task->parent_id) ? $task->parent_id : '',
+ !empty($task->private),
+ Horde_Auth::getAuth(),
+ isset($task->assignee) ? $task->assignee : null);
+ if (is_a($newTask, 'PEAR_Error')) {
+ return $newTask;
+ }
+ // use UID rather than ID
+ $ids[] = $newTask[1];
+ }
+ }
+ }
+ if (count($ids) == 0) {
+ return PEAR::raiseError(_("No iCalendar data was found."));
+ } else if (count($ids) == 1) {
+ return $ids[0];
+ }
+ return $ids;
+ }
+
+ return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $contentType));
+}
+
+/**
+ * Imports one or more tasks parsed from a string.
+ *
+ * @param string $text The text to parse into
+ * @param string $tasklist The tasklist into which the task will be
+ * imported. If 'null', the user's default
+ * tasklist will be used.
+ *
+ * @return array The UIDs of all tasks that were added.
+ */
+function _nag_quickAdd($text, $tasklist = null)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if ($tasklist === null) {
+ $tasklist = Nag::getDefaultTasklist(PERMS_EDIT);
+ }
+ if (!array_key_exists($tasklist, Nag::listTasklists(false, PERMS_EDIT))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ return Nag::createTasksFromText($text, $tasklist);
+}
+
+/**
+ * Toggles the task completion flag.
+ *
+ * @param string $task_id The task ID.
+ * @param string $tasklist_id The tasklist that contains the task.
+ */
+function _nag_toggleCompletion($task_id, $tasklist_id)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if (!array_key_exists($tasklist_id,
+ Nag::listTasklists(false, PERMS_EDIT))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $share = $GLOBALS['nag_shares']->getShare($tasklist_id);
+ if (is_a($share, 'PEAR_Error')) {
+ return $share;
+ }
+
+ $task = Nag::getTask($tasklist_id, $task_id);
+ $task->completed = !$task->completed;
+ if ($task->completed) {
+ $task->completed_date = time();
+ } else {
+ $task->completed_date = null;
+ }
+
+ return $task->save();
+}
+
+/**
+ * Exports a task, identified by UID, in the requested content type.
+ *
+ * @param string $uid Identify the task to export.
+ * @param string $contentType What format should the data be in?
+ * A string with one of:
+ * <pre>
+ * text/calendar - (VCALENDAR 2.0. Recommended as this is specified in
+ * rfc2445)
+ * text/x-vcalendar - (old VCALENDAR 1.0 format. Still in wide use)
+ * </pre>
+ *
+ * @return string The requested data.
+ */
+function _nag_export($uid, $contentType)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ $storage = Nag_Driver::singleton();
+ $task = $storage->getByUID($uid);
+ if (is_a($task, 'PEAR_Error')) {
+ return $task;
+ }
+
+ if (!array_key_exists($task->tasklist, Nag::listTasklists(false, PERMS_READ))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $version = '2.0';
+ switch ($contentType) {
+ case 'text/x-vcalendar':
+ $version = '1.0';
+ case 'text/calendar':
+ require_once dirname(__FILE__) . '/version.php';
+
+ // Create the new iCalendar container.
+ $iCal = new Horde_iCalendar($version);
+ $iCal->setAttribute('PRODID', '-//The Horde Project//Nag ' . NAG_VERSION . '//EN');
+ $iCal->setAttribute('METHOD', 'PUBLISH');
+
+ // Create new vTodo object.
+ $vTodo = $task->toiCalendar($iCal);
+ $vTodo->setAttribute('VERSION', $version);
+
+ $iCal->addComponent($vTodo);
+
+ return $iCal->exportvCalendar();
+
+ default:
+ return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $contentType));
+ }
+}
+
+/**
+ * Exports a tasklist in the requested content type.
+ *
+ * @param string $tasklist The tasklist to export.
+ * @param string $contentType What format should the data be in?
+ * A string with one of:
+ * <pre>
+ * text/calendar (VCALENDAR 2.0. Recommended as
+ * this is specified in rfc2445)
+ * text/x-vcalendar (old VCALENDAR 1.0 format.
+ * Still in wide use)
+ * </pre>
+ *
+ * @return string The iCalendar representation of the tasklist.
+ */
+function _nag_exportTasklist($tasklist, $contentType)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ if (!array_key_exists($tasklist,
+ Nag::listTasklists(false, PERMS_READ))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $tasks = Nag::listTasks(null, null, null, array($tasklist), 1);
+
+ $version = '2.0';
+ switch ($contentType) {
+ case 'text/x-vcalendar':
+ $version = '1.0';
+ case 'text/calendar':
+ $share = $GLOBALS['nag_shares']->getShare($tasklist);
+
+ $iCal = new Horde_iCalendar($version);
+ $iCal->setAttribute('X-WR-CALNAME', Horde_String::convertCharset($share->get('name'), Horde_Nls::getCharset(), 'utf-8'));
+
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ $iCal->addComponent($task->toiCalendar($iCal));
+ }
+
+ return $iCal->exportvCalendar();
+ }
+
+ return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $contentType));
+
+}
+
+/**
+ * Deletes a task identified by UID.
+ *
+ * @param string|array $uid Identify the task to delete, either a single UID
+ * or an array.
+ *
+ * @return boolean Success or failure.
+ */
+function _nag_delete($uid)
+{
+ // Handle an arrray of UIDs for convenience of deleting multiple tasks at
+ // once.
+ if (is_array($uid)) {
+ foreach ($uid as $g) {
+ $result = _nag_delete($g);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ }
+
+ return true;
+ }
+
+ require_once dirname(__FILE__) . '/base.php';
+
+ $storage = Nag_Driver::singleton();
+ $task = $storage->getByUID($uid);
+ if (is_a($task, 'PEAR_Error')) {
+ return $task;
+ }
+
+ if (!Horde_Auth::isAdmin() &&
+ !array_key_exists($task->tasklist,
+ Nag::listTasklists(false, PERMS_DELETE))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ return $storage->delete($task->id);
+}
+
+/**
+ * Replaces the task identified by UID with the content represented in the
+ * specified content type.
+ *
+ * If you want to replace multiple tasks with the UID specified in the
+ * VCALENDAR data, you may use _nag_import instead. This automatically does a
+ * replace if existings UIDs are found.
+ *
+ *
+ * @param string $uid Identify the task to replace.
+ * @param string $content The content of the task.
+ * @param string $contentType What format is the data in? Currently supports:
+ * - text/x-vcalendar
+ * - text/calendar
+ *
+ * @return boolean Success or failure.
+ */
+function _nag_replace($uid, $content, $contentType)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ $storage = Nag_Driver::singleton();
+ $existing = $storage->getByUID($uid);
+ if (is_a($existing, 'PEAR_Error')) {
+ return $existing;
+ }
+ $taskId = $existing->id;
+
+ if (!array_key_exists($existing->tasklist, Nag::listTasklists(false, PERMS_EDIT))) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ switch ($contentType) {
+ case 'text/calendar':
+ case 'text/x-vcalendar':
+ if (!is_a($content, 'Horde_iCalendar_vtodo')) {
+ $iCal = new Horde_iCalendar();
+ if (!$iCal->parsevCalendar($content)) {
+ return PEAR::raiseError(_("There was an error importing the iCalendar data."));
+ }
+
+ $components = $iCal->getComponents();
+ $component = null;
+ foreach ($components as $content) {
+ if (is_a($content, 'Horde_iCalendar_vtodo')) {
+ if ($component !== null) {
+ return PEAR::raiseError(_("Multiple iCalendar components found; only one vTodo is supported."));
+ }
+ $component = $content;
+ }
+
+ }
+ if ($component === null) {
+ return PEAR::raiseError(_("No iCalendar data was found."));
+ }
+ }
+
+ $task = new Nag_Task();
+ $task->fromiCalendar($content);
+ $result = $storage->modify(
+ $taskId,
+ isset($task->name) ? $task->name : $existing->name,
+ isset($task->desc) ? $task->desc : $existing->desc,
+ isset($task->start) ? $task->start : $existing->start,
+ isset($task->due) ? $task->due : $existing->due,
+ isset($task->priority) ? $task->priority : $existing->priority,
+ isset($task->estimate) ? $task->estimate : 0,
+ isset($task->completed) ? (int)$task->completed : $existing->completed,
+ isset($task->category) ? $task->category : $existing->category,
+ isset($task->alarm) ? $task->alarm : $existing->alarm,
+ isset($task->parent_id) ? $task->parent_id : $existing->parent_id,
+ isset($task->private) ? $task->private : $existing->private,
+ isset($task->owner) ? $task->owner : $existing->owner,
+ isset($task->assignee) ? $task->assignee : $existing->assignee);
+
+ break;
+
+ default:
+ return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $contentType));
+ }
+
+ return $result;
+}
+
+/**
+ * Lists active tasks as cost objects.
+ *
+ * @todo Implement $criteria parameter.
+ *
+ * @param array $criteria Filter attributes
+ */
+function _nag_listCostObjects($criteria)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ $tasks = Nag::listTasks(null, null, null, null, 1);
+ $result = array();
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ $result[$task->id] = array('id' => $task->id,
+ 'active' => !$task->completed,
+ 'name' => $task->name);
+ if (!empty($task->estimate)) {
+ $result[$task->id]['estimate'] = $task->estimate;
+ }
+ }
+
+ if (count($result) == 0) {
+ return array();
+ } else {
+ return array(array('category' => _("Tasks"),
+ 'objects' => array_values($result)));
+ }
+}
+
+function _nag_listTimeObjectCategories()
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ $categories = array();
+ $tasklists = Nag::listTasklists(false, PERMS_SHOW | PERMS_READ);
+ foreach ($tasklists as $tasklistId => $tasklist) {
+ $categories[$tasklistId] = $tasklist->get('name');
+ }
+ return $categories;
+}
+
+/**
+ * Lists active tasks as time objects.
+ *
+ * @param array $categories The time categories (from listTimeObjectCategories) to list.
+ * @param mixed $start The start date of the period.
+ * @param mixed $end The end date of the period.
+ */
+function _nag_listTimeObjects($categories, $start, $end)
+{
+ require_once dirname(__FILE__) . '/base.php';
+
+ $allowed_tasklists = Nag::listTasklists(false, PERMS_READ);
+ foreach ($categories as $tasklist) {
+ if (!array_key_exists($tasklist, $allowed_tasklists)) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+ }
+
+ $timeobjects = array();
+ $start = new Horde_Date($start);
+ $start_ts = $start->timestamp();
+ $end = new Horde_Date($end);
+ $end_ts = $end->timestamp();
+
+ // List incomplete tasks.
+ $tasks = Nag::listTasks(null, null, null, $categories, 0);
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ // If there's no due date, it's not a time object.
+ if (!$task->due || $task->due + 1 < $start_ts || $task->due > $end_ts) {
+ continue;
+ }
+ $due_date = date('Y-m-d\TH:i:s', $task->due);
+ $timeobjects[$task->id] = array(
+ 'id' => $task->id,
+ 'title' => $task->name,
+ 'description' => $task->desc,
+ 'start' => $due_date,
+ 'end' => $due_date,
+ 'category' => $task->category,
+ 'params' => array('task' => $task->id,
+ 'tasklist' => $task->tasklist),
+ 'link' => Horde_Util::addParameter(Horde::applicationUrl('view.php', true), array('tasklist' => $task->tasklist, 'task' => $task->id)));
+ }
+
+ return $timeobjects;
+}
+
+/**
+ * Lists alarms for a given moment.
+ *
+ * @param integer $time The time to retrieve alarms for.
+ * @param string $user The user to retreive alarms for. All users if null.
+ *
+ * @return array An array of UIDs
+ */
+function _nag_listAlarms($time, $user = null)
+{
+ require_once dirname(__FILE__) . '/base.php';
+ require_once 'Horde/Group.php';
+
+ if ((empty($user) || $user != Horde_Auth::getAuth()) && !Horde_Auth::isAdmin()) {
+ return PEAR::raiseError(_("Permission Denied"));
+ }
+
+ $storage = Nag_Driver::singleton();
+ $group = Group::singleton();
+ $alarm_list = array();
+ $tasklists = is_null($user) ? array_keys($GLOBALS['nag_shares']->listAllShares()) : $GLOBALS['display_tasklists'];
+
+ $alarms = Nag::listAlarms($time, $tasklists);
+ if (is_a($alarms, 'PEAR_Error')) {
+ return $alarms;
+ }
+
+ foreach ($alarms as $alarm) {
+ $share = $GLOBALS['nag_shares']->getShare($alarm->tasklist);
+ if (is_a($share, 'PEAR_Error')) {
+ continue;
+ }
+ if (empty($user)) {
+ $users = $share->listUsers(PERMS_READ);
+ $groups = $share->listGroups(PERMS_READ);
+ foreach ($groups as $gid) {
+ $users = array_merge($users, $group->listUsers($gid));
+ }
+ $users = array_unique($users);
+ } else {
+ $users = array($user);
+ }
+ foreach ($users as $alarm_user) {
+ $prefs = Prefs::singleton($GLOBALS['conf']['prefs']['driver'],
+ 'nag', $alarm_user, null, null, false);
+ Horde_Nls::setLanguageEnvironment($prefs->getValue('language'));
+ $alarm_list[] = $alarm->toAlarm($alarm_user, $prefs);
+ }
+ }
+
+ return $alarm_list;
+}
--- /dev/null
+<?php
+/**
+ * Script to determine the correct *_BASE values.
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @package Nag
+ */
+
+$curr_dir = dirname(__FILE__);
+
+if (!defined('HORDE_BASE')) {
+ /* Temporary fix - if horde does not live directly under the app
+ * directory, the HORDE_BASE constant should be defined in
+ * lib/base.local.php. */
+ if (file_exists($curr_dir . '/base.local.php')) {
+ include $curr_dir . '/base.local.php';
+ } else {
+ define('HORDE_BASE', $curr_dir . '/../..');
+ }
+}
+
+if (!defined('NAG_BASE')) {
+ define('NAG_BASE', $curr_dir . '/..');
+}
--- /dev/null
+<?php
+/**
+ * Nag base inclusion file.
+ *
+ * This file brings in all of the dependencies that every Nag
+ * script will need and sets up objects that all scripts use.
+ */
+
+// Determine BASE directories.
+require_once dirname(__FILE__) . '/base.load.php';
+
+// Load the Horde Framework core, and set up inclusion paths.
+require_once HORDE_BASE . '/lib/core.php';
+
+// Registry.
+$s_ctrl = 0;
+switch (Horde_Util::nonInputVar('nag_session_control')) {
+case 'none':
+ $s_ctrl = Horde_Registry::SESSION_NONE;
+ break;
+
+case 'readonly':
+ $s_ctrl = Horde_Registry::SESSION_READONLY;
+ break;
+}
+$registry = Horde_Registry::singleton($s_ctrl);
+
+try {
+ $registry->pushApp('nag', array('check_perms' => (Horde_Util::nonInputVar('nag_authentication') != 'none'), 'logintasks' => true));
+} catch (Horde_Exception $e) {
+ Horde_Auth::authenticationFailureRedirect('nag', $e);
+}
+$conf = &$GLOBALS['conf'];
+@define('NAG_TEMPLATES', $registry->get('templates'));
+
+// Notification system.
+$notification = Horde_Notification::singleton();
+$notification->attach('status', null, 'Nag_Notification_Listener_Status');
+
+// Start compression.
+Horde::compressOutput();
+
+// Set the timezone variable.
+Horde_Nls::setTimeZone();
+
+// Create a share instance.
+$GLOBALS['nag_shares'] = Horde_Share::singleton($registry->getApp());
+
+Nag::initialize();
--- /dev/null
+<?php
+/**
+ * $Horde: nag/lib/prefs.php,v 1.12 2009/06/10 05:25:06 slusarz Exp $
+ *
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+function handle_tasklistselect($updated)
+{
+ $default_tasklist = Horde_Util::getFormData('default_tasklist');
+ if (!is_null($default_tasklist)) {
+ $tasklists = Nag::listTasklists();
+ if (is_array($tasklists) && isset($tasklists[$default_tasklist])) {
+ $GLOBALS['prefs']->setValue('default_tasklist', $default_tasklist);
+ return true;
+ }
+ }
+
+ return false;
+}
+
+function handle_showsummaryselect($updated)
+{
+ $GLOBAL['prefs']->setValue('summary_categories', Horde_Util::getFormData('summary_categories'));
+ return true;
+}
+
+function handle_defaultduetimeselect($updated)
+{
+ $GLOBALS['prefs']->setValue('default_due_time', Horde_Util::getFormData('default_due_time'));
+ return true;
+}
--- /dev/null
+<?php define('NAG_VERSION', 'H3 (3.0-git)') ?>
--- /dev/null
+<?php
+/**
+ * Nag list script.
+ *
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/lib/base.php';
+
+$vars = Horde_Variables::getDefaultVariables();
+
+/* Get the current action ID. */
+$actionID = $vars->actionID;
+
+/* Sort out the sorting values and task filtering. */
+if ($vars->exists('sortby')) {
+ $prefs->setValue('sortby', $vars->sortby);
+}
+if ($vars->exists('sortdir')) {
+ $prefs->setValue('sortdir', $vars->sortdir);
+}
+if ($vars->exists('show_completed')) {
+ $prefs->setValue('show_completed', $vars->get('show_completed'));
+} else {
+ $vars->set('show_completed', $prefs->getValue('show_completed'));
+}
+
+/* Page variables. */
+$title = _("My Tasks");
+
+switch ($actionID) {
+case 'search_tasks':
+ /* Get the search parameters. */
+ $search_pattern = $vars->search_pattern;
+ $search_name = ($vars->search_name == 'on');
+ $search_desc = ($vars->search_desc == 'on');
+ $search_category = ($vars->search_category == 'on');
+ $search_completed = $vars->search_completed;
+
+ $vars->set('show_completed', $search_completed);
+
+ /* Get the full, sorted task list. */
+ $tasks = Nag::listTasks($prefs->getValue('sortby'),
+ $prefs->getValue('sortdir'),
+ $prefs->getValue('altsortby'),
+ null,
+ $search_completed);
+ if (is_a($tasks, 'PEAR_Error')) {
+ $notification->push($tasks, 'horde.error');
+ $tasks = new Nag_Task();
+ }
+
+ if (!empty($search_pattern) &&
+ ($search_name || $search_desc || $search_category)) {
+ $pattern = '/' . preg_quote($search_pattern, '/') . '/i';
+ $search_results = new Nag_Task();
+ $tasks->reset();
+ while ($task = &$tasks->each()) {
+ if (($search_name && preg_match($pattern, $task->name)) ||
+ ($search_desc && preg_match($pattern, $task->desc)) ||
+ ($search_category && preg_match($pattern, $task->category))) {
+ $search_results->add($task);
+ }
+ }
+
+ /* Reassign $tasks to the search result. */
+ $tasks = $search_results;
+ $title = sprintf(_("Search: Results for \"%s\""), $search_pattern);
+ }
+ break;
+
+default:
+ /* Get the full, sorted task list. */
+ $tasks = Nag::listTasks($prefs->getValue('sortby'),
+ $prefs->getValue('sortdir'),
+ $prefs->getValue('altsortby'));
+ if (is_a($tasks, 'PEAR_Error')) {
+ $notification->push($tasks, 'horde.error');
+ $tasks = new Nag_Task();
+ }
+ break;
+}
+
+$print_view = (bool)$vars->print;
+if (!$print_view) {
+ Horde::addScriptFile('popup.js', 'horde', true);
+ Horde::addScriptFile('tooltip.js', 'horde', true);
+ Horde::addScriptFile('prototype.js', 'horde', true);
+ Horde::addScriptFile('effects.js', 'horde', true);
+ Horde::addScriptFile('QuickFinder.js', 'horde', true);
+ $print_link = Horde::applicationUrl(Horde_Util::addParameter('list.php', array('print' => 1)));
+}
+
+require NAG_TEMPLATES . '/common-header.inc';
+
+if ($print_view) {
+ require_once $registry->get('templates', 'horde') . '/javascript/print.js';
+} else {
+ require NAG_TEMPLATES . '/menu.inc';
+ echo '<div id="page">';
+
+ if (!$prefs->isLocked('show_completed')) {
+ $listurl = Horde::applicationUrl('list.php');
+ $tabs = new Horde_UI_Tabs('show_completed', $vars);
+ $tabs->addTab(_("_All tasks"), $listurl, 1);
+ $tabs->addTab(_("Incom_plete tasks"), $listurl, 0);
+ $tabs->addTab(_("_Future tasks"), $listurl, 3);
+ $tabs->addTab(_("_Completed tasks"), $listurl, 2);
+ echo $tabs->render($vars->get('show_completed'));
+ }
+}
+
+require NAG_TEMPLATES . '/list.html.php';
+
+if (!$print_view) {
+ require NAG_TEMPLATES . '/panel.inc';
+}
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- $Horde: nag/locale/ca_ES/help.xml,v 1.1 2007/02/07 16:15:07 jan Exp $ -->
+<help>
+ <entry id="Overview" md5="67c67240d4ec4a037b8ae76f371c5ad3" state="uptodate">
+ <title>Introducció</title>
+ <heading>Introducció</heading>
+ <para>
+Aquest és una gestor de llistes de tasques bastant complet que suporta llistes de tasques privades i compartides, integració amb funcions d'agenda, categories, prioritats, venciments, recerques, impressió i importació i exportació.
+ </para>
+ </entry>
+
+ <entry id="sorting" md5="275a51456e8b440a5bf7afe2af24c777" state="uptodate">
+ <title>Ordenació d'entrades</title>
+ <heading>Ordenació d'entrades</heading>
+ <para>
+Al visualitzar un llistat d'entrades, pot ordenar-lo per qualsevol de les columnes prement la capçalera de columna apropiada. Per a commutar el sentit de la classificació de les columnes entre ascendent o descendent, premi la icona de fletxa de la capçalera de la columna.
+ </para>
+ </entry>
+</help>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- $Horde: nag/locale/de_DE/help.xml,v 1.4 2008/12/08 12:12:47 jan Exp $ -->
+<help>
+ <entry id="Overview" md5="67c67240d4ec4a037b8ae76f371c5ad3" state="uptodate">
+ <title>Übersicht</title>
+ <heading>Einführung</heading>
+ <para>
+ Diese Anwendung ist ein vollständiger Aufgabenlisten-Manager, der
+ private und gemeinsame Aufgabenlisten, Kalenderfunktionen, Kategorien,
+ Prioritäten, Fälligkeitsdaten, Suchen, Drucken sowie Im- und Export
+ unterstützt.
+ </para>
+ </entry>
+ <entry id="sorting" md5="275a51456e8b440a5bf7afe2af24c777" state="uptodate">
+ <title>Einträge Sortieren</title>
+ <heading>Einträge Sortieren</heading>
+ <para>
+ Wenn Sie sich eine Liste mit Einträgen anzeigen lassen, können Sie die
+ Einträge nach jeder beliebigen Spalte sortieren, indem Sie auf die
+ jeweilige Spaltenüberschrift klicken. Wenn Sie die Sortierreihenfolge
+ umschalten möchten, klicken Sie auf das Pfeilsymbol in der
+ Spaltenüberschrift.
+ </para>
+ </entry>
+</help>
--- /dev/null
+<?xml version='1.0'?>
+<!-- $Horde: nag/locale/en_US/help.xml,v 1.5 2004/12/03 02:00:56 jan Exp $ -->
+<help>
+ <entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>
+
+ <entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>
+</help>
--- /dev/null
+<?xml version="1.0"?>
+<!-- $Horde: nag/locale/es_ES/help.xml,v 1.1 2004/12/11 11:57:52 jan Exp $ -->
+<help>
+ <entry id="Overview" md5="67c67240d4ec4a037b8ae76f371c5ad3" state="uptodate">
+ <title>Introducción</title>
+ <heading>Introducción</heading>
+ <para>
+ Éste es una gestor de listas de tareas bastante completo que soporta listas de tareas privadas y compartidas, integración con funciones de agenda, categorías, prioridades, vencimientos, búsquedas, impresión e importación y exportación.
+ </para>
+ </entry>
+
+ <entry id="sorting" md5="275a51456e8b440a5bf7afe2af24c777" state="uptodate">
+ <title>Ordenación de entradas</title>
+ <heading>Ordenación de entradas</heading>
+ <para>
+ Al visualizar un listado de entradas, puede ordenarlo por cualquiera de las columnas pulsando la cabecera de columna apropiada. Para conmutar el sentido de la clasificación de las columnas entre ascendente o descendente, pulse el icono de flecha de la cabecera de la columna.
+ </para>
+ </entry>
+</help>
--- /dev/null
+<?xml version="1.0"?>
+<!-- $Horde: nag/locale/eu_ES/help.xml,v 1.1 2008/07/17 21:07:10 jan Exp $ -->
+<help><entry id="Overview" md5="67c67240d4ec4a037b8ae76f371c5ad3" state="uptodate">
+ <title>Informazio orokorra</title>
+ <heading>Sarrera</heading> <para>Eginbide askoko "egitekoen" fitxategi-kudeatzailea da, eta zeregin-zerrenda pribatuak eta partekatuak, Egutegi-funtzioa integratzea, kategoriak, lehentasunak, epemugak, bilaketak, inprimatzea eta inportatze-/esportatze-funtzioak onartzen du.</para></entry>
+
+ <entry id="sorting" md5="275a51456e8b440a5bf7afe2af24c777" state="uptodate">
+ <title>Ordenatu sarrerak</title>
+ <heading>Ordenatu sarrerak</heading> <para>Sarreren zerrenda ikustean, sarrerak edozein zutaberen arabera ordena ditzakezu zutabe egokian klik eginez gero. Goranzko edo beheranzko ordenera aldatzeko, klik egin zutabearen izenburuko geziaren ikonoan.</para></entry></help>
--- /dev/null
+<?xml version="1.0"?>
+<!-- $Horde: nag/locale/fi_FI/help.xml,v 1.8 2008/02/22 13:35:39 jan Exp $ -->
+<help>
+ <entry id="Overview" md5="67c67240d4ec4a037b8ae76f371c5ad3" state="uptodate">
+ <title>Yleiskuva</title>
+ <heading>Esittely</heading>
+ <para>
+ Tämä on melko kattava tehtävälistaohjelma, jossa on mm. seuraavia
+ ominaisuuksia: mahdollista tehdä tehtävälistoja, jotka voivat olla
+ joko yksityisiä tai jaettuja, kommunikoimaan kalenterisovelluksen
+ kanssa. Merkinnät voivat kuulua eri kategorioihin, niillä voi olla
+ prioriteetteja, valmistumispäivämääriä. Voit myös tehdä hakuja,
+ tulostaa ja tuoda/viedä merkintöjä.
+ </para>
+ </entry>
+ <entry id="sorting" md5="275a51456e8b440a5bf7afe2af24c777" state="uptodate">
+ <title>Merkintöjen lajittelu</title>
+ <heading>Merkintöjen lajittelu</heading>
+ <para>
+ Tehtävien listaa on mahdollista lajitella minkä tahansa sarakkeen mukaan napsauttamalla sarakkeen otsikkoa. Voit muuttaa lajittelua nousevaksi tai laskevaksi napsauttamalla otsikon vieressä olevaa nuoli ikonia.
+ </para>
+ </entry>
+</help>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-2"?>
+<!-- $Horde: nag/locale/hu_HU/help.xml,v 1.3 2004/12/03 02:10:36 jan Exp $ -->
+<help>
+ <entry id="Overview" state="new">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>
+ <entry id="sorting" state="unknown">
+ <title>Sorbarendezés</title>
+ <heading>Sorbarendezés</heading>
+ <para>
+ A tennivalók kilistázásakor bármely oszlop szerint sorba rendezhetjük
+az adatokat, ha a kérdéses oszlop fejlécére kattintunk. Ha a sorbarendezés
+irányát akarjuk átállítani, akkor a fejlécben levõ kis nyílra kell
+kattintani.
+ </para>
+<!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--></entry>
+</help>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- $Horde: nag/locale/lv_LV/help.xml,v 1.3 2004/12/03 02:10:36 jan Exp $ -->
+<help>
+ <entry id="Overview" md5="84ebb3e1b58d0462886ec5fe7ea0d82e" state="changed">
+ <title>Pârskats</title>
+ <heading>Ievads</heading>
+ <para>
+ [Uzdevumi] ir pietiekoði plaði funkcionâls laika organizators, kas atbalsta personîgo uzdevumu sarakstus, integrâciju ar kalendâra funkcijâm, klasifikatoriem, prioritâtçm, izpildes termiòiem, meklçðanu, drukâðanu un importa/eksporta funkcijâm.
+ </para>
+<!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--></entry>
+ <entry id="sorting" md5="57699a6f7694cea8df57e314ade3c907" state="changed">
+ <title>Ðíiroðana</title>
+ <heading>Ðíiroðana</heading>
+ <para>
+ Apskatot ierakstu uzskaitîjumu ir iespçjams ðíirot ierakstus pçc jebkuras kolonnas, uzklikðíinot atbilstoðâ stabiòa nosaukumam. Lai pârslçgtos no augoðâs uz dilstoðo ðíiroðanas kârtîbu, uzklikðíiniet bultas ikonai blakus atbilstoðâ stabiòa nosaukumam.
+ </para>
+<!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--></entry>
+</help>
--- /dev/null
+<?xml version="1.0"?>
+<!-- $Horde: nag/locale/nl_NL/help.xml,v 1.2 2004/12/03 02:10:36 jan Exp $ -->
+<help>
+ <entry id="Overview" md5="ca9c259b68a1ca39c4ce1fa3dd077dce" state="changed">
+ <title>Overzicht</title>
+ <heading>Introductie</heading>
+ <para>
+ Taakmanager is een volledige "te-doen" lijst manager die prive en gedeelde taaklijsten, intergratie met de Kalender functie, Categorieen, prioriteiten, zoekfuncties, printen en import/export functies.
+ </para>
+<!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--></entry>
+ <entry id="sorting" md5="57699a6f7694cea8df57e314ade3c907" state="changed">
+ <title>Sorteren van de Items</title>
+ <heading>Sorteren van de Items</heading>
+ <para>
+ Bij het bekijken van een lijst met items, kunt u de lijst sorteren op elke kolom door op de desbetreffende kolom in de kolom balk te klikken. Om de kolommen op- of aflopend te sorteren, klik op de pijl in de kolom balk.
+ </para>
+<!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--><!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--></entry>
+</help>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-2"?>
+<!-- $Horde: nag/locale/sk_SK/help.xml,v 1.3 2004/12/03 02:10:36 jan Exp $ -->
+<help>
+ <entry id="Overview" state="unknown">
+ <title>Prehµad</title>
+ <heading>Úvod</heading>
+ <para>
+ Aplikácia Úlohy je správca "to-do" zoznamov s mnohými funkciami. Podporuje súkromné a zdieµané zoznamy úloh, integráciu s Kalendárom, kategórie, priority, termíny úloh, vyhµadávanie, tlaè a funkcie pre import/export.
+ </para>
+<!-- English entry:
+<entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>--></entry>
+ <entry id="sorting" state="unknown">
+ <title>Triedenie polo¾iek</title>
+ <heading>Triedenie polo¾iek</heading>
+ <para>
+ Poèas zobrazovania zoznamu si mô¾ete necha» polo¾ky zoradi» podµa µubovoµného ståpca jednoduchým kliknutím na jeho názov. Ak chcete zmeni» smer triedenia (vzostupne resp. zostupne), kliknite na ikonu ¹ípky v mene ståpca.
+ </para>
+<!-- English entry:
+<entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>--></entry>
+</help>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-9"?>
+<!-- $Horde: nag/locale/tr_TR/help.xml,v 1.1 2005/04/13 21:20:23 jan Exp $ -->
+<help>
+
+<!-- English entry:
+ <entry id="Overview">
+ <title>Overview</title>
+ <heading>Introduction</heading>
+ <para>
+ This is a fairly full-featured "to-do" list manager that supports
+ private and shared tasks lists, integration with the Calendar function,
+ categories, priorities, due-dates, searches, printing and import/export
+ functions.
+ </para>
+ </entry>
+-->
+
+<entry id="Overview" md5="67c67240d4ec4a037b8ae76f371c5ad3" state="uptodate">
+<title>Genel Bakýþ</title>
+<heading>Baþlangýç</heading>
+<para>
+Özel ve paylaþýmlý görev listeleri, Takvim fonksiyonuyla bütünlük,kategoriler,öncelikler,randevular,aramalar,yazdýrma,al/ver fonksiyonlarýný saðlayan tam donanýmlý bir "yapýlacaklar" listesi yöneticisidir.
+</para>
+</entry>
+
+<!-- English entry:
+ <entry id="sorting">
+ <title>Sorting Entries</title>
+ <heading>Sorting Entries</heading>
+ <para>
+ When viewing a list of entries, you can sort the entries by any column
+ by clicking on the appropriate column heading. To switch columns
+ between ascending and descending order, click on the arrow icon in the
+ column heading.
+ </para>
+ </entry>
+-->
+
+<entry id="sorting" md5="275a51456e8b440a5bf7afe2af24c777" state="uptodate">
+<title>Giriþlerin Sýnýflandýrýlmasý</title>
+<heading>Giriþlerin Sýnýflandýrýlmasý</heading>
+<para>
+Giriþlerin listesini görüntülerken, giriþleri herhangi bir sütuna göre o sütunun baþlýðýna týklayarak sýnýflandýrabilirsiniz. Sütunu yükselen ve alçalan sýnýflandýrma arasýnda deðiþtirmek için, sütun baþlýðýndaki ok simgesini týklayýn.
+</para>
+</entry>
+
+</help>
--- /dev/null
+see horde/po/README
\ No newline at end of file
--- /dev/null
+# Nag 1.0 Arabic translation.
+# This file is distributed under the same license as the Nag package.
+# Copyright 2003 Platinum Inc. <pl@tinum.info>
+# Custom Web Applications <http://platinum-sy.com>
+# Platinum Development Team <devteam@platinum-sy.net>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 1.0\n"
+"POT-Creation-Date: 2003-04-30 12:00+0200\n"
+"PO-Revision-Date: 2003-04-30 12:00+0200\n"
+"Last-Translator: Platinum Development Team <devteam@platinum-sy.com>\n"
+"Language-Team: Arabic <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CP1256\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d ãåÇã"
+
+msgid "1 task"
+msgstr "1 ãåãÉ"
+
+msgid "Adding A New Task"
+msgstr "ÅÖÇÝÉ ãåãÉ ÌÏíÏÉ"
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "åá ÃäÊ ãÊÃßÏ ãä ÍÐÝ åÐå ÇáãåãÇÊ (ÛíÑ ÞÇÈá ááÊÑÇÌÚ)¿"
+
+msgid "Ascending"
+msgstr "ÊäÇÒáí"
+
+msgid "Back to Task List"
+msgstr "ÚæÏÉ Åáì ÞÇÆãÉ ÇáãåãÇÊ"
+
+msgid "Category"
+msgstr "ÇáÊÕäíÝ"
+
+msgid "Change your task sorting and display options."
+msgstr "ÊÛííÑ ØÑíÞÉ ÝÑÒ ÇáãåãÇÊ æÎíÇÑÇÊ ÇáÚÑÖ"
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "ÊÛííÑ ÇáãåãÇÊ %d Åáì ÇáÃæáæíÉ %d."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "ÊÛííÑ ãåãÉ 1 Åáì ÇáÃæáæíÉ %d."
+
+msgid "Choose Action:"
+msgstr "ÇÎÊÑ ÚãáíÉ :"
+
+msgid "Clear Form"
+msgstr "ãÓÍ ÇáÅÓÊãÇÑÉ"
+
+msgid "Complete Task"
+msgstr "ÅäåÇÁ ÇáãåãÉ"
+
+msgid "Complete Tasks"
+msgstr "ÅäåÇÁ ÇáãåãÇÊ"
+
+msgid "Completed?"
+msgstr "åá Êã ÇáÃãÑ¿"
+
+msgid "Completion Status"
+msgstr "æÖÚ ÇáÅäÌÇÒ"
+
+msgid "Default sorting criteria:"
+msgstr "äæãÐÌ ÇáÝÑÒ ÇáÅÝÊÑÇÖí:"
+
+msgid "Default sorting direction:"
+msgstr "ÇÊÌÇå ÇáÝÑÒ ÇáÇÝÊÑÇÖí:"
+
+msgid "Delete Task"
+msgstr "ãåãÉ ãÍÐæÝÉ"
+
+msgid "Delete Tasks"
+msgstr "ãåãÇÊ ãÍÐæÝÉ"
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "ÇáãåãÇÊ %d ãÍÐæÝÉ."
+
+msgid "Deleted 1 task."
+msgstr "ÇáãåãÉ d% ãÍÐæÝÉ."
+
+msgid "Descending"
+msgstr "ÊäÇÒáí"
+
+msgid "Description"
+msgstr "ÇáÔÑÍ"
+
+msgid "Display Options"
+msgstr "Options d'affichage"
+
+msgid "Due By"
+msgstr "ÊÓÊÍÞ"
+
+msgid "Due Date"
+msgstr "ÊÇÑíÎ ÇáÅÓÊÍÞÇÞ"
+
+msgid "Help"
+msgstr "ãÓÇÚÏÉ"
+
+msgid "Language"
+msgstr "ÇááÛÉ"
+
+msgid "List Tasks"
+msgstr "ÞÇÆãÉ ÇáãåãÇÊ"
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "ÇáãåãÇÊ %d ãÍÏÏÉ ßãåãÇÊ ãäÌÒÉ"
+
+msgid "Marked 1 task as completed."
+msgstr "ÇáãåãÉ ãÍÏÏÉ ßãåãÉ ãäÌÒÉ"
+
+msgid "Modify Task"
+msgstr "ÊÚÏíá ÇáãåãÉ"
+
+msgid "Modifying:"
+msgstr "ÇáÊÚÏíá :"
+
+msgid "Nag is not properly configured"
+msgstr "áã íÊã ÅÚÏÇÏ NagÈÔßá ÕÍíÍ "
+
+msgid "Name"
+msgstr "ÇáÇÓã"
+
+msgid "New Task"
+msgstr "ãåãÉ ÌÏíÏÉ"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "Aucune information de configuration pour la base de données."
+
+msgid "No due date."
+msgstr "áÇíæÌÏ ÊÍÏíÏ áÊÇÑíÎ ÇáÇÓÊÍÞÇÞ"
+
+msgid "No tasks were changed."
+msgstr "áã íÊã ÊÛííÑ Ãí ãä ÇáãåãÇÊ"
+
+msgid "No tasks were deleted."
+msgstr "áã íÊã ÍÐÝ Ãí ãä ÇáãåãÇÊ"
+
+msgid "No"
+msgstr "áÇ"
+
+msgid "None specified"
+msgstr "ÛíÑ ãÍÏÏ (É)"
+
+msgid "Options"
+msgstr "ÇáÎíÇÑÇÊ"
+
+msgid "Other Options"
+msgstr "ÎíÇÑÇÊ ÃÎÑì"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "ÇáÑÌÇÁ ÊÍÏíÏ ÃæáæíÉ ÇáãåãÉ (1-5)"
+
+msgid "Pri"
+msgstr "Pri"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr "ÊÍÏÏ ÇáÃæáæíÇÊ Èíä 1 ÍÊì 5. ÇáÑÌÇÁ ÊÍÏíÏ ÃæáæíÉ ÕÍíÍÉ."
+
+msgid "Priority"
+msgstr "ÇáÃæáæíÉ"
+
+msgid "Problem?"
+msgstr "åá åäÇß ãÔßáÉ¿"
+
+msgid "Refresh List"
+msgstr "ÊÍÏíË ÇáÞÇÆãÉ"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "áã íÊã ÊÍÏíÏ ÞÇÚÏÉ ÇáÈíÇäÇÊ Ýí ÅÚÏÇÏÇÊ ÇáãåãÇÊ"
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "áã íÊã ÊÍÏíÏ 'hostspec' Ýí ÅÚÏÇÏÇÊ ÇáãåãÇÊ"
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "áã íÊã ÊÍÏíÏ ßáãÉ ÇáãÑæÑ Ýí ÅÚÏÇÏÇÊ ÇáãåãÇÊ"
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "áã íÊã ÊÍÏíÏ 'phptype' Ýí ÅÚÏÇÏÇÊ ÇáãåãÇÊ"
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "áã íÊã ÊÍÏíÏ 'table' Ýí ÅÚÏÇÏÇÊ ÇáãåãÇÊ"
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "áã íÊã ÊÍÏíÏ ÇÓã ÇáãÓÊÎÏã Ýí ÅÚÏÇÏÇÊ ÇáãåãÇÊ"
+
+msgid "Save Task"
+msgstr "ÍÝÙ ÇáãåãÉ"
+
+msgid "Search Results"
+msgstr "äÊÇÆÌ ÇáÈÍË"
+
+msgid "Search Scope"
+msgstr "ãÌÇá ÇáÈÍË"
+
+msgid "Search Text"
+msgstr "ÈÍË Ýí ÇáäÕ"
+
+msgid "Search"
+msgstr "ÈÍË"
+
+msgid "Select your preferred language:"
+msgstr "ÇÎÊÑ ÇááÛÉ ÇáãÝÖáÉ"
+
+msgid "Selected?"
+msgstr "ãÍÏÏ¿"
+
+msgid "Set Task Priority"
+msgstr "ÇÎÊÑ ÃæáæíÉ ÇáãåãÉ"
+
+msgid "Set the your preferred display language."
+msgstr "ÇÎÊÑ áÛÉ ÇáÅÙåÇÑ ÇáãÝÖáÉ áÏíß"
+
+msgid "Show completed tasks in the task list?"
+msgstr "ÅÙåÇÑ ÇáãåãÇÊ ÇáãäÌÒÉ Ýí ÞÇÆãÉ ÇáãåãÇÊ¿"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "ÈÚÖ ãáÝÇÊ ÅÚÏÇÏÇÊ Nag ãÝÞæÏÉ"
+
+msgid "Sort Direction"
+msgstr "ÇÊÌÇå ÇáÝÑÒ"
+
+msgid "Sort by Category"
+msgstr "ÝÑÒ ÍÓÈ ÇáÊÕäíÝ"
+
+msgid "Sort by Completion Status"
+msgstr "ÝÑÒ ÍÓÈ ÓäÈÉ ÇáÅäÌÇÒ"
+
+msgid "Sort by Due Date"
+msgstr "ÝÑÒ ÍÓÈ ÊÇÑíÎ ÇáÇÓÊÍÞÇÞ"
+
+msgid "Sort by Name"
+msgstr "ÝÑÒ ÍÓÈ ÇáÇÓã"
+
+msgid "Sort by Priority"
+msgstr "ÝÑÒ ÍÓÈ ÇáÃæáæíÉ"
+
+msgid "Task Details"
+msgstr "ÊÝÕíáÇÊ ÇáãåãÉ"
+
+msgid "Task List"
+msgstr "ÞÇÆãÉ ÇáãåãÇÊ"
+
+msgid "Task Name"
+msgstr "ÇÓã ÇáãåãÉ"
+
+msgid "Task Note"
+msgstr "ãáÇÍÙÇÊ Íæá ÇáãåãÉ"
+
+msgid "Task Note?"
+msgstr "ãáÇÍÙÇÊ Íæá ÇáãåãÉ¿"
+
+msgid "The requested task does not exist."
+msgstr "ÇáãåãÉ ÇáãØáæÈÉ ÛíÑ ãæÌæÏÉ."
+
+msgid "There was a problem deleting tasks."
+msgstr "ÍÕá ÎØÃ ÎáÇá ÍÐÝ ÇáãåãÇÊ."
+
+msgid "There was a problem setting task completion status."
+msgstr "ÍÕá ÎØÃ ÎáÇá ÅÚÏÇÏ äÓÈÉ ÅäÌÇÒ ÇáãåãÉ."
+
+msgid "There was a problem setting task priority."
+msgstr "ÍÕá ÎØÃ ÎáÇá ÅÚÏÇÏ ÃæáæíÉ ÇáãåãÉ."
+
+msgid "This file contains preferences for Nag."
+msgstr "íÍÊæí åÐÇ ÇáãáÝ Úáì ÅÚÏÇÏÇÊ Nag."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"íÞæã åÐÇ ÇáãáÝ ÈÇáÊÍßã ÈÞæÇÆã ÇáÃáæÇä æÇáÎØæØ "
+"ÅÖÇÝÉ Åáì ÅÚÏÇÏÇÊ Horde Ãæ ÈáÇ ãäåÇ"
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr ""
+"åÐÇ ÇáãáÝ åæ ãáÝ ÅÚÏÇÏÇÊ Nag ÇáÑÆíÓí. íÍÊæí ÌãíÚ ÇáÎíÇÑÇÊ áÌãíÚ "
+"ÈÑíãÌÇÊ Nag."
+
+msgid "Undo Changes"
+msgstr "ÊÑÇÌÚ Úä ÇáÊÛííÑÇÊ"
+
+msgid "Unfiled"
+msgstr "ÛíÑ ãÊãã"
+
+msgid "Unknown task"
+msgstr "ãåãÉ ÛíÑ ãÍÏÏÉ"
+
+msgid "Unknown"
+msgstr "ÛíÑ ãÚÑæÝ"
+
+msgid "User Options"
+msgstr "ÎíÇÑÇÊ ÇáãÓÊÎÏã"
+
+msgid "View Task Details"
+msgstr "ÇÓÊÚÑÇÖ ÊÝÕíáÇÊ ÇáãåãÉ"
+
+msgid "Yes"
+msgstr "äÚã"
+
+msgid "You must select at least one task first."
+msgstr "íÌÈ ÊÍÏíÏ ãåãÉ æÇÍÏÉ Úáì ÇáÃÞá ÃæáÇð"
+
+msgid "Your Information"
+msgstr "ÇáãÚáæãÇÊ ÇáÔÎÕíÉ"
+
+msgid "Your task list is empty."
+msgstr "ÞÇÆãÉ ÇáãåãÇÊ ÝÇÑÛÉ"
+
+msgid "at"
+msgstr "Ýí"
--- /dev/null
+# Bulgarian translations for Nag package.
+# Copyright 2002-2009 The Horde Project
+# This file is distributed under the same license as the Whups package.
+# Miroslav Pendev <miro@cybershade.us>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"POT-Creation-Date: 2002-09-14 00:38-0400\n"
+"PO-Revision-Date: 2002-11-19 20:44-05000\n"
+"Last-Translator: Miroslav Pendev <miro@cybershade.us>\n"
+"Language-Team: BG i18n@lists.horde.org\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CP1251\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d Çàäà÷è"
+
+#, c-format
+msgid "%s file successfully imported"
+msgstr "%s ôàéë áåøå èìïîðòèðàí óñïåøíî"
+
+msgid "1 task"
+msgstr "1 çàäà÷à"
+
+#, c-format
+msgid "Access denied deleteing task: %s"
+msgstr "Îòêàçàí äîñòúï çà èçòðèâàíå íà çàäà÷à: %s"
+
+#, c-format
+msgid "Access denied modifying task: %s"
+msgstr "Îòêàçàí äîñòúï çà ìîäèôèöèðàíå íà çàäà÷à: %s"
+
+#, c-format
+msgid "Access denied removing task from %s."
+msgstr "Îòêàçàí äîñòúï çà ïðåìàõâàíå íà çàäà÷à îò %s."
+
+msgid "Adding A New Task"
+msgstr "Äîáàâÿíå íà íîâà çàäà÷à"
+
+msgid "All tasks"
+msgstr "Âñè÷êè çàäà÷è"
+
+msgid "Allows categories to be added/removed/renamed."
+msgstr "Ïîçâîëÿâà äà ñå äîáàâÿò/ïðåìàõâàò/ïðåèìåíóâàò/ êàòåãîðèè."
+
+#, c-format
+msgid "Any tasks in a category that is deleted will become %s."
+msgstr "Âñè÷êè çàäà÷è â èçáðàíàòà êàòåãîðèÿ ùå ñòàíàò %s."
+
+msgid "Ascending"
+msgstr "Íàðàñòâàùè"
+
+msgid "Back to Task List"
+msgstr "Îáðàòíî êúì çàäà÷è"
+
+msgid "Category"
+msgstr "Êàòåãîðèÿ"
+
+msgid "Category Management"
+msgstr "Êàòåãîðèè Óïðàâëåíèå"
+
+msgid "Change your task sorting and display options."
+msgstr "Óñòàíîâåòå ïðåäïî÷èòàíèòå ñîðòèðàíå è îïðåñíÿâàíå íà ñòðàíèöàòà."
+
+msgid "Choose Action:"
+msgstr "Èçáåðè äåéñòâèå:"
+
+msgid "Complete Task"
+msgstr "Èçâúðøè çàäà÷àòà"
+
+msgid "Complete Tasks"
+msgstr "Èçâúðøè çàäà÷èòå"
+
+msgid "Complete tasks"
+msgstr "Èçâúðøè çàäà÷èòå"
+
+msgid "Completed?"
+msgstr "Èçâúðøåíî ëè å?"
+
+msgid "Completion Status"
+msgstr "Ñòàòóñ"
+
+msgid "Create New Category"
+msgstr "Ñúçäàé íîâà êàòåãîðèÿ"
+
+msgid "Default sorting criteria:"
+msgstr "Êðèòåðèè çà ñîðòèðàíå ïî ïîäðàçáèðàíå:"
+
+msgid "Default sorting direction:"
+msgstr "Ïîñîêà íà ñîðòèðàíå ïî ïîäðàçáèðàíå:"
+
+msgid "Delete"
+msgstr "Èçòðèé"
+
+msgid "Delete Task"
+msgstr "Èçòðèé çàäà÷à"
+
+msgid "Delete Tasks"
+msgstr "Èçòðèé çàäà÷è"
+
+msgid "Deleted 1 task."
+msgstr "Èçòðèòà 1 çàäà÷à"
+
+msgid "Descending"
+msgstr "Íàìàëÿâàùè"
+
+msgid "Description"
+msgstr "Îïèñàíèå"
+
+msgid "Description:"
+msgstr "Îïèñàíèå:"
+
+msgid "Display Options"
+msgstr "Äèñïëåé Îïöèè"
+
+msgid "Due By"
+msgstr "Çàäúëæåíèå"
+
+msgid "Due Date"
+msgstr "Çàäúëæåíèå äàòà"
+
+msgid "Edit your task lists."
+msgstr "Ðåäàêòèðàé ñïèñúêà ñúñ çàäà÷è."
+
+msgid "Export Tasks"
+msgstr "Åêñïîðò íà çàäà÷è"
+
+msgid "Flags"
+msgstr "Ôëàãîâå"
+
+msgid "Group tasks by owner?"
+msgstr "Äà ñå ãðóïèðàò ëè çàäà÷èòå ïî ïðèòåæàòåë?"
+
+msgid "Help"
+msgstr "Ïîìîù"
+
+msgid "If importing CSV data: does the first row contain the field names?"
+msgstr "Ïðè èìïîðò íà CSV äàííè: ïúðâèÿ ëè ðåä ñúäúðæà èìåíàòà íà ïîëåòàòà?"
+
+msgid "Illegal or malformed form data."
+msgstr "Íåäîïóñòèìè èëè ïîâðåäåíè äàííè."
+
+msgid "Import Tasks"
+msgstr "Èìïîðò íà çàäà÷è"
+
+msgid "Import/Export"
+msgstr "Èìïîðò/Åêñïîðò"
+
+msgid "Import/Export Tasks"
+msgstr "Èìïîðò/Åêñïîðò íà çàäà÷è"
+
+msgid "Incomplete tasks"
+msgstr "Íåäîâúðøåíè çàäà÷è"
+
+msgid "Language"
+msgstr "Åçèê"
+
+msgid "List Tasks"
+msgstr "Ñïèñúê ñúñ Çàäà÷è"
+
+msgid "Manage multiple task lists."
+msgstr "Óïðàâëÿâàíå íà ìíîæåñòâî ñïèñúöè ñúñ çàäà÷è."
+
+msgid "Marked task as completed."
+msgstr "Ìàðêèðàíà êàòî èçâúðøåíà çàäà÷à."
+
+msgid "Modify Task"
+msgstr "Ïðîìåíè çàäà÷à"
+
+msgid "Modifying:"
+msgstr "Ïðîìåíè:"
+
+msgid "My Task List"
+msgstr "Ìîèòå çàäà÷è"
+
+msgid "Nag is not properly configured"
+msgstr "Nag íå å êîíôèãóðèðàí êîðåêòíî"
+
+msgid "Name"
+msgstr "Èìå"
+
+msgid "New Category"
+msgstr "Íîâà êàòåãîðèÿ"
+
+msgid "New Task"
+msgstr "Íîâà çàäà÷à"
+
+msgid "No"
+msgstr "Íå"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "Íÿìà çàäàäåíà êîíôèãóðàöèÿ çà SQL çàäà÷è."
+
+msgid "No due date."
+msgstr "Íÿìà äàòà."
+
+msgid "None specified"
+msgstr "Íÿìà çàäàäåí"
+
+msgid "Options"
+msgstr "Îïöèè"
+
+msgid "Other Options"
+msgstr "Äðóãè Îïöèè"
+
+msgid "Owner"
+msgstr "Ïðèòåæàòåë"
+
+msgid "Pri"
+msgstr "Ïðèîðèòåò"
+
+msgid "Print"
+msgstr "Îòïå÷àòàé"
+
+msgid "Priority"
+msgstr "Ïðèîðèòåò"
+
+msgid "Private"
+msgstr "×àñòåí"
+
+msgid "Refresh List"
+msgstr "Îïðåñíè ñïèñúêà"
+
+msgid "Rename"
+msgstr "Ïðåèìåíóâàé"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "Íåîáõîäèìàòà 'database' íå å çàäàäåíà â êîíôèãóðàöèÿòà çà çàäà÷è."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "Íåîáõîäèìèÿ 'hostspec' íå å óêàçàí â êîíôèãóðàöèÿòà çà çàäà÷è."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "Íåîáõîäèìàòà 'password' íå ñúùåñòâóâà â êîíôèãóðàöèÿòà çà çàäà÷è."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "Íåîáõîäèìèÿ 'phptype' íå å çàäàäåí â êîíôèãóðàöèÿòà çà çàäà÷è."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "Íåîáõîäèìèÿ 'table' íå å çàäàäåí â êîíôèãóðàöèÿòà çà çàäà÷è."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "Íåîáõîäèìîòî 'username' íå å çàäàäåíî â êîíôèãóðàöèÿòà çà çàäà÷è."
+
+msgid "Search"
+msgstr "Òúðñè"
+
+msgid "Search Results"
+msgstr "Ðåçóëòàòè îò òúðñåíåòî"
+
+msgid "Search Scope"
+msgstr "Îáõâàò íà òúðñåíå"
+
+msgid "Search Text"
+msgstr "Òåêñò çà òúðñåíå"
+
+msgid "Select Category"
+msgstr "Èçáåðè Êàòåãîðèÿ"
+
+msgid "Select a task list"
+msgstr "Èçáåðè ñïèñúê ñúñ çàäà÷è"
+
+msgid "Select the file to import:"
+msgstr "Èçáåðåòå ôàéë çà èìïîðò:"
+
+msgid "Select the format to export to:"
+msgstr "Èçáåðåòå ôîðìàò, êúì êîéòî äà ñå åêñïîðòèðà:"
+
+msgid "Select the source to import from:"
+msgstr "Èçáåðåòå èçòî÷íèêà çà èìïîðò:"
+
+msgid "Select your preferred language:"
+msgstr "Èçáåðåòå ïðåäïî÷èòàíèÿò îò Âàñ åçèê:"
+
+msgid "Set Task Priority"
+msgstr "Èçáåðåòå ïðèîðèòåò íà çàäà÷àòà"
+
+msgid "Set the your preferred display language."
+msgstr "Èçáåðåòå ïðåäïî÷èòàíèÿò îò Âàñ åçèê."
+
+msgid "Shared"
+msgstr "Ïîäåëåí"
+
+msgid "Show"
+msgstr "Ïîêàçâàíå"
+
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Äà ñå ïîêàçâàò èçâúðøåíèòå èëè âñè÷êè çàäà÷è â ñïèñúêà?"
+
+msgid "Show due dates in the summary view?"
+msgstr "Äà ñå ïîêàçâàò ëè äàòèòå íà çàäúëæåíèÿòà â îáîáùåíèÿ èçãëåä?"
+
+msgid "Show owner in the summary view?"
+msgstr "Äà ñå ïîêàçâà ëè ïðèòåæàòåëÿò â îáîáùåíèÿ èçãëåä?"
+
+msgid "Show priorities in the summary view?"
+msgstr "Äà ñå ïîêàçâàò ëè ïðèîðèòåòèòå â îáîáùåíèÿò èçãëåä?"
+
+msgid "Show: "
+msgstr "Ïîêàæè:"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "Íÿêîè îò êîíôèãóðàöèîííèòå ôàéëîâå íà Nag ëèïñâàò:"
+
+msgid "Sort Direction"
+msgstr "Ñîðòèðàíå"
+
+msgid "Sort by Category"
+msgstr "Ñîðòèðàé ïî êàòåãîðèÿ"
+
+msgid "Sort by Completion Status"
+msgstr "Ñîðòèðàé ïî ñòàòóñ íà èçïúëíåíèå"
+
+msgid "Sort by Due Date"
+msgstr "Ñîðòèðàé ïî äàòà íà çàäúëæåíèåòî"
+
+msgid "Sort by Name"
+msgstr "Ñîðòèðàé ïî èìå"
+
+msgid "Sort by Priority"
+msgstr "Ñîðòèðàé ïî ïðèîðèòåò"
+
+msgid "Sort by User Name"
+msgstr "Ñîðòèðàé ïî ïîòðåáèòåëñêî èìå"
+
+msgid "Task Details"
+msgstr "Äåòàéëè"
+
+msgid "Task List"
+msgstr "Ñïèñúê ñúñ çàäà÷è"
+
+msgid "Task Lists"
+msgstr "Ñïèñúê ñúñ çàäà÷è"
+
+msgid "Task Lists's Type:"
+msgstr "Òèï íà ñïèñúêà ñúñ çàäà÷è"
+
+msgid "Task Lists's name:"
+msgstr "Èìå íà ñïèñúêà ñúñ çàäà÷è"
+
+msgid "Task Name"
+msgstr "Èìå íà çàäà÷àòà"
+
+msgid "Task Note"
+msgstr "Áåëåæêà"
+
+msgid "Task Note?"
+msgstr "Áåëåæêà çà çàäà÷àòà?"
+
+msgid "The data was lost."
+msgstr "Äàííèòå áÿõà èçãóáåíè."
+
+msgid "The file contained no data."
+msgstr "Ôàéëúò íå ñúäúðæà äàííè."
+
+msgid "The requested task does not exist."
+msgstr "Çàäà÷àòà, êîÿòî èçèñêâàòå íå ñúùåñòâóâà."
+
+#, c-format
+msgid "The task list \"%s\" has been created."
+msgstr "Ñïèñúêà ñúñ çàäà÷è \"%s\" áåøå ñúçäàäåí."
+
+#, c-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Ñïèñúêà ñúñ çàäà÷è \"%s\" áåøå èçòðèò."
+
+#, c-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Ñïèñúêà ñúñ çàäà÷è \"%s\" áåøå çàïèñàí."
+
+msgid "The task list name is empty."
+msgstr "Èìåòî íà ñïèñúêà ñúñ çàäà÷è å ïðàçíî"
+
+msgid "The task was saved."
+msgstr "Çàäà÷àòà áåøå çàïèñàíà."
+
+msgid "There was a problem deleting tasks."
+msgstr "Ãðåøêà ïðè èçòðèâàíåòî íà çàäà÷è."
+
+#, c-format
+msgid "There was a problem removing the task from %s."
+msgstr "Ãðåøêà ïðè ïðåìàõâàíåòî íà çàäà÷àòà îò %s."
+
+msgid "There was a problem saving the task."
+msgstr "Ãðåøêà ïðè çàïèñ íà çàäà÷àòà."
+
+msgid "There was a problem setting task completion status."
+msgstr "Ãðåøêà ïðè ðåãèñòðèðàíå íà ñòàòóñà íà çàäà÷àòà."
+
+msgid ""
+"There was a problem with the file upload. The file may have been larger than "
+"the maximum allowed size."
+msgstr ""
+"Ãðåøêà ïðè èçïðàùàíåòî íà ôàéëà. Âúçìîæíî å ôàéëúò äà å ïî-ãîëÿì îò "
+"ìàêñèìàëíî äîïóñòèìèÿò ðàçìåð."
+
+msgid "There was an error importing the data."
+msgstr "Ãðåøêà ïðè èìïîðò íà äàííèòå."
+
+msgid "There was an error importing the uploaded file"
+msgstr "Ãðåøêà ïðè èìïîðòèðàíå íà èçïðàòåíèÿ ôàéë"
+
+msgid "There were no tasks to export."
+msgstr "Íÿìà çàäà÷è çà åêñïîðò."
+
+msgid "These changes can not be undone!"
+msgstr "Òåçè ïðîìåíè íå ìîãàò äà áúäàò âúðíàòè!"
+
+msgid "This file contains preferences for Nag."
+msgstr "Òîçè ôàéë ñúäúðæà íàñòðîéêè çà Nag."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"Òîçè ôàéë êîíòðîëèðà ñòèëîâåòå, êîéòî ñå èçïîëçâàò çà öâåòîâåòå è øðèôòîâåòå "
+"â äîïúëíåíèå êúì ïîäðàçáèðàùèòå ñòèëîâå íà Horde."
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr ""
+"Òîâà å ãëàâíèÿ êîíôèãóðàöèîíåí ôàéë íà Turba. Òîé ñúäúðæà ïúòèùà è îïöèè çà "
+"ñêðèïòîâåòå íà Nag."
+
+#, c-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Ãðåøêà ïðè èçòðèâàíå \"%s\": %s."
+
+msgid "Unfiled"
+msgstr "Íåïîïúëíåí"
+
+msgid "Unknown"
+msgstr "Íåèçâåñòåí"
+
+msgid "Unknown task"
+msgstr "Íåèçâåñòíà çàäà÷à"
+
+msgid "User Options"
+msgstr "Ïîòðåáèòåëñêè îïöèè"
+
+msgid "View Task Details"
+msgstr "Äåòàéëè çà çàäà÷àòà"
+
+msgid "Which Task List should the tasks be added to?"
+msgstr "Êúì êîé ñïèñúê ñúñ çàäà÷è äà áúäàò äîáàâåíè çàäà÷èòå?"
+
+msgid "Yes"
+msgstr "Äà"
+
+msgid "You must select a task list to be deleted."
+msgstr "Òðÿáâà äà èçáåðåòå êîé ñïèñúê ñúñ çàäà÷è äà áúäå èçòðèò."
+
+msgid "Your Information"
+msgstr "Èíôîðìàöèÿ çà Âàñ"
+
+msgid "Your default task list:"
+msgstr "Âàøèÿò ñïèñúê ñúñ çàäà÷è ïî ïîäðàçáèðàíå:"
+
+msgid "Your task list is empty."
+msgstr "Âàøèÿò ñïèñúê ñúñ çàäà÷è å ïðàçåí"
+
+msgid "Your task lists:"
+msgstr "Âàøèÿò ñïèñúê ñúñ çàäà÷è:"
+
+msgid "at"
+msgstr "íà"
--- /dev/null
+# Spanish translations for horde package
+# Traducciones al español para el paquete horde.
+# Copyright 2004-2009 The Horde Project
+# This file is distributed under the same license as the horde package.
+# Automatically generated, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2006-05-18 08:28+0200\n"
+"PO-Revision-Date: 2007-02-01 16:51+0100\n"
+"Last-Translator: Jordi Giralt <projectek2@upcnet.es>\n"
+"Language-Team: i18n@lists.horde.org\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/Nag.php:47
+#, php-format
+msgid "%d hour"
+msgstr "%d hora"
+
+#: lib/Nag.php:49
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d hora, %d minut"
+
+#: lib/Nag.php:51
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d hora, %d minuts"
+
+#: lib/Nag.php:39
+#, php-format
+msgid "%d hours"
+msgstr "%d hores"
+
+#: lib/Nag.php:41
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d hores, %d minuts"
+
+#: lib/Nag.php:43
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d hores, %d minuts"
+
+#: lib/Nag.php:57
+#, php-format
+msgid "%d minute"
+msgstr "%d minut"
+
+#: lib/Nag.php:59
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuts"
+
+#: templates/list/header.inc:9
+#, php-format
+msgid "%d tasks"
+msgstr "%d tasques"
+
+#: lib/Nag.php:334
+#, php-format
+msgid "%s at %s"
+msgstr "%s a les %s"
+
+#: lib/Nag.php:454 lib/Block/summary.php:93
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s finalitzarà el %s"
+
+#: lib/Nag.php:452 lib/Block/summary.php:91
+#, php-format
+msgid "%s is due now."
+msgstr "%s acaba de finalitzar."
+
+#: data.php:151
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s importat correctament"
+
+#: tasklists.php:100 lib/base.php:100
+#, php-format
+msgid "%s's Task List"
+msgstr "Llista de tasques de %s"
+
+#: lib/Nag.php:291
+msgid "(highest)"
+msgstr "(elevada)"
+
+#: lib/Nag.php:291
+msgid "(lowest)"
+msgstr "(reduida)"
+
+#: templates/list/header.inc:9
+msgid "1 task"
+msgstr "1 tasca"
+
+#: task.php:266
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "S'ha denegat l'accés per finalitzar la tasca %s."
+
+#: task.php:240
+#, php-format
+msgid "Access denied deleting %s."
+msgstr "S'ha denegat l'accés per a eliminar %s."
+
+#: task.php:206
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "S'ha denegat l'accés per a desplaçar la tasca a %s."
+
+#: task.php:209
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "S'ha denegat l'accés per a eliminar la tasca de %s."
+
+#: task.php:133
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "S'ha denegat l'accés per a guardar la tasca a %s."
+
+#: task.php:131
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "S'ha denegat l'accés per a guardar la tasca: %s."
+
+#: task.php:58
+msgid "Adding A New Task"
+msgstr "Afegint una nova tasca"
+
+#: templates/task/task.inc:68
+msgid "Ala_rm"
+msgstr "Ala_rma"
+
+#: templates/view/task.inc:35
+msgid "Alarm"
+msgstr "Alarma"
+
+#: config/prefs.php.dist:107
+msgid "All tasks"
+msgstr "Totes les tasques"
+
+#: lib/Block/summary.php:56
+msgid "Always show completed tasks?"
+msgstr "Mostrar sempre les tasques finalitzades?"
+
+#: lib/Block/summary.php:53
+msgid "Always show overdue tasks?"
+msgstr "Mostrar sempre les tasques finalitzades?"
+
+#: config/prefs.php.dist:84
+msgid "Ascending"
+msgstr "Ascendent"
+
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Torna a les opcioons de llista de tasques"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:57
+msgid "Calendar"
+msgstr "Agenda"
+
+#: templates/list/task_headers.inc:32
+msgid "Cat_egory"
+msgstr "_Categoria"
+
+#: data.php:42 templates/view/task.inc:27 config/prefs.php.dist:56
+#: config/prefs.php.dist:71
+msgid "Category"
+msgstr "Categoria"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Canviar"
+
+#: templates/list/task_headers.inc:4 templates/list/task_headers.inc:9
+#: templates/list/task_headers.inc:14 templates/list/task_headers.inc:21
+#: templates/list/task_headers.inc:27 templates/list/task_headers.inc:31
+msgid "Change sort direction"
+msgstr "Sentit de classificació."
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Canviar les opcions d'ordenació i visualització de tasques."
+
+#: config/prefs.php.dist:22
+msgid "Choose your default task list."
+msgstr "Trii la seva llista de tasques per defecte:"
+
+#: templates/search/search.inc:33
+msgid "Clear Form"
+msgstr "Netejar formulari"
+
+#: templates/task/task.inc:89
+msgid "Co_mpleted?"
+msgstr "F_inalitzat?"
+
+#: templates/view/task.inc:11
+msgid "Complete"
+msgstr "Finalitzar"
+
+#: templates/list/task_summaries.inc:5 lib/Block/summary.php:150
+msgid "Complete Task"
+msgstr "Tasca finalitzada"
+
+#: config/prefs.php.dist:109
+msgid "Complete tasks"
+msgstr "Tasques finalitzades"
+
+#: lib/Nag.php:349 lib/Block/summary.php:148
+msgid "Completed"
+msgstr "Finalitzat"
+
+#: task.php:275
+#, php-format
+msgid "Completed %s."
+msgstr "Ha finalitzat %s."
+
+#: templates/view/task.inc:43 templates/list/task_headers.inc:5
+#: config/prefs.php.dist:58 config/prefs.php.dist:73
+msgid "Completed?"
+msgstr "Finalitzat?"
+
+#: data.php:45
+msgid "Completion Status"
+msgstr "Estat de finalització"
+
+#: lib/api.php:205
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Ha fallat la connexió: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Crear"
+
+#: templates/view/task.inc:49
+msgid "Created"
+msgstr "Creat"
+
+#: templates/task/task.inc:77 lib/Nag.php:381
+msgid "Day(s)"
+msgstr "Dia(es)"
+
+#: config/prefs.php.dist:21
+msgid "Default Task List"
+msgstr "Llista de tasques per defecte"
+
+#: templates/tasklists/tasklists.inc:100 templates/view/task.inc:16
+msgid "Delete"
+msgstr "Eliminar"
+
+#: templates/task/task.inc:111
+msgid "Delete this task"
+msgstr "Eliminar aquesta tasca"
+
+#: task.php:248
+#, php-format
+msgid "Deleted %s."
+msgstr "S'ha eliminat %s."
+
+#: config/prefs.php.dist:85
+msgid "Descending"
+msgstr "Descendent"
+
+#: data.php:41
+msgid "Description"
+msgstr "Descripció"
+
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Descripció:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Opcions de visualizació"
+
+#: data.php:43 templates/view/task.inc:31
+msgid "Due By"
+msgstr "Venç el"
+
+#: config/prefs.php.dist:57 config/prefs.php.dist:72
+msgid "Due Date"
+msgstr "Data de venciment"
+
+#: templates/task/task.inc:43
+msgid "Due _By"
+msgstr "_Vençuda des de "
+
+#: templates/view/task.inc:13
+msgid "Edit"
+msgstr "Editar"
+
+#: templates/list/task_summaries.inc:19 templates/list/task_headers.inc:18
+#: lib/Block/summary.php:146
+msgid "Edit Task"
+msgstr "Editar tasca"
+
+#: templates/list/task_headers.inc:37
+msgid "Edit categories and colors"
+msgstr "Editar les categories i els seus colors"
+
+#: templates/data/export.inc:22
+msgid "Export"
+msgstr "Exportar"
+
+#: templates/data/export.inc:8
+msgid "Export Tasks"
+msgstr "Exportar tasques"
+
+#: config/prefs.php.dist:33
+msgid "External Data"
+msgstr "Dades externes"
+
+#: config/prefs.php.dist:13
+msgid "General Options"
+msgstr "Opcions generals"
+
+#: templates/task/task.inc:76 lib/Nag.php:384
+msgid "Hour(s)"
+msgstr "Hora(es)"
+
+#: templates/data/import.inc:9
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importar tasques. Pas %d"
+
+#: data.php:157
+msgid "Import/Export Tasks"
+msgstr "Importar/Exportar tasques"
+
+#: list.php:77
+msgid "Incom_plete tasks"
+msgstr "Tasques _pendents"
+
+#: config/prefs.php.dist:108
+msgid "Incomplete tasks"
+msgstr "Tasques incompletetes"
+
+#: templates/view/task.inc:56
+msgid "Last Modified"
+msgstr "Darrera modificació"
+
+#: templates/task/task.inc:75 lib/Nag.php:387
+msgid "Minute(s)"
+msgstr "Minut(s)"
+
+#: task.php:115
+msgid "Modifying:"
+msgstr "Modificant:"
+
+#: lib/api.php:548
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"S'han trobat diversos components iCalendar; només se suporta un vTodo cada "
+"vegada. "
+
+#: list.php:40
+msgid "My Tasks"
+msgstr "Les meves tasques"
+
+#: templates/search/search.inc:21 templates/task/task.inc:12
+msgid "N_ame"
+msgstr "_Nom"
+
+#: templates/list/task_headers.inc:22
+msgid "Na_me"
+msgstr "_Nom"
+
+#: data.php:40
+msgid "Name"
+msgstr "Nom"
+
+#: lib/Block/summary.php:18
+msgid "New Task"
+msgstr "Nova tasca"
+
+#: templates/data/import.inc:43
+msgid "Next"
+msgstr "Següent"
+
+#: templates/task/task.inc:46
+msgid "No due date."
+msgstr "Sense data de venciment"
+
+#: lib/api.php:338 lib/api.php:541
+msgid "No iCalendar data was found."
+msgstr "No s'han trobat dades iCalendar."
+
+#: lib/Nag.php:468
+msgid "No task lists are available to guests."
+msgstr "No disposa de llista de tasques per als invitats"
+
+#: lib/Block/summary.php:190
+msgid "No tasks to display"
+msgstr "Sense tasques visibles"
+
+#: templates/task/task.inc:71 lib/Nag.php:391
+msgid "None"
+msgstr "Cap"
+
+#: lib/Nag.php:350
+msgid "Not Completed"
+msgstr "No està finalitzat"
+
+#: config/prefs.php.dist:59 config/prefs.php.dist:74
+msgid "Owner"
+msgstr "Propietari"
+
+#: templates/list/task_headers.inc:15
+msgid "P_ri"
+msgstr "_Prioritat"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Privilegi"
+
+#: lib/api.php:317 lib/api.php:421 lib/api.php:493 lib/api.php:524
+msgid "Permission Denied"
+msgstr "Permís denegat"
+
+#: lib/api.php:86
+msgid "Permission denied"
+msgstr "Permís denegat"
+
+#: data.php:44 templates/view/task.inc:39 config/prefs.php.dist:54
+#: config/prefs.php.dist:69
+msgid "Priority"
+msgstr "Prioritat"
+
+#: templates/list/header.inc:5 templates/list/header.inc:6
+msgid "Refresh List"
+msgstr "Actualitzar llista"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Reinicia"
+
+#: templates/task/task.inc:103
+msgid "Save"
+msgstr "Desa"
+
+#: task.php:223
+#, php-format
+msgid "Saved %s."
+msgstr "S'ha guardat %s."
+
+#: search.php:14 templates/search/search.inc:5 templates/search/search.inc:32
+msgid "Search"
+msgstr "Cerca"
+
+#: list.php:63
+msgid "Search Results"
+msgstr "Resultads de la cerca"
+
+#: templates/search/search.inc:18
+msgid "Search Scope"
+msgstr "Àmbit de la cerca"
+
+#: templates/search/search.inc:10
+msgid "Search _Text"
+msgstr "Cercar _text"
+
+#: templates/task/task.inc:57
+msgid "Select a date"
+msgstr "Seleccioni una data"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Seleccioni una llista de tasques"
+
+#: templates/data/export.inc:15
+msgid "Select the export format:"
+msgstr "Seleccioni el format d'exportació:"
+
+#: templates/data/import.inc:40
+msgid "Select the file to import:"
+msgstr "Seleccioni el format a importar:"
+
+#: templates/data/import.inc:16
+msgid "Select the format of the source file:"
+msgstr "Seleccioni el format de l'arxiu origen:"
+
+#: config/prefs.php.dist:45
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr ""
+"Mostrar la llista de tasques en una columna pròpia en la vista de llistat?"
+
+#: templates/menu.inc:18
+msgid "Show"
+msgstr "Mostra"
+
+#: templates/menu.inc:8
+msgid "Show Tasklists:"
+msgstr "_Les mesves tasques"
+
+#: lib/Block/summary.php:38
+msgid "Show action buttons?"
+msgstr "Mostrar botons d'acció?"
+
+#: config/prefs.php.dist:110
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"En la llista de tasques mostrar les finalitzades, els pendents o totes? "
+
+#: config/prefs.php.dist:97
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+"Mostrar dades de qualsevol d'aquestes altres aplicacions en la llista de "
+"tasques? "
+
+#: config/prefs.php.dist:34
+msgid "Show data from other applications or sources."
+msgstr "Mostrar dades d'altres aplicacions o orígens. "
+
+#: lib/Block/summary.php:41
+msgid "Show due dates?"
+msgstr "Mostar dates vençudes? "
+
+#: lib/Block/summary.php:35
+msgid "Show priorities?"
+msgstr "Mostrar prioritats?"
+
+#: lib/Block/summary.php:47
+msgid "Show task alarms?"
+msgstr "Mostrar les alarmens de les tasques?"
+
+#: lib/Block/summary.php:50
+msgid "Show task category?"
+msgstr "Mostrar la categoria de les tasques?"
+
+#: lib/Block/summary.php:44
+msgid "Show tasklist name?"
+msgstr "Mostrar el nom de la llista de tasques?"
+
+#: lib/Block/summary.php:59
+msgid "Show tasks from these categories"
+msgstr "Mostrar les tasques d'aquestes categories?"
+
+#: templates/list/task_headers.inc:32
+msgid "Sort by Category"
+msgstr "Ordenar per categoria"
+
+#: templates/list/task_headers.inc:5
+msgid "Sort by Completion Status"
+msgstr "Ordenar per estat de finalització"
+
+#: templates/list/task_headers.inc:28
+msgid "Sort by Due Date"
+msgstr "Ordenar per data de venciment"
+
+#: templates/list/task_headers.inc:22
+msgid "Sort by Name"
+msgstr "Ordenar por nom"
+
+#: templates/list/task_headers.inc:15
+msgid "Sort by Priority"
+msgstr "Ordenar por prioritat"
+
+#: templates/list/task_headers.inc:10
+msgid "Sort by User Name"
+msgstr "Ordenar per nom d'usuari"
+
+#: config/prefs.php.dist:86
+msgid "Sort direction:"
+msgstr "Sentit de classificació."
+
+#: config/prefs.php.dist:60
+msgid "Sort tasks by:"
+msgstr "Ordenar tasques per:"
+
+#: templates/list/task_summaries.inc:26
+msgid "Task Alarm"
+msgstr "Alarma de la tasca"
+
+#: templates/list/task_headers.inc:25
+msgid "Task Alarm?"
+msgstr "Alarma de la tasca?"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Llista de tasques"
+
+#: config/prefs.php.dist:20 config/prefs.php.dist:32
+msgid "Task List and Share Options"
+msgstr "Opcions de llistat i compartició de tasques "
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Nom de la llista de tasca: "
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Llista de tasques"
+
+#: config/prefs.php.dist:55 config/prefs.php.dist:70
+msgid "Task Name"
+msgstr "nom de la tasca"
+
+#: templates/list/task_summaries.inc:24
+msgid "Task Note"
+msgstr "Comentari de la tasca"
+
+#: templates/list/task_headers.inc:24
+msgid "Task Note?"
+msgstr "Comentari?"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Les llistes de tasques han de tenir un nom. "
+
+#: task.php:117 view.php:43
+msgid "Task not found."
+msgstr "No s'ha trobat la tasca"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Resum de tasques"
+
+#: task.php:166
+msgid "The alarm field may only contain integers."
+msgstr "El camp alarma només pot contenir sencers "
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "No es pot crear la llista de tasques \"%s\": %s."
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "No es pot guardar la llista de tasques \"%s\": %s."
+
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "S'ha creat la llista de tasques \"%s\". "
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "S'ha eliminat la llista de tasques \"%s\". "
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "S'ha guardat la llista de tasques \"%s\". "
+
+#: config/prefs.php.dist:75
+msgid "Then:"
+msgstr "A més per:"
+
+#: templates/list/empty.inc:3
+msgid "There are no tasks matching the current criteria."
+msgstr "No hi ha tasques coincidents amb els criteris actuals. "
+
+#: task.php:272
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "S'ha produït un error al completar %s: %s"
+
+#: task.php:245
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "S'ha produït un error a l'eliminar %s: %s "
+
+#: task.php:221
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "S'ha produït un error al guardar la tasca: %s"
+
+#: data.php:148
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "S'ha produït un error al importar dades: %s"
+
+#: lib/api.php:332 lib/api.php:535
+msgid "There was an error importing the iCalendar data."
+msgstr "S'ha produït un error al importar les dades iCalendar."
+
+#: data.php:67
+msgid "There were no tasks to export."
+msgstr "No hi ha tasques a exportar."
+
+#: data.php:111
+msgid "This file format is not supported."
+msgstr "Aquest format d'arxiu no està suportat."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "No es pot eliminar \"%s\": %s"
+
+#: templates/task/task.inc:104
+msgid "Undo changes"
+msgstr "Desfer canvis"
+
+#: templates/view/task.inc:28 templates/list/task_summaries.inc:31
+#: lib/Block/summary.php:32 lib/Block/summary.php:183
+msgid "Unfiled"
+msgstr "Sense categoria"
+
+#: lib/api.php:383 lib/api.php:457 lib/api.php:568
+msgid "Unsupported Content-Type."
+msgstr "Tipus de contingut no suportat: %s "
+
+#: templates/list/task_summaries.inc:23
+msgid "View Task Details"
+msgstr "Veure detall de la tasca"
+
+#: templates/task/task.inc:78 lib/Nag.php:378
+msgid "Week(s)"
+msgstr "Semana(es)"
+
+#: templates/data/import.inc:24
+msgid "Which tasklist should the tasks be added to?"
+msgstr "A quina llista de tasques cal afegir les tasques? "
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "No disposa de privilegis per a veure aquesta llista de tasques. "
+
+#: tasklists.php:84 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Ha de seleccionar una llista de tasques a eliminar. "
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "La seva llista de tasques per defecte:"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "La seva llista de tasques:"
+
+#: templates/list/task_summaries.inc:23 lib/Block/summary.php:89
+#: lib/Block/summary.php:173
+msgid "[none]"
+msgstr "[Cap]"
+
+#: list.php:76
+msgid "_All tasks"
+msgstr "_Totes"
+
+#: templates/search/search.inc:23 templates/task/task.inc:39
+msgid "_Category"
+msgstr "_Categoria"
+
+#: templates/view/task.inc:11
+msgid "_Complete"
+msgstr "_Finalitzada"
+
+#: list.php:78
+msgid "_Completed tasks"
+msgstr "Tasquest finalitzade_s"
+
+#: templates/view/task.inc:16
+msgid "_Delete"
+msgstr "_Eliminar"
+
+#: templates/search/search.inc:22 templates/task/task.inc:95
+msgid "_Description"
+msgstr "_Descripció"
+
+#: templates/list/task_headers.inc:28
+msgid "_Due Date"
+msgstr "Data de vencimen_t"
+
+#: templates/view/task.inc:13
+msgid "_Edit"
+msgstr "_Editar"
+
+#: lib/Nag.php:418
+msgid "_Import/Export"
+msgstr "_Importar/Exportar"
+
+#: lib/Nag.php:406
+msgid "_List Tasks"
+msgstr "_Llistar"
+
+#: lib/Nag.php:413
+msgid "_My Tasklists"
+msgstr "_Les mesves tasques"
+
+#: lib/Nag.php:408
+msgid "_New Task"
+msgstr "_Nova tasca"
+
+#: lib/Nag.php:423
+msgid "_Print"
+msgstr "Im_primir"
+
+#: templates/task/task.inc:83
+msgid "_Priority"
+msgstr "Priori_tat"
+
+#: lib/Nag.php:410
+msgid "_Search"
+msgstr "_Cerca"
+
+#: templates/task/task.inc:20 templates/list/task_headers.inc:10
+msgid "_Task List"
+msgstr "L_lista de tasques"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:55
+msgid "no time"
+msgstr "Sense límit"
+
+#: data.php:84 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasuqes.csv"
+
+#: data.php:96
+msgid "tasks.ics"
+msgstr "tasques.ics"
--- /dev/null
+# Nag Czech Translation.
+# Copyright 2004-2009 The Horde Project
+# This file is distributed under the same license as the Horde package.
+# Pavel Chytil <pavel@chytil.tk>, 2001-2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2004-12-22 10:04-0800\n"
+"PO-Revision-Date: 2001-07-26 14:56-0900\n"
+"Last-Translator: Pavel Chytil <pavel@chytil.tk>\n"
+"Language-Team: Czech <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: lib/Nag.php:48
+#, php-format
+msgid "%d hour"
+msgstr "%d hodina"
+
+#: lib/Nag.php:50
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d hodina, %d minuta"
+
+#: lib/Nag.php:52
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d hodina, %d minut"
+
+#: lib/Nag.php:40
+#, php-format
+msgid "%d hours"
+msgstr "%d hodin"
+
+#: lib/Nag.php:42
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d hodin, %d minuta"
+
+#: lib/Nag.php:44
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d hodin, %d minut"
+
+#: lib/Nag.php:58
+#, php-format
+msgid "%d minute"
+msgstr "%d minuta"
+
+#: lib/Nag.php:60
+#, php-format
+msgid "%d minutes"
+msgstr "%d minut"
+
+#: templates/list/header.inc:9
+#, php-format
+msgid "%d tasks"
+msgstr "%d úkoly"
+
+#: lib/Nag.php:341
+#, php-format
+msgid "%s at %s"
+msgstr "%s na %s"
+
+#: lib/Nag.php:462 lib/Block/summary.php:92
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s je po¾adováno v %s"
+
+#: lib/Nag.php:460 lib/Block/summary.php:90
+#, php-format
+msgid "%s is due now."
+msgstr "%s po¾adováno nyní."
+
+#: data.php:140
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s úspì¹nì importováno"
+
+#: tasklists.php:100 lib/base.php:97
+#, php-format
+msgid "%s's Task List"
+msgstr "%s - Seznam Úkolù"
+
+#: lib/Nag.php:289
+msgid "(highest)"
+msgstr "(nejvy¹í)"
+
+#: lib/Nag.php:289
+msgid "(lowest)"
+msgstr "(nejni¾¹í)"
+
+#: templates/list/header.inc:9
+msgid "1 task"
+msgstr "1 úkol"
+
+#: task.php:258
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Zamezen pøístup pro dokonèení úkolu %s."
+
+#: task.php:232
+#, php-format
+msgid "Access denied deleting %s."
+msgstr "Zamezen pøístup pro smazání úkolu %s."
+
+#: task.php:198
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Zamezen pøístup pro posun úkolu %s."
+
+#: task.php:201
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Zamezen pøístup pro odstranìní úkolu %s."
+
+#: task.php:133
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Zamezen pøístup pro ulo¾ení úkolu %s."
+
+#: task.php:131
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Zamezen pøístup pro ulo¾ení úkolu: %s."
+
+#: task.php:58
+msgid "Adding A New Task"
+msgstr "Pøidát Nový Úkol"
+
+#: templates/task/task.inc:68
+msgid "Ala_rm"
+msgstr "Ala_rm"
+
+#: templates/view/task.inc:37
+msgid "Alarm"
+msgstr "Alarm"
+
+#: config/prefs.php.dist:98
+msgid "All tasks"
+msgstr "V¹echny úkoly"
+
+#: lib/Block/summary.php:55
+msgid "Always show completed tasks?"
+msgstr "V¾dy zobrazit dokonèené úkoly?"
+
+#: lib/Block/summary.php:52
+msgid "Always show overdue tasks?"
+msgstr "V¾dy zobrazit zpo¾dìné úkoly?"
+
+#: config/prefs.php.dist:75
+msgid "Ascending"
+msgstr "Vzestupnì"
+
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Zpìt do Mo¾ností pro Seznam Úkolù"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:57
+msgid "Calendar"
+msgstr "Kalendáø"
+
+#: templates/list/task_headers.inc:30
+msgid "Cat_egory"
+msgstr "Kat_egorie"
+
+#: data.php:42 templates/view/task.inc:29 config/prefs.php.dist:47
+#: config/prefs.php.dist:62
+msgid "Category"
+msgstr "Kategorie"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Zmìnit"
+
+#: templates/list/task_headers.inc:4 templates/list/task_headers.inc:8
+#: templates/list/task_headers.inc:12 templates/list/task_headers.inc:19
+#: templates/list/task_headers.inc:25 templates/list/task_headers.inc:29
+msgid "Change sort direction"
+msgstr "Zmìnit Typ Tøídìní"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Zmìò mo¾nosti tøídení a zobrazení."
+
+#: config/prefs.php.dist:22
+msgid "Choose your default task list."
+msgstr "Zvolit implicitní seznam úkolù."
+
+#: templates/search/search.inc:33
+msgid "Clear Form"
+msgstr "Vyèisti Formuláø"
+
+#: templates/task/task.inc:89
+msgid "Co_mpleted?"
+msgstr "Do_konèeno?"
+
+#: templates/view/task.inc:13
+msgid "Complete"
+msgstr "Dokonèit"
+
+#: templates/list/task_summaries.inc:4 lib/Block/summary.php:146
+msgid "Complete Task"
+msgstr "Dokonèit Úkol"
+
+#: config/prefs.php.dist:100
+msgid "Complete tasks"
+msgstr "Dokonèit úkoly"
+
+#: lib/Nag.php:356 lib/Block/summary.php:144
+msgid "Completed"
+msgstr "Dokonèeno"
+
+#: task.php:267
+#, php-format
+msgid "Completed %s."
+msgstr "%s dokonèeno."
+
+#: templates/view/task.inc:45 templates/list/task_headers.inc:5
+#: config/prefs.php.dist:49 config/prefs.php.dist:64
+msgid "Completed?"
+msgstr "Dokonèeno?"
+
+#: data.php:45
+msgid "Completion Status"
+msgstr "Stav Dokonèení"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Vytvoøit"
+
+#: templates/view/task.inc:51
+msgid "Created"
+msgstr "Vytvoøeno"
+
+#: templates/task/task.inc:77 lib/Nag.php:387
+msgid "Day(s)"
+msgstr "Den(Dny)"
+
+#: config/prefs.php.dist:21
+msgid "Default Task List"
+msgstr "Implicitní Seznam Úkolù"
+
+#: templates/view/task.inc:18 templates/tasklists/tasklists.inc:100
+msgid "Delete"
+msgstr "Smazat"
+
+#: task.php:240
+#, php-format
+msgid "Deleted %s."
+msgstr "Smazat %s."
+
+#: config/prefs.php.dist:76
+msgid "Descending"
+msgstr "Sestupnì"
+
+#: data.php:41
+msgid "Description"
+msgstr "Popis"
+
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Popis:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Mo¾nosti Zobrazení"
+
+#: data.php:43 templates/view/task.inc:33
+msgid "Due By"
+msgstr "Po¾adováno"
+
+#: config/prefs.php.dist:48 config/prefs.php.dist:63
+msgid "Due Date"
+msgstr "Datum Po¾adovaného Dokonèení"
+
+#: templates/task/task.inc:43
+msgid "Due _By"
+msgstr "Po¾adová_no"
+
+#: templates/view/task.inc:15
+msgid "Edit"
+msgstr "Upravit"
+
+#: templates/list/task_headers.inc:16 templates/list/task_summaries.inc:15
+#: lib/Block/summary.php:142
+msgid "Edit Task"
+msgstr "Upravit Úkol"
+
+#: templates/data/export.inc:22
+msgid "Export"
+msgstr "Exportovat"
+
+#: templates/data/export.inc:8
+msgid "Export Tasks"
+msgstr "Exportovat Úkoly"
+
+#: config/prefs.php.dist:33
+msgid "External Data"
+msgstr "Externí Data"
+
+#: config/prefs.php.dist:13
+msgid "General Options"
+msgstr "V¹eobecné Mo¾nosti"
+
+#: templates/task/task.inc:76 lib/Nag.php:390
+msgid "Hour(s)"
+msgstr "Hodin(a)"
+
+#: templates/data/import.inc:9
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importovat Úkoly, Krok %d"
+
+#: data.php:146
+msgid "Import/Export Tasks"
+msgstr "Importovat/Exportovat Úkoly"
+
+#: list.php:77
+msgid "Incom_plete tasks"
+msgstr "Nedoko_nèené úkoly"
+
+#: config/prefs.php.dist:99
+msgid "Incomplete tasks"
+msgstr "Nedokonèené úkoly"
+
+#: templates/view/task.inc:58
+msgid "Last Modified"
+msgstr "Zmìnìn Poslední"
+
+#: templates/task/task.inc:75 lib/Nag.php:393
+msgid "Minute(s)"
+msgstr "Minut(a)"
+
+#: task.php:115
+msgid "Modifying:"
+msgstr "Modifikování:"
+
+#: lib/api.php:282 lib/api.php:465
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Nalezeno nìkolik èástí iCalendar; je mo¾né pou¾ít pouze jednu vTodo."
+
+#: list.php:40
+msgid "My Tasks"
+msgstr "Úkoly"
+
+#: templates/task/task.inc:12 templates/search/search.inc:21
+msgid "N_ame"
+msgstr "N_ázev"
+
+#: templates/list/task_headers.inc:20
+msgid "Na_me"
+msgstr "Ná_zev"
+
+#: data.php:40
+msgid "Name"
+msgstr "Název"
+
+#: lib/Block/summary.php:18
+msgid "New Task"
+msgstr "Nový Úkol"
+
+#: templates/data/import.inc:43
+msgid "Next"
+msgstr "Dal¹í"
+
+#: lib/Nag.php:19
+msgid "No"
+msgstr "Ne"
+
+#: templates/task/task.inc:46
+msgid "No due date."
+msgstr "Bez po¾adovaného dokoèení."
+
+#: lib/api.php:275 lib/api.php:458
+msgid "No iCalendar data was found."
+msgstr "Nebyla nalezena ¾ádna data v iCalendar."
+
+#: lib/Nag.php:476
+msgid "No task lists are available to guests."
+msgstr "®ádný seznam úkolù není dostupný pro hosty."
+
+#: lib/Block/summary.php:186
+msgid "No tasks to display"
+msgstr "®ádné úkoly k zobrazení"
+
+#: templates/task/task.inc:71 lib/Nag.php:397
+msgid "None"
+msgstr "®ádný"
+
+#: lib/Nag.php:357
+msgid "Not Completed"
+msgstr "Nedokonèeno"
+
+#: config/prefs.php.dist:50 config/prefs.php.dist:65
+msgid "Owner"
+msgstr "Vlastník"
+
+#: templates/list/task_headers.inc:13
+msgid "P_ri"
+msgstr "D_ùl"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Práva"
+
+#: lib/api.php:254 lib/api.php:339 lib/api.php:410 lib/api.php:441
+msgid "Permission Denied"
+msgstr "Nepovolený pøístup"
+
+#: lib/api.php:86
+msgid "Permission denied"
+msgstr "Nepovolený pøístup"
+
+#: data.php:44 templates/view/task.inc:41 config/prefs.php.dist:45
+#: config/prefs.php.dist:60
+msgid "Priority"
+msgstr "Dùle¾itost"
+
+#: templates/list/header.inc:5 templates/list/header.inc:6
+msgid "Refresh List"
+msgstr "Obnovit Seznam"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Smazat"
+
+#: templates/task/task.inc:103
+msgid "Save Task"
+msgstr "Ulo¾it Úkol"
+
+#: task.php:215
+#, php-format
+msgid "Saved %s."
+msgstr "Ulo¾eno %s."
+
+#: search.php:14 templates/search/search.inc:5 templates/search/search.inc:32
+msgid "Search"
+msgstr "Hledat"
+
+#: list.php:63
+msgid "Search Results"
+msgstr "Výsledky Vyhledávání"
+
+#: templates/search/search.inc:18
+msgid "Search Scope"
+msgstr "Hledat v Oblasti"
+
+#: templates/search/search.inc:10
+msgid "Search _Text"
+msgstr "Hledaný _Text"
+
+#: templates/task/task.inc:57
+msgid "Select a date"
+msgstr "Vybrat datum"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Vybrat seznam úkolù"
+
+#: templates/data/export.inc:15
+msgid "Select the export format:"
+msgstr "Zvolit formát exportu:"
+
+#: templates/data/import.inc:40
+msgid "Select the file to import:"
+msgstr "Vybrat soubor k importování:"
+
+#: templates/data/import.inc:16
+msgid "Select the format of the source file:"
+msgstr "Vybrat formát zdrojového souboru:"
+
+#: templates/menu.inc:8
+msgid "Show"
+msgstr "Zobrazit"
+
+#: templates/menu.inc:14
+msgid "Show Tasklists:"
+msgstr "Zobrazit Seznam Úkolù:"
+
+#: lib/Block/summary.php:37
+msgid "Show action buttons?"
+msgstr "Zobrazit akèní tlaèítka?"
+
+#: config/prefs.php.dist:101
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Zobrazit dokonèené, nedokonèené nebo v¹echny úkoly v seznamu úkolù?"
+
+#: config/prefs.php.dist:88
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Zobrazit data z jakékoliv jiných aplikací v seznamu úkolù?"
+
+#: config/prefs.php.dist:34
+msgid "Show data from other applications or sources."
+msgstr "Zobrazit data z jiných aplikací a zdrojù."
+
+#: lib/Block/summary.php:40
+msgid "Show due dates?"
+msgstr "Zobrazit datum po¾adovaného dokoèení?"
+
+#: lib/Block/summary.php:34
+msgid "Show priorities?"
+msgstr "Zobrazit dùle¾itost?"
+
+#: lib/Block/summary.php:46
+msgid "Show task alarms?"
+msgstr "Zobrazit Alarmy pro úkoly?"
+
+#: lib/Block/summary.php:49
+msgid "Show task category?"
+msgstr "Zobrazit kategorie úkolù?"
+
+#: lib/Block/summary.php:43
+msgid "Show tasklist name?"
+msgstr "Zobrazit název seznamu úkolù?"
+
+#: lib/Block/summary.php:58
+msgid "Show tasks from these categories"
+msgstr "Zobrazit úkoly v tìchto kategoriích"
+
+#: templates/list/task_headers.inc:30
+msgid "Sort by Category"
+msgstr "Setøídit podle Kategorií"
+
+#: templates/list/task_headers.inc:5
+msgid "Sort by Completion Status"
+msgstr "Tøidìní podle Stavu Dokonèení"
+
+#: templates/list/task_headers.inc:26
+msgid "Sort by Due Date"
+msgstr "Tøídìní podle Datumu Po¾adovaného Dokonèení"
+
+#: templates/list/task_headers.inc:20
+msgid "Sort by Name"
+msgstr "Tøídìní podle Názvu"
+
+#: templates/list/task_headers.inc:13
+msgid "Sort by Priority"
+msgstr "Tøídìní podle Dùle¾itosti"
+
+#: templates/list/task_headers.inc:9
+msgid "Sort by User Name"
+msgstr "Tøídìní podle U¾ivatelského Jména"
+
+#: config/prefs.php.dist:77
+msgid "Sort direction:"
+msgstr "Smìr Tøídìní:"
+
+#: config/prefs.php.dist:51
+msgid "Sort tasks by:"
+msgstr "Tøídìní Úkolù podle:"
+
+#: templates/list/task_summaries.inc:22
+msgid "Task Alarm"
+msgstr "Alarm Úkolu"
+
+#: templates/list/task_headers.inc:23
+msgid "Task Alarm?"
+msgstr "Alarm Úkolu?"
+
+#: view.php:74
+msgid "Task Details"
+msgstr "Detaily Úkolu"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Seznam Úkolù"
+
+#: config/prefs.php.dist:20 config/prefs.php.dist:32
+msgid "Task List and Share Options"
+msgstr "Seznam Úkolù a Mo¾nosti Sdílení"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Název Seznamu Úkolù"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Seznam Úkolù"
+
+#: config/prefs.php.dist:46 config/prefs.php.dist:61
+msgid "Task Name"
+msgstr "Název Úkolu"
+
+#: templates/list/task_summaries.inc:20
+msgid "Task Note"
+msgstr "Poznámka Úkolu"
+
+#: templates/list/task_headers.inc:22
+msgid "Task Note?"
+msgstr "Poznámku Úkolu?"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Seznam Úkolù musí mít název."
+
+#: task.php:117 view.php:43
+msgid "Task not found."
+msgstr "Úkol nebyl nalezen."
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Shrnutí Úkolù"
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Nelze vytvoøit seznam úkolù \"%s\": %s"
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Nelze ulo¾it seznam úkolù \"%s\": %s"
+
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Byl vytvoøen seznam úkolù \"%s\"."
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Byl´smazán seznam úkolù \"%s\"."
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Byl ulo¾en seznam úkolù \"%s\"."
+
+#: config/prefs.php.dist:66
+msgid "Then:"
+msgstr "Pak:"
+
+#: templates/list/empty.inc:3
+msgid "There are no tasks matching the current criteria."
+msgstr "®ádné úkoly se neshodují se souèasným kritériem."
+
+#: task.php:264
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Problém se vyskytl pøi dokonèování %s: %s"
+
+#: task.php:237
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Problém se vyskytl pøi smazávání %s: %s"
+
+#: task.php:213
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Problém se vyskytl pøi ukádání úkolu: %s."
+
+#: data.php:137
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Nastala chyba pøi importování dat: %s."
+
+#: lib/api.php:269 lib/api.php:452
+msgid "There was an error importing the iCalendar data."
+msgstr "Pøi importování iCalendar dat do¹lo k chybì."
+
+#: data.php:66
+msgid "There were no tasks to export."
+msgstr "®ádné úkoly k exportování."
+
+#: data.php:105
+msgid "This file format is not supported."
+msgstr "Tento formát souboru nelze pou¾ít."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Nelze smazat \"%s\": %s."
+
+#: templates/task/task.inc:104
+msgid "Undo Changes"
+msgstr "Storno Zmìny"
+
+#: templates/view/task.inc:30 templates/list/task_summaries.inc:27
+#: scripts/upgrades/2004-05-13_convert_categories_to_strings.php:50
+#: lib/Block/summary.php:179
+msgid "Unfiled"
+msgstr "Nevyplnìno"
+
+#: lib/api.php:301 lib/api.php:374 lib/api.php:485
+msgid "Unsupported Content-Type."
+msgstr "Nepodporovaný Typ Obsahu."
+
+#: templates/list/task_summaries.inc:19
+msgid "View Task Details"
+msgstr "Prohlídni Detaily Úkolu"
+
+#: templates/task/task.inc:78 lib/Nag.php:384
+msgid "Week(s)"
+msgstr "Týden(y)"
+
+#: templates/data/import.inc:24
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Do kterého Seznamu Úkolù se mají úkoly ukládat?"
+
+#: lib/Nag.php:20
+msgid "Yes"
+msgstr "Ano"
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Nedostateèná práva pro prohlí¾ení toho to seznamu úkolù."
+
+#: tasklists.php:84 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Musíte vybrat, který seznam úkolù bude smazán."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Implicitní seznam úkolù"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Vá¹ Seznam Úkolù:"
+
+#: templates/list/task_summaries.inc:19 lib/Block/summary.php:88
+#: lib/Block/summary.php:169
+msgid "[none]"
+msgstr "[¾ádný]"
+
+#: list.php:76
+msgid "_All tasks"
+msgstr "_V¹echny úkoly"
+
+#: templates/task/task.inc:39 templates/search/search.inc:23
+msgid "_Category"
+msgstr "_Kategorie"
+
+#: templates/view/task.inc:13
+msgid "_Complete"
+msgstr "_Dokonèit"
+
+#: list.php:78
+msgid "_Completed tasks"
+msgstr "_Dokonèené úkoly"
+
+#: templates/view/task.inc:18
+msgid "_Delete"
+msgstr "_Smazat"
+
+#: templates/task/task.inc:95 templates/search/search.inc:22
+msgid "_Description"
+msgstr "_Popis"
+
+#: templates/list/task_headers.inc:26
+msgid "_Due Date"
+msgstr "_Datum Po¾adovaného Dokonèení"
+
+#: templates/view/task.inc:15
+msgid "_Edit"
+msgstr "_Upravit"
+
+#: lib/Nag.php:426
+msgid "_Import/Export"
+msgstr "_Importovat/Exportovat"
+
+#: lib/Nag.php:414
+msgid "_List Tasks"
+msgstr "_Seznam Úkolù"
+
+#: lib/Nag.php:421
+msgid "_My Tasklists"
+msgstr "_Úkoly"
+
+#: lib/Nag.php:416
+msgid "_New Task"
+msgstr "_Nový Úkol"
+
+#: lib/Nag.php:431
+msgid "_Print"
+msgstr "_Tisk"
+
+#: templates/task/task.inc:83
+msgid "_Priority"
+msgstr "Dùle¾itost"
+
+#: lib/Nag.php:418
+msgid "_Search"
+msgstr "_Vyhledat"
+
+#: templates/task/task.inc:20 templates/list/task_headers.inc:9
+msgid "_Task List"
+msgstr "_Seznam Úkolù"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:56
+msgid "no time"
+msgstr "bez èasového údaje"
+
+#: data.php:78 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "ukoly.cvs"
--- /dev/null
+# Danish translations for Nag package
+# Danske oversættelser for pakke Nag
+# Copyright 2006-2009 The Horde Project
+# This file is distributed under the same license as the Nag package.
+# Brian Truelsen <horde+i18n@briantruelsen.dk>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag H3 (2.2-cvs)\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2006-03-05 18:16+0100\n"
+"PO-Revision-Date: 2006-03-06 22:10+0100\n"
+"Last-Translator: Brian Truelsen <horde+i18n@briantruelsen.dk>\n"
+"Language-Team: i18n@lists.horde.org\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d time"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d time, %d minut"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d time, %d minutter"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d timer"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d timer, %d minut"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d timer, %d minutter"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minut"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutter"
+
+#: templates/list/header.inc:3
+#, php-format
+msgid "%d tasks"
+msgstr "%d opgaver"
+
+#: lib/Nag.php:385
+#, php-format
+msgid "%s at %s"
+msgstr "%s kl. %s"
+
+#: lib/Nag.php:537 lib/Block/summary.php:90 lib/Block/tree_alarms.php:34
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s forfalder om %s"
+
+#: lib/Nag.php:535 lib/Block/summary.php:88 lib/Block/tree_alarms.php:32
+#, php-format
+msgid "%s is due now."
+msgstr "%s forfalder nu."
+
+#: data.php:175
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s importeret"
+
+#: tasklists.php:100 lib/base.php:101
+#, php-format
+msgid "%s's Task List"
+msgstr "%ss opgaveliste"
+
+#: lib/Nag.php:342
+msgid "(highest)"
+msgstr "(højeste)"
+
+#: lib/Nag.php:342
+msgid "(lowest)"
+msgstr "(lavest)"
+
+#: templates/list/header.inc:3
+msgid "1 task"
+msgstr "1 opgave"
+
+#: task.php:291
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Adgang nægtet ved færdiggørelse af opgave %s."
+
+#: task.php:265
+#, php-format
+msgid "Access denied deleting %s."
+msgstr "Adgang nægtet ved sletning af %s."
+
+#: task.php:223
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Adgang nægtet ved flytning af opgaven til %s."
+
+#: task.php:226
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Adgang nægtet ved sletning af opgave fra %s."
+
+#: task.php:146
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Adgang nægtet ved lagring af opgave i %s."
+
+#: task.php:144
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Adgang nægtet ved lagring af opgave: %s"
+
+#: task.php:70
+msgid "Adding A New Task"
+msgstr "Tilføj en ny opgave"
+
+#: templates/task/task.inc:67
+msgid "Ala_rm"
+msgstr "Alarm"
+
+#: templates/view/task.inc:33
+msgid "Alarm"
+msgstr "Alarm"
+
+#: config/prefs.php.dist:143
+msgid "All tasks"
+msgstr "Alle opgaver"
+
+#: lib/Block/summary.php:54
+msgid "Always show completed tasks?"
+msgstr "Vis altid afsluttede opgaver?"
+
+#: lib/Block/summary.php:51
+msgid "Always show overdue tasks?"
+msgstr "Vis altid overskredne opgaver?"
+
+#: config/prefs.php.dist:98
+msgid "Ascending"
+msgstr "Stigende"
+
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Tilbage til tilvalg for opgavelister"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:56
+msgid "Calendar"
+msgstr "Kalender"
+
+#: templates/list/task_headers.inc:65
+msgid "Cat_egory"
+msgstr "Kategori"
+
+#: data.php:52 templates/view/task.inc:25 config/prefs.php.dist:70
+#: config/prefs.php.dist:85
+msgid "Category"
+msgstr "Kategori"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Ændre"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Vælg måden, dine opgaver vises og sorteres på."
+
+#: config/prefs.php.dist:122
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Vælg hvorvidt du ønsker at blive informeret om ny, ændrede eller slettede "
+"opgaver via e-post:"
+
+#: config/prefs.php.dist:36
+msgid "Choose if you want to be notified of new, edited, and deleted tasks."
+msgstr ""
+"Vælg hvorvidt du ønsker at blive informeret om nye, ændrede eller slettede "
+"opgaver."
+
+#: config/prefs.php.dist:29
+msgid "Choose your default task list."
+msgstr "Vælg den standard opgaveliste."
+
+#: templates/search/search.inc:34
+msgid "Clear Form"
+msgstr "Slet formular"
+
+#: templates/task/task.inc:94
+msgid "Co_mpleted?"
+msgstr "Afsluttet?"
+
+#: templates/view/task.inc:11
+msgid "Complete"
+msgstr "Afsluttet"
+
+#: templates/list/task_summaries.inc:5 lib/Block/summary.php:145
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Afslut \"%s\""
+
+#: templates/view/task.inc:48
+msgid "Complete Task"
+msgstr "Afslut opgave"
+
+#: config/prefs.php.dist:145
+msgid "Complete tasks"
+msgstr "Afsluttede opgaver"
+
+#: lib/Nag.php:400 lib/Block/summary.php:143
+msgid "Completed"
+msgstr "Afsluttet"
+
+#: task.php:302
+#, php-format
+msgid "Completed %s."
+msgstr "Afsluttet %s."
+
+#: templates/view/task.inc:45 templates/list/task_headers.inc:43
+#: config/prefs.php.dist:72 config/prefs.php.dist:87
+msgid "Completed?"
+msgstr "Afsluttet?"
+
+#: data.php:55
+msgid "Completion Status"
+msgstr "Status for afslutning"
+
+#: lib/api.php:228
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Forbindelse fejlede: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Opret"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Oprettet"
+
+#: templates/task/task.inc:76 lib/Nag.php:432
+msgid "Day(s)"
+msgstr "Dag(e)"
+
+#: config/prefs.php.dist:28
+msgid "Default Task List"
+msgstr "Standard opgaveliste"
+
+#: templates/view/task.inc:16 templates/tasklists/tasklists.inc:100
+msgid "Delete"
+msgstr "Slet"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Godkend sletning"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Opførsel af slette-knap"
+
+#: templates/task/task.inc:116
+msgid "Delete this task"
+msgstr "Slet denne opgave"
+
+#: task.php:273
+#, php-format
+msgid "Deleted %s."
+msgstr "%s slettet."
+
+#: config/prefs.php.dist:99
+msgid "Descending"
+msgstr "Faldende"
+
+#: data.php:51
+msgid "Description"
+msgstr "Beskrivelse"
+
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Beskrivelse:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Indstillinger for visning"
+
+#: config/prefs.php.dist:109
+msgid "Do you want to confirm deleting entries?"
+msgstr "Vil du godkende sletning af poster?"
+
+#: data.php:53 templates/view/task.inc:29
+msgid "Due By"
+msgstr "Afsluttet den"
+
+#: config/prefs.php.dist:71 config/prefs.php.dist:86
+msgid "Due Date"
+msgstr "Afslutningsdato"
+
+#: templates/task/task.inc:45
+msgid "Due _By"
+msgstr "Forfalder den"
+
+#: templates/view/task.inc:13
+msgid "Edit"
+msgstr "Rediger"
+
+#: templates/list/task_summaries.inc:20 lib/Block/summary.php:140
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Redigér \"%s\""
+
+#: templates/list/task_headers.inc:54
+msgid "Edit Task"
+msgstr "Redigér opgave"
+
+#: templates/list/task_headers.inc:70
+msgid "Edit categories and colors"
+msgstr "Redigér kategorier og farver"
+
+#: templates/view/task.inc:41 templates/task/task.inc:88
+msgid "Estimated Time"
+msgstr "Anslået tid"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Eksportér"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Eksportér opgaver"
+
+#: config/prefs.php.dist:47
+msgid "External Data"
+msgstr "Eksterne data"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20
+msgid "General Options"
+msgstr "Grundlæggende indstillinger"
+
+#: templates/task/task.inc:75 lib/Nag.php:435
+msgid "Hour(s)"
+msgstr "Time(r)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importér opgaver, trin %d"
+
+#: data.php:181
+msgid "Import/Export Tasks"
+msgstr "Importér/eksportér opgaver"
+
+#: list.php:88
+msgid "Incom_plete tasks"
+msgstr "Uafsluttede opgaver"
+
+#: config/prefs.php.dist:144
+msgid "Incomplete tasks"
+msgstr "Uafsluttede opgaver"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Sidst ændret"
+
+#: lib/api.php:85
+msgid "Maximum Number of Tasks"
+msgstr "Maksimalt antal opgaver"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Menu alarmer"
+
+#: templates/task/task.inc:74 lib/Nag.php:438
+msgid "Minute(s)"
+msgstr "Minut(ter)"
+
+#: task.php:128
+msgid "Modifying:"
+msgstr "Ændring:"
+
+#: lib/api.php:643
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Multiple iCalendar komponenter fundet; der er kun understøttelse for én "
+"vTodo."
+
+#: list.php:39
+msgid "My Tasks"
+msgstr "Mine opgaver"
+
+#: templates/task/task.inc:17 templates/search/search.inc:25
+msgid "N_ame"
+msgstr "Navn"
+
+#: templates/list/task_headers.inc:57
+msgid "Na_me"
+msgstr "Navn"
+
+#: data.php:50
+msgid "Name"
+msgstr "Navn"
+
+#: lib/Block/summary.php:18
+msgid "New Task"
+msgstr "Ny opgave"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Næste"
+
+#: config/prefs.php.dist:118
+msgid "No"
+msgstr "Nej"
+
+#: templates/task/task.inc:48
+msgid "No due date."
+msgstr "Ingen afslutningsdato."
+
+#: lib/api.php:390 lib/api.php:636
+msgid "No iCalendar data was found."
+msgstr "Ingen iCalendar-data fundet."
+
+#: lib/Nag.php:551
+msgid "No task lists are available to guests."
+msgstr "Ingen opgavelister tilgængelige til gæster."
+
+#: lib/Block/summary.php:186
+msgid "No tasks to display"
+msgstr "Ingen opgaver at vise."
+
+#: templates/task/task.inc:70 lib/Nag.php:442
+msgid "None"
+msgstr "Ingen"
+
+#: lib/Nag.php:401
+msgid "Not Completed"
+msgstr "Ikke afsluttet"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Ikke fundet"
+
+#: config/prefs.php.dist:35
+msgid "Notifications"
+msgstr "Påmindelser"
+
+#: config/prefs.php.dist:120
+msgid "On all shown tasklists"
+msgstr "På alle viste opgavelister"
+
+#: config/prefs.php.dist:121
+msgid "On all tasklists I have read access to"
+msgstr "Jeg har læseadgang til alle opgavelisters"
+
+#: config/prefs.php.dist:119
+msgid "On my tasklists only"
+msgstr "Kun på mine egne opgavelister"
+
+#: templates/list/task_headers.inc:51
+msgid "P_ri"
+msgstr "Pri"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Tilladelse"
+
+#: lib/api.php:368 lib/api.php:507 lib/api.php:587 lib/api.php:618
+msgid "Permission Denied"
+msgstr "Tilladelse nægtet"
+
+#: lib/api.php:109
+msgid "Permission denied"
+msgstr "Tilladelse nægtet"
+
+#: data.php:54 templates/view/task.inc:37 config/prefs.php.dist:68
+#: config/prefs.php.dist:83
+msgid "Priority"
+msgstr "Prioritet"
+
+#: templates/view/task.inc:16
+msgid "Really delete this task?"
+msgstr "Slet denne opgave uigenkaldeligt?"
+
+#: templates/list/header.inc:5
+msgid "Refresh List"
+msgstr "Opdater liste"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Nulstil"
+
+#: templates/task/task.inc:108
+msgid "Save"
+msgstr "Gem"
+
+#: task.php:248
+#, php-format
+msgid "Saved %s."
+msgstr "%s gemt."
+
+#: search.php:14 templates/search/search.inc:6 templates/search/search.inc:33
+msgid "Search"
+msgstr "Søg"
+
+#: list.php:62
+msgid "Search Results"
+msgstr "Resultat for søgning"
+
+#: templates/search/search.inc:22
+msgid "Search Scope"
+msgstr "Medtag i søgning"
+
+#: templates/search/search.inc:14
+msgid "Search _Text"
+msgstr "Søg tekst"
+
+#: templates/task/task.inc:56
+msgid "Select a date"
+msgstr "Vælg en dato"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Vælg en opgaveliste"
+
+#: templates/menu.inc:8
+msgid "Select tasklists to display:"
+msgstr "Vælg de opgavelister, der skal vises:"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Vælg formatet, der skal eksporteres i:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Vælg den fil, der skal importeres:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Vælg formatet af oprindelsesfilen:"
+
+#: config/prefs.php.dist:59
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Skal opgavelisten vises i sin egen kolonne i liste-visning?"
+
+#: lib/Block/summary.php:36
+msgid "Show action buttons?"
+msgstr "Vis handlingsknapper?"
+
+#: config/prefs.php.dist:146
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Vis afsluttede, uafsluttede eller alle opgaver i opgavelisten?"
+
+#: config/prefs.php.dist:133
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Vis data fra alle disse andre applikationer i din opgaveliste?"
+
+#: config/prefs.php.dist:48
+msgid "Show data from other applications or sources."
+msgstr "Vis data fra andre applikationer eller kilder."
+
+#: lib/Block/summary.php:39
+msgid "Show due dates?"
+msgstr "Vis forfaldsdatoer?"
+
+#: lib/Block/summary.php:33
+msgid "Show priorities?"
+msgstr "Vis prioriteter?"
+
+#: lib/Block/summary.php:45
+msgid "Show task alarms?"
+msgstr "Vis opgave-alarmer?"
+
+#: lib/Block/summary.php:48
+msgid "Show task category?"
+msgstr "Vis opgave-kategorier?"
+
+#: lib/Block/summary.php:42
+msgid "Show tasklist name?"
+msgstr "Vis opgaveliste-navn?"
+
+#: lib/Block/summary.php:57
+msgid "Show tasks from these categories"
+msgstr "Vis opgaver fra disse kategorier"
+
+#: templates/list/task_headers.inc:65
+msgid "Sort by Category"
+msgstr "Sorter efter kategori"
+
+#: templates/list/task_headers.inc:43
+msgid "Sort by Completion Status"
+msgstr "Sorter efter status for afslutning"
+
+#: templates/list/task_headers.inc:62
+msgid "Sort by Due Date"
+msgstr "Sorter efter afslutningsdato"
+
+#: templates/list/task_headers.inc:57
+msgid "Sort by Name"
+msgstr "Sorter efter navn"
+
+#: templates/list/task_headers.inc:51
+msgid "Sort by Priority"
+msgstr "Sorter efter prioritet"
+
+#: templates/list/task_headers.inc:47
+msgid "Sort by User Name"
+msgstr "Sorter efter brugernavn"
+
+#: config/prefs.php.dist:100
+msgid "Sort direction:"
+msgstr "Sorteringsretning:"
+
+#: config/prefs.php.dist:74
+msgid "Sort tasks by:"
+msgstr "Sortér opgaver efter:"
+
+#: templates/list/task_summaries.inc:28
+msgid "Task Alarm"
+msgstr "Opgave-alarm"
+
+#: templates/list/task_headers.inc:60
+msgid "Task Alarm?"
+msgstr "Opgave-alarm?"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Opgaver"
+
+#: config/prefs.php.dist:27 config/prefs.php.dist:34 config/prefs.php.dist:46
+msgid "Task List and Share Options"
+msgstr "Indstillinger for opgavelister og delinger"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Opgavelistes navn:"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Opgavelister"
+
+#: config/prefs.php.dist:69 config/prefs.php.dist:84
+msgid "Task Name"
+msgstr "Navn af opgave"
+
+#: templates/list/task_summaries.inc:26
+msgid "Task Note"
+msgstr "Notat til opgave"
+
+#: templates/list/task_headers.inc:59
+msgid "Task Note?"
+msgstr "Notat til opgave?"
+
+#: lib/Nag.php:576
+msgid "Task added:"
+msgstr "Opgaver tilføjet:"
+
+#: lib/Nag.php:586
+msgid "Task deleted:"
+msgstr "Opgave slettet:"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Opgavelister skal have et navn."
+
+#: lib/Nag.php:581
+msgid "Task modified:"
+msgstr "Opgave ændret:"
+
+#: task.php:130 view.php:43
+msgid "Task not found."
+msgstr "Opgave ikke fundet."
+
+#: config/prefs.php.dist:73 config/prefs.php.dist:88
+msgid "Tasklist"
+msgstr "Opgaveliste"
+
+#: lib/api.php:697
+msgid "Tasks"
+msgstr "Opgaver"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Opgave-oversigt"
+
+#: lib/Driver.php:55
+msgid "The Tasks backend is not currently available."
+msgstr "Opgave-backenden er ikke tilgængelig."
+
+#: lib/Driver.php:278
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Opgave-backenden er ikke tilgængelig: %s"
+
+#: task.php:181
+msgid "The alarm field may only contain integers."
+msgstr "Alarm-feltet må kun indeholde heltal."
+
+#: lib/Nag.php:577
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Opgaven \"%s\" er tilføjet opgavelisten \"%s\" med %s som forfaldsdato."
+
+#: lib/Nag.php:587
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"Opgaven \"%s\" er slettet fra opgavelisten \"%s\" med %s som forfaldsdato."
+
+#: lib/Nag.php:582
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Opgaven \"%s\" er blevet ændret på opgavelisten \"%s\" med %s som "
+"forfaldsdato."
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Opgavelisten \"%s\" kunne ikke oprettes: %s"
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Opgavelisten \"%s\" kunne ikke lagres: %s"
+
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Opgavelisten \"%s\" oprettet."
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Opgavelisten \"%s\" slettet."
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Opgavelisten \"%s\" lagret."
+
+#: config/prefs.php.dist:89
+msgid "Then:"
+msgstr "Så:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Der er ingen opgaver, som passer til det nuværende kriterium."
+
+#: task.php:299
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Der opstod en fejl under afslutning af %s: %s"
+
+#: task.php:270
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Der opstod en fejl under sletningen af %s: %s"
+
+#: task.php:246
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Der opstod en fejl under lagringen af opgaven: %s."
+
+#: data.php:172
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Der opstod en fejl under importeringen af data: %s"
+
+#: lib/api.php:384 lib/api.php:630
+msgid "There was an error importing the iCalendar data."
+msgstr "Der opstod en fejl under importeringen af iCalendar data."
+
+#: data.php:77
+msgid "There were no tasks to export."
+msgstr "Der var ingen opgaver at eksportere."
+
+#: data.php:121
+msgid "This file format is not supported."
+msgstr "Dette filformat er ikke understøttet."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Kan ikke slette \"%s\": %s"
+
+#: lib/Driver.php:281
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Kan ikke indlæse definitionen af %s."
+
+#: templates/task/task.inc:109
+msgid "Undo changes"
+msgstr "Fortryd ændringer"
+
+#: templates/view/task.inc:26 templates/list/task_summaries.inc:33
+#: scripts/upgrades/2004-05-13_convert_categories_to_strings.php:50
+#: lib/Nag.php:793 lib/Nag.php:794 lib/Nag.php:808 lib/Nag.php:809
+#: lib/Block/summary.php:30 lib/Block/summary.php:179
+msgid "Unfiled"
+msgstr "Ikke anbragt"
+
+#: lib/api.php:462 lib/api.php:551 lib/api.php:660
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Ikke-understøttet Content-Type: %s"
+
+#: templates/task/task.inc:77 lib/Nag.php:429
+msgid "Week(s)"
+msgstr "Uge(r)"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Hvilken opgaveliste skal opgaver føjes til?"
+
+#: data.php:39 data.php:140 task.php:31
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Du har ikke tilladelse til at oprette mere en %d opgaver."
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Du har ikke tilladelse til at se denne opgaveliste."
+
+#: tasklists.php:84 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Du skal vælge en opgaveliste, der skal slettes."
+
+#: lib/Nag.php:577
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Du har anmodet om at blive underrettet, når opgaver bliver føjet til dine "
+"opgavelister."
+
+#: lib/Nag.php:587
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Du har anmodet om at bliver underrettet, når opgaver bliver slettet fra dine "
+"opgavelister."
+
+#: lib/Nag.php:582
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Du har anmodet om at bliver underrettet, når opgaver ændres på dine "
+"opgavelister."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Din standard opgaveliste:"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Dine opgavelister:"
+
+#: templates/list/task_summaries.inc:25 lib/Block/summary.php:86
+#: lib/Block/summary.php:169
+msgid "[none]"
+msgstr "[ingen]"
+
+#: list.php:87
+msgid "_All tasks"
+msgstr "Alle opgaver"
+
+#: templates/task/task.inc:41 templates/search/search.inc:27
+msgid "_Category"
+msgstr "Kategori"
+
+#: templates/view/task.inc:11
+msgid "_Complete"
+msgstr "Afsluttet"
+
+#: list.php:89
+msgid "_Completed tasks"
+msgstr "Afsluttede opgaver"
+
+#: templates/view/task.inc:16
+msgid "_Delete"
+msgstr "Slet"
+
+#: templates/task/task.inc:100 templates/search/search.inc:26
+msgid "_Description"
+msgstr "Beskrivelse"
+
+#: templates/list/task_headers.inc:62
+msgid "_Due Date"
+msgstr "Forfaldsdato"
+
+#: templates/view/task.inc:13
+msgid "_Edit"
+msgstr "Redigér"
+
+#: lib/Nag.php:501
+msgid "_Import/Export"
+msgstr "Import/Eksport"
+
+#: lib/Nag.php:486
+msgid "_List Tasks"
+msgstr "List opgaver"
+
+#: lib/Nag.php:496
+msgid "_My Tasklists"
+msgstr "Mine opgavelister"
+
+#: lib/Nag.php:491
+msgid "_New Task"
+msgstr "Ny opgave"
+
+#: lib/Nag.php:506
+msgid "_Print"
+msgstr "Udskriv"
+
+#: templates/task/task.inc:82
+msgid "_Priority"
+msgstr "Prioritet"
+
+#: lib/Nag.php:493
+msgid "_Search"
+msgstr "Søg"
+
+#: templates/task/task.inc:26 templates/list/task_headers.inc:47
+msgid "_Task List"
+msgstr "Opgaveliste"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "ingen tid"
+
+#: data.php:94 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasks.csv"
+
+#: data.php:106
+msgid "tasks.ics"
+msgstr "tasks.ics"
--- /dev/null
+# German translations for Nag.
+# Copyright 2001-2009 The Horde Project.
+# This file is distributed under the same license as the Nag package.
+# Jan Schneider <jan@horde.org>, 2001-2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 3.0-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-08-01 10:44+0200\n"
+"PO-Revision-Date: 2008-08-01 16:34+0200\n"
+"Last-Translator: Jan Schneider <jan@horde.org>\n"
+"Language-Team: German <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: templates/view/task.inc:39
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s inklusive Unteraufgaben)"
+
+#: lib/Nag.php:76
+#, php-format
+msgid "%d hour"
+msgstr "%d Stunde"
+
+#: lib/Nag.php:78
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d Stunde, %d Minute"
+
+#: lib/Nag.php:80
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d Stunde, %d Minuten"
+
+#: lib/Nag.php:68
+#, php-format
+msgid "%d hours"
+msgstr "%d Stunden"
+
+#: lib/Nag.php:70
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d Stunden, %d Minute"
+
+#: lib/Nag.php:72
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d Stunden, %d Minuten"
+
+#: lib/Nag.php:86
+#, php-format
+msgid "%d minute"
+msgstr "%d Minute"
+
+#: lib/Nag.php:88
+#, php-format
+msgid "%d minutes"
+msgstr "%d Minuten"
+
+#: lib/Nag.php:398
+#, php-format
+msgid "%s at %s"
+msgstr "%s um %s"
+
+#: lib/Nag.php:658 lib/Block/tree_alarms.php:41 lib/Block/summary.php:124
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s ist in %s fällig"
+
+#: lib/Nag.php:656 lib/Block/tree_alarms.php:43 lib/Block/summary.php:121
+#, php-format
+msgid "%s is due now."
+msgstr "%s ist fällig."
+
+#: task.php:222
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s ist jetzt unerledigt."
+
+#: data.php:218
+#, php-format
+msgid "%s successfully imported"
+msgstr "Die %s-Datei wurde erfolgreich importiert"
+
+#: lib/Nag.php:584 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "Aufgabenliste von %s"
+
+#: lib/Nag.php:349 lib/Forms/task.php:84
+msgid "(highest)"
+msgstr "(Höchste)"
+
+#: lib/Nag.php:349 lib/Forms/task.php:85
+msgid "(lowest)"
+msgstr "(Niedrigste)"
+
+#: task.php:206
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Zugriff verweigert beim Erledigen von Aufgabe %s."
+
+#: task.php:27
+msgid "Access denied deleting task."
+msgstr "Zugriff verweigert beim Löschen der Aufgabe."
+
+#: task.php:91 task.php:97
+msgid "Access denied editing task."
+msgstr "Zugriff verweigert beim Bearbeiten der Aufgabe."
+
+#: task.php:89
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Zugriff verweigert beim Bearbeiten der Aufgabe: %s"
+
+#: lib/Driver.php:347
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Zugriff verweigert beim Verschieben von Aufgabe %s."
+
+#: lib/Driver.php:350
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Zugriff verweigert beim Entfernen der Aufgabe von %s."
+
+#: task.php:132
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Zugriff verweigert beim Löschen von Aufgabe %s."
+
+#: task.php:128
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Zugriff verweigert beim Speichern der Aufgabe: %s"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:115
+msgid "Alarm"
+msgstr "Alarm"
+
+#: templates/data/export.inc:34 config/prefs.php.dist:208
+msgid "All tasks"
+msgstr "Alle Aufgaben"
+
+#: lib/Block/summary.php:76
+msgid "Always show completed and future tasks?"
+msgstr "Erledigte und zukünftige Aufgaben immer anzeigen?"
+
+#: lib/Block/summary.php:72
+msgid "Always show overdue tasks?"
+msgstr "Überfällige Aufgaben immer anzeigen?"
+
+#: config/prefs.php.dist:125
+msgid "Ascending"
+msgstr "Aufsteigend"
+
+#: data.php:55 templates/view/task.inc:12 templates/list/task_headers.inc:56
+#: lib/Forms/task.php:110 config/prefs.php.dist:71 config/prefs.php.dist:98
+#: config/prefs.php.dist:114
+msgid "Assignee"
+msgstr "Zuständiger"
+
+#: lib/Block/summary.php:44
+msgid "Block title"
+msgstr "Blocktitel"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Kalender"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: templates/list/task_headers.inc:60
+msgid "Cat_egory"
+msgstr "_Kategorie"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:102
+#: lib/Forms/task.php:107 config/prefs.php.dist:73 config/prefs.php.dist:95
+#: config/prefs.php.dist:111
+msgid "Category"
+msgstr "Kategorie"
+
+#: templates/tasklist_list.php:33 tasklists/index.php:56
+msgid "Change Permissions"
+msgstr "Rechte Ändern"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Ändern Sie die Sortierreihenfolge und andere Anzeigeeinstellungen."
+
+#: lib/Nag.php:860
+#, php-format
+msgid "Changed alarm from %s to %s"
+msgstr "Alarm von %s zu %s geändert"
+
+#: lib/Nag.php:839
+#, php-format
+msgid "Changed assignee from \"%s\" to \"%s\""
+msgstr "Zuständigkeit von \"%s\" zu \"%s\" geändert"
+
+#: lib/Nag.php:823
+#, php-format
+msgid "Changed category from \"%s\" to \"%s\""
+msgstr "Kategorie von \"%s\" zu \"%s\" geändert"
+
+#: lib/Nag.php:875
+#, php-format
+msgid "Changed completion from %s to %s"
+msgstr "Status von %s zu %s geändert"
+
+#: lib/Nag.php:880
+msgid "Changed description"
+msgstr "Beschreibung geändert"
+
+#: lib/Nag.php:848
+#, php-format
+msgid "Changed due date from %s to %s"
+msgstr "Fälligkeitsdatum von %s zu %s geändert"
+
+#: lib/Nag.php:870
+#, php-format
+msgid "Changed estimate from %s to %s"
+msgstr "Geschätzte Zeit von %s zu %s geändert"
+
+#: lib/Nag.php:800
+#, php-format
+msgid "Changed name from \"%s\" to \"%s\""
+msgstr "Betreff von \"%s\" zu \"%s\" geändert"
+
+#: lib/Nag.php:815
+#, php-format
+msgid "Changed parent task from \"%s\" to \"%s\""
+msgstr "Überaufgabe von \"%s\" zu \"%s\" geändert"
+
+#: lib/Nag.php:865
+#, php-format
+msgid "Changed priority from %s to %s"
+msgstr "Priorität von %s zu %s geändert"
+
+#: lib/Nag.php:854
+#, php-format
+msgid "Changed start date from %s to %s"
+msgstr "Startdatum von %s zu %s geändert"
+
+#: lib/Nag.php:806
+#, php-format
+msgid "Changed task list from \"%s\" to \"%s\""
+msgstr "Aufgabenliste von \"%s\" zu \"%s\" geändert"
+
+#: lib/Nag.php:797
+msgid "Changes made for this task:"
+msgstr "Vorgenommene Änderungen:"
+
+#: config/prefs.php.dist:187
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr ""
+"Legen Sie fest, wie Sie über Aufgaben mit Alarmen benachrichtigt werden "
+"möchten:"
+
+#: config/prefs.php.dist:178
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Legen Sie fest, ob Sie per Email über neue, geänderte oder gelöschte "
+"Aufgaben benachrichtigt werden möchten:"
+
+#: config/prefs.php.dist:43
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Legen Sie fest, ob Sie über Aufgabenänderungen und Aufgabenalarme "
+"benachrichtigt werden möchten."
+
+#: config/prefs.php.dist:36
+msgid "Choose your default task list."
+msgstr "Wählen Sie Ihre Standard-Aufgabenliste aus."
+
+#: templates/tasklist_list.php:29 templates/tasklist_list.php:30
+msgid "Click or copy this URL to display this task list"
+msgstr ""
+"Kopieren Sie diese Adresse in Ihren Browser oder klicken Sie darauf, um "
+"diese Aufgabenliste anzuzeigen"
+
+#: templates/panel.inc:44
+msgid "Close"
+msgstr "Schließen"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Suche schließen"
+
+#: view.php:114
+msgid "Complete"
+msgstr "Erledigen"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:192
+#, php-format
+msgid "Complete \"%s\""
+msgstr "\"%s\" erledigen"
+
+#: templates/view/task.inc:46
+msgid "Complete Task"
+msgstr "Aufgabe erledigen"
+
+#: config/prefs.php.dist:210
+msgid "Complete tasks"
+msgstr "Erledigte Aufgaben"
+
+#: lib/Nag.php:413 lib/Block/summary.php:190
+msgid "Completed"
+msgstr "Erledigt"
+
+#: task.php:220
+#, php-format
+msgid "Completed %s."
+msgstr "%s erledigt."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Erledigte Aufgaben"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr ""
+"Überaufgabe ist bereits erledigt, markieren Sie diese erst als unerledigt"
+
+#: templates/data/export.inc:37
+msgid "Completed tasks"
+msgstr "Erledigte Aufgaben"
+
+#: templates/view/task.inc:42 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:121 config/prefs.php.dist:97 config/prefs.php.dist:113
+msgid "Completed?"
+msgstr "Erledigt?"
+
+#: data.php:63
+msgid "Completion Date"
+msgstr "Erledigungsdatum"
+
+#: data.php:62
+msgid "Completion Status"
+msgstr "Fortschritt"
+
+#: lib/api.php:504 lib/api.php:753
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Verbindung fehlgeschlagen: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Erstellen"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Aufgabenliste erstellen"
+
+#: templates/tasklist_list.php:9
+msgid "Create a new Task List"
+msgstr "Neue Aufgabenliste erstellen"
+
+#: templates/view/task.inc:61
+msgid "Created"
+msgstr "Erstellt"
+
+#: lib/Recurrence.php:199
+msgid "Daily"
+msgstr "Täglich"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Tag"
+
+#: lib/Nag.php:445 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Tag(e)"
+
+#: config/prefs.php.dist:35
+msgid "Default Task List"
+msgstr "Standard-Aufgabenliste"
+
+#: config/prefs.php.dist:29
+msgid "Defaults for new tasks"
+msgstr "Standardeinstellungen für neue Aufgaben"
+
+#: lib/Forms/task.php:114
+msgid "Delay Start Until"
+msgstr "Start verzögern bis"
+
+#: view.php:121 templates/tasklist_list.php:35 tasklists/index.php:57
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Löschen"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "%s löschen"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Löschbestätigung"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Verhalten beim Löschen."
+
+#: task.php:112 lib/Forms/task.php:126 lib/Forms/task.php:153
+msgid "Delete this task"
+msgstr "Diese Aufgabe löschen"
+
+#: task.php:37
+#, php-format
+msgid "Deleted %s."
+msgstr "%s gelöscht."
+
+#: lib/api.php:735
+msgid "Deleting entire tasklists is not supported."
+msgstr "Das Löschen ganzer Aufgabenlisten wird nicht unterstützt."
+
+#: config/prefs.php.dist:126
+msgid "Descending"
+msgstr "Absteigend"
+
+#: data.php:53 lib/Forms/task.php:122
+msgid "Description"
+msgstr "Beschreibung"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Anzeige-Einstellungen"
+
+#: templates/tasklist_list.php:18
+msgid "Display URL"
+msgstr "Anzeige-Adresse"
+
+#: config/prefs.php.dist:136
+msgid "Do you want to confirm deleting entries?"
+msgstr "Möchten Sie das Löschen von Einträgen bestätigen?"
+
+#: data.php:56 templates/view/task.inc:26 lib/Forms/task.php:113
+msgid "Due By"
+msgstr "Fällig am"
+
+#: config/prefs.php.dist:72 config/prefs.php.dist:96 config/prefs.php.dist:112
+msgid "Due Date"
+msgstr "Fälligkeitsdatum"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Fälligkeitsdatum angegeben."
+
+#: view.php:117 templates/tasklist_list.php:31 tasklists/index.php:55
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#: templates/list/task_summaries.inc:39 lib/Block/summary.php:182
+#, php-format
+msgid "Edit \"%s\""
+msgstr "\"%s\" bearbeiten"
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "%s bearbeiten"
+
+#: templates/list/task_headers.inc:43
+msgid "Edit Task"
+msgstr "Aufgabe bearbeiten"
+
+#: templates/list/task_headers.inc:65
+msgid "Edit categories and colors"
+msgstr "Kategorien und Farben bearbeiten"
+
+#: task.php:102 task.php:116
+#, php-format
+msgid "Edit: %s"
+msgstr "Bearbeiten: %s"
+
+#: task.php:20
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Fehler beim Löschen der Aufgabe: %s"
+
+#: data.php:61 templates/view/task.inc:38 lib/Forms/task.php:120
+msgid "Estimated Time"
+msgstr "Geschätzte Zeit"
+
+#: templates/data/export.inc:41
+msgid "Export"
+msgstr "Exportieren"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Aufgaben exportieren"
+
+#: config/prefs.php.dist:57
+msgid "External Data"
+msgstr "Externe Daten"
+
+#: templates/data/export.inc:36
+msgid "Future tasks"
+msgstr "Zukünftige Aufgaben"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:20 config/prefs.php.dist:27
+msgid "General Options"
+msgstr "Allgemeine Einstellungen"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Stunde"
+
+#: lib/Nag.php:448 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Stunde(n)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Aufgaben importieren, Schritt %d"
+
+#: data.php:224
+msgid "Import/Export Tasks"
+msgstr "Aufgaben Import/Export"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "_Unerledigte Aufgaben"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Unerledigte Aufgaben"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Unerledigte Unteraufgaben, erledigen Sie diese erst"
+
+#: templates/data/export.inc:35 config/prefs.php.dist:209
+msgid "Incomplete tasks"
+msgstr "Unerledigte Aufgaben"
+
+#: lib/api.php:432
+msgid "Invalid tasklist file requested."
+msgstr "Ungültige Aufgabenliste angegeben."
+
+#: lib/api.php:571
+msgid "Invalid tasklist name supplied."
+msgstr "Ungültige Aufgabenliste angegeben."
+
+#: lib/api.php:448
+msgid "Invalid tasklist requested."
+msgstr "Ungültige Aufgabenliste angegeben."
+
+#: templates/view/task.inc:68
+msgid "Last Modified"
+msgstr "Letzte Änderung"
+
+#: templates/tasklist_list.php:2 tasklists/index.php:61
+msgid "Manage Task Lists"
+msgstr "Aufgabenlisten-Verwaltung"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "\"%s\" als unerledigt markieren"
+
+#: templates/view/task.inc:48
+msgid "Mark as incomplete"
+msgstr "Als unerledigt markieren"
+
+#: lib/api.php:125
+msgid "Maximum Number of Tasks"
+msgstr "Maximale Anzahl an Aufgaben"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Menüalarm"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Menüliste"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minute"
+
+#: lib/Nag.php:451 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minute(n)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Monat"
+
+#: lib/Recurrence.php:202
+msgid "Monthly"
+msgstr "Monatlich"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Weitere Optionen..."
+
+#: lib/api.php:1213
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Mehrere iCalendar-Komponenten gefunden; nur ein vTodo wird unterstützt."
+
+#: templates/panel.inc:72
+msgid "My Task Lists:"
+msgstr "Meine Aufgabenlisten:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Meine Aufgaben"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "Na_me"
+
+#: templates/list/task_headers.inc:46
+msgid "Na_me"
+msgstr "Na_me"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: Aufgabe %s nicht gefunden"
+
+#: data.php:52 lib/Forms/task.php:91
+msgid "Name"
+msgstr "Name"
+
+#: task.php:81 task.php:116 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Neue Aufgabe"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Weiter"
+
+#: config/prefs.php.dist:174
+msgid "No"
+msgstr "Nein"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Keine Verzögerung"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Kein Fälligkeitsdatum"
+
+#: lib/api.php:602 lib/api.php:949 lib/api.php:1007 lib/api.php:1206
+msgid "No iCalendar data was found."
+msgstr "Es wurden keine iCalendar-Daten gefunden."
+
+#: lib/Forms/task.php:53
+msgid "No parent task"
+msgstr "Keine Überaufgabe"
+
+#: lib/Recurrence.php:198
+msgid "No recurrence"
+msgstr "Keine Wiederholung"
+
+#: lib/Nag.php:673
+msgid "No task lists are available to guests."
+msgstr "Es sind keine Aufgabenlisten für Gäste verfügbar."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Keine Treffer"
+
+#: lib/Block/summary.php:250
+msgid "No tasks to display"
+msgstr "Keine Aufgaben"
+
+#: lib/Nag.php:455 lib/Forms/task.php:111 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Keiner"
+
+#: lib/Nag.php:414
+msgid "Not Completed"
+msgstr "Nicht Erledigt"
+
+#: templates/view/task.inc:18
+msgid "Not Private"
+msgstr "Nicht Privat"
+
+#: lib/api.php:809
+msgid "Not configured"
+msgstr "Nicht konfiguriert"
+
+#: config/prefs.php.dist:42
+msgid "Notifications"
+msgstr "Benachrichtigungen"
+
+#: config/prefs.php.dist:176
+msgid "On all shown task lists"
+msgstr "Bei allen angezeigten Aufgabenlisten"
+
+#: config/prefs.php.dist:177
+msgid "On all task lists I have read access to"
+msgstr "Bei allen Aufgabenlisten, für die ich Leserechte habe"
+
+#: config/prefs.php.dist:175
+msgid "On my task lists only"
+msgstr "Nur bei meinen Aufgabenlisten"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "_Pri"
+
+#: lib/Forms/task.php:98
+msgid "Parent task"
+msgstr "Überaufgabe"
+
+#: lib/api.php:818 lib/api.php:856 lib/api.php:889 lib/api.php:924
+#: lib/api.php:1043 lib/api.php:1093 lib/api.php:1155 lib/api.php:1190
+#: lib/api.php:1301 lib/api.php:1348
+msgid "Permission Denied"
+msgstr "Zugriff verweigert"
+
+#: lib/api.php:256 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Zugriff verweigert"
+
+#: data.php:59 templates/view/task.inc:34 lib/Forms/task.php:117
+#: config/prefs.php.dist:70 config/prefs.php.dist:93 config/prefs.php.dist:109
+msgid "Priority"
+msgstr "Priorität"
+
+#: templates/view/task.inc:18 lib/Driver.php:942
+msgid "Private"
+msgstr "Privat"
+
+#: data.php:60 lib/Driver.php:940
+msgid "Private Task"
+msgstr "Private Aufgabe"
+
+#: templates/view/task.inc:16 lib/Forms/task.php:112
+msgid "Private?"
+msgstr "Privat?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"Die Aufgabenliste \"%s\" wirklich löschen? Dieser Vorgang kann nicht "
+"rückgängig gemacht werden, und alle Daten in dieser Aufgabenliste werden "
+"endgültig gelöscht."
+
+#: view.php:121
+msgid "Really delete this task?"
+msgstr "Diese Aufgabe wirklich löschen?"
+
+#: templates/panel.inc:90 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:124
+#: lib/Forms/task.php:151
+msgid "Save"
+msgstr "Speichern"
+
+#: task.php:185
+#, php-format
+msgid "Saved %s."
+msgstr "%s gespeichert."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Suche"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Suchen in:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Such_text:"
+
+#: templates/panel.inc:60
+msgid "Search for Task Lists:"
+msgstr "Nach Aufgabenlisten suchen:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Suche:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Suche: Ergebnisse für \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Datum auswählen"
+
+#: config/prefs.php.dist:74
+msgid "Select the columns that should be shown in the list view:"
+msgstr ""
+"Wählen Sie die Spalten, die in der Listenansicht angezeigt werden sollen:"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Wählen Sie das Exportformat:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Wählen Sie die Datei, die importiert werden soll:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Wählen Sie das Format der importierten Datei:"
+
+#: templates/data/export.inc:20
+msgid "Select the task list(s) to export from:"
+msgstr "Wählen Sie die Aufgabenliste(n), die exportiert werden soll(en):"
+
+#: templates/data/export.inc:32
+msgid "Select the task states to export:"
+msgstr "Wählen Sie den Status der Aufgaben, die exportiert werden sollen:"
+
+#: templates/panel.inc:81
+msgid "Shared Task Lists:"
+msgstr "Gemeinsame Aufgabenlisten:"
+
+#: lib/Block/summary.php:52
+msgid "Show action buttons?"
+msgstr "Aktionsknöpfe anzeigen?"
+
+#: config/prefs.php.dist:211
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Erledigte, unerledigte oder alle Aufgaben in der Aufgabenliste anzeigen?"
+
+#: config/prefs.php.dist:198
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Daten von einer dieser Anwendungen in Ihren Aufgabenlisten anzeigen?"
+
+#: config/prefs.php.dist:58
+msgid "Show data from other applications or sources."
+msgstr "Daten von anderen Anwendungen oder Quellen anzeigen."
+
+#: lib/Block/summary.php:56
+msgid "Show due dates?"
+msgstr "Fälligkeitsdaten anzeigen?"
+
+#: lib/Block/summary.php:48
+msgid "Show priorities?"
+msgstr "Prioritäten anzeigen?"
+
+#: lib/Block/summary.php:64
+msgid "Show task alarms?"
+msgstr "Aufgabenalarme anzeigen?"
+
+#: lib/Block/summary.php:68
+msgid "Show task category?"
+msgstr "Aufgabenkategorie anzeigen?"
+
+#: config/prefs.php.dist:84
+msgid "Show task list options panel?"
+msgstr "Kasten mit Aufgabenlisteninstellungen anzeigen?"
+
+#: lib/Block/summary.php:60
+msgid "Show tasklist name?"
+msgstr "Aufgabenlistennamen anzeigen?"
+
+#: lib/Block/summary.php:85
+msgid "Show tasks from these categories"
+msgstr "Aufgaben dieser Kategorien anzeigen"
+
+#: lib/Block/summary.php:80
+msgid "Show tasks from these tasklists"
+msgstr "Aufgaben dieser Listen anzeigen"
+
+#: templates/list/task_headers.inc:56
+msgid "Sort by Assignee"
+msgstr "Sortieren nach Zuständigem"
+
+#: templates/list/task_headers.inc:60
+msgid "Sort by Category"
+msgstr "Sortieren nach Kategorie"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Sortieren nach Fortschritt"
+
+#: templates/list/task_headers.inc:52
+msgid "Sort by Due Date"
+msgstr "Sortieren nach Fälligkeitsdatum"
+
+#: templates/list/task_headers.inc:46
+msgid "Sort by Name"
+msgstr "Sortieren nach Betreff"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Sortieren nach Priorität"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Sortieren nach Benutzername"
+
+#: config/prefs.php.dist:127
+msgid "Sort direction:"
+msgstr "Sortierrichtung:"
+
+#: config/prefs.php.dist:100
+msgid "Sort tasks by:"
+msgstr "Aufgaben sortieren nach:"
+
+#: data.php:58
+msgid "Start"
+msgstr "Beginn"
+
+#: templates/view/task.inc:22
+msgid "Start Date"
+msgstr "Startdatum"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Startdatum angegeben."
+
+#: templates/tasklist_list.php:19
+msgid "Subscription URL"
+msgstr "Abonnement-Adresse"
+
+#: templates/list/task_summaries.inc:61
+msgid "Task Alarm"
+msgstr "Aufgabenalarm"
+
+#: templates/list/task_headers.inc:49
+msgid "Task Alarm?"
+msgstr "Aufgabenalarm?"
+
+#: config/prefs.php.dist:28
+msgid "Task Defaults"
+msgstr "Standardvorgaben"
+
+#: lib/Driver/sql.php:100
+msgid "Task ID not found"
+msgstr "Aufgaben-ID nicht gefunden"
+
+#: templates/tasklist_list.php:17 lib/Forms/task.php:94
+#: config/prefs.php.dist:69 config/prefs.php.dist:99 config/prefs.php.dist:115
+msgid "Task List"
+msgstr "Aufgabenliste"
+
+#: lib/Forms/EditTaskList.php:44 lib/Forms/CreateTaskList.php:37
+msgid "Task List Description"
+msgstr "Aufgabenlistenbeschreibung"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Informationen über Aufgabenliste"
+
+#: templates/tasklist_list.php:14
+msgid "Task List List"
+msgstr "Aufgabenlistenübersicht"
+
+#: lib/Forms/EditTaskList.php:43 lib/Forms/CreateTaskList.php:36
+msgid "Task List Name"
+msgstr "Aufgabenlistenname"
+
+#: config/prefs.php.dist:34 config/prefs.php.dist:41 config/prefs.php.dist:56
+msgid "Task List and Share Options"
+msgstr "Aufgabenliste- und Rechte-Einstellungen"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "Diese Aufgabenliste gehört %s."
+
+#: templates/panel.inc:54 templates/panel.inc:55
+msgid "Task Lists"
+msgstr "Aufgabenlisten"
+
+#: config/prefs.php.dist:94 config/prefs.php.dist:110
+msgid "Task Name"
+msgstr "Betreff"
+
+#: templates/list/task_summaries.inc:59
+msgid "Task Note"
+msgstr "Bemerkung"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Note?"
+msgstr "Bemerkung?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Aufgabensuche"
+
+#: lib/Driver/sql.php:136
+msgid "Task UID not found"
+msgstr "Aufgaben-UID nicht gefunden."
+
+#: lib/Nag.php:781
+msgid "Task added:"
+msgstr "Neue Aufgabe:"
+
+#: lib/Nag.php:885
+msgid "Task deleted:"
+msgstr "Aufgabe gelöscht:"
+
+#: lib/Nag.php:903
+msgid "Task description:"
+msgstr "Aufgabenbeschreibung:"
+
+#: lib/Nag.php:790
+msgid "Task modified:"
+msgstr "Aufgabe geändert:"
+
+#: task.php:95 view.php:43
+msgid "Task not found."
+msgstr "Aufgabe nicht gefunden."
+
+#: lib/api.php:747
+msgid "Tasklist does not exist or no permission to delete"
+msgstr "Die Aufgabenliste existiert nicht oder keine Berechtigung zu löschen."
+
+#: lib/api.php:577
+msgid "Tasklist does not exist or no permission to edit"
+msgstr "Die Aufgabenliste existiert nicht oder keine Berechtigung zum Ändern."
+
+#: lib/api.php:1270
+msgid "Tasks"
+msgstr "Aufgaben"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Aufgabenübersicht"
+
+#: lib/api.php:394
+#, php-format
+msgid "Tasks from %s"
+msgstr "Aufgaben aus %s"
+
+#: data.php:212
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Die %s-Datei enthielt keine Aufgaben."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Der Aufgabenserver ist zur Zeit nicht verfügbar."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Der Aufgabenserver ist zur Zeit nicht verfügbar: %s"
+
+#: lib/Forms/task.php:184
+msgid "The alarm value must not be empty."
+msgstr "Der Alarmwert darf nicht leer sein."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Die aktuelle Uhrzeit"
+
+#: lib/Nag.php:784
+#, php-format
+msgid ""
+"The task \"%s\" has been added to task list \"%s\", with a due date of: %s."
+msgstr ""
+"Die Aufgabe \"%s\", die am %3$s fällig ist, wurde zur Aufgabenliste \"%2$s\" "
+"hinzugefügt."
+
+#: lib/Nag.php:889
+#, php-format
+msgid "The task \"%s\" has been deleted from task list \"%s\"."
+msgstr "Die Aufgabe \"%s\" wurde aus der Aufgabenliste \"%s\" gelöscht."
+
+#: lib/Nag.php:793
+#, php-format
+msgid "The task \"%s\" has been edited on task list \"%s\"."
+msgstr "Die Aufgabe \"%s\" wurde in der Aufgabenliste \"%s\" geändert."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Die Aufgabenliste \"%s\" wurde erstellt."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Die Aufgabenliste \"%s\" wurde gelöscht."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "Die Aufgabenliste \"%s\" wurde nach \"%s\" umbenannt."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Die Aufgabenliste \"%s\" wurde gespeichert."
+
+#: config/prefs.php.dist:116
+msgid "Then:"
+msgstr "Dann:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Es gibt keine Aufgaben, die den Suchkriterien entsprechen."
+
+#: task.php:216
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Beim Erledigen von %s ist ein Problem aufgetreten: %s"
+
+#: task.php:33
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Beim Löschen von %s ist ein Problem aufgetreten: %s"
+
+#: task.php:183
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Beim Speichern der Aufgabe ist ein Fehler aufgetreten: %s."
+
+#: data.php:215
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Beim Importieren der Daten ist ein Fehler aufgetreten: %s"
+
+#: lib/api.php:594 lib/api.php:941 lib/api.php:1200
+msgid "There was an error importing the iCalendar data."
+msgstr "Beim Importieren der iCalendar Daten ist ein Fehler aufgetreten."
+
+#: lib/api.php:206
+#, php-format
+msgid "There was an error removing tasks for %s. Details have been logged."
+msgstr ""
+"Beim Löschen der Aufgaben von %s ist ein Fehler aufgetreten. Details wurden "
+"protokolliert."
+
+#: data.php:94
+msgid "There were no tasks to export."
+msgstr "Es konnten keine Aufgaben zum Exportieren gefunden werden."
+
+#: data.php:143
+msgid "This file format is not supported."
+msgstr "Dieses Dateiformat wird nicht unterstützt."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "Diese Aufgabenliste kann nicht gelöscht werden."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Um diese Aufgabenliste mit einem anderen Programm zu abonnieren, verwenden "
+"Sie die folgende Adresse:"
+
+#: lib/Nag.php:844
+msgid "Turned privacy off"
+msgstr "Als privat markiert"
+
+#: lib/Nag.php:844
+msgid "Turned privacy on"
+msgstr "Nicht mehr als privat markiert"
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "\"%s\" kann nicht gelöscht werden: %s"
+
+#: lib/api.php:768
+#, php-format
+msgid "Unable to delete tasklist \"%s\": %s"
+msgstr "Die Aufgabenliste \"%s\" kann nicht gelöscht werden: %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Der %s-Treiber konnte nicht geladen werden."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Die Aufgabenliste \"%s\" kann nicht gespeichert werden: %s"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:72
+#: lib/Nag.php:1071 lib/Nag.php:1072 lib/Nag.php:1086 lib/Nag.php:1087
+#: lib/Forms/task.php:107 lib/Block/summary.php:35 lib/Block/summary.php:243
+msgid "Unfiled"
+msgstr "Nicht zugeordnet"
+
+#: data.php:64
+msgid "Unique ID"
+msgstr "Eindeutige ID"
+
+#: lib/api.php:701 lib/api.php:1014 lib/api.php:1068 lib/api.php:1117
+#: lib/api.php:1238
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Nicht unterstützer Inhaltstyp: %s"
+
+#: lib/Driver.php:1119
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Dies ist eine Erinnerung an diese fällige Aufgabe.\n"
+"\n"
+"%s\n"
+"\n"
+"Datum: %s\n"
+"Zeit: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:442 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Woche(n)"
+
+#: lib/Recurrence.php:200
+msgid "Weekly"
+msgstr "Wöchentlich"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Zur welcher Zeit sollen Aufgaben standardmäßig fällig sein?"
+
+#: config/prefs.php.dist:154
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Wieviele Tage in der Zukunft soll das Fälligkeitsdatum von neuen Aufgaben "
+"standardmäßig liegen (0 bedeutet heute)?"
+
+#: config/prefs.php.dist:145
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "Soll eine neue Aufgabe standardmäßig ein Fälligkeitsdatum haben?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Zu welcher Aufgabenliste sollen die Aufgaben hinzugefügt werden?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Jahr"
+
+#: lib/Recurrence.php:205
+msgid "Yearly"
+msgstr "Jährlich"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Sie dürfen diese Aufgabenliste nicht ändern."
+
+#: data.php:41 data.php:168 task.php:68
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Sie dürfen nicht an mehr als %d Aufgaben erstellen."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Sie dürfen diese Aufgabenliste nicht löschen."
+
+#: lib/api.php:143
+msgid "You are not allowed to remove user data."
+msgstr "Sie dürfen keine Benutzerdaten löschen."
+
+#: view.php:54
+msgid "You do not have permission to view this tasklist."
+msgstr "Sie haben nicht genügend Rechte, um diese Aufgabenliste anzuzeigen."
+
+#: lib/Nag.php:782
+msgid "You requested to be notified when tasks are added to your task lists."
+msgstr ""
+"Sie wollten benachrichtigt werden, wenn Aufgaben zu Ihren Aufgabenlisten "
+"hinzugefügt werden."
+
+#: lib/Nag.php:887
+msgid ""
+"You requested to be notified when tasks are deleted from your task lists."
+msgstr ""
+"Sie wollten benachrichtigt werden, wenn Aufgaben aus Ihren Aufgabenlisten "
+"gelöscht werden."
+
+#: lib/Nag.php:791
+msgid "You requested to be notified when tasks are edited on your task lists."
+msgstr ""
+"Sie wollten benachrichtigt werden, wenn Aufgaben in Ihren Aufgabenlisten "
+"geändert werden."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Ihre Standard-Aufgabenliste:"
+
+#: templates/panel.inc:67
+msgid "[Manage Task Lists]"
+msgstr "[Aufgabenlisten verwalten]"
+
+#: templates/list/task_summaries.inc:49 lib/Block/summary.php:118
+#: lib/Block/summary.php:226
+msgid "[none]"
+msgstr "[keine]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Alle Aufgaben"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Alle Aufgaben"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Kategorie"
+
+#: view.php:114
+msgid "_Complete"
+msgstr "E_rledigen"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "E_rledigte Aufgaben"
+
+#: view.php:121
+msgid "_Delete"
+msgstr "Lös_chen"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "Besch_reibung"
+
+#: templates/list/task_headers.inc:52
+msgid "_Due Date"
+msgstr "_Fälligkeitsdatum"
+
+#: view.php:117
+msgid "_Edit"
+msgstr "_Bearbeiten"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "_Zukünftige Aufgaben"
+
+#: lib/Nag.php:621
+msgid "_Import/Export"
+msgstr "_Import/Export"
+
+#: lib/Nag.php:608
+msgid "_List Tasks"
+msgstr "Aufgaben_liste"
+
+#: lib/Nag.php:613
+msgid "_New Task"
+msgstr "_Neue Aufgabe"
+
+#: lib/Nag.php:626
+msgid "_Print"
+msgstr "_Drucken"
+
+#: lib/Nag.php:617
+msgid "_Search"
+msgstr "_Suche"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Aufga_benliste"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "am"
+
+#: view.php:75 view.php:84
+#, php-format
+msgid "by %s"
+msgstr "durch %s"
+
+#: view.php:77 view.php:86
+msgid "by me"
+msgstr "durch mich"
+
+#: lib/Nag.php:876 lib/Nag.php:877
+msgid "completed"
+msgstr "erledigt"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "in %s"
+
+#: lib/Nag.php:849 lib/Nag.php:850 lib/Nag.php:901
+msgid "no due date"
+msgstr "keins"
+
+#: lib/Nag.php:816 lib/Nag.php:817
+msgid "no parent"
+msgstr "keine"
+
+#: lib/Nag.php:855 lib/Nag.php:856
+msgid "no start date"
+msgstr "keins"
+
+#: lib/Nag.php:84
+msgid "no time"
+msgstr "keine Zeit"
+
+#: lib/Nag.php:876 lib/Nag.php:877
+msgid "not completed"
+msgstr "nicht erledigt"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "pm"
+
+#: data.php:114 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "aufgaben.csv"
+
+#: data.php:128
+msgid "tasks.ics"
+msgstr "aufgaben.ics"
--- /dev/null
+# Nag Greek translation
+# Copyright 2002 Stefanos I. Dimitriou.
+# Stefanos I. Dimitriou <support_webmail@teiath.gr>, 2002.
+# Silligardos Xristoforos, 2002.
+# Anagnostopoulos Apostolis, 2002.
+# Milosis C. Konstantinos, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag: 1.1-cvs\n"
+"POT-Creation-Date: 2002-11-07 12:15+0200\n"
+"PO-Revision-Date: 2002-11-12 12:15+0200\n"
+"Last-Translator: Konstantinos C. Milosis <kmilosis@yahoo.com>\n"
+"Language-Team: Greek <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-7\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: lib/Nag.php:39
+msgid "%d hour"
+msgstr "%d þñá"
+
+#: lib/Nag.php:41
+msgid "%d hour, %d minute"
+msgstr "%d þñá, %d ëåðôü"
+
+#: lib/Nag.php:43
+msgid "%d hour, %d minutes"
+msgstr "%d þñá, %d ëåðôÜ"
+
+#: lib/Nag.php:31
+msgid "%d hours"
+msgstr "%d þñåò"
+
+msgid "%d hours, %d minute"
+msgstr "%d þñåò, %d ëåðôü"
+
+#: lib/Nag.php:35
+msgid "%d hours, %d minutes"
+msgstr "%d þñåò, %d ëåðôÜ"
+
+#: lib/Nag.php:49
+msgid "%d minute"
+msgstr "%d ëåðôü"
+
+#: lib/Nag.php:51
+msgid "%d minutes"
+msgstr "%d ëåðôÜ"
+
+# StundeStundenn, c-format
+msgid "%d tasks"
+msgstr "%d åñãáóßåò"
+
+#: lib/Nag.php:322
+msgid "%s at %s"
+msgstr "%s óå %s"
+
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:127
+#, c-format
+msgid "%s file successfully imported"
+msgstr "Ôï áñ÷åßï %s åéóÞ÷èçêå åðéôõ÷þò"
+
+#: lib/Nag.php:443 lib/Block/summary.php:92
+msgid "%s is due in %s"
+msgstr "%s ëÞãåé óå %s"
+
+#: lib/Nag.php:441 lib/Block/summary.php:90
+msgid "%s is due now."
+msgstr "%s ëÞãåé ôþñá."
+
+#: data.php:140
+msgid "%s successfully imported"
+msgstr "%s åéóÞ÷èç åðéôõ÷þò"
+
+#: tasklists.php:100 lib/base.php:101
+msgid "%s's Task List"
+msgstr "Ëßóôá åñãáóéþí ôïõ %s"
+
+#: lib/Nag.php:280
+msgid "(highest)"
+msgstr "(Õøçëüôáôï)"
+
+#: lib/Nag.php:280
+msgid "(lowest)"
+msgstr "(×áìçëüôáôï)"
+
+msgid "1 task"
+msgstr "1 åñãáóßá"
+
+#: task.php:258
+msgid "Access denied completing task %s."
+msgstr "Ðñüóâáóç áðïññßöèçêå êáôÜ ôçí ïëïêëÞñùóç ôçò åñãáóßáò %s."
+
+#: task.php:232
+msgid "Access denied deleting %s."
+msgstr "Ðñüóâáóç áðïññßöèçêå êáôÜ ôçí äéáãñáöÞ ôçò åñãáóßáò %s."
+
+#: /home/httpd/html/horde_cvs/po/../nag/task.php:207
+#, c-format
+msgid "Access denied deleteing task: %s"
+msgstr "Áñíçóç ðñüóâáóçò êáôÜ ôç äéáãñáöÞ ôçò åñãáóßáò: %s"
+
+#: /home/httpd/html/horde_cvs/po/../nag/task.php:236
+#, c-format
+msgid "Access denied modifying task: %s"
+msgstr "Áñíçóç ðñüóâáóçò êáôÜ ôç ìåôáâïëÞ ôçò åñãáóßáò: %s"
+
+#: task.php:198
+msgid "Access denied moving the task to %s."
+msgstr "Ðñüóâáóç áðïññßöèçêå êáôÜ ôçí ìåôáöïñÜ ôçò åñãáóßáò %s."
+
+#: task.php:201
+msgid "Access denied removing task from %s."
+msgstr "Ðñüóâáóç áðïññßöèçêå êáôÜ ôç äéáãñáöÞ åñãáóßáò áðü ôïí %s."
+
+#: task.php:133
+msgid "Access denied saving task to %s."
+msgstr "Ðñüóâáóç áðïññßöèçêå êáôÜ ôçí áðïèÞêåõóç åñãáóßáò óôïí %s."
+
+#: task.php:131
+msgid "Access denied saving task: %s"
+msgstr "Ðñüóâáóç áðïññßöèçêå êáôÜ ôçí áðïèÞêåõóç åñãáóßáò: %s."
+
+msgid "Adding A New Task"
+msgstr "ÐñïóèÞêç ìßáò ÍÝáò Åñãáóßáò"
+
+#: templates/task/task.inc:68
+msgid "Ala_rm"
+msgstr "Óõíáãåñìüò"
+
+#: templates/view/task.inc:37
+msgid "Alarm"
+msgstr "Óõíáãåñìüò"
+
+#: config/prefs.php.dist:98
+msgid "All tasks"
+msgstr "Ïëåò ïé åñãáóßåò"
+
+msgid "Allows categories to be added/removed/renamed."
+msgstr "Åðåîåñãáóßá ôùí êáôçãïñéþí Äçìéïõñãßá/ÄéáãñáöÞ/Ìåôïíïìáóßá."
+
+#: lib/Block/summary.php:55
+msgid "Always show completed tasks?"
+msgstr "Íá åìöáíßæïíôáé ðÜíôá ïé ïëïêëçñùìÝíåò åñãáóßåò;"
+
+#: lib/Block/summary.php:52
+msgid "Always show overdue tasks?"
+msgstr "Íá åìöáíßæïíôáé ðÜíôá ïé ëçîéðñüèåóìåò åñãáóßåò;"
+
+# /home/httpd/html/horde_cvs/po/../nag/templates/prefs/category_management.inc 41
+#: /home/httpd/html/horde_cvs/po/../nag/templates/prefs/category_management.inc
+msgid "Any tasks in a category that is deleted will become %s."
+msgstr "¼ëåò ïé åñãáóßåò ìéáò êáôçãïñßáò ðïõ äéáãñÜöåôå èá ãßíïõí %s."
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "Åßóôå óßãïõñïé üôé èÝëåôå íá äéáãñÜøåôå ÌÏÍÉÌÁ áõôÝò ôéò åñãáóßåò;"
+
+msgid "Ascending"
+msgstr "Áýîïõóá"
+
+msgid "Back to Task List"
+msgstr "ÅðéóôñïöÞ óôç ëßóôá ìå ôéò åñãáóßåò"
+
+msgid "Category Management"
+msgstr "Äéá÷åßñéóç Êáôçãïñéþí"
+
+#: templates/task/task.inc:57
+msgid "Calendar"
+msgstr "Çìåñïëüãéï"
+
+#: templates/list/task_headers.inc:30
+msgid "Cat_egory"
+msgstr "Êáôçãïñßá"
+
+msgid "Category"
+msgstr "Êáôçãïñßá"
+
+msgid "Change"
+msgstr "ÁëëáãÞ"
+
+#: templates/list/task_headers.inc:4 templates/list/task_headers.inc:8
+#: templates/list/task_headers.inc:12 templates/list/task_headers.inc:19
+#: templates/list/task_headers.inc:25 templates/list/task_headers.inc:29
+msgid "Change sort direction"
+msgstr "ÁëëáãÞ êáôåýèõíóçò Ôáîéíüìçóçò"
+
+msgid "Change your task sorting and display options."
+msgstr "ÁëëáãÞ ôçò ôáîéíüìçóçò êáé ôùí åðéëïãþí åìöÜíéóçò."
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "ÁëëÜ÷ôçêáí óå %d åñãáóßåò ç ðñïôåñáéüôçôá óå %d."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "ÁëëÜ÷ôçêå ìßá åñãáóßá óå ðñïôåñáéüôçôá %d."
+
+msgid "Choose Action:"
+msgstr "ÅðéëÝîôå ÅíÝñãåéá:"
+
+#: config/prefs.php.dist:22
+msgid "Choose your default task list."
+msgstr "ÅðéëÝîôå ôçí ðñïêáèïñéóìÝíç óáò ëßóôá åñãáóéþí."
+
+msgid "Clear Form"
+msgstr "Êáèáñéóìüò Öüñìáò"
+
+#: templates/task/task.inc:89
+msgid "Co_mpleted?"
+msgstr "Ïëïêëçñþèçêå;"
+
+#: templates/view/task.inc:13
+msgid "Complete"
+msgstr "ÏëïêëÞñùóç"
+
+msgid "Complete Task"
+msgstr "ÏëïêëÞñùóç Åñãáóßáò"
+
+msgid "Complete Tasks"
+msgstr "ÏëïêëÞñùóç Åñãáóéþí"
+
+msgid "Completed %s."
+msgstr "Ïëïêëçñþèçêå %s."
+
+msgid "Completed?"
+msgstr "Ïëïêëçñþèçêå;"
+
+msgid "Completion Status"
+msgstr "ÊáôÜóôáóç ðñïüäïõ åñãáóßáò"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Äçìéïõñãßá"
+
+#: templates/view/task.inc:51
+msgid "Created"
+msgstr "ÄçìéïõñãÞèçêå"
+
+msgid "Create New Category"
+msgstr "Äçìéïõñãßá ÍÝáò Êáôçãïñßáò"
+
+#: templates/task/task.inc:77 lib/Nag.php:368
+msgid "Day(s)"
+msgstr "ÇìÝñá(åò)"
+
+#: config/prefs.php.dist:21
+msgid "Default Task List"
+msgstr "ÐñïêáèïñéóìÝíç Ëßóôá Åñãáóéþí"
+
+msgid "Default sorting criteria:"
+msgstr "ÐñïåðéëåãìÝíï êñéôÞñéï ôáîéíüìçóçò:"
+
+msgid "Default sorting direction:"
+msgstr "ÐñïåðéëåãìÝíç êáôåýèõíóç ôáîéíüìçóçò:"
+
+msgid "Delete Task"
+msgstr "ÄéáãñáöÞ Åñãáóßáò"
+
+msgid "Delete Tasks"
+msgstr "ÄéáãñáöÞ Åñãáóéþí"
+
+msgid "Delete"
+msgstr "ÄéáãñáöÞ"
+
+#: task.php:240
+msgid "Deleted %s."
+msgstr "ÄéáãñÜöçêå %s."
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "ÄéáãñÜöçêáí %d åñãáóßåò."
+
+msgid "Deleted 1 task."
+msgstr "ÄéáãñÜöçêå 1 åñãáóßá."
+
+msgid "Descending"
+msgstr "Öèßíïõóá"
+
+msgid "Description"
+msgstr "ÐåñéãñáöÞ"
+
+msgid "Description:"
+msgstr "ÐåñéãñáöÞ:"
+
+msgid "Display Options"
+msgstr "ÅðéëïãÝò ÅìöÜíéóçò"
+
+msgid "Due By"
+msgstr "ËÞîç"
+
+msgid "Due Date"
+msgstr "Çìåñïìçíßá ËÞîçò"
+
+msgid "Edit"
+msgstr "Åðåîåñãáóßá"
+
+msgid "Edit Task"
+msgstr "Åðåîåñãáóßá Åñãáóßáò"
+
+#: /home/httpd/html/horde_cvs/po/../nag/config/prefs.php.dist:121
+msgid "Edit your task lists."
+msgstr "Åðåîåñãáóßá ôçò ëßóôáò åñãáóéþí óáò."
+
+#: templates/data/export.inc:22
+msgid "Export"
+msgstr "ÅîáãùãÞ"
+
+#: templates/data/export.inc:8
+msgid "Export Tasks"
+msgstr "ÅîáãùãÞ Åñãáóéþí"
+
+#: config/prefs.php.dist:33
+msgid "External Data"
+msgstr "ÅîùôåñéêÜ ÄåäïìÝíá"
+
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:158
+msgid "Flags"
+msgstr "'Óçìáßåò' óÞìáíóçò (flags)"
+
+#: config/prefs.php.dist:13
+msgid "General Options"
+msgstr "ÃåíéêÝò ÅðéëïãÝò"
+
+msgid "Help"
+msgstr "ÂïÞèåéá"
+
+#: templates/task/task.inc:76 lib/Nag.php:371
+msgid "Hour(s)"
+msgstr "Ùñá(åò)"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/data/import.inc:19
+msgid "If importing CSV data: does the first row contain the field names?"
+msgstr ""
+"Áí åéóÜãåôå CSV äåäïìÝíá: ÐåñéÝ÷åé ç ðñþôç ãñáììÞ ôá ïíüìáôá ôùí ðåäßùí;"
+
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:136
+msgid "Illegal or malformed form data."
+msgstr "ÌÞ Ýãêõñá Þ ìç óùóôÞò ìïñöÞò äåäïìÝíá."
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/data/import.inc:7
+msgid "Import Tasks"
+msgstr "ÅéóáãùãÞ Åñãáóéþí"
+
+#: templates/data/import.inc:9
+msgid "Import Tasks, Step %d"
+msgstr "ÅéóáãùãÞ Åñãáóéþí, ÂÞìá %d"
+
+msgid "Import/Export"
+msgstr "ÅéóáãùãÞ/ÅîáãùãÞ"
+
+#: data.php:146
+msgid "Import/Export Tasks"
+msgstr "ÅéóáãùãÞ/ÅîáãùãÞ Åñãáóéþí"
+
+#: list.php:77
+msgid "Incom_plete tasks"
+msgstr "ÁíïëïêëÞñùôåò åñãáóßåò"
+
+#: config/prefs.php.dist:99
+msgid "Incomplete tasks"
+msgstr "ÁíïëïêëÞñùôåò åñãáóßåò"
+
+msgid "Language"
+msgstr "Ãëþóóá"
+
+#: templates/view/task.inc:58
+msgid "Last Modified"
+msgstr "Ôåëåõôáßá ôñïðïðïßçóç"
+
+msgid "List Tasks"
+msgstr "Ëßóôá Åñãáóéþí"
+
+#: /home/httpd/html/horde_cvs/po/../nag/config/prefs.php.dist:22
+msgid "Manage multiple task lists."
+msgstr "Äéá÷åßñéóç ðïëëáðëþí ëéóôþí åñãáóéþí."
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "Óçìåéþèçêáí %d åñãáóßåò ùò ïëïêëçñùìÝíåò."
+
+msgid "Marked 1 task as completed."
+msgstr "Óçìåéþèçêå 1 åñãáóßá ùò ïëïêëçñùìÝíç."
+
+msgid "Marked task as completed."
+msgstr "Óçìåßùóç åñãáóßáò ùò ïëïêëçñùìÝíçò."
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/tasklists/members/manage.inc:36
+msgid "Member's Permission:"
+msgstr "ÅîïõóéïäïôÞóåéò Ìåëþí:"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/tasklists/members/manage.inc:25
+msgid "Member's email address:"
+msgstr "email äéåýèõíóç Ìåëþí:"
+
+#: /home/httpd/html/horde_cvs/po/../nag/tasklists/members.php:111
+msgid "Members List"
+msgstr "Ëßóôá Ìåëþí"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/tasklists/members/manage.inc:6
+msgid "Members List for Task List"
+msgstr "Ëßóôá Ìåëþí ãéá Ëßóôá Åñãáóéþí"
+
+#: templates/task/task.inc:75 lib/Nag.php:374
+msgid "Minute(s)"
+msgstr "Ëåðôü(á)"
+
+msgid "Modify Task"
+msgstr "Åðåîåñãáóßá Åñãáóßáò"
+
+msgid "Modifying:"
+msgstr "Åðåîåñãáóßá:"
+
+#: /home/httpd/html/horde_cvs/po/../nag/lib/base.php:97
+#: /home/httpd/html/horde_cvs/po/../nag/tasklists/prefs.php:108
+msgid "My Task List"
+msgstr "Ç Ëßóôá Åñãáóéþí ìïõ"
+
+#: list.php:40
+msgid "My Tasks"
+msgstr "Ïé Åñãáóßåò ìïõ"
+
+msgid "Nag is not properly configured"
+msgstr "Ôï ðñüãñáììá Nag äåí Ý÷åé ñõèìéóôåß óùóôÜ"
+
+#: templates/search/search.inc:21 templates/task/task.inc:12
+msgid "N_ame"
+msgstr "Ïíïìá"
+
+#: templates/list/task_headers.inc:20
+msgid "Na_me"
+msgstr "Ïíïìá"
+
+msgid "Name"
+msgstr "¼íïìá"
+
+msgid "New Category"
+msgstr "ÍÝá Êáôçãïñßá"
+
+msgid "New Task"
+msgstr "ÍÝá Åñãáóßá"
+
+msgid "Next"
+msgstr "Åðüìåíï"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "Äåí Ý÷ïõí ñõèìéóôåß ïé ðëçñïöïñßåò ãéá ôéò åñãáóßåò óôçí SQL."
+
+msgid "No due date."
+msgstr "×ùñßò Çìåñïìçíßá ËÞîçò"
+
+#: lib/Nag.php:457
+msgid "No task lists are available to guests."
+msgstr "Äåí õðÜñ÷åé äéáèÝóéìç ëßóôá åñãáóéþí ãéá öéëïîåíïõìåíïõò (guests)."
+
+#: lib/Block/summary.php:186
+msgid "No tasks to display"
+msgstr "Äåí õðÜñ÷ïõí åñãáóßåò ãéá åìöÜíéóç"
+
+msgid "No tasks were changed."
+msgstr "Êáìßá åñãáóßá äåí ôñïðïðïéÞèçêå."
+
+msgid "No tasks were deleted."
+msgstr "Êáìßá åñãáóßá äåí äéáãñÜöçêå."
+
+msgid "No"
+msgstr "¼÷é"
+
+#: templates/task/task.inc:71 lib/Nag.php:378
+msgid "None"
+msgstr "ÊáíÝíá"
+
+#: lib/Nag.php:338
+msgid "Not Completed"
+msgstr "Äåí Ïëïêëçñþèçêå"
+
+msgid "None specified"
+msgstr "Äåí Ðñïóäéïñßóôçêå ÊáíÝíá"
+
+msgid "Options"
+msgstr "ÅðéëïãÝò"
+
+msgid "Other Options"
+msgstr "Áëëåò ÅðéëïãÝò"
+
+#: config/prefs.php.dist:50 config/prefs.php.dist:65
+msgid "Owner"
+msgstr "ÉäéïêôÞôçò"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Rechte"
+
+#: lib/api.php:254 lib/api.php:339 lib/api.php:410 lib/api.php:441
+msgid "Permission Denied"
+msgstr "Áñíçóç Ðñüóâáóçò"
+
+#: lib/api.php:86
+msgid "Permission denied"
+msgstr "Áñíçóç Ðñüóâáóçò"
+
+msgid "Please enter a name for the new category:"
+msgstr "Ðáñáêáëþ äþóôå Ýíá ôï üíïìá ãéá ôçí íÝá Êáôçãïñßá:"
+
+msgid "Please enter a new name for this category:"
+msgstr "Ðáñáêáëþ äþóôå Ýíá íÝï üíïìá ãéá áõôÞ ôçí Êáôçãïñßá:"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "Äþóôå ôçí Ðñïôåñáéüôçôá ôçò Åñãáóßáò (1-5):"
+
+#: templates/list/task_headers.inc:13
+msgid "P_ri"
+msgstr "Ðñïô"
+
+msgid "Pri"
+msgstr "Ðñïô"
+
+msgid "Print"
+msgstr "Åêôýðùóç"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr ""
+"Ïé ðñïôåñáéüôçôåò ðñÝðåé íá åßíáé ìåôáîý ôïõ 1 êáé ôïõ 5. Ðáñáêáëþ äþóôå ìßá "
+"Ýãêõñç ôéìÞ:"
+
+msgid "Priority"
+msgstr "Ðñïôåñáéüôçôá"
+
+msgid "Problem?"
+msgstr "Ðñüâëçìá;"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/tasklists/members/manage.inc:42
+msgid "Read"
+msgstr "ÁíÜãíùóç"
+
+msgid "Refresh List"
+msgstr "ÁíáíÝùóç Ëßóôáò"
+
+msgid "Rename"
+msgstr "Ìåôïíïìáóßá"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "Ç áðáéôïýìåíç âÜóç äåäïìÝíùí äåí Ý÷åé êáèïñéóôåß ãéá ôéò åñãáóßåò."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "Ôï áðáéôïýìåíï 'hostspec' äåí Ý÷åé êáèïñéóôåß ãéá ôéò åñãáóßåò."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "Ôï áðáéôïýìåíï 'password' äåí Ý÷åé êáèïñéóôåß ãéá ôéò åñãáóßåò."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "Ôï áðáéôïýìåíï 'phptype' äåí Ý÷åé êáèïñéóôåß ãéá ôéò åñãáóßåò."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "Ôï áðáéôïýìåíï 'table' äåí Ý÷åé êáèïñéóôåß ãéá ôéò åñãáóßåò."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "Ôï áðáéôïýìåíï 'username' äåí Ý÷åé êáèïñéóôåß ãéá ôéò åñãáóßåò."
+
+msgid "Reset"
+msgstr "ÅðáíáöïñÜ"
+
+msgid "Save Task"
+msgstr "ÁðïèÞêåõóç Åñãáóßáò"
+
+#: task.php:215
+msgid "Saved %s."
+msgstr "Áðïèçêåýèõêå %s."
+
+msgid "Search Results"
+msgstr "ÁðïôÝëåóìáôá ÁíáæÞôçóçò"
+
+#: templates/search/search.inc:10
+msgid "Search _Text"
+msgstr "ÁíáæÞôçóç ÊåéìÝíïõ"
+
+msgid "Search Scope"
+msgstr "Åõñïò ÁíáæÞôçóçò"
+
+msgid "Search Text"
+msgstr "Êåßìåíï ðïõ èá áíáæçôçèåß"
+
+msgid "Search"
+msgstr "ÁíáæÞôçóç"
+
+msgid "Select Category"
+msgstr "ÅðéëïãÞ Êáôçãïñßáò"
+
+#: templates/task/task.inc:57
+msgid "Select a date"
+msgstr "ÅðéëÝîôå çìåñïìçíßá"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "ÅðéëÝîôå ìéá ëßóôá åñãáóéþí"
+
+#: templates/data/export.inc:15
+msgid "Select the export format:"
+msgstr "ÅðéëÝîôå ôç ìïñöÞ åîáãùãÞò:"
+
+#: templates/data/import.inc:40
+msgid "Select the file to import:"
+msgstr "ÅðéëÝîôå ôï áñ÷åßï ãéá åéóáãùãÞ:"
+
+#: templates/data/import.inc:16
+msgid "Select the format of the source file:"
+msgstr "ÅðéëÝîôå ôç ìïñöÞ ôïõ åéóáãþìåíïõ áñ÷åßïõ:"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/data/import.inc:14
+msgid "Select the source to import from:"
+msgstr "ÅðéëÝîôå ôï áñ÷åßï áðü ôï ïðïßï èá ãßíåé ç åéóáãùãÞ:"
+
+msgid "Select your preferred language:"
+msgstr "ÅðéëïãÞ ôçò ðñïôéìïýìåíçò ãëþóóáò"
+
+msgid "Selected?"
+msgstr "ÅðéëåãìÝíï;"
+
+msgid "Set Task Priority"
+msgstr "Êáèïñéóìüò Ðñïôåñáéüôçôáò Åñãáóßáò"
+
+msgid "Set the your preferred display language."
+msgstr "Êáèïñßóôå ôçí ðñïôéìïýìåíç ãëþóóá åìöÜíéóçò."
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/tasklists/manage.inc:36
+msgid "Shared"
+msgstr "Êïéíü÷ñçóôï"
+
+msgid "Show"
+msgstr "ÅìöÜíéóç"
+
+msgid "Show:"
+msgstr "ÅìöÜíéóç:"
+
+#: templates/menu.inc:14
+msgid "Show Tasklists:"
+msgstr "ÅìöÜíéóç Ëßóôáò Åñãáóéþí:"
+
+#: lib/Block/summary.php:37
+msgid "Show action buttons?"
+msgstr "ÅìöÜíéóç ðëÞêôñùí åíåñãåéþí;"
+
+#: config/prefs.php.dist:101
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "ÅìöÜíéóç ïëïêëçñùìÝíùí, áíïëïêëÞñùôùí, Þ üëùí ôùí åñãáóéþí óôç ëßóôá;"
+
+msgid "Show completed tasks in the task list?"
+msgstr ""
+"Íá åìöáíßæïíôáé ïé åñãáóßåò ðïõ Ý÷ïõí ïëïêëçñùèåß óôç ëßóôá ìå ôéò åñãáóßåò;"
+
+#: config/prefs.php.dist:88
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+"ÅìöÜíéóç äåäïìÝíùí áðü ïðïéáäÞðïôå áðü áõôÝò ôéò åöáñìïãÝò óôç ëßóôá "
+"åñãáóéþí óáò;"
+
+#: config/prefs.php.dist:34
+msgid "Show data from other applications or sources."
+msgstr "ÅìöÜíéóç äåäïìÝíùí áðü Üëëåò åöáñìïãÝò Þ ðçãÝò."
+
+#: lib/Block/summary.php:40
+msgid "Show due dates?"
+msgstr "ÅìöÜíéóç çìåñïìçíéþí ëÞîçò;"
+
+msgid "Show due dates in the summary view?"
+msgstr "Íá åìöáíßæïíôáé ïé çìåñïìçíßåò ïëïêëÞñùóçò óôçí ðåñßëçøç ôçò åñãáóßáò;"
+
+msgid "Show priorities in the summary view?"
+msgstr "Íá åìöáíßæïíôáé ïé ðñïôåñáéüôçôåò óôçí ðåñßëçøç ôçò åñãáóßáò;"
+
+#: lib/Block/summary.php:34
+msgid "Show priorities?"
+msgstr "ÅìöÜíéóç ðñïôåñáéïôÞôùí;"
+
+#: lib/Block/summary.php:46
+msgid "Show task alarms?"
+msgstr "ÅìöÜíéóç óõíáãåñìþí åñãáóéþí;"
+
+#: lib/Block/summary.php:49
+msgid "Show task category?"
+msgstr "ÅìöÜíéóç êáôçãïñßáò åñãáóßáò;"
+
+#: lib/Block/summary.php:43
+msgid "Show tasklist name?"
+msgstr "ÅìöÜíéóç ïíüìáôïò ëßóôáò åñãáóéþí"
+
+#: lib/Block/summary.php:58
+msgid "Show tasks from these categories"
+msgstr "ÅìöÜíéóç åñãáóéþí áõôþí ôùí êáôçãïñéþí"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "ÊÜðïéá áðü ôá áñ÷åßá ñõèìßóåùí ôïõ ðñïãñÜììáôïò Nag Ý÷ïõí ÷áèåß:"
+
+msgid "Sort Direction"
+msgstr "Êáôåýèõíóç Ôáîéíüìçóçò"
+
+msgid "Sort by Category"
+msgstr "Ôáîéíüìçóç ÊáôÜ Êáôçãïñßá"
+
+msgid "Sort by Completion Status"
+msgstr "Ôáîéíüìçóç ÊáôÜ ÊáôÜóôáóç ÏëïêëÞñùóçò"
+
+msgid "Sort by Due Date"
+msgstr "Ôáîéíüìçóç ÊáôÜ Çìåñïìçíßá ËÞîçò"
+
+msgid "Sort by Name"
+msgstr "Ôáîéíüìçóç ÊáôÜ ¼íïìá"
+
+msgid "Sort by Priority"
+msgstr "Ôáîéíüìçóç ÊáôÜ Ðñïôåñáéüôçôá"
+
+#: templates/list/task_headers.inc:9
+msgid "Sort by User Name"
+msgstr "Ôáîéíüìçóç êáôÜ üíïìá ÷ñÞóôç"
+
+#: config/prefs.php.dist:77
+msgid "Sort direction:"
+msgstr "Êáôåýèõíóç ôáîéíüìçóçò:"
+
+#: config/prefs.php.dist:51
+msgid "Sort tasks by:"
+msgstr "Ôáîéíüìçóç åñãáóéþí êáôÜ:"
+
+#: templates/list/task_summaries.inc:22
+msgid "Task Alarm"
+msgstr "Óõíáãåñìüò Åñãáóßáò"
+
+#: templates/list/task_headers.inc:23
+msgid "Task Alarm?"
+msgstr "Óõíáãåñìüò Åñãáóßáò;"
+
+msgid "Task Details"
+msgstr "ËåðôïìÝñåéåò Åñãáóßáò"
+
+msgid "Task List"
+msgstr "Ëßóôá Åñãáóéþí"
+
+#: config/prefs.php.dist:20 config/prefs.php.dist:32
+msgid "Task List and Share Options"
+msgstr "Ëßóôåò åñãáóéþí êáé ÅðéëïãÝò Äéáìïéñáóìïý"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/tasklists/manage.inc:33
+msgid "Task Lists's Type:"
+msgstr "Ôýðïò Ëßóôáò Åñãáóéþí:"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Ïíïìá Ëßóôáò Åñãáóéþí:"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Ëßóôåò Åñãáóéþí"
+
+msgid "Task Name"
+msgstr "¼íïìá Åñãáóßáò"
+
+msgid "Task Note"
+msgstr "Óçìåéþóåéò Åñãáóßáò"
+
+msgid "Task Note?"
+msgstr "Óçìåßùóç Åñãáóßáò;"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Ïé ëßóôåò Åñãáóéþí ðñÝðåé íá Ý÷ïõí üíïìá."
+
+#: task.php:117 view.php:43
+msgid "Task not found."
+msgstr "Ç åñãáóßá äåí âñÝèçêå."
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Ðåñßëçøç Åñãáóéþí"
+
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:44
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:77
+msgid "The data was lost."
+msgstr "Ôá äåäïìÝíá ÷Üèçêáí."
+
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:167
+msgid "The file contained no data."
+msgstr "Ôï áñ÷åßï äåí ðåñéÝ÷åé äåäïìÝíá."
+
+#: /home/httpd/html/horde_cvs/po/../nag/tasklists/members.php:104
+#, c-format
+msgid "The member \"%s\" has been deleted."
+msgstr "Ôï ìÝëïò '%s' äéáãñÜöçêå."
+
+#: /home/httpd/html/horde_cvs/po/../nag/tasklists/members.php:94
+#, c-format
+msgid "The member \"%s\" has been saved."
+msgstr "Ôï ìÝëïò '%s' áðïèçêåýèçêå."
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/view/no-task.inc:3
+msgid "The requested task does not exist."
+msgstr "Ç åñãáóßá ðïõ æçôÞèçêå äåí õðÜñ÷åé."
+
+#: tasklists.php:45
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Ç ëßóôá åñãáóéþí \"%s\" äåí ìðüñåóå íá äçìéïõñãçèåß: %s"
+
+#: tasklists.php:56
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Ç ëßóôá åñãáóéþí \"%s\" äåí ìðüñåóå íá áðïèçêåõèåß: %s"
+
+#: tasklists.php:47
+msgid "The task list \"%s\" has been created."
+msgstr "Ç ëßóôá åñãáóéþí \"%s\" äçìéïõñãÞèçêå."
+
+#: tasklists.php:81
+msgid "The task list \"%s\" has been deleted."
+msgstr "Ç ëßóôá åñãáóéþí \"%s\" äéáãñÜöçêå."
+
+#: tasklists.php:58
+msgid "The task list \"%s\" has been saved."
+msgstr "Ç ëßóôá åñãáóéþí \"%s\" áðïèçêåýèçêå."
+
+#: /home/httpd/html/horde_cvs/po/../nag/tasklists/prefs.php:50
+msgid "The task list name is empty."
+msgstr "Ôï üíïìá ôçò ëßóôáò åñãáóéþí åßíáé êåíü."
+
+msgid "The task was saved."
+msgstr "Ç åñãáóßá áðïèçêåýôçêå."
+
+#: config/prefs.php.dist:66
+msgid "Then:"
+msgstr "Ôüôå:"
+
+#: templates/list/empty.inc:3
+msgid "There are no tasks matching the current criteria."
+msgstr "Äåí õðÜñ÷ïõí åñãáóßåò ðïõ íá ðëçñïýí áõôÜ ôá êñéôÞñéá."
+
+#: task.php:264
+msgid "There was a problem completing %s: %s"
+msgstr "ÕðÞñîå ðñüâëçìá êáôÜ ôçí ïëïêëÞñùóç %s: %s"
+
+#: task.php:237
+msgid "There was a problem deleting %s: %s"
+msgstr "ÕðÞñîå ðñüâëçìá êáôÜ ôçí äéáãñáöÞ %s: %s"
+
+msgid "There was a problem deleting tasks."
+msgstr "ÐáñïõóéÜóôçêå óöÜëìá êáôÜ ôç äéáãñáöÞ ôùí åñãáóéþí."
+
+#: /home/httpd/html/horde_cvs/po/../nag/task.php:137
+msgid "There was a problem removing the task from %s."
+msgstr "ÐáñïõóéÜóèçêå óöÜëìá êáôÜ ôç äéáãñáöÞ ôçò åñãáóßáò áðü %s."
+
+msgid "There was a problem saving the task."
+msgstr "ÐáñïõóéÜóôçêå óöÜëìá êáôÜ ôçí áðïèÞêåõóç ôçò åñãáóßáò."
+
+#: task.php:213
+msgid "There was a problem saving the task: %s."
+msgstr "ÐáñïõóéÜóôçêå óöÜëìá êáôÜ ôçí áðïèÞêåõóç ôçò åñãáóßáò: %s."
+
+msgid "There was a problem setting task completion status."
+msgstr ""
+"ÐáñïõóéÜóôçêå óöÜëìá êáôÜ ôçí áëëáãÞ ôçò êáôÜóôáóçò ïëïêëÞñùóçò ôçò åñãáóßáò."
+
+msgid "There was a problem setting task priority."
+msgstr "ÐáñïõóéÜóôçêå óöÜëìá êáôÜ ôçí áëëáãÞ ôçò ðñïôåñáéüôçôáò ôçò åñãáóßáò."
+
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:133
+msgid ""
+"There was a problem with the file upload. The file may have been larger than "
+"the maximum allowed size."
+msgstr ""
+"ÅðÜñ÷åé ðñüâëçìá ìå ôç öüñôùóç ôïõ áñ÷åßïõ. ÌÜëëïí ôï áñ÷åßï åßíáé "
+"ìåãáëýôåñï áðü ôï ìÝãéóôï åðéôñåðüìåíï ìÝãåèïò."
+
+msgid "There was an error importing the data."
+msgstr "ÐáñïõóéÜóèçêå óöÜëìá êáôÜ ôçí åéóáãùãÞ äåäïìÝíùí."
+
+#: data.php:137
+msgid "There was an error importing the data: %s"
+msgstr "ÐáñïõóéÜóèçêå óöÜëìá êáôÜ ôçí åéóáãùãÞ äåäïìÝíùí: %s"
+
+#: /home/httpd/html/horde_cvs/po/../nag/data.php:147
+msgid "There was an error importing the uploaded file"
+msgstr "ÐáñïõóéÜóèçêå óöÜëìá êáôÜ ôçí åéóáãùãÞ ôïõ öïñôùìÝíïõ áñ÷åßïõ"
+
+#: data.php:66
+msgid "There were no tasks to export."
+msgstr "Äåí õðÜñ÷ïõí åñãáóßåò ãéá åîáãùãÞ."
+
+msgid "These changes can not be undone!"
+msgstr "Äåí èá ìðïñåßôå íá åðáíáöÝñåôå áõôÝò ôéò áëëáãÝò!"
+
+msgid "This file contains preferences for Nag."
+msgstr "Áõôü ôï áñ÷åßï ðåñéÝ÷åé ôéò ðñïôéìÞóåéò ãéá ôï ðñüãñáììá Nag."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"Áõôü ôï áñ÷åßï ðåñéÝ÷åé ôéò ñõèìßóåéò ãéá ôá ÷ñþìáôá êáé ôéò ãñáììáôïóåéñÝò, "
+"ìå ôá ïðïßá ìðïñïýí íá ðáñáêáìöèïýí ôá ðñïêáèïñéóìÝíá áðü ôï óýóôçìá."
+
+#: data.php:105
+msgid "This file format is not supported."
+msgstr "ÁõôÞ ç ìïñöÞ áñ÷åßïõ äåí õðïóôçñßæåôáé."
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr ""
+"Áõôü åßíáé ôï âáóéêü áñ÷åßï ñõèìßóåùí ôïõ Nag. ÐåñéÝ÷åé ôá ìïíïðÜôéá êáé ôéò "
+"åðéëïãÝò ãéá ôá Nag scripts."
+
+#: tasklists.php:77
+msgid "Unable to delete \"%s\": %s"
+msgstr "Áäýíáôç ç äéáãñáöÞ \"%s\": %s"
+
+msgid "Undo Changes"
+msgstr "Áêýñùóç Áëëáãþí"
+
+msgid "Unfiled"
+msgstr "Ìç ÊáôçãïñéïðïéçìÝíï"
+
+msgid "Unknown task"
+msgstr "Áãíùóôç åñãáóßá"
+
+msgid "Unknown"
+msgstr "Áãíùóôç"
+
+msgid "User Options"
+msgstr "ÅðéëïãÝò ×ñÞóôç"
+
+msgid "View Task Details"
+msgstr "ÅìöÜíéóç Ëåðôïìåñåéþí Åñãáóßáò"
+
+#: templates/task/task.inc:78 lib/Nag.php:365
+msgid "Week(s)"
+msgstr "ÅâäïìÜäá(åò)"
+
+#: templates/data/import.inc:24
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Óå ðïéÜ ëßóôá åñãáóéþí èá ðñïóôåèïýí ïé åñãáóßåò;"
+
+msgid "Yes"
+msgstr "Íáé"
+
+msgid "You are creating a new category."
+msgstr "Äçìéïõñãåßôå ìßá íÝá Êáôçãïñßá."
+
+#: /home/httpd/html/horde_cvs/po/../nag/tasklists/prefs.php:99
+msgid "You must select a task list to be deleted."
+msgstr "ÐñÝðåé íá åðéëÝîåôå ìéá ëßóôá åñãáóéþí ãéá äéáãñáöÞ."
+
+#: /home/httpd/html/horde_cvs/po/../nag/tasklists/members.php:106
+msgid "You must select an member to be deleted."
+msgstr "ÐñÝðåé íá åðéëÝîåôå Ýíá ìÝëïò ãéá äéáãñáöÞ."
+
+msgid "You must select at least one task first."
+msgstr "ÐñÝðåé ðñþôá íá åðéëÝîåôå ìßá åñãáóßá."
+
+msgid "Your Information"
+msgstr "Ïé Ðëçñïöïñßåò Óáò"
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Ç ðñïêáèïñéóìÝíç óáò ëßóôá åñãáóéþí:"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/tasklists/members/manage.inc:10
+msgid "Your members:"
+msgstr "Ôá ìÝëç óáò:"
+
+#: /home/httpd/html/horde_cvs/po/../nag/templates/list/empty.inc:2
+msgid "Your task list is empty."
+msgstr "Ç ëßóôá ìå ôéò åñãáóßåò åßíáé Üäåéá."
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Ïé ëßóôåò åñãáóéþí óáò:"
+
+#: /home/httpd/html/horde_cvs/po/../nag/lib/Nag.php:501
+#: /home/httpd/html/horde_cvs/po/../nag/templates/task/task.inc:44
+msgid "at"
+msgstr "óå"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:47
+msgid "no time"
+msgstr "÷ùñßò ÷ñüíï"
+
+#: templates/list/task_summaries.inc:19 lib/Block/summary.php:88
+#: lib/Block/summary.php:169
+msgid "[none]"
+msgstr "[êáíÝíá]"
+
+#: list.php:76
+msgid "_All tasks"
+msgstr "Ïëåò ïé åñãáóßåò"
+
+#: templates/search/search.inc:23 templates/task/task.inc:39
+msgid "_Category"
+msgstr "Êáôçãïñßá"
+
+#: templates/view/task.inc:13
+msgid "_Complete"
+msgstr "ÏëïêëÞñùóç"
+
+#: list.php:78
+msgid "_Completed tasks"
+msgstr "ÏëïêëçñùìÝíåò åñãáóßåò"
+
+#: templates/view/task.inc:18
+msgid "_Delete"
+msgstr "ÄéáãñáöÞ"
+
+#: templates/search/search.inc:22 templates/task/task.inc:95
+msgid "_Description"
+msgstr "ÐåñéãñáöÞ"
+
+#: templates/list/task_headers.inc:26
+msgid "_Due Date"
+msgstr "Çìåñïìçíßá ÏëïêëÞñùóçò"
+
+#: templates/view/task.inc:15
+msgid "_Edit"
+msgstr "Åðåîåñãáóßá"
+
+#: lib/Nag.php:407
+msgid "_Import/Export"
+msgstr "ÅéóáãùãÞ/ÅîáãùãÞ"
+
+#: lib/Nag.php:395
+msgid "_List Tasks"
+msgstr "ÅìöÜíéóç Åñãáóéþí"
+
+#: lib/Nag.php:402
+msgid "_My Tasklists"
+msgstr "Ïé Åñãáóßåò ìïõ"
+
+#: lib/Nag.php:397
+msgid "_New Task"
+msgstr "ÍÝá Åñãáóßá"
+
+#: lib/Nag.php:412
+msgid "_Print"
+msgstr "Åêôýðùóç"
+
+#: templates/task/task.inc:83
+msgid "_Priority"
+msgstr "Ðñïôåñáéüôçôá"
+
+#: lib/Nag.php:399
+msgid "_Search"
+msgstr "ÁíáæÞôçóç"
+
+#: templates/task/task.inc:20 templates/list/task_headers.inc:9
+msgid "_Task List"
+msgstr "Ëßóôá Åñãáóéþí"
--- /dev/null
+# Spanish translations for nag package
+# Traducciones al español para el paquete nag.
+# Copyright 2008-2009 The Horde Project
+# This file is distributed under the same license as the nag package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.2-rc3\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-05-24 09:44+0200\n"
+"PO-Revision-Date: 2008-05-24 09:44+0200\n"
+"Last-Translator: Manuel P. Ayala <mayala@unex.es>\n"
+"Language-Team: i18n@lists.horde.org\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s incluyendo subtareas)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d hora"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d hora, %d minuto"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d hora, %d minutos"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d horas"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d horas, %d minuto"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d horas, %d minutos"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minuto"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutos"
+
+#: lib/Nag.php:392
+#, php-format
+msgid "%s at %s"
+msgstr "%s a las %s"
+
+#: lib/Nag.php:618 lib/Block/tree_alarms.php:41 lib/Block/summary.php:121
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s vencerá el %s"
+
+#: lib/Nag.php:616 lib/Block/tree_alarms.php:43 lib/Block/summary.php:118
+#, php-format
+msgid "%s is due now."
+msgstr "%s acaba de vencer."
+
+#: task.php:238
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s está incompleta por el momento."
+
+#: data.php:209
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s se ha importado correctamente"
+
+#: lib/Nag.php:544 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "Lista de tareas de %s"
+
+#: lib/Nag.php:343 lib/Forms/task.php:61
+msgid "(highest)"
+msgstr "(elevada)"
+
+#: lib/Nag.php:343 lib/Forms/task.php:62
+msgid "(lowest)"
+msgstr "(reducida)"
+
+#: task.php:222
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Se ha denegado el acceso para terminar la tarea %s."
+
+#: task.php:27
+msgid "Access denied deleting task."
+msgstr "Se ha denegado el acceso para eliminar la tarea."
+
+#: task.php:91 task.php:97
+msgid "Access denied editing task."
+msgstr "Se ha denegado el acceso para modificar la tarea."
+
+#: task.php:89
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Se ha denegado el acceso para modificar la tarea: %s"
+
+#: task.php:170
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Se ha denegado el acceso para desplazar la tarea a %s."
+
+#: task.php:173
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Se ha denegado el acceso para eliminar la tarea de %s."
+
+#: task.php:132
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Se ha denegado el acceso para guardar la tarea en %s."
+
+#: task.php:128
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Se ha denegado el acceso para guardar la tarea: %s."
+
+#: data.php:57 templates/view/task.inc:26 lib/Forms/task.php:91
+msgid "Alarm"
+msgstr "Alarma"
+
+#: config/.bak/prefs.php.dist:200
+msgid "All tasks"
+msgstr "Todas las tareas"
+
+#: lib/Block/summary.php:75
+msgid "Always show completed tasks?"
+msgstr "¿Mostrar siempre las tareas finalizadas?"
+
+#: lib/Block/summary.php:71
+msgid "Always show overdue tasks?"
+msgstr "¿Mostrar siempre las tareas vencidas?"
+
+#: config/.bak/prefs.php.dist:117
+msgid "Ascending"
+msgstr "Ascendente"
+
+#: data.php:55
+msgid "Assignee"
+msgstr "Asignada"
+
+#: lib/Block/summary.php:43
+msgid "Block title"
+msgstr "Título del bloque"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Agenda"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "_Categoría"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:79
+#: lib/Forms/task.php:85 config/.bak/prefs.php.dist:89
+#: config/.bak/prefs.php.dist:104
+msgid "Category"
+msgstr "Categoría"
+
+#: tasklists/index.php:56 templates/tasklist_list.php:35
+msgid "Change Permissions"
+msgstr "Cambiar permisos"
+
+#: config/.bak/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Cambiar opciones de ordenación y visualización de tareas."
+
+#: config/.bak/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Elija cómo quiere recibir recordatorios de las tareas con alarmas:"
+
+#: config/.bak/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Elija si desea que se le notifiquen por correo las tareas nuevas, "
+"modificadas o eliminadas:"
+
+#: config/.bak/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Elija si desea que se le notifiquen los cambios en las tareas y las alarmas "
+"de tareas."
+
+#: config/.bak/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Elija su lista de tareas por omisión."
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr "Pulse esta URL o cópiela para mostrar este listado de tareas"
+
+#: templates/panel.inc:44
+msgid "Close"
+msgstr "Cerrar"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Cerrar búsqueda"
+
+#: view.php:112
+msgid "Complete"
+msgstr "Terminar"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:191
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Terminar \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Terminar tarea"
+
+#: config/.bak/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "Terminar tareas"
+
+#: lib/Nag.php:407 lib/Block/summary.php:189
+msgid "Completed"
+msgstr "Terminado"
+
+#: task.php:236
+#, php-format
+msgid "Completed %s."
+msgstr "Se ha terminado %s."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Tareas terminadas"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "La tarea padre está terminada, márquela como incompleta primero"
+
+#: templates/list/task_headers.inc:31 templates/view/task.inc:38
+#: lib/Forms/task.php:97 config/.bak/prefs.php.dist:91
+#: config/.bak/prefs.php.dist:106
+msgid "Completed?"
+msgstr "¿Terminada?"
+
+#: data.php:63
+msgid "Completion Date"
+msgstr "Fecha de terminación"
+
+#: data.php:62
+msgid "Completion Status"
+msgstr "Estado de terminación"
+
+#: lib/api.php:443 lib/api.php:704
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Ha fallado la conexión: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Crear"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Crear lista de tareas"
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "Crear una Lista de tareas"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Creado"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Día"
+
+#: lib/Nag.php:439 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Día(s)"
+
+#: config/.bak/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Lista de tareas por omisión"
+
+#: config/.bak/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Opciones por omisión para nuevas tareas"
+
+#: lib/Forms/task.php:90
+msgid "Delay Start Until"
+msgstr "Retrasar inicio hasta"
+
+#: view.php:119 tasklists/index.php:57 templates/tasklist_list.php:37
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Eliminar"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Eliminar %s"
+
+#: config/.bak/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "Confirmación de eliminación"
+
+#: config/.bak/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "Comportamiento del botón eliminar"
+
+#: task.php:112 lib/Forms/task.php:102 lib/Forms/task.php:129
+msgid "Delete this task"
+msgstr "Eliminar esta tarea"
+
+#: task.php:37
+#, php-format
+msgid "Deleted %s."
+msgstr "Se ha eliminado %s."
+
+#: lib/api.php:686
+msgid "Deleting entire tasklists is not supported."
+msgstr "La eliminación de listas de tareas completas no está soportada."
+
+#: config/.bak/prefs.php.dist:118
+msgid "Descending"
+msgstr "Descendente"
+
+#: data.php:53 lib/Forms/CreateTaskList.php:37 lib/Forms/EditTaskList.php:44
+#: lib/Forms/task.php:98
+msgid "Description"
+msgstr "Descripción"
+
+#: config/.bak/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Opciones de Visualización"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "URL de consulta"
+
+#: config/.bak/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "¿Quiere confirmar la eliminación de entradas?"
+
+#: data.php:56 templates/view/task.inc:22 lib/Forms/task.php:89
+msgid "Due By"
+msgstr "Vence el"
+
+#: config/.bak/prefs.php.dist:90 config/.bak/prefs.php.dist:105
+msgid "Due Date"
+msgstr "Fecha de vencimiento"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Se ha indicado una fecha de vencimiento."
+
+#: view.php:115 tasklists/index.php:55 templates/tasklist_list.php:33
+msgid "Edit"
+msgstr "Modificar"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:182
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Modificar \"%s\""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Modificar %s"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Modificar tarea"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Modificar categorías y colores"
+
+#: task.php:102 task.php:116
+#, php-format
+msgid "Edit: %s"
+msgstr "Modificar: %s"
+
+#: task.php:20
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Error al eliminar la tarea: %s"
+
+#: data.php:61 templates/view/task.inc:34 lib/Forms/task.php:96
+msgid "Estimated Time"
+msgstr "Duración estimada"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Exportar"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Exportar tareas"
+
+#: config/.bak/prefs.php.dist:56
+msgid "External Data"
+msgstr "Datos externos"
+
+#: config/.bak/prefs.php.dist:12 config/.bak/prefs.php.dist:19
+#: config/.bak/prefs.php.dist:26
+msgid "General Options"
+msgstr "Opciones generales"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Hora"
+
+#: lib/Nag.php:442 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Hora(s)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importar tareas. Paso %d"
+
+#: data.php:215
+msgid "Import/Export Tasks"
+msgstr "Importar/Exportar tareas"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Tareas _pendientes"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Tareas pendientes"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Subtareas pendientes, complételas primero"
+
+#: config/.bak/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Tareas pendientes"
+
+#: lib/api.php:520
+msgid "Invalid tasklist name supplied."
+msgstr "Se ha indicado un nombre de lista de tareas inválido."
+
+#: lib/api.php:386
+msgid "Invalid tasklist requested."
+msgstr "Se ha solicitado una lista de tareas inválida."
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Última modificación"
+
+#: tasklists/index.php:61 templates/tasklist_list.php:2
+msgid "Manage Task Lists"
+msgstr "Gestionar Listas de tareas"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Marcar \"%s\" como pendiente"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Marcar como pendiente"
+
+#: lib/api.php:125
+msgid "Maximum Number of Tasks"
+msgstr "Número máximo de tareas"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Menú Alarmas"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Listado del menú"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minuto"
+
+#: lib/Nag.php:445 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minuto(s)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Mes"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Más opciones..."
+
+#: lib/api.php:1179
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Se han encontrado varios componentes iCalendar; sólo se soporta un vTodo "
+"cada vez."
+
+#: templates/panel.inc:72
+msgid "My Task Lists:"
+msgstr "Mi lista de tareas:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Mis tareas"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "_Nombre"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "_Nombre"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: No se encontró la tarea %s"
+
+#: data.php:52 lib/Forms/CreateTaskList.php:36 lib/Forms/EditTaskList.php:43
+#: lib/Forms/task.php:68
+msgid "Name"
+msgstr "Nombre"
+
+#: task.php:81 task.php:116 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Añadir"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Siguiente"
+
+#: config/.bak/prefs.php.dist:166
+msgid "No"
+msgstr "No"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Sin retraso"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Sin fecha de vencimiento."
+
+#: lib/api.php:553 lib/api.php:902 lib/api.php:960 lib/api.php:1172
+msgid "No iCalendar data was found."
+msgstr "No se encontraron datos iCalendar."
+
+#: lib/Forms/task.php:53
+msgid "No parent task"
+msgstr "Sin tarea padre"
+
+#: lib/Nag.php:633
+msgid "No task lists are available to guests."
+msgstr "No se dispone de listas de tareas para los invitados."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "No hay tareas coincidentes"
+
+#: lib/Block/summary.php:245
+msgid "No tasks to display"
+msgstr "Sin tareas visibles"
+
+#: lib/Nag.php:449 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Ninguna"
+
+#: lib/Nag.php:408
+msgid "Not Completed"
+msgstr "No está terminado"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Pública"
+
+#: lib/api.php:760
+msgid "Not configured"
+msgstr "Sin configurar"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "No encontrada"
+
+#: config/.bak/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Notificaciones"
+
+#: config/.bak/prefs.php.dist:168
+msgid "On all shown task lists"
+msgstr "En todas las listas de tareas mostradas"
+
+#: config/.bak/prefs.php.dist:169
+msgid "On all task lists I have read access to"
+msgstr "En todas las listas de tareas a las que tengo acceso de lectura"
+
+#: config/.bak/prefs.php.dist:167
+msgid "On my task lists only"
+msgstr "Sólo en mis listas de tareas"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "_Prioridad"
+
+#: lib/Forms/task.php:75
+msgid "Parent task"
+msgstr "Tarea padre"
+
+#: lib/api.php:769 lib/api.php:807 lib/api.php:840 lib/api.php:876
+#: lib/api.php:998 lib/api.php:1053 lib/api.php:1117 lib/api.php:1154
+#: lib/api.php:1267 lib/api.php:1314
+msgid "Permission Denied"
+msgstr "Permiso denegado"
+
+#: lib/api.php:210 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
+#: data.php:59 templates/view/task.inc:30 lib/Forms/task.php:93
+#: config/.bak/prefs.php.dist:87 config/.bak/prefs.php.dist:102
+msgid "Priority"
+msgstr "Prioridad"
+
+#: templates/view/task.inc:14 lib/Driver.php:907
+msgid "Private"
+msgstr "Privada"
+
+#: data.php:60 lib/Driver.php:905
+msgid "Private Task"
+msgstr "Tarea privada"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:88
+msgid "Private?"
+msgstr "¿Privada?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"¿Eliminar realmente la lista de tareas \"%s\"? Ésto no se puede deshacer y "
+"todos los datos de esta lista de tareas se eliminarán definitivamente."
+
+#: view.php:119
+msgid "Really delete this task?"
+msgstr "¿Eliminar realmente esta tarea?"
+
+#: templates/panel.inc:90 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:100
+#: lib/Forms/task.php:127
+msgid "Save"
+msgstr "Guardar"
+
+#: task.php:201
+#, php-format
+msgid "Saved %s."
+msgstr "Se ha guardado %s."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Buscar"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Buscar en:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "_Texto de búsqueda: "
+
+#: templates/panel.inc:60
+msgid "Search for Task Lists:"
+msgstr "Listas de tareas en las que buscar:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Buscar:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Búsqueda: Resultados para \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Seleccione una fecha"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Seleccione el formato de exportación:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Seleccione el archivo a importar:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Seleccione el formato del archivo origen:"
+
+#: templates/panel.inc:81
+msgid "Shared Task Lists:"
+msgstr "Listas de tareas compartidas:"
+
+#: config/.bak/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr ""
+"¿Debería mostrarse la lista de tareas en su propia columna en la vista de "
+"listado?"
+
+#: lib/Block/summary.php:51
+msgid "Show action buttons?"
+msgstr "¿Mostrar botones de acción?"
+
+#: config/.bak/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"En la lista de tareas ¿mostrar las finalizadas, las pendientes o todas?"
+
+#: config/.bak/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+"¿Mostrar datos de cualquiera de estas otras aplicaciones en la lista de "
+"tareas?"
+
+#: config/.bak/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Mostrar datos de otras aplicaciones u orígenes."
+
+#: lib/Block/summary.php:55
+msgid "Show due dates?"
+msgstr "¿Mostar fechas de vencimiento?"
+
+#: lib/Block/summary.php:47
+msgid "Show priorities?"
+msgstr "¿Mostrar prioridades"
+
+#: lib/Block/summary.php:63
+msgid "Show task alarms?"
+msgstr "¿Mostrar las alarmas de las tareas?"
+
+#: lib/Block/summary.php:67
+msgid "Show task category?"
+msgstr "¿Mostrar la categoría de las tareas?"
+
+#: config/.bak/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "¿Mostrar panel de opciones de lista de tareas?"
+
+#: lib/Block/summary.php:59
+msgid "Show tasklist name?"
+msgstr "¿Mostrar el nombre de la lista de tarea?"
+
+#: lib/Block/summary.php:84
+msgid "Show tasks from these categories"
+msgstr "¿Mostrar las tareas de estas categorías?"
+
+#: lib/Block/summary.php:79
+msgid "Show tasks from these tasklists"
+msgstr "Mostrar tareas de estas listas"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Ordenar por categoría"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Ordenar por estado de terminación"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Ordenar por fecha de vencimiento"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Ordenar por nombre"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Ordenar por prioridad"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Ordenar por nombre de usuario"
+
+#: config/.bak/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "Sentido de clasificación:"
+
+#: config/.bak/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "Ordenar tareas por:"
+
+#: data.php:58
+msgid "Start"
+msgstr "Inicio"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Fecha de inicio"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Se ha indicado una fecha de inicio"
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "URL de suscripción"
+
+#: templates/list/task_summaries.inc:60
+msgid "Task Alarm"
+msgstr "Alarma de tarea"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "¿Alarma?"
+
+#: config/.bak/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "Opciones por omisión de la tarea"
+
+#: templates/tasklist_list.php:15 lib/Forms/task.php:71
+#: config/.bak/prefs.php.dist:92 config/.bak/prefs.php.dist:107
+msgid "Task List"
+msgstr "Lista de tareas"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Información de la lista de tareas"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "Listado de listas de tareas"
+
+#: config/.bak/prefs.php.dist:33 config/.bak/prefs.php.dist:40
+#: config/.bak/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Opciones de listado y compartición de tareas"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "Lista de tareas de %s."
+
+#: templates/panel.inc:54 templates/panel.inc:55
+msgid "Task Lists"
+msgstr "Listas de tareas"
+
+#: config/.bak/prefs.php.dist:88 config/.bak/prefs.php.dist:103
+msgid "Task Name"
+msgstr "Nombre de tarea"
+
+#: templates/list/task_summaries.inc:58
+msgid "Task Note"
+msgstr "Comentario de la tarea"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "¿Comentario?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Búsqueda de tareas"
+
+#: lib/Nag.php:658
+msgid "Task added:"
+msgstr "Tarea añadida:"
+
+#: lib/Nag.php:668
+msgid "Task deleted:"
+msgstr "Tarea eliminada:"
+
+#: lib/Nag.php:663
+msgid "Task modified:"
+msgstr "Tarea modificada:"
+
+#: view.php:44 task.php:95
+msgid "Task not found."
+msgstr "No se encontró la tarea."
+
+#: lib/api.php:698
+msgid "Tasklist does not exist or no permission to delete"
+msgstr "La lista de tareas no existe o carece de permisos para eliminar"
+
+#: lib/api.php:526
+msgid "Tasklist does not exist or no permission to edit"
+msgstr "La lista de tareas no existe o carece de permisos para modificar"
+
+#: lib/api.php:1236
+msgid "Tasks"
+msgstr "Tareas"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Resumen de tareas"
+
+#: lib/api.php:348
+#, php-format
+msgid "Tasks from %s"
+msgstr "Tareas de %s"
+
+#: data.php:203
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "El archivo %s no contenía ninguna tarea."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "El motor de tareas no está disponible en este momento."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "El motor de tareas no está disponible en este momento: %s"
+
+#: lib/Forms/task.php:160
+msgid "The alarm value must not be empty."
+msgstr "El valor de la alarma no puede estar en blanco."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "La hora actual"
+
+#: lib/Nag.php:659
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Se ha añadido la tarea \"%s\" a la lista de tareas \"%s\", con una fecha de "
+"vencimiento de: %s."
+
+#: lib/Nag.php:669
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"Se ha eliminado la tarea \"%s\" de la lista de tareas \"%s\", con una fecha "
+"de vencimiento de: %s."
+
+#: lib/Nag.php:664
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Se ha modificado la tarea \"%s\" de la lista de tareas \"%s\", con una fecha "
+"de vencimiento de: %s."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Se ha creado la lista de tareas \"%s\"."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Se ha eliminado la lista de tareas \"%s\"."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "La lista de tareas \"%s\" se ha renombrado como \"%s\"."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Se ha guardado la lista de tareas \"%s\"."
+
+#: config/.bak/prefs.php.dist:108
+msgid "Then:"
+msgstr "Además por:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "No hay tareas coincidentes con los criterios actuales."
+
+#: task.php:232
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Se produjo un problema al completar %s: %s"
+
+#: task.php:33
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Se produjo un problema al eliminar %s: %s"
+
+#: task.php:199
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Se produjo un problema al guardar la tarea: %s."
+
+#: data.php:206
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Se produjo un error al importar los datos: %s"
+
+#: lib/api.php:545 lib/api.php:894 lib/api.php:1166
+msgid "There was an error importing the iCalendar data."
+msgstr "Se produjo un error al importar los datos iCalendar."
+
+#: data.php:89
+msgid "There were no tasks to export."
+msgstr "No hubo tareas a exportar."
+
+#: data.php:135
+msgid "This file format is not supported."
+msgstr "Este formato de archivo no está soportado."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "Esta lista de tareas no se puede eliminar."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Para suscribirse a esta lista de tareas desde otro programa, utilice esta "
+"URL: "
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Incapaz de eliminar \"%s\": %s"
+
+#: lib/api.php:719
+#, php-format
+msgid "Unable to delete tasklist \"%s\": %s"
+msgstr "Incapaz de eliminar la lista de tareas \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Incapaz de cargar la definición de %s."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Incapaz de guardar la lista de tareas \"%s\": %s"
+
+#: templates/list/task_summaries.inc:65 templates/view/task.inc:9
+#: lib/Nag.php:900 lib/Nag.php:901 lib/Nag.php:915 lib/Nag.php:916
+#: lib/Forms/task.php:84 lib/Block/summary.php:34 lib/Block/summary.php:238
+msgid "Unfiled"
+msgstr "Sin categoría"
+
+#: data.php:64
+msgid "Unique ID"
+msgstr "ID único"
+
+#: lib/api.php:652 lib/api.php:967 lib/api.php:1025 lib/api.php:1079
+#: lib/api.php:1204
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Tipo de contenido no soportado: %s"
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Querríamos recordarle el vencimiento de esta tarea.\n"
+"\n"
+"%s\n"
+"\n"
+"Fecha: %s\n"
+"Hora: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:436 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Semana(s)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "¿Cuál quiere que sea la hora de vencimiento por omisión de las tareas?"
+
+#: config/.bak/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Al crear una tarea, ¿a cuántos días en el futuro debería estar la fecha de "
+"vencimiento por omisión (0 significa hoy)?"
+
+#: config/.bak/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr ""
+"Al crear una tarea, ¿Debería disponer por omisión de una fecha de "
+"vencimiento?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "¿A qué lista de tareas hay que añadir las tareas?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Año"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Carece de permiso para cambiar esta lista de tareas."
+
+#: data.php:41 data.php:160 task.php:68
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Carece de permiso para crear más de %d tareas."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Carece de permiso para ver eliminar esta lista de tareas."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "No dispone de privilegios para ver esta lista de tareas."
+
+#: lib/Nag.php:659
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr "Solicitó la notificación de adición de tareas a sus listas de tareas."
+
+#: lib/Nag.php:669
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Solicitó la notificación de eliminación de tareas de sus listas de tareas."
+
+#: lib/Nag.php:664
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Solicitó la notificación de modificación de tareas de sus listas de tareas."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Su lista de tareas por omisión:"
+
+#: templates/panel.inc:67
+msgid "[Manage Task Lists]"
+msgstr "[Gestionar Listas de tareas]"
+
+#: templates/list/task_summaries.inc:48 lib/Block/summary.php:115
+#: lib/Block/summary.php:222
+msgid "[none]"
+msgstr "[ninguno]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Todas las tareas"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Todas"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Categoría"
+
+#: view.php:112
+msgid "_Complete"
+msgstr "_Terminada"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "Tareas te_rminadas"
+
+#: view.php:119
+msgid "_Delete"
+msgstr "_Eliminar"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "_Descripción"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "Fecha de _vencimiento"
+
+#: view.php:115
+msgid "_Edit"
+msgstr "Mo_dificar"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Tareas _futuras"
+
+#: lib/Nag.php:581
+msgid "_Import/Export"
+msgstr "_Importar/Exportar"
+
+#: lib/Nag.php:568
+msgid "_List Tasks"
+msgstr "_Listar"
+
+#: lib/Nag.php:573
+msgid "_New Task"
+msgstr "_Añadir"
+
+#: lib/Nag.php:586
+msgid "_Print"
+msgstr "Im_primir"
+
+#: lib/Nag.php:577
+msgid "_Search"
+msgstr "_Buscar"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Lista de tar_eas"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "am"
+
+#: view.php:73 view.php:82
+#, php-format
+msgid "by %s"
+msgstr "por %s"
+
+#: view.php:75 view.php:84
+msgid "by me"
+msgstr "por mi"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendario (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "a %s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "sin límite"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "pm"
+
+#: data.php:109 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tareas.csv"
+
+#: data.php:120
+msgid "tasks.ics"
+msgstr "tareas.ics"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.2 RC1\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-05-29 15:49+0300\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Alar SIng <alar.sing@err.ee>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-13\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Estonian\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr "(%s koos alamtöödega)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d tund"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d tund, %d minuti"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d tund, %d minutit"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d tundi"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d tundi, %d minut"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d tundi, %d minutit"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minut"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutit"
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr "%s ajal %s"
+
+#: lib/Nag.php:590 lib/Block/tree_alarms.php:42 lib/Block/summary.php:106
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s tähtaeg on %s"
+
+#: lib/Nag.php:588 lib/Block/tree_alarms.php:44 lib/Block/summary.php:104
+#, php-format
+msgid "%s is due now."
+msgstr "%s tähtaeg on nüüd"
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s on lõpetamata."
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s edukalt imporditud"
+
+#: tasklists.php:106 lib/Nag.php:516
+#, php-format
+msgid "%s's Task List"
+msgstr "%s Tööde nimekiri"
+
+#: lib/Nag.php:315 lib/Forms/task.php:55
+msgid "(highest)"
+msgstr "(kõrgeim)"
+
+#: lib/Nag.php:315 lib/Forms/task.php:56
+msgid "(lowest)"
+msgstr "(madalaim)"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "%s töö lõpetamiseks õigus puudub."
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "%s kustutamiseks õigus puudub"
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "Töö muutmise õigus puudub."
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "%s töö muutmise õigus puudub"
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "%s töö liigutamise õigus puudub."
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "%s töö kustutamise õigus puudub."
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "%s töö salvestamise õigus puudub."
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "%s töö salvestamise õigus puudub"
+
+#: templates/view/task.inc:26 lib/Forms/task.php:85
+msgid "Alarm"
+msgstr "Teavitus"
+
+#: config/prefs.php.dist:201
+msgid "All tasks"
+msgstr "Kõik tööd"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Alati näita lõpetatud töid?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Alati näita üle tähtaja töid?"
+
+#: config/prefs.php.dist:118
+msgid "Ascending"
+msgstr "Kasvav"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Ploki pealkiri"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Kalender"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Kat_egooria"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:73
+#: lib/Forms/task.php:79 config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Category"
+msgstr "Kategooria"
+
+#: templates/tasklists/tasklists.inc:26
+msgid "Change"
+msgstr "Muuda"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Muuda tööde sorteerimise ja vaate seadeid."
+
+#: config/prefs.php.dist:180
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Vali kuidas sa tahad saada meeldetuletusi töödest:"
+
+#: config/prefs.php.dist:171
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Vali kui soovid teavitusi mailiga uutest, muudetud ja kustutatud töödest:"
+
+#: config/prefs.php.dist:43
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr "Vali kui soovid teavitust muudetud töödest."
+
+#: config/prefs.php.dist:36
+msgid "Choose your default task list."
+msgstr "Vali oma vaikimisi tööde nimekiri."
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Sulge otsing"
+
+#: view.php:99
+msgid "Complete"
+msgstr "Lõpeta"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:168
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Lõpeta \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Lõpeta töö"
+
+#: config/prefs.php.dist:203
+msgid "Complete tasks"
+msgstr "Lõpeta tööd"
+
+#: lib/Nag.php:379 lib/Block/summary.php:166
+msgid "Completed"
+msgstr "Lõpetatud"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "Lõpetatud %s."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Lõpetatud tööd"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Lõpetatud ülemtöö, märgi see ennem mittelõpetatuks"
+
+#: templates/list/task_headers.inc:31 templates/view/task.inc:38
+#: lib/Forms/task.php:91 config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Completed?"
+msgstr "Lõpetatud?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "Progress"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Ühendus ebaõnnestus: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:86
+msgid "Create"
+msgstr "Loo"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Loodud"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Päev"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Päev(ad)"
+
+#: config/prefs.php.dist:35
+msgid "Default Task List"
+msgstr "Vaike tööde nimekiri"
+
+#: config/prefs.php.dist:29
+msgid "Defaults for new tasks"
+msgstr "Vaike väärtused uuele tööle"
+
+#: lib/Forms/task.php:84
+msgid "Delay Start Until"
+msgstr "Viivita algusega kuni"
+
+#: view.php:106 templates/tasklists/tasklists.inc:87
+msgid "Delete"
+msgstr "Kustuta"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Kustutamise kinnitus"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Kustuta nupu käitumine"
+
+#: task.php:105 lib/Forms/task.php:96
+msgid "Delete this task"
+msgstr "Kustuta see töö"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "%s kustutatud."
+
+#: config/prefs.php.dist:119
+msgid "Descending"
+msgstr "Kahanev"
+
+#: data.php:53 lib/Forms/task.php:92
+msgid "Description"
+msgstr "Kirjeldus"
+
+#: templates/tasklists/tasklists.inc:75
+msgid "Description:"
+msgstr "Kirjeldus:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Kuvamise seaded"
+
+#: config/prefs.php.dist:129
+msgid "Do you want to confirm deleting entries?"
+msgstr "Kas sa tahad kinnitada kirjete kustutamist?"
+
+#: data.php:55 templates/view/task.inc:22 lib/Forms/task.php:83
+msgid "Due By"
+msgstr "Tähtaeg"
+
+#: config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Due Date"
+msgstr "Tähtaja kuupäev"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Tähtaeg määratud."
+
+#: view.php:102
+msgid "Edit"
+msgstr "Muuda"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:159
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Muuda \"%s\""
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Muuda tööd"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Muuda kategooriaid ja värve"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "Muuda: %s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Viga töö: %s kustutamisel"
+
+#: templates/view/task.inc:34 lib/Forms/task.php:90
+msgid "Estimated Time"
+msgstr "Eeldatav aeg"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Eksport"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Ekspordi tööd"
+
+#: config/prefs.php.dist:57
+msgid "External Data"
+msgstr "Välised andmed"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20 config/prefs.php.dist:27
+msgid "General Options"
+msgstr "Üldised seaded"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Tund"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Tund(i)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Impordi Tööd, Samm %d"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "Tööde import/eksport"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Pooleli olevad tööd"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Pooleli olevad tööd"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Pooleli olevad alamtööd, lõpeta need ennem"
+
+#: config/prefs.php.dist:202
+msgid "Incomplete tasks"
+msgstr "Pooleli olevad tööd"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Viimati muudetud"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Märgi \"%s\" pooleli olevaks"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Märgi pooleli olevaks"
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "Suurim number töid"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Teavituste menüü"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Menüü"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minut"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minut(id)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Kuu"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Rohkem seadeid..."
+
+#: lib/api.php:986
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Mitu iCal osa leitud; ainult üks vTodo on toetatud."
+
+#: templates/panel.inc:38
+msgid "My Tasklists:"
+msgstr "Minu Tööd:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Minu tööd"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "N_imi"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Ni_mi"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Tööd/kolab: Ei leidnud tööd: %s"
+
+#: data.php:52 lib/Forms/task.php:62
+msgid "Name"
+msgstr "Nimi"
+
+#: templates/tasklists/tasklists.inc:68
+msgid "Name:"
+msgstr "Nimi:"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:27
+msgid "New Task"
+msgstr "Uus töö"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Järgmine"
+
+#: config/prefs.php.dist:167
+msgid "No"
+msgstr "Ei"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Ilma viivituseta"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Ilma lõpp kuupäevata"
+
+#: lib/api.php:405 lib/api.php:709 lib/api.php:767 lib/api.php:979
+msgid "No iCalendar data was found."
+msgstr "iCal andmeid ei leitud."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Ülemtööd puudub"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "Mitte ühtegi tööde nimekirja ei ole külalistele."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Töid ei leitud"
+
+#: lib/Block/summary.php:222
+msgid "No tasks to display"
+msgstr "Töid ei ole"
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Mitte midagi"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "Pooleli"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Avalik"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Ei leitud"
+
+#: config/prefs.php.dist:42
+msgid "Notifications"
+msgstr "Teavitused"
+
+#: config/prefs.php.dist:169
+msgid "On all shown tasklists"
+msgstr "Kõigil näidatavatel töödel"
+
+#: config/prefs.php.dist:170
+msgid "On all tasklists I have read access to"
+msgstr "Kõigil töödel millel on lugemis õigus"
+
+#: config/prefs.php.dist:168
+msgid "On my tasklists only"
+msgstr "Minu töödel"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "Pri"
+
+#: lib/Forms/task.php:69
+msgid "Parent task"
+msgstr "Ülemtöö"
+
+#: templates/tasklists/tasklists.inc:71
+msgid "Permission"
+msgstr "Õigused"
+
+#: lib/api.php:683 lib/api.php:805 lib/api.php:860 lib/api.php:924
+#: lib/api.php:961
+msgid "Permission Denied"
+msgstr "Ligipääs keelatud"
+
+#: lib/api.php:178
+msgid "Permission denied"
+msgstr "Ligipääs keelatud"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:87
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Priority"
+msgstr "Prioriteet"
+
+#: templates/view/task.inc:14 lib/Driver.php:902
+msgid "Private"
+msgstr "Privaatne"
+
+#: lib/Driver.php:900
+msgid "Private Task"
+msgstr "Privaatne töö"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:82
+msgid "Private?"
+msgstr "Privaatne?"
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "Kindel et tahad kustutada selle töö?"
+
+#: templates/tasklists/tasklists.inc:81
+msgid "Remote Subscription URL"
+msgstr "Välise tellimuse URL"
+
+#: templates/panel.inc:57 lib/Forms/task.php:94
+msgid "Save"
+msgstr "Salvesta"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "%s on salvestatud."
+
+#: search.php:14 templates/list/header.inc:4 templates/search/search.inc:31
+#: lib/Block/tree_menu.php:47
+msgid "Search"
+msgstr "Otsi"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Otsi töös:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Otsi _teksti:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Otsi:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Otsing: Tulemused \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Vali kuupäev"
+
+#: templates/tasklists/tasklists.inc:62
+msgid "Select a tasklist"
+msgstr "Vali töönimekiri"
+
+#: templates/tasklists/tasklists.inc:24 templates/tasklists/tasklists.inc:82
+msgid "Select a tasklist above to display the Remote Subscription URL"
+msgstr "Vali tööde nimekiri ülevalt et näha välise liitumise URLi"
+
+#: templates/tasklists/tasklists.inc:23 templates/tasklists/tasklists.inc:80
+msgid "Select a tasklist above to display the URL"
+msgstr "Vali tööde nimekiri ülevalt et näha URLi"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Vali eksportimise formaat:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Vali fail mida importida:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Vali faili tüüo:"
+
+#: templates/panel.inc:48
+msgid "Shared Tasklists:"
+msgstr "Jagatud tööde nimekiri:"
+
+#: config/prefs.php.dist:69
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Kas tööde nimekiri peaks olema oma veerus nimekirja vaates?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Näita tegevus nuppe?"
+
+#: config/prefs.php.dist:204
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Näita lõpetatud, poolikuid või kõiki töid tööde nimekirjas?"
+
+#: config/prefs.php.dist:191
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Näita andmeid järgmistest allikatest?"
+
+#: config/prefs.php.dist:58
+msgid "Show data from other applications or sources."
+msgstr "Näita andmeid teistest allikatest."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Näita tähtaegu?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Näita prioriteete?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Näita tööde teavitusi?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Näita töö kategooriat?"
+
+#: config/prefs.php.dist:79
+msgid "Show task list options panel?"
+msgstr "Näita seadistamise paneeli?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Näita tööde nimekirja nime?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Näita töid nendest kategooriatest"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Näita töid nendest tööde nimekirjadest"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Sorteeri katekoorja järgi"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Sorteeri progressi järgi"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Sorteeri tähtaja järgi"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Sorteeri nime järgi"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Sorteeri prioriteedi järgi"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Sorteeri kasutaja järgi"
+
+#: config/prefs.php.dist:120
+msgid "Sort direction:"
+msgstr "Sorteerimise suund:"
+
+#: config/prefs.php.dist:94
+msgid "Sort tasks by:"
+msgstr "Sorteeri tööd:"
+
+#: data.php:56
+msgid "Start"
+msgstr "Algus"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Algus aeg"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Algus aeg määratud."
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Töö teavitus"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Töö teavitus?"
+
+#: config/prefs.php.dist:28
+msgid "Task Defaults"
+msgstr "Töö vaike seaded"
+
+#: lib/Forms/task.php:65
+msgid "Task List"
+msgstr "Tööde nimekiri"
+
+#: config/prefs.php.dist:34 config/prefs.php.dist:41 config/prefs.php.dist:56
+msgid "Task List and Share Options"
+msgstr "Tööde nimekiri ja jagamise seaded"
+
+#: tasklists.php:119
+msgid "Task Lists"
+msgstr "Tööde nimekiri"
+
+#: config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Task Name"
+msgstr "Töö nimi"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Töö märkmed"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Töö märge?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Töö otsing"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "Töö lisatud:"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "Töö kustutatud:"
+
+#: tasklists.php:34
+msgid "Task lists must have a name."
+msgstr "Töö nimekirjal peab olema nimi."
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "Töö muudetud:"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "Tööd ei leitud."
+
+#: config/prefs.php.dist:93 config/prefs.php.dist:108
+msgid "Tasklist"
+msgstr "Tööde nimekiri"
+
+#: templates/panel.inc:30 templates/panel.inc:31
+#: templates/tasklists/tasklists.inc:58
+msgid "Tasklists"
+msgstr "Tööde nimekirjad"
+
+#: templates/tasklists/tasklists.inc:60
+msgid "Tasklists:"
+msgstr "Tööde nimekirjad:"
+
+#: lib/api.php:1041
+msgid "Tasks"
+msgstr "Tööd"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Tööde kokkuvõte"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Fail %s ei sisaldanud ühtki tööd."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Tööde alusrakendus ei ole saadaval."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "ööde alusrakendus ei ole saadaval: %s"
+
+#: lib/Forms/task.php:130
+msgid "The alarm value must not be empty."
+msgstr "Teavitus ei tohi olla tühi."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Hetke tund"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr "Töö \"%s\" on lisatud nimekirja \"%s\" tähtajaga: %s."
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr "Töö \"%s\" on kustutatud nimekirjast \"%s\" tähtajaga: %s."
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr "Töö \"%s\" on muudetud nimekirjas \"%s\" tähtajaga: %s."
+
+#: tasklists.php:51
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Tööde nimekirja \"%s\" ei saanud luua: %s"
+
+#: tasklists.php:62
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Tööde nimekirja \"%s\" ei saanud salvestada: %s"
+
+#: tasklists.php:53
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Tööde nimekirja \"%s\" on loodud."
+
+#: tasklists.php:87
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Tööde nimekirja \"%s\" on kustutatud."
+
+#: tasklists.php:64
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Tööde nimekirja \"%s\" on salvestatud."
+
+#: config/prefs.php.dist:109
+msgid "Then:"
+msgstr "Siis:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Hetke kriteeriumitele ei vasta ühtegi tööd."
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Tekkis probleem töö %s lõpetamisel: %s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Tekkis probleem töö %s kustutamisel: %s"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Tekkis probleem töö %s salvestamisel."
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Tekkis viga importimisel: %s"
+
+#: lib/api.php:397 lib/api.php:701 lib/api.php:973
+msgid "There was an error importing the iCalendar data."
+msgstr "Tekkis viga iCal andmete importimisel."
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "Ühtegi tööd ei eksporditud."
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "Faili formaat ei ole toetatud."
+
+#: templates/tasklists/tasklists.inc:79
+msgid "URL"
+msgstr "URL"
+
+#: tasklists.php:83
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Viga kustutamisel \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Viga definitsioonide laadimisel: %s"
+
+#: templates/list/task_summaries.inc:62 templates/view/task.inc:9
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Block/summary.php:31 lib/Block/summary.php:215 lib/Forms/task.php:78
+msgid "Unfiled"
+msgstr "Täitmata"
+
+#: lib/api.php:502 lib/api.php:774 lib/api.php:832 lib/api.php:886
+#: lib/api.php:1011
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Formaat ei ole toetatud: %s"
+
+#: lib/Driver.php:1079
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Me sooviksime meelde tuletada, et töö tähtaeg on.\n"
+"\n"
+"%s\n"
+"\n"
+"Kuupäev: %s\n"
+"Kellaaeg: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Nädal(ad)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Vaike tähtaeg töödele oleks?"
+
+#: config/prefs.php.dist:147
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Töö loomisel mitu päeva tuleviku peaks olema vaike tähtaeg (0 tähendab täna)?"
+
+#: config/prefs.php.dist:138
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "Kas töö loomisel peaks olema vaikimisi tähtaeg?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Millisesse nimekirja peaks töö lisama?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Aasta"
+
+#: task.php:61 data.php:41 data.php:151
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Pole lubatud luua rohkem kui %d tööd."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "Sul puuduvad õigused selle tööde nimekirja vaatamiseks."
+
+#: tasklists.php:90
+msgid "You must select a task list to be deleted."
+msgstr "Sa pead valima tööde nimekirja mida kustutada."
+
+#: templates/tasklists/tasklists.inc:47
+msgid "You must select a tasklist to be deleted."
+msgstr "Sa pead valima tööde nimekirja mida kustutada."
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr "Te soovisite teavitust kui tööde nimekirja lisatakse uus töö."
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr "Te soovisite teavitust kui tööde nimekirjast kustutatakse töö."
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr "Te soovisite teavitust kui tööde nimekirja muudetakse."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Sinu vaike tööde nimekiri:"
+
+#: templates/panel.inc:43
+msgid "[Manage My Tasklists]"
+msgstr "[Halda Minu tööde nimekirja]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:199
+msgid "[none]"
+msgstr "[midagi]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Kõik tööd"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Kõik tööd"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Kategooria"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "_Lõpeta"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "_Lõpetatud tööd"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "Ku_stuta"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "_Kirjeldus"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "Tä_htaeg"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "_Muuda"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Tu_leviku tööd"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "_Import/Eksport"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "_Nimekiri"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "_Uus töö"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "_Prindi"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "_Otsing"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "_Tööd"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "EL"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCal (vTodo)"
+
+#: lib/Block/tree_menu.php:37
+#, php-format
+msgid "in %s"
+msgstr "%s ajal"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "Ilma ajata"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "PL"
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasks.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "tasks.ics"
--- /dev/null
+# Basque translations for Nag.
+# Copyright 2008-2009 The Horde Project
+# This file is distributed under the same license as the Nag package.
+# Euskal Herriko Unibertsitatea EHU/UPV <xabier.arrieta@ehu.es>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag H3 (1.1)\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-01-16 09:33+0100\n"
+"PO-Revision-Date: 2008-07-17 14:24+0200\n"
+"Last-Translator: Euskal Herriko Unibertsitatea EHU/UPV <xabier.arrieta@ehu."
+"es>\n"
+"Language-Team: Euskal Herriko Unibertsitatea EHU/UPV <xabier.arrieta@ehu."
+"es>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d ordu"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d ordu, %d minutu"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d ordu, %d minutu"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d ordu"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d ordu, %d minutu"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d ordu, %d minutu"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minutu"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutu"
+
+#: templates/list/header.inc:3
+#, php-format
+msgid "%d tasks"
+msgstr "%d zeregin"
+
+#: lib/Nag.php:380
+#, php-format
+msgid "%s at %s"
+msgstr "%s - %s"
+
+#: lib/Nag.php:532 lib/Block/summary.php:90
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s -- mugaeguna: %s"
+
+#: lib/Nag.php:530 lib/Block/summary.php:88
+#, php-format
+msgid "%s is due now."
+msgstr "%s -- mugaeguna orain du."
+
+#: data.php:193
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s behar bezala inportatu da"
+
+#: tasklists.php:100 lib/base.php:104
+#, php-format
+msgid "%s's Task List"
+msgstr "%s(r)en zeregin-zerrenda"
+
+#: lib/Nag.php:337
+msgid "(highest)"
+msgstr "(handia)"
+
+#: lib/Nag.php:337
+msgid "(lowest)"
+msgstr "(txikia)"
+
+#: templates/list/header.inc:3
+msgid "1 task"
+msgstr "Zeregin bat"
+
+#: task.php:286
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "%s zeregina burutzeko sarbidea ukatu da."
+
+#: task.php:260
+#, php-format
+msgid "Access denied deleting %s."
+msgstr "%s ezabatzeko sarbidea ukatu da."
+
+#: task.php:219
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Zeregina %s(e)ra eramateko sarbidea ukatu da."
+
+#: task.php:222
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Zeregina %s(e)tik kentzeko sarbidea ukatu da."
+
+#: task.php:144
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Oharra hemen gordetzeko sarbidea ukatu da: %s."
+
+#: task.php:142
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Zeregina gordetzeko sarbidea ukatu da: %s."
+
+#: task.php:69
+msgid "Adding A New Task"
+msgstr "Zeregin berri bat gehitu"
+
+#: templates/task/task.inc:67
+msgid "Ala_rm"
+msgstr "Ala_rma"
+
+#: templates/view/task.inc:33
+msgid "Alarm"
+msgstr "Alarma"
+
+#: config/prefs.php.dist:143
+msgid "All tasks"
+msgstr "Zeregin guztiak"
+
+#: lib/Block/summary.php:54
+msgid "Always show completed tasks?"
+msgstr "Beti erakutsi burututako zereginak?"
+
+#: lib/Block/summary.php:51
+msgid "Always show overdue tasks?"
+msgstr "Beti erakutsi atzeratutako zereginak?"
+
+#: config/prefs.php.dist:98
+msgid "Ascending"
+msgstr "Gorantz"
+
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Itzuli zeregin-zerrendaren aukeretara"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:56
+msgid "Calendar"
+msgstr "Egutegia"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Kat_egoria"
+
+#: data.php:52 templates/view/task.inc:25 config/prefs.php.dist:70
+#: config/prefs.php.dist:85
+msgid "Category"
+msgstr "Kategoria"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Aldatu"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Aldatu zereginak ordenatzeko eta bistaratzeko aukerak."
+
+#: config/prefs.php.dist:122
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Aukeratu zeregin berrien, editatuen eta ezabatuen berri posta elektronikoz "
+"ematea nahi duzun ala ez:"
+
+#: config/prefs.php.dist:36
+msgid "Choose if you want to be notified of new, edited, and deleted tasks."
+msgstr ""
+"Aukeratu zeregin berrien, editatuen eta ezabatuen berri ematea nahi duzun "
+"ala ez."
+
+#: config/prefs.php.dist:29
+msgid "Choose your default task list."
+msgstr "Aukeratu zeregin-zerrenda lehenetsia."
+
+#: templates/search/search.inc:34
+msgid "Clear Form"
+msgstr "Garbitu inprimakia"
+
+#: templates/task/task.inc:88
+msgid "Co_mpleted?"
+msgstr "_Burututa?"
+
+#: templates/view/task.inc:11
+msgid "Complete"
+msgstr "Burututa"
+
+#: lib/Block/summary.php:145 templates/list/task_summaries.inc:5
+#, php-format
+msgid "Complete \"%s\""
+msgstr "\"%s\" burutu da"
+
+#: templates/view/task.inc:44
+msgid "Complete Task"
+msgstr "Zeregin burutua"
+
+#: config/prefs.php.dist:145
+msgid "Complete tasks"
+msgstr "Zeregin burutuak"
+
+#: lib/Nag.php:395 lib/Block/summary.php:143
+msgid "Completed"
+msgstr "Burutua"
+
+#: task.php:295
+#, php-format
+msgid "Completed %s."
+msgstr "%s burutu da."
+
+#: templates/list/task_headers.inc:31 templates/view/task.inc:41
+#: config/prefs.php.dist:72 config/prefs.php.dist:87
+msgid "Completed?"
+msgstr "Burutua?"
+
+#: data.php:55
+msgid "Completion Status"
+msgstr "Burutze-egoera"
+
+#: lib/api.php:225
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Konexioak huts egin du: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Sortu"
+
+#: templates/view/task.inc:53
+msgid "Created"
+msgstr "Sortua"
+
+#: lib/Nag.php:427 templates/task/task.inc:76
+msgid "Day(s)"
+msgstr "egunez behin"
+
+#: config/prefs.php.dist:28
+msgid "Default Task List"
+msgstr "Zeregin-zerrenda lehenetsia"
+
+#: templates/tasklists/tasklists.inc:100 templates/view/task.inc:16
+msgid "Delete"
+msgstr "Ezabatu"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Ezabatzeko berrespena"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Ezabatu botoiaren portaera"
+
+#: templates/task/task.inc:110
+msgid "Delete this task"
+msgstr "Ezabatu zeregin hau"
+
+#: task.php:268
+#, php-format
+msgid "Deleted %s."
+msgstr "%s ezabatua."
+
+#: config/prefs.php.dist:99
+msgid "Descending"
+msgstr "Beherantz"
+
+#: data.php:51
+msgid "Description"
+msgstr "Azalpena"
+
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Azalpena:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Bistaratzeko aukerak"
+
+#: config/prefs.php.dist:109
+msgid "Do you want to confirm deleting entries?"
+msgstr "Sarrerak ezabatzea berretsi nahi duzu?"
+
+#: data.php:53 templates/view/task.inc:29
+msgid "Due By"
+msgstr "Noizko:"
+
+#: config/prefs.php.dist:71 config/prefs.php.dist:86
+msgid "Due Date"
+msgstr "Epemuga"
+
+#: templates/task/task.inc:45
+msgid "Due _By"
+msgstr "_Noizko"
+
+#: templates/view/task.inc:13
+msgid "Edit"
+msgstr "Editatu"
+
+#: lib/Block/summary.php:140 templates/list/task_summaries.inc:20
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Editatu \"%s\""
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Editatu zeregina"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Editatu kategoriak eta koloreak"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Esportatu"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Esportatu zereginak"
+
+#: config/prefs.php.dist:47
+msgid "External Data"
+msgstr "Kanpoko datuak"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20
+msgid "General Options"
+msgstr "Aukera orokorrak"
+
+#: lib/Nag.php:430 templates/task/task.inc:75
+msgid "Hour(s)"
+msgstr "orduz behin"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Inportatu zereginak, %d. urratsa"
+
+#: data.php:199
+msgid "Import/Export Tasks"
+msgstr "Inportatu/esportatu zereginak"
+
+#: list.php:88
+msgid "Incom_plete tasks"
+msgstr "Zeregin _burutu gabeak"
+
+#: config/prefs.php.dist:144
+msgid "Incomplete tasks"
+msgstr "Zeregin burutu gabeak"
+
+#: templates/view/task.inc:60
+msgid "Last Modified"
+msgstr "Aldatze-data"
+
+#: lib/api.php:82
+msgid "Maximum Number of Tasks"
+msgstr "Zereginen gehieneko kopurua"
+
+#: lib/Nag.php:433 templates/task/task.inc:74
+msgid "Minute(s)"
+msgstr "minutuz behin"
+
+#: task.php:126
+msgid "Modifying:"
+msgstr "Aldatzen:"
+
+#: lib/api.php:610
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"iCalendar osagai bat baino gehiago aurkitu dira; vTodo bakarra onartzen da."
+
+#: list.php:39
+msgid "My Tasks"
+msgstr "Zereginak"
+
+#: templates/task/task.inc:17 templates/search/search.inc:25
+msgid "N_ame"
+msgstr "I_zena"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Iz_ena"
+
+#: data.php:50
+msgid "Name"
+msgstr "Izena"
+
+#: lib/Block/summary.php:18
+msgid "New Task"
+msgstr "Zeregin berria"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Hurrengoa"
+
+#: config/prefs.php.dist:118
+msgid "No"
+msgstr "Ez"
+
+#: templates/task/task.inc:48
+msgid "No due date."
+msgstr "Ez dago epemugarik."
+
+#: lib/api.php:404 lib/api.php:448 lib/api.php:603
+msgid "No iCalendar data was found."
+msgstr "Ez da aurkitu iCalendar daturik."
+
+#: lib/Nag.php:546
+msgid "No task lists are available to guests."
+msgstr "Ez dago zeregin-zerrenda erabilgarririk gonbidatuentzat."
+
+#: lib/Block/summary.php:186
+msgid "No tasks to display"
+msgstr "Ez dago zereginik bistaratzeko"
+
+#: lib/Nag.php:437 templates/task/task.inc:70
+msgid "None"
+msgstr "Bat ere ez"
+
+#: lib/Nag.php:396
+msgid "Not Completed"
+msgstr "Burutu gabe"
+
+#: lib/Driver/sql.php:95 lib/Driver/sql.php:134
+msgid "Not found"
+msgstr "Ez da aurkitu"
+
+#: config/prefs.php.dist:35
+msgid "Notifications"
+msgstr "Jakinarazpenak"
+
+#: config/prefs.php.dist:120
+msgid "On all shown tasklists"
+msgstr "Erakutsitako zeregin-zerrenda guztietan"
+
+#: config/prefs.php.dist:121
+msgid "On all tasklists I have read access to"
+msgstr "Irakurtzeko baimena dudan zeregin-zerrenda guztietan"
+
+#: config/prefs.php.dist:119
+msgid "On my tasklists only"
+msgstr "Nire zeregin-zerrendetan bakarrik"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "_Lehentasuna"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Baimena"
+
+#: lib/api.php:378 lib/api.php:485 lib/api.php:548 lib/api.php:585
+msgid "Permission Denied"
+msgstr "Baimena ukatu da"
+
+#: lib/api.php:106
+msgid "Permission denied"
+msgstr "Baimena ukatuta"
+
+#: data.php:54 templates/view/task.inc:37 config/prefs.php.dist:68
+#: config/prefs.php.dist:83
+msgid "Priority"
+msgstr "Lehentasuna"
+
+#: templates/view/task.inc:16
+msgid "Really delete this task?"
+msgstr "Ziur zaude zeregin hau ezabatu nahi duzula?"
+
+#: templates/list/header.inc:5
+msgid "Refresh List"
+msgstr "Freskatu zerrenda"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Berrezarri"
+
+#: templates/task/task.inc:102
+msgid "Save"
+msgstr "Gorde"
+
+#: task.php:243
+#, php-format
+msgid "Saved %s."
+msgstr "%s gorde da."
+
+#: search.php:14 templates/search/search.inc:6 templates/search/search.inc:33
+msgid "Search"
+msgstr "Bilatu"
+
+#: list.php:62
+msgid "Search Results"
+msgstr "Bilaketaren emaitza"
+
+#: templates/search/search.inc:22
+msgid "Search Scope"
+msgstr "Bilaketa-esparrua"
+
+#: templates/search/search.inc:14
+msgid "Search _Text"
+msgstr "Bilatzeko _testua"
+
+#: templates/task/task.inc:56
+msgid "Select a date"
+msgstr "Hautatu data"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Hautatu zeregin-zerrenda"
+
+#: templates/menu.inc:8
+msgid "Select tasklists to display:"
+msgstr "Hautatu zeregin-zerrendak bistaratzeko:"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Hautatu esportazio-formatua:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Hautatu inportatu beharreko fitxategia:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Hautatu iturburu-fitxategiaren formatua:"
+
+#: config/prefs.php.dist:59
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Zeregin-zerrenda bere zutabean bertan bistaratu Zerrendaren ikuspegian"
+
+#: lib/Block/summary.php:36
+msgid "Show action buttons?"
+msgstr "Hautatu ekintza-botoiak?"
+
+#: config/prefs.php.dist:146
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Erakutsi zeregin burutuak, burutu gabeak edo guztiak zereginen zerrendan?"
+
+#: config/prefs.php.dist:133
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Erakutsi beste aplikazio hauetako datuak zereginen zerrendan?"
+
+#: config/prefs.php.dist:48
+msgid "Show data from other applications or sources."
+msgstr "Erakutsi beste aplikazio edo iturburu batzuetako datuak."
+
+#: lib/Block/summary.php:39
+msgid "Show due dates?"
+msgstr "Erakutsi epemugak?"
+
+#: lib/Block/summary.php:33
+msgid "Show priorities?"
+msgstr "Erakutsi lehentasunak?"
+
+#: lib/Block/summary.php:45
+msgid "Show task alarms?"
+msgstr "Erakutsi zereginen alarmak?"
+
+#: lib/Block/summary.php:48
+msgid "Show task category?"
+msgstr "Erakutsi zereginen kategoria?"
+
+#: lib/Block/summary.php:42
+msgid "Show tasklist name?"
+msgstr "Erakutsi zereginen zerrendaren izena?"
+
+#: lib/Block/summary.php:57
+msgid "Show tasks from these categories"
+msgstr "Erakutsi kategoria hauetako zereginak"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Ordenatu kategoriaren arabera"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Ordenatu burutze-egoeraren arabera"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Ordenatu epemugaren arabera"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Ordenatu izenaren arabera"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Ordenatu lehentasunaren arabera"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Ordenatu erabiltzaile-izenaren arabera"
+
+#: config/prefs.php.dist:100
+msgid "Sort direction:"
+msgstr "Ordenatzeko noranzkoa:"
+
+#: config/prefs.php.dist:74
+msgid "Sort tasks by:"
+msgstr "Ordenatu zereginak honen arabera:"
+
+#: templates/list/task_summaries.inc:28
+msgid "Task Alarm"
+msgstr "Zeregin-alarma"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Zeregin-alarma?"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Zeregin-zerrenda"
+
+#: config/prefs.php.dist:27 config/prefs.php.dist:34 config/prefs.php.dist:46
+msgid "Task List and Share Options"
+msgstr "Zereginak zerrendatzeko eta partekatzeko aukerak"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Zeregin-zerrendaren izena:"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Zeregin-zerrendak"
+
+#: config/prefs.php.dist:69 config/prefs.php.dist:84
+msgid "Task Name"
+msgstr "Zereginaren izena"
+
+#: templates/list/task_summaries.inc:26
+msgid "Task Note"
+msgstr "Zeregin-oharra"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Zeregin-oharra?"
+
+#: lib/Nag.php:571
+msgid "Task added:"
+msgstr "Zeregina gehituta:"
+
+#: lib/Nag.php:581
+msgid "Task deleted:"
+msgstr "Zeregina ezabatuta:"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Zeregin-zerrenak izen bat eduki behar du."
+
+#: lib/Nag.php:576
+msgid "Task modified:"
+msgstr "Zeregina aldatuta:"
+
+#: view.php:43 task.php:128
+msgid "Task not found."
+msgstr "Zeregina ez da aurkitu."
+
+#: config/prefs.php.dist:73 config/prefs.php.dist:88
+msgid "Tasklist"
+msgstr "Zeregin-zerrenda"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Zeregin-laburpena"
+
+#: data.php:187
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "%s fitxategiak ez dauka zereginik."
+
+#: task.php:177
+msgid "The alarm field may only contain integers."
+msgstr "Alarma-eremuan osokoak bakarrik sar daitezke."
+
+#: lib/Nag.php:572
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"\"%s\" zeregina gehitu da \"%s\" zeregin-zerrendan, epemuga honekin: %s."
+
+#: lib/Nag.php:582
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"\"%s\" zeregina ezabatu egin da \"%s\" zeregin-zerrendatik, epemuga honekin: "
+"%s."
+
+#: lib/Nag.php:577
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"\"%s\" zeregina editatu egin da \"%s\" zeregin-zerrendan, epemuga honekin: %"
+"s."
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Ezin izan da sortu \"%s\" ohar-bloka: %s"
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Ezin izan da gorde \"%s\" zeregin-zerrenda: %s"
+
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "\"%s\" zeregin-zerrenda sortu da."
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "\"%s\" zeregin-zerrenda ezabatu da."
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "\"%s\" zeregin-zerrenda gorde da."
+
+#: config/prefs.php.dist:89
+msgid "Then:"
+msgstr "Ondoren honen arabera:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Ez dago uneko irizpideak betetzen dituen zereginik."
+
+#: task.php:292
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Arazo bat gertatu da \"%s\" burutzean: %s"
+
+#: task.php:265
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Arazo bat gertatu da %s ezabatzean: %s"
+
+#: task.php:241
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Arazo bat gertatu da zeregina gordetzean: %s."
+
+#: data.php:190
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Errorea gertatu da datuak inportatzean: %s"
+
+#: lib/api.php:396 lib/api.php:597
+msgid "There was an error importing the iCalendar data."
+msgstr "Errorea gertatu da iCalendar datuak inportatzean."
+
+#: data.php:77
+msgid "There were no tasks to export."
+msgstr "Ez dago zereginik esportatzeko."
+
+#: data.php:121
+msgid "This file format is not supported."
+msgstr "Fitxategi-formatu hau ez da onartzen."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Ezin da \"%s\" ezabatu: %s"
+
+#: templates/task/task.inc:103
+msgid "Undo changes"
+msgstr "Desegin aldaketak"
+
+#: lib/Nag.php:791 lib/Nag.php:792 lib/Nag.php:806 lib/Nag.php:807
+#: lib/Block/summary.php:30 lib/Block/summary.php:179
+#: templates/list/task_summaries.inc:33 templates/view/task.inc:26
+msgid "Unfiled"
+msgstr "Sailkatu gabe"
+
+#: lib/api.php:455 lib/api.php:512 lib/api.php:628
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Eduki mota hau ez da onartzen: %s"
+
+#: lib/Nag.php:424 templates/task/task.inc:77
+msgid "Week(s)"
+msgstr "aste"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Zein zeregin-zerrendatan gehituko dira zereginak?"
+
+#: data.php:39 data.php:145 task.php:31
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Ez duzu baimenik %d zeregin baino gehiago sortzeko."
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Ez duzu baimenik zeregin-zerrenda hau ikusteko."
+
+#: tasklists.php:84 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Zeregin-zerrenda bat hautatu behar duzu ezabatzeko."
+
+#: lib/Nag.php:572
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Zure zeregin-zerrendetan zereginak gehitzean horren berri ematea eskatu "
+"zenuen."
+
+#: lib/Nag.php:582
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Zure zeregin-zerrendetatik zereginak ezabatzean horren berri ematea eskatu "
+"zenuen."
+
+#: lib/Nag.php:577
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Zure zeregin-zerrendetan zereginak editatzean horren berri ematea eskatu "
+"zenuen."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Zure zeregin-zerrenda lehenetsia:"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Zure zeregin-zerrendak:"
+
+#: lib/Block/summary.php:86 lib/Block/summary.php:169
+#: templates/list/task_summaries.inc:25
+msgid "[none]"
+msgstr "[bat ere ez]"
+
+#: list.php:87
+msgid "_All tasks"
+msgstr "_Zeregin guztiak"
+
+#: templates/task/task.inc:41 templates/search/search.inc:27
+msgid "_Category"
+msgstr "_Kategoria"
+
+#: templates/view/task.inc:11
+msgid "_Complete"
+msgstr "_Burutua"
+
+#: list.php:89
+msgid "_Completed tasks"
+msgstr "Zere_gin burutuak"
+
+#: templates/view/task.inc:16
+msgid "_Delete"
+msgstr "E_zabatu"
+
+#: templates/task/task.inc:94 templates/search/search.inc:26
+msgid "_Description"
+msgstr "_Azalpena"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "_Epemuga"
+
+#: templates/view/task.inc:13
+msgid "_Edit"
+msgstr "E_ditatu"
+
+#: lib/Nag.php:496
+msgid "_Import/Export"
+msgstr "_Inportatu/esportatu"
+
+#: lib/Nag.php:481
+msgid "_List Tasks"
+msgstr "_Zerrendatu zereginak"
+
+#: lib/Nag.php:491
+msgid "_My Tasklists"
+msgstr "_Nire zeregin-zerrendak"
+
+#: lib/Nag.php:486
+msgid "_New Task"
+msgstr "Zeregin _berria"
+
+#: lib/Nag.php:501
+msgid "_Print"
+msgstr "I_nprimatu"
+
+#: templates/task/task.inc:82
+msgid "_Priority"
+msgstr "_Lehentasuna"
+
+#: lib/Nag.php:488
+msgid "_Search"
+msgstr "_Bilatu"
+
+#: templates/task/task.inc:26 templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Z_ereginen zerrenda"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "denborarik ez"
+
+#: data.php:94 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "zereginak.csv"
+
+#: data.php:106
+msgid "tasks.ics"
+msgstr "zereginak.ics"
--- /dev/null
+# Finnish translation for Nag.
+# Copyright
+# Tero Matinlassi <terom@iki.fi>, 2002.
+# Leena Heino <liinu@uta.fi>, 2002-2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 3.0-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-05-17 16:38+0300\n"
+"PO-Revision-Date: 2008-05-20 12:59+0200\n"
+"Last-Translator: Leena Heino <liinu@uta.fi>\n"
+"Language-Team: Finnish <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s sisältäen alitehtävät)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d tunti"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d tunti, %d minuutti"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d tunti, %d minuuttia"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d tuntia"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d tuntia, %d minuutti"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d tuntia, %d minuuttia"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minuutti"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuuttia"
+
+#: lib/Nag.php:393
+#, php-format
+msgid "%s at %s"
+msgstr "%s %s"
+
+#: lib/Nag.php:619 lib/Block/summary.php:106 lib/Block/tree_alarms.php:41
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s pitäisi valmistua %s"
+
+#: lib/Nag.php:617 lib/Block/summary.php:104 lib/Block/tree_alarms.php:43
+#, php-format
+msgid "%s is due now."
+msgstr "%s pitäisi olla valmis nyt."
+
+#: task.php:238
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s on nyt kesken."
+
+#: data.php:209
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s tuonti onnistui."
+
+#: lib/Nag.php:545 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "%s:n tehtävälista"
+
+#: lib/Nag.php:344 lib/Forms/task.php:61
+msgid "(highest)"
+msgstr "(korkein)"
+
+#: lib/Nag.php:344 lib/Forms/task.php:62
+msgid "(lowest)"
+msgstr "(matalin)"
+
+#: task.php:222
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Sinulla ei ole oikeuksia muuttaa tehtävän suoritustietoja: %s."
+
+#: task.php:27
+msgid "Access denied deleting task."
+msgstr "Sinulla ei ole oikeuksia poistaa tehtävää."
+
+#: task.php:91 task.php:97
+msgid "Access denied editing task."
+msgstr "Sinulla ei ole oikeuksia muokata tehtävää."
+
+#: task.php:89
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Sinulla ei ole muokata tehtävää: %s"
+
+#: task.php:170
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Sinulla ei ole oikeuksia siirtää tehtävää %s:ään."
+
+#: task.php:173
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Sinulla ei ole oikeuksia poistaa tehtävää %s:stä."
+
+#: task.php:132
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Sinulla ei ole oikeuksia tallettaa %s:ään."
+
+#: task.php:128
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Sinulla ei ole oikeuksia tallettaa tehtävää: %s"
+
+#: data.php:57 templates/view/task.inc:26 lib/Forms/task.php:91
+msgid "Alarm"
+msgstr "Hälytys"
+
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "Kaikki tehtävät"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Näytä aina valmistuneet tehtävät."
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Näytä aina myöhästyneet tehtävät."
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "Nouseva"
+
+#: data.php:55
+msgid "Assignee"
+msgstr "Määrätty"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Lohkon otsikko"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Kalenteri"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Peruuta"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Kat_egoria"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:79
+#: lib/Forms/task.php:85 config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Category"
+msgstr "Kategoria"
+
+#: templates/tasklist_list.php:35 tasklists/index.php:56
+msgid "Change Permissions"
+msgstr "Muuta oikeuksia"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Voit muuttaa tehtävien järjestely- ja näyttöasetuksia."
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr ""
+"Valitse miten haluat saada muistutukset tehtäviin liitetyistä hälytyksistä:"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Valitse haluatko saada ilmoituksia uusista, muokatuista tai poistetuista "
+"tehtävistä sähköpostitse:"
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Valitse haluatko saada ilmoituksia uusista, muokatuista tai poistetuista "
+"tehtävistä."
+
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Voit valita oletustehtävälistasi."
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr "Napsauta tai kopioi tämä URL nähdäksesi tämän tehtävälistan"
+
+#: templates/panel.inc:44
+msgid "Close"
+msgstr "Sulje"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Sulje haku"
+
+#: view.php:112
+msgid "Complete"
+msgstr "Suoritettu"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:175
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Valmistunut \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Suorita tehtävä"
+
+#: config/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "Suorita tehtävät"
+
+#: lib/Nag.php:408 lib/Block/summary.php:173
+msgid "Completed"
+msgstr "Suoritettu"
+
+#: task.php:236
+#, php-format
+msgid "Completed %s."
+msgstr "Suoritettiin %s."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Valmistuneet tehtävät"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Valmistunut ylätehtävä, merkitse sen tila ensin keskeneräiseksi"
+
+#: templates/view/task.inc:38 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:97 config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "Suoritettu?"
+
+#: data.php:63
+msgid "Completion Date"
+msgstr "Valmistumispäivämäärä"
+
+#: data.php:62
+msgid "Completion Status"
+msgstr "Valmistumisen tila"
+
+#: lib/api.php:443 lib/api.php:704
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Yhteys epäonnistui: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Luo"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Luo tehtävälista"
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "Luo uusi tehtävälista"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Luotu"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Päivä"
+
+#: lib/Nag.php:440 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Päiviä"
+
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Oletustehtävälista"
+
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Oletukset uudelle tehtävälistalle"
+
+#: lib/Forms/task.php:90
+msgid "Delay Start Until"
+msgstr "Viivästä aloitusta kunnes"
+
+#: view.php:119 templates/tasklist_list.php:37 tasklists/index.php:57
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Poista"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Poista %s"
+
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "Poiston varmistus"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "Voit muuttaa Poista painikkeen toimintaa"
+
+#: task.php:112 lib/Forms/task.php:102 lib/Forms/task.php:129
+msgid "Delete this task"
+msgstr "Poista tämä tehtävä"
+
+#: task.php:37
+#, php-format
+msgid "Deleted %s."
+msgstr "Poistettiin %s."
+
+#: lib/api.php:686
+msgid "Deleting entire tasklists is not supported."
+msgstr "Koko tehtävälistan poistaminen ei ole tuettu."
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "Laskeva"
+
+#: data.php:53 lib/Forms/CreateTaskList.php:37 lib/Forms/EditTaskList.php:44
+#: lib/Forms/task.php:98
+msgid "Description"
+msgstr "Kuvaus"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Näkymän asetukset"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "Näytä URL"
+
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "Haluatko varmistuksen poistettavista merkinnöistä?"
+
+#: data.php:56 templates/view/task.inc:22 lib/Forms/task.php:89
+msgid "Due By"
+msgstr "Valmiina viimeistään"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "Valmistumispäivämäärä"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Valmistumispäivämäärää ei ole määritelty"
+
+#: view.php:115 templates/tasklist_list.php:33 tasklists/index.php:55
+msgid "Edit"
+msgstr "Muokkaa"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:166
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Muokkaa \"%s\""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Muokkaa %s"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Muokkaa tehtävää"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Muokkaa kategorioita ja värejä"
+
+#: task.php:102 task.php:116
+#, php-format
+msgid "Edit: %s"
+msgstr "Muokkaa %s"
+
+#: task.php:20
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Tapahtui virhe poistettaessa tehtävää: %s"
+
+#: data.php:61 templates/view/task.inc:34 lib/Forms/task.php:96
+msgid "Estimated Time"
+msgstr "Arvioitu aika"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Vie"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Vie tehtävät"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr "Ulkopuolista tietoa"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "Yleiset asetukset"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Tunti"
+
+#: lib/Nag.php:443 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Tuntia"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Tehtävien tuonti, askel %d"
+
+#: data.php:215
+msgid "Import/Export Tasks"
+msgstr "Tuo/Vie tehtävät"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Keske_neräiset tehtävät"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Keskeneräiset tehtävät"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Keskeneräisiä alitehtäviä, suorita ne ensin valmiiksi"
+
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Keskeneräiset tehtävät"
+
+#: lib/api.php:520
+msgid "Invalid tasklist name supplied."
+msgstr "Tehtävälistan nimi on epäkelpo."
+
+#: lib/api.php:386
+msgid "Invalid tasklist requested."
+msgstr "Pyydetty tehtävälista on epäkelpo."
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Muokattu viimeksi"
+
+#: templates/tasklist_list.php:2 tasklists/index.php:61
+msgid "Manage Task Lists"
+msgstr "Hallinnoi tehtävälistoja"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Merkitse \"%s\" keskeneräiseksi"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Merkitse keskeneräiseksi"
+
+#: lib/api.php:125
+msgid "Maximum Number of Tasks"
+msgstr "Tehtävien enimmäismäärä"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Valikkohälytykset"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Valikkolista"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minuutti"
+
+#: lib/Nag.php:446 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minuuttia"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Kuukausi"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Lisää asetukset..."
+
+#: lib/api.php:1179
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Löytyi useita iCalendar komponentteja. vai yksi vTodo on tuettu."
+
+#: templates/panel.inc:72
+msgid "My Task Lists:"
+msgstr "Omat tehtävälistani:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Oma tehtävälistani"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "N_imi"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Ni_mi"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/Kolab: Ei löytynyt tehtävää: %s"
+
+#: data.php:52 lib/Forms/CreateTaskList.php:36 lib/Forms/EditTaskList.php:43
+#: lib/Forms/task.php:68
+msgid "Name"
+msgstr "Nimi"
+
+#: task.php:81 task.php:116 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Uusi tehtävä"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Seuraava"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "Ei"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Ei viivettä"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Ei valmistumispäivämäärää."
+
+#: lib/api.php:553 lib/api.php:902 lib/api.php:960 lib/api.php:1172
+msgid "No iCalendar data was found."
+msgstr "Ei löytynyt iCalendar tietoja."
+
+#: lib/Forms/task.php:53
+msgid "No parent task"
+msgstr "Ei ylempiä tehtävät"
+
+#: lib/Nag.php:634
+msgid "No task lists are available to guests."
+msgstr "Vierailijoille ei ole sallittu ainuttakaan tehtävälistaa."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Ei täsmääviä tehtäviä"
+
+#: lib/Block/summary.php:229
+msgid "No tasks to display"
+msgstr "Ei tehtäviä näytettäväksi"
+
+#: lib/Nag.php:450 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Ei mitään"
+
+#: lib/Nag.php:409
+msgid "Not Completed"
+msgstr "Ei suoritettu"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Ei yksityinen"
+
+#: lib/api.php:760
+msgid "Not configured"
+msgstr "Ei asennettu."
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Ilmoitukset"
+
+#: config/prefs.php.dist:168
+msgid "On all shown task lists"
+msgstr "Kaikille näkyville tehtävälistoille"
+
+#: config/prefs.php.dist:169
+msgid "On all task lists I have read access to"
+msgstr "Kaikille tehtävälistoille, joihin minulla on lukuoikeus"
+
+#: config/prefs.php.dist:167
+msgid "On my task lists only"
+msgstr "Vain omassa tehtävälistassani"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "P_ri"
+
+#: lib/Forms/task.php:75
+msgid "Parent task"
+msgstr "Ylätehtävä"
+
+#: lib/api.php:769 lib/api.php:807 lib/api.php:840 lib/api.php:876
+#: lib/api.php:998 lib/api.php:1053 lib/api.php:1117 lib/api.php:1154
+#: lib/api.php:1267 lib/api.php:1314
+msgid "Permission Denied"
+msgstr "Käyttö kielletty"
+
+#: lib/api.php:210 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Käyttö kielletty"
+
+#: data.php:59 templates/view/task.inc:30 lib/Forms/task.php:93
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Prioriteetti"
+
+#: templates/view/task.inc:14 lib/Driver.php:907
+msgid "Private"
+msgstr "Yksityinen"
+
+#: data.php:60
+msgid "Private Event"
+msgstr "Yksityinen tilaisuus"
+
+#: lib/Driver.php:905
+msgid "Private Task"
+msgstr "Yksityinen tehtävä"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:88
+msgid "Private?"
+msgstr "Yksityinen?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"Haluatko poistaa tehtävälistan \"%s\"? Tämä operaatio on peruuttamaton ja "
+"kaikki tiedot tällä tehtävälistalla poistuvat lopullisesti."
+
+#: view.php:119
+msgid "Really delete this task?"
+msgstr "Poistetaanko tämä tehtävä?"
+
+#: templates/panel.inc:90 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:100
+#: lib/Forms/task.php:127
+msgid "Save"
+msgstr "Talleta"
+
+#: task.php:201
+#, php-format
+msgid "Saved %s."
+msgstr "Talletettiin %s."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Haku"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Hae lähteestä:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Hae _tekstiä:"
+
+#: templates/panel.inc:60
+msgid "Search for Task Lists:"
+msgstr "Hae tehtävälistoista:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Haku:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Haun tulokset \"%s\":lle"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Valitse päivämäärä"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Valitse viennissä käytettävä muoto:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Valitse tiedosto, josta tuodaan tietoja:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Valitse lähdetiedoston muoto:"
+
+#: templates/panel.inc:81
+msgid "Shared Task Lists:"
+msgstr "Jaetut tehtävälistat:"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Näytä tehtävälista listanäkymässä omassa sarakkeessaan."
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Näytä toimintopainikkeet."
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Näytä suoritetut, keskeneräiset tai kaikki tehtävät tehtävälistalla."
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Näytä näiden ohjelmien tietoja tehtävälistallasi."
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Näytä tietoja muista ohjelmista tai lähteistä."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Näytä valmistuspäivämäärät."
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Näytä prioriteetit."
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Näytä tehtävien hälytykset."
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Näytä tehtävän kategoria."
+
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Näytä tehtävälistat asetuspaneelissa."
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Näytä tehtävälistojen nimet."
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Näytä näihin luokituksiin liittyvät tehtävät"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Näytä tehtävät näistä tehtävälistoista"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Järjestä luokituksen mukaan"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Järjestä suoritustilan mukaan"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Järjestä valmistumispäivämäärän mukaan"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Järjestä nimen mukaan"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Järjestä prioriteetin mukaan"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Järjestä käyttäjätunnuksen mukaan"
+
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "Järjestyksen suuntaa"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "Järjestä tehtävät:"
+
+#: data.php:58
+msgid "Start"
+msgstr "Alkaa"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Aloituspäivämäärä"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Aloituspäivämäärää määritelty."
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "Tilauksen URL"
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Tehtävän hälytys"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Tehtävän hälytys?"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "Tehtävän oletukset"
+
+#: lib/Driver/sql.php:100
+msgid "Task ID not found"
+msgstr "Tehtävä ID:ä ei löytynyt"
+
+#: templates/tasklist_list.php:15 lib/Forms/task.php:71
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Task List"
+msgstr "Tehtävälista"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Tehtävälistan tiedot"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "Tehtävälistalistaus"
+
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Tehtävälistaan ja jakeluun liittyvät asetukset"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "%s:n omistamat tehtävälistat."
+
+#: templates/panel.inc:54 templates/panel.inc:55
+msgid "Task Lists"
+msgstr "Tehtävälistat"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "Tehtävän nimi"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Tehtävän huomautus"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Tehtävän huomautus?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Tehtävän haku"
+
+#: lib/Driver/sql.php:136
+msgid "Task UID not found"
+msgstr "Tehtävä UID:a ei löytynyt."
+
+#: lib/Nag.php:659
+msgid "Task added:"
+msgstr "Tehtävä lisätty:"
+
+#: lib/Nag.php:669
+msgid "Task deleted:"
+msgstr "Tehtävä poistettu:"
+
+#: lib/Nag.php:664
+msgid "Task modified:"
+msgstr "Tehtävää muokattu:"
+
+#: task.php:95 view.php:44
+msgid "Task not found."
+msgstr "Tehtävää ei löytynyt."
+
+#: lib/api.php:698
+msgid "Tasklist does not exist or no permission to delete"
+msgstr ""
+"Tehtävälistaa ei ole olemassa tai sinulla ei ole oikeuksia poistaa sitä"
+
+#: lib/api.php:526
+msgid "Tasklist does not exist or no permission to edit"
+msgstr ""
+"Tehtävälistaa ei ole olemassa tai sinulla ei ole oikeusia muokata sitä."
+
+#: lib/api.php:1236
+msgid "Tasks"
+msgstr "Tehtävät"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Tehtävät yhteenveto"
+
+#: lib/api.php:348
+#, php-format
+msgid "Tasks from %s"
+msgstr "Tehtävät %s:stä"
+
+#: data.php:203
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Tiedostossa %s ei ollut ainuttakaan tehtävää."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Tehtävien taustajärjestelmä ei ole käytettävissä."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Tehtävien taustajärjestelmä ei ole käytettävissä: %s"
+
+#: lib/Forms/task.php:160
+msgid "The alarm value must not be empty."
+msgstr "Hälytyksen arvo ei saa olla tyhjä."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Kuluva tunti"
+
+#: lib/Nag.php:660
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Tehtävä \"%s\" on lisätty tehtävälistaan \"%s\", valmistumispäivämäärällä: %"
+"s."
+
+#: lib/Nag.php:670
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"Tehtävä \"%s\" on poistettu tehtävälistasta \"%s\", "
+"valmistumispäivämäärällä: %s."
+
+#: lib/Nag.php:665
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Tehtävää \"%s\" on muokattu tehtävälistassa \"%s\", "
+"valmistumispäivämäärällä: %s."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Tehtävälista \"%s\" on luotu."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Tehtävälista \"%s\" on poistettu."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "Tehtävälistan \"%s\" uusi nimi on \"%s\"."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Tehtävälista \"%s\" on talletettu."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "Niin:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Ei ole tehtäviä jotka vastaisivat kriteereitä."
+
+#: task.php:232
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Tapahtui virhe suoritettaessa valmiiksi %s: %s"
+
+#: task.php:33
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Tapahtui virhe poistettaessa %s: %s"
+
+#: task.php:199
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Tapahtui virhe talletettaessa tehtävää: %s."
+
+#: data.php:206
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Tapahtui virhe tuotaessa tietoa: %s"
+
+#: lib/api.php:545 lib/api.php:894 lib/api.php:1166
+msgid "There was an error importing the iCalendar data."
+msgstr "iCalendar-tietojen tuonnissa tapahtui virhe."
+
+#: data.php:89
+msgid "There were no tasks to export."
+msgstr "Ei ole tehtäviä vietäväksi."
+
+#: data.php:135
+msgid "This file format is not supported."
+msgstr "Tämä tiedostomuoto ei ole tuettu."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "Tätä tehtävälistaa ei voi poistaa."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr "Tilataksesi tämän listan toisesta ohjelmasta käytä tätä URL-osoitetta:"
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Ei voida poistaa \"%s\": %s"
+
+#: lib/api.php:719
+#, php-format
+msgid "Unable to delete tasklist \"%s\": %s"
+msgstr "Ei voida poistaa tehtävälistaa \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Ei voi ladata määritystä %s:lle."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Ei voida poistaa tehtävälistaa \"%s\": %s"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:62
+#: lib/Nag.php:901 lib/Nag.php:902 lib/Nag.php:916 lib/Nag.php:917
+#: lib/Forms/task.php:84 lib/Block/summary.php:31 lib/Block/summary.php:222
+msgid "Unfiled"
+msgstr "Luokittelematon"
+
+#: data.php:64
+msgid "Unique ID"
+msgstr "Yksikäsitteinen ID"
+
+#: lib/api.php:652 lib/api.php:967 lib/api.php:1025 lib/api.php:1079
+#: lib/api.php:1204
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Ei tuettu Content-Type: %s"
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Miten haluat muistuttaa itseäsi erääntyvistä tehtävistä.\n"
+"\n"
+"%s\n"
+"\n"
+"Päivä: %s\n"
+"Aika: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:437 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Viikkoa"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Mitä haluat laittaa oletuksesi tehtävien valmistumisajaksi?"
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Kun luodaan uusi tehtävä, niin montako päivää eteenpäin pitäisi oletus "
+"valmistumispäivämäärän olla (0 tarkoitaa tänään)?"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr ""
+"Kun luodaan uusi tehtävä, niin pitäisikö sillä olla valmistumispäivämäärä?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Mihin tehtävälistaan tehtävät lisätään?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Vuosi"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Et voi muuttaa tätä tehtävälistaa."
+
+#: data.php:41 data.php:160 task.php:68
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Et voi luoda kuin enintään %d tehtävää."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Et voi poistaa tätä tehtävälistaa."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "Sinulla ei ole oikeuksia selata tehtävälistaa."
+
+#: lib/Nag.php:660
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Olet pyytänyt että saat ilmoituksen kun tehtäviä lisätään tehtävälistoihisi."
+
+#: lib/Nag.php:670
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Olet pyytänyt että saat ilmoituksen kun tehtäviä poistetaan "
+"tehtävälistoistasi."
+
+#: lib/Nag.php:665
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Olet pyytänyt että saat ilmoituksen kun tehtäviä poistetaan "
+"tehtävälistoistasi."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Oletustehtävälista:"
+
+#: templates/panel.inc:67
+msgid "[Manage Task Lists]"
+msgstr "[Hallinnoi tehtävälistoja]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:206
+msgid "[none]"
+msgstr "[tyhjä]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Kaikki tehtävät"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Kaikki tehtävät"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Kategoria"
+
+#: view.php:112
+msgid "_Complete"
+msgstr "_Suoritettu"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "_Suoritetut tehtävät"
+
+#: view.php:119
+msgid "_Delete"
+msgstr "_Poista"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "K_uvaus"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "_Valmistumispäivämäärä"
+
+#: view.php:115
+msgid "_Edit"
+msgstr "_Muokkaa"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "_Tulevat tehtävät"
+
+#: lib/Nag.php:582
+msgid "_Import/Export"
+msgstr "_Tuo/Vie"
+
+#: lib/Nag.php:569
+msgid "_List Tasks"
+msgstr "_Listaa tehtävät"
+
+#: lib/Nag.php:574
+msgid "_New Task"
+msgstr "_Uusi tehtävä"
+
+#: lib/Nag.php:587
+msgid "_Print"
+msgstr "_Tulosta"
+
+#: lib/Nag.php:578
+msgid "_Search"
+msgstr "_Haku"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "_Tehtävälista"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "am"
+
+#: view.php:73 view.php:82
+#, php-format
+msgid "by %s"
+msgstr "%s"
+
+#: view.php:75 view.php:84
+msgid "by me"
+msgstr "itse"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr " %s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "ei aikatietoja"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "pm"
+
+#: data.php:109 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasks.csv"
+
+#: data.php:120
+msgid "tasks.ics"
+msgstr "tasks.ics"
--- /dev/null
+# translation of fr_FR.po to french
+# Nag 2.2-cvs French translation.
+# Copyright 2001 Mikhaël Janson.
+# Copyright 2002 Thierry Thomas.
+#
+# Mikhaël Janson <mik@galaxie.net>, 2001.
+# Thierry Thomas <thierry@pompo.net>, 2002, 2005, 2006, 2007.
+# Pierre Lachance <pl@pierrelachance.net> et Benoit St-Andre <ben@benoitst-andre.net>, 2003, 2004.
+# Yannick Sebastia <yannick.sebastia@ecole-navale.fr>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: fr_FR\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-03-18 09:02+0100\n"
+"PO-Revision-Date: 2008-03-18 08:32+0100\n"
+"Last-Translator: Yannick Sebastia <yannick.sebastia@ecole-navale.fr>\n"
+"Language-Team: Français <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr "(% sous-tâches inclues)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d heure "
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d heure, %d minute"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d heure, %d minutes"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d heures"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d heures, %d minute"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d heures, %d minutes"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minute"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutes"
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr "%s à %s"
+
+#: lib/Nag.php:590 lib/Block/summary.php:106 lib/Block/tree_alarms.php:41
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s est dû le %s"
+
+#: lib/Nag.php:588 lib/Block/summary.php:104 lib/Block/tree_alarms.php:43
+#, php-format
+msgid "%s is due now."
+msgstr " %s est dû maintenant."
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s n'est plus terminée."
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s importé avec succès"
+
+#: lib/Nag.php:516 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "Liste des tâches de %s"
+
+#: lib/Nag.php:315 lib/Forms/task.php:58
+msgid "(highest)"
+msgstr "La plus élevée"
+
+#: lib/Nag.php:315 lib/Forms/task.php:59
+msgid "(lowest)"
+msgstr "La plus basse"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Accès refusé pour terminer la tâche %s"
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "Accès refusé pour effacer %s"
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "Accès en édition de la tâche refusé."
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Accès en édition de la tâche refusé : %s"
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Accès refusé pour déplacer la tâche vers %s. "
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Accès refusé pour retirer la tâche de %s."
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Accès refusé pour enregistrer la tâche vers %s."
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Accès refusé pour enregistrer la tâche : %s. "
+
+#: lib/Forms/task.php:88 templates/view/task.inc:26
+msgid "Alarm"
+msgstr "Alerte"
+
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "Toutes les tâches"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Toujours afficher les tâches terminées ?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Toujours afficher les tâches en retard ?"
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "Croissant"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Titre du bloc"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Agenda"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Annuler"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Catégori_e"
+
+#: data.php:54 lib/Forms/task.php:76 lib/Forms/task.php:82
+#: templates/view/task.inc:8 config/prefs.php.dist:89
+#: config/prefs.php.dist:104
+msgid "Category"
+msgstr "Catégorie"
+
+#: tasklists/index.php:56 templates/tasklist_list.php:35
+msgid "Change Permissions"
+msgstr "Changer les permissions"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Modifier le tri de vos tâches et les options d'affichage."
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr ""
+"Choisissez comment vous voulez recevoir des rappels pour les tâches avec des "
+"alarmes :"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Choisissez si vous voulez être averti des créations, m. à j. ou suppressions "
+"de tâches par courrier :"
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Choisissez si vous voulez être averti des modifications ou des alarmes de "
+"tâches."
+
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Choisissez votre liste de tâches par défaut."
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr "Cliquer ou copier cette URL pour afficher cette liste de tâches"
+
+#: templates/panel.inc:43
+msgid "Close"
+msgstr "Fermer"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Fermer la recherche"
+
+#: view.php:99
+msgid "Complete"
+msgstr "Terminer"
+
+#: lib/Block/summary.php:175 templates/list/task_summaries.inc:11
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Terminer « %s »"
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Terminer une tâche"
+
+#: config/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "Terminer des tâches"
+
+#: lib/Nag.php:379 lib/Block/summary.php:173
+msgid "Completed"
+msgstr "Terminé"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "Terminé %s."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Tâches terminées"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Tâche mère terminée, à marquer d'abord en cours"
+
+#: lib/Forms/task.php:94 templates/list/task_headers.inc:31
+#: templates/view/task.inc:38 config/prefs.php.dist:91
+#: config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "Terminée ?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "État d'achèvement"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "La connexion a échoué : %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Créer"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Créer une liste de tâches"
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "Créer une nouvelle liste de tâches"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Créé"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Jour"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Jour(s)"
+
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Liste de tâches par défaut :"
+
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Défauts pour les nouvelles tâches"
+
+#: lib/Forms/task.php:87
+msgid "Delay Start Until"
+msgstr "Retarder le début jusqu'à"
+
+#: view.php:106 lib/Forms/DeleteTaskList.php:45 tasklists/index.php:57
+#: templates/tasklist_list.php:37
+msgid "Delete"
+msgstr "Supprimer"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Supprimer %s."
+
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "Confirmation de suppression"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "Comportement du bouton de suppression"
+
+#: task.php:105 lib/Forms/task.php:99
+msgid "Delete this task"
+msgstr "Supprimer cette tâche"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "Supprimé %s."
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "Décroissant"
+
+#: data.php:53 lib/Forms/task.php:95 lib/Forms/CreateTaskList.php:37
+#: lib/Forms/EditTaskList.php:44
+msgid "Description"
+msgstr "Description"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Options d'affichage"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "Afficher l'URL"
+
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "Voulez-vous confirmer la suppression des entrées ?"
+
+#: data.php:55 lib/Forms/task.php:86 templates/view/task.inc:22
+msgid "Due By"
+msgstr "Échéance"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "Échéance"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Échéance spécifiée."
+
+#: view.php:102 tasklists/index.php:55 templates/tasklist_list.php:33
+msgid "Edit"
+msgstr "Éditer"
+
+#: lib/Block/summary.php:166 templates/list/task_summaries.inc:38
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Éditer « %s »"
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Éditer %s"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Éditer la tâche"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Modifier catégories et étiquettes"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "Éditer : %s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Erreur lors de la suppression de la tâche : %s"
+
+#: lib/Forms/task.php:93 templates/view/task.inc:34
+msgid "Estimated Time"
+msgstr "Heure prévue"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Exporter"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Exporter des tâches"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr "Donnée externe"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "Options générales"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Heure"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Heure(s)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importation des tâches, étape %d"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "Importer/Exporter des tâches"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Tâches en-_cours"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Tâches en cours"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Sous-tâches en cours, à terminer d'abord"
+
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Tâches en cours"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Dernière modification"
+
+#: tasklists/index.php:61 templates/tasklist_list.php:2
+msgid "Manage Task Lists"
+msgstr "Mes liste des tâches"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Marquer « %s » comme en cours"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Marquer comme en cours"
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "Nombre maximal de tâches"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Menu des alertes"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Menu"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minute"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minute(s)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Mois"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Plus d'options..."
+
+#: lib/api.php:1001
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Plusieurs composants iCalendar trouvés ; seulement une vToDo est supportée."
+
+#: templates/panel.inc:70
+#, fuzzy
+msgid "My Task Lists:"
+msgstr "Mes listes de tâches :"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Ma liste de tâches"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "N_om"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "N_om"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab : tâche %s non trouvée"
+
+#: data.php:52 lib/Forms/task.php:65 lib/Forms/CreateTaskList.php:36
+#: lib/Forms/EditTaskList.php:43
+msgid "Name"
+msgstr "Nom"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Nouvelle tâche"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Suivant"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "Non"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Pas de retard"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Pas d'échéance."
+
+#: lib/api.php:405 lib/api.php:724 lib/api.php:782 lib/api.php:994
+msgid "No iCalendar data was found."
+msgstr "Aucune donnée iCalendar trouvée."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Pas de tâche mère"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "Pas de liste de tâches disponible pour les invités."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Pas de tâche correspondante"
+
+#: lib/Block/summary.php:229
+msgid "No tasks to display"
+msgstr "Aucune tâche à afficher"
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Aucun"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "Non terminé"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Non privé"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Non trouvé"
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Notifications"
+
+#: config/prefs.php.dist:168
+msgid "On all shown tasklists"
+msgstr "Sur toutes les listes de tâches affichées"
+
+#: config/prefs.php.dist:169
+msgid "On all tasklists I have read access to"
+msgstr "Sur toutes les listes de tâches auxquelles j'ai accès en lecture"
+
+#: config/prefs.php.dist:167
+msgid "On my tasklists only"
+msgstr "Seulement sur mes listes de tâches"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "P_ri"
+
+#: lib/Forms/task.php:72
+msgid "Parent task"
+msgstr "Tâche mère"
+
+#: lib/api.php:591 lib/api.php:629 lib/api.php:662 lib/api.php:698
+#: lib/api.php:820 lib/api.php:875 lib/api.php:939 lib/api.php:976
+#: lib/api.php:1087 lib/api.php:1134
+msgid "Permission Denied"
+msgstr "Autorisation rejetée"
+
+#: lib/api.php:178 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Autorisation rejetée"
+
+#: data.php:57 lib/Forms/task.php:90 templates/view/task.inc:30
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Priorité"
+
+#: lib/Driver.php:907 templates/view/task.inc:14
+msgid "Private"
+msgstr "Privé"
+
+#: lib/Driver.php:905
+msgid "Private Task"
+msgstr "Tâche privée"
+
+#: lib/Forms/task.php:85 templates/view/task.inc:12
+msgid "Private?"
+msgstr "Privé ?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"Supprimer réellement la liste de tâches \"%s\"? Cela ne peut être annulé et "
+"toutes les données de cette tâches seront définitivement supprimées."
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "Supprimer cette tâche définitivement ?"
+
+#: lib/Forms/task.php:97 lib/Forms/EditTaskList.php:46 templates/panel.inc:88
+msgid "Save"
+msgstr "Enregistrer"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "%s enregistré."
+
+#: search.php:14 lib/Block/tree_menu.php:46 templates/list/header.inc:4
+#: templates/search/search.inc:31
+msgid "Search"
+msgstr "Recherche"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Rechercher dans :"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "_Texte recherché :"
+
+#: templates/panel.inc:58
+msgid "Search for Task Lists:"
+msgstr "Recherche de listes de tâches : "
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Recherche :"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Recherche : Résultats de « %s »"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Sélectionnez une date"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Choisissez le format d'exportation :"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Choisissez le fichier à importer :"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Choisissez le format du fichier source :"
+
+#: templates/panel.inc:79
+#, fuzzy
+msgid "Shared Task Lists:"
+msgstr "Listes de tâches partagées :"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Montrer la liste des tâches dans une colonne séparée ?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Afficher les boutons d'action ?"
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Afficher les tâches terminées, en cours, ou toutes les tâches dans la liste ?"
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+"Afficher les données d'une de ces autres applications dans la liste de "
+"tâches ?"
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Afficher les données depuis d'autres applications ou sources."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Afficher les dates de remise ?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Afficher les priorités ?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Afficher les alarmes de tâche ?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Afficher la catégorie de la tâche ?"
+
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Montrer l'ensemble des options des listes des tâches ?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Afficher le nom de la liste de tâches ?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Afficher les tâches de ces catégories"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Afficher les tâches de ces listes"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Tri selon la catégorie"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Tri par état d'achèvement"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Tri par date d'échéance"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Tri par nom"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Tri par priorité"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Tri par nom d'utilisateur"
+
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "Sens du tri :"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "Trier les tâches par :"
+
+#: data.php:56
+msgid "Start"
+msgstr "Début"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Date de début"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Date de début spécifiée."
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "URL d'inscription"
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Alarme de tâche"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Alarme de tâche ?"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "Défauts des tâches"
+
+#: lib/Forms/task.php:68 templates/tasklist_list.php:15
+msgid "Task List"
+msgstr "Liste de tâches"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Information de liste de tâches"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "Liste des listes de tâches"
+
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Options de la liste de tâches et du partage"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "Listes de tâches de %s."
+
+#: templates/panel.inc:52 templates/panel.inc:53
+msgid "Task Lists"
+msgstr "Listes de tâches"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "Nom de la tâche"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Note de la tâche"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Note de la tâche ?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Recherche de tâche"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "Tâche ajoutée :"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "Tâche supprimée :"
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "Tâche modifiée :"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "Tâche non trouvée"
+
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Tasklist"
+msgstr "Liste des tâches"
+
+#: lib/api.php:1056
+msgid "Tasks"
+msgstr "Tâches"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Sommaire des tâches"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Le fichier %s ne contenait aucune tâche."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Le moteur des tâches n'est pas disponible actuellement."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Le moteur de l'agenda n'est pas disponible actuellement : %s"
+
+#: lib/Forms/task.php:133
+msgid "The alarm value must not be empty."
+msgstr "La valeur de l'alarme ne doit pas être vide."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "L'heure courante"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"La tâche « %s » a été ajoutée à la liste « %s », avec une date de remise "
+"au : %s."
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"La tâche « %s » a été retirée de la liste « %s », avec une date de remise "
+"au : %s."
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"La tâche « %s » a été m. à j. dans la liste « %s », avec une date de remise "
+"au : %s."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "La liste de tâches « %s » a été créée."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "La liste de tâches « %s » a été supprimée."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "La liste de tâches\"%s\" a étérenommé en \"%s\"."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "La liste de tâches « %s » a été enregistrée."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "Alors :"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Aucune tâche ne correspond au présent critère. "
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Un problème est apparu en terminant « %s » : %s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Un problème est apparu en supprimant « %s » : %s"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Un problème est survenu lors de l'enregistrement de la tâche %s."
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Une erreur est apparue lors de l'importation des données : %s"
+
+#: lib/api.php:397 lib/api.php:716 lib/api.php:988
+msgid "There was an error importing the iCalendar data."
+msgstr "Une erreur est survenue lors de l'importation des données iCalendar."
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "Aucune tâches à exporter n'a été trouvée."
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "Ce format de fichier n'est pas pris en compte."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "Cette liste de tâches ne peut être supprimée."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Pour s'inscrire à cette liste de tâches depuis un autre logiciel, utilisez "
+"cette URL."
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Suppression impossible de « %s » : %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Chargement impossible de la définition de %s."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Impossible de sauvegarder la liste de tâches \"%s\": %s"
+
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Forms/task.php:81 lib/Block/summary.php:31 lib/Block/summary.php:222
+#: templates/list/task_summaries.inc:62 templates/view/task.inc:9
+msgid "Unfiled"
+msgstr "Hors catégorie"
+
+#: lib/api.php:502 lib/api.php:789 lib/api.php:847 lib/api.php:901
+#: lib/api.php:1026
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Type de contenu non-supporté : %s"
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Rappel d'une tâche à échoir.\n"
+"\n"
+"%s\n"
+"\n"
+"Date : %s\n"
+"Heure : %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Semaine(s)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Heure d'échéance par défaut pour les tâches ?"
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Lors de la création d'une nouvelle tâche, positionner la date d'échéance par "
+"défaut dans combien de jours ? (0 signifie aujourd'hui)"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr ""
+"Lors de la création d'une nouvelle tâche, doit-elle avoir une date "
+"d'échéance par défaut ?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "À quelle liste les tâches doivent-elles être ajoutées ?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Année"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Vous n'êtes pas autorisé à changer cette liste de tâches."
+
+#: task.php:61 data.php:41 data.php:151
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Vous n'êtes pas autorisé à créer plus de %d tâches."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Vous n'êtes pas autorisé à supprimer cette liste de tâches."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "Vous n'êtes pas autorisé à consulter la liste de tâches."
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr "Vous avez demandé à être averti des tâches ajoutées à vos listes."
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Vous avez demandé à être averti de la suppression de tâches dans vos listes."
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Vous avez demandé à être averti de la m. à j. de tâches dans vos listes."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Votre liste de tâches par défaut :"
+
+#: templates/panel.inc:65
+msgid "[Manage Task Lists]"
+msgstr "[Mes liste des tâches]"
+
+#: lib/Block/summary.php:101 lib/Block/summary.php:206
+#: templates/list/task_summaries.inc:46
+msgid "[none]"
+msgstr "[aucun]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Toutes les tâches"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Toutes les tâches"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Catégorie"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "_Terminée"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "Tâches _terminées"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "S_upprimer"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "_Description"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "Date d'éc_héance"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "É_diter"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Tâches à _venir"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "_Importer/Exporter"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "_Liste des tâches"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "_Nouvelle tâche"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "Im_primer"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "_Recherche"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Liste des _tâches"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "du matin"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "dans %s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "pas d'heure"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "de l'a.-m."
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasks.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "tasks.ics"
--- /dev/null
+# Nag Hungarian translation file.
+# Copyright 2002-2008 Laszlo L. Tornoci
+# This file is distributed under the same license as the Nag package.
+# Latest versions: ftp://xenia.sote.hu/pub/linux/horde/
+#
+# Laszlo L. Tornoci <torlasz@xenia.sote.hu>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag-h3-2.2\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-01-22 17:27+0100\n"
+"PO-Revision-Date: 2008-01-26 17:55+0100\n"
+"Last-Translator: Laszlo L. Tornoci <torlasz@xenia.sote.hu>\n"
+"Language-Team: Hungarian <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s alfeladatokkal együtt)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d óra"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d óra, %d perc"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d óra, %d perc"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d óra"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d óra, %d perc"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d óra, %d perc"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d perc"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d perc"
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr "%s, %s"
+
+#: lib/Nag.php:590 lib/Block/tree_alarms.php:41 lib/Block/summary.php:106
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s %s múlva kezdõdik"
+
+#: lib/Nag.php:588 lib/Block/tree_alarms.php:43 lib/Block/summary.php:104
+#, php-format
+msgid "%s is due now."
+msgstr "%s most kezdõdik."
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s nem teljes."
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "A %s fájl importálása sikeresen megtörtént"
+
+#: lib/Nag.php:516 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "%s feladatlistája"
+
+#: lib/Nag.php:315 lib/Forms/task.php:58
+msgid "(highest)"
+msgstr "(legsürgõsebb)"
+
+#: lib/Nag.php:315 lib/Forms/task.php:59
+msgid "(lowest)"
+msgstr "(legkevésbé sürgõs)"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Nincs jogosultsága %s feladatot befejezetté nyilvánítani."
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "Nincs jogosultsága %s feladatot törölni."
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "Nincs jogosultsága %s feladatot módosítani."
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Nincs jogosultsága a feladatot módosítani: %s"
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Nincs jogosultsága %s feladatot áthelyezni."
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Nincs jogosultsága a feladatot eltávolítani %s-bõl."
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Nincs jogosultsága a feladatot elmenteni %s-be."
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Nincs jogosultsága a feladatot elmenteni: %s"
+
+#: templates/view/task.inc:26 lib/Forms/task.php:88
+msgid "Alarm"
+msgstr "Figyelmeztetés"
+
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "Az összes feladat"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Mindig mutassuk a kész feladatokat?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "A határidõig el nem végzett feladatokat mindig mutassuk?"
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "növekvõ"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "A képernyõmodul neve"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Naptár"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Mégse"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Kategória"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:76
+#: lib/Forms/task.php:82 config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Category"
+msgstr "Kategória"
+
+#: templates/tasklist_list.php:35 tasklists/index.php:56
+msgid "Change Permissions"
+msgstr "A jogosultságok módosítása"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Sorbarendezési és megjelenítési beállítások."
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr ""
+"Válassza ki, milyen módon szeretné megkapni a feladatokra való "
+"figyelmeztetéseket:"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Válassza ki, hogy szeretne-e emailben értesítést kapni az új, módosított "
+"vagy törölt feladatokról:"
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Válassza ki, hogy szeretne-e értesítést kapni a feladatok megváltozásáról "
+"ill. a figyelmeztetésekrõl."
+
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Válassza ki az Ön alapértelmezés szerinti feladatlistáját."
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr ""
+"Kattintson rá vagy másolja le ezt az URL-t a feladatlista megjelenítéséhez"
+
+#: templates/panel.inc:43
+msgid "Close"
+msgstr "Bezárás"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "A keresés bezárása"
+
+#: view.php:99
+msgid "Complete"
+msgstr "Kész"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:175
+#, php-format
+msgid "Complete \"%s\""
+msgstr "\"%s\" készen van"
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "A feladat késszé nyilvánítása"
+
+#: config/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "A feladatok befejezése"
+
+#: lib/Nag.php:379 lib/Block/summary.php:173
+msgid "Completed"
+msgstr "Kész"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "%s készen van."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Az elkészült feladatok"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "A fõfeladat kész, elõször állítsa át befejezetlenre"
+
+#: templates/view/task.inc:38 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:94 config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "Elkészült a feladat?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "Státusz"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "A kapcsolat nem sikerült: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Létrehozás"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Feladatlista létrehozása"
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "Új feladatlista létrehozása"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Létrehozva"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "nap"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "nap"
+
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Az alapértelmezés szerinti feladatlista"
+
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Az új feladatok alapértelmezett beállításai"
+
+#: lib/Forms/task.php:87
+msgid "Delay Start Until"
+msgstr "A kezdést módosítsuk erre"
+
+#: view.php:106 templates/tasklist_list.php:37 tasklists/index.php:57
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Törlés"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "%s törlése"
+
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "A törlés megerõsítése"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "A törlés gomb viselkedése"
+
+#: task.php:105 lib/Forms/task.php:99
+msgid "Delete this task"
+msgstr "A feljegyzés törlése"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "%s-t kitöröltük."
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "csökkenõ"
+
+#: data.php:53 lib/Forms/EditTaskList.php:44 lib/Forms/CreateTaskList.php:37
+#: lib/Forms/task.php:95
+msgid "Description"
+msgstr "Leírás"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Megjelenítési beállítások"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "Az URL megjelenítése"
+
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "Az adatok törlését megelõzõen óhajt-e egy megerõsítõ kérdést?"
+
+#: data.php:55 templates/view/task.inc:22 lib/Forms/task.php:86
+msgid "Due By"
+msgstr "Határidõ"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "A határidõ napja"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "A határidõ napja."
+
+#: view.php:102 templates/tasklist_list.php:33 tasklists/index.php:55
+msgid "Edit"
+msgstr "Módosítás"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:166
+#, php-format
+msgid "Edit \"%s\""
+msgstr "\"%s\" módosítása"
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "%s módosítása"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "A feladat módosítása"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "A kategóriák és színeik módosítása"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "\"%s\" módosítása"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Nem sikerült a feladat törlése: %s"
+
+#: templates/view/task.inc:34 lib/Forms/task.php:93
+msgid "Estimated Time"
+msgstr "Becsült idõtartam"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Exportálás"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Feladatok exportálása"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr "Külsõ adat"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "Általános beállítások"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "óra"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "óra"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Feladatok importálása, %d. lépés"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "Feladatok importálása/exportálása"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Elvégzetlen feladatok"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Elvégzetlen feladatok"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Az alfeladatok befejezetlenek, elõször végezze el õket"
+
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Elvégzetlen feladatok"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Utolsó módosítás"
+
+#: templates/tasklist_list.php:2 tasklists/index.php:61
+msgid "Manage Task Lists"
+msgstr "Feladatlisták kezelése"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Jelöljük meg \"%s\"-t, mint elvégzetlent"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Jelöljük meg, mint elvégzetlent"
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "A feladatok maximális száma"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Figyelmeztetések menü"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Menülista"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "perc"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "perc"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "hónap"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "További beállítások..."
+
+#: lib/api.php:1001
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Több iCalendar komponens van jelen; csak egy vTodo használata támogatott."
+
+#: templates/panel.inc:70
+msgid "My Task Lists:"
+msgstr "Feladatlistáim:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Feladataim"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "Elnevezés"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Elnevezés"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: %s feladat nem található"
+
+#: data.php:52 lib/Forms/EditTaskList.php:43 lib/Forms/CreateTaskList.php:36
+#: lib/Forms/task.php:65
+msgid "Name"
+msgstr "Elnevezés"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Új feladat"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Következõ"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "nem"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Nincs késleltetés"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Nincs határidõ."
+
+#: lib/api.php:405 lib/api.php:724 lib/api.php:782 lib/api.php:994
+msgid "No iCalendar data was found."
+msgstr "Nem található iCalendar adat."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Nincs fõfeladat"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "A vendég felhasználók részére nem áll rendelkezésre feladatlista."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Nincs ilyen feladat"
+
+#: lib/Block/summary.php:229
+msgid "No tasks to display"
+msgstr "Nincs megjeleníthetõ feladat"
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "nincs"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "Elvégzetlen"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "nem titkos"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "nem található"
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Értesítések"
+
+#: config/prefs.php.dist:168
+msgid "On all shown tasklists"
+msgstr "Az összes megjelenített feladatlistán"
+
+#: config/prefs.php.dist:169
+msgid "On all tasklists I have read access to"
+msgstr "Az összes feladatlistán, amihez hozzáférek"
+
+#: config/prefs.php.dist:167
+msgid "On my tasklists only"
+msgstr "Csak a saját feladatlistáimon"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "Pri"
+
+#: lib/Forms/task.php:72
+msgid "Parent task"
+msgstr "Fõfeladat"
+
+#: lib/api.php:591 lib/api.php:629 lib/api.php:662 lib/api.php:698
+#: lib/api.php:820 lib/api.php:875 lib/api.php:939 lib/api.php:976
+#: lib/api.php:1087 lib/api.php:1134
+msgid "Permission Denied"
+msgstr "Önnek nincs ehhez elegendõ jogosultsága"
+
+#: lib/api.php:178 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Önnek nincs ehhez elegendõ jogosultsága"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:90
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Prioritás (sürgõsség)"
+
+#: templates/view/task.inc:14 lib/Driver.php:907
+msgid "Private"
+msgstr "Titkos"
+
+#: lib/Driver.php:905
+msgid "Private Task"
+msgstr "Titkos feladat"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:85
+msgid "Private?"
+msgstr "Titkos?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"Valóban törölni kívánja ezt a(z) \"%s\" feladatlistát? Ez nem "
+"visszafordítható lépés, és a feladatlista adatait véglegesen törli."
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "Valóban törölni kívánja ezt a feladatot?"
+
+#: templates/panel.inc:88 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:97
+msgid "Save"
+msgstr "Mentés"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "%s-t elmentettük."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Keresés"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Keresés:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "A keresendõ szöveg:"
+
+#: templates/panel.inc:58
+msgid "Search for Task Lists:"
+msgstr "Feladatlisták keresése:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Keresés:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Keresés: \"%s\" eredménye"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Válasszon ki egy dátumot"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Válassza ki az exportálás formátumát:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Válassza ki az importálandó fájlt:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Válassza ki, milyen formátumú fájlból kíván importálni:"
+
+#: templates/panel.inc:79
+msgid "Shared Task Lists:"
+msgstr "Megosztott feladatlisták:"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Jelenjen meg a Feladatlista egy külön oszlopban listázáskor?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Legyenek funkcióval ellátott ikonok?"
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "A kész, az elvégzetlen vagy az összes feladatot mutassuk a listában?"
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Feladatlistájában jelenjenek-e meg ezen más programok adatai?"
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Mutassuk más programok ill. adatforrások adatait."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Mutassuk a határidõt?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Mutassuk a prioritást?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Mutassuk a feladatokra figyelmeztetõ jelzéseket?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Mutassuk a kategóriát?"
+
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Mutassuk a feladatlista beállítási lehetõségeit?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Mutassuk a feladatlista nevét?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "A következõ kategóriákba sorolt feladatokat mutassuk"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "A következõ feladatlisták tartalmát mutassuk"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Kategória szerinti sorrend"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "A befejezettség szerinti sorrend"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Határidõ szerinti sorrend"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Elnevezés szerinti sorrend"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Prioritás szerinti sorrend"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Felhasználói név szerinti sorrend"
+
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "A sorbarendezés iránya:"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "A sorbarendezés elsõ szempontja:"
+
+#: data.php:56
+msgid "Start"
+msgstr "Kezdet"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Kezdõ dátum"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Kezdõ dátum."
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "Elérési URL"
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Figyelmeztetõ jelzés"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Tartozik a feladathoz figyelmeztetés?"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "A feladat alapértelmezett beállításai"
+
+#: templates/tasklist_list.php:15 lib/Forms/task.php:68
+msgid "Task List"
+msgstr "Feladatlista"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Feladatlista információk"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "Feladatlisták"
+
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Feladatlisták és megosztásuk"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "A feladatlista tulajdonosa %s."
+
+#: templates/panel.inc:52 templates/panel.inc:53
+msgid "Task Lists"
+msgstr "Feladatlisták"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "A feladat elnevezése"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Megjegyzés a feladathoz"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Van megjegyzés?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Keresés a feladatlistában"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "Feladat hozzáadása:"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "Feladat törlése: "
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "Feladat módosítása:"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "A feladat nem található."
+
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Tasklist"
+msgstr "Feladatlista"
+
+#: lib/api.php:1056
+msgid "Tasks"
+msgstr "Feladatok"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Feladatlista összefoglalás"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "A(z) \"%s\" állományban nem volt feladat."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "A Feladatlista alrendszer jelenleg nem áll rendelkezésre."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "A Feladatlista alrendszer jelenleg nem áll rendelkezésre: %s"
+
+#: lib/Forms/task.php:133
+msgid "The alarm value must not be empty."
+msgstr "A figyelmeztetés nem lehet üres."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "A mostani óra"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"\"%s\" feladatot hozzáadtuk a(z) \"%s\" feladatlistához a következõ "
+"határidõvel: %s."
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"\"%s\" feladatot töröltük a(z) \"%s\" feladatlistából. A határidõ ez volt: %"
+"s."
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"\"%s\" feladatot módosítottuk a(z) \"%s\" feladatlistában. A határidõvel ez "
+"volt: %s."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "A(z) \"%s\" feladatlistát létrehoztuk."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "A(z) \"%s\" feladatlistát töröltük."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "\"%s\" feladatlistát átneveztük erre: \"%s\"."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "A(z) \"%s\" feladatlistát elmentettük."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "a második szempont:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Nincs a feltételeknek megfelelõ feladat."
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "A(z) %s feladat késszé nyilvánítása során hiba lépett fel: %s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "A(z) %s feladat törlése során hiba lépett fel: %s"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "A feladat mentése során hiba lépett fel: %s"
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Az importálás során hiba történt: %s"
+
+#: lib/api.php:397 lib/api.php:716 lib/api.php:988
+msgid "There was an error importing the iCalendar data."
+msgstr "Az iCalendar adatok importálása során hiba történt."
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "Nem volt exportálható feladat."
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "Ismeretlen fájlformátum."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "Ez a feladatlista nem törölhetõ."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Ha ezt a feladatlistát egy másik programból kívánja elérni, ezt az URL-t "
+"használja: "
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "\"%s\" törlése nem lehetséges: %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Nem sikerült beolvasni %s definícióját."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "\"%s\" feladatlista mentése nem sikerült: %s"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:62
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Forms/task.php:81 lib/Block/summary.php:31 lib/Block/summary.php:222
+msgid "Unfiled"
+msgstr "besorolatlan"
+
+#: lib/api.php:502 lib/api.php:789 lib/api.php:847 lib/api.php:901
+#: lib/api.php:1026
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Nem támogatott tartalomtípus: %s"
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Szeretnénk emlékeztetni erre a határidõs feladatra.\n"
+"\n"
+"%s\n"
+"\n"
+"Dátum: %s\n"
+"Idõ: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Hét"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Mi legyen a feladatok alapértelmezett határideje?"
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Új feladat létrehozásakor, hány nappal késõbb legyen a határidõ (0 az "
+"aznapot jelenti)?"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "Új feladat létrehozásakor, legyen határideje?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Melyik listába vegyük föl a feladatokat?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "év"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Ön nem jogosult ezt a feladatlistát megváltoztatni."
+
+#: data.php:41 data.php:151 task.php:61
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Ön legfeljebb %d feladatot hozhat létre."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Ön nem jogosult törölni ezt a feladatlistát."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "Ön nem jogosult megtekinteni ezt a feladatlistát."
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Ön értesítést kért arra az esetre, ha új feladatok kerülnek a "
+"feladatlistáira."
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Ön értesítést kért arra az esetre, ha feladatok törlõdnek a feladatlistáiról."
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Ön értesítést kért arra az esetre, ha módosulnak a feladatok a "
+"feladatlistáin."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Az Ön alapértelmezés szerinti feladatlistája:"
+
+#: templates/panel.inc:65
+msgid "[Manage Task Lists]"
+msgstr "[Feladatlisták kezelése]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:206
+msgid "[none]"
+msgstr "[egy sem]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "Az összes feladat"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "Az összes feladat"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "Kategória"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "Elkészült"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "Kész feladatok"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "Törlés"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "Megjegyzés"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "A határidõ napja"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "Módosítás"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Jövõbeli feladatok"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "Import/_Export"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "_Lista"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "Ú_j feladat"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "_Nyomtatás"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "Kere_sés"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Feladatlista"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "de."
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr ""
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "%s jegyzettömbben"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "nincs idõpont"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "du."
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "feladatlista.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "feladatlista.ics"
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag v1.0\n"
+"POT-Creation-Date: 2004-01-09 15:43+0700\n"
+"PO-Revision-Date: 2004-01-09 16:30+0700\n"
+"Last-Translator: Slamin <slamin@unej.ac.id>\n"
+"Language-Team: UPT TI UNEJ <uptti@unej.ac.id>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d tugas"
+
+msgid "(highest)"
+msgstr "(tertinggi)"
+
+msgid "(lowest)"
+msgstr "(terendah)"
+
+msgid "1 task"
+msgstr "1 tugas"
+
+msgid "Adding A New Task"
+msgstr "Tambahkan Tugas Baru"
+
+msgid "Allows categories to be added/removed/renamed."
+msgstr "Membolehkan kategori untuk ditambah/dihapus/diganti nama."
+
+#, c-format
+msgid "Any tasks in a category that is deleted will become <b>%s</b>."
+msgstr "Tugas pada kategori yang dihapus akan menjadi <b>%s</b>."
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "Anda yakin ingin menghapus tugas ini secara permanen?"
+
+msgid "Ascending"
+msgstr "Menaik"
+
+msgid "Back to Task List"
+msgstr "Kembali ke Daftar Tugas"
+
+msgid "Cannot be changed."
+msgstr "Tidak dapat diubah."
+
+msgid "Category Management"
+msgstr "Manajemen Kategori"
+
+msgid "Category"
+msgstr "Kategori"
+
+msgid "Change your task sorting and display options."
+msgstr "Ubah urutan tugas anda dan tampilkan pilihan."
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "%d tugas diubah ke prioritas %d."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "1 tugas diubah ke prioritas %d."
+
+msgid "Choose Action:"
+msgstr "Pilih Aksi:"
+
+msgid "Clear Form"
+msgstr "Hapus Formulir"
+
+msgid "Complete Task"
+msgstr "Tugas Selesai"
+
+msgid "Complete Tasks"
+msgstr "Tugas-tugas Selesai"
+
+msgid "Completed?"
+msgstr "Selesai?"
+
+msgid "Completion Status"
+msgstr "Status Penyelesaian"
+
+msgid "Create a New Category"
+msgstr "Buat Kategori Baru"
+
+msgid "Default sorting criteria:"
+msgstr "Kriteria urutan default:"
+
+msgid "Default sorting direction:"
+msgstr "Arah urutan default:"
+
+msgid "Delete Task"
+msgstr "Hapus Tugas"
+
+msgid "Delete Tasks"
+msgstr "Hapus Tugas-tugas"
+
+msgid "Delete"
+msgstr "Hapus"
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "%d tugas dihapus."
+
+msgid "Deleted 1 task."
+msgstr "1 tugas dihapus."
+
+msgid "Descending"
+msgstr "Menurun"
+
+msgid "Description"
+msgstr "Diskripsi"
+
+msgid "Display Options"
+msgstr "Tampilkan Pilihan"
+
+msgid "Due By"
+msgstr "Berakhir Pada"
+
+msgid "Due Date"
+msgstr "Batas Akhir"
+
+msgid "Help"
+msgstr "Bantuan"
+
+msgid "Language"
+msgstr "Bahasa"
+
+msgid "List Tasks"
+msgstr "Daftar Tugas"
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "Tandai %d tugas sebagai selesai."
+
+msgid "Marked 1 task as completed."
+msgstr "Tandai 1 tugas sebagai selesai"
+
+msgid "Modify Task"
+msgstr "Ubah Tugas"
+
+msgid "Modifying:"
+msgstr "Mengubah:"
+
+msgid "Nag is not properly configured"
+msgstr "Nag tidak dikonfigurasi secara sempurna"
+
+msgid "Name"
+msgstr "Nama"
+
+msgid "New Category"
+msgstr "Kategori Baru"
+
+msgid "New Task"
+msgstr "Tugas Baru"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "Tidak ada informasi konfigurasi yang dispesifikasi pada Tugas SQL."
+
+msgid "No due date."
+msgstr "Tidak ada batas akhir."
+
+msgid "No tasks were changed."
+msgstr "Tidak ada tugas yang berubah."
+
+msgid "No tasks were deleted."
+msgstr "Tidak tugas yang dihapus."
+
+msgid "No"
+msgstr "Tidak"
+
+msgid "None specified"
+msgstr "Tidak ada yang dispesifikasi"
+
+msgid "Options"
+msgstr "Pilihan"
+
+msgid "Other Options"
+msgstr "Pilihan Lain"
+
+msgid "Please enter a name for the new category:"
+msgstr "Masukkan nama untuk kategori baru:"
+
+msgid "Please enter a new name for this category:"
+msgstr "Masukkan nama baru untuk kategori ini:"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "Masukkan prioritas tugas (1-5):"
+
+msgid "Pri"
+msgstr "Pri"
+
+msgid "Print"
+msgstr "Cetak"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr "Prioritas harus antara 1 dan 5. Masukkan prioritas yang benar:"
+
+msgid "Priority"
+msgstr "Prioritas"
+
+msgid "Problem?"
+msgstr "Masalah?"
+
+msgid "Refresh List"
+msgstr "Tampilkan Daftar"
+
+msgid "Rename"
+msgstr "Ganti nama"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "'database' yang diperlukan tidak dispesifikasi pada konfigurasi tugas."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "'hostspec' yang diperlukan tidak dispesifikasi pada konfigurasi tugas."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "'password' yang diperlukan tidak dispesifikasi pada konfigurasi tugas."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "'phptype' yang diperlukan tidak dispesifikasi pada konfigurasi tugas."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "'table' yang diperlukan tidak dispesifikasi pada konfigurasi tugas."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "'username' yang diperlukan tidak dispesifikasi pada konfigurasi tugas."
+
+msgid "Save Task"
+msgstr "Simpan Tugas"
+
+msgid "Search Results"
+msgstr "Hasil Pencarian"
+
+msgid "Search Scope"
+msgstr "Lingkup Pencarian"
+
+msgid "Search Text"
+msgstr "Teks Pencarian"
+
+msgid "Search"
+msgstr "Cari"
+
+msgid "Select Category"
+msgstr "Pilih Kategori"
+
+msgid "Select your preferred language:"
+msgstr "Pilih bahasa yang diinginkan:"
+
+msgid "Selected?"
+msgstr "Dipilih?"
+
+msgid "Set Task Priority"
+msgstr "Atur Prioritas Tugas"
+
+msgid "Set the your preferred display language."
+msgstr "Atur tampilan bahasa yang diinginkan."
+
+msgid "Show completed tasks in the task list?"
+msgstr "Tunjukkan tugas yang selesai pada daftar tugas?"
+
+msgid "Show due dates in the summary view?"
+msgstr "Tunjukkan batas akhir pada tampilan ringkasan?"
+
+msgid "Show priorities in the summary view?"
+msgstr "Tunjukkan prioritas pada tampilan ringkasan?"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "Beberapa file konfigurasi Nag hilang:"
+
+msgid "Sort Direction"
+msgstr "Arah Urutan"
+
+msgid "Sort by Category"
+msgstr "Urut berdasarkan Kategori"
+
+msgid "Sort by Completion Status"
+msgstr "Urut berdasarkan Status Penyelesaian"
+
+msgid "Sort by Due Date"
+msgstr "Urut berdasarkan Batas Akhir"
+
+msgid "Sort by Name"
+msgstr "Urut berdasarkan Nama"
+
+msgid "Sort by Priority"
+msgstr "Urut berdasarkan Prioritas"
+
+msgid "Task Details"
+msgstr "Rincian Tugas"
+
+msgid "Task List"
+msgstr "Daftar Tugas"
+
+msgid "Task Name"
+msgstr "Nama Tugas"
+
+msgid "Task Note"
+msgstr "Catatan Tugas"
+
+msgid "Task Note?"
+msgstr "Catatan Tugas?"
+
+msgid "The requested task does not exist."
+msgstr "Tugas yang diminta tidak ada."
+
+msgid "The task was saved."
+msgstr "Tugas sudah disimpan."
+
+msgid "There was a problem deleting tasks."
+msgstr "Ada masalah saat menghapus tugas."
+
+msgid "There was a problem saving the task."
+msgstr "Ada masalah saat menyimpan tugas."
+
+msgid "There was a problem setting task completion status."
+msgstr "Ada masalah saat mengatur status penyelesaian tugas."
+
+msgid "There was a problem setting task priority."
+msgstr "Ada masalah saat mengatur prioritas tugas."
+
+msgid "These changes can not be undone!"
+msgstr "Perubahan ini tidak bisa dibatalkan!"
+
+msgid "This file contains preferences for Nag."
+msgstr "File ini berisi preference untuk Nag."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"File ini mengontrol stylesheet yang digunakan untuk mengatur warna dan font "
+"dalam penambahan atau penggantian default Horde."
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr ""
+"Ini adalah file utama konfigurasi Nag. File ini berisi pilihan untuk semua "
+"scripts Nag"
+
+msgid "Undo Changes"
+msgstr "Batalkan Perubahan"
+
+msgid "Unfiled"
+msgstr "Tidak di file"
+
+msgid "Unknown task"
+msgstr "Tugas tidak diketahui"
+
+msgid "Unknown"
+msgstr "Tidak diketahui"
+
+msgid "User Options"
+msgstr "Pilihan User"
+
+msgid "View Task Details"
+msgstr "Lihat Rincian Tugas"
+
+msgid "Yes"
+msgstr "Ya"
+
+msgid "You are creating a new category."
+msgstr "Anda sedang membuat kategori baru."
+
+msgid "You must choose a category."
+msgstr "Anda harus memilih kategori."
+
+msgid "You must select at least one task first."
+msgstr "Anda harus memilih dulu paling sedikit satu tugas."
+
+msgid "Your Information"
+msgstr "Informasi Anda"
+
+msgid "Your task list is empty."
+msgstr "Daftar tugas anda kosong."
+
+msgid "at"
+msgstr "di"
--- /dev/null
+# Nag 2.1.3 Italian translation
+# Copyright 2001 Free Software Foundation, Inc.
+# Paola Carpenter <pcarpenter@infvic.it>; Giovanni Meneghetti <gmeneghetti@infvic.it>, 2001.
+# Copyright 2003 Sergio G. Caredda.
+# Sergio G. Caredda <scaredda@tiscali.it>, 2003.
+# Copyright 2007 nethesis srl.
+# Cristian Manoni, Alessio Fattorini, Davide marini 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.2.1-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-06-13 13:02+0200\n"
+"PO-Revision-Date: 2008-06-13 13:23+0100\n"
+"Last-Translator: Nethesis srl <info@nethesis.it>\n"
+"Language-Team: Italian <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s includendo sotto-tasks)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d ora"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d ora, %d minuto"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d ora, %d minuti"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d ore"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d ore, %d minuti"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d ore, %d minuti"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minuti"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuti"
+
+#: lib/Nag.php:393
+#, php-format
+msgid "%s at %s"
+msgstr "%s a %s"
+
+#: lib/Nag.php:619 lib/Block/summary.php:121 lib/Block/tree_alarms.php:41
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s elementi in %s"
+
+#: lib/Nag.php:617 lib/Block/summary.php:118 lib/Block/tree_alarms.php:43
+#, php-format
+msgid "%s is due now."
+msgstr "%s inizia ora."
+
+#: task.php:238
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s adesso è incompleta."
+
+#: data.php:212
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s file importato con successo"
+
+#: lib/Nag.php:545 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "%s's Lista Attività"
+
+#: lib/Nag.php:344 lib/Forms/task.php:61
+msgid "(highest)"
+msgstr "(più alta)"
+
+#: lib/Nag.php:344 lib/Forms/task.php:62
+msgid "(lowest)"
+msgstr "(più bassa)"
+
+#: task.php:222
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Accesso negato completando attività %s."
+
+#: task.php:27
+msgid "Access denied deleting task."
+msgstr "Accesso negato nella cancellazione dell'attività."
+
+#: task.php:91 task.php:97
+msgid "Access denied editing task."
+msgstr "Accesso negato modificando l'attività."
+
+#: task.php:89
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Accesso negato modificando l'attività: %s."
+
+#: task.php:170
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Accesso negato salvano attività in %s."
+
+#: task.php:173
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Accesso negato rimuovendo le attività da %s."
+
+#: task.php:132
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Accesso negato salvano attività in %s."
+
+#: task.php:128
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Accesso negato salvano attività in %s."
+
+#: data.php:57 templates/view/task.inc:26 lib/Forms/task.php:91
+msgid "Alarm"
+msgstr "Allarme"
+
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "Tutte le Attività"
+
+#: lib/Block/summary.php:75
+msgid "Always show completed tasks?"
+msgstr "Attività incomplete"
+
+#: lib/Block/summary.php:71
+msgid "Always show overdue tasks?"
+msgstr "Mostra sempre le attività scadute?"
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "Crescente"
+
+#: data.php:55
+msgid "Assignee"
+msgstr "Assegnatario"
+
+#: lib/Block/summary.php:43
+msgid "Block title"
+msgstr "Blocca titolo"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Calendario"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Annulla"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Cat_egoria"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:79
+#: lib/Forms/task.php:85 config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Category"
+msgstr "Categoria"
+
+#: templates/tasklist_list.php:35 tasklists/index.php:56
+msgid "Change Permissions"
+msgstr "Cambia Permessi"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Cambia le tue opzioni di ordinamento e visualizzazione delle attività."
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Selezionare la modalità preferita per gli allarmi:"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Scegliere se si desidera ricevere notifiche via email per la nuove attività, "
+"attività modificate o eliminate:"
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Scegliere se si vuole essere informati di modifiche e allarmi sulle attività"
+
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Lista delle Attività di default:"
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr "Clicca o copia questa URL per visualizzare questa lista"
+
+#: templates/panel.inc:44
+msgid "Close"
+msgstr "Chiudi"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Chiudi Ricerca"
+
+#: view.php:114
+msgid "Complete"
+msgstr "Completo"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:191
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Completa %s"
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Completa attività"
+
+#: config/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "Completa Attività"
+
+#: lib/Nag.php:408 lib/Block/summary.php:189
+msgid "Completed"
+msgstr "Completata"
+
+#: task.php:236
+#, php-format
+msgid "Completed %s."
+msgstr "Attività %s Completata"
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Attività Complete"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Attività genitori completate, marcarle prima come incomplete"
+
+#: templates/view/task.inc:38 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:97 config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "Completata?"
+
+#: data.php:63
+msgid "Completion Date"
+msgstr "Data di completamento"
+
+#: data.php:62
+msgid "Completion Status"
+msgstr "Stato di completamento"
+
+#: lib/api.php:443 lib/api.php:704
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Connessione fallita: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Crea"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Crea Lista delle Attività "
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "Crea Lista delle Attività "
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Creato"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Giorno"
+
+#: lib/Nag.php:440 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Giorno(i)"
+
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Lista delle Attività di default:"
+
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Default per le nuove attività:"
+
+#: lib/Forms/task.php:90
+msgid "Delay Start Until"
+msgstr "Ritarda l'Inizio il"
+
+#: view.php:121 templates/tasklist_list.php:37 tasklists/index.php:57
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Elimina"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Elimina %s"
+
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "Conferma di cancellazione"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "Comportamento del pulsante di cancellazione"
+
+#: task.php:112 lib/Forms/task.php:102 lib/Forms/task.php:129
+msgid "Delete this task"
+msgstr "Elimina questa Attività"
+
+#: task.php:37
+#, php-format
+msgid "Deleted %s."
+msgstr "Cancella %s"
+
+#: lib/api.php:686
+msgid "Deleting entire tasklists is not supported."
+msgstr "Eliminare dell'intera lista attività non supportata."
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "Discendente"
+
+#: data.php:53 lib/Forms/CreateTaskList.php:37 lib/Forms/EditTaskList.php:44
+#: lib/Forms/task.php:98
+msgid "Description"
+msgstr "Descrizione"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Opzioni di visualizzazione"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "Mostra URL"
+
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "Vuoi confermare la cancellazione delle informazioni?"
+
+#: data.php:56 templates/view/task.inc:22 lib/Forms/task.php:89
+msgid "Due By"
+msgstr "Scadenza"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "Data Scadenza"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Data scadenza specificata."
+
+#: view.php:117 templates/tasklist_list.php:33 tasklists/index.php:55
+msgid "Edit"
+msgstr "Modifica"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:182
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Modifica \"%s\""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Modifica %s"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Modifica Attività"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Modifica categorie e colori"
+
+#: task.php:102 task.php:116
+#, php-format
+msgid "Edit: %s"
+msgstr "Modifica: \"%s\""
+
+#: task.php:20
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Si è verificato un problema eliminando: %s"
+
+#: data.php:61 templates/view/task.inc:34 lib/Forms/task.php:96
+msgid "Estimated Time"
+msgstr "Tempo Previsto"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Esporta"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Esporta attività"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr "Dato Esterno"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "Opzioni Generali"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Ora"
+
+#: lib/Nag.php:443 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Ora(e)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importazione attività, Step %d"
+
+#: data.php:218
+msgid "Import/Export Tasks"
+msgstr "Importa/Esporta Attività"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Attività incomplete"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Attività incomplete"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Sub Attività Incomplete, completarle prima"
+
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Attività incomplete"
+
+#: lib/api.php:520
+msgid "Invalid tasklist name supplied."
+msgstr "Fornito nome lista attività non valido."
+
+#: lib/api.php:386
+msgid "Invalid tasklist requested."
+msgstr "Lista attività richiesta non valida."
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Ultima Modifica"
+
+#: templates/tasklist_list.php:2 tasklists/index.php:61
+msgid "Manage Task Lists"
+msgstr "[Gestisci le Liste]"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Marca \"%s\" come incompleta"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Marca come incompleta"
+
+#: lib/api.php:125
+msgid "Maximum Number of Tasks"
+msgstr "Numero massimo di attività"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Menu Allarmi"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Manu Liste"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minuto"
+
+#: lib/Nag.php:446 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minuto(i)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Mese"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "MaggioriOpzioni..."
+
+#: lib/api.php:1179
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Diversi iCalendar trovati; solo un vTodo è supportato."
+
+#: templates/panel.inc:72
+msgid "My Task Lists:"
+msgstr "Le Mie Liste Attività:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Le mie Attività"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "N_ome"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "No_me"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: attivvità %s non trovata"
+
+#: data.php:52 lib/Forms/CreateTaskList.php:36 lib/Forms/EditTaskList.php:43
+#: lib/Forms/task.php:68
+msgid "Name"
+msgstr "Nome"
+
+#: task.php:81 task.php:116 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Nuova Attività"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Successivo"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "No"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Nessun ritardo"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Nessuna data di scadenza."
+
+#: lib/api.php:553 lib/api.php:902 lib/api.php:960 lib/api.php:1172
+msgid "No iCalendar data was found."
+msgstr "Nessun iCalendar trovato."
+
+#: lib/Forms/task.php:53
+msgid "No parent task"
+msgstr "Nessuna attività genitore"
+
+#: lib/Nag.php:634
+msgid "No task lists are available to guests."
+msgstr "Nessun calendario disponibile per gli ospiti."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Nessuna attività corrisponde"
+
+#: lib/Block/summary.php:245
+msgid "No tasks to display"
+msgstr "Nessuna attività da visualizzare"
+
+#: lib/Nag.php:450 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Nessuno"
+
+#: lib/Nag.php:409
+msgid "Not Completed"
+msgstr "Non Completa"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Non Riservata"
+
+#: lib/api.php:760
+msgid "Not configured"
+msgstr "Non configurato"
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Notifiche"
+
+#: config/prefs.php.dist:168
+msgid "On all shown task lists"
+msgstr "In tutte le liste visualizzate:"
+
+#: config/prefs.php.dist:169
+msgid "On all task lists I have read access to"
+msgstr "In tutte le liste in cui ho accesso in lettura"
+
+#: config/prefs.php.dist:167
+msgid "On my task lists only"
+msgstr "Solo nelle mie liste attività"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "P_ri"
+
+#: lib/Forms/task.php:75
+msgid "Parent task"
+msgstr "Attività Genitore"
+
+#: lib/api.php:769 lib/api.php:807 lib/api.php:840 lib/api.php:876
+#: lib/api.php:998 lib/api.php:1053 lib/api.php:1117 lib/api.php:1154
+#: lib/api.php:1267 lib/api.php:1314
+msgid "Permission Denied"
+msgstr "Permesso Negato"
+
+#: lib/api.php:210 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Permesso Negato"
+
+#: data.php:59 templates/view/task.inc:30 lib/Forms/task.php:93
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Priorità"
+
+#: templates/view/task.inc:14 lib/Driver.php:903
+msgid "Private"
+msgstr "Riservata"
+
+#: data.php:60 lib/Driver.php:901
+msgid "Private Task"
+msgstr "Attività Riservata"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:88
+msgid "Private?"
+msgstr "Riservata?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"Sei sicuro di eliminare la lista %s? Questa operazione non può essere "
+"annullata e i dati saranno eliminati permanentemente."
+
+#: view.php:121
+msgid "Really delete this task?"
+msgstr "Confermi cancellazione di questa Attività"
+
+#: templates/panel.inc:90 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:100
+#: lib/Forms/task.php:127
+msgid "Save"
+msgstr "Salva"
+
+#: task.php:201
+#, php-format
+msgid "Saved %s."
+msgstr "Attività %s Salvata."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Cerca"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Cerca In:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Cerca _Testo:"
+
+#: templates/panel.inc:60
+msgid "Search for Task Lists:"
+msgstr "Cerca lista attività :"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Cerca:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "ricerca: Risultati per \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Seleziona una data"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Seleziona il formato per esportare"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Seleziona il file da importare:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Seleziona il formato verso cui esportare:"
+
+#: templates/panel.inc:81
+msgid "Shared Task Lists:"
+msgstr "lista attività condivise:"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Visualizzare la colonna TaskList nella lista delle Attività?"
+
+#: lib/Block/summary.php:51
+msgid "Show action buttons?"
+msgstr "Mostra Contatti"
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Mostra attività complete, incomplete o tutte nella lista attività?"
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Visualizza informazioni da ognuna di questo applicazioni?"
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Mostra Attività da altre applicazioni o sorgenti."
+
+#: lib/Block/summary.php:55
+msgid "Show due dates?"
+msgstr "Mostra data di scadenza?"
+
+#: lib/Block/summary.php:47
+msgid "Show priorities?"
+msgstr "Mostra priorità?"
+
+#: lib/Block/summary.php:63
+msgid "Show task alarms?"
+msgstr "Mostra allarmi?"
+
+#: lib/Block/summary.php:67
+msgid "Show task category?"
+msgstr "Sfoglia questa categoria"
+
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Mostra pannello delle opzioni della lista attività?"
+
+#: lib/Block/summary.php:59
+msgid "Show tasklist name?"
+msgstr "Mostra nome lista attività?"
+
+#: lib/Block/summary.php:84
+msgid "Show tasks from these categories"
+msgstr "Mostra Attività da queste categorie"
+
+#: lib/Block/summary.php:79
+msgid "Show tasks from these tasklists"
+msgstr "Mostra Attività da queste liste?"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Ordina per Categoria"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Ordina per Status di Completamento"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Ordina per data di scadenza"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Ordina per nome"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Ordina per priorità"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Ordina per nome utente"
+
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "Direzione di ordinamento"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "Ordina Attività per"
+
+#: data.php:58
+msgid "Start"
+msgstr "Inizie"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Data Inizio"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Data inizio specificata."
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "URL di sottoscrizione"
+
+#: templates/list/task_summaries.inc:60
+msgid "Task Alarm"
+msgstr "Allarme Attività"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Allarme Attività?"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "Default attività"
+
+#: lib/Driver/sql.php:100
+msgid "Task ID not found"
+msgstr "ID attività non trovato"
+
+#: templates/tasklist_list.php:15 lib/Forms/task.php:71
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Task List"
+msgstr "Lista Attività"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Informazionei Lista Attività"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "Liste Attività"
+
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Torna alle Opzioni Calendario"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "Liste Attività di %s"
+
+#: templates/panel.inc:54 templates/panel.inc:55
+msgid "Task Lists"
+msgstr "Liste Attività"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "Nome attività"
+
+#: templates/list/task_summaries.inc:58
+msgid "Task Note"
+msgstr "Nota dell'Attività"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Nota dell'Attività?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Cerca attività"
+
+#: lib/Driver/sql.php:136
+msgid "Task UID not found"
+msgstr "UID attività non trovato"
+
+#: lib/Nag.php:659
+msgid "Task added:"
+msgstr "Attività aggiunta:"
+
+#: lib/Nag.php:669
+msgid "Task deleted:"
+msgstr "Attvità eliminata:"
+
+#: lib/Nag.php:664
+msgid "Task modified:"
+msgstr "Attività Modificata:"
+
+#: task.php:95 view.php:43
+msgid "Task not found."
+msgstr "Attività non trovata."
+
+#: lib/api.php:698
+msgid "Tasklist does not exist or no permission to delete"
+msgstr "La lista attività non esiste o non si hanno i permessi di eliminazione"
+
+#: lib/api.php:526
+msgid "Tasklist does not exist or no permission to edit"
+msgstr "La lista attività non esiste o non si hanno i permessi di modifica"
+
+#: lib/api.php:1236
+msgid "Tasks"
+msgstr "Attività"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Sommario Attività"
+
+#: lib/api.php:348
+#, php-format
+msgid "Tasks from %s"
+msgstr "Attività da %s"
+
+#: data.php:206
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Il file %s non contiene attività."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Il backend Attività non è disponibile."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Il backend Attività non è disponibile: %s"
+
+#: lib/Forms/task.php:160
+msgid "The alarm value must not be empty."
+msgstr "Il nome della Lista della Attività è vuoto."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "L'ora corrente"
+
+#: lib/Nag.php:660
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"l'attività \"%s\" è stata aggiunta alla lista \"%s\", con scadenza: %s."
+
+#: lib/Nag.php:670
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"L'attività \"%s\" è stata eliminata dalla lista \"%s\", con scadenza: %s."
+
+#: lib/Nag.php:665
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"L'attività \"%s\" è stata modificata nella lista \"%s\", con scadenza: %s."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "La lista delle Attività \"%s\" è stata creata."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "La Lista delle Attività \"%s\" è stata cancellata."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "La lista delle Attività \"%s\" è statrinominata in %s."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "La Lista delle Attività\"%s\" è stata salvata."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "Poi:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Non ci sono attività di questo tipo."
+
+#: task.php:232
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Si è verificato un problema completando %s: %s"
+
+#: task.php:33
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Si è verificato un problema eliminando %s: %s"
+
+#: task.php:199
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Si è verificato un problema salvando l'attività: %s."
+
+#: data.php:209
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Si è verificato un problema importando i dati: %s."
+
+#: lib/api.php:545 lib/api.php:894 lib/api.php:1166
+msgid "There was an error importing the iCalendar data."
+msgstr "Si è verificato un problema importando i dati."
+
+#: data.php:89
+msgid "There were no tasks to export."
+msgstr "Non vi sono attività da esportare."
+
+#: data.php:138
+msgid "This file format is not supported."
+msgstr "Questo formato di file non è supportato."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "La Lista delle Attività \"%s\" non può essere eliminata."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Per sottoscrivere questa lista da un altro programma, usa questa URL: "
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Impossibile eliminare \"%s\": %s"
+
+#: lib/api.php:719
+#, php-format
+msgid "Unable to delete tasklist \"%s\": %s"
+msgstr "Impossibile eliminare la lista attività \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Impossibile caricare la definizione di %s."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Impossibile eliminare \"%s\": %s"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:65
+#: lib/Nag.php:901 lib/Nag.php:902 lib/Nag.php:916 lib/Nag.php:917
+#: lib/Forms/task.php:84 lib/Block/summary.php:34 lib/Block/summary.php:238
+msgid "Unfiled"
+msgstr "Non Classificato"
+
+#: data.php:64
+msgid "Unique ID"
+msgstr "ID unico"
+
+#: lib/api.php:652 lib/api.php:967 lib/api.php:1025 lib/api.php:1079
+#: lib/api.php:1204
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Content-Type Non Supportato: %s"
+
+#: lib/Driver.php:1080
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Desideriamo ricordarle la scadenza della seguente attività:\n"
+"\n"
+"%s\n"
+"\n"
+"Data: %s\n"
+"Ora: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:437 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Settimana(e)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Quale tempo di scadenza di default si desidera per le attività?"
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Quando si crea una nuova attività, di quanti giorni è la scadenza di "
+"default (0 significa oggi)?"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "Quando si crea una nuova attività, deve avere di default una scadenza?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "A quale Lista delle Attività aggiungere l'Attività? "
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Anno"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Non sei abilitato a midificare questa lista attività."
+
+#: data.php:41 data.php:163 task.php:68
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "No sei abilitato a creare più di %d attività."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Non sei abilitato a eliminare questa lista attività."
+
+#: view.php:54
+msgid "You do not have permission to view this tasklist."
+msgstr "Non hai permesso di visualizzare questa Lista delle Attività."
+
+#: lib/Nag.php:660
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Hai richiesto di essere informato quando una attività è inserita nella tua "
+"lista."
+
+#: lib/Nag.php:670
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Hai richiesto di essere informato quando una attività è eliminata dalla tua "
+"lista."
+
+#: lib/Nag.php:665
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Hai richiesto di essere informato quando una attività è modificata nella tua "
+"lista."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Lista delle tue Attività di default:"
+
+#: templates/panel.inc:67
+msgid "[Manage Task Lists]"
+msgstr "[Gestisci le Liste]"
+
+#: templates/list/task_summaries.inc:48 lib/Block/summary.php:115
+#: lib/Block/summary.php:222
+msgid "[none]"
+msgstr "[nessuno]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Tutte le Attività"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Tutte le Attività"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Categoria"
+
+#: view.php:114
+msgid "_Complete"
+msgstr "_Completo"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "_Attività Complete"
+
+#: view.php:121
+msgid "_Delete"
+msgstr "_Elimina"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "_Descrizione"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "_Data Scadenza"
+
+#: view.php:117
+msgid "_Edit"
+msgstr "_Modifica"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "_Attività Future"
+
+#: lib/Nag.php:582
+msgid "_Import/Export"
+msgstr "_Importa/Esporta"
+
+#: lib/Nag.php:569
+msgid "_List Tasks"
+msgstr "_Lista Attività"
+
+#: lib/Nag.php:574
+msgid "_New Task"
+msgstr "_Nuova Attività"
+
+#: lib/Nag.php:587
+msgid "_Print"
+msgstr "_Stampa"
+
+#: lib/Nag.php:578
+msgid "_Search"
+msgstr "_Cerca"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "_Lista Attività"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "am"
+
+#: view.php:75 view.php:84
+#, php-format
+msgid "by %s"
+msgstr "da %s"
+
+#: view.php:77 view.php:86
+msgid "by me"
+msgstr "da me"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "in %s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "nessun orario"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "pm"
+
+#: data.php:109 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "attivita.csv"
+
+#: data.php:123
+msgid "tasks.ics"
+msgstr "attivita.ics"
--- /dev/null
+# Japanese translation for Nag
+# Copyright 2005-2009 The Horde Project
+# This file is distributed under the same license as the Nag package.
+# Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nag 2.2-RC1\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2007-08-03 12:47+0100\n"
+"PO-Revision-Date: 2007-11-30 20:38+0900\n"
+"Last-Translator: Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>\n"
+"Language-Team: i18n@lists.horde.org\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=SHIFT_JIS\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr "(%s \83T\83u\83^\83X\83N\82ð\8aÜ\82Þ)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d \8e\9e\8aÔ"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d \8e\9e\8aÔ %d \95ª"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d \8e\9e\8aÔ %d \95ª"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d \8e\9e\8aÔ"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d \8e\9e\8aÔ %d \95ª"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d \8e\9e\8aÔ %d \95ª"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d \95ª"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d \95ª"
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr ""
+
+#: lib/Nag.php:590 lib/Block/tree_alarms.php:42 lib/Block/summary.php:106
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s \82Ì\8aú\93ú\82Í\82 \82Æ %s \82Å\82·"
+
+#: lib/Nag.php:588 lib/Block/tree_alarms.php:44 lib/Block/summary.php:104
+#, php-format
+msgid "%s is due now."
+msgstr "%s \82Ì\8aú\93ú\82Å\82·\81B"
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s \82Í\8a®\97¹\82µ\82Ä\82¢\82Ü\82¹\82ñ\81B"
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s \82Í\90³\8fí\82É\83C\83\93\83|\81[\83g\82³\82ê\82Ü\82µ\82½"
+
+#: tasklists.php:104 lib/Nag.php:516
+#, php-format
+msgid "%s's Task List"
+msgstr "%s \82Ì\83^\83X\83N\95\"
+
+#: lib/Nag.php:315 lib/Forms/task.php:55
+msgid "(highest)"
+msgstr "\81i\8dÅ\8d\82\81j"
+
+#: lib/Nag.php:315 lib/Forms/task.php:56
+msgid "(lowest)"
+msgstr "\81i\8dÅ\92á\81j"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "\83^\83X\83N %s \82Ì\8a®\97¹\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81B"
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "%s \82Ì\8dí\8f\9c\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½"
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "\83^\83X\83N %s \82Ì\95Ò\8fW\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81B"
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "\83^\83X\83N\82Ì\95Ò\8fW\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81F%s"
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "\83^\83X\83N\82Ì %s \82Ö\82Ì\88Ú\93®\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81B"
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "\83^\83X\83N\82Ì %s \82©\82ç\82Ì\8dí\8f\9c\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81B"
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "\83^\83X\83N\82Ì %s \82Ö\82Ì\95Û\91¶\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81B"
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "\83^\83X\83N\82Ì\95Û\91¶\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81F%s"
+
+#: templates/view/task.inc:26 lib/Forms/task.php:85
+msgid "Alarm"
+msgstr "\83A\83\89\81[\83\80"
+
+#: config/prefs.php.dist:201
+msgid "All tasks"
+msgstr "\91S\83^\83X\83N"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "\8a®\97¹\82µ\82½\83^\83X\83N\82ð\8fí\82É\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "\8aú\8cÀ\82Ì\89ß\82¬\82½\83^\83X\83N\82ð\8fí\82É\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: config/prefs.php.dist:118
+msgid "Ascending"
+msgstr "\8f¸\8f\87"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "\83u\83\8d\83b\83N\83^\83C\83g\83\8b"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "\97\\92è\95\"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "_E\95ª\97Þ"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:73
+#: lib/Forms/task.php:79 config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Category"
+msgstr "\95ª\97Þ"
+
+#: templates/tasklists/tasklists.inc:26
+msgid "Change"
+msgstr "\95Ï\8dX"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "\83^\83X\83N\82Ì\95À\82Ñ\8f\87\82Æ\95\\8e¦\83I\83v\83V\83\87\83\93\82ð\95Ï\8dX\82µ\82Ü\82·\81B"
+
+#: config/prefs.php.dist:180
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "\83^\83X\83N\82Ì\83\8a\83}\83C\83\93\83_\81i\8dÃ\91£\81j\82ð\82Ç\82Ì\82æ\82¤\82É\8eó\82¯\8eæ\82é\82©\91I\91ð\82µ\82Ä\82\82¾\82³\82¢\81F"
+
+#: config/prefs.php.dist:171
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"\83^\83X\83N\82ð\92Ç\89Á\81A\95Ï\8dX\81A\8dí\8f\9c\82µ\82½\8e\9e\82É\83\81\81[\83\8b\82Å\92Ê\92m\82µ\82Ä\97~\82µ\82¢\82È\82ç\91I\91ð\82µ\82Ä\89º\82³\82¢\81F"
+
+#: config/prefs.php.dist:43
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr "\83^\83X\83N\82ð\95Ï\8dX\82µ\82½\8e\9e\82É\92Ê\92m\82µ\82Ä\97~\82µ\82¢\82È\82ç\91I\91ð\82µ\82Ä\89º\82³\82¢\81B"
+
+#: config/prefs.php.dist:36
+msgid "Choose your default task list."
+msgstr "\83f\83t\83H\83\8b\83g\82Ì\83^\83X\83N\95\\82ð\91I\91ð\82µ\82Ü\82·\81B"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "\8c\9f\8dõ\82ð\95Â\82¶\82é"
+
+#: view.php:99
+msgid "Complete"
+msgstr "\8a®\97¹"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:168
+#, php-format
+msgid "Complete \"%s\""
+msgstr "\8a®\97¹ \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "\8a®\97¹\83^\83X\83N"
+
+#: config/prefs.php.dist:203
+msgid "Complete tasks"
+msgstr "\8a®\97¹\83^\83X\83N"
+
+#: lib/Nag.php:379 lib/Block/summary.php:166
+msgid "Completed"
+msgstr "\8a®\97¹"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "%s \8a®\97¹\81B"
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "\8a®\97¹\83^\83X\83N"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr ""
+
+#: templates/view/task.inc:38 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:91 config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Completed?"
+msgstr "\8a®\97¹\81H"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "\8a®\97¹\8fó\8bµ"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "\90Ú\91±\8e¸\94s\81F%s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:86
+msgid "Create"
+msgstr "\8dì\90¬"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "\8dì\90¬\93ú\8e\9e"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "\93ú"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "\93ú"
+
+#: config/prefs.php.dist:35
+msgid "Default Task List"
+msgstr "\83f\83t\83H\83\8b\83g\82Ì\83^\83X\83N\95\"
+
+#: config/prefs.php.dist:29
+msgid "Defaults for new tasks"
+msgstr "\90V\82ç\82µ\82¢\83^\83X\83N\82Ì\83f\83t\83H\83\8b\83g"
+
+#: lib/Forms/task.php:84
+msgid "Delay Start Until"
+msgstr "\89\84\8aú"
+
+#: view.php:106 templates/tasklists/tasklists.inc:87
+msgid "Delete"
+msgstr "\8dí\8f\9c"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "\8dí\8f\9c\82Ì\8am\94F"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "\8dí\8f\9c\83{\83^\83\93\82Ì\88µ\82¢"
+
+#: task.php:105 lib/Forms/task.php:96
+msgid "Delete this task"
+msgstr "\82±\82Ì\83^\83X\83N\82ð\8dí\8f\9c"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "%s \82ð\8dí\8f\9c\82µ\82Ü\82µ\82½\81B"
+
+#: config/prefs.php.dist:119
+msgid "Descending"
+msgstr "\8d~\8f\87"
+
+#: data.php:53 lib/Forms/task.php:92
+msgid "Description"
+msgstr "\90à\96¾"
+
+#: templates/tasklists/tasklists.inc:75
+msgid "Description:"
+msgstr "\90à\96¾\81F"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "\95\\8e¦\83I\83v\83V\83\87\83\93"
+
+#: config/prefs.php.dist:129
+msgid "Do you want to confirm deleting entries?"
+msgstr "\83G\83\93\83g\83\8a\81[\82ð\8dí\8f\9c\82·\82é\8dÛ\82É\8am\94F\82µ\82Ü\82·\82©\81H"
+
+#: data.php:55 templates/view/task.inc:22 lib/Forms/task.php:83
+msgid "Due By"
+msgstr "\8aú\93ú"
+
+#: config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Due Date"
+msgstr "\8aú\93ú"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr ""
+
+#: view.php:102
+msgid "Edit"
+msgstr "\95Ò\8fW"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:159
+#, php-format
+msgid "Edit \"%s\""
+msgstr "\95Ò\8fW \"%s\""
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "\83^\83X\83N\95Ò\8fW"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "\95ª\97Þ\82Æ\90F\82Ì\95Ò\8fW"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "\95Ò\8fW\81F%s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "\83^\83X\83N\82Ì\8dí\8f\9c\82ª\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½\81F%s"
+
+#: templates/view/task.inc:34 lib/Forms/task.php:90
+msgid "Estimated Time"
+msgstr "\8c©\90Ï\82è\8e\9e\8aÔ"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "\83G\83N\83X\83|\81[\83g"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "\83^\83X\83N\82Ì\83G\83N\83X\83|\81[\83g"
+
+#: config/prefs.php.dist:57
+msgid "External Data"
+msgstr "\8aO\95\94\83f\81[\83^"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20 config/prefs.php.dist:27
+msgid "General Options"
+msgstr "\88ê\94Ê\83I\83v\83V\83\87\83\93"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "\8e\9e\8aÔ"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "\8e\9e\8aÔ"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "\83^\83X\83N\82Ì\83C\83\93\83|\81[\83g\81A\83X\83e\83b\83v %d"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "\83C\83\93\83|\81[\83g\81^\83G\83N\83X\83|\81[\83g \83^\83X\83N"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "_P\96¢\8a®\83^\83X\83N"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "\96¢\8a®\83^\83X\83N"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr ""
+
+#: config/prefs.php.dist:202
+msgid "Incomplete tasks"
+msgstr "\96¢\8a®\83^\83X\83N"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "\8dÅ\8fI\8dX\90V\93ú\8e\9e"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr ""
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr ""
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "\83^\83X\83N\82Ì\8dÅ\91å\90\94"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "\83\81\83j\83\85\81[\83A\83\89\81[\83\80"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "\83\81\83j\83\85\81[\83\8a\83X\83g"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "\95ª"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "\95ª"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "\8c\8e"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "\82»\82Ì\91¼\82Ì\83I\83v\83V\83\87\83\93"
+
+#: lib/api.php:986
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"\95¡\90\94\82Ì iCalendar \83R\83\93\83|\81[\83l\83\93\83g\82ð\8c\9f\8fo\82µ\82Ü\82µ\82½\81G \88ê\82Â\82Ì vTodo \82¾\82¯\82ð\83T\83|\81[\83g\82µ"
+"\82Ä\82¢\82Ü\82·\81B"
+
+#: templates/panel.inc:38
+msgid "My Tasklists:"
+msgstr "\8e\84\82Ì\83^\83X\83N\95\\81F"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "\8e\84\82Ì\83^\83X\83N"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "_A\96¼\91O"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "_M\96¼\91O"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: \83^\83X\83N %s \82ª\8c©\82Â\82©\82è\82Ü\82¹\82ñ"
+
+#: data.php:52 lib/Forms/task.php:62
+msgid "Name"
+msgstr "\96¼\91O"
+
+#: templates/tasklists/tasklists.inc:68
+msgid "Name:"
+msgstr "\96¼\91O\81F"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:27
+msgid "New Task"
+msgstr "\90V\83^\83X\83N"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "\8e\9f"
+
+#: config/prefs.php.dist:167
+msgid "No"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "\89\84\8aú\82µ\82È\82¢"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "\8aú\93ú\82È\82µ"
+
+#: lib/api.php:405 lib/api.php:709 lib/api.php:767 lib/api.php:979
+msgid "No iCalendar data was found."
+msgstr "iCalendar \82Ì\83f\81[\83^\82ª\8c©\95t\82©\82è\82Ü\82¹\82ñ\81B"
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "\90e\83^\83X\83N\82È\82µ"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "\83Q\83X\83g\82É\82Í\83^\83X\83N\95\\82Í\82 \82è\82Ü\82¹\82ñ\81B"
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "\88ê\92v\82·\82é\83^\83X\83N\82Í\82 \82è\82Ü\82¹\82ñ"
+
+#: lib/Block/summary.php:222
+msgid "No tasks to display"
+msgstr "\95\\8e¦\82·\82é\82×\82«\83^\83X\83N\82Í\82 \82è\82Ü\82¹\82ñ"
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "\82È\82µ"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "\8a®\97¹\82¹\82¸"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "\8cÂ\90l\97p\82Å\82È\82¢"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "\8c©\95t\82©\82è\82Ü\82¹\82ñ\81B"
+
+#: config/prefs.php.dist:42
+msgid "Notifications"
+msgstr "\92Ê\92m"
+
+#: config/prefs.php.dist:169
+msgid "On all shown tasklists"
+msgstr "\95\\8e¦\82µ\82Ä\82¢\82é\91S\82Ä\82Ì\83^\83X\83N\95\"
+
+#: config/prefs.php.dist:170
+msgid "On all tasklists I have read access to"
+msgstr "\93Ç\82Ý\8fo\82µ\8c \82Ì\82 \82é\91S\82Ä\82Ì\83^\83X\83N\95\"
+
+#: config/prefs.php.dist:168
+msgid "On my tasklists only"
+msgstr "\8e\84\82Ì\83^\83X\83N\95\\82Ì\82Ý"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "_R\97D\90æ\93x"
+
+#: lib/Forms/task.php:69
+msgid "Parent task"
+msgstr "\90e\83^\83X\83N"
+
+#: templates/tasklists/tasklists.inc:71
+msgid "Permission"
+msgstr "\83A\83N\83Z\83X\8c "
+
+#: lib/api.php:683 lib/api.php:805 lib/api.php:860 lib/api.php:924
+#: lib/api.php:961
+msgid "Permission Denied"
+msgstr "\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½"
+
+#: lib/api.php:178
+msgid "Permission denied"
+msgstr "\83A\83N\83Z\83X\8b\91\94Û\82³\82ê\82Ü\82µ\82½"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:87
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Priority"
+msgstr "\97D\90æ\93x"
+
+#: templates/view/task.inc:14 lib/Driver.php:902
+msgid "Private"
+msgstr "\8cÂ\90l\97p"
+
+#: lib/Driver.php:900
+msgid "Private Task"
+msgstr "\8cÂ\90l\93I\83^\83X\83N"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:82
+msgid "Private?"
+msgstr "\8cÂ\90l\97p\81H"
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "\82±\82Ì\83^\83X\83N\82ð\96{\93\96\82É\8dí\8f\9c\82µ\82Ä\82à\97Ç\82¢\82Å\82·\82©\81H"
+
+#: templates/tasklists/tasklists.inc:81
+msgid "Remote Subscription URL"
+msgstr "\89\93\8au\8dw\93Ç URL"
+
+#: templates/panel.inc:57 lib/Forms/task.php:94
+msgid "Save"
+msgstr "\95Û\91¶"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "%s \82ð\95Û\91¶\82µ\82Ü\82µ\82½\81B"
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:47
+msgid "Search"
+msgstr "\8c\9f\8dõ"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "\8c\9f\8dõ\81F"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "\8c\9f\8dõ\95¶\8e\9a\97ñ\81F"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "\8c\9f\8dõ\81F"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "\"%s\" \82Ì\8c\9f\8dõ\8c\8b\89Ê"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "\93ú\82ð\91I\91ð"
+
+#: templates/tasklists/tasklists.inc:62
+msgid "Select a tasklist"
+msgstr "\83^\83X\83N\95\\82ð\91I\91ð"
+
+#: templates/tasklists/tasklists.inc:24 templates/tasklists/tasklists.inc:82
+msgid "Select a tasklist above to display the Remote Subscription URL"
+msgstr "\83^\83X\83N\95\\82ð\91I\82Ñ\81A\89\93\8au\8dw\93Ç URL \82ð\95\\8e¦\82³\82¹\82Ä\89º\82³\82¢"
+
+#: templates/tasklists/tasklists.inc:23 templates/tasklists/tasklists.inc:80
+msgid "Select a tasklist above to display the URL"
+msgstr "\83^\83X\83N\95\\82ð\91I\82Ñ URL \82ð\95\\8e¦\82³\82¹\82Ä\89º\82³\82¢"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "\83G\83N\83X\83|\81[\83g\8c`\8e®\82ð\91I\91ð\81F"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "\83C\83\93\83|\81[\83g\82·\82é\83t\83@\83C\83\8b\82ð\91I\91ð\81F"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "\8c³\83t\83@\83C\83\8b\82Ì\8c`\8e®\82ð\91I\91ð\81F"
+
+#: templates/panel.inc:48
+msgid "Shared Tasklists:"
+msgstr "\8b¤\97L\83^\83X\83N\95\\81F"
+
+#: config/prefs.php.dist:69
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "\83^\83X\83N\88ê\97\97\82Å\83^\83X\83N\95\\82Ì\96¼\91O\82à\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "\91\80\8dì\83{\83^\83\93\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: config/prefs.php.dist:204
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "\8a®\97¹\82µ\82½\83^\83X\83N\81A\96¢\8a®\82Ì\83^\83X\83N\82È\82Ç\91S\82Ä\82Ì\83^\83X\83N\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: config/prefs.php.dist:191
+msgid "Show data from any of these other applications in your task list?"
+msgstr "\91¼\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83f\81[\83^\82à\83^\83X\83N\95\\82É\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: config/prefs.php.dist:58
+msgid "Show data from other applications or sources."
+msgstr "\91¼\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83f\81[\83^\82à\95\\8e¦\82·\82é\81B"
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "\8aú\93ú\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "\97D\90æ\93x\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "\83A\83\89\81[\83\80\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "\95ª\97Þ\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: config/prefs.php.dist:79
+msgid "Show task list options panel?"
+msgstr "\83^\83X\83N\95\\82Ì\83I\83v\83V\83\87\83\93\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "\83^\83X\83N\95\\82Ì\96¼\91O\82ð\95\\8e¦\82µ\82Ü\82·\82©\81H"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "\82±\82ê\82ç\82Ì\95ª\97Þ\82Ì\83^\83X\83N\82ð\95\\8e¦"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "\82±\82ê\82ç\82Ì\83^\83X\83N\95\\82Ì\83^\83X\83N\82ð\95\\8e¦"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "\95ª\97Þ\82Ì\8f\87\82É\95À\82Ñ\91Ö\82¦\82é"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "\8a®\97¹\8fó\8bµ\82Ì\8f\87\82É\95À\82Ñ\91Ö\82¦\82é"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "\8aú\93ú\82Ì\8f\87\82É\95À\82Ñ\91Ö\82¦\82é"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "\96¼\91O\82Ì\8f\87\82É\95À\82Ñ\91Ö\82¦\82é"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "\97D\90æ\93x\82Ì\8f\87\82É\95À\82Ñ\91Ö\82¦\82é"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "\96¼\91O\82Ì\8f\87\82É\95À\82Ñ\91Ö\82¦\82é"
+
+#: config/prefs.php.dist:120
+msgid "Sort direction:"
+msgstr "\95À\82Ñ\95û\8cü\81F"
+
+#: config/prefs.php.dist:94
+msgid "Sort tasks by:"
+msgstr "\83^\83X\83N\82Ì\95À\82Ñ\8f\87\81F"
+
+#: data.php:56
+msgid "Start"
+msgstr "\8aJ\8en"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "\8aJ\8en\93ú\8e\9e"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "\8aJ\8en\93ú\8e\9e\82ª\8ew\92è\82³\82ê\82Ü\82µ\82½\81B"
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "\83^\83X\83N\83A\83\89\81[\83\80"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "\83^\83X\83N\83A\83\89\81[\83\80\81H"
+
+#: config/prefs.php.dist:28
+msgid "Task Defaults"
+msgstr "\83^\83X\83N\83f\83t\83H\83\8b\83g"
+
+#: lib/Forms/task.php:65
+msgid "Task List"
+msgstr "\83^\83X\83N\95\"
+
+#: config/prefs.php.dist:34 config/prefs.php.dist:41 config/prefs.php.dist:56
+msgid "Task List and Share Options"
+msgstr "\83^\83X\83N\95\\82Æ\8b¤\97L\82Ì\83I\83v\83V\83\87\83\93"
+
+#: tasklists.php:117
+msgid "Task Lists"
+msgstr "\83^\83X\83N\95\"
+
+#: config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Task Name"
+msgstr "\83^\83X\83N\96¼"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "\83^\83X\83N\83m\81[\83g"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "\83^\83X\83N\83m\81[\83g\81H"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "\83^\83X\83N\8c\9f\8dõ"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "\92Ç\89Á\82³\82ê\82½\83^\83X\83N\81F"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "\8dí\8f\9c\82³\82ê\82½\83^\83X\83N\81F"
+
+#: tasklists.php:32
+msgid "Task lists must have a name."
+msgstr "\83^\83X\83N\95\\82É\96¼\91O\82ª\95K\97v\82Å\82·\81B"
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "\8dX\90V\93ú\8e\9e\81F"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "\83^\83X\83N\82ª\8c©\95t\82©\82è\82Ü\82¹\82ñ\81B"
+
+#: config/prefs.php.dist:93 config/prefs.php.dist:108
+msgid "Tasklist"
+msgstr "\83^\83X\83N\95\"
+
+#: templates/panel.inc:30 templates/panel.inc:31
+#: templates/tasklists/tasklists.inc:58
+msgid "Tasklists"
+msgstr "\83^\83X\83N\95\"
+
+#: templates/tasklists/tasklists.inc:60
+msgid "Tasklists:"
+msgstr "\83^\83X\83N\95\\81F"
+
+#: lib/api.php:1041
+msgid "Tasks"
+msgstr "\83^\83X\83N"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "\83^\83X\83N\8aT\97v"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "\83t\83@\83C\83\8b %s \82É\82Í\83^\83X\83N\82Í\88ê\82Â\82à\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B"
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "\83^\83X\83N\82Ì\83o\83b\83N\83G\83\93\83h\82Í\8c»\8dÝ\8eg\97p\82Å\82«\82Ü\82¹\82ñ\81B"
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "\83^\83X\83N\82Ì\83o\83b\83N\83G\83\93\83h\82Í\8c»\8dÝ\8eg\97p\82Å\82«\82Ü\82¹\82ñ\81F %s"
+
+#: lib/Forms/task.php:130
+msgid "The alarm value must not be empty."
+msgstr "\83A\83\89\81[\83\80\82Ì\92l\82Í\8bó\82Å\82Í\82¢\82¯\82Ü\82¹\82ñ\81B"
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "\8c»\8dÝ\82Ì\8e\9e\8d\8f"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr "\83^\83X\83N \"%s\" \82Í\83^\83X\83N\95\ \"%s\" \82É\92Ç\89Á\82³\82ê\82Ü\82µ\82½\81B\8aú\93ú\82Í\81F%s"
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr "\83^\83X\83N \"%s\" \82Í\83^\83X\83N\95\ \"%s\" \82©\82ç\8dí\8f\9c\82³\82ê\82Ü\82µ\82½\81B\8aú\93ú\82Í\81F%s"
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr "\83^\83X\83N \"%s\" \82Í\83^\83X\83N\95\ \"%s\" \82Å\95Ï\8dX\82³\82ê\82Ü\82µ\82½\81B\8aú\93ú\82Í\81F%s"
+
+#: tasklists.php:49
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "\83^\83X\83N\95\ \"%s\" \82Í\8dì\90¬\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½\81F%s"
+
+#: tasklists.php:60
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "\83^\83X\83N\95\ \"%s\" \82Í\95Û\91¶\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½\81F%s"
+
+#: tasklists.php:51
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "\83^\83X\83N\95\ \"%s\" \82Í\8dì\90¬\82³\82ê\82Ü\82µ\82½\81B"
+
+#: tasklists.php:85
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "\83^\83X\83N\95\ \"%s\" \82Í\8dí\8f\9c\82³\82ê\82Ü\82µ\82½\81B"
+
+#: tasklists.php:62
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "\83^\83X\83N\95\ \"%s\" \82Í\95Û\91¶\82³\82ê\82Ü\82µ\82½\81B"
+
+#: config/prefs.php.dist:109
+msgid "Then:"
+msgstr "\82³\82ç\82É\81F"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "\8c»\8dÝ\82Ì\8aî\8f\80\82É\88ê\92v\82·\82é\83^\83X\83N\82Í\82 \82è\82Ü\82¹\82ñ\81B"
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "%s \82ð\8a®\97¹\92\86\82É\96â\91è\82ª\82 \82è\82Ü\82µ\82½\81F%s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "%s \82ð\8dí\8f\9c\92\86\82É\96â\91è\82ª\82 \82è\82Ü\82µ\82½\81F%s"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "\83^\83X\83N\82ð\95Û\91¶\92\86\82É\96â\91è\82ª\82 \82è\82Ü\82µ\82½\81F%s"
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "\83f\81[\83^\82ð\83C\83\93\83|\81[\83g\92\86\82É\83G\83\89\81[\82ª\82 \82è\82Ü\82µ\82½\81F%s"
+
+#: lib/api.php:397 lib/api.php:701 lib/api.php:973
+msgid "There was an error importing the iCalendar data."
+msgstr "iCalendar \83f\81[\83^\82ð\83C\83\93\83|\81[\83g\92\86\82É\83G\83\89\81[\82ª\82 \82è\82Ü\82µ\82½\81B"
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "\83G\83N\83X\83|\81[\83g\82·\82é\83^\83X\83N\82ª\82 \82è\82Ü\82¹\82ñ\81B"
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "\82±\82Ì\83t\83@\83C\83\8b\8c`\8e®\82Í\83T\83|\81[\83g\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B"
+
+#: templates/tasklists/tasklists.inc:79
+msgid "URL"
+msgstr "URL"
+
+#: tasklists.php:81
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "\"%s\" \82ð\8dí\8f\9c\82Å\82«\82Ü\82¹\82ñ\81F%s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "%s \82Ì\92è\8b`\82ª\83\8d\81[\83h\82Å\82«\82Ü\82¹\82ñ\81B"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:62
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Forms/task.php:78 lib/Block/summary.php:31 lib/Block/summary.php:215
+msgid "Unfiled"
+msgstr "\96¢\90®\97\9d"
+
+#: lib/api.php:502 lib/api.php:774 lib/api.php:832 lib/api.php:886
+#: lib/api.php:1011
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "\83T\83|\81[\83g\82³\82ê\82Ä\82¢\82È\82¢ Content-Type \82Å\82·\81F%s"
+
+#: lib/Driver.php:1079
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"\83^\83X\83N\82Ì\8aú\93ú\82É\82Â\82¢\82Ä\88È\89º\82Ì\82æ\82¤\82É\8dÃ\91£\92v\82µ\82Ü\82·\81B\n"
+"\n"
+"%s\n"
+"\n"
+"\93ú\8e\9e\81F%s\n"
+"\8e\9e\8aÔ\81F%s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "\8fT"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "\83f\83t\83H\83\8b\83g\82Ì\8aú\93ú\8e\9e\8aÔ\82ð\89½\8e\9e\82É\82µ\82Ü\82·\82©\81H"
+
+#: config/prefs.php.dist:147
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr "\90V\83^\83X\83N\82ð\8dì\82é\8e\9e\81A\83f\83t\83H\83\8b\83g\82Ì\8aú\93ú\82ð\89½\93ú\8cã\82É\82µ\82Ü\82·\82©\81i0\82Í\8d¡\93ú\81j\81H"
+
+#: config/prefs.php.dist:138
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "\90V\83^\83X\83N\82ð\8dì\82é\8e\9e\81A\83f\83t\83H\83\8b\83g\82Å\8aú\93ú\95t\82É\82µ\82Ü\82·\82©\81H"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "\82Ç\82Ì\83^\83X\83N\95\\82É\92Ç\89Á\82µ\82Ü\82·\82©\81H"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "\94N"
+
+#: data.php:41 data.php:151 task.php:61
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "\82 \82È\82½\82Í %d \88È\8fã\82Ì\83^\83X\83N\82ð\8dì\90¬\82Å\82«\82Ü\82¹\82ñ\81B"
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "\82 \82È\82½\82É\82Í\82±\82Ì\83^\83X\83N\95\\82ð\95\\8e¦\82·\82é\8c \8cÀ\82ª\82 \82è\82Ü\82¹\82ñ\81B"
+
+#: tasklists.php:88
+msgid "You must select a task list to be deleted."
+msgstr "\8dí\8f\9c\82·\82é\82×\82«\83^\83X\83N\95\\82ð\91I\91ð\82µ\82Ä\89º\82³\82¢\81B"
+
+#: templates/tasklists/tasklists.inc:47
+msgid "You must select a tasklist to be deleted."
+msgstr "\8dí\8f\9c\82·\82é\82×\82«\83^\83X\83N\95\\82ð\91I\91ð\82µ\82Ä\89º\82³\82¢\81B"
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"\82 \82È\82½\82Í\82 \82È\82½\82Ì\83^\83X\83N\95\\82É\83^\83X\83N\82ª\92Ç\89Á\82³\82ê\82½\8e\9e\82É\92Ê\92m\82·\82é\82±\82Æ\82ð\97v\8b\81\82µ\82Ü\82µ\82½\81B"
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"\82 \82È\82½\82Í\82 \82È\82½\82Ì\83^\83X\83N\95\\82©\82ç\83^\83X\83N\82ª\8dí\8f\9c\82³\82ê\82½\8e\9e\82É\92Ê\92m\82·\82é\82±\82Æ\82ð\97v\8b\81\82µ\82Ü\82µ"
+"\82½\81B"
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"\82 \82È\82½\82Í\82 \82È\82½\82Ì\83^\83X\83N\95\\82Ì\83^\83X\83N\82ª\95Ï\8dX\82³\82ê\82½\8e\9e\82É\92Ê\92m\82·\82é\82±\82Æ\82ð\97v\8b\81\82µ\82Ü\82µ\82½\81B"
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "\83f\83t\83H\83\8b\83g\82Ì\83^\83X\83N\95\\81F"
+
+#: templates/panel.inc:43
+msgid "[Manage My Tasklists]"
+msgstr "[\8e\84\82Ì\83^\83X\83N\95\\82Ì\8aÇ\97\9d]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:199
+msgid "[none]"
+msgstr "[\82È\82µ]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_A\91S\83^\83X\83N"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_A\91S\83^\83X\83N"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_C\95ª\97Þ"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "_C\8a®\97¹"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "_C\8a®\97¹\83^\83X\83N"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "_D\8dí\8f\9c"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "_D\90à\96¾"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "_D\8aú\93ú"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "_E\95Ò\8fW"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "_F\8d¡\8cã\82Ì\83^\83X\83N"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "_I\83C\83\93/\83A\83E\83g"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "_L\83^\83X\83N\88ê\97\97"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "_N\90V\83^\83X\83N"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "_P\88ó\8dü"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "_S\8c\9f\8dõ"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "_T\83^\83X\83N\95\"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "\8cß\91O"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:37
+#, php-format
+msgid "in %s"
+msgstr ""
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr ""
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "\8cß\8cã"
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasks.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "tasks.ics"
--- /dev/null
+# nag Korean translation.
+# Copyright 2002 J.I Kim.
+# J.I Kim <aporie@netian.com>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"POT-Creation-Date: 2002-05-29 15:58+0900\n"
+"PO-Revision-Date: 2002-05-29 15:58+0900\n"
+"Last-Translator: J.I Kim <aporie@netian.com>\n"
+"Language-Team: Korean <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=EUC-KR\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d°³ÀÇ ÀÛ¾÷"
+
+msgid "1 task"
+msgstr "1°³ÀÇ ÀÛ¾÷"
+
+msgid "Adding A New Task"
+msgstr "»õ·Î¿î ÀÛ¾÷ Ãß°¡"
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "ÀÌ ÀÛ¾÷À» ¿ÏÀüÈ÷ »èÁ¦ÇϽðڽÀ´Ï±î?"
+
+msgid "Ascending"
+msgstr "¿À¸§Â÷¼ø"
+
+msgid "Back to Task List"
+msgstr "¸ñ·ÏÀ¸·Î µ¹¾Æ°¡±â"
+
+msgid "Category"
+msgstr "¹üÁÖ"
+
+msgid "Change your task sorting and display options."
+msgstr "Á¤·Ä ¹× ȸé Ãâ·Â Çü½ÄÀ» º¯°æÇÕ´Ï´Ù."
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "%d°³ÀÇ ÀÛ¾÷ÀÌ ¿ì¼±¼øÀ§ %d·Î º¯°æµÇ¾ú½À´Ï´Ù."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "1°³ÀÇ ÀÛ¾÷ÀÌ ¿ì¼±¼øÀ§ %d·Î º¯°æµÇ¾ú½À´Ï´Ù."
+
+msgid "Choose Action:"
+msgstr "µ¿ÀÛ ¼±ÅÃ:"
+
+msgid "Clear Form"
+msgstr "Æû »èÁ¦"
+
+msgid "Complete Task"
+msgstr "ÀÛ¾÷ ¿Ï·á"
+
+msgid "Complete Tasks"
+msgstr "ÀÛ¾÷ ¿Ï·á"
+
+msgid "Completed?"
+msgstr "¿Ï·á?"
+
+msgid "Completion Status"
+msgstr "¿Ï·á »óÅÂ"
+
+msgid "Default sorting criteria:"
+msgstr "±âº» Á¤·Ä ¹üÁÖ:"
+
+msgid "Default sorting direction:"
+msgstr "±âº» Á¤·Ä ¹æ½Ä:"
+
+msgid "Delete Task"
+msgstr "ÀÛ¾÷ »èÁ¦"
+
+msgid "Delete Tasks"
+msgstr "ÀÛ¾÷ »èÁ¦"
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "%d°³ÀÇ ÀÛ¾÷ÀÌ »èÁ¦µÇ¾ú½À´Ï´Ù."
+
+msgid "Deleted 1 task."
+msgstr "1°³ÀÇ ÀÛ¾÷ÀÌ »èÁ¦µÇ¾ú½À´Ï´Ù."
+
+msgid "Descending"
+msgstr "³»¸²Â÷¼ø"
+
+msgid "Description"
+msgstr "¼³¸í"
+
+msgid "Display Options"
+msgstr "È¸é ¼³Á¤"
+
+msgid "Due By"
+msgstr "¿Ï·á ÀÏÀÚ"
+
+msgid "Due Date"
+msgstr "ÀÏÀÚ"
+
+msgid "Help"
+msgstr "µµ¿ò¸»"
+
+msgid "Language"
+msgstr "¾ð¾î"
+
+msgid "List Tasks"
+msgstr "¸ñ·Ï"
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "%d°³ÀÇ ÀÛ¾÷ÀÌ ¿Ï·á»óÅ·Π¼³Á¤µÇ¾ú½À´Ï´Ù."
+
+msgid "Marked 1 task as completed."
+msgstr "1°³ÀÇ ÀÛ¾÷ÀÌ ¿Ï·á»óÅ·Π¼³Á¤µÇ¾ú½À´Ï´Ù."
+
+msgid "Modify Task"
+msgstr "¼öÁ¤"
+
+msgid "Modifying:"
+msgstr "¼öÁ¤Áß:"
+
+msgid "Nag is not properly configured"
+msgstr "Nag°¡ Á¤»óÀûÀ¸·Î ¼³Á¤µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù."
+
+msgid "Name"
+msgstr "À̸§"
+
+msgid "New Task"
+msgstr "»õ·Î¿î ÀÛ¾÷"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "SQL ŽºÅ©¸¦ À§ÇÑ ¼³Á¤ Á¤º¸°¡ ¾ø½À´Ï´Ù."
+
+msgid "No due date."
+msgstr "ÀÏÀÚ ¾ø½¿."
+
+msgid "No tasks were changed."
+msgstr "º¯°æµÈ ¾÷¹«°¡ ¾ø½À´Ï´Ù."
+
+msgid "No tasks were deleted."
+msgstr "»èÁ¦µÈ ¾÷¹«°¡ ¾ø½À´Ï´Ù."
+
+msgid "No"
+msgstr "¾ø½¿"
+
+msgid "None specified"
+msgstr "¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+
+msgid "Options"
+msgstr "¼³Á¤"
+
+msgid "Other Options"
+msgstr "±âŸ ¼³Á¤"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "¾÷¹« ¿ì¼±¼øÀ§(1-5)¸¦ ÀÔ·ÂÇϼ¼¿ä:"
+
+msgid "Pri"
+msgstr "¿ì¼±¼øÀ§"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr "¿ì¼±¼øÀ§´Â 1 °ú 5»çÀÌ¿©¾ß ÇÕ´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇϼ¼¿ä:"
+
+msgid "Priority"
+msgstr "¿ì¼±¼øÀ§"
+
+msgid "Problem?"
+msgstr "¹®Á¦?"
+
+msgid "Refresh List"
+msgstr "°»½Å ¸ñ·Ï"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "¼³Á¤¿¡¼ 'database'°¡ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "¼³Á¤¿¡¼ 'hostspec'ÀÌ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "¼³Á¤¿¡¼ 'password'°¡ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "¼³Á¤¿¡¼ 'phptype'ÀÌ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "¼³Á¤¿¡¼ 'table'ÀÌ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "¼³Á¤¿¡¼ 'username'ÀÌ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+
+msgid "Save Task"
+msgstr "ÀúÀå"
+
+msgid "Search Results"
+msgstr "°Ë»ö °á°ú"
+
+msgid "Search Scope"
+msgstr "°Ë»ö ¿µ¿ª"
+
+msgid "Search Text"
+msgstr "°Ë»ö ¹®ÀÚ¿"
+
+msgid "Search"
+msgstr "°Ë»ö"
+
+msgid "Select your preferred language:"
+msgstr "¾ð¾î ¼±ÅÃ:"
+
+msgid "Selected?"
+msgstr "¼±ÅÃ?"
+
+msgid "Set Task Priority"
+msgstr "¿ì¼±¼øÀ§ ¼³Á¤"
+
+msgid "Set the your preferred display language."
+msgstr "ȸé Ãâ·Â ¾ð¾î¸¦ ¼³Á¤ÇÕ´Ï´Ù.ȸé Ãâ·Â ¾ð¾î¸¦ ¼³Á¤ÇÕ´Ï´Ù."
+
+msgid "Show completed tasks in the task list?"
+msgstr "¸ñ·Ï¿¡¼ ¿Ï·áµÈ ÀÛ¾÷ º¸¿©ÁÖ±â?"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "ÀϺΠNag ¼³Á¤ÆÄÀÏÀÌ ¾ø½À´Ï´Ù:"
+
+msgid "Sort Direction"
+msgstr "Á¤·Ä ¹æ½Ä"
+
+msgid "Sort by Category"
+msgstr "¹üÁÖ·Î Á¤·Ä"
+
+msgid "Sort by Completion Status"
+msgstr "¿Ï·á»óÅ·ΠÁ¤·Ä"
+
+msgid "Sort by Due Date"
+msgstr "ÀÏÀÚ·Î Á¤·Ä"
+
+msgid "Sort by Name"
+msgstr "À̸§À¸·Î Á¤·Ä"
+
+msgid "Sort by Priority"
+msgstr "¿ì¼±¼øÀ§·Î Á¤·Ä"
+
+msgid "Task Details"
+msgstr "ÀÚ¼¼È÷"
+
+msgid "Task List"
+msgstr "ÀÛ¾÷ ¸ñ·Ï"
+
+msgid "Task Name"
+msgstr "ÀÛ¾÷ À̸§"
+
+msgid "Task Note"
+msgstr "ÀÛ¾÷ ³ëÆ®"
+
+msgid "Task Note?"
+msgstr "ÀÛ¾÷ ³ëÆ®?"
+
+msgid "The requested task does not exist."
+msgstr "¿äûµÈ ÀÛ¾÷ÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù."
+
+msgid "There was a problem deleting tasks."
+msgstr "ÀÛ¾÷ »èÁ¦¿¡ ¹®Á¦°¡ ¹ß»ýÇß½À´Ï´Ù."
+
+msgid "There was a problem setting task completion status."
+msgstr "ÀÛ¾÷ ¿Ï·á »óÅ ¼³Á¤¿¡ ¹®Á¦°¡ ¹ß»ýÇß½À´Ï´Ù."
+
+msgid "There was a problem setting task priority."
+msgstr "ÀÛ¾÷ ¿ì¼±¼øÀ§ ¼³Á¤¿¡ ¹®Á¦°¡ ¹ß»ýÇß½À´Ï´Ù."
+
+msgid "This file contains preferences for Nag."
+msgstr "ÀÌ ÆÄÀÏÀº NagÀÇ È¯°æ¼³Á¤ÆÄÀÏÀÔ´Ï´Ù."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"ÀÌ ÆÄÀÏÀº Horde ±âº»¼³Á¤ÀÇ »ö»ó°ú ÆùÆ®µî¿¡ ´ëÇÑ ½ºÅ¸ÀÏ½ÃÆ®¸¦ °»½ÅÇÕ´Ï´Ù."
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr ""
+"ÀÌ ÆÄÀÏÀº ¸ÞÀÎ Nag ¼³Á¤ ÆÄÀÏÀÔ´Ï´Ù. ¸ðµç Nag ½ºÅ©¸³Æ®ÀÇ ¼³Á¤À» Æ÷ÇÔÇÕ´Ï´Ù."
+
+msgid "Undo Changes"
+msgstr "º¯°æ Ãë¼Ò"
+
+msgid "Unfiled"
+msgstr "¹Ì¹üÁÖ"
+
+msgid "Unknown task"
+msgstr "¾Ë¼ö ¾ø´Â ÀÛ¾÷"
+
+msgid "Unknown"
+msgstr "¾Ë¼ö ¾ø½¿"
+
+msgid "User Options"
+msgstr "»ç¿ëÀÚ ¼³Á¤"
+
+msgid "View Task Details"
+msgstr "ÀÛ¾÷ ÀÚ¼¼È÷ º¸±â"
+
+msgid "Yes"
+msgstr "¿¹"
+
+msgid "You must select at least one task first."
+msgstr "Àû¾îµµ ÇѰ³ÀÇ ÀÛ¾÷À» ¸ÕÀú ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù."
+
+msgid "Your Information"
+msgstr "Á¤º¸»çÇ×"
+
+msgid "Your task list is empty."
+msgstr "ÀÛ¾÷¸ñ·ÏÀÌ ¾ø½À´Ï´Ù."
+
+msgid "at"
+msgstr "½Ã°£"
--- /dev/null
+# Lithuanian translations for Nag package.
+# Copyright 2007-2009 The Horde Project
+# This file is distributed under the same license as the Nag package.
+# Darius Matuliauskas <darius@lnk.lt>, 2002.
+# Vilius Sumskas <vilius@lnk.lt>, 2003, 2004, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.2-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2007-11-23 16:17+0200\n"
+"PO-Revision-Date: 2007-11-23 16:20+0200\n"
+"Last-Translator: Vilius Sumskas <vilius@lnk.lt>\n"
+"Language-Team: Lithuanian <vilius@lnk.lt>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-13\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
+"100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s áskaitant susijusius darbus)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d val."
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d val., %d min."
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d val., %d min."
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d val."
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d val., %d min."
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d val., %d min."
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d min."
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d min."
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr "%s %s"
+
+#: lib/Nag.php:590 lib/Block/tree_alarms.php:42 lib/Block/summary.php:106
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s prasidës po %s"
+
+#: lib/Nag.php:588 lib/Block/tree_alarms.php:44 lib/Block/summary.php:104
+#, php-format
+msgid "%s is due now."
+msgstr "%s prasideda dabar."
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s dar nebaigtas."
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s failas sëkmingai ákeltas"
+
+#: tasklists.php:104 lib/Nag.php:516
+#, php-format
+msgid "%s's Task List"
+msgstr "%s darbø sàraðas"
+
+#: lib/Nag.php:315 lib/Forms/task.php:55
+msgid "(highest)"
+msgstr "(labai svarbu)"
+
+#: lib/Nag.php:315 lib/Forms/task.php:56
+msgid "(lowest)"
+msgstr "(visiðkai nesvarbu)"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Neturite teisiø pabaigti darbà %s."
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "Neturite teisiø iðtrinti %s"
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "Neturite teisiø redaguoti ðio darbo."
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Neturite teisiø redaguoti darbo: %s"
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Neturite teisiø perkelti darbà á %s."
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Neturite teisiø perkelti darbà %s."
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Neturite teisiø iðsaugoti darbà %s."
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Neturite teisiø iðsaugoti darbà: %s"
+
+#: lib/Forms/task.php:85 templates/view/task.inc:26
+msgid "Alarm"
+msgstr "Perspëjimas"
+
+#: config/prefs.php.dist:201
+msgid "All tasks"
+msgstr "Visi darbai"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Visada rodyti atliktus darbus?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Visada rodyti pasibaigusius darbus?"
+
+#: config/prefs.php.dist:118
+msgid "Ascending"
+msgstr "Didëjimo tvarka"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Bloko pavadinimas"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Kalendorius"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "_Kategorija"
+
+#: data.php:54 lib/Forms/task.php:73 lib/Forms/task.php:79
+#: templates/view/task.inc:8 config/prefs.php.dist:90
+#: config/prefs.php.dist:105
+msgid "Category"
+msgstr "Kategorija"
+
+#: templates/tasklists/tasklists.inc:26
+msgid "Change"
+msgstr "Keisti"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Darbø rûðiavimo ir rodymo nustatymai."
+
+#: config/prefs.php.dist:180
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Pasirinkite kaip norite gauti priminimus apie darbus su perspëjimais:"
+
+#: config/prefs.php.dist:171
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Pasirinkite ar norite, kad jums bûtø praneðta apie naujus, pakeistus ir "
+"iðtrintus darbus el. paðtu:"
+
+#: config/prefs.php.dist:43
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr "Perspëjimø pasikeitus darbams pasirinkimas."
+
+#: config/prefs.php.dist:36
+msgid "Choose your default task list."
+msgstr "Jûsø pagrindinio darbø sàraðo pasirinkimas."
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Iðvalyti paieðkà"
+
+#: view.php:99
+msgid "Complete"
+msgstr "Atlikta"
+
+#: lib/Block/summary.php:168 templates/list/task_summaries.inc:11
+#, php-format
+msgid "Complete \"%s\""
+msgstr "\"%s\" atliktas."
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Darbas atliktas"
+
+#: config/prefs.php.dist:203
+msgid "Complete tasks"
+msgstr "Atliktus darbus"
+
+#: lib/Nag.php:379 lib/Block/summary.php:166
+msgid "Completed"
+msgstr "Atliktas"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "%s atliktas."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Atlikti darbai"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Susijæs darbas baigtas, ið pradþiø paþymëkite já kaip nebaigtà"
+
+#: lib/Forms/task.php:91 templates/view/task.inc:38
+#: templates/list/task_headers.inc:31 config/prefs.php.dist:92
+#: config/prefs.php.dist:107
+msgid "Completed?"
+msgstr "Atliktas?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "Atlikimo bûsena"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Prisijungti nepavyko: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:86
+msgid "Create"
+msgstr "Sukurti"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Sukurta"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Diena"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Diena(os)"
+
+#: config/prefs.php.dist:35
+msgid "Default Task List"
+msgstr "Jûsø pagrindinis darbø sàraðas"
+
+#: config/prefs.php.dist:29
+msgid "Defaults for new tasks"
+msgstr "Standartiniai naujø darbø nustatymai"
+
+#: lib/Forms/task.php:84
+msgid "Delay Start Until"
+msgstr "Nepradëti iki"
+
+#: view.php:106 templates/tasklists/tasklists.inc:87
+msgid "Delete"
+msgstr "Iðtrinti"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Trynimo patvirtinimas"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Trynimo mygtuko elgesys"
+
+#: task.php:105 lib/Forms/task.php:96
+msgid "Delete this task"
+msgstr "Iðtrinti ðá darbà"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "%s iðtrintas."
+
+#: config/prefs.php.dist:119
+msgid "Descending"
+msgstr "Maþëjimo tvarka"
+
+#: data.php:53 lib/Forms/task.php:92
+msgid "Description"
+msgstr "Apraðymas"
+
+#: templates/tasklists/tasklists.inc:75
+msgid "Description:"
+msgstr "Apraðymas:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Vaizdavimo nustatymai"
+
+#: config/prefs.php.dist:129
+msgid "Do you want to confirm deleting entries?"
+msgstr "Ar norite, kad prieð kiekvienà áraðø trynimà praðytø patviritimo?"
+
+#: data.php:55 lib/Forms/task.php:83 templates/view/task.inc:22
+msgid "Due By"
+msgstr "Atlikti iki"
+
+#: config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Due Date"
+msgstr "Atlikimo data"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Áraðyta atlikimo data."
+
+#: view.php:102
+msgid "Edit"
+msgstr "Redaguoti"
+
+#: lib/Block/summary.php:159 templates/list/task_summaries.inc:38
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Redaguoti \"%s\""
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Redaguoti darbà"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Redaguoti kategorijas ir spalvas"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "Redaguoti: %s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Klaida trinant darbà: %s"
+
+#: lib/Forms/task.php:90 templates/view/task.inc:34
+msgid "Estimated Time"
+msgstr "Apskaièiuotas laikas"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Iðkelti"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Darbø iðkëlimas"
+
+#: config/prefs.php.dist:57
+msgid "External Data"
+msgstr "Iðoriniai duomenys"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20 config/prefs.php.dist:27
+msgid "General Options"
+msgstr "Pagrindiniai nustatymai"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Valanda"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Valanda(os)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Darbø ákëlimas, %d-as þingsnis"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "Ákelti/Iðkelti darbus"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Neat_likti darbai"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Neatlikti darbai"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Susijæ darbai nebaigti, ið pradþiø baikite juos"
+
+#: config/prefs.php.dist:202
+msgid "Incomplete tasks"
+msgstr "Neatlikti darbai"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Paskutiná kartà redaguota"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Paþymëti \"%s\" kaip nebaigtà"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Paþymëti kaip nebaigtà"
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "Maksimalus darbø skaièius"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Meniu perspëjimai"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Meniu sàraðas"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minutë"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minutë(s)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Mënuo"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Daugiau nustatymø..."
+
+#: lib/api.php:986
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Kiti iCalendar komponentai nerasti; rastas tik vTodo modulis."
+
+#: templates/panel.inc:38
+msgid "My Tasklists:"
+msgstr "Mano darbø sàraðai:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Mano darbai"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "Pavad_inimas"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Pavad_inimas"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: nepavyko rasti darbo %s"
+
+#: data.php:52 lib/Forms/task.php:62
+msgid "Name"
+msgstr "Pavadinimas"
+
+#: templates/tasklists/tasklists.inc:68
+msgid "Name:"
+msgstr "Pavadinimas:"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:27
+msgid "New Task"
+msgstr "Naujas darbas"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Sekantis"
+
+#: config/prefs.php.dist:167
+msgid "No"
+msgstr "Ne"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Neatideliojamas"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Nëra pabaigos datos."
+
+#: lib/api.php:405 lib/api.php:709 lib/api.php:767 lib/api.php:979
+msgid "No iCalendar data was found."
+msgstr "iCalendar duomenø nëra."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Nesusieti su kitu darbu"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "Darbø sàraðø sveèiams nëra."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Atitinkanèiø darbø nëra"
+
+#: lib/Block/summary.php:222
+msgid "No tasks to display"
+msgstr "Darbø nëra"
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Nieko"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "Neatliktas"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Ne privatus"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Nerasta"
+
+#: config/prefs.php.dist:42
+msgid "Notifications"
+msgstr "Praneðimai"
+
+#: config/prefs.php.dist:169
+msgid "On all shown tasklists"
+msgstr "Visiems rodomiems darbø sàraðams"
+
+#: config/prefs.php.dist:170
+msgid "On all tasklists I have read access to"
+msgstr "Visiems darbø sàraðams, kuriuos að galiu skaityti"
+
+#: config/prefs.php.dist:168
+msgid "On my tasklists only"
+msgstr "Mano darbø sàraðams"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "_Sva"
+
+#: lib/Forms/task.php:69
+msgid "Parent task"
+msgstr "Susijæs darbas"
+
+#: templates/tasklists/tasklists.inc:71
+msgid "Permission"
+msgstr "Teisës"
+
+#: lib/api.php:683 lib/api.php:805 lib/api.php:860 lib/api.php:924
+#: lib/api.php:961
+msgid "Permission Denied"
+msgstr "Neuþtenka teisiø"
+
+#: lib/api.php:178
+msgid "Permission denied"
+msgstr "Neuþtenka teisiø"
+
+#: data.php:57 lib/Forms/task.php:87 templates/view/task.inc:30
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Priority"
+msgstr "Svarba"
+
+#: lib/Driver.php:902 templates/view/task.inc:14
+msgid "Private"
+msgstr "Privatus"
+
+#: lib/Driver.php:900
+msgid "Private Task"
+msgstr "Privatus darbas"
+
+#: lib/Forms/task.php:82 templates/view/task.inc:12
+msgid "Private?"
+msgstr "Privatus?"
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "Tikrai iðtrinti ðá darbà?"
+
+#: templates/tasklists/tasklists.inc:81
+msgid "Remote Subscription URL"
+msgstr "Iðorinë uþsisakymo URL nuoroda"
+
+#: lib/Forms/task.php:94 templates/panel.inc:57
+msgid "Save"
+msgstr "Iðsaugoti"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "%s iðsaugotas."
+
+#: search.php:14 lib/Block/tree_menu.php:47 templates/list/header.inc:4
+#: templates/search/search.inc:31
+msgid "Search"
+msgstr "Ieðkoti"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Ieðkoti:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Ieðkoti _teksto:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Ieðkoti:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Paieðka: \"%s\" rezultatai"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Pasirinkite datà"
+
+#: templates/tasklists/tasklists.inc:62
+msgid "Select a tasklist"
+msgstr "Pasirinkite darbø sàraðà"
+
+#: templates/tasklists/tasklists.inc:24 templates/tasklists/tasklists.inc:82
+msgid "Select a tasklist above to display the Remote Subscription URL"
+msgstr ""
+"Pasirinkite darbø sàraðà, kurio iðorinæ uþsisakymo URL nuorodà norite "
+"pamatyti"
+
+#: templates/tasklists/tasklists.inc:23 templates/tasklists/tasklists.inc:80
+msgid "Select a tasklist above to display the URL"
+msgstr "Pasirinkite darbø sàraðà, kurio URL nuorodà norite pamatyti"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Pasirinkite iðkëlimo formatà:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Pasirinkite ákeliamà failà:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Pasirinkite ákëliamo failo formatà:"
+
+#: templates/panel.inc:48
+msgid "Shared Tasklists:"
+msgstr "Bendri darbø sàraðai:"
+
+#: config/prefs.php.dist:69
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Ar rodyti darbø sàraðà atskirame stulpelyje darbø sàraðe?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Rodyti veiksmø mygtukus?"
+
+#: config/prefs.php.dist:204
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Rodyti atliktus, neatliktus, arba visus darbus darbø sàraðe?"
+
+#: config/prefs.php.dist:191
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Darbø sàraðe rodyti duomenis ið ðiø kitø moduliø?"
+
+#: config/prefs.php.dist:58
+msgid "Show data from other applications or sources."
+msgstr "Rodyti duomenis ið kitø moduliø."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Rodyti galiojimo datas?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Rodyti svarbà?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Rodyti perspëjimus?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Rodyti kategorijà?"
+
+#: config/prefs.php.dist:79
+msgid "Show task list options panel?"
+msgstr "Rodyti darbø sàraðo nustatymø pultà?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Rodyti darbø sàraðo pavadinimà?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Rodyti darbus ið ðiø kategorijø"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Rodyti darbus ið ðiø darbø sàraðø"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Rûðiuoti pagal kategorijà"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Rûðiuoti pagal atlikimo statusà"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Rûðiuoti pagal pabaigos datà"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Rûðiuoti pagal pavadinimà"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Rûðiuoti pagal svarbà"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Rûðiuoti pagal vartotojà"
+
+#: config/prefs.php.dist:120
+msgid "Sort direction:"
+msgstr "Rûðiavimo kryptis:"
+
+#: config/prefs.php.dist:94
+msgid "Sort tasks by:"
+msgstr "Rûðiuoti darbus pagal:"
+
+#: data.php:56
+msgid "Start"
+msgstr "Pradëti"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Pradþios data"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Nurodyta pradþios data."
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Perspëjimas"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Perspëjimas?"
+
+#: config/prefs.php.dist:28
+msgid "Task Defaults"
+msgstr "Standartiniai darbo nustatymai"
+
+#: lib/Forms/task.php:65
+msgid "Task List"
+msgstr "Darbø sàraðas"
+
+#: config/prefs.php.dist:34 config/prefs.php.dist:41 config/prefs.php.dist:56
+msgid "Task List and Share Options"
+msgstr "Darbø sàraðo ir dalijimosi nustatymai"
+
+#: tasklists.php:117
+msgid "Task Lists"
+msgstr "Darbø sàraðai"
+
+#: config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Task Name"
+msgstr "Darbo pavadinimas"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Pastaba"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Yra pastabø?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Darbo paieðka"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "Darbas sukurtas:"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "Darbas iðtrintas:"
+
+#: tasklists.php:32
+msgid "Task lists must have a name."
+msgstr "Darbø sàraðui reikia pavadinimo."
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "Darbas pakeistas:"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "Darbas nerastas."
+
+#: config/prefs.php.dist:93 config/prefs.php.dist:108
+msgid "Tasklist"
+msgstr "Darbø sàraðas"
+
+#: templates/panel.inc:30 templates/panel.inc:31
+#: templates/tasklists/tasklists.inc:58
+msgid "Tasklists"
+msgstr "Darbø sàraðai"
+
+#: templates/tasklists/tasklists.inc:60
+msgid "Tasklists:"
+msgstr "Darbø sàraðai:"
+
+#: lib/api.php:1041
+msgid "Tasks"
+msgstr "Darbai"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Trumpas turinys"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Faile %s nëra jokiø darbø."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Darbø posistemë ðiuo metu nepasiekiama."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Darbø posistemë ðiuo metu nepasiekiama: %s"
+
+#: lib/Forms/task.php:130
+msgid "The alarm value must not be empty."
+msgstr "Perspëjimo reikðmë negali bûti tuðèia."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Dabartinë valanda"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Darbas \"%s\" pridëtas prie \"%s\" darbø sàraðo, o jo pabaigos data: %s."
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"Darbas \"%s\" iðtrintas ið \"%s\" darbø sàraðo, o jo pabaigos data: %s."
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr "Darbas \"%s\" pakeistas \"%s\" darbø sàraðe, o jo pabaigos data: %s."
+
+#: tasklists.php:49
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Nepavyko sukurti darbø sàraðo \"%s\": %s"
+
+#: tasklists.php:60
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Darbø sàraðas \"%s\" neiðsaugotas: %s"
+
+#: tasklists.php:51
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Darbø sàraðas \"%s\" sukurtas."
+
+#: tasklists.php:85
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Darbø sàraðas \"%s\" iðtrintas."
+
+#: tasklists.php:62
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Darbø sàraðas \"%s\" iðsaugotas."
+
+#: config/prefs.php.dist:109
+msgid "Then:"
+msgstr "Tada:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Iðkëlimui duomenø nëra."
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Klaida baigiant %s: %s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Klaida trinant %s: %s"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Nepavyko iðsaugoti darbo: %s."
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Klaida ákeliant duomenis: %s"
+
+#: lib/api.php:397 lib/api.php:701 lib/api.php:973
+msgid "There was an error importing the iCalendar data."
+msgstr "Klaida ákeliant iCalendar duomenis."
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "Iðkëlimui duomenø nëra."
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "Failo formatas nepalaikomas."
+
+#: templates/tasklists/tasklists.inc:79
+msgid "URL"
+msgstr "URL"
+
+#: tasklists.php:81
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Negaliu iðtrinti \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Nepavyko uþkrauti %s apraðymo."
+
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Block/summary.php:31 lib/Block/summary.php:215 lib/Forms/task.php:78
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:62
+msgid "Unfiled"
+msgstr "Nenurodyta"
+
+#: lib/api.php:502 lib/api.php:774 lib/api.php:832 lib/api.php:886
+#: lib/api.php:1011
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Neþinoma Content-Type antraðtë: %s"
+
+#: lib/Driver.php:1079
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Norime priminti apie ðá vykdomà darbà.\n"
+"\n"
+"%s\n"
+"\n"
+"Data: %s\n"
+"Laikas: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Savaitë(s)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Koks vykdymo laikas turëtø bûti standartinis darbams?"
+
+#: config/prefs.php.dist:147
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Kuriant naujus darbus, uþ kiek dienø á prieká turëtø darbas prasidëti (0 "
+"reiðkia ðiandien)?"
+
+#: config/prefs.php.dist:138
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "Kuriant naujus darbus nurodyti darbo pradþià ir pabaigà?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Prie kurio darbø sàraðo pridëti darbus?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Metai"
+
+#: data.php:41 data.php:151 task.php:61
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Jûs neturite teisiø kurti daugiau nei %d darbø."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "Neturite teisiø perþiûrëti ðio darbø sàraðo."
+
+#: tasklists.php:88
+msgid "You must select a task list to be deleted."
+msgstr "Pasirinkite trinamà darbø sàraðà."
+
+#: templates/tasklists/tasklists.inc:47
+msgid "You must select a tasklist to be deleted."
+msgstr "Pasirinkite trinamà darbø sàraðà."
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Jûs pasirinkote bûti perspëtas, kai jûsø darbø sàraðe bus sukurti nauji "
+"darbai."
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Jûs pasirinkote bûti perspëtas, kai darbai ið jûsø darbø sàraðo bus iðtrinti."
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Jûs pasirinkote bûti perspëtas, kai darbai jûsø darbø sàraðe bus pakeisti."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Jûsø pagrindinis darbø sàraðas:"
+
+#: templates/panel.inc:43
+msgid "[Manage My Tasklists]"
+msgstr "[Valdyti mano darbø sàraðus]"
+
+#: lib/Block/summary.php:101 lib/Block/summary.php:199
+#: templates/list/task_summaries.inc:46
+msgid "[none]"
+msgstr "[nëra]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "Visi darbai"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "Visi _darbai"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Kategorija"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "_Atlikta"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "_Atlikti darbai"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "_Iðtrinti"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "_Apraðymas"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "Atlikimo data"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "_Redaguoti"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Bûsimi darbai"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "Ákelti/Iðkelti"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "_Darbø sàraðas"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "Na_ujas darbas"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "_Spausdinti"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "I_eðkoti"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Darbø sàraðas"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "am"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:37
+#, php-format
+msgid "in %s"
+msgstr "%s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "nenustatytas laikas"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "pm"
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "darbai.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "darbai.ics"
--- /dev/null
+# Latvian translations for Nag package.
+# Copyright 2004-2009 The Horde Project
+# This file is distributed under the same license as the Nag package.
+# Automatically generated, 2004.
+#
+# Current version for Latvian does not contain shortcuts!!!
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 1.1.1\n"
+"POT-Creation-Date: 2004-11-17 12:36+0100\n"
+"PO-Revision-Date: 2004-11-19 15:50+0200\n"
+"Last-Translator: Janis Eisaks <jancs@dv.lv>\n"
+"Language-Team: i18n@lists.horde.org\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CP1257\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: lib/Nag.php:48
+msgid "%d hour"
+msgstr "%d stunda"
+
+#: lib/Nag.php:50
+msgid "%d hour, %d minute"
+msgstr "%d stunda, %d minûte"
+
+#: lib/Nag.php:52
+msgid "%d hour, %d minutes"
+msgstr "%d stunda, %d minûtes"
+
+#: lib/Nag.php:40
+msgid "%d hours"
+msgstr "%d stundas"
+
+#: lib/Nag.php:42
+msgid "%d hours, %d minute"
+msgstr "%d stundas, %d minûte"
+
+#: lib/Nag.php:44
+msgid "%d hours, %d minutes"
+msgstr "%d stundas, %d minûtes"
+
+#: lib/Nag.php:58
+msgid "%d minute"
+msgstr "%d minûte"
+
+#: lib/Nag.php:60
+msgid "%d minutes"
+msgstr "%d minûtes"
+
+#: templates/list/header.inc:9
+msgid "%d tasks"
+msgstr "%d uzdevumi"
+
+#: lib/Nag.php:341
+msgid "%s at %s"
+msgstr "%s plkst. %s"
+
+#: lib/Nag.php:458 lib/Block/summary.php:92
+msgid "%s is due in %s"
+msgstr "%s sâkas pçc %s"
+
+#: lib/Nag.php:456 lib/Block/summary.php:90
+#, fuzzy
+msgid "%s is due now."
+msgstr "%s jau sâkas"
+
+#: data.php:140
+msgid "%s successfully imported"
+msgstr "%s veiksmîgi importçts"
+
+#: tasklists.php:121 lib/base.php:97
+msgid "%s's Task List"
+msgstr "%s: uzdevumu saraksts"
+
+#: lib/Nag.php:289
+msgid "(highest)"
+msgstr "(augstâkâ)"
+
+#: lib/Nag.php:289
+msgid "(lowest)"
+msgstr "(zemâkâ)"
+
+#: templates/list/header.inc:9
+msgid "1 task"
+msgstr "1 uzdevums"
+
+#: task.php:258
+msgid "Access denied completing task %s."
+msgstr ""
+
+#: task.php:232
+msgid "Access denied deleting %s."
+msgstr ""
+
+#: task.php:198
+msgid "Access denied moving the task to %s."
+msgstr ""
+
+#: task.php:201
+msgid "Access denied removing task from %s."
+msgstr ""
+
+#: task.php:133
+msgid "Access denied saving task to %s."
+msgstr ""
+
+#: task.php:131
+msgid "Access denied saving task: %s"
+msgstr ""
+
+#: task.php:58
+msgid "Adding A New Task"
+msgstr "Pievienot uzdevumu"
+
+#: templates/task/task.inc:70
+msgid "Ala_rm"
+msgstr "Atgâdinâjums"
+
+#: templates/view/task.inc:37
+msgid "Alarm"
+msgstr "Atgâdinâjums"
+
+#: config/prefs.php.dist:101
+msgid "All tasks"
+msgstr "Visi uzdevumi"
+
+#: lib/Block/summary.php:55
+msgid "Always show completed tasks?"
+msgstr "Vienmçr radît pabeigtos uzdevumus?"
+
+#: lib/Block/summary.php:52
+msgid "Always show overdue tasks?"
+msgstr "Vienmçr râdît iekavçtos uzdevumus?"
+
+#: config/prefs.php.dist:78
+msgid "Ascending"
+msgstr "Augoði"
+
+#: templates/tasklists/tasklists.inc:106
+msgid "Back to Task List Options"
+msgstr "Atgriezties pie Uzdevumu opcijâm"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:59
+msgid "Calendar"
+msgstr "Kalendârs"
+
+#: templates/list/task_headers.inc:30
+msgid "Cat_egory"
+msgstr "Kategorija"
+
+#: data.php:42 templates/view/task.inc:29 config/prefs.php.dist:50
+#: config/prefs.php.dist:65
+msgid "Category"
+msgstr "Kategorija"
+
+#: templates/tasklists/tasklists.inc:22 templates/tasklists/tasklists.inc:103
+msgid "Change"
+msgstr "Mainît"
+
+#: templates/list/task_headers.inc:4 templates/list/task_headers.inc:8
+#: templates/list/task_headers.inc:12 templates/list/task_headers.inc:19
+#: templates/list/task_headers.inc:25 templates/list/task_headers.inc:29
+msgid "Change sort direction"
+msgstr "Mainît ðíiroðanas kârtîbu"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Mainît uzdevumu ðíiroðanas un ekrâna iestatîjumus."
+
+#: templates/search/search.inc:33
+msgid "Clear Form"
+msgstr "Notîrît formu"
+
+#: templates/task/task.inc:91
+msgid "Co_mpleted?"
+msgstr "Izpildîts?"
+
+#: templates/view/task.inc:13
+msgid "Complete"
+msgstr "Izpildît"
+
+#: templates/list/task_summaries.inc:4 lib/Block/summary.php:146
+msgid "Complete Task"
+msgstr "Beigt uzdevumu"
+
+#: config/prefs.php.dist:103
+msgid "Complete tasks"
+msgstr "Beigt uzdevumus"
+
+#: lib/Nag.php:356 lib/Block/summary.php:144
+msgid "Completed"
+msgstr "Izpildîts"
+
+#: task.php:267
+msgid "Completed %s."
+msgstr "%s izpildîts."
+
+#: templates/view/task.inc:45 templates/list/task_headers.inc:5
+#: config/prefs.php.dist:52 config/prefs.php.dist:67
+msgid "Completed?"
+msgstr "Izpildîts?"
+
+#: data.php:45
+msgid "Completion Status"
+msgstr "Izpildes statuss"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:103
+#: templates/tasklists/tasklists.inc:105
+msgid "Create"
+msgstr "Izveidot"
+
+#: templates/view/task.inc:51
+msgid "Created"
+msgstr "Izveidots"
+
+#: templates/task/task.inc:79 lib/Nag.php:387
+msgid "Day(s)"
+msgstr "Diena(s)"
+
+#: templates/tasklists/tasklists.inc:104 templates/view/task.inc:18
+msgid "Delete"
+msgstr "Dzçst"
+
+#: task.php:240
+msgid "Deleted %s."
+msgstr "%s izdzçsts."
+
+#: config/prefs.php.dist:79
+msgid "Descending"
+msgstr "Dilstoði"
+
+#: data.php:41
+msgid "Description"
+msgstr "Apraksts"
+
+#: templates/tasklists/tasklists.inc:88
+msgid "Description:"
+msgstr "Apraksts:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Ekrâna iestatîjumi"
+
+#: data.php:43 templates/view/task.inc:33
+msgid "Due By"
+msgstr "Izpildît lîdz"
+
+#: config/prefs.php.dist:51 config/prefs.php.dist:66
+msgid "Due Date"
+msgstr "Izpildît lîdz"
+
+#: templates/task/task.inc:45
+msgid "Due _By"
+msgstr "Izpildît lîdz"
+
+#: templates/view/task.inc:15
+msgid "Edit"
+msgstr "Labot"
+
+#: templates/list/task_summaries.inc:15 templates/list/task_headers.inc:16
+#: lib/Block/summary.php:142
+msgid "Edit Task"
+msgstr "Labot uzdevumu"
+
+#: config/prefs.php.dist:133
+msgid "Edit your task lists."
+msgstr "Labot uzdevumu sarakstus."
+
+#: templates/data/export.inc:22
+msgid "Export"
+msgstr "Eksportçt"
+
+#: templates/data/export.inc:8
+msgid "Export Tasks"
+msgstr "Eksportçt uzdevumus"
+
+#: config/prefs.php.dist:36
+msgid "External Data"
+msgstr "Ârçjie dati"
+
+#: config/prefs.php.dist:13
+msgid "General Options"
+msgstr "Vispârçjâs opcijas"
+
+#: templates/task/task.inc:78 lib/Nag.php:390
+msgid "Hour(s)"
+msgstr "Stunda(s)"
+
+#: templates/data/import.inc:9
+msgid "Import Tasks, Step %d"
+msgstr "Uzdevumu imports, %d. solis"
+
+#: data.php:146
+msgid "Import/Export Tasks"
+msgstr "Uzdevumu imports/eksports"
+
+#: list.php:77
+msgid "Incom_plete tasks"
+msgstr "Neizpildîtie uzdevumi"
+
+#: config/prefs.php.dist:102
+msgid "Incomplete tasks"
+msgstr "Neizpildîtie uzdevumi"
+
+#: templates/view/task.inc:58
+msgid "Last Modified"
+msgstr "Pçdçjâs izmaiòas"
+
+#: config/prefs.php.dist:22
+msgid "Manage multiple task lists."
+msgstr "Vadît vairâkus uzdevumu sarakstus."
+
+#: templates/task/task.inc:77 lib/Nag.php:393
+msgid "Minute(s)"
+msgstr "Minûte(s)"
+
+#: task.php:115
+msgid "Modifying:"
+msgstr "Labojam:"
+
+#: lib/api.php:282 lib/api.php:465
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Atrasti vairâki iCalendar komponenti; atbalstîts ir tikai vTodo."
+
+#: list.php:40
+msgid "My Tasks"
+msgstr "Uzdevumi"
+
+#: templates/search/search.inc:21 templates/task/task.inc:14
+msgid "N_ame"
+msgstr "Vârds"
+
+#: templates/list/task_headers.inc:20
+#, fuzzy
+msgid "Na_me"
+msgstr "Vârds"
+
+#: data.php:40
+msgid "Name"
+msgstr "Nosaukums"
+
+#: lib/Block/summary.php:18
+msgid "New Task"
+msgstr "Jauns"
+
+#: templates/data/import.inc:43
+msgid "Next"
+msgstr "Nâkamais"
+
+#: lib/Nag.php:19
+msgid "No"
+msgstr "Nav"
+
+#: templates/task/task.inc:48
+msgid "No due date."
+msgstr "Nav beigu datuma."
+
+#: lib/api.php:275 lib/api.php:458
+msgid "No iCalendar data was found."
+msgstr "iCalendar dati netika atrasti."
+
+#: lib/Nag.php:472
+msgid "No task lists are available to guests."
+msgstr "Nav viesiem pieejamu uzdevumu sarakstu."
+
+#: lib/Block/summary.php:186
+msgid "No tasks to display"
+msgstr "Jûsu uzdevumu saraksts ir tukðs."
+
+#: templates/task/task.inc:73 lib/Nag.php:397
+msgid "None"
+msgstr "Nav"
+
+#: lib/Nag.php:357
+msgid "Not Completed"
+msgstr "Neizpildîts"
+
+#: config/prefs.php.dist:53 config/prefs.php.dist:68
+msgid "Owner"
+msgstr "Îpaðnieks"
+
+#: templates/list/task_headers.inc:13
+#, fuzzy
+msgid "P_ri"
+msgstr "Pri"
+
+#: templates/tasklists/tasklists.inc:94
+msgid "Permission"
+msgstr "Pieejas tiesîbas"
+
+#: lib/api.php:254 lib/api.php:339 lib/api.php:410 lib/api.php:441
+msgid "Permission Denied"
+msgstr "Pieeja liegta"
+
+#: lib/api.php:86
+msgid "Permission denied"
+msgstr "Pieeja liegta"
+
+#: data.php:44 templates/view/task.inc:41 config/prefs.php.dist:48
+#: config/prefs.php.dist:63
+msgid "Priority"
+msgstr "Prioritâte"
+
+#: templates/list/header.inc:5 templates/list/header.inc:6
+msgid "Refresh List"
+msgstr "Atjaunot sarakstu"
+
+#: templates/tasklists/tasklists.inc:105
+msgid "Reset"
+msgstr "Atsâkt"
+
+#: templates/task/task.inc:108
+msgid "Save Task"
+msgstr "Saglabât uzdevumu"
+
+#: task.php:215
+msgid "Saved %s."
+msgstr "%s saglabâts."
+
+#: search.php:14 templates/search/search.inc:5 templates/search/search.inc:32
+msgid "Search"
+msgstr "Meklçt"
+
+#: list.php:63
+msgid "Search Results"
+msgstr "Meklçðanas rezultâti"
+
+#: templates/search/search.inc:18
+msgid "Search Scope"
+msgstr "Meklçðanas sfçra"
+
+#: templates/search/search.inc:10
+msgid "Search _Text"
+msgstr "Meklçt tekstu"
+
+#: templates/task/task.inc:59
+msgid "Select a date"
+msgstr "Izvçlieties datumu"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Izvçlies uzdevumu sarakstu"
+
+#: templates/data/export.inc:15
+msgid "Select the export format:"
+msgstr "Izvçlieties eksporta formâtu:"
+
+#: templates/data/import.inc:40
+msgid "Select the file to import:"
+msgstr "Izvçlieties importçjamo failu:"
+
+#: templates/data/import.inc:16
+#, fuzzy
+msgid "Select the format of the source file:"
+msgstr "Izvçlieties importçjamâ faila formâtu:"
+
+#: templates/menu.inc:8
+msgid "Show"
+msgstr "Râdît"
+
+#: templates/menu.inc:14
+msgid "Show Tasklists:"
+msgstr "Râdît sarakstus:"
+
+#: lib/Block/summary.php:37
+msgid "Show action buttons?"
+msgstr "Râdît darbîbu pogas?"
+
+#: config/prefs.php.dist:104
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Radît izpildîtos, neizpildîtos vai visus uzdevumus kopçjâ sarakstâ?"
+
+#: config/prefs.php.dist:91
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Vai râdît Jûsu uzdevu sarakstâ datus no kâda no ðiem moduïiem?"
+
+#: config/prefs.php.dist:37
+msgid "Show data from other applications or sources."
+msgstr "Râdît citu moduïu vai avotu datus."
+
+#: lib/Block/summary.php:40
+msgid "Show due dates?"
+msgstr "Râdît beigu datumus?"
+
+#: lib/Block/summary.php:34
+msgid "Show priorities?"
+msgstr "Râdît uzdevumu prioritâti?"
+
+#: lib/Block/summary.php:46
+msgid "Show task alarms?"
+msgstr "Râdît uzdevumu atgâdinâjumus??"
+
+#: lib/Block/summary.php:49
+msgid "Show task category?"
+msgstr "Râdît uzdevumu kategorijas?"
+
+#: lib/Block/summary.php:43
+msgid "Show tasklist name?"
+msgstr "Râdît uzdevumu saraksta nosaukumu?"
+
+#: lib/Block/summary.php:58
+msgid "Show tasks from these categories"
+msgstr "Râdît ðo kategoriju uzdevumus?"
+
+#: templates/list/task_headers.inc:30
+msgid "Sort by Category"
+msgstr "Ðíirot pçc kategorijâm"
+
+#: templates/list/task_headers.inc:5
+msgid "Sort by Completion Status"
+msgstr "Ðíirot pçc izpildes statusa"
+
+#: templates/list/task_headers.inc:26
+msgid "Sort by Due Date"
+msgstr "Ðíirot pçc beigu datuma"
+
+#: templates/list/task_headers.inc:20
+msgid "Sort by Name"
+msgstr "Ðíirot pçc nosaukuma"
+
+#: templates/list/task_headers.inc:13
+msgid "Sort by Priority"
+msgstr "Ðíirot pçc prioritâtes"
+
+#: templates/list/task_headers.inc:9
+msgid "Sort by User Name"
+msgstr "Ðíirot pçc lietotâja vârda"
+
+#: config/prefs.php.dist:80
+msgid "Sort direction:"
+msgstr "Ðíiroðanas kârtîba"
+
+#: config/prefs.php.dist:54
+msgid "Sort tasks by:"
+msgstr "Ðíirot uzdevumus pçc:"
+
+#: templates/list/task_summaries.inc:22
+msgid "Task Alarm"
+msgstr "Uzdevuma atgâdinâjums"
+
+#: templates/list/task_headers.inc:23
+msgid "Task Alarm?"
+msgstr "Uzdevuma atgâdinâjums?"
+
+#: view.php:73
+msgid "Task Details"
+msgstr "Uzdevuma izklâsts"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Uzdevumu saraksts"
+
+#: config/prefs.php.dist:20 config/prefs.php.dist:35
+msgid "Task List and Share Options"
+msgstr "Uzdevumu saraksta un koplietoðanas opcijas"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Uzdevumu saraksta nosaukums:"
+
+#: tasklists.php:132 config/prefs.php.dist:21
+msgid "Task Lists"
+msgstr "Uzdevumu saraksti"
+
+#: config/prefs.php.dist:49 config/prefs.php.dist:64
+msgid "Task Name"
+msgstr "Uzdevuma nosaukums"
+
+#: templates/list/task_summaries.inc:20
+msgid "Task Note"
+msgstr "Uzdevuma piezîme"
+
+#: templates/list/task_headers.inc:22
+msgid "Task Note?"
+msgstr "Uzdevuma piezîme?"
+
+#: task.php:117 view.php:43
+msgid "Task not found."
+msgstr "Uzdevums nav atrasts"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Kopsavilkums"
+
+#: tasklists.php:66
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Uzdevumu \"%s\" nevar radît: %s "
+
+#: tasklists.php:77
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Uzdevumu sarakstu \"%s\" nevar saglabât: %s"
+
+#: tasklists.php:68
+msgid "The task list \"%s\" has been created."
+msgstr "Uzdevumu saraksts \"%s\" radîts."
+
+#: tasklists.php:102
+msgid "The task list \"%s\" has been deleted."
+msgstr "Uzdevumu saraksts \"%s\" izdzçsts."
+
+#: tasklists.php:79
+msgid "The task list \"%s\" has been saved."
+msgstr "Uzdevumu saraksts \"%s\" saglabâts."
+
+#: tasklists.php:49
+msgid "The task list name is empty."
+msgstr "Uzdevumu saraksta nosaukums ir tukðs."
+
+#: config/prefs.php.dist:69
+msgid "Then:"
+msgstr "Tad:"
+
+#: templates/list/empty.inc:3
+msgid "There are no tasks matching the current criteria."
+msgstr "Neviens uzdevums neatbilst ðim kritçrijam."
+
+#: task.php:264
+msgid "There was a problem completing %s: %s"
+msgstr "Kïûme reìistrçjot izpildi %s: %s"
+
+#: task.php:237
+#, fuzzy
+msgid "There was a problem deleting %s: %s"
+msgstr "Kïûme dzçðot %s: %s"
+
+#: task.php:213
+#, fuzzy
+msgid "There was a problem saving the task: %s."
+msgstr "Kïûme pierakstot uzdevumu: %s."
+
+#: data.php:137
+#, fuzzy
+msgid "There was an error importing the data: %s"
+msgstr "Kïûda importçjot datus: %s"
+
+#: lib/api.php:269 lib/api.php:452
+#, fuzzy
+msgid "There was an error importing the iCalendar data."
+msgstr "Kïûda importçjot iCalendar datus."
+
+#: data.php:66
+msgid "There were no tasks to export."
+msgstr "Nav eksportçjamu uzdevumu."
+
+#: data.php:105
+msgid "This file format is not supported."
+msgstr "Faila formâts netiek atbalstîts."
+
+#: tasklists.php:98
+msgid "Unable to delete \"%s\": %s"
+msgstr "Nevar izdzçst \"%s\": %s"
+
+#: templates/task/task.inc:109
+msgid "Undo Changes"
+msgstr "Atcelt izmaiòas"
+
+#: templates/view/task.inc:30 templates/list/task_summaries.inc:27
+#: scripts/upgrades/2004-05-13_convert_categories_to_strings.php:50
+#: lib/Block/summary.php:179
+msgid "Unfiled"
+msgstr "Neklasificçts"
+
+#: lib/api.php:301 lib/api.php:374 lib/api.php:485
+msgid "Unsupported Content-Type."
+msgstr "Neatbalstîts datu tips."
+
+#: templates/list/task_summaries.inc:19
+msgid "View Task Details"
+msgstr "Skatît uzdevuma aprakstu"
+
+#: templates/task/task.inc:80 lib/Nag.php:384
+msgid "Week(s)"
+msgstr "Nedçïa(s)"
+
+#: templates/data/import.inc:24
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Kuram uzdevumu sarakstam pievienot importçtos uzdevumus?"
+
+#: lib/Nag.php:20
+msgid "Yes"
+msgstr "Jâ"
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Jums nav tiesîbu piekïût ðim uzdevumu sarakstam."
+
+#: tasklists.php:105 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Jâizvçlas dzçðamais uzdevumu saraksts."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Jûsu pamata uzdevumu saraksts:"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Jûsu uzdevumu saraksti:"
+
+#: templates/list/task_summaries.inc:19 lib/Block/summary.php:88
+#: lib/Block/summary.php:169
+msgid "[none]"
+msgstr "[nav]"
+
+#: list.php:76
+msgid "_All tasks"
+msgstr "Visi uzdevumi"
+
+#: templates/search/search.inc:23 templates/task/task.inc:41
+msgid "_Category"
+msgstr "Kategorija"
+
+#: templates/view/task.inc:13
+msgid "_Complete"
+msgstr "Izpildît"
+
+#: list.php:78
+msgid "_Completed tasks"
+msgstr "Izpildîtie uzdevumi"
+
+#: templates/view/task.inc:18
+msgid "_Delete"
+msgstr "Dzçst"
+
+#: templates/search/search.inc:22 templates/task/task.inc:97
+msgid "_Description"
+msgstr "Apraksts"
+
+#: templates/list/task_headers.inc:26
+msgid "_Due Date"
+msgstr "Izpildes datums"
+
+#: templates/view/task.inc:15
+msgid "_Edit"
+msgstr "Labot"
+
+#: lib/Nag.php:422
+#, fuzzy
+msgid "_Import/Export"
+msgstr "Importçt/Eksportçt"
+
+#: lib/Nag.php:414
+msgid "_List Tasks"
+msgstr "Saraksts"
+
+#: lib/Nag.php:416
+msgid "_New Task"
+msgstr "Jauns"
+
+#: lib/Nag.php:427
+msgid "_Print"
+msgstr "Drukât"
+
+#: templates/task/task.inc:85
+msgid "_Priority"
+msgstr "Prioritâte"
+
+#: lib/Nag.php:418
+msgid "_Search"
+msgstr "Meklçt"
+
+#: templates/task/task.inc:22 templates/list/task_headers.inc:9
+msgid "_Task List"
+msgstr "Uzdevumu saraksts"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:56
+msgid "no time"
+msgstr "laiks nav norâdîts"
+
+#: data.php:78 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "uzdevumi.csv"
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright YEAR Horde Project
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-08-01 10:44+0200\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: templates/view/task.inc:39
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr ""
+
+#: lib/Nag.php:76
+#, php-format
+msgid "%d hour"
+msgstr ""
+
+#: lib/Nag.php:78
+#, php-format
+msgid "%d hour, %d minute"
+msgstr ""
+
+#: lib/Nag.php:80
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr ""
+
+#: lib/Nag.php:68
+#, php-format
+msgid "%d hours"
+msgstr ""
+
+#: lib/Nag.php:70
+#, php-format
+msgid "%d hours, %d minute"
+msgstr ""
+
+#: lib/Nag.php:72
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr ""
+
+#: lib/Nag.php:86
+#, php-format
+msgid "%d minute"
+msgstr ""
+
+#: lib/Nag.php:88
+#, php-format
+msgid "%d minutes"
+msgstr ""
+
+#: lib/Nag.php:398
+#, php-format
+msgid "%s at %s"
+msgstr ""
+
+#: lib/Nag.php:658 lib/Block/tree_alarms.php:41 lib/Block/summary.php:124
+#, php-format
+msgid "%s is due in %s"
+msgstr ""
+
+#: lib/Nag.php:656 lib/Block/tree_alarms.php:43 lib/Block/summary.php:121
+#, php-format
+msgid "%s is due now."
+msgstr ""
+
+#: task.php:222
+#, php-format
+msgid "%s is now incomplete."
+msgstr ""
+
+#: data.php:218
+#, php-format
+msgid "%s successfully imported"
+msgstr ""
+
+#: lib/Nag.php:584 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr ""
+
+#: lib/Nag.php:349 lib/Forms/task.php:84
+msgid "(highest)"
+msgstr ""
+
+#: lib/Nag.php:349 lib/Forms/task.php:85
+msgid "(lowest)"
+msgstr ""
+
+#: task.php:206
+#, php-format
+msgid "Access denied completing task %s."
+msgstr ""
+
+#: task.php:27
+msgid "Access denied deleting task."
+msgstr ""
+
+#: task.php:91 task.php:97
+msgid "Access denied editing task."
+msgstr ""
+
+#: task.php:89
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr ""
+
+#: lib/Driver.php:347
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr ""
+
+#: lib/Driver.php:350
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr ""
+
+#: task.php:132
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr ""
+
+#: task.php:128
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr ""
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:115
+msgid "Alarm"
+msgstr ""
+
+#: templates/data/export.inc:34 config/prefs.php.dist:208
+msgid "All tasks"
+msgstr ""
+
+#: lib/Block/summary.php:76
+msgid "Always show completed and future tasks?"
+msgstr ""
+
+#: lib/Block/summary.php:72
+msgid "Always show overdue tasks?"
+msgstr ""
+
+#: config/prefs.php.dist:125
+msgid "Ascending"
+msgstr ""
+
+#: data.php:55 templates/view/task.inc:12 templates/list/task_headers.inc:56
+#: lib/Forms/task.php:110 config/prefs.php.dist:71 config/prefs.php.dist:98
+#: config/prefs.php.dist:114
+msgid "Assignee"
+msgstr ""
+
+#: lib/Block/summary.php:44
+msgid "Block title"
+msgstr ""
+
+#: data.php:30
+msgid "CSV"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr ""
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr ""
+
+#: templates/list/task_headers.inc:60
+msgid "Cat_egory"
+msgstr ""
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:102
+#: lib/Forms/task.php:107 config/prefs.php.dist:73 config/prefs.php.dist:95
+#: config/prefs.php.dist:111
+msgid "Category"
+msgstr ""
+
+#: templates/tasklist_list.php:33 tasklists/index.php:56
+msgid "Change Permissions"
+msgstr ""
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr ""
+
+#: lib/Nag.php:860
+#, php-format
+msgid "Changed alarm from %s to %s"
+msgstr ""
+
+#: lib/Nag.php:839
+#, php-format
+msgid "Changed assignee from \"%s\" to \"%s\""
+msgstr ""
+
+#: lib/Nag.php:823
+#, php-format
+msgid "Changed category from \"%s\" to \"%s\""
+msgstr ""
+
+#: lib/Nag.php:875
+#, php-format
+msgid "Changed completion from %s to %s"
+msgstr ""
+
+#: lib/Nag.php:880
+msgid "Changed description"
+msgstr ""
+
+#: lib/Nag.php:848
+#, php-format
+msgid "Changed due date from %s to %s"
+msgstr ""
+
+#: lib/Nag.php:870
+#, php-format
+msgid "Changed estimate from %s to %s"
+msgstr ""
+
+#: lib/Nag.php:800
+#, php-format
+msgid "Changed name from \"%s\" to \"%s\""
+msgstr ""
+
+#: lib/Nag.php:815
+#, php-format
+msgid "Changed parent task from \"%s\" to \"%s\""
+msgstr ""
+
+#: lib/Nag.php:865
+#, php-format
+msgid "Changed priority from %s to %s"
+msgstr ""
+
+#: lib/Nag.php:854
+#, php-format
+msgid "Changed start date from %s to %s"
+msgstr ""
+
+#: lib/Nag.php:806
+#, php-format
+msgid "Changed task list from \"%s\" to \"%s\""
+msgstr ""
+
+#: lib/Nag.php:797
+msgid "Changes made for this task:"
+msgstr ""
+
+#: config/prefs.php.dist:187
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr ""
+
+#: config/prefs.php.dist:178
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+
+#: config/prefs.php.dist:43
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+
+#: config/prefs.php.dist:36
+msgid "Choose your default task list."
+msgstr ""
+
+#: templates/tasklist_list.php:29 templates/tasklist_list.php:30
+msgid "Click or copy this URL to display this task list"
+msgstr ""
+
+#: templates/panel.inc:44
+msgid "Close"
+msgstr ""
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr ""
+
+#: view.php:114
+msgid "Complete"
+msgstr ""
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:192
+#, php-format
+msgid "Complete \"%s\""
+msgstr ""
+
+#: templates/view/task.inc:46
+msgid "Complete Task"
+msgstr ""
+
+#: config/prefs.php.dist:210
+msgid "Complete tasks"
+msgstr ""
+
+#: lib/Nag.php:413 lib/Block/summary.php:190
+msgid "Completed"
+msgstr ""
+
+#: task.php:220
+#, php-format
+msgid "Completed %s."
+msgstr ""
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr ""
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr ""
+
+#: templates/data/export.inc:37
+msgid "Completed tasks"
+msgstr ""
+
+#: templates/view/task.inc:42 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:121 config/prefs.php.dist:97 config/prefs.php.dist:113
+msgid "Completed?"
+msgstr ""
+
+#: data.php:63
+msgid "Completion Date"
+msgstr ""
+
+#: data.php:62
+msgid "Completion Status"
+msgstr ""
+
+#: lib/api.php:504 lib/api.php:753
+#, php-format
+msgid "Connection failed: %s"
+msgstr ""
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr ""
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr ""
+
+#: templates/tasklist_list.php:9
+msgid "Create a new Task List"
+msgstr ""
+
+#: templates/view/task.inc:61
+msgid "Created"
+msgstr ""
+
+#: lib/Recurrence.php:199
+msgid "Daily"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr ""
+
+#: lib/Nag.php:445 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr ""
+
+#: config/prefs.php.dist:35
+msgid "Default Task List"
+msgstr ""
+
+#: config/prefs.php.dist:29
+msgid "Defaults for new tasks"
+msgstr ""
+
+#: lib/Forms/task.php:114
+msgid "Delay Start Until"
+msgstr ""
+
+#: view.php:121 templates/tasklist_list.php:35 tasklists/index.php:57
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr ""
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr ""
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr ""
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr ""
+
+#: task.php:112 lib/Forms/task.php:126 lib/Forms/task.php:153
+msgid "Delete this task"
+msgstr ""
+
+#: task.php:37
+#, php-format
+msgid "Deleted %s."
+msgstr ""
+
+#: lib/api.php:735
+msgid "Deleting entire tasklists is not supported."
+msgstr ""
+
+#: config/prefs.php.dist:126
+msgid "Descending"
+msgstr ""
+
+#: data.php:53 lib/Forms/task.php:122
+msgid "Description"
+msgstr ""
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr ""
+
+#: templates/tasklist_list.php:18
+msgid "Display URL"
+msgstr ""
+
+#: config/prefs.php.dist:136
+msgid "Do you want to confirm deleting entries?"
+msgstr ""
+
+#: data.php:56 templates/view/task.inc:26 lib/Forms/task.php:113
+msgid "Due By"
+msgstr ""
+
+#: config/prefs.php.dist:72 config/prefs.php.dist:96 config/prefs.php.dist:112
+msgid "Due Date"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr ""
+
+#: view.php:117 templates/tasklist_list.php:31 tasklists/index.php:55
+msgid "Edit"
+msgstr ""
+
+#: templates/list/task_summaries.inc:39 lib/Block/summary.php:182
+#, php-format
+msgid "Edit \"%s\""
+msgstr ""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr ""
+
+#: templates/list/task_headers.inc:43
+msgid "Edit Task"
+msgstr ""
+
+#: templates/list/task_headers.inc:65
+msgid "Edit categories and colors"
+msgstr ""
+
+#: task.php:102 task.php:116
+#, php-format
+msgid "Edit: %s"
+msgstr ""
+
+#: task.php:20
+#, php-format
+msgid "Error deleting task: %s"
+msgstr ""
+
+#: data.php:61 templates/view/task.inc:38 lib/Forms/task.php:120
+msgid "Estimated Time"
+msgstr ""
+
+#: templates/data/export.inc:41
+msgid "Export"
+msgstr ""
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr ""
+
+#: config/prefs.php.dist:57
+msgid "External Data"
+msgstr ""
+
+#: templates/data/export.inc:36
+msgid "Future tasks"
+msgstr ""
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:20 config/prefs.php.dist:27
+msgid "General Options"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr ""
+
+#: lib/Nag.php:448 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr ""
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr ""
+
+#: data.php:224
+msgid "Import/Export Tasks"
+msgstr ""
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr ""
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr ""
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr ""
+
+#: templates/data/export.inc:35 config/prefs.php.dist:209
+msgid "Incomplete tasks"
+msgstr ""
+
+#: lib/api.php:432
+msgid "Invalid tasklist file requested."
+msgstr ""
+
+#: lib/api.php:571
+msgid "Invalid tasklist name supplied."
+msgstr ""
+
+#: lib/api.php:448
+msgid "Invalid tasklist requested."
+msgstr ""
+
+#: templates/view/task.inc:68
+msgid "Last Modified"
+msgstr ""
+
+#: templates/tasklist_list.php:2 tasklists/index.php:61
+msgid "Manage Task Lists"
+msgstr ""
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr ""
+
+#: templates/view/task.inc:48
+msgid "Mark as incomplete"
+msgstr ""
+
+#: lib/api.php:125
+msgid "Maximum Number of Tasks"
+msgstr ""
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr ""
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr ""
+
+#: lib/Nag.php:451 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr ""
+
+#: lib/Recurrence.php:202
+msgid "Monthly"
+msgstr ""
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr ""
+
+#: lib/api.php:1213
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+
+#: templates/panel.inc:72
+msgid "My Task Lists:"
+msgstr ""
+
+#: list.php:34
+msgid "My Tasks"
+msgstr ""
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr ""
+
+#: templates/list/task_headers.inc:46
+msgid "Na_me"
+msgstr ""
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr ""
+
+#: data.php:52 lib/Forms/task.php:91
+msgid "Name"
+msgstr ""
+
+#: task.php:81 task.php:116 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr ""
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr ""
+
+#: config/prefs.php.dist:174
+msgid "No"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr ""
+
+#: lib/api.php:602 lib/api.php:949 lib/api.php:1007 lib/api.php:1206
+msgid "No iCalendar data was found."
+msgstr ""
+
+#: lib/Forms/task.php:53
+msgid "No parent task"
+msgstr ""
+
+#: lib/Recurrence.php:198
+msgid "No recurrence"
+msgstr ""
+
+#: lib/Nag.php:673
+msgid "No task lists are available to guests."
+msgstr ""
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr ""
+
+#: lib/Block/summary.php:250
+msgid "No tasks to display"
+msgstr ""
+
+#: lib/Nag.php:455 lib/Forms/task.php:111 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr ""
+
+#: lib/Nag.php:414
+msgid "Not Completed"
+msgstr ""
+
+#: templates/view/task.inc:18
+msgid "Not Private"
+msgstr ""
+
+#: lib/api.php:809
+msgid "Not configured"
+msgstr ""
+
+#: config/prefs.php.dist:42
+msgid "Notifications"
+msgstr ""
+
+#: config/prefs.php.dist:176
+msgid "On all shown task lists"
+msgstr ""
+
+#: config/prefs.php.dist:177
+msgid "On all task lists I have read access to"
+msgstr ""
+
+#: config/prefs.php.dist:175
+msgid "On my task lists only"
+msgstr ""
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr ""
+
+#: lib/Forms/task.php:98
+msgid "Parent task"
+msgstr ""
+
+#: lib/api.php:818 lib/api.php:856 lib/api.php:889 lib/api.php:924
+#: lib/api.php:1043 lib/api.php:1093 lib/api.php:1155 lib/api.php:1190
+#: lib/api.php:1301 lib/api.php:1348
+msgid "Permission Denied"
+msgstr ""
+
+#: lib/api.php:256 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr ""
+
+#: data.php:59 templates/view/task.inc:34 lib/Forms/task.php:117
+#: config/prefs.php.dist:70 config/prefs.php.dist:93 config/prefs.php.dist:109
+msgid "Priority"
+msgstr ""
+
+#: templates/view/task.inc:18 lib/Driver.php:942
+msgid "Private"
+msgstr ""
+
+#: data.php:60 lib/Driver.php:940
+msgid "Private Task"
+msgstr ""
+
+#: templates/view/task.inc:16 lib/Forms/task.php:112
+msgid "Private?"
+msgstr ""
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+
+#: view.php:121
+msgid "Really delete this task?"
+msgstr ""
+
+#: templates/panel.inc:90 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:124
+#: lib/Forms/task.php:151
+msgid "Save"
+msgstr ""
+
+#: task.php:185
+#, php-format
+msgid "Saved %s."
+msgstr ""
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr ""
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr ""
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr ""
+
+#: templates/panel.inc:60
+msgid "Search for Task Lists:"
+msgstr ""
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr ""
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr ""
+
+#: config/prefs.php.dist:74
+msgid "Select the columns that should be shown in the list view:"
+msgstr ""
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr ""
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr ""
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr ""
+
+#: templates/data/export.inc:20
+msgid "Select the task list(s) to export from:"
+msgstr ""
+
+#: templates/data/export.inc:32
+msgid "Select the task states to export:"
+msgstr ""
+
+#: templates/panel.inc:81
+msgid "Shared Task Lists:"
+msgstr ""
+
+#: lib/Block/summary.php:52
+msgid "Show action buttons?"
+msgstr ""
+
+#: config/prefs.php.dist:211
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+
+#: config/prefs.php.dist:198
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+
+#: config/prefs.php.dist:58
+msgid "Show data from other applications or sources."
+msgstr ""
+
+#: lib/Block/summary.php:56
+msgid "Show due dates?"
+msgstr ""
+
+#: lib/Block/summary.php:48
+msgid "Show priorities?"
+msgstr ""
+
+#: lib/Block/summary.php:64
+msgid "Show task alarms?"
+msgstr ""
+
+#: lib/Block/summary.php:68
+msgid "Show task category?"
+msgstr ""
+
+#: config/prefs.php.dist:84
+msgid "Show task list options panel?"
+msgstr ""
+
+#: lib/Block/summary.php:60
+msgid "Show tasklist name?"
+msgstr ""
+
+#: lib/Block/summary.php:85
+msgid "Show tasks from these categories"
+msgstr ""
+
+#: lib/Block/summary.php:80
+msgid "Show tasks from these tasklists"
+msgstr ""
+
+#: templates/list/task_headers.inc:56
+msgid "Sort by Assignee"
+msgstr ""
+
+#: templates/list/task_headers.inc:60
+msgid "Sort by Category"
+msgstr ""
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr ""
+
+#: templates/list/task_headers.inc:52
+msgid "Sort by Due Date"
+msgstr ""
+
+#: templates/list/task_headers.inc:46
+msgid "Sort by Name"
+msgstr ""
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr ""
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr ""
+
+#: config/prefs.php.dist:127
+msgid "Sort direction:"
+msgstr ""
+
+#: config/prefs.php.dist:100
+msgid "Sort tasks by:"
+msgstr ""
+
+#: data.php:58
+msgid "Start"
+msgstr ""
+
+#: templates/view/task.inc:22
+msgid "Start Date"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr ""
+
+#: templates/tasklist_list.php:19
+msgid "Subscription URL"
+msgstr ""
+
+#: templates/list/task_summaries.inc:61
+msgid "Task Alarm"
+msgstr ""
+
+#: templates/list/task_headers.inc:49
+msgid "Task Alarm?"
+msgstr ""
+
+#: config/prefs.php.dist:28
+msgid "Task Defaults"
+msgstr ""
+
+#: lib/Driver/sql.php:100
+msgid "Task ID not found"
+msgstr ""
+
+#: templates/tasklist_list.php:17 lib/Forms/task.php:94
+#: config/prefs.php.dist:69 config/prefs.php.dist:99 config/prefs.php.dist:115
+msgid "Task List"
+msgstr ""
+
+#: lib/Forms/EditTaskList.php:44 lib/Forms/CreateTaskList.php:37
+msgid "Task List Description"
+msgstr ""
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr ""
+
+#: templates/tasklist_list.php:14
+msgid "Task List List"
+msgstr ""
+
+#: lib/Forms/EditTaskList.php:43 lib/Forms/CreateTaskList.php:36
+msgid "Task List Name"
+msgstr ""
+
+#: config/prefs.php.dist:34 config/prefs.php.dist:41 config/prefs.php.dist:56
+msgid "Task List and Share Options"
+msgstr ""
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr ""
+
+#: templates/panel.inc:54 templates/panel.inc:55
+msgid "Task Lists"
+msgstr ""
+
+#: config/prefs.php.dist:94 config/prefs.php.dist:110
+msgid "Task Name"
+msgstr ""
+
+#: templates/list/task_summaries.inc:59
+msgid "Task Note"
+msgstr ""
+
+#: templates/list/task_headers.inc:48
+msgid "Task Note?"
+msgstr ""
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr ""
+
+#: lib/Driver/sql.php:136
+msgid "Task UID not found"
+msgstr ""
+
+#: lib/Nag.php:781
+msgid "Task added:"
+msgstr ""
+
+#: lib/Nag.php:885
+msgid "Task deleted:"
+msgstr ""
+
+#: lib/Nag.php:903
+msgid "Task description:"
+msgstr ""
+
+#: lib/Nag.php:790
+msgid "Task modified:"
+msgstr ""
+
+#: task.php:95 view.php:43
+msgid "Task not found."
+msgstr ""
+
+#: lib/api.php:747
+msgid "Tasklist does not exist or no permission to delete"
+msgstr ""
+
+#: lib/api.php:577
+msgid "Tasklist does not exist or no permission to edit"
+msgstr ""
+
+#: lib/api.php:1270
+msgid "Tasks"
+msgstr ""
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr ""
+
+#: lib/api.php:394
+#, php-format
+msgid "Tasks from %s"
+msgstr ""
+
+#: data.php:212
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr ""
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr ""
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr ""
+
+#: lib/Forms/task.php:184
+msgid "The alarm value must not be empty."
+msgstr ""
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr ""
+
+#: lib/Nag.php:784
+#, php-format
+msgid ""
+"The task \"%s\" has been added to task list \"%s\", with a due date of: %s."
+msgstr ""
+
+#: lib/Nag.php:889
+#, php-format
+msgid "The task \"%s\" has been deleted from task list \"%s\"."
+msgstr ""
+
+#: lib/Nag.php:793
+#, php-format
+msgid "The task \"%s\" has been edited on task list \"%s\"."
+msgstr ""
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr ""
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr ""
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr ""
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr ""
+
+#: config/prefs.php.dist:116
+msgid "Then:"
+msgstr ""
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr ""
+
+#: task.php:216
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr ""
+
+#: task.php:33
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr ""
+
+#: task.php:183
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr ""
+
+#: data.php:215
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr ""
+
+#: lib/api.php:594 lib/api.php:941 lib/api.php:1200
+msgid "There was an error importing the iCalendar data."
+msgstr ""
+
+#: lib/api.php:206
+#, php-format
+msgid "There was an error removing tasks for %s. Details have been logged."
+msgstr ""
+
+#: data.php:94
+msgid "There were no tasks to export."
+msgstr ""
+
+#: data.php:143
+msgid "This file format is not supported."
+msgstr ""
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr ""
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+
+#: lib/Nag.php:844
+msgid "Turned privacy off"
+msgstr ""
+
+#: lib/Nag.php:844
+msgid "Turned privacy on"
+msgstr ""
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr ""
+
+#: lib/api.php:768
+#, php-format
+msgid "Unable to delete tasklist \"%s\": %s"
+msgstr ""
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr ""
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr ""
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:72
+#: lib/Nag.php:1071 lib/Nag.php:1072 lib/Nag.php:1086 lib/Nag.php:1087
+#: lib/Forms/task.php:107 lib/Block/summary.php:35 lib/Block/summary.php:243
+msgid "Unfiled"
+msgstr ""
+
+#: data.php:64
+msgid "Unique ID"
+msgstr ""
+
+#: lib/api.php:701 lib/api.php:1014 lib/api.php:1068 lib/api.php:1117
+#: lib/api.php:1238
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr ""
+
+#: lib/Driver.php:1119
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+
+#: lib/Nag.php:442 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr ""
+
+#: lib/Recurrence.php:200
+msgid "Weekly"
+msgstr ""
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr ""
+
+#: config/prefs.php.dist:154
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+
+#: config/prefs.php.dist:145
+msgid "When creating a new task, should it default to having a due date?"
+msgstr ""
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr ""
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr ""
+
+#: lib/Recurrence.php:205
+msgid "Yearly"
+msgstr ""
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr ""
+
+#: data.php:41 data.php:168 task.php:68
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr ""
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr ""
+
+#: lib/api.php:143
+msgid "You are not allowed to remove user data."
+msgstr ""
+
+#: view.php:54
+msgid "You do not have permission to view this tasklist."
+msgstr ""
+
+#: lib/Nag.php:782
+msgid "You requested to be notified when tasks are added to your task lists."
+msgstr ""
+
+#: lib/Nag.php:887
+msgid ""
+"You requested to be notified when tasks are deleted from your task lists."
+msgstr ""
+
+#: lib/Nag.php:791
+msgid "You requested to be notified when tasks are edited on your task lists."
+msgstr ""
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr ""
+
+#: templates/panel.inc:67
+msgid "[Manage Task Lists]"
+msgstr ""
+
+#: templates/list/task_summaries.inc:49 lib/Block/summary.php:118
+#: lib/Block/summary.php:226
+msgid "[none]"
+msgstr ""
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr ""
+
+#: list.php:111
+msgid "_All tasks"
+msgstr ""
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr ""
+
+#: view.php:114
+msgid "_Complete"
+msgstr ""
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr ""
+
+#: view.php:121
+msgid "_Delete"
+msgstr ""
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr ""
+
+#: templates/list/task_headers.inc:52
+msgid "_Due Date"
+msgstr ""
+
+#: view.php:117
+msgid "_Edit"
+msgstr ""
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr ""
+
+#: lib/Nag.php:621
+msgid "_Import/Export"
+msgstr ""
+
+#: lib/Nag.php:608
+msgid "_List Tasks"
+msgstr ""
+
+#: lib/Nag.php:613
+msgid "_New Task"
+msgstr ""
+
+#: lib/Nag.php:626
+msgid "_Print"
+msgstr ""
+
+#: lib/Nag.php:617
+msgid "_Search"
+msgstr ""
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr ""
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr ""
+
+#: view.php:75 view.php:84
+#, php-format
+msgid "by %s"
+msgstr ""
+
+#: view.php:77 view.php:86
+msgid "by me"
+msgstr ""
+
+#: lib/Nag.php:876 lib/Nag.php:877
+msgid "completed"
+msgstr ""
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr ""
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr ""
+
+#: lib/Nag.php:849 lib/Nag.php:850 lib/Nag.php:901
+msgid "no due date"
+msgstr ""
+
+#: lib/Nag.php:816 lib/Nag.php:817
+msgid "no parent"
+msgstr ""
+
+#: lib/Nag.php:855 lib/Nag.php:856
+msgid "no start date"
+msgstr ""
+
+#: lib/Nag.php:84
+msgid "no time"
+msgstr ""
+
+#: lib/Nag.php:876 lib/Nag.php:877
+msgid "not completed"
+msgstr ""
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr ""
+
+#: data.php:114 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr ""
+
+#: data.php:128
+msgid "tasks.ics"
+msgstr ""
--- /dev/null
+# Norwegian Nag Translation.
+# Copyright 2002-2009 The Horde Project.
+# This file is distributed under the same license as the Mnemo package.
+# Torstein S. Hansen <huleboer@techbee.no>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"POT-Creation-Date: 2002-07-22 13:04+0200\n"
+"PO-Revision-Date: 2002-07-22 14:17+0100\n"
+"Last-Translator: Torstein S. Hansen <huleboer@techbee.no>\n"
+"Language-Team: Norwegian (Bokmal) <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d Oppgave"
+
+msgid "1 task"
+msgstr "1 oppgave"
+
+msgid "Adding A New Task"
+msgstr "Legg til en ny oppgave"
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "Er du sikker på at du vil slette disse oppgavene for godt?"
+
+msgid "Ascending"
+msgstr "Oppstigenede"
+
+msgid "Back to Task List"
+msgstr "Tilbake til oppgave listen"
+
+msgid "Category"
+msgstr "Kategori"
+
+msgid "Change your task sorting and display options."
+msgstr "Endre din oppgave sortering og visnings valg."
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "Endre %d oppgave etter prioritet %d."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "Endre 1 oppgave etter prioritet %d."
+
+msgid "Choose Action:"
+msgstr "Velg handling:"
+
+msgid "Clear Form"
+msgstr "Tøm blankett"
+
+msgid "Complete Task"
+msgstr "Fullfør oppgave"
+
+msgid "Complete Tasks"
+msgstr "Fullfør oppgavene"
+
+msgid "Completed?"
+msgstr "Fullført?"
+
+msgid "Completion Status"
+msgstr "Fullførings status"
+
+msgid "Default sorting criteria:"
+msgstr "Standar sorterings criteria:"
+
+msgid "Default sorting direction:"
+msgstr "Standar sorterings adresse:"
+
+msgid "Delete Task"
+msgstr "Slett oppgave"
+
+msgid "Delete Tasks"
+msgstr "Slett oppgaver"
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "Slett %d oppgaver."
+
+msgid "Deleted 1 task."
+msgstr "Slett 1 oppgave."
+
+msgid "Descending"
+msgstr "Synkende"
+
+msgid "Description"
+msgstr "Beskrivelse"
+
+msgid "Display Options"
+msgstr "Visnings valg"
+
+msgid "Due By"
+msgstr "Forfall ved"
+
+msgid "Due Date"
+msgstr "Forfall dato"
+
+msgid "Help"
+msgstr "Hjelp"
+
+msgid "Language"
+msgstr "Språk"
+
+msgid "List Tasks"
+msgstr "Vis oppgaver"
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "Merk %d oppgave som fullført."
+
+msgid "Marked 1 task as completed."
+msgstr "Merk 1 oppgave som fullført."
+
+msgid "Modify Task"
+msgstr "Endre oppgave"
+
+msgid "Modifying:"
+msgstr "Endrer:"
+
+msgid "Nag is not properly configured"
+msgstr "Nag er ikke fullstendig konfigurerert"
+
+msgid "Name"
+msgstr "Navn"
+
+msgid "New Task"
+msgstr "Ny oppgave"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "Ingen konfigurasjons informasjon er spesifisert for SQL oppgavene."
+
+msgid "No due date."
+msgstr "Ingen fullførings dato."
+
+msgid "No tasks were changed."
+msgstr "Ingen oppgaver ble forandret."
+
+msgid "No tasks were deleted."
+msgstr "Ingen oppgaver ble slettet."
+
+msgid "No"
+msgstr "Nei"
+
+msgid "None specified"
+msgstr "Ikke noe spesifisert."
+
+msgid "Options"
+msgstr "Valg"
+
+msgid "Other Options"
+msgstr "Andre valg"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "Vennligs sett inn oppgavenes prioritet (1-5):"
+
+msgid "Pri"
+msgstr "Prioritet"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr "Prioritetet må være mellom 1 og 5. Vennligst sett inn et gydlig valg:"
+
+msgid "Priority"
+msgstr "Prioritet"
+
+msgid "Problem?"
+msgstr "Problemer?"
+
+msgid "Refresh List"
+msgstr "Oppdater listen"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "Nødvendig 'database' er ikke spesifisert i oppgave konfigurasjon."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "Nødvendig 'hotspec' er ikke spesifisert i oppgave konfigurasjon."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "Nødvendig 'passord' er ikke spesifisert i oppgave konfigurasjon."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "Nødvendig 'phptype' er ikke spesifisert i oppgave konfigurasjon."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "Nødvendig 'tabell' er ikke spesifisert i oppgave konfigurasjon."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "Nødvendig 'brukernavn' er ikke spesifisert i oppgave konfigurasjon."
+
+msgid "Save Task"
+msgstr "Lagre oppgave"
+
+msgid "Search Results"
+msgstr "Søke resultat"
+
+msgid "Search Scope"
+msgstr "Søk rekkevidde"
+
+msgid "Search Text"
+msgstr "Søke tekst"
+
+msgid "Search"
+msgstr "Søk"
+
+msgid "Select your preferred language:"
+msgstr "Velg språk:"
+
+msgid "Selected?"
+msgstr "Valgt?"
+
+msgid "Set Task Priority"
+msgstr "Sett oppgave prioritet."
+
+msgid "Set the your preferred display language."
+msgstr "Sett visnings språk."
+
+msgid "Show completed tasks in the task list?"
+msgstr "Vis fullførte oppgaver i oppgave listen?"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "Noen av Nag's konfigurasjons filer mangler:"
+
+msgid "Sort Direction"
+msgstr "Sortering rettning"
+
+msgid "Sort by Category"
+msgstr "Sorter på kategori"
+
+msgid "Sort by Completion Status"
+msgstr "Sorter på sluttførelse status"
+
+msgid "Sort by Due Date"
+msgstr "Sorter på slutt dato"
+
+msgid "Sort by Name"
+msgstr "Sorter på navn"
+
+msgid "Sort by Priority"
+msgstr "Sort etter prioritet"
+
+msgid "Task Details"
+msgstr "Oppgave detaljer"
+
+msgid "Task List"
+msgstr "Oppgave liste"
+
+msgid "Task Name"
+msgstr "Oppgave navn"
+
+msgid "Task Note"
+msgstr "Oppgave notater"
+
+msgid "Task Note?"
+msgstr "Oppgave notat?"
+
+msgid "The requested task does not exist."
+msgstr "Det forespurte oppgaven eksisterer ikke."
+
+msgid "There was a problem deleting tasks."
+msgstr "Det var et problem å slette oppgavene."
+
+msgid "There was a problem saving the task."
+msgstr "Det var et problem å lagre oppgaven."
+
+msgid "There was a problem setting task completion status."
+msgstr "Det var et problem å sette oppgave fullførelse satus."
+
+msgid "There was a problem setting task priority."
+msgstr "Det var er problem å sette oppgave prioriteten."
+
+msgid "This file contains preferences for Nag."
+msgstr "Denne filen inneholder innstillinger for Nag."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"Denne fila kontrollerer stilarket som blir brukt til å definere farger og "
+"skrifttyper, og legg til eller overstyrer standardverdiane til Horde."
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr ""
+"Dette er hovedkonfigurasjonsfila for Nag. Den inneholder katalognavn og "
+"alternativ for alle Nag-skripta."
+
+msgid "Undo Changes"
+msgstr "Angre endringene"
+
+msgid "Unfiled"
+msgstr "Uutfyllt"
+
+msgid "Unknown task"
+msgstr "Ukjent oppgave"
+
+msgid "Unknown"
+msgstr "Ukjent"
+
+msgid "User Options"
+msgstr "Bruker valg"
+
+msgid "View Task Details"
+msgstr "Vis oppgave detaljene"
+
+msgid "Yes"
+msgstr "Ja"
+
+msgid "You must select at least one task first."
+msgstr "Do må minst velge en oppgave først."
+
+msgid "Your Information"
+msgstr "Din informasjon"
+
+msgid "Your task list is empty."
+msgstr "Din oppgave liste er tom."
+
+msgid "at"
+msgstr "til"
--- /dev/null
+# Nag Dutch translation.
+# Copyright 2001 Jan Kuipers.
+# Jan Kuipers <jrkuipers@lauwerscollege.nl>, 2001-2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag H3 (2.2-cvs)\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2007-11-21 19:43+0100\n"
+"PO-Revision-Date: 2007-11-22 00:15+0100\n"
+"Last-Translator: Jan Kuipers <jrkuipers@lauwerscollege.nl>\n"
+"Language-Team: Dutch <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s inclusief subtaken)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d uur"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d uur, %d minuut"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d uur, %d minuten"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d uren"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d uren, %d minuut"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d uren, %d minuten"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minuut"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuten"
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr "%s op %s"
+
+#: lib/Nag.php:590 lib/Block/tree_alarms.php:42 lib/Block/summary.php:106
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s vervalt over %s"
+
+#: lib/Nag.php:588 lib/Block/tree_alarms.php:44 lib/Block/summary.php:104
+#, php-format
+msgid "%s is due now."
+msgstr "%s vervalt nu."
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s is nu niet afgerond."
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s met succes geimporteerd"
+
+#: tasklists.php:104 lib/Nag.php:516
+#, php-format
+msgid "%s's Task List"
+msgstr "%s's taaklijst"
+
+#: lib/Nag.php:315 lib/Forms/task.php:55
+msgid "(highest)"
+msgstr "(hoogste)"
+
+#: lib/Nag.php:315 lib/Forms/task.php:56
+msgid "(lowest)"
+msgstr "(laagste)"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Toegang geweigerd bij afronden van taak %s."
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "Toegang geweigerd bij verwijderen van %s"
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "Toegang geweigerd bij bewerken van taak."
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Toegang geweigerd bij bewerken van taak: %s"
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Toegang geweigerd bij het verplaatsen van taak naar %s."
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Toegang geweigerd bij verwijderen van taak uit %s."
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Toegang geweigerd bij het opslaan van taak in %s."
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Toegang geweigerd bij het opslaan van taak: %s"
+
+#: lib/Forms/task.php:85 templates/view/task.inc:26
+msgid "Alarm"
+msgstr "Alarm"
+
+#: config/prefs.php.dist:201
+msgid "All tasks"
+msgstr "Alle taken"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Altijd afgeronde taken weergeven?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Altijd vervallen taken weergeven?"
+
+#: config/prefs.php.dist:118
+msgid "Ascending"
+msgstr "Toenemend"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Bloktitel"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Agenda"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "_Categorie"
+
+#: data.php:54 lib/Forms/task.php:73 lib/Forms/task.php:79
+#: templates/view/task.inc:8 config/prefs.php.dist:90
+#: config/prefs.php.dist:105
+msgid "Category"
+msgstr "Categorie"
+
+#: templates/tasklists/tasklists.inc:26
+msgid "Change"
+msgstr "Wijzigen"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Wijzig uw taaksorteer- en weergaveopties."
+
+#: config/prefs.php.dist:180
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Kies op welke manier u reminders wilt ontvangen van taken met alarmen:"
+
+#: config/prefs.php.dist:171
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Kies of u van nieuwe, bewerkte, en verwijderde taken per email op de hoogte "
+"gebracht wil worden:"
+
+#: config/prefs.php.dist:43
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Kies of u op de hoogte gebracht wil worden van taakwijzigingen en "
+"taakalarmen."
+
+#: config/prefs.php.dist:36
+msgid "Choose your default task list."
+msgstr "Kies uw standaard taaklijst."
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Zoeken afsluiten"
+
+#: view.php:99
+msgid "Complete"
+msgstr "Afgerond"
+
+#: lib/Block/summary.php:168 templates/list/task_summaries.inc:11
+#, php-format
+msgid "Complete \"%s\""
+msgstr "\"%s\" afgeronden"
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Taak afronden"
+
+#: config/prefs.php.dist:203
+msgid "Complete tasks"
+msgstr "Afgeronde taken"
+
+#: lib/Nag.php:379 lib/Block/summary.php:166
+msgid "Completed"
+msgstr "Afgerond"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "%s afgerond."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Afgeronde taken"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Hoofdtaak afgerond, eerst als niet afgerond markeren"
+
+#: lib/Forms/task.php:91 templates/list/task_headers.inc:31
+#: templates/view/task.inc:38 config/prefs.php.dist:92
+#: config/prefs.php.dist:107
+msgid "Completed?"
+msgstr "Afgerond?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "Afrondingsstatus"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Verbinding mislukt: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:86
+msgid "Create"
+msgstr "Maken"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Gemaakt"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Dag"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Dag(en)"
+
+#: config/prefs.php.dist:35
+msgid "Default Task List"
+msgstr "Standaard taaklijst"
+
+#: config/prefs.php.dist:29
+msgid "Defaults for new tasks"
+msgstr "Standaardwaarden voor nieuwe taken"
+
+#: lib/Forms/task.php:84
+msgid "Delay Start Until"
+msgstr "Uitstellen van begin totdat"
+
+#: view.php:106 templates/tasklists/tasklists.inc:87
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Verwijderbevestiging"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Verwijderknopgedrag"
+
+#: task.php:105 lib/Forms/task.php:96
+msgid "Delete this task"
+msgstr "Verwijder deze taak"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "%s verwijderd."
+
+#: config/prefs.php.dist:119
+msgid "Descending"
+msgstr "Afnemend"
+
+#: data.php:53 lib/Forms/task.php:92
+msgid "Description"
+msgstr "Beschrijving"
+
+#: templates/tasklists/tasklists.inc:75
+msgid "Description:"
+msgstr "Beschrijving:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Weergaveopties"
+
+#: config/prefs.php.dist:129
+msgid "Do you want to confirm deleting entries?"
+msgstr "Wilt u het verwijderen van invoer bevestigen?"
+
+#: data.php:55 lib/Forms/task.php:83 templates/view/task.inc:22
+msgid "Due By"
+msgstr "Vervalt op"
+
+#: config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Due Date"
+msgstr "Vervaldatum"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Vervaldatum opgegeven."
+
+#: view.php:102
+msgid "Edit"
+msgstr "Bewerken"
+
+#: lib/Block/summary.php:159 templates/list/task_summaries.inc:38
+#, php-format
+msgid "Edit \"%s\""
+msgstr "\"%s\" bewerken"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Taak bewerken"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Categorieën en kleuren bewerken"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "Bewerken: %s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Fout bij verwijderen van taak: %s"
+
+#: lib/Forms/task.php:90 templates/view/task.inc:34
+msgid "Estimated Time"
+msgstr "Geschatte tijd"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Exporteren"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Taken exporteren"
+
+#: config/prefs.php.dist:57
+msgid "External Data"
+msgstr "Externe data"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20 config/prefs.php.dist:27
+msgid "General Options"
+msgstr "Algemene opties"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Uur"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Uur"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Taken importeren, stap %d"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "Taken importeren/exporteren"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Nie_t afgeronde taken"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Niet afgeronde taken"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Niet afgeronde subtaken, rond deze eerst af"
+
+#: config/prefs.php.dist:202
+msgid "Incomplete tasks"
+msgstr "Niet afgeronde taken"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Laatst gewijzigd"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Markeer \"%s\" als niet afgerond"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Markeer als niet afgerond"
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "Maximum aantal taken"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Alarmmenu"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Menulijst"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minuut"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minuten"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Maand"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Meer opties..."
+
+#: lib/api.php:986
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Meerdere iCalendar onderdelen gevonden; slecht één vTodo wordt ondersteund."
+
+#: templates/panel.inc:38
+msgid "My Tasklists:"
+msgstr "Mijn taaklijsten:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Mijn taken"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "_Naam"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Naa_m"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: Taak %s niet gevonden"
+
+#: data.php:52 lib/Forms/task.php:62
+msgid "Name"
+msgstr "Naam"
+
+#: templates/tasklists/tasklists.inc:68
+msgid "Name:"
+msgstr "Naam:"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:27
+msgid "New Task"
+msgstr "Nieuwe taak"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Volgende"
+
+#: config/prefs.php.dist:167
+msgid "No"
+msgstr "Nee"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Geen uitstel"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Geen vervaldatum."
+
+#: lib/api.php:405 lib/api.php:709 lib/api.php:767 lib/api.php:979
+msgid "No iCalendar data was found."
+msgstr "Geen iCalendardata gevonden."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Geen hoofdtaak"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "Geen taaklijsten beschikbaar voor gasten."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Geen taken komen overeen"
+
+#: lib/Block/summary.php:222
+msgid "No tasks to display"
+msgstr "Geen taken weer te geven"
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Geen"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "Niet afgerond"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Niet privé"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Niet gevonden"
+
+#: config/prefs.php.dist:42
+msgid "Notifications"
+msgstr "Meldingen"
+
+#: config/prefs.php.dist:169
+msgid "On all shown tasklists"
+msgstr "Op alle getoonde taaklijsten"
+
+#: config/prefs.php.dist:170
+msgid "On all tasklists I have read access to"
+msgstr "Op alle taaklijsten waar ik leesrechten heb"
+
+#: config/prefs.php.dist:168
+msgid "On my tasklists only"
+msgstr "Alleen op mijn taaklijsten"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "_Pri"
+
+#: lib/Forms/task.php:69
+msgid "Parent task"
+msgstr "Hoofdtaak"
+
+#: templates/tasklists/tasklists.inc:71
+msgid "Permission"
+msgstr "Recht"
+
+#: lib/api.php:683 lib/api.php:805 lib/api.php:860 lib/api.php:924
+#: lib/api.php:961
+msgid "Permission Denied"
+msgstr "Toegang geweigerd"
+
+#: lib/api.php:178
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
+
+#: data.php:57 lib/Forms/task.php:87 templates/view/task.inc:30
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Priority"
+msgstr "Prioriteit"
+
+#: lib/Driver.php:902 templates/view/task.inc:14
+msgid "Private"
+msgstr "Privé"
+
+#: lib/Driver.php:900
+msgid "Private Task"
+msgstr "Privé taak"
+
+#: lib/Forms/task.php:82 templates/view/task.inc:12
+msgid "Private?"
+msgstr "Privé?"
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "Echt deze taak verwijderen?"
+
+#: templates/tasklists/tasklists.inc:81
+msgid "Remote Subscription URL"
+msgstr "Remote Subscription URL"
+
+#: lib/Forms/task.php:94 templates/panel.inc:57
+msgid "Save"
+msgstr "Opslaan"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "%s opgeslagen."
+
+#: search.php:14 lib/Block/tree_menu.php:47 templates/list/header.inc:4
+#: templates/search/search.inc:31
+msgid "Search"
+msgstr "Zoeken"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Zoeken in:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Tekst _zoeken:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Zoeken:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Zoeken: resultaten voor \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Selecteer een datum"
+
+#: templates/tasklists/tasklists.inc:62
+msgid "Select a tasklist"
+msgstr "Selecteer een taaklijst"
+
+#: templates/tasklists/tasklists.inc:24 templates/tasklists/tasklists.inc:82
+msgid "Select a tasklist above to display the Remote Subscription URL"
+msgstr ""
+"Selecteer een bovenstaande taaklijst voor weergave van de Remote Subsription "
+"URL"
+
+#: templates/tasklists/tasklists.inc:23 templates/tasklists/tasklists.inc:80
+msgid "Select a tasklist above to display the URL"
+msgstr "Selecteer een bovenstaande taaklijst voor weergave van de URL"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Selecteer het exportformaat:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Selecteer het importbestand:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Selecteer het formaat van het bronbestand:"
+
+#: templates/panel.inc:48
+msgid "Shared Tasklists:"
+msgstr "Gedeelde taaklijsten:"
+
+#: config/prefs.php.dist:69
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr ""
+"Dient de taaklijst in een eigen kolom in de lijstweergave weergegeven te "
+"worden?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Bewerkingsknoppen weergeven?"
+
+#: config/prefs.php.dist:204
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Afgeronde, niet afgeronde of alle taken in de taaklijst weergeven?"
+
+#: config/prefs.php.dist:191
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Data van elk van deze andere toepassingen in uw taaklijst weergeven?"
+
+#: config/prefs.php.dist:58
+msgid "Show data from other applications or sources."
+msgstr "Data van andere toepassingen of bronnen weergeven."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Vervaldata weergeven?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Prioriteiten weergeven?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Taakalarmen weergeven?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Taakcategorie weergeven?"
+
+#: config/prefs.php.dist:79
+msgid "Show task list options panel?"
+msgstr "Taaklijstoptiespaneel weergeven?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Taaklijstnamen weergeven?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Taken van deze categorieen weergeven"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Taken van deze taaklijsten weergeven"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Sorteren op categorie"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Sorteren op afrondingsstatus"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Sorteren op vervaldatum"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Sorteren op naam"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Sorteren op prioriteit"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Sorteren op gebruikersnaam"
+
+#: config/prefs.php.dist:120
+msgid "Sort direction:"
+msgstr "Sorteervolgorde:"
+
+#: config/prefs.php.dist:94
+msgid "Sort tasks by:"
+msgstr "Taken sorteren op:"
+
+#: data.php:56
+msgid "Start"
+msgstr "Start"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Begindatum"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Begindatum opgegeven."
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Taakalarm"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Taakalarm?"
+
+#: config/prefs.php.dist:28
+msgid "Task Defaults"
+msgstr "Taak standaardinstellingen"
+
+#: lib/Forms/task.php:65
+msgid "Task List"
+msgstr "Taaklijst"
+
+#: config/prefs.php.dist:34 config/prefs.php.dist:41 config/prefs.php.dist:56
+msgid "Task List and Share Options"
+msgstr "Taaklijst en share opties"
+
+#: tasklists.php:117
+msgid "Task Lists"
+msgstr "Taaklijsten"
+
+#: config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Task Name"
+msgstr "Taaknaam"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Taaknotitie"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Taaknotitie?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Taak zoeken"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "Taak toegevoegd:"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "Taak verwijderd:"
+
+#: tasklists.php:32
+msgid "Task lists must have a name."
+msgstr "Taaklijsten moeten een naam hebben."
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "Taak gewijzigd:"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "Taak niet gevonden."
+
+#: config/prefs.php.dist:93 config/prefs.php.dist:108
+msgid "Tasklist"
+msgstr "Taaklijst"
+
+#: templates/panel.inc:30 templates/panel.inc:31
+#: templates/tasklists/tasklists.inc:58
+msgid "Tasklists"
+msgstr "Taaklijsten"
+
+#: templates/tasklists/tasklists.inc:60
+msgid "Tasklists:"
+msgstr "Taaklijsten:"
+
+#: lib/api.php:1041
+msgid "Tasks"
+msgstr "Taken"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Takensamenvatting"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Het %s bestand bevatte geen taken."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Het taken backend is momenteel niet beschikbaar."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Het taken backend is momenteel niet beschikbaar: %s"
+
+#: lib/Forms/task.php:130
+msgid "The alarm value must not be empty."
+msgstr "De alarmwaarde mag niet leeg zijn."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Het huidige uur"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"De taak \"%s\" is toegevoegd aan de \"%s\" taaklijst, met een vervaldatum "
+"van: %s."
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"De taak \"%s\" is verwijderd van de \"%s\" taaklijst, met een vervaldatum "
+"van: %s."
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"De taak \"%s\" is bewerkt op de \"%s\" taaklijst, met een vervaldatum van: %"
+"s."
+
+#: tasklists.php:49
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "De taaklijst \"%s\" kon niet worden aangemaakt: %s"
+
+#: tasklists.php:60
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "De taaklijst \"%s\" kon niet worden opgeslagen: %s"
+
+#: tasklists.php:51
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "De taaklijst \"%s\" is aangemaakt."
+
+#: tasklists.php:85
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "De taaklijst \"%s\" is verwijderd."
+
+#: tasklists.php:62
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "De taaklijst \"%s\" is opgeslagen."
+
+#: config/prefs.php.dist:109
+msgid "Then:"
+msgstr "Dan:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Er zijn taken die overeenkomen met de huidige criteria."
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Een probleem bij het afronden van %s: %s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Een probleem bij het verwijderen van %s: %s"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Een probleem bij het opslaan van de taak: %s."
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Een fout bij het importeren van de data: %s"
+
+#: lib/api.php:397 lib/api.php:701 lib/api.php:973
+msgid "There was an error importing the iCalendar data."
+msgstr "Een fout bij het importeren van de iCalendardata."
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "Er waren geen taken om te exporteren."
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "Dit bestandsformaat wordt niet ondersteund."
+
+#: templates/tasklists/tasklists.inc:79
+msgid "URL"
+msgstr "URL"
+
+#: tasklists.php:81
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Niet in staat om \"%s\": %s te verwijderen"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Niet in staat om de definitie van %s te laden."
+
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Forms/task.php:78 lib/Block/summary.php:31 lib/Block/summary.php:215
+#: templates/list/task_summaries.inc:62 templates/view/task.inc:9
+msgid "Unfiled"
+msgstr "Onbenoemd"
+
+#: lib/api.php:502 lib/api.php:774 lib/api.php:832 lib/api.php:886
+#: lib/api.php:1011
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Niet ondersteund Content-Type: %s"
+
+#: lib/Driver.php:1079
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Wij willen u van deze vervallen gebeurtenis op de hoogte brengen.\n"
+"\n"
+"%s\n"
+"\n"
+"Datum: %s\n"
+"Tijd: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Weken"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Wat wilt u dat standaardvervaltijd is voor taken?"
+
+#: config/prefs.php.dist:147
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Hoeveel dagen in de toekomst dient de standaard vervaldatum te zijn bij het "
+"maken van een nieuwe taak (0 betekent vandaag)?"
+
+#: config/prefs.php.dist:138
+msgid "When creating a new task, should it default to having a due date?"
+msgstr ""
+"Dient een taak een standaard vervaldatum te krijgen bij het maken van een "
+"nieuwe taak?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Aan welke taaklijst dienen de taken toegevoegd te worden?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Jaar"
+
+#: task.php:61 data.php:41 data.php:151
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Het is u niet toegestaan om meer dan %d taken te maken."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "U heeft geen recht om deze taaklijst te bekijken."
+
+#: tasklists.php:88
+msgid "You must select a task list to be deleted."
+msgstr "U dient een taaklijst te selecteren om te verwijderen."
+
+#: templates/tasklists/tasklists.inc:47
+msgid "You must select a tasklist to be deleted."
+msgstr "U dient een taaklijst te selecteren om te verwijderen."
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"U hebt gevraagd om een melding als taken aan uw taaklijsten worden "
+"toegevoegd."
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"U hebt gevraagd om een melding als taken uit uw taaklijsten worden "
+"verwijderd."
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"U hebt gevraagd om een melding als taken in uw taaklijsten worden gewijzigd."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Uw standaard taaklijst:"
+
+#: templates/panel.inc:43
+msgid "[Manage My Tasklists]"
+msgstr "[Beheer Mijn taaklijsten]"
+
+#: lib/Block/summary.php:101 lib/Block/summary.php:199
+#: templates/list/task_summaries.inc:46
+msgid "[none]"
+msgstr "[geen]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Alle taken"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Alle taken"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Categorie"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "Afgeron_d"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "Afgeronde ta_ken"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "Ver_wijderen"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "O_mschrijving"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "Vervaldat_um"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "_Bewerken"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Toekomstige taken"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "_Import/Export"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "Taken weergeven"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "Nieuwe taak"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "A_fdrukken"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "_Zoeken"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Taaklijst"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "am"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:37
+#, php-format
+msgid "in %s"
+msgstr "in %s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "geen tijd"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "pm"
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasks.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "tasks.ics"
--- /dev/null
+# Nag Norwegian Nynorsk translation.
+# Copyright 2002 Per-Stian Vatne
+# This file is distributed under the same license as the Nag package.
+# Per-Stian Vatne <psv@orsta.org>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"POT-Creation-Date: 2002-06-08 22:20+0200\n"
+"PO-Revision-Date: 2002-06-08 22:51+0100\n"
+"Last-Translator: Per-Stian Vatne <psv@orsta.org>\n"
+"Language-Team: Norwegian Nynorsk <nynorsk@orsta.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d oppgåver"
+
+msgid "1 task"
+msgstr "1 oppgåve"
+
+msgid "Adding A New Task"
+msgstr "Legge til ei ny oppgåve"
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "Er du sikker på at du vil slette desse oppgåvene permanent?"
+
+msgid "Ascending"
+msgstr "Stigande"
+
+msgid "Back to Task List"
+msgstr "Tilbake til oppgåveliste"
+
+msgid "Category"
+msgstr "Kategori"
+
+msgid "Change your task sorting and display options."
+msgstr "Endre sortering for oppgåver og visingsalternativ"
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "Endra %d oppgåver til prioritet %d."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "Endra ei oppgåve til prioritet %d."
+
+msgid "Choose Action:"
+msgstr "Vel handling:"
+
+msgid "Clear Form"
+msgstr "Nullstill skjema"
+
+msgid "Complete Task"
+msgstr "Fullfør oppgåve"
+
+msgid "Complete Tasks"
+msgstr "Fullfør oppgåver"
+
+msgid "Completed?"
+msgstr "Fullført?"
+
+msgid "Completion Status"
+msgstr "Fullføringsgrad"
+
+msgid "Default sorting criteria:"
+msgstr "Standard sorteringskriterium:"
+
+msgid "Default sorting direction:"
+msgstr "Standard sorteringsrekkefølgje:"
+
+msgid "Delete Task"
+msgstr "Slett oppgåve"
+
+msgid "Delete Tasks"
+msgstr "Slett oppgåver"
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "Sletta %d oppgåver."
+
+msgid "Deleted 1 task."
+msgstr "Sletta ei oppgåve."
+
+msgid "Descending"
+msgstr "Synkande"
+
+msgid "Description"
+msgstr "Skildring"
+
+msgid "Display Options"
+msgstr "Visingsalternativ"
+
+msgid "Due By"
+msgstr "Forfell"
+
+msgid "Due Date"
+msgstr "Forfallsdato"
+
+msgid "Help"
+msgstr "Hjelp"
+
+msgid "Language"
+msgstr "Språk"
+
+msgid "List Tasks"
+msgstr "Vis oppgåver"
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "Markerte %d oppgåver som fullførte."
+
+msgid "Marked 1 task as completed."
+msgstr "Markerte ei oppgåve som fullført."
+
+msgid "Modify Task"
+msgstr "Endre oppgåver"
+
+msgid "Modifying:"
+msgstr "Endringar:"
+
+msgid "Nag is not properly configured"
+msgstr "Nag er ikkje ordentleg konfigurert"
+
+msgid "Name"
+msgstr "Namn"
+
+msgid "New Task"
+msgstr "Ny oppgåve"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "Ingen konfigurasjonsinformasjon spesifisert for SQL-oppgåver."
+
+msgid "No due date."
+msgstr "Ingen forfallsdato."
+
+msgid "No tasks were changed."
+msgstr "Ingen oppgåver vart endra."
+
+msgid "No tasks were deleted."
+msgstr "Ingen oppgåver vart sletta."
+
+msgid "No"
+msgstr "Nei"
+
+msgid "None specified"
+msgstr "Ingen spesifisert"
+
+msgid "Options"
+msgstr "Alternativ"
+
+msgid "Other Options"
+msgstr "Andre alternativ"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "Skriv inn prioritet for oppgåva (1-5):"
+
+msgid "Pri"
+msgstr "Pri"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr "Prioritetar må vere mellom 1 og 5. Ver venleg og bruk ein lovleg prioritet:"
+
+msgid "Priority"
+msgstr "Prioritet"
+
+msgid "Problem?"
+msgstr "Problem?"
+
+msgid "Refresh List"
+msgstr "Frisk opp liste"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "Nødvendig 'database' ikkje spesifisert i konfigurasjon for oppgåver."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "Nødvendig 'hostspec' ikkje spesifisert i konfigurasjon for oppgåver."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "Nødvendig 'password' ikkje spesifisert i konfigurasjon for oppgåver."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "Nødvendig 'phptype' ikkje spesifisert i konfigurasjon for oppgåver."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "Nødvendig 'table' ikkje spesifisert i konfigurasjon for oppgåver."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "Nødvendig 'username' ikkje spesifisert i konfigurasjon for oppgåver."
+
+msgid "Save Task"
+msgstr "Lagre oppgåve"
+
+msgid "Search Results"
+msgstr "Søkeresultat"
+
+msgid "Search Scope"
+msgstr "Søkeområde"
+
+msgid "Search Text"
+msgstr "Søkestreng"
+
+msgid "Search"
+msgstr "Søk"
+
+msgid "Select your preferred language:"
+msgstr "Vel ønska språk:"
+
+msgid "Selected?"
+msgstr "Valt?"
+
+msgid "Set Task Priority"
+msgstr "Set oppgåveprioritet"
+
+msgid "Set the your preferred display language."
+msgstr "Vel ønska språk."
+
+msgid "Show completed tasks in the task list?"
+msgstr "Vis fullførte oppgåver i oppgåvelista?"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "Nokre av Nag sine konfigurasjonsfiler manglar:"
+
+msgid "Sort Direction"
+msgstr "Sorteringsrekkefølgje"
+
+msgid "Sort by Category"
+msgstr "Sorter etter kategori"
+
+msgid "Sort by Completion Status"
+msgstr "Sorter etter fullføringsgrad"
+
+msgid "Sort by Due Date"
+msgstr "Sorter etter forfallsdato"
+
+msgid "Sort by Name"
+msgstr "Soter etter namn"
+
+msgid "Sort by Priority"
+msgstr "Sorter etter prioritet"
+
+msgid "Task Details"
+msgstr "Oppgåvedetaljar"
+
+msgid "Task List"
+msgstr "Oppgåveliste"
+
+msgid "Task Name"
+msgstr "Oppgåvenamn"
+
+msgid "Task Note"
+msgstr "Oppgåvemerknad"
+
+msgid "Task Note?"
+msgstr "Oppgåvemerknad?"
+
+msgid "The requested task does not exist."
+msgstr "Den førespurde oppgåva eksisterer ikkje."
+
+msgid "The task was saved."
+msgstr "Oppgåva vart lagra."
+
+msgid "There was a problem deleting tasks."
+msgstr "Problem ved sletting av oppgåver."
+
+msgid "There was a problem saving the task."
+msgstr "Problem ved lagring av oppgåve."
+
+msgid "There was a problem setting task completion status."
+msgstr "Problem med å setje fullføringsgrad."
+
+msgid "There was a problem setting task priority."
+msgstr "Problem med å setje oppgåveprioritet."
+
+msgid "This file contains preferences for Nag."
+msgstr "Denne fila inneheld innstillingar for Nag."
+
+msgid "This file controls the stylesheet that is used to set colors and fonts in addition to or overriding Horde defaults."
+msgstr "Denne fila kontrollerer stilarket som blir brukt til å definere fargar og skrifttypar, legg til eller overstyrer standardverdiar i Horde."
+
+msgid "This is the main Nag configuration file. It contains options for all Nag scripts."
+msgstr "Dette er hovedkonfigurasjonsfila for Nag. Den inneheld alternativ for alle Nag-skripta."
+
+msgid "Undo Changes"
+msgstr "Angre endringar"
+
+msgid "Unfiled"
+msgstr "Uarkivert"
+
+msgid "Unknown task"
+msgstr "Ukjent oppgåve"
+
+msgid "Unknown"
+msgstr "Ukjent"
+
+msgid "User Options"
+msgstr "Brukaralternativ"
+
+msgid "View Task Details"
+msgstr "Vis oppgåvedetaljar"
+
+msgid "Yes"
+msgstr "Ja"
+
+msgid "You must select at least one task first."
+msgstr "Du må først velje minst ei oppgåve."
+
+msgid "Your Information"
+msgstr "Din informasjon"
+
+msgid "Your task list is empty."
+msgstr "Oppgåvelista di er tom."
+
+msgid "at"
+msgstr "den"
+
--- /dev/null
+# Polish translations for Nag package
+# Polskie tlumaczenia dla pakietu Nag.
+# Copyright 2007-2009 The Horde Project
+# This file is distributed under the same license as the Nag package.
+# Automatically generated, 2007.
+# Mariusz Zynel <mariusz@math.uwb.edu.pl>, 2001.
+# Piotr Roszatycki <dexter@debian.org>, 2001.
+# Krzysztof Kozlowski <kozik1@o2.pl>, 2005.
+# Piotr Adamcio <adamcios@o2.pl>, 2007.
+# Tadeusz Lesiecki <lesiecki@tmtsystem.pl>, 2007.
+# Piotr Tarnowski <drfugazi@drfugazi.eu.org>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag H3 (2.2-cvs)\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2007-06-21 14:43+0200\n"
+"PO-Revision-Date: 2007-03-31 09:57+0200\n"
+"Last-Translator: Piotr Tarnowski <drfugazi@drfugazi.eu.org>\n"
+"Language-Team: Polish <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\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"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d godzina"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d godzina, %d minuta"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d godzina, %d minut"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d godzin"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d godzin, %d minuta"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d godzin, %d minut"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minuta"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minut"
+
+#: lib/Nag.php:366
+#, php-format
+msgid "%s at %s"
+msgstr "%s o %s"
+
+#: lib/Nag.php:587 lib/Block/summary.php:106 lib/Block/tree_alarms.php:42
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s ma termin %s"
+
+#: lib/Nag.php:585 lib/Block/summary.php:104 lib/Block/tree_alarms.php:44
+#, php-format
+msgid "%s is due now."
+msgstr "%s ma termin teraz."
+
+#: task.php:228
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s jest teraz niekompletne."
+
+#: data.php:198
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s pomy¶lnie zaimportowano"
+
+#: tasklists.php:100 lib/Nag.php:513
+#, php-format
+msgid "%s's Task List"
+msgstr "Lista zadañ - %s"
+
+#: lib/Nag.php:317 lib/Forms/task.php:55
+msgid "(highest)"
+msgstr "(najwy¿szy)"
+
+#: lib/Nag.php:317 lib/Forms/task.php:56
+msgid "(lowest)"
+msgstr "(najni¿szy)"
+
+#: task.php:212
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Brak uprawnieñ aby zamkn±æ zadanie %s."
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "Brak uprawnieñ aby usun±æ %s."
+
+#: task.php:81 task.php:87
+msgid "Access denied editing task."
+msgstr "Brak uprawnieñ aby edytowaæ zadanie."
+
+#: task.php:79
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Brak uprawnieñ aby edytowaæ zadanie: %s"
+
+#: task.php:160
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Brak uprawnieñ aby przenie¶æ zadanie do %s."
+
+#: task.php:163
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Brak uprawnieñ aby usun±æ zadanie z %s."
+
+#: task.php:122
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Brak uprawnieñ aby zapisaæ zadanie do %s."
+
+#: task.php:118
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Brak uprawnieñ aby zapisaæ zadanie: %s"
+
+#: lib/Forms/task.php:85 templates/view/task.inc:26
+msgid "Alarm"
+msgstr "Alarm"
+
+#: config/prefs.php.dist:165
+msgid "All tasks"
+msgstr "Wszystkie zadania"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Zawsze wy¶wietlaæ zakoñczone zadania?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Zawsze wy¶wietlaæ zaleg³e zadania?"
+
+#: config/prefs.php.dist:111
+msgid "Ascending"
+msgstr "Rosn±co"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Tytu³ bloku"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:93
+msgid "Calendar"
+msgstr "Kalendarz"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Kat_egoria"
+
+#: data.php:54 lib/Forms/task.php:73 lib/Forms/task.php:79
+#: templates/view/task.inc:8 config/prefs.php.dist:83 config/prefs.php.dist:98
+msgid "Category"
+msgstr "Kategoria"
+
+#: templates/tasklists/tasklists.inc:20
+msgid "Change"
+msgstr "Zmieñ"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Zmieñ opcje sortowania i wy¶wietlania zadañ."
+
+#: config/prefs.php.dist:144
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Wybierz jak chesz otrzymywaæ przypomnienia o zadaniach z alarmami:"
+
+#: config/prefs.php.dist:135
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Wybierz, czy chesz byæ powiadamiany email'em o nowych, zmienionych i "
+"usuniêtych zadaniach:"
+
+#: config/prefs.php.dist:36
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Wybierz, czy chcesz byæ powiadamiany o zmianach zadañ i alarmach zadañ."
+
+#: config/prefs.php.dist:29
+msgid "Choose your default task list."
+msgstr "Wybierz swoj± domy¶ln± listê zadañ."
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Zamknij wyszukiwanie"
+
+#: view.php:98
+msgid "Complete"
+msgstr "Zakoñcz"
+
+#: lib/Block/summary.php:168 templates/list/task_summaries.inc:11
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Zakoñcz \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Zakoñcz zadanie"
+
+#: config/prefs.php.dist:167
+msgid "Complete tasks"
+msgstr "Zakoñcz zadania"
+
+#: lib/Nag.php:381 lib/Block/summary.php:166
+msgid "Completed"
+msgstr "Zakoñczono"
+
+#: task.php:226
+#, php-format
+msgid "Completed %s."
+msgstr "Zakoñczono %s."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Zadania zakoñczone"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr ""
+"Zadanie nadrzêdne jest zakoñczone, zaznacz je najpierw jako niekompletne"
+
+#: lib/Forms/task.php:91 templates/list/task_headers.inc:31
+#: templates/view/task.inc:38 config/prefs.php.dist:85
+#: config/prefs.php.dist:100
+msgid "Completed?"
+msgstr "Zakoñczone?"
+
+#: data.php:57
+msgid "Completion Status"
+msgstr "Status ukoñczenia"
+
+#: lib/api.php:277
+#, php-format
+msgid "Connection failed: %s"
+msgstr "B³±d po³±czenia: %s"
+
+#: templates/tasklists/tasklists.inc:15 templates/tasklists/tasklists.inc:67
+msgid "Create"
+msgstr "Utwórz"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Utworzono"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:87
+msgid "Day"
+msgstr "Dzieñ"
+
+#: lib/Nag.php:413 lib/UI/VarRenderer/nag.php:123
+msgid "Day(s)"
+msgstr "Dni"
+
+#: config/prefs.php.dist:28
+msgid "Default Task List"
+msgstr "Domy¶lna lista zadañ"
+
+#: lib/Forms/task.php:84
+msgid "Delay Start Until"
+msgstr "Opó¼nij rozpoczêcie do"
+
+#: view.php:105 templates/tasklists/tasklists.inc:68
+msgid "Delete"
+msgstr "Usuñ"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Potwierdzenie usuwania"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Zachowanie przycisku usuwania"
+
+#: task.php:102 lib/Forms/task.php:96
+msgid "Delete this task"
+msgstr "Usuñ to zadanie"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "Usuniêto %s."
+
+#: config/prefs.php.dist:112
+msgid "Descending"
+msgstr "Malej±co"
+
+#: data.php:53 lib/Forms/task.php:92
+msgid "Description"
+msgstr "Opis"
+
+#: templates/tasklists/tasklists.inc:63
+msgid "Description:"
+msgstr "Opis:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Opcje wy¶wietlania"
+
+#: config/prefs.php.dist:122
+msgid "Do you want to confirm deleting entries?"
+msgstr "Czy chcesz potwierdzaæ usuwanie wpisów?"
+
+#: data.php:55 lib/Forms/task.php:83 templates/view/task.inc:22
+msgid "Due By"
+msgstr "Termin ukoñczenia"
+
+#: config/prefs.php.dist:84 config/prefs.php.dist:99
+msgid "Due Date"
+msgstr "Termin"
+
+#: lib/UI/VarRenderer/nag.php:86
+msgid "Due date specified."
+msgstr "Okre¶lono termin."
+
+#: view.php:101
+msgid "Edit"
+msgstr "Edytuj"
+
+#: lib/Block/summary.php:159 templates/list/task_summaries.inc:38
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Edytuj \"%s\""
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Edytuj zadanie"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Edytuj kategorie i kolory"
+
+#: task.php:92 task.php:106
+#, php-format
+msgid "Edit: %s"
+msgstr "Edytuj: %s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "B³±d przy usuwaniu zadania: %s"
+
+#: lib/Forms/task.php:90 templates/view/task.inc:34
+msgid "Estimated Time"
+msgstr "Szacowany czas"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Eksportuj"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Eksport zadañ"
+
+#: config/prefs.php.dist:50
+msgid "External Data"
+msgstr "Dane zewnêtrzne"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20
+msgid "General Options"
+msgstr "G³ówne opcje"
+
+#: lib/UI/VarRenderer/nag.php:98
+msgid "Hour"
+msgstr "Godzina"
+
+#: lib/Nag.php:416 lib/UI/VarRenderer/nag.php:122
+msgid "Hour(s)"
+msgstr "Godzin"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Import zadañ, krok %d"
+
+#: data.php:204
+msgid "Import/Export Tasks"
+msgstr "Import/Export zadañ"
+
+#: list.php:113
+msgid "Incom_plete tasks"
+msgstr "Zadania nieukoñczone"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Zadania nieukoñczone"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Nieukoñczone zadania podrzêdne, zakoñcz je najpierw"
+
+#: config/prefs.php.dist:166
+msgid "Incomplete tasks"
+msgstr "Zadania nieukoñczone"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Ostatnio zmodyfikowano"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Oznacz \"%s\" jako nieukoñczone"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Oznacz jako nieukoñczone"
+
+#: lib/api.php:101
+msgid "Maximum Number of Tasks"
+msgstr "Maksymalna ilo¶æ zadañ"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Menu alarmów"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Lista menu"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Minute"
+msgstr "Minuta"
+
+#: lib/Nag.php:419 lib/UI/VarRenderer/nag.php:122
+msgid "Minute(s)"
+msgstr "Minut"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:88
+msgid "Month"
+msgstr "Miesi±c"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Wiêcej opcji..."
+
+#: lib/api.php:674
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Znaleziono wiele komponentów iCalendar; wspierany jest tylko vTodo."
+
+#: templates/panel.inc:38
+msgid "My Tasklists:"
+msgstr "Moje listy zadañ:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Moje zadania"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "N_azwa"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Nazwa"
+
+#: lib/Driver/kolab.php:678
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: nie znaleziono zadania %s"
+
+#: data.php:52 lib/Forms/task.php:62
+msgid "Name"
+msgstr "Nazwa"
+
+#: templates/tasklists/tasklists.inc:58
+msgid "Name:"
+msgstr "Nazwa:"
+
+#: task.php:71 task.php:106 lib/Block/tree_menu.php:21
+msgid "New Task"
+msgstr "Nowe zadanie"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Dalej"
+
+#: config/prefs.php.dist:131
+msgid "No"
+msgstr "Nie"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Brak opó¼nienia"
+
+#: lib/UI/VarRenderer/nag.php:82
+msgid "No due date."
+msgstr "Brak terminu."
+
+#: lib/api.php:455 lib/api.php:511 lib/api.php:667
+msgid "No iCalendar data was found."
+msgstr "Nie znaleziono danych w formacie iCalendar."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Brak zadañ nadrzêdnych"
+
+#: lib/Nag.php:602
+msgid "No task lists are available to guests."
+msgstr "Brak listy zadañ dostêpnych dla go¶ci."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Brak pasuj±cych zadañ"
+
+#: lib/Block/summary.php:222
+msgid "No tasks to display"
+msgstr "Brak zadañ do wy¶wietlenia"
+
+#: lib/Nag.php:423 lib/UI/VarRenderer/nag.php:138
+msgid "None"
+msgstr "Brak"
+
+#: lib/Nag.php:382
+msgid "Not Completed"
+msgstr "Nie zakoñczone"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Nie prywatne"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Nie znaleziono"
+
+#: config/prefs.php.dist:35
+msgid "Notifications"
+msgstr "Powiadomienia"
+
+#: config/prefs.php.dist:133
+msgid "On all shown tasklists"
+msgstr "O wszystkich widocznych listach zadañ"
+
+#: config/prefs.php.dist:134
+msgid "On all tasklists I have read access to"
+msgstr "O wszystkicha listach zadañ, które mogê czytaæ"
+
+#: config/prefs.php.dist:132
+msgid "On my tasklists only"
+msgstr "Tylko o moich listach zadañ"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "P_ri"
+
+#: lib/Forms/task.php:69
+msgid "Parent task"
+msgstr "Zadanie nadrzêdne"
+
+#: templates/tasklists/tasklists.inc:60
+msgid "Permission"
+msgstr "Uprawnienia"
+
+#: lib/api.php:429 lib/api.php:549 lib/api.php:612 lib/api.php:649
+msgid "Permission Denied"
+msgstr "Dostêp zabroniony"
+
+#: lib/api.php:159
+msgid "Permission denied"
+msgstr "Brak uprawnieñ"
+
+#: data.php:56 lib/Forms/task.php:87 templates/view/task.inc:30
+#: config/prefs.php.dist:81 config/prefs.php.dist:96
+msgid "Priority"
+msgstr "Priorytet"
+
+#: lib/Driver.php:765 templates/view/task.inc:14
+msgid "Private"
+msgstr "Prywatne"
+
+#: lib/Driver.php:763
+msgid "Private Task"
+msgstr "Prywatne zadanie"
+
+#: lib/Forms/task.php:82 templates/view/task.inc:12
+msgid "Private?"
+msgstr "Prywatne?"
+
+#: view.php:105
+msgid "Really delete this task?"
+msgstr "Na prawdê usun±æ to zadanie?"
+
+#: lib/Forms/task.php:94 templates/panel.inc:57
+msgid "Save"
+msgstr "Zapisz"
+
+#: task.php:191
+#, php-format
+msgid "Saved %s."
+msgstr "Zapisano %s."
+
+#: search.php:14 lib/Block/tree_menu.php:30 templates/list/header.inc:4
+#: templates/search/search.inc:31
+msgid "Search"
+msgstr "Szukaj"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Szukaj w:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Szukaj _tekstu:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Szukaj:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Wyszukiwanie: rezultaty dla \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:93
+msgid "Select a date"
+msgstr "Wybierz datê"
+
+#: templates/tasklists/tasklists.inc:52
+msgid "Select a tasklist"
+msgstr "Sybierz listê zadañ"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Wybierz format eksportu:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Wybierz plik do zaimportowania:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Wybierz format pliku ¼ród³owego:"
+
+#: templates/panel.inc:48
+msgid "Shared Tasklists:"
+msgstr "Wspó³dzielona lista zadañ:"
+
+#: config/prefs.php.dist:62
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr ""
+"Czy lista zadañ powinna byæ wy¶wietlana we w³asnej kolumnie w widoku listy?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Wy¶wietlaæ przyciski akcji?"
+
+#: config/prefs.php.dist:168
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Wy¶wietlaæ zakoñczone, nieukoñczone czy wszystkie zadania w li¶cie zadañ?"
+
+#: config/prefs.php.dist:155
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+"Wy¶wietlaæ dane z którejkolwiek z tych aplikacji w Twojej li¶cie zadañ?"
+
+#: config/prefs.php.dist:51
+msgid "Show data from other applications or sources."
+msgstr "Wy¶wietlaj dane z innych aplikacji lub ¼róde³."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Wy¶wietlaæ terminy?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Wy¶wietlaæ priorytety?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Wy¶wietlaæ alarmy zadañ?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Wy¶wietlaæ kategorie zadañ?"
+
+#: config/prefs.php.dist:72
+msgid "Show task list options panel?"
+msgstr "Wy¶wietlaæ panel opcji listy zadañ?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Wy¶wietlaæ nazwê listy zadañ?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Wy¶wietlaj zadania z tych kategori"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Wy¶wietlaj zadania z tych list zadañ"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Sortuj po kategorii"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Sortuj po statusie ukoñczenia"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Sortuj po terminie"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Sortuj po nazwie"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Sortuj po priorytecie"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Sortuj po nazwie u¿ytkownika"
+
+#: config/prefs.php.dist:113
+msgid "Sort direction:"
+msgstr "Kierunek sortowania:"
+
+#: config/prefs.php.dist:87
+msgid "Sort tasks by:"
+msgstr "Sortuj zadania wed³ug:"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Data rozpoczêcia"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Nie okre¶lono daty rozpoczêcia."
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Alarm zadania"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Alarm zadania?"
+
+#: lib/Forms/task.php:65
+msgid "Task List"
+msgstr "Lista zadañ"
+
+#: config/prefs.php.dist:27 config/prefs.php.dist:34 config/prefs.php.dist:49
+msgid "Task List and Share Options"
+msgstr "Opcje listy zadañ i udzia³ów"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Listy zadañ"
+
+#: config/prefs.php.dist:82 config/prefs.php.dist:97
+msgid "Task Name"
+msgstr "Nazwa zadania"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Notatka zadania"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Notatka zadania?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Wyszukiwanie zadañ"
+
+#: lib/Nag.php:627
+msgid "Task added:"
+msgstr "Dodano zadanie:"
+
+#: lib/Nag.php:637
+msgid "Task deleted:"
+msgstr "Usuniêto zadanie:"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Lista zadañ musi posiadaæ nazwê."
+
+#: lib/Nag.php:632
+msgid "Task modified:"
+msgstr "Zmodyfikowano zadanie:"
+
+#: view.php:43 task.php:85
+msgid "Task not found."
+msgstr "Nie znaleziono zadania."
+
+#: config/prefs.php.dist:86 config/prefs.php.dist:101
+msgid "Tasklist"
+msgstr "Lista zadañ"
+
+#: templates/panel.inc:30 templates/panel.inc:31
+#: templates/tasklists/tasklists.inc:48
+msgid "Tasklists"
+msgstr "Listy zadañ"
+
+#: templates/tasklists/tasklists.inc:50
+msgid "Tasklists:"
+msgstr "Listy zadañ:"
+
+#: lib/api.php:728
+msgid "Tasks"
+msgstr "Zadania"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Podsumowanie zadañ"
+
+#: data.php:192
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Plik %s nie zawiera³ ¿adnych zadañ."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Backend zadañ nie jest obecnie dostêpny."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Backend zadañ nie jest obecnie dostêpny: %s"
+
+#: lib/Forms/task.php:130
+msgid "The alarm value must not be empty."
+msgstr "Warto¶æ alarmu nie mo¿e byæ pusta."
+
+#: lib/Nag.php:628
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr "Zadanie \"%s\" zosta³o dodane do listy zadañ \"%s\" z terminem: %s."
+
+#: lib/Nag.php:638
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr "Zadanie \"%s\" zosta³o usuniête z listy zadañ \"%s\" z terminem: %s."
+
+#: lib/Nag.php:633
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"Zadanie \"%s\" zosta³o poprawione na li¶cie zadañ \"%s\" z terminem: %s."
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Lista zadañ \"%s\" nie mo¿e zostaæ utworzona: %s"
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Lista zadañ \"%s\" nie mo¿e zostaæ zapisana: %s"
+
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Lista zadañ \"%s\" zosta³a utworzona."
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Lista zadañ \"%s\" zosta³a usuniêta."
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Lista zadañ \"%s\" zosta³a zapisana."
+
+#: config/prefs.php.dist:102
+msgid "Then:"
+msgstr "Nastêpnie:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Nie ma zadañ spe³niaj±cych podane kryteria."
+
+#: task.php:222
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Wyst±pi³ problem przy zmianie statusu %s: %s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Wyst±pi³ problem przy usuwaniu %s: %s"
+
+#: task.php:189
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Wyst±pi³ problem przy zapisywaniu zadania: %s."
+
+#: data.php:195
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Wyst±pi³ b³±d podczas importu danych: %s"
+
+#: lib/api.php:447 lib/api.php:661
+msgid "There was an error importing the iCalendar data."
+msgstr "Wyst±pi³ b³±d podczas importu danych w formacie iCalendar."
+
+#: data.php:79
+msgid "There were no tasks to export."
+msgstr "Nie by³o zadañ do wyeksportowania."
+
+#: data.php:125
+msgid "This file format is not supported."
+msgstr "Ten format pliku nie jest wspierany."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Nie mo¿na usun±æ \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Nie mo¿na za³adowaæ definicji %s."
+
+#: lib/Nag.php:847 lib/Nag.php:848 lib/Nag.php:862 lib/Nag.php:863
+#: lib/Forms/task.php:78 lib/Block/summary.php:31 lib/Block/summary.php:215
+#: templates/list/task_summaries.inc:62 templates/view/task.inc:9
+msgid "Unfiled"
+msgstr "Niewype³niona"
+
+#: lib/api.php:518 lib/api.php:576 lib/api.php:698
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Niewspierany rodzaj zawarto¶ci: %s"
+
+#: lib/Driver.php:930
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Chcemy przypomnieæ Ci o tym terminie zadania.\n"
+"\n"
+"%s\n"
+"\n"
+"Data: %s\n"
+"Czas: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:410 lib/UI/VarRenderer/nag.php:123
+msgid "Week(s)"
+msgstr "Tygodni"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Do której listy zadañ powinny zostaæ dodane zadania?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:89
+msgid "Year"
+msgstr "Rok"
+
+#: task.php:61 data.php:41 data.php:150
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Nie masz zezwolenia aby utworzyæ wiêcej ni¿ %d zadañ."
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Nie masz uprawnieñ aby wy¶wietliæ tê listê zadañ."
+
+#: tasklists.php:84
+msgid "You must select a task list to be deleted."
+msgstr "Musisz wybraæ listê zadañ do usuniêcia."
+
+#: templates/tasklists/tasklists.inc:37
+msgid "You must select a tasklist to be deleted."
+msgstr "Musisz wybraæ listê zadañ do usuniêcia."
+
+#: lib/Nag.php:628
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Za¿±da³e¶ aby Cie poinformowaæ gdy zadania zostan± dodane do Twojej listy "
+"zadañ."
+
+#: lib/Nag.php:638
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Za¿±da³e¶ aby Cie poinformowaæ gdy zadania zostan± usuniête z Twojej listy "
+"zadañ."
+
+#: lib/Nag.php:633
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Za¿±da³e¶ aby Cie poinformowaæ gdy zadania zostan± zmienione na Twojej "
+"li¶cie zadañ."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Twoja domy¶lna lista zadañ:"
+
+#: templates/panel.inc:43
+msgid "[Manage My Tasklists]"
+msgstr "[Zarz±dzaj moimi listami zadañ]"
+
+#: lib/Block/summary.php:101 lib/Block/summary.php:199
+#: templates/list/task_summaries.inc:46
+msgid "[none]"
+msgstr "[brak]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "Wszystkie z_adania"
+
+#: list.php:112
+msgid "_All tasks"
+msgstr "Wszystkie z_adania"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "Kategoria"
+
+#: view.php:98
+msgid "_Complete"
+msgstr "Zakoñcz"
+
+#: list.php:115
+msgid "_Completed tasks"
+msgstr "Zadania ukoñczone"
+
+#: view.php:105
+msgid "_Delete"
+msgstr "Usuñ"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "Opis"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "Termin"
+
+#: view.php:101
+msgid "_Edit"
+msgstr "_Edytuj"
+
+#: list.php:114
+msgid "_Future tasks"
+msgstr "Przysz³e zadania"
+
+#: lib/Nag.php:550
+msgid "_Import/Export"
+msgstr "_Import/Eksport"
+
+#: lib/Nag.php:537
+msgid "_List Tasks"
+msgstr "_Lista zadañ"
+
+#: lib/Nag.php:542
+msgid "_New Task"
+msgstr "_Nowe zadanie"
+
+#: lib/Nag.php:555
+msgid "_Print"
+msgstr "Drukuj"
+
+#: lib/Nag.php:546
+msgid "_Search"
+msgstr "_Szukaj"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Lista zadañ"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "brak czasu"
+
+#: data.php:99 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "zadania.csv"
+
+#: data.php:110
+msgid "tasks.ics"
+msgstr "zadania.ics"
--- /dev/null
+# translation of pt_BR.po to Português brasileiro
+# This file is distributed under the same license as the Nag package.
+# Copyright YEAR Horde Project.
+#
+# Fabio Gomes <flgomes@fazenda.sp.gov.br>, 2005.
+# Luis Felipe Marzagao <duli@fedoraproject.org>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: pt_BR\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-07-06 23:43-0300\n"
+"PO-Revision-Date: 2008-07-07 00:09-0300\n"
+"Last-Translator: Luis Felipe Marzagao <duli@fedoraproject.org>\n"
+"Language-Team: Português brasileiro <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: templates/view/task.inc:39
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s subtarefas incluídas)"
+
+#: lib/Nag.php:76
+#, php-format
+msgid "%d hour"
+msgstr "%d hora"
+
+#: lib/Nag.php:78
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d hora, %d minuto"
+
+#: lib/Nag.php:80
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d hora, %d minutos"
+
+#: lib/Nag.php:68
+#, php-format
+msgid "%d hours"
+msgstr "%d horas"
+
+#: lib/Nag.php:70
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d horas, %d minuto"
+
+#: lib/Nag.php:72
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d horas, %d minutos"
+
+#: lib/Nag.php:86
+#, php-format
+msgid "%d minute"
+msgstr "%d minuto"
+
+#: lib/Nag.php:88
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutos"
+
+#: lib/Nag.php:398
+#, php-format
+msgid "%s at %s"
+msgstr "%s à %s"
+
+#: lib/Nag.php:658 lib/Block/summary.php:124 lib/Block/tree_alarms.php:41
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s vencerá em %s"
+
+#: lib/Nag.php:656 lib/Block/summary.php:121 lib/Block/tree_alarms.php:43
+#, php-format
+msgid "%s is due now."
+msgstr "%s está vencido agora."
+
+#: task.php:240
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s está compelto agora."
+
+#: data.php:217
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s importado com sucesso"
+
+#: lib/Nag.php:584 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "Lista de Tarefas de %s"
+
+#: lib/Nag.php:349 lib/Forms/task.php:84
+msgid "(highest)"
+msgstr "(altíssima)"
+
+#: lib/Nag.php:349 lib/Forms/task.php:85
+msgid "(lowest)"
+msgstr "(baixíssima)"
+
+#: task.php:224
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Acesso negado ao completar a tarefa %s."
+
+#: task.php:27
+msgid "Access denied deleting task."
+msgstr "Acesso negado ao apagar a tarefa."
+
+#: task.php:91 task.php:97
+msgid "Access denied editing task."
+msgstr "Acesso negado ao editar a tarefa."
+
+#: task.php:89
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Acesso negado ao editar a tarefa: %s"
+
+#: task.php:171
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Acesso negado ao mover a tarefa para %s."
+
+#: task.php:174
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Acesso negado ao remover a tarefa de %s."
+
+#: task.php:132
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Acesso negado ao gravar a tarefa em %s."
+
+#: task.php:128
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Acesso negado ao gravar a tarefa: %s"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:115
+msgid "Alarm"
+msgstr "Aviso"
+
+#: templates/data/export.inc:34 config/prefs.php.dist:208
+msgid "All tasks"
+msgstr "Todas tarefas"
+
+#: lib/Block/summary.php:76
+msgid "Always show completed and future tasks?"
+msgstr "Sempre mostrar tarefas completadas e futuras?"
+
+#: lib/Block/summary.php:72
+msgid "Always show overdue tasks?"
+msgstr "Sempre exibir tarefas vencidas?"
+
+#: config/prefs.php.dist:125
+msgid "Ascending"
+msgstr "Ascendente"
+
+#: data.php:55 templates/view/task.inc:12 templates/list/task_headers.inc:56
+#: lib/Forms/task.php:110 config/prefs.php.dist:71 config/prefs.php.dist:98
+#: config/prefs.php.dist:114
+msgid "Assignee"
+msgstr "Assinante"
+
+#: lib/Block/summary.php:44
+msgid "Block title"
+msgstr "Título do bloco"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Calendário"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: templates/list/task_headers.inc:60
+msgid "Cat_egory"
+msgstr "Cate_goria"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:102
+#: lib/Forms/task.php:107 config/prefs.php.dist:73 config/prefs.php.dist:95
+#: config/prefs.php.dist:111
+msgid "Category"
+msgstr "Categoria"
+
+#: tasklists/index.php:56 templates/tasklist_list.php:33
+msgid "Change Permissions"
+msgstr "Alterar Permissões"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Altera a ordem da sua lista de tarefas e as opções de visualização."
+
+#: config/prefs.php.dist:187
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Escolha como deseja receber lembretes para tarefas com alarme:"
+
+#: config/prefs.php.dist:178
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Escolha se deseja ser notificado por e-mail sobre tarefas novas, editadas e "
+"apagadas:"
+
+#: config/prefs.php.dist:43
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Escolha se deseja ser notificado sobre alterações de tarefas e alarmes de "
+"tarefas."
+
+#: config/prefs.php.dist:36
+msgid "Choose your default task list."
+msgstr "Escolha sua lista de tarefas padrão."
+
+#: templates/tasklist_list.php:29 templates/tasklist_list.php:30
+msgid "Click or copy this URL to display this task list"
+msgstr "Clique ou copie (n)esta URL para exibir esta lista de tarefas"
+
+#: templates/panel.inc:44
+msgid "Close"
+msgstr "Fechar"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Fechar Pesquisa"
+
+#: view.php:114
+msgid "Complete"
+msgstr "Encerrar"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:192
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Completar \"%s\""
+
+#: templates/view/task.inc:46
+msgid "Complete Task"
+msgstr "Tarefa Encerrada"
+
+#: config/prefs.php.dist:210
+msgid "Complete tasks"
+msgstr "Tarefas encerradas"
+
+#: lib/Nag.php:413 lib/Block/summary.php:190
+msgid "Completed"
+msgstr "Encerrada"
+
+#: task.php:238
+#, php-format
+msgid "Completed %s."
+msgstr "%s encerrada."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Tarefas Completadas"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Tarefa mãe completada, marque-a como incompleta antes"
+
+#: templates/data/export.inc:37
+msgid "Completed tasks"
+msgstr "Tarefas completadas"
+
+#: templates/view/task.inc:42 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:121 config/prefs.php.dist:97 config/prefs.php.dist:113
+msgid "Completed?"
+msgstr "Encerrada?"
+
+#: data.php:63
+msgid "Completion Date"
+msgstr "Data de Cumprimento"
+
+#: data.php:62
+msgid "Completion Status"
+msgstr "Situação de Encerramento"
+
+#: lib/api.php:504 lib/api.php:755
+#, php-format
+msgid "Connection failed: %s"
+msgstr "A conexão falhou: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Criar"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Criar Lista de Tarefas"
+
+#: templates/tasklist_list.php:9
+msgid "Create a new Task List"
+msgstr "Criar uma nova Lista de Tarefas"
+
+#: templates/view/task.inc:61
+msgid "Created"
+msgstr "Criado"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Dia"
+
+#: lib/Nag.php:445 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Dia(s)"
+
+#: config/prefs.php.dist:35
+msgid "Default Task List"
+msgstr "Lista de Tarefas Padrão"
+
+#: config/prefs.php.dist:29
+msgid "Defaults for new tasks"
+msgstr "Padrões para novas tarefas"
+
+#: lib/Forms/task.php:114
+msgid "Delay Start Until"
+msgstr "Atrasar Início Até"
+
+#: view.php:121 tasklists/index.php:57 templates/tasklist_list.php:35
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Excluir"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Excluir %s"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Confirmação de Exclusão"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Comportamento do botão de exclusão"
+
+#: task.php:112 lib/Forms/task.php:126 lib/Forms/task.php:153
+msgid "Delete this task"
+msgstr "Excluir esta tarefa"
+
+#: task.php:37
+#, php-format
+msgid "Deleted %s."
+msgstr "%s excluída."
+
+#: lib/api.php:737
+msgid "Deleting entire tasklists is not supported."
+msgstr "Não é possível apagar listas inteiras de tarefas."
+
+#: config/prefs.php.dist:126
+msgid "Descending"
+msgstr "Descendente"
+
+#: data.php:53 lib/Forms/EditTaskList.php:44 lib/Forms/task.php:122
+#: lib/Forms/CreateTaskList.php:37
+msgid "Description"
+msgstr "Descrição"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Opções de Exibição"
+
+#: templates/tasklist_list.php:18
+msgid "Display URL"
+msgstr "Exibir URL"
+
+#: config/prefs.php.dist:136
+msgid "Do you want to confirm deleting entries?"
+msgstr "Você deseja confirmar a exclusão de registros?"
+
+#: data.php:56 templates/view/task.inc:26 lib/Forms/task.php:113
+msgid "Due By"
+msgstr "Vencimento Em"
+
+#: config/prefs.php.dist:72 config/prefs.php.dist:96 config/prefs.php.dist:112
+msgid "Due Date"
+msgstr "Data de Vencimento"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Vencimento especificado."
+
+#: view.php:117 tasklists/index.php:55 templates/tasklist_list.php:31
+msgid "Edit"
+msgstr "Editar"
+
+#: templates/list/task_summaries.inc:39 lib/Block/summary.php:182
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Editar \"%s\""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Editar %s"
+
+#: templates/list/task_headers.inc:43
+msgid "Edit Task"
+msgstr "Editar Tarefa"
+
+#: templates/list/task_headers.inc:65
+msgid "Edit categories and colors"
+msgstr "Editar categorias e cores"
+
+#: task.php:102 task.php:116
+#, php-format
+msgid "Edit: %s"
+msgstr "Editar: %s"
+
+#: task.php:20
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Erro ao apagar tarefa: %s"
+
+#: data.php:61 templates/view/task.inc:38 lib/Forms/task.php:120
+msgid "Estimated Time"
+msgstr "Tempo Estimado"
+
+#: templates/data/export.inc:41
+msgid "Export"
+msgstr "Exportar"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Exportar Tarefas"
+
+#: config/prefs.php.dist:57
+msgid "External Data"
+msgstr "Dados Externos"
+
+#: templates/data/export.inc:36
+msgid "Future tasks"
+msgstr "Tarefas futuras"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:20 config/prefs.php.dist:27
+msgid "General Options"
+msgstr "Opções Gerais"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Hora"
+
+#: lib/Nag.php:448 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Hora(s)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importar Tarefas, Passo %d"
+
+#: data.php:223
+msgid "Import/Export Tasks"
+msgstr "Importar/Exportar Tarefas"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Tarefas in_completas"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Tarefas Incompletas"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Subtarefas incompletas, complete-as primeiro"
+
+#: templates/data/export.inc:35 config/prefs.php.dist:209
+msgid "Incomplete tasks"
+msgstr "Tarefas incompletas"
+
+#: lib/api.php:432
+msgid "Invalid tasklist file requested."
+msgstr "Arquivo de lista de tarefas requisitado é inválido."
+
+#: lib/api.php:571
+msgid "Invalid tasklist name supplied."
+msgstr "Nome fornecido de lista de tarefas inválido."
+
+#: lib/api.php:448
+msgid "Invalid tasklist requested."
+msgstr "Requisitada lista de tarefas inválida."
+
+#: templates/view/task.inc:68
+msgid "Last Modified"
+msgstr "Última Modificação"
+
+#: tasklists/index.php:61 templates/tasklist_list.php:2
+msgid "Manage Task Lists"
+msgstr "Gerenciar Listas de Tarefas"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Marcar \"%s\" como incompleto"
+
+#: templates/view/task.inc:48
+msgid "Mark as incomplete"
+msgstr "Marcar como incompleto"
+
+#: lib/api.php:125
+msgid "Maximum Number of Tasks"
+msgstr "Número Máximo de Tarefas"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Alarmes de Menu"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Lista de Menus"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minuto"
+
+#: lib/Nag.php:451 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minuto(s)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Mês"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Mais Opções..."
+
+#: lib/api.php:1230
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Múltiplos componentes iCalendar encontrados; somente um vTodo é suportado."
+
+#: templates/panel.inc:72
+msgid "My Task Lists:"
+msgstr "Minhas Listas de Tarefas:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Minhas Tarefas"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "_Nome"
+
+#: templates/list/task_headers.inc:46
+msgid "Na_me"
+msgstr "_Nome"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: Não foi possível encontrar a tarefa %s"
+
+#: data.php:52 lib/Forms/EditTaskList.php:43 lib/Forms/task.php:91
+#: lib/Forms/CreateTaskList.php:36
+msgid "Name"
+msgstr "Nome"
+
+#: task.php:81 task.php:116 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Nova Tarefa"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Próxima"
+
+#: config/prefs.php.dist:174
+msgid "No"
+msgstr "Não"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Sem atraso"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Sem data de vencimento."
+
+#: lib/api.php:604 lib/api.php:953 lib/api.php:1011 lib/api.php:1223
+msgid "No iCalendar data was found."
+msgstr "Nenhum dado iCalendar foi encontrado."
+
+#: lib/Forms/task.php:53
+msgid "No parent task"
+msgstr "Sem tarefa mãe"
+
+#: lib/Nag.php:673
+msgid "No task lists are available to guests."
+msgstr "Nenhuma lista de tarefas está disponível para convidados."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Nenhuma tarefa coincide"
+
+#: lib/Block/summary.php:250
+msgid "No tasks to display"
+msgstr "Nenhuma tarefa para exibir"
+
+#: lib/Nag.php:455 lib/Forms/task.php:111 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Nenhuma"
+
+#: lib/Nag.php:414
+msgid "Not Completed"
+msgstr "Não Encerrada"
+
+#: templates/view/task.inc:18
+msgid "Not Private"
+msgstr "Não Privado"
+
+#: lib/api.php:811
+msgid "Not configured"
+msgstr "Não configurado"
+
+#: config/prefs.php.dist:42
+msgid "Notifications"
+msgstr "Notificações"
+
+#: config/prefs.php.dist:176
+msgid "On all shown task lists"
+msgstr "Em todas as listas de tarefas exibidas"
+
+#: config/prefs.php.dist:177
+msgid "On all task lists I have read access to"
+msgstr "Em todas as listas de tarefas em que eu tenha permissão de leitura"
+
+#: config/prefs.php.dist:175
+msgid "On my task lists only"
+msgstr "Apenas em minhas listas de tarefas"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "P_rioridade"
+
+#: lib/Forms/task.php:98
+msgid "Parent task"
+msgstr "Tarefa mãe"
+
+#: lib/api.php:820 lib/api.php:858 lib/api.php:891 lib/api.php:927
+#: lib/api.php:1049 lib/api.php:1104 lib/api.php:1168 lib/api.php:1205
+#: lib/api.php:1318 lib/api.php:1365
+msgid "Permission Denied"
+msgstr "Permissão Negada"
+
+#: lib/api.php:256 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: data.php:59 templates/view/task.inc:34 lib/Forms/task.php:117
+#: config/prefs.php.dist:70 config/prefs.php.dist:93 config/prefs.php.dist:109
+msgid "Priority"
+msgstr "Prioridade"
+
+#: templates/view/task.inc:18 lib/Driver.php:903
+msgid "Private"
+msgstr "Privado"
+
+#: data.php:60 lib/Driver.php:901
+msgid "Private Task"
+msgstr "Tarefa Privada"
+
+#: templates/view/task.inc:16 lib/Forms/task.php:112
+msgid "Private?"
+msgstr "Privada?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"Realmente apagar a lista de tarefas \"%s\"? Isto não pode ser desfeito e "
+"todos os dados nesta lista de tarefas serão permanentemente removidos."
+
+#: view.php:121
+msgid "Really delete this task?"
+msgstr "Realmente apagar esta tarefa?"
+
+#: templates/panel.inc:90 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:124
+#: lib/Forms/task.php:151
+msgid "Save"
+msgstr "Gravar"
+
+#: task.php:203
+#, php-format
+msgid "Saved %s."
+msgstr "%s gravado."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Pesquisar"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Pesquisar Em:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Pesquisar _Texto:"
+
+#: templates/panel.inc:60
+msgid "Search for Task Lists:"
+msgstr "Pesquisar por Listas de Tarefas:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Pesquisar:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Pesquisa: Resultados para \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Selecione uma data"
+
+#: config/prefs.php.dist:74
+msgid "Select the columns that should be shown in the list view:"
+msgstr "Selecione as colunas que serão mostradas na exibição de lista:"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Selecione o formato para exportar:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Selecione o arquivo para importar:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Selecione o formato do arquivo de origem:"
+
+#: templates/data/export.inc:20
+msgid "Select the task list(s) to export from:"
+msgstr "Selecione a(s) lista(s) de tarefas de onde exportar:"
+
+#: templates/data/export.inc:32
+msgid "Select the task states to export:"
+msgstr "Selecione os estados de tarefas para exportar:"
+
+#: templates/panel.inc:81
+msgid "Shared Task Lists:"
+msgstr "Listas de Tarefas Compartilhadas:"
+
+#: lib/Block/summary.php:52
+msgid "Show action buttons?"
+msgstr "Exibir botões de ação?"
+
+#: config/prefs.php.dist:211
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Exibir encerradas, incompletas, ou todas as tarefas na lista de tarefas?"
+
+#: config/prefs.php.dist:198
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+"Exibir dados de qualquer destas outras aplicações na sua lista de tarefas?"
+
+#: config/prefs.php.dist:58
+msgid "Show data from other applications or sources."
+msgstr "Exibir dados de outras aplicações ou fontes."
+
+#: lib/Block/summary.php:56
+msgid "Show due dates?"
+msgstr "Exibir datas de vencimento?"
+
+#: lib/Block/summary.php:48
+msgid "Show priorities?"
+msgstr "Exibir prioridades?"
+
+#: lib/Block/summary.php:64
+msgid "Show task alarms?"
+msgstr "Exibir avisos da tarefa?"
+
+#: lib/Block/summary.php:68
+msgid "Show task category?"
+msgstr "Exibir categoria da tarefa?"
+
+#: config/prefs.php.dist:84
+msgid "Show task list options panel?"
+msgstr "Exibir o painel de opções de listas de tarefas?"
+
+#: lib/Block/summary.php:60
+msgid "Show tasklist name?"
+msgstr "Exibir nome da lista de tarefas?"
+
+#: lib/Block/summary.php:85
+msgid "Show tasks from these categories"
+msgstr "Exibir tarefas destas categorias"
+
+#: lib/Block/summary.php:80
+msgid "Show tasks from these tasklists"
+msgstr "Exibir tarefas destas listas de tarefas"
+
+#: templates/list/task_headers.inc:56
+msgid "Sort by Assignee"
+msgstr "Ordenar por Assinante"
+
+#: templates/list/task_headers.inc:60
+msgid "Sort by Category"
+msgstr "Ordenar por Categoria"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Ordenar por Situação de Conclusão"
+
+#: templates/list/task_headers.inc:52
+msgid "Sort by Due Date"
+msgstr "Ordenar por Data de Vencimento"
+
+#: templates/list/task_headers.inc:46
+msgid "Sort by Name"
+msgstr "Ordenar por Nome"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Ordenar por Prioridade"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Ordenar por Nome de Usuário"
+
+#: config/prefs.php.dist:127
+msgid "Sort direction:"
+msgstr "Direção de ordenação:"
+
+#: config/prefs.php.dist:100
+msgid "Sort tasks by:"
+msgstr "Ordenar tarefas por:"
+
+#: data.php:58
+msgid "Start"
+msgstr "Iniciar"
+
+#: templates/view/task.inc:22
+msgid "Start Date"
+msgstr "Data Inicial"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Data de início especificada."
+
+#: templates/tasklist_list.php:19
+msgid "Subscription URL"
+msgstr "URL de assinatura"
+
+#: templates/list/task_summaries.inc:61
+msgid "Task Alarm"
+msgstr "Aviso da Tarefa"
+
+#: templates/list/task_headers.inc:49
+msgid "Task Alarm?"
+msgstr "Avisar sobre a Tarefa?"
+
+#: config/prefs.php.dist:28
+msgid "Task Defaults"
+msgstr "Padrões da Tarefa"
+
+#: lib/Driver/sql.php:100
+msgid "Task ID not found"
+msgstr "ID da Tarefa não encontrado"
+
+#: templates/tasklist_list.php:17 lib/Forms/task.php:94
+#: config/prefs.php.dist:69 config/prefs.php.dist:99 config/prefs.php.dist:115
+msgid "Task List"
+msgstr "Lista de Tarefas"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Informações da Lista de Tarefas"
+
+#: templates/tasklist_list.php:14
+msgid "Task List List"
+msgstr "Lista das Listas de Tarefas"
+
+#: config/prefs.php.dist:34 config/prefs.php.dist:41 config/prefs.php.dist:56
+msgid "Task List and Share Options"
+msgstr "Opções de Listagem e Compartilhamento de Tarefas"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "Proprietário da Lista de Tarefas %s."
+
+#: templates/panel.inc:54 templates/panel.inc:55
+msgid "Task Lists"
+msgstr "Listas de Tarefas"
+
+#: config/prefs.php.dist:94 config/prefs.php.dist:110
+msgid "Task Name"
+msgstr "Nome da Tarefa"
+
+#: templates/list/task_summaries.inc:59
+msgid "Task Note"
+msgstr "Anotações da Tarefa"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Note?"
+msgstr "Redigir uma Nota?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Pesquisa de Tarefa"
+
+#: lib/Driver/sql.php:136
+msgid "Task UID not found"
+msgstr "UID da tarefa não encontrada"
+
+#: lib/Nag.php:698
+msgid "Task added:"
+msgstr "Tarefa adicionada:"
+
+#: lib/Nag.php:708
+msgid "Task deleted:"
+msgstr "Tarefa apagada:"
+
+#: lib/Nag.php:703
+msgid "Task modified:"
+msgstr "Tarefa modificada:"
+
+#: task.php:95 view.php:43
+msgid "Task not found."
+msgstr "Tarefa não encontrada."
+
+#: lib/api.php:749
+msgid "Tasklist does not exist or no permission to delete"
+msgstr "Lista de Tarefas não existe ou nenhuma permissão para apagar"
+
+#: lib/api.php:577
+msgid "Tasklist does not exist or no permission to edit"
+msgstr "Lista de Tarefas não existe ou nenhuma permissão para editar"
+
+#: lib/api.php:1287
+msgid "Tasks"
+msgstr "Tarefas"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Resumo das Tarefas"
+
+#: lib/api.php:394
+#, php-format
+msgid "Tasks from %s"
+msgstr "Tarefas de %s"
+
+#: data.php:211
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "O arquivo %s não continha nenhuma tarefa."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "A estrutura de Tarefas não está disponível."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "A estrutura de Tarefas não está disponível: %s"
+
+#: lib/Forms/task.php:184
+msgid "The alarm value must not be empty."
+msgstr "O valor do alarme não pode estar vazio."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "A hora atual"
+
+#: lib/Nag.php:699
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"A tarefa \"%s\" foi adicionada na lista de tarefas \"%s\", com uma data de "
+"vencimento de: %s."
+
+#: lib/Nag.php:709
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"A tarefa \"%s\" foi apagada da lista de tarefas \"%s\", com uma data de "
+"vencimento de: %s."
+
+#: lib/Nag.php:704
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"A tarefa \"%s\" foi editada na lista de tarefas \"%s\", com uma data de "
+"vencimento de: %s."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "A lista de tarefas \"%s\" foi criada."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "A lista de tarefas \"%s\" foi excluída."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "A lista de tarefas \"%s\" foi renomeada para \"%s\"."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "A lista de tarefas \"%s\" foi gravada."
+
+#: config/prefs.php.dist:116
+msgid "Then:"
+msgstr "Então:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Não existem tarefas correspondentes ao critério atual."
+
+#: task.php:234
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Houve um problema ao encerrar %s: %s"
+
+#: task.php:33
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Houve um problema ao excluir %s: %s"
+
+#: task.php:201
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Houve um problema ao gravar a tarefa: %s."
+
+#: data.php:214
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Houve um erro ao importar os dados: %s"
+
+#: lib/api.php:596 lib/api.php:945 lib/api.php:1217
+msgid "There was an error importing the iCalendar data."
+msgstr "Houve um erro ao importar os dados do iCalendar."
+
+#: lib/api.php:206
+#, php-format
+msgid "There was an error removing notes for %s. Details have been logged."
+msgstr ""
+"Houve um erro ao remover anotações para %s. Detalhes foram registrados no "
+"log."
+
+#: data.php:94
+msgid "There were no tasks to export."
+msgstr "Não existiam tarefas para exportar."
+
+#: data.php:143
+msgid "This file format is not supported."
+msgstr "Este formato de arquivo não é suportado."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "Esta lista de tarefas não pode ser apagada."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Para assinar esta lista de tarefas a partir de outro programa, use esta URL:"
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Impossível excluir \"%s\": %s"
+
+#: lib/api.php:770
+#, php-format
+msgid "Unable to delete tasklist \"%s\": %s"
+msgstr "Não é possível apagar a lista de tarefas \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Impossível carregar a definição de %s."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Não é possível gravar a lista de tarefas \"%s\": %s"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:72
+#: lib/Nag.php:940 lib/Nag.php:941 lib/Nag.php:955 lib/Nag.php:956
+#: lib/Forms/task.php:107 lib/Block/summary.php:35 lib/Block/summary.php:243
+msgid "Unfiled"
+msgstr "Normal"
+
+#: data.php:64
+msgid "Unique ID"
+msgstr "ID Único"
+
+#: lib/api.php:703 lib/api.php:1018 lib/api.php:1076 lib/api.php:1130
+#: lib/api.php:1255
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Tipo de Conteúdo não suportado: %s"
+
+#: lib/Driver.php:1080
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Gostaríamos de lembrá-lo do vencimento desta tarefa.\n"
+"\n"
+"%s\n"
+"\n"
+"Data: %s\n"
+"Horário: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:442 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Semana(s)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Qual o horário de vencimento padrão para as tarefas?"
+
+#: config/prefs.php.dist:154
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Ao criar uma nova tarefa, definir o vencimento para quantos dias (0 "
+"significa hoje)?"
+
+#: config/prefs.php.dist:145
+msgid "When creating a new task, should it default to having a due date?"
+msgstr ""
+"Ao criar uma nova tarefa, deseja que ela tenha sempre uma data de vencimento?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Em qual lista de tarefas deverão ser adicionadas as tarefas?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Ano"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Você não tem permissão para alterar esta lista de tarefas."
+
+#: data.php:41 data.php:168 task.php:68
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Você não pode criar mais do que %d tarefas."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Você não pode apagar esta lista de tarefas."
+
+#: lib/api.php:143
+msgid "You are not allowed to remove user data."
+msgstr "Você não pode remover dados do usuário."
+
+#: view.php:54
+msgid "You do not have permission to view this tasklist."
+msgstr "Você não tem permissão de visualizar esta lista de tarefas."
+
+#: lib/Nag.php:699
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Você requisitou para ser notificado quando tarefas forem adicionadas às suas "
+"listas de tarefas."
+
+#: lib/Nag.php:709
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Você requisitou para ser notificado quando tarefas forem apagadas das suas "
+"listas de tarefas."
+
+#: lib/Nag.php:704
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Você requisitou para ser notificado quando tarefas forem editadas nas suas "
+"listas de tarefas."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Sua lista de tarefas padrão:"
+
+#: templates/panel.inc:67
+msgid "[Manage Task Lists]"
+msgstr "[Gerenciar Listas de Tarefas]"
+
+#: templates/list/task_summaries.inc:49 lib/Block/summary.php:118
+#: lib/Block/summary.php:226
+msgid "[none]"
+msgstr "[nenhuma]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "Tod_as as Tarefas"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Todas tarefas"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "Cate_goria"
+
+#: view.php:114
+msgid "_Complete"
+msgstr "_Encerrar"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "Tarefas _Encerradas"
+
+#: view.php:121
+msgid "_Delete"
+msgstr "E_xcluir"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "Des_crição"
+
+#: templates/list/task_headers.inc:52
+msgid "_Due Date"
+msgstr "Data de _Vencimento"
+
+#: view.php:117
+msgid "_Edit"
+msgstr "_Editar"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Tare_fas futuras"
+
+#: lib/Nag.php:621
+msgid "_Import/Export"
+msgstr "_Importar/Exportar"
+
+#: lib/Nag.php:608
+msgid "_List Tasks"
+msgstr "_Listar Tarefas"
+
+#: lib/Nag.php:613
+msgid "_New Task"
+msgstr "Nova Tare_fa"
+
+#: lib/Nag.php:626
+msgid "_Print"
+msgstr "_Imprimir"
+
+#: lib/Nag.php:617
+msgid "_Search"
+msgstr "Pes_quisar"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Li_sta de Tarefas"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "am"
+
+#: view.php:75 view.php:84
+#, php-format
+msgid "by %s"
+msgstr "por %s"
+
+#: view.php:77 view.php:86
+msgid "by me"
+msgstr "por mim"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "em %s"
+
+#: lib/Nag.php:84
+msgid "no time"
+msgstr "sem limite"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "pm"
+
+#: data.php:114 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tarefas.csv"
+
+#: data.php:128
+msgid "tasks.ics"
+msgstr "tarefas.ics"
--- /dev/null
+# NAG Portugal Portuguese translation.
+# Manuel Menezes de Sequeira <Manuel.Sequeira>, 2005.
+# Based on a previous
+# translation of pt_BR.po to Brazilian Portuguese
+# translation of nag.po to Brazilian Portuguese
+# This file is distributed under the same license as the horde package.
+# Copyright YEAR Horde Project.
+# Fabio Gomes <flgomes@fazenda.sp.gov.br>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Horde 3.0-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2006-12-26 23:59+0000\n"
+"PO-Revision-Date: 2007-01-06 10:34-0000\n"
+"Last-Translator: Manuel Menezes de Sequeira <Manuel.Sequeira@iscte.pt>\n"
+"Language-Team: Portugal Portuguese <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d hora"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d hora, %d minuto"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d hora, %d minutos"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d horas"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d horas, %d minuto"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d horas, %d minutos"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minuto"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutos"
+
+#: templates/list/header.inc:3
+#, php-format
+msgid "%d tasks"
+msgstr "%d tarefas"
+
+#: lib/Nag.php:380
+#, php-format
+msgid "%s at %s"
+msgstr "%s às %s"
+
+#: lib/Nag.php:532 lib/Block/summary.php:90
+#, php-format
+msgid "%s is due in %s"
+msgstr "Prazo para %s finda em %s"
+
+#: lib/Nag.php:530 lib/Block/summary.php:88
+#, php-format
+msgid "%s is due now."
+msgstr "Prazo para %s finda agora."
+
+#: data.php:193
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s importado com sucesso"
+
+#: tasklists.php:100 lib/base.php:104
+#, php-format
+msgid "%s's Task List"
+msgstr "Lista de Tarefas de %s"
+
+#: lib/Nag.php:337
+msgid "(highest)"
+msgstr "(mais alta)"
+
+#: lib/Nag.php:337
+msgid "(lowest)"
+msgstr "(mais baixa)"
+
+#: templates/list/header.inc:3
+msgid "1 task"
+msgstr "1 tarefa"
+
+#: task.php:286
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Acesso negado ao completar a tarefa %s."
+
+#: task.php:260
+#, php-format
+msgid "Access denied deleting %s."
+msgstr "Acesso negado ao remover %s."
+
+#: task.php:219
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Acesso negado ao mover a tarefa para %s."
+
+#: task.php:222
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Acesso negado ao remover a tarefa de %s."
+
+#: task.php:144
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Acesso negado ao guardar a tarefa em %s."
+
+#: task.php:142
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Acesso negado ao guardar a tarefa: %s"
+
+#: task.php:69
+msgid "Adding A New Task"
+msgstr "Adicionando Uma Nova Tarefa"
+
+#: templates/task/task.inc:67
+msgid "Ala_rm"
+msgstr "A_viso"
+
+#: templates/view/task.inc:33
+msgid "Alarm"
+msgstr "Aviso"
+
+#: config/prefs.php.dist:143
+msgid "All tasks"
+msgstr "Todas as tarefas"
+
+#: lib/Block/summary.php:54
+msgid "Always show completed tasks?"
+msgstr "Mostrar sempre as tarefas completas?"
+
+#: lib/Block/summary.php:51
+msgid "Always show overdue tasks?"
+msgstr "Mostrar sempre tarefas com prazo excedido?"
+
+#: config/prefs.php.dist:98
+msgid "Ascending"
+msgstr "Crescente"
+
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Voltar às Opções de Listas de Tarefas"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:56
+msgid "Calendar"
+msgstr "Calendário"
+
+#: templates/list/task_headers.inc:65
+msgid "Cat_egory"
+msgstr "Cat_egoria"
+
+#: data.php:52 templates/view/task.inc:25 config/prefs.php.dist:70
+#: config/prefs.php.dist:85
+msgid "Category"
+msgstr "Categoria"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Alterar"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Alterar as opções de ordenação e visualização das tarefas."
+
+#: config/prefs.php.dist:122
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Indique se deseja ser notificado via correio electrónico acerca de tarefas "
+"novas, alteradas ou removidas:"
+
+#: config/prefs.php.dist:36
+msgid "Choose if you want to be notified of new, edited, and deleted tasks."
+msgstr ""
+"Indique se deseja ser notificado acerca de tarefas novas, alteradas ou "
+"removidas."
+
+#: config/prefs.php.dist:29
+msgid "Choose your default task list."
+msgstr "Escolha a sua lista de tarefas por omissão."
+
+#: templates/search/search.inc:34
+msgid "Clear Form"
+msgstr "Limpar Formulário"
+
+#: templates/task/task.inc:88
+msgid "Co_mpleted?"
+msgstr "Co_mpleta?"
+
+#: templates/view/task.inc:11
+msgid "Complete"
+msgstr "Completa"
+
+#: templates/list/task_summaries.inc:5 lib/Block/summary.php:145
+#, php-format
+msgid "Complete \"%s\""
+msgstr "\"%s\" completa"
+
+#: templates/view/task.inc:44
+msgid "Complete Task"
+msgstr "Tarefa Completa"
+
+#: config/prefs.php.dist:145
+msgid "Complete tasks"
+msgstr "Tarefas completas"
+
+#: lib/Nag.php:395 lib/Block/summary.php:143
+msgid "Completed"
+msgstr "Completa"
+
+#: task.php:295
+#, php-format
+msgid "Completed %s."
+msgstr "%s completa."
+
+#: templates/view/task.inc:41 templates/list/task_headers.inc:43
+#: config/prefs.php.dist:72 config/prefs.php.dist:87
+msgid "Completed?"
+msgstr "Completa?"
+
+#: data.php:55
+msgid "Completion Status"
+msgstr "Estado de Completude"
+
+#: lib/api.php:225
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Ligação falhou: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Criar"
+
+#: templates/view/task.inc:53
+msgid "Created"
+msgstr "Criado"
+
+#: templates/task/task.inc:76 lib/Nag.php:427
+msgid "Day(s)"
+msgstr "Dia(s)"
+
+#: config/prefs.php.dist:28
+msgid "Default Task List"
+msgstr "Lista de Tarefas por Omissão"
+
+#: templates/tasklists/tasklists.inc:100 templates/view/task.inc:16
+msgid "Delete"
+msgstr "Remover"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Confirmação de Remoção"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Comportamento do botão de remoção."
+
+#: templates/task/task.inc:110
+msgid "Delete this task"
+msgstr "Remover esta tarefa"
+
+#: task.php:268
+#, php-format
+msgid "Deleted %s."
+msgstr "%s removida."
+
+#: config/prefs.php.dist:99
+msgid "Descending"
+msgstr "Decrescente"
+
+#: data.php:51
+msgid "Description"
+msgstr "Descrição"
+
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Descrição:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Opções de Visualização"
+
+#: config/prefs.php.dist:109
+msgid "Do you want to confirm deleting entries?"
+msgstr "Deseja confirmar a remoção de entradas?"
+
+#: data.php:53 templates/view/task.inc:29
+msgid "Due By"
+msgstr "Prazo Expira em"
+
+#: config/prefs.php.dist:71 config/prefs.php.dist:86
+msgid "Due Date"
+msgstr "Prazo"
+
+#: templates/task/task.inc:45
+msgid "Due _By"
+msgstr "Prazo E_xpira em"
+
+#: templates/view/task.inc:13
+msgid "Edit"
+msgstr "Editar"
+
+#: templates/list/task_summaries.inc:20 lib/Block/summary.php:140
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Editar \"%s\""
+
+#: templates/list/task_headers.inc:54
+msgid "Edit Task"
+msgstr "Editar Tarefa"
+
+#: templates/list/task_headers.inc:70
+msgid "Edit categories and colors"
+msgstr "Editar categorias e cores"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Exportar"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Exportar Tarefas"
+
+#: config/prefs.php.dist:47
+msgid "External Data"
+msgstr "Dados Externos"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20
+msgid "General Options"
+msgstr "Opções Gerais"
+
+#: templates/task/task.inc:75 lib/Nag.php:430
+msgid "Hour(s)"
+msgstr "Hora(s)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importar Tarefas, Passo %d"
+
+#: data.php:199
+msgid "Import/Export Tasks"
+msgstr "Importar/Exportar Tarefas"
+
+#: list.php:88
+msgid "Incom_plete tasks"
+msgstr "Tarefas incom_pletas"
+
+#: config/prefs.php.dist:144
+msgid "Incomplete tasks"
+msgstr "Tarefas incompletas"
+
+#: templates/view/task.inc:60
+msgid "Last Modified"
+msgstr "Última Modificação"
+
+#: lib/api.php:82
+msgid "Maximum Number of Tasks"
+msgstr "Número Máximo de Tarefas"
+
+#: templates/task/task.inc:74 lib/Nag.php:433
+msgid "Minute(s)"
+msgstr "Minuto(s)"
+
+#: task.php:126
+msgid "Modifying:"
+msgstr "Modificando:"
+
+#: lib/api.php:610
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Encontrados múltiplos componentes iCalendar: só se suporta um único vTodo."
+
+#: list.php:39
+msgid "My Tasks"
+msgstr "As Minhas Tarefas"
+
+#: templates/search/search.inc:25 templates/task/task.inc:17
+msgid "N_ame"
+msgstr "N_ome"
+
+#: templates/list/task_headers.inc:57
+msgid "Na_me"
+msgstr "No_me"
+
+#: data.php:50
+msgid "Name"
+msgstr "Nome"
+
+#: lib/Block/summary.php:18
+msgid "New Task"
+msgstr "Nova Tarefa"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Próxima"
+
+#: config/prefs.php.dist:118
+msgid "No"
+msgstr "Não"
+
+#: templates/task/task.inc:48
+msgid "No due date."
+msgstr "Sem prazo."
+
+#: lib/api.php:404 lib/api.php:448 lib/api.php:603
+msgid "No iCalendar data was found."
+msgstr "Dados iCalendar não foram encontrados."
+
+#: lib/Nag.php:546
+msgid "No task lists are available to guests."
+msgstr "Não há listas de tarefas disponíveis para visitas."
+
+#: lib/Block/summary.php:186
+msgid "No tasks to display"
+msgstr "Sem tarefas para mostrar"
+
+#: templates/task/task.inc:70 lib/Nag.php:437
+msgid "None"
+msgstr "Nenhuma"
+
+#: lib/Nag.php:396
+msgid "Not Completed"
+msgstr "Incompleta"
+
+#: lib/Driver/sql.php:95 lib/Driver/sql.php:134
+msgid "Not found"
+msgstr "Não encontrado"
+
+#: config/prefs.php.dist:35
+msgid "Notifications"
+msgstr "Notificações"
+
+#: config/prefs.php.dist:120
+msgid "On all shown tasklists"
+msgstr "Em todas as listas de tarefas"
+
+#: config/prefs.php.dist:121
+msgid "On all tasklists I have read access to"
+msgstr "Em todas as listas de tarefas às quais tenho acesso de leitura"
+
+#: config/prefs.php.dist:119
+msgid "On my tasklists only"
+msgstr "Apenas nas minhas listas de tarefas"
+
+#: templates/list/task_headers.inc:51
+msgid "P_ri"
+msgstr "P_ri"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Permissão"
+
+#: lib/api.php:378 lib/api.php:485 lib/api.php:548 lib/api.php:585
+msgid "Permission Denied"
+msgstr "Permissão Negada"
+
+#: lib/api.php:106
+msgid "Permission denied"
+msgstr "Permissão Negada"
+
+#: data.php:54 templates/view/task.inc:37 config/prefs.php.dist:68
+#: config/prefs.php.dist:83
+msgid "Priority"
+msgstr "Prioridade"
+
+#: templates/view/task.inc:16
+msgid "Really delete this task?"
+msgstr "Deseja mesmo remover esta tarefa?"
+
+#: templates/list/header.inc:5
+msgid "Refresh List"
+msgstr "Actualizar Lista"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Limpar"
+
+#: templates/task/task.inc:102
+msgid "Save"
+msgstr "Guardar"
+
+#: task.php:243
+#, php-format
+msgid "Saved %s."
+msgstr "%s guardada."
+
+#: search.php:14 templates/search/search.inc:6 templates/search/search.inc:33
+msgid "Search"
+msgstr "Procurar"
+
+#: list.php:62
+msgid "Search Results"
+msgstr "Resultados da Procura"
+
+#: templates/search/search.inc:22
+msgid "Search Scope"
+msgstr "Escopo de Procura"
+
+#: templates/search/search.inc:14
+msgid "Search _Text"
+msgstr "Procurar _Texto"
+
+#: templates/task/task.inc:56
+msgid "Select a date"
+msgstr "Seleccione uma data"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Seleccione uma lista de tarefas"
+
+#: templates/menu.inc:8
+msgid "Select tasklists to display:"
+msgstr "Seleccionar listas de tarefas a mostrar:"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Seleccione o formato de exportação:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Seleccione o ficheiro a importar:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Seleccione o formato do ficheiro fonte:"
+
+#: config/prefs.php.dist:59
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr ""
+"Deve-se mostrar a Lista de Tarefas na sua própria coluna na visualização de "
+"Listas?"
+
+#: lib/Block/summary.php:36
+msgid "Show action buttons?"
+msgstr "Mostrar botões de acção?"
+
+#: config/prefs.php.dist:146
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Mostrar tarefas completas, incompletas ou ambas na lista de tarefas?"
+
+#: config/prefs.php.dist:133
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+"Mostrar dados de alguma destas outras aplicações na sua lista de tarefas?"
+
+#: config/prefs.php.dist:48
+msgid "Show data from other applications or sources."
+msgstr "Mostrar dados de outras aplicações ou fontes."
+
+#: lib/Block/summary.php:39
+msgid "Show due dates?"
+msgstr "Mostrar prazos?"
+
+#: lib/Block/summary.php:33
+msgid "Show priorities?"
+msgstr "Mostra prioridades?"
+
+#: lib/Block/summary.php:45
+msgid "Show task alarms?"
+msgstr "Mostrar avisos de tarefas?"
+
+#: lib/Block/summary.php:48
+msgid "Show task category?"
+msgstr "Mostrar categoria das tarefas?"
+
+#: lib/Block/summary.php:42
+msgid "Show tasklist name?"
+msgstr "Mostrar nome da lista de tarefas?"
+
+#: lib/Block/summary.php:57
+msgid "Show tasks from these categories"
+msgstr "Mostrar tarefas destas categorias"
+
+#: templates/list/task_headers.inc:65
+msgid "Sort by Category"
+msgstr "Ordenar por Categoria"
+
+#: templates/list/task_headers.inc:43
+msgid "Sort by Completion Status"
+msgstr "Ordenar por Estado de Completude"
+
+#: templates/list/task_headers.inc:62
+msgid "Sort by Due Date"
+msgstr "Ordenar por Prazo"
+
+#: templates/list/task_headers.inc:57
+msgid "Sort by Name"
+msgstr "Ordenar por Nome"
+
+#: templates/list/task_headers.inc:51
+msgid "Sort by Priority"
+msgstr "Ordenar por Prioridade"
+
+#: templates/list/task_headers.inc:47
+msgid "Sort by User Name"
+msgstr "Ordenar por Nome de Utilizador"
+
+#: config/prefs.php.dist:100
+msgid "Sort direction:"
+msgstr "Direcção de ordenação:"
+
+#: config/prefs.php.dist:74
+msgid "Sort tasks by:"
+msgstr "Ordenar tarefas por:"
+
+#: templates/list/task_summaries.inc:28
+msgid "Task Alarm"
+msgstr "Aviso de Tarefa"
+
+#: templates/list/task_headers.inc:60
+msgid "Task Alarm?"
+msgstr "Aviso de Tarefa?"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Lista de Tarefas"
+
+#: config/prefs.php.dist:27 config/prefs.php.dist:34 config/prefs.php.dist:46
+msgid "Task List and Share Options"
+msgstr "Opções de Listas de Tarefas e de Partilhas"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Nome da Lista de Tarefas:"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Listas de Tarefas"
+
+#: config/prefs.php.dist:69 config/prefs.php.dist:84
+msgid "Task Name"
+msgstr "Nome da Tarefa"
+
+#: templates/list/task_summaries.inc:26
+msgid "Task Note"
+msgstr "Nota da Tarefa"
+
+#: templates/list/task_headers.inc:59
+msgid "Task Note?"
+msgstr "Nota da Tarefa?"
+
+#: lib/Nag.php:571
+msgid "Task added:"
+msgstr "Tarefa adicionada:"
+
+# c-format
+#: lib/Nag.php:581
+msgid "Task deleted:"
+msgstr "Tarefa removida:"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "As listas de tarefas têm de ter um nome."
+
+#: lib/Nag.php:576
+msgid "Task modified:"
+msgstr "Tarefa alterada:"
+
+#: task.php:128 view.php:43
+msgid "Task not found."
+msgstr "A tarefa não foi encontrada."
+
+#: config/prefs.php.dist:73 config/prefs.php.dist:88
+msgid "Tasklist"
+msgstr "Lista de Tarefas"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Sumário das Tarefas"
+
+#: data.php:187
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "O arquivo %s não contém quaisquer tarefas."
+
+#: task.php:177
+msgid "The alarm field may only contain integers."
+msgstr "O campo do alarme pode apenas conter inteiros."
+
+#: lib/Nag.php:572
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"A tarefa \"%s\" foi adicionada à sua lista de tarefas \"%s\". O seu prazo "
+"final é: %s."
+
+#: lib/Nag.php:582
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+"A tarefa \"%s\" da sua lista de tarefas \"%s\" foi removida. O seu prazo "
+"final era: %s."
+
+#: lib/Nag.php:577
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr ""
+"A tarefa \"%s\" da sua lista de tarefas \"%s\" foi modificada. O seu prazo "
+"final é: %s."
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "A lista de tarefas \"%s\" não pode ser criada: %s"
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "A lista de tarefas \"%s\" não pode ser guardada: %s"
+
+# c-format
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "A lista de tarefas \"%s\" foi criada."
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "A lista de tarefas \"%s\" foi removida."
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "A lista de tarefas \"%s\" foi guardada."
+
+#: config/prefs.php.dist:89
+msgid "Then:"
+msgstr "E por:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Nenhuma tarefa de acordo com o critério corrente."
+
+#: task.php:292
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Ocorreu um problema ao completar %s: %s"
+
+#: task.php:265
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Ocorreu um problema ao remover %s: %s"
+
+#: task.php:241
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Ocorreu um erro ao guardar a tarefa: %s"
+
+#: data.php:190
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Ocorreu um erro na importação dos dados: %s"
+
+#: lib/api.php:396 lib/api.php:597
+msgid "There was an error importing the iCalendar data."
+msgstr "Ocorreu um erro na importação dos dados iCalendar."
+
+#: data.php:77
+msgid "There were no tasks to export."
+msgstr "Não há tarefas a exportar."
+
+#: data.php:121
+msgid "This file format is not supported."
+msgstr "Este formato de ficheiro não é suportado."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Não consigo remover \"%s\": %s"
+
+#: templates/task/task.inc:103
+msgid "Undo changes"
+msgstr "Desfazer alterações"
+
+#: templates/view/task.inc:26 templates/list/task_summaries.inc:33
+#: lib/Nag.php:791 lib/Nag.php:792 lib/Nag.php:806 lib/Nag.php:807
+#: lib/Block/summary.php:30 lib/Block/summary.php:179
+msgid "Unfiled"
+msgstr "Sem categoria"
+
+#: lib/api.php:455 lib/api.php:512 lib/api.php:628
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Tipo de conteúdo (Contente-Type) não suportado: %s"
+
+#: templates/task/task.inc:77 lib/Nag.php:424
+msgid "Week(s)"
+msgstr "Semana(s)"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "A que lista de tarefas se deve adicionar as tarefas?"
+
+#: data.php:39 data.php:145 task.php:31
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Não está autorizado a criar mais do que %d tarefas."
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Não tem permissão para ver esta lista de tarefas."
+
+#: tasklists.php:84 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Tem de seleccionar a lista de tarefas a remover."
+
+#: lib/Nag.php:572
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Solicitou ser notificado quando tarefas forem adicionadas às suas listas de "
+"tarefas."
+
+#: lib/Nag.php:582
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Solicitou ser notificado quando tarefas das suas listas de tarefas forem "
+"removidas."
+
+#: lib/Nag.php:577
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Solicitou ser notificado quando tarefas das suas listas de tarefas forem "
+"modificadas."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "A sua lista de tarefas por omissão:"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "As suas listas de tarefas:"
+
+#: templates/list/task_summaries.inc:25 lib/Block/summary.php:86
+#: lib/Block/summary.php:169
+msgid "[none]"
+msgstr "[nenhuma]"
+
+#: list.php:87
+msgid "_All tasks"
+msgstr "Tod_as as tarefas"
+
+#: templates/search/search.inc:27 templates/task/task.inc:41
+msgid "_Category"
+msgstr "_Categoria"
+
+#: templates/view/task.inc:11
+msgid "_Complete"
+msgstr "_Completar"
+
+#: list.php:89
+msgid "_Completed tasks"
+msgstr "Tarefas _completas"
+
+#: templates/view/task.inc:16
+msgid "_Delete"
+msgstr "_Remover"
+
+#: templates/search/search.inc:26 templates/task/task.inc:94
+msgid "_Description"
+msgstr "_Descrição"
+
+#: templates/list/task_headers.inc:62
+msgid "_Due Date"
+msgstr "Pra_zo"
+
+#: templates/view/task.inc:13
+msgid "_Edit"
+msgstr "_Editar"
+
+#: lib/Nag.php:496
+msgid "_Import/Export"
+msgstr "_Importar/Exportar"
+
+#: lib/Nag.php:481
+msgid "_List Tasks"
+msgstr "_Listar Tarefas"
+
+#: lib/Nag.php:491
+msgid "_My Tasklists"
+msgstr "As _Minhas Listas de Tarefas"
+
+#: lib/Nag.php:486
+msgid "_New Task"
+msgstr "_Nova Tarefa"
+
+#: lib/Nag.php:501
+msgid "_Print"
+msgstr "Im_primir"
+
+#: templates/task/task.inc:82
+msgid "_Priority"
+msgstr "_Prioridade"
+
+#: lib/Nag.php:488
+msgid "_Search"
+msgstr "_Procurar"
+
+#: templates/task/task.inc:26 templates/list/task_headers.inc:47
+msgid "_Task List"
+msgstr "Lista de _Tarefas"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendário (vTodo)"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "sem tempo"
+
+#: data.php:94 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tarefas.csv"
+
+#: data.php:106
+msgid "tasks.ics"
+msgstr "tarefas.ics"
--- /dev/null
+# Nag Romanian Translation
+# Copyright 2003-2009 The Horde Project
+# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003.
+# Marius Dragulescu <mariusd@urban-grafx.ro>, 2003.
+
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 1.1\n"
+"POT-Creation-Date: 2003-02-24 14:49+0200\n"
+"PO-Revision-Date: 2003-03-01 12:00+0200\n"
+"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"Language-Team: Romanian <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d taskuri"
+
+msgid "(highest)"
+msgstr "(maxim)"
+
+msgid "(lowest)"
+msgstr "(minim)"
+
+msgid "1 task"
+msgstr "1 task"
+
+msgid "Adding A New Task"
+msgstr "Adaugare task nou"
+
+msgid "Allows categories to be added/removed/renamed."
+msgstr "Permite adaugarea/stergerea/redenumirea categoriilor."
+
+#, c-format
+msgid "Any tasks in a category that is deleted will become <b>%s</b>."
+msgstr "Orice task sters dintr-o categorie va deveni <b>%s</b>."
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "Esti sigur ca vrei sa stergi definitiv aceste taskuri?"
+
+msgid "Ascending"
+msgstr "Crescator"
+
+msgid "Back to Task List"
+msgstr "Inapoi la lista taskurilor"
+
+msgid "Cannot be changed."
+msgstr "Nu se poate schimba."
+
+msgid "Category Management"
+msgstr "Administrare categorie"
+
+msgid "Category"
+msgstr "Categorie"
+
+msgid "Change your task sorting and display options."
+msgstr "Schimbare sortare taskuri si optiuni afisare."
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "Schimbat %d taskuri la prioritatea prioritatea %d."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "Schimbat 1 task la prioritatea %d."
+
+msgid "Choose Action:"
+msgstr "Alegere actiune:"
+
+msgid "Clear Form"
+msgstr "Sterge formular"
+
+msgid "Complete Task"
+msgstr "Finalizare task"
+
+msgid "Complete Tasks"
+msgstr "Finalizare taskuri"
+
+msgid "Completed?"
+msgstr "Finalizat?"
+
+msgid "Completion Status"
+msgstr "Status finalizare"
+
+msgid "Create a New Category"
+msgstr "Creare categorie noua"
+
+msgid "Default sorting criteria:"
+msgstr "Criteriul de sortare implicit:"
+
+msgid "Default sorting direction:"
+msgstr "Directia de sortare implicita:"
+
+msgid "Delete Task"
+msgstr "Sterge task"
+
+msgid "Delete Tasks"
+msgstr "Sterge taskuri"
+
+msgid "Delete"
+msgstr "Stergere"
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "%d taskuri sterse."
+
+msgid "Deleted 1 task."
+msgstr "1 task sters."
+
+msgid "Descending"
+msgstr "Descrescator"
+
+msgid "Description"
+msgstr "Descriere"
+
+msgid "Display Options"
+msgstr "Optiuni afisare"
+
+msgid "Due By"
+msgstr "Limitare de"
+
+msgid "Due Date"
+msgstr "Data limita"
+
+msgid "Help"
+msgstr "Ajutor"
+
+msgid "Language"
+msgstr "Limba"
+
+msgid "List Tasks"
+msgstr "Lista taskuri"
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "Marcare %d taskuri finalizate."
+
+msgid "Marked 1 task as completed."
+msgstr "Marcat 1 task ca finalizat."
+
+msgid "Modify Task"
+msgstr "Modificare Task"
+
+msgid "Modifying:"
+msgstr "Modificare:"
+
+msgid "Nag is not properly configured"
+msgstr "Nag nu este configurat corespunzator"
+
+msgid "Name"
+msgstr "Nume"
+
+msgid "New Category"
+msgstr "Categorie noua"
+
+msgid "New Task"
+msgstr "Task nou"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "Nici o configurare specificata pentru Taskurile SQL."
+
+msgid "No due date."
+msgstr "Nici o data limita."
+
+msgid "No tasks were changed."
+msgstr "Nici un task n-a fost schimbat."
+
+msgid "No tasks were deleted."
+msgstr "Nici un task n-a fost sters."
+
+msgid "No"
+msgstr "Nu"
+
+msgid "None specified"
+msgstr "Nimic specificat"
+
+msgid "Options"
+msgstr "Optiuni"
+
+msgid "Other Options"
+msgstr "Alte optiuni"
+
+msgid "Please enter a name for the new category:"
+msgstr "Introduceti un nume pentru noua categorie:"
+
+msgid "Please enter a new name for this category:"
+msgstr "Introduceti un nume pentru aceasta categorie:"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "Introduceti prioritatea taskului (1-5):"
+
+msgid "Pri"
+msgstr "Pri"
+
+msgid "Print"
+msgstr "Imprimare"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr "Prioritatile trebuie sa fie intre 1 si 5.Introduceti o prioritate:"
+
+msgid "Priority"
+msgstr "Prioritate"
+
+msgid "Problem?"
+msgstr "Problema?"
+
+msgid "Refresh List"
+msgstr "Improspateaza lista"
+
+msgid "Rename"
+msgstr "Redenumeste"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "'database' nespecificat in configuratia taskurilor."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "'hostspec' nespecificat in configuratia taskurilor."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "'password' nespecificat in configuratia taskurilor."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "'phptype' nespecificat in configuratia taskurilor."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "'table' nespecificat in configuratia taskurilor."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "'username' nespecificat in configuratia taskurilor."
+
+msgid "Save Task"
+msgstr "Salveaza task"
+
+msgid "Search Results"
+msgstr "Rezultate cautare"
+
+msgid "Search Scope"
+msgstr "Criteriu cautare"
+
+msgid "Search Text"
+msgstr "Cauta text"
+
+msgid "Search"
+msgstr "Cauta"
+
+msgid "Select Category"
+msgstr "Selecteaza categorie"
+
+msgid "Select your preferred language:"
+msgstr "Selectati limba favorita:"
+
+msgid "Selected?"
+msgstr "Selectat?"
+
+msgid "Set Task Priority"
+msgstr "Setare prioritate task"
+
+msgid "Set the your preferred display language."
+msgstr "Setare limba favorita pentru afisare."
+
+msgid "Show completed tasks in the task list?"
+msgstr "Afisare taskuri finalizate in lista taskurilor?"
+
+msgid "Show due dates in the summary view?"
+msgstr "Afisare date limita in afisare sumara?"
+
+msgid "Show priorities in the summary view?"
+msgstr "Afisare prioritati in afisare sumara?"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "Anumite fisiere de configurare Nag lipsesc:"
+
+msgid "Sort Direction"
+msgstr "Directie de sortare"
+
+msgid "Sort by Category"
+msgstr "Categorie de sortare"
+
+msgid "Sort by Completion Status"
+msgstr "Sortare dupa status finalizare"
+
+msgid "Sort by Due Date"
+msgstr "Sortare dupa data limita"
+
+msgid "Sort by Name"
+msgstr "Sortare dupa nume"
+
+msgid "Sort by Priority"
+msgstr "Sortare dupa prioritate"
+
+msgid "Task Details"
+msgstr "Detalii task"
+
+msgid "Task List"
+msgstr "Lista taskuri"
+
+msgid "Task Name"
+msgstr "Nume task"
+
+msgid "Task Note"
+msgstr "Notare task"
+
+msgid "Task Note?"
+msgstr "Notare task?"
+
+msgid "The requested task does not exist."
+msgstr "Taskul cerut nu exista."
+
+msgid "The task was saved."
+msgstr "Taskul a fost salvat."
+
+msgid "There was a problem deleting tasks."
+msgstr "A aparut o problema in stergerea taskurilor."
+
+msgid "There was a problem saving the task."
+msgstr "A aparut o problema la salvarea taskului."
+
+msgid "There was a problem setting task completion status."
+msgstr "A aparut o problema la setarea statusului de finalizare a taskului."
+
+msgid "There was a problem setting task priority."
+msgstr "A aparut o problema la setarea prioritatea taskului."
+
+msgid "These changes can not be undone!"
+msgstr "Nu se va putea reveni la aceste schimbari!"
+
+msgid "This file contains preferences for Nag."
+msgstr "Acest fisier contine preferinte pentru Nag."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"Acest fisier controleaza schema de culori si fonturi ce vor fi diferite "
+"de cele implicite Horde."
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr ""
+"Acesta e fisierul principal de configurare Nag. Contine optiunie pentru "
+"scripturile Nag."
+
+msgid "Undo Changes"
+msgstr "Refa schimbari"
+
+msgid "Unfiled"
+msgstr "Necompletat"
+
+msgid "Unknown task"
+msgstr "Task necunoscut"
+
+msgid "Unknown"
+msgstr "Necunoscut"
+
+msgid "User Options"
+msgstr "Optiuni utilizator"
+
+msgid "View Task Details"
+msgstr "Afisare detalii task"
+
+msgid "Yes"
+msgstr "Da"
+
+msgid "You are creating a new category."
+msgstr "Creare categorie noua."
+
+msgid "You must choose a category."
+msgstr "Selecteaza o categorie."
+
+msgid "You must select at least one task first."
+msgstr "Selecteaza cel putin un task."
+
+msgid "Your Information"
+msgstr "Detalii personale"
+
+msgid "Your task list is empty."
+msgstr "Lista de taskuri e goala."
+
+msgid "at"
+msgstr "la"
--- /dev/null
+# Nag Russian translation.
+# Copyright
+# Ignat Ikryanov <iignat@newmail.ru>, 2001.
+# Alexey Zakharov <baber@mosga.net>, 2008
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag H3 2.2\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-02-02 20:07+0200\n"
+"PO-Revision-Date: 2008-02-02 23:15+0200\n"
+"Last-Translator: Alexey Zakharov <baber@mosga.net>\n"
+"Language-Team: Russian <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CP1251\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr ""
+
+# fuzzy, php-format
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d ÷àñà"
+
+#: lib/Nag.php:73
+#, fuzzy, php-format
+msgid "%d hour, %d minute"
+msgstr "Êàæäûå 5 ìèíóò"
+
+#: lib/Nag.php:75
+#, fuzzy, php-format
+msgid "%d hour, %d minutes"
+msgstr "Êàæäûå 5 ìèíóò"
+
+#: lib/Nag.php:63
+#, fuzzy, php-format
+msgid "%d hours"
+msgstr "24 ÷àñà"
+
+#: lib/Nag.php:65
+#, fuzzy, php-format
+msgid "%d hours, %d minute"
+msgstr "Êàæäûå 5 ìèíóò"
+
+#: lib/Nag.php:67
+#, fuzzy, php-format
+msgid "%d hours, %d minutes"
+msgstr "Êàæäûå 5 ìèíóò"
+
+#: lib/Nag.php:81
+#, fuzzy, php-format
+msgid "%d minute"
+msgstr "Êàæäûå 5 ìèíóò"
+
+#: lib/Nag.php:83
+#, fuzzy, php-format
+msgid "%d minutes"
+msgstr "Êàæäûå 5 ìèíóò"
+
+#: lib/Nag.php:590 lib/Block/summary.php:106 lib/Block/tree_alarms.php:41
+#, php-format
+msgid "%s is due in %s"
+msgstr ""
+
+#: lib/Nag.php:588 lib/Block/summary.php:104 lib/Block/tree_alarms.php:43
+#, php-format
+msgid "%s is due now."
+msgstr ""
+
+#: task.php:231
+#, fuzzy, php-format
+msgid "%s is now incomplete."
+msgstr ""
+"#-#-#-#-# ru_RU.po (Horde v2.1) #-#-#-#-#\n"
+"#-#-#-#-# ru_RU.po (IMP v3.1) #-#-#-#-#\n"
+"Íîâîå ñîîáùåíèå"
+
+#: data.php:199
+#, fuzzy, php-format
+msgid "%s successfully imported"
+msgstr "Ôàéë %s óñïåøíî èìïîðòèðîâàí"
+
+# fuzzy, php-format
+#: tasklists.php:100 lib/Nag.php:516 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "Ìîè Çàäà÷è (%s)"
+
+#: lib/Nag.php:315 lib/Forms/task.php:58
+msgid "(highest)"
+msgstr "(âûñøèé)"
+
+#: lib/Nag.php:315 lib/Forms/task.php:59
+msgid "(lowest)"
+msgstr "(íèçøèé)"
+
+# fuzzy, php-format
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Íåäîñòàòî÷íî ïðàâ ÷òîáû çàâåðøèòü çàäà÷ó %s"
+
+# fuzzy, php-format
+#: task.php:24
+#, fuzzy, php-format
+msgid "Access denied deleting %s"
+msgstr "Íåäîñòàòî÷íî ïðàâ ÷òîáû óäàëèòü %s"
+
+# fuzzy, php-format
+#: task.php:84 task.php:90
+#, fuzzy
+msgid "Access denied editing task."
+msgstr "Íåäîñòàòî÷íî ïðàâ ÷òîáû çàâåðøèòü çàäà÷ó %s"
+
+# fuzzy, php-format
+#: task.php:82
+#, fuzzy, php-format
+msgid "Access denied editing task: %s"
+msgstr "Íåäîñòàòî÷íî ïðàâ çàïèñàòü çàäà÷ó: %s"
+
+# fuzzy, php-format
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Íåäîñòàòî÷íî ïðàâ ÷òîáû ïåðåìåñòèòü çàäà÷ó â %s"
+
+# fuzzy, php-format
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Íåäîñòàòî÷íî ïðàâ óäàëèòü çàäà÷ó èç %s"
+
+# fuzzy, php-format
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Íåäîñòàòî÷íî ïðàâ çàïèñàòü çàäà÷ó â %s"
+
+# fuzzy, php-format
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Íåäîñòàòî÷íî ïðàâ çàïèñàòü çàäà÷ó: %s"
+
+#: templates/task/task.inc:67
+msgid "Ala_rm"
+msgstr "Óâåäîìèòü çà"
+
+# fuzzy
+#: templates/view/task.inc:26 lib/Forms/task.php:88
+msgid "Alarm"
+msgstr "Óâåäîìèòü"
+
+# fuzzy
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "Âñå çàäà÷è"
+
+# fuzzy
+# fuzzy
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Ïîêàçûâàòü çàâåðøåííûå"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Ïîêàçûâàòü ïðîïóùåííûå"
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "Âîçðàñòàíèå"
+
+# fuzzy
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Âåðíóòüñÿ ê ñïèñêó çàäà÷"
+
+#: lib/Block/summary.php:39
+#, fuzzy
+msgid "Block title"
+msgstr "Ðàñøèðåíèå"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV-ôàéë"
+
+#: templates/task/task.inc:56 lib/UI/VarRenderer/nag.php:58
+#: lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Êàëåíäàðü"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Îòìåíà"
+
+# fuzzy
+# fuzzy
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Êàòåãîðèÿ"
+
+# fuzzy
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:76
+#: lib/Forms/task.php:82 config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Category"
+msgstr "Êàòåãîðèÿ"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Èçìåíèòü"
+
+#: tasklists/index.php:56 templates/tasklist_list.php:35
+#, fuzzy
+msgid "Change Permissions"
+msgstr "Íàñòðîéêè ïîëüçîâàòåëÿ"
+
+# fuzzy
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Èçìåíèòü îïöèè îòîáðàæåíèÿ è ïîèñêà â ñïèñêå çàäà÷"
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Êàêèì îáðàçîì âû æåëàåòå ïîëó÷èòü óâåäîìëåíèå:"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr "Óâåäîìëÿòü î íîâîé, èçìåíåííîé èëè óäàëåííîé çàäà÷å ïî e-mail:"
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr "Íàñòðîéêà îïîâåùåíèé â ñëó÷àå èçìåíåíèÿ çàäà÷è è ñèãíàëîâ íàïîìèíàíèÿ"
+
+# fuzzy
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Âûáðàòü âàø ñïèñîê çàäà÷ ïî óìîë÷àíèþ"
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr "Íàæìèòå èëè ñêîïèðóéòå ýòó ññûëêó äëÿ îòîáðàæåíèå ñïèñêà çàäà÷"
+
+# fuzzy
+#: templates/panel.inc:43
+msgid "Close"
+msgstr "Çàêðûòü"
+
+#: templates/list/header.inc:8
+#, fuzzy
+msgid "Close Search"
+msgstr "Î÷èñòèòü"
+
+# fuzzy
+#: templates/task/task.inc:88
+msgid "Co_mpleted?"
+msgstr "Çàâåðøåíî?"
+
+# fuzzy
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Çàâåðøèòü çàäà÷ó"
+
+# fuzzy
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Çàâåðøåííûå"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr ""
+
+# fuzzy
+#: templates/view/task.inc:38 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:94 config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "Çàâåðøåíà?"
+
+#: data.php:58
+#, fuzzy
+msgid "Completion Status"
+msgstr "Äàòà ñîçäàíèÿ"
+
+#: lib/api.php:317 lib/api.php:544
+#, fuzzy, php-format
+msgid "Connection failed: %s"
+msgstr "Íåóäà÷íîå ñîåäèíåíèå ñ ñåðâåðîì LDAP."
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101 lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Ñîçäàòü"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create a new Task List"
+msgstr "Ñîçäàòü íîâûé ñïèñîê çàäà÷"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Ñîçäàíà"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+#, fuzzy
+msgid "Day"
+msgstr "Åæåäíåâíî"
+
+# fuzzy
+#: templates/task/task.inc:76 lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Äíåé"
+
+# fuzzy
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Cïèñîê çàäà÷ ïî óìîë÷àíèþ"
+
+# fuzzy
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Çíà÷åíèÿ ïî óìîë÷àíèþ äëÿ íîâûõ çàäà÷"
+
+#: lib/Forms/task.php:87
+msgid "Delay Start Until"
+msgstr "Îòëîæèòü íà÷àëî äî"
+
+#: view.php:106 tasklists/index.php:57 templates/tasklist_list.php:37
+#: templates/tasklists/tasklists.inc:100 lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Óäàëèòü"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Óäàëèòü %s"
+
+# fuzzy
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "Óäàëåíèå"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "Ïîäòâåðæäåíèå îïåðàöèè óäàëåíèÿ"
+
+# fuzzy
+# fuzzy
+#: task.php:105 templates/task/task.inc:110 lib/Forms/task.php:99
+msgid "Delete this task"
+msgstr "Óäàëèòü çòó çàäà÷ó"
+
+# fuzzy, php-format
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "Çàäà÷à %s óäàëåíà"
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "Óáûâàíèå"
+
+#: data.php:53 lib/Forms/EditTaskList.php:44 lib/Forms/CreateTaskList.php:37
+#: lib/Forms/task.php:95
+msgid "Description"
+msgstr "Îïèñàíèå"
+
+# fuzzy
+# fuzzy
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Îïèñàíèå"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Îòîáðàæåíèå"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "Ññûëêà äëÿ îòîáðàæåíèÿ"
+
+# fuzzy
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "Çàïðàøèâàòü ïîäòâåðæäåíèå ïðè óäàëåíèè çàïèñåé?"
+
+#: data.php:55 templates/view/task.inc:22 lib/Forms/task.php:86
+msgid "Due By"
+msgstr "Çàâåðøèòü äî"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "Äàòà çàâåðøåíèÿ"
+
+# fuzzy
+#: templates/task/task.inc:45
+msgid "Due _By"
+msgstr "Çàâåðøèòü äî"
+
+#: lib/UI/VarRenderer/nag.php:99
+#, fuzzy
+msgid "Due date specified."
+msgstr "Áûëî óêàçàíî íåêîððåêòíîå çíà÷åíèå."
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:166
+#, fuzzy, php-format
+msgid "Edit \"%s\""
+msgstr "Ðåäàêòèðîâàíèå '%s'"
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Ðåäàêòèðîâàíèå %s"
+
+# fuzzy
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Ðåäàêòèðîâàòü"
+
+# fuzzy
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Êàòåãîðèè è ìåòêè"
+
+#: task.php:95 task.php:109
+#, fuzzy, php-format
+msgid "Edit: %s"
+msgstr "Ðåäàêòèðîâàíèå %s"
+
+#: task.php:19
+#, fuzzy, php-format
+msgid "Error deleting task: %s"
+msgstr "Îøèáêà ïðè èìïîðòå äàííûõ."
+
+#: templates/view/task.inc:34 lib/Forms/task.php:93
+msgid "Estimated Time"
+msgstr "Âðåìåíûå çàòðàòû"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Ýêñïîðò"
+
+# fuzzy
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Ýêñïîðò çàäà÷"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr ""
+
+# fuzzy
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "Îáùèå íàñòðîéêè"
+
+#: lib/UI/VarRenderer/nag.php:111
+#, fuzzy
+msgid "Hour"
+msgstr "×àñîâ"
+
+#: templates/task/task.inc:75 lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "×àñîâ"
+
+# fuzzy, php-format
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Èìïîðòèðîâàíèå çàäà÷, Øàã %d"
+
+# fuzzy
+# fuzzy
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "Èìïîðò/Ýêñïîðò"
+
+# fuzzy
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Íåçàâåðøåííûå"
+
+# fuzzy
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Íåçàâåðøåííûå"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr ""
+
+# fuzzy
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Íåçàâåðøåííûå"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Èñïðàâëåíà"
+
+# fuzzy
+#: tasklists/index.php:61 templates/tasklist_list.php:2
+msgid "Manage Task Lists"
+msgstr "Óïðàâëåíèå ñïèñêàìè çàäà÷"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr ""
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr ""
+
+#: lib/api.php:120
+#, fuzzy
+msgid "Maximum Number of Tasks"
+msgstr "Ìàêñèìàëüíîå êîëè÷åñòâî ñòðàíèö"
+
+# fuzzy
+#: lib/Block/tree_alarms.php:3
+#, fuzzy
+msgid "Menu Alarms"
+msgstr "Óâåäîìèòü"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr ""
+
+# fuzzy
+#: lib/UI/VarRenderer/nag.php:112
+#, fuzzy
+msgid "Minute"
+msgstr "Ìèíóò"
+
+# fuzzy
+#: templates/task/task.inc:74 lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Ìèíóò"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+#, fuzzy
+msgid "Month"
+msgstr "Åæåìåñÿ÷íî"
+
+#: templates/list/header.inc:9
+#, fuzzy
+msgid "More Options..."
+msgstr "Íàñòðîéêè ïîëüçîâàòåëÿ"
+
+#: lib/api.php:1001
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+
+# fuzzy
+#: templates/panel.inc:70
+msgid "My Task Lists:"
+msgstr "Ìîè ñïèñêè çàäà÷:"
+
+# fuzzy
+#: list.php:34
+msgid "My Tasks"
+msgstr "Ìîè Çàäà÷è"
+
+# fuzzy
+#: templates/search/search.inc:18 templates/task/task.inc:17
+msgid "N_ame"
+msgstr "Íàçâàíèå"
+
+# fuzzy
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "Çàäà÷à"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr ""
+
+#: data.php:52 lib/Forms/EditTaskList.php:43 lib/Forms/CreateTaskList.php:36
+#: lib/Forms/task.php:65
+msgid "Name"
+msgstr "Íàçâàíèå"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Íîâàÿ çàäà÷à"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Äàëåå"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "Íåò"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Íå îòêëàäûâàòü"
+
+#: templates/task/task.inc:48 lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Íåò äàòû çàâåðøåíèÿ."
+
+#: lib/api.php:405 lib/api.php:724 lib/api.php:782 lib/api.php:994
+#, fuzzy
+msgid "No iCalendar data was found."
+msgstr "Ïðèêðåïëåííûå"
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Íåò ðîäèòåëüñêîé çàäà÷è"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr ""
+
+#: templates/list/task_footers.inc:5
+#, fuzzy
+msgid "No tasks match"
+msgstr "ÍÅ ñîâïàäàåò"
+
+#: lib/Block/summary.php:229
+#, fuzzy
+msgid "No tasks to display"
+msgstr "Ñïèñîê çàäà÷ ïóñò."
+
+#: templates/task/task.inc:70 lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Íåò"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+#, fuzzy
+msgid "Not found"
+msgstr "Îòìåíèòü èçìåíåíèÿ"
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Íàñòðîéêè îïîâåùåíèÿ"
+
+#: config/prefs.php.dist:168
+msgid "On all shown tasklists"
+msgstr "Ïî âñåìó ñïèñêó çàäà÷"
+
+#: config/prefs.php.dist:169
+msgid "On all tasklists I have read access to"
+msgstr "Ïî âñåì ñïèñêàì çàäà÷, êîòîðûå ÿ ìîãó ÷èòàòü"
+
+# fuzzy
+#: config/prefs.php.dist:167
+msgid "On my tasklists only"
+msgstr "Òîëüêî ïî ìîåìó ñïèñêó çàäà÷"
+
+# fuzzy
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "Ïð"
+
+#: lib/Forms/task.php:72
+msgid "Parent task"
+msgstr "Ðîäèòåëüñêàÿ çàäà÷à"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Èçìåíèòü ïðàâà äîñòóïà"
+
+#: lib/api.php:591 lib/api.php:629 lib/api.php:662 lib/api.php:698
+#: lib/api.php:820 lib/api.php:875 lib/api.php:939 lib/api.php:976
+#: lib/api.php:1087 lib/api.php:1134
+#, fuzzy
+msgid "Permission Denied"
+msgstr "Èçìåíèòü ïðàâà äîñòóïà"
+
+#: lib/api.php:178 lib/Forms/DeleteTaskList.php:56
+#, fuzzy
+msgid "Permission denied"
+msgstr "Èçìåíèòü ïðàâà äîñòóïà"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:90
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Ïðèîðèòåò"
+
+#: templates/view/task.inc:14 lib/Driver.php:907
+msgid "Private"
+msgstr "Ëè÷íàÿ"
+
+#: lib/Driver.php:905
+msgid "Private Task"
+msgstr "Ëè÷íàÿ çàäà÷à"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:85
+msgid "Private?"
+msgstr "Ëè÷íàÿ"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+
+# fuzzy
+# fuzzy
+#: view.php:106
+#, fuzzy
+msgid "Really delete this task?"
+msgstr "Óäàëèòü çòó çàäà÷ó"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Ñáðîñèòü"
+
+# fuzzy
+#: templates/panel.inc:88 templates/task/task.inc:102
+#: lib/Forms/EditTaskList.php:46 lib/Forms/task.php:97
+msgid "Save"
+msgstr "Çàïèñàòü"
+
+# fuzzy, php-format
+# fuzzy, php-format
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "Çàäà÷à '%s' ñîõðàíåíà"
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Ïîèñê"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Èñêàòü â:"
+
+# fuzzy
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "×òî èùåì"
+
+#: templates/panel.inc:58
+msgid "Search for Task Lists:"
+msgstr "Èñêàòü çàäà÷ó:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Èñêàòü:"
+
+# fuzzy
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Âûáåðèòå ñïèñîê çàäà÷:"
+
+# fuzzy
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Âûáåðèòå ôîðìàò ôàéëà äëÿ ýêñïîðòà:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Èìïîðòèðóåìûé ôàéë:"
+
+# fuzzy
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Âûáåðèòå ôîðìàò ôàéëà äëÿ èìïîðòà:"
+
+# fuzzy
+# fuzzy
+#: templates/panel.inc:79
+#, fuzzy
+msgid "Shared Task Lists:"
+msgstr "Ñïèñêè çàäà÷:"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Îòîáðàçèòü íàçâàíèå ñïèñêà çàäà÷ îòäåëüíîé êîëîíêîé ïðè âûáîðå çàäà÷è?"
+
+# fuzzy
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Êíîïêè"
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr ""
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr ""
+
+# fuzzy
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Äàòû çàâåðøåíèÿ"
+
+# fuzzy
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Ïðèîðèòåòû"
+
+# fuzzy
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Íàïîìèíàíèÿ"
+
+# fuzzy
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Êàòåãîðèè"
+
+# fuzzy
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Ïîêàçûâàòü ïàíåëü îïöèé äëÿ ñïèñêà çàäà÷?"
+
+# fuzzy
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Íàçâàíèå ñïèñêà çàäà÷"
+
+# fuzzy
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Ïîêàçàòü êàòåãîðèè:"
+
+# fuzzy
+#: lib/Block/summary.php:66
+#, fuzzy
+msgid "Show tasks from these tasklists"
+msgstr "Ïîêàçàòü êàòåãîðèè:"
+
+#: templates/list/task_headers.inc:53
+#, fuzzy
+msgid "Sort by Category"
+msgstr "Ñîðòèðîâàòü ïî òåìå"
+
+#: templates/list/task_headers.inc:31
+#, fuzzy
+msgid "Sort by Completion Status"
+msgstr "Äàòà ñîçäàíèÿ"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Ñîðòèðîâàòü ïî äàòå çàâåðøåíèÿ"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Ñîðòèðîâàòü ïî èìåíè"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Ñîðòèðîâàòü ïî ïðèîðèòåòó"
+
+#: templates/list/task_headers.inc:35
+#, fuzzy
+msgid "Sort by User Name"
+msgstr "Ñîðòèðîâàòü ïî èìåíè"
+
+# fuzzy
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "Ïîðÿäîê ñîðòèðîâêè:"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "Ñîðòèðîâàòü ïî:"
+
+# fuzzy
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "Ññûëêà äëÿ ïîäïèñêè"
+
+#: templates/list/task_summaries.inc:57
+#, fuzzy
+msgid "Task Alarm"
+msgstr "Èìÿ çàäà÷è"
+
+#: templates/list/task_headers.inc:48
+#, fuzzy
+msgid "Task Alarm?"
+msgstr "Èìÿ çàäà÷è"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "Óìîë÷àíèÿ"
+
+# fuzzy
+#: templates/tasklist_list.php:15 templates/tasklists/tasklists.inc:66
+#: lib/Forms/task.php:68
+msgid "Task List"
+msgstr "Ñïèñîê çàäà÷"
+
+# fuzzy
+#: templates/tasklist_list.php:12
+#, fuzzy
+msgid "Task List List"
+msgstr "Çàäà÷è"
+
+# fuzzy
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Ïðî÷èå íàñòðîéêè"
+
+# fuzzy
+#: templates/tasklist_info.php:6
+#, fuzzy, php-format
+msgid "Task List owned by %s."
+msgstr "Çàäà÷è"
+
+# fuzzy
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Íàçâàíèå ñïèñêà çàäà÷"
+
+# fuzzy
+#: tasklists.php:111 templates/panel.inc:52 templates/panel.inc:53
+msgid "Task Lists"
+msgstr "Çàäà÷è"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "Èìÿ çàäà÷è"
+
+#: templates/list/task_summaries.inc:55
+#, fuzzy
+msgid "Task Note"
+msgstr "Èìÿ çàäà÷è"
+
+#: templates/list/task_headers.inc:47
+#, fuzzy
+msgid "Task Note?"
+msgstr "Èìÿ çàäà÷è"
+
+# fuzzy
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Ïîèñê çàäà÷è"
+
+# fuzzy
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Âû íå çàäàëè íàçâàíèå ñïèñêà çàäà÷"
+
+# fuzzy
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Tasklist"
+msgstr "Ñïèñîê çàäà÷"
+
+#: lib/api.php:1056
+msgid "Tasks"
+msgstr "Çàäà÷è"
+
+# fuzzy
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Ñîñòîÿíèå"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr ""
+
+#: lib/Driver.php:56
+#, fuzzy
+msgid "The Tasks backend is not currently available."
+msgstr "Íåò äîñòóïíûõ íàñòðîåê."
+
+#: lib/Driver.php:137
+#, fuzzy, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Íåò äîñòóïíûõ íàñòðîåê."
+
+#: lib/Forms/task.php:133
+#, fuzzy
+msgid "The alarm value must not be empty."
+msgstr ""
+"#-#-#-#-# compendium.po (IMP H3 v4.0.4) #-#-#-#-#\n"
+"Ýòî çíà÷åíèå äîëæíî áûòü ÷èñëîì.\n"
+"#-#-#-#-# ru_RU.po (0.0.2-cvs) #-#-#-#-#\n"
+" Çíà÷åíèå äîëæíî áûòü ÷èñëîì."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Òåêóùèé ÷àñ"
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr ""
+
+# fuzzy, php-format
+# fuzzy, php-format
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Ñïèñîê çàäà÷ '%s' íå ìîæåò áûòü ñîçäàí: %s"
+
+# fuzzy, php-format
+# fuzzy, php-format
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Ñïèñîê çàäà÷ '%s' íå ìîæåò áûòü ñîõðàíåí: %s"
+
+# fuzzy, php-format
+# fuzzy, php-format
+#: tasklists.php:47 tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Ñïèñîê çàäà÷ '%s' áûë óñïåøíî ñîçäàí"
+
+# fuzzy, php-format
+#: tasklists.php:81 tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Ñïèñîê çàäà÷ '%s' áûë óäàëåí."
+
+# fuzzy, php-format
+# fuzzy, php-format
+#: tasklists/edit.php:42
+#, fuzzy, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "Ñïèñîê çàäà÷ '%s' áûë óñïåøíî ñîçäàí"
+
+# fuzzy, php-format
+#: tasklists.php:58 tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Ñïèñîê çàäà÷ '%s' áûë ñîõðàíåí."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "Çàòåì ïî:"
+
+# fuzzy
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Ïîäõîäÿùèõ çàäà÷ íå íàéäåíî"
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Íåâîçìîæíî çàãðóçèòü îïðåäåëåíèå %s."
+
+#: lib/Forms/EditTaskList.php:55
+#, fuzzy, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Îøèáêà ïðè äîñòóïå ê óêàçàííîé àäðåñíîé êíèãå."
+
+# fuzzy
+#: templates/task/task.inc:103
+msgid "Undo changes"
+msgstr "Îòìåíèòü èçìåíåíèÿ"
+
+# fuzzy
+# fuzzy
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:62
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Forms/task.php:81 lib/Block/summary.php:31 lib/Block/summary.php:222
+msgid "Unfiled"
+msgstr "Îòñóòñòâóåò"
+
+#: lib/api.php:502 lib/api.php:789 lib/api.php:847 lib/api.php:901
+#: lib/api.php:1026
+#, fuzzy, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Íåêîððåêòíîå èìÿ."
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+
+# fuzzy
+#: templates/task/task.inc:77 lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Íåäåëü"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr " êàêîå âðåìÿ ïî óìîë÷àíèþ çàäà÷à äîëæíà ñ÷èòàòüñÿ çàâåðøåííîé?"
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Ïðè ñîçäàíèè íîâîé çàäà÷è, ñêîëüêî äíåé ïî óìîë÷àíèþ òðåáóåòñÿ äëÿ åå "
+"çàâåðøåíèÿ(0 îçíà÷àåò çàâåðøåíèå ñåãîäíÿ)"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "Ïðè ñîçäàíèè íîâîé çàäà÷è, çàäàâàòü ïî óìîë÷àíèþ äàòó çàâåðøåíèÿ?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr ""
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+
+# fuzzy
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Ñïèñîê çàäà÷ óìîë÷àíèþ:"
+
+# fuzzy
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Âàø ñïèñîê çàäà÷:"
+
+# fuzzy
+#: templates/panel.inc:65
+msgid "[Manage Task Lists]"
+msgstr "[Óïðàâëåíèå çàäà÷àìè]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:206
+#, fuzzy
+msgid "[none]"
+msgstr "íåò"
+
+# fuzzy
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "Âñå çàäà÷è"
+
+# fuzzy
+#: list.php:111
+msgid "_All tasks"
+msgstr "Âñå"
+
+# fuzzy
+#: templates/search/search.inc:20 templates/task/task.inc:41
+msgid "_Category"
+msgstr "Êàòåãîðèÿ"
+
+# fuzzy
+#: view.php:99
+msgid "_Complete"
+msgstr "Çàâåðøèòü"
+
+# fuzzy
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "Çàâåðøåííûå"
+
+# fuzzy
+#: view.php:106
+msgid "_Delete"
+msgstr "Óäàëèòü"
+
+# fuzzy
+#: templates/search/search.inc:19 templates/task/task.inc:94
+msgid "_Description"
+msgstr "Îïèñàíèå"
+
+# fuzzy
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "Ñðîê"
+
+# fuzzy
+#: view.php:102
+msgid "_Edit"
+msgstr "Ðåäàêòèðîâàòü"
+
+# fuzzy
+#: list.php:113
+msgid "_Future tasks"
+msgstr "Áóäóùèå"
+
+# fuzzy
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "Èìïîðò/Ýêñïîðò"
+
+# fuzzy
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "Âûáðàòü"
+
+# fuzzy
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "Äîáàâèòü"
+
+# fuzzy
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "Ïå÷àòü"
+
+#: templates/task/task.inc:82
+msgid "_Priority"
+msgstr "Ïðèîðèòåò"
+
+# fuzzy
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "Ïîèñê"
+
+# fuzzy
+#: templates/task/task.inc:26 templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "Ñïèñîê çàäà÷"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+#, fuzzy
+msgid "am"
+msgstr "Èìÿ"
+
+#: data.php:31
+#, fuzzy
+msgid "iCalendar (vTodo)"
+msgstr "Êàëåíäàðü"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "â %s"
+
+# fuzzy
+#: lib/Nag.php:79
+#, fuzzy
+msgid "no time"
+msgstr "1 çàìåòêà"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+#, fuzzy
+msgid "pm"
+msgstr "Âíèìàíèå"
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr ""
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr ""
--- /dev/null
+# Nag Slovak translation
+# Copyright 2002 Ivan Noris
+# Ivan Noris <vix@vazka.sk>, 2002.
+# Martin Matu¹ka <martin@matuska.org>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-05-12 11:43+0200\n"
+"PO-Revision-Date: 2008-03-19 12:00+0100\n"
+"Last-Translator: Martin Matuska <martin@matuska.org>\n"
+"Language-Team: Slovak <vix@vazka.sk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s vrátane podúloh)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d hodina"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d hodina, %d minúta"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d hodín, %d minút"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d hodín"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d hodín, %d minút"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d hodín, %d minút"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minúta"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minút"
+
+#: lib/Nag.php:392
+#, php-format
+msgid "%s at %s"
+msgstr "%s o %s"
+
+#: lib/Nag.php:618 lib/Block/tree_alarms.php:41 lib/Block/summary.php:106
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s má termín splnenia %s"
+
+#: lib/Nag.php:616 lib/Block/tree_alarms.php:43 lib/Block/summary.php:104
+#, php-format
+msgid "%s is due now."
+msgstr "%s má termín splnenia práve teraz."
+
+#: task.php:238
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s je teraz neukonèené."
+
+#: data.php:202
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s úspe¹ne importovaný"
+
+#: tasklists.php:104 lib/Nag.php:544 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "Zoznam úloh %s"
+
+#: lib/Nag.php:343 lib/Forms/task.php:61
+msgid "(highest)"
+msgstr "(najvy¹¹ia)"
+
+#: lib/Nag.php:343 lib/Forms/task.php:62
+msgid "(lowest)"
+msgstr "(najni¾¹ia)"
+
+#: task.php:222
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Pri ukonèovaní úlohy %s bol zamietnutý prístup."
+
+#: task.php:27
+msgid "Access denied deleting task."
+msgstr "Pri vymazávaní úlohy bol zamietnutý prístup."
+
+#: task.php:91 task.php:97
+msgid "Access denied editing task."
+msgstr "Pri úprave úlohy bol zamietnutý prístup."
+
+#: task.php:89
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Pri úprave úlohy bol zamietnutý prístup: %s"
+
+#: task.php:170
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Pri presúvaní úlohy do %s bol zamietnutý prístup."
+
+#: task.php:173
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Pri odstraòovaní úlohy z %s bol zamietnutý prístup."
+
+#: task.php:132
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Pri ukladaní úlohy do %s bol zamietnutý prístup."
+
+#: task.php:128
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Pri ukladaní úlohy bol zamietnutý prístup: %s"
+
+#: templates/view/task.inc:26 lib/Forms/task.php:91
+msgid "Alarm"
+msgstr "Alarm"
+
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "V¹etky úlohy"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "V¾dy zobrazi» ukonèené úlohy?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "V¾dy zobrazova» úlohy po termíne splnenia?"
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "Vzostupne"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Nadpis bloku"
+
+#: data.php:30
+msgid "CSV"
+msgstr "CSV (hodnoty oddelené èiarkou)"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Kalendár"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Zru¹i»"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Kat_egória"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:79
+#: lib/Forms/task.php:85 config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Category"
+msgstr "Kategória"
+
+#: templates/tasklists/tasklists.inc:26
+msgid "Change"
+msgstr "Zmeni»"
+
+#: tasklists/index.php:56 templates/tasklist_list.php:35
+msgid "Change Permissions"
+msgstr "Zmeni» prístupové práva"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Zmeni» spôsob triedenia úloh a nastavenia zobrazovania."
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Vyberte aké upovedomenie chcete pri úlohách s alarmami:"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Vyberte, èi chcete by» upovedomený o nových, upravených a vymazaných úlohách "
+"e-mailom:"
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr "Vyberte, èi chcete by» upovedomený o zmenách v úlohách a alarmoch."
+
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Vyberte Vá¹ prednastavený zoznam úloh."
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr "Kliknite alebo skopírujte toto URL na zobrazenie tohto zoznamu úloh"
+
+#: templates/panel.inc:44
+msgid "Close"
+msgstr "Zavrie»"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Zavrie» hµadanie"
+
+#: view.php:112
+msgid "Complete"
+msgstr "Ukonèená"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:175
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Ukonèená úloha \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Ukonèi» úlohu"
+
+#: config/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "Ukonèi» úlohy"
+
+#: lib/Nag.php:407 lib/Block/summary.php:173
+msgid "Completed"
+msgstr "Hotovo"
+
+#: task.php:236
+#, php-format
+msgid "Completed %s."
+msgstr "%s bola ukonèená."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Ukonèené úlohy"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Unkonèená nadradená úloha, oznaète ju najprv ako neukonèenú"
+
+#: templates/view/task.inc:38 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:97 config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "Ukonèená?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "Stav ukonèenia"
+
+#: lib/api.php:443 lib/api.php:704
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Spojenie zlyhalo: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:86
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Vytvori»"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Vytvori» zoznam úloh"
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "Vytvori» nový zoznam úloh"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Vytvorené"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Deò"
+
+#: lib/Nag.php:439 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Deò(dni)"
+
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Prednastavený zoznam úloh:"
+
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Prednastavenia pre nové úlohy"
+
+#: lib/Forms/task.php:90
+msgid "Delay Start Until"
+msgstr "Odlo¾i» zaèiatok do"
+
+#: view.php:119 tasklists/index.php:57 templates/tasklist_list.php:37
+#: templates/tasklists/tasklists.inc:87 lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Vymaza»"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Vymaza» %s"
+
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "Potvrdenie vymazania"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "Správanie sa tlaèidla vymaza»"
+
+#: task.php:112 lib/Forms/task.php:102 lib/Forms/task.php:129
+msgid "Delete this task"
+msgstr "Vymaza» túto úlohu"
+
+#: task.php:37
+#, php-format
+msgid "Deleted %s."
+msgstr "%s vymazaná."
+
+#: lib/api.php:686
+msgid "Deleting entire tasklists is not supported."
+msgstr "Vymazanie celých zoznamov úloh nie je podporované."
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "Zostupne"
+
+#: data.php:53 lib/Forms/task.php:98 lib/Forms/CreateTaskList.php:37
+#: lib/Forms/EditTaskList.php:44
+msgid "Description"
+msgstr "Popis"
+
+#: templates/tasklists/tasklists.inc:75
+msgid "Description:"
+msgstr "Popis:"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Nastavenie zobrazenia"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "Zobrazi» URL"
+
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "Chcete potvrdi» vymazanie záznamov?"
+
+#: data.php:55 templates/view/task.inc:22 lib/Forms/task.php:89
+msgid "Due By"
+msgstr "Splni» do"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "Termín splnenia"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Termín splnenia stanovený."
+
+#: view.php:115 tasklists/index.php:55 templates/tasklist_list.php:33
+msgid "Edit"
+msgstr "Upravi»"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:166
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Upravi» \"%s\""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Upravi» %s"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "Upravi» úlohu"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Upravi» kategórie a farby"
+
+#: task.php:102 task.php:116
+#, php-format
+msgid "Edit: %s"
+msgstr "Upravi»: %s"
+
+#: task.php:20
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Nastala chyba pri vymazávaní úlohy: %s"
+
+#: templates/view/task.inc:34 lib/Forms/task.php:96
+msgid "Estimated Time"
+msgstr "Predpokladaný èas"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Export"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Exportova» úlohy"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr "Externé údaje"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "V¹eobecné nastavenia"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Hodina"
+
+#: lib/Nag.php:442 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Hodina(y)"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Import úloh, krok %d"
+
+#: data.php:208
+msgid "Import/Export Tasks"
+msgstr "Import/Export úloh"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "_Neukonèené úlohy"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Neukonèené úlohy"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Neukonèené podúlohy, ukonèite najprv tieto"
+
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Neukonèené úlohy"
+
+#: lib/api.php:520
+msgid "Invalid tasklist name supplied."
+msgstr "Boli zadaný nesprávny názov zoznamu úloh."
+
+#: lib/api.php:386
+msgid "Invalid tasklist requested."
+msgstr "Bol vy¾adovaný neplatný zoznam úloh."
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Posledná aktualizácia"
+
+#: tasklists/index.php:61 templates/tasklist_list.php:2
+msgid "Manage Task Lists"
+msgstr "Spravova» zoznamy úloh"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Oznaèi» \"%s\" ako neukonèenú"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Oznaèi» ako neukonèenú"
+
+#: lib/api.php:125
+msgid "Maximum Number of Tasks"
+msgstr "Maximálny poèet úloh"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Alarmy v menu"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Zoznam v menu"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Minúta"
+
+#: lib/Nag.php:445 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Minúta(y)"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Mesiac"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Ïal¹ie nastavenia..."
+
+#: lib/api.php:1179
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr ""
+"Bolo nájdených viacero komponentov iCalendar; podporovaný je len jeden vTodo."
+
+#: templates/panel.inc:72
+msgid "My Task Lists:"
+msgstr "Moje zoznamy úloh"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Moje úlohy"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "Me_no"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "_Meno"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: Nenájdená úloha %s"
+
+#: data.php:52 lib/Forms/task.php:68 lib/Forms/CreateTaskList.php:36
+#: lib/Forms/EditTaskList.php:43
+msgid "Name"
+msgstr "Meno"
+
+#: templates/tasklists/tasklists.inc:68
+msgid "Name:"
+msgstr "Meno:"
+
+#: task.php:81 task.php:116 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Prida» úlohu"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Ïalej"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "Nie"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "®iadne oneskorenie"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "®iaden termín splnenia."
+
+#: lib/api.php:553 lib/api.php:902 lib/api.php:960 lib/api.php:1172
+msgid "No iCalendar data was found."
+msgstr "Neboli nájdené ¾iadne údaje iCalendar."
+
+#: lib/Forms/task.php:53
+msgid "No parent task"
+msgstr "®iadna nadradená úloha"
+
+#: lib/Nag.php:633
+msgid "No task lists are available to guests."
+msgstr "Pre anonymných pou¾ívateµov nie sú dostupné ¾iadne zoznamy úloh."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "®iadne úlohy nezodpovedajú"
+
+#: lib/Block/summary.php:229
+msgid "No tasks to display"
+msgstr "®iadne úlohy zobrazenie"
+
+#: lib/Nag.php:449 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "®iaden"
+
+#: lib/Nag.php:408
+msgid "Not Completed"
+msgstr "Neukonèená"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Nesúkromné"
+
+#: lib/api.php:760
+msgid "Not configured"
+msgstr "Nenastavené"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Nenajdené"
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Upozornenia"
+
+#: config/prefs.php.dist:168
+msgid "On all shown task lists"
+msgstr "Na v¹etkých zobrazených zoznamoch úloh"
+
+#: config/prefs.php.dist:169
+msgid "On all task lists I have read access to"
+msgstr "Na v¹etkých zoznamoch úloh, ku ktorým mám prístup na èítanie"
+
+#: config/prefs.php.dist:167
+msgid "On my task lists only"
+msgstr "Iba na mojich zoznamoch úloh"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "P_ri"
+
+#: lib/Forms/task.php:75
+msgid "Parent task"
+msgstr "Nadradená úloha"
+
+#: templates/tasklists/tasklists.inc:71
+msgid "Permission"
+msgstr "Právo"
+
+#: lib/api.php:769 lib/api.php:807 lib/api.php:840 lib/api.php:876
+#: lib/api.php:998 lib/api.php:1053 lib/api.php:1117 lib/api.php:1154
+#: lib/api.php:1267 lib/api.php:1314
+msgid "Permission Denied"
+msgstr "Prístup zamietnutý"
+
+#: lib/api.php:210 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Prístup zamietnutý"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:93
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Priorita"
+
+#: templates/view/task.inc:14 lib/Driver.php:907
+msgid "Private"
+msgstr "Súkromná"
+
+#: lib/Driver.php:905
+msgid "Private Task"
+msgstr "Súkromná úloha"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:88
+msgid "Private?"
+msgstr "Súkromné?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"Naozaj vymaza» zoznam úloh \"%s\"? Toto nie je mo¾né vráti» spä» a v¹etky "
+"dáta v tomto zozname úloh budú trvale vymazané."
+
+#: view.php:119
+msgid "Really delete this task?"
+msgstr "Naozaj vymaza» túto úlohu?"
+
+#: templates/tasklists/tasklists.inc:81
+msgid "Remote Subscription URL"
+msgstr "URL pre vzdialené prihlásenie"
+
+#: templates/panel.inc:90 lib/Forms/task.php:100 lib/Forms/task.php:127
+#: lib/Forms/EditTaskList.php:46
+msgid "Save"
+msgstr "Ulo¾i»"
+
+#: task.php:201
+#, php-format
+msgid "Saved %s."
+msgstr "%s ulo¾ená."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Hµada»"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "Hµada» podµa:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Hµada» _text:"
+
+#: templates/panel.inc:60
+msgid "Search for Task Lists:"
+msgstr "Hµada» zoznamy úloh:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Hµada»:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Hµada»: Výsledky pre \"%s\""
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Vyberte dátum"
+
+#: templates/tasklists/tasklists.inc:62
+msgid "Select a tasklist"
+msgstr "Vyberte zoznam úloh"
+
+#: templates/tasklists/tasklists.inc:24 templates/tasklists/tasklists.inc:82
+msgid "Select a tasklist above to display the Remote Subscription URL"
+msgstr "Vyberte vy¹¹ie zoznam úloh na zobrazenie URL vzdialeného prihlásenia"
+
+#: templates/tasklists/tasklists.inc:23 templates/tasklists/tasklists.inc:80
+msgid "Select a tasklist above to display the URL"
+msgstr "Vyberte vy¹¹ie zoznam úloh na zobrazenie URL"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Vyberte formát exportu:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Vyberte súbor na import:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Vyberte formát zdrojového súboru:"
+
+#: templates/panel.inc:81
+msgid "Shared Task Lists:"
+msgstr "Zdielané zoznamy úloh:"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Má sa zoznam úloh zobrazi» vo vlastnom ståpci v prehµade úloh?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Zobrazi» tlaèidlá akcií?"
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Zobrazi» ukonèené, neukonèené alebo v¹etky úlohy v zozname úloh?"
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Zobrazi» údaje z µubovoµnej z týchto aplikácií vo Va¹om zozname úloh?"
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Zobrazi» údaje z iných aplikácií alebo zdrojov."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Zobrazi» termíny splnenia?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Zobrazi» priority?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Zobrazi» alarmy úloh?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Zobrazi» kategóriu úlohy?"
+
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Zobrazi» panel s nastaveniami zoznamu úloh?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Zobrazi» meno zoznamu úloh?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Zobrazi» úlohy z týchto kategórií"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Zobrazi» úlohy z týchto zoznamov"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Triedi» podµa kategórie"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Triedi» podµa stavu ukonèenia"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Triedi» podµa termínu splnenia"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Triedi» podµa mena"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Triedi» podµa priority"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Triedi» podµa mena pou¾ívateµa"
+
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "Smer triedenia:"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "Triedi» úlohy podµa:"
+
+#: data.php:56
+msgid "Start"
+msgstr "Zaèiatok"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Dátum zaèiatku"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Dátum zaèiatku stanovený."
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "URL pre prihlásenie"
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Alarm úlohy"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Alarm úlohy?"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "Prednastavenia pre úlohy"
+
+#: templates/tasklist_list.php:15 lib/Forms/task.php:71
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Task List"
+msgstr "Zoznam úloh"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Informácie o zozname úloh"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "Prehµad zoznamov úloh"
+
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Nastavenia zoznamu úloh a zdieµania"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "Zoznam úloh je vlastnený pou¾ívateµom %s."
+
+#: tasklists.php:117 templates/panel.inc:54 templates/panel.inc:55
+msgid "Task Lists"
+msgstr "Zoznamy úloh"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "Meno úlohy"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Poznámka k úlohe"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Poznámka k úlohe?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Hµada» úlohu"
+
+#: lib/Nag.php:658
+msgid "Task added:"
+msgstr "Úloha pridaná:"
+
+#: lib/Nag.php:668
+msgid "Task deleted:"
+msgstr "Úloha vymazaná:"
+
+#: tasklists.php:32
+msgid "Task lists must have a name."
+msgstr "Zoznamy úloh musia ma» názov."
+
+#: lib/Nag.php:663
+msgid "Task modified:"
+msgstr "Úloha upravená:"
+
+#: task.php:95 view.php:44
+msgid "Task not found."
+msgstr "Úloha nebola nájdená."
+
+#: lib/api.php:698
+msgid "Tasklist does not exist or no permission to delete"
+msgstr "Zoznam úloh neexistuje alebo nemáte oprávnenie na jeho vymazanie"
+
+#: lib/api.php:526
+msgid "Tasklist does not exist or no permission to edit"
+msgstr "Zoznam úloh neexistuje alebo nemáte oprávnenie na jeho úpravu"
+
+#: templates/tasklists/tasklists.inc:58
+msgid "Tasklists"
+msgstr "Zoznamy úloh"
+
+#: templates/tasklists/tasklists.inc:60
+msgid "Tasklists:"
+msgstr "Zoznamy úloh:"
+
+#: lib/api.php:1236
+msgid "Tasks"
+msgstr "Úlohy"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Súhrn úloh"
+
+#: lib/api.php:348
+#, php-format
+msgid "Tasks from %s"
+msgstr "Úlohy z %s"
+
+#: data.php:196
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Súbor %s neobsahoval ¾iadne úlohy."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Backend pre úlohy momentálne nie je k dispozícii."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Backend pre úlohy momentálne nie je k dispozícii: %s"
+
+#: lib/Forms/task.php:160
+msgid "The alarm value must not be empty."
+msgstr "Pole s hotnotou pre alarm nemô¾e by» prázdne."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Aktuálna hodina"
+
+#: lib/Nag.php:659
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr "Úloha \"%s\" bola pridaná do zoznamu \"%s\", s termínom splnenia: %s."
+
+#: lib/Nag.php:669
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr "Úloha \"%s\" bola vymazaná zo zoznamu \"%s\", s termínom splnenia: %s."
+
+#: lib/Nag.php:664
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr "Úloha \"%s\" bola upravená v zozname \"%s\", s termínom splnenia: %s."
+
+#: tasklists.php:49
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Zoznam úloh \"%s\" sa nepodarilo vytvori»: %s"
+
+#: tasklists.php:60
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Zoznam úloh \"%s\" sa nepodarilo ulo¾i»: %s"
+
+#: tasklists.php:51 tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Zoznam úloh \"%s\" bol vytvorený."
+
+#: tasklists.php:85 tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Zoznam úloh \"%s\" bol vymazaný."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "Zoznam úloh \"%s\" bol premenovaný na \"%s\"."
+
+#: tasklists.php:62 tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Zoznam úloh \"%s\" bol ulo¾ený."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "Potom:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "®iadne úlohy nevyhovujú aktuálnym kritériám."
+
+#: task.php:232
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Nastala chyba pri aktualizácii %s: %s"
+
+#: task.php:33
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Nastala chyba pri vymazávaní %s: %s"
+
+#: task.php:199
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Nastala chyba pri ukladaní úlohy: %s."
+
+#: data.php:199
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Nastala chyba pri importe údajov: %s"
+
+#: lib/api.php:545 lib/api.php:894 lib/api.php:1166
+msgid "There was an error importing the iCalendar data."
+msgstr "Nastala chyba pri importe údajov iCalendar."
+
+#: data.php:83
+msgid "There were no tasks to export."
+msgstr "Nie sú ¾iadne úlohy na export."
+
+#: data.php:129
+msgid "This file format is not supported."
+msgstr "Tento formát súboru nie je podporovaný."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "Tento zoznam úloh nemô¾e by» vymazaný."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Ak sa chcete prihlási» do tohto zozmanu úloh z iného programu, pou¾ite toto "
+"URL: "
+
+#: templates/tasklists/tasklists.inc:79
+msgid "URL"
+msgstr "URL"
+
+#: tasklists.php:81 lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Nepodarilo sa vymaza» \"%s\": %s"
+
+#: lib/api.php:719
+#, php-format
+msgid "Unable to delete tasklist \"%s\": %s"
+msgstr "Nepodarilo sa vymaza» zoznam úloh \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Nepodarilo sa nahra» definíciu %s."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "Nepodarilo sa ulo¾i» zoznam úloh \"%s\": %s"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:62
+#: lib/Nag.php:900 lib/Nag.php:901 lib/Nag.php:915 lib/Nag.php:916
+#: lib/Forms/task.php:84 lib/Block/summary.php:31 lib/Block/summary.php:222
+msgid "Unfiled"
+msgstr "Nenastavená"
+
+#: lib/api.php:652 lib/api.php:967 lib/api.php:1025 lib/api.php:1079
+#: lib/api.php:1204
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Nepodporovaný typ obsahu (Content-Type): %s"
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Chceli by sme Vám pripomenú» túto nesplnenú úlohu.\n"
+"\n"
+"%s\n"
+"\n"
+"Dátum: %s\n"
+"Èas: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:436 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Tý¾deò(tý¾dne)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Aký chcete ma» prednastavený èas plnenia pre úlohy?"
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Ak vytváram novú úlohu, o koµko dní má by» prednastavený termín splnenia (0 "
+"znamená dnes)?"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "Ak vytváram novú úlohu, má ma» nastavený termín splnenia?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Do ktorého zoznamu úloh sa majú prida» úlohy?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Rok"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Nemáte právo na úpravu tohto zoznamu úloh."
+
+#: data.php:41 data.php:154 task.php:68
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Nemáte právo vytvori» viac ako %d úloh."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Nemáte právo na vymazanie tohto zoznamu úloh."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "Nemáte právo na zobrazenie tohto zoznamu úloh."
+
+#: tasklists.php:88
+msgid "You must select a task list to be deleted."
+msgstr "Musíte oznaèi» úlohu, ktorá má by» vymazaná."
+
+#: templates/tasklists/tasklists.inc:47
+msgid "You must select a tasklist to be deleted."
+msgstr "Musíte oznaèi» zoznam úloh, ktorý má by» vymazaný."
+
+#: lib/Nag.php:659
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Po¾iadali ste o notifikáciu pri pridaní nových úloh do Va¹ích zoznamov úloh."
+
+#: lib/Nag.php:669
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr "Po¾iadali ste o notifikáciu pri vymazaní úloh z Va¹ích zoznamov úloh."
+
+#: lib/Nag.php:664
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Po¾iadali ste o notifikáciu v prípade úpravy úloh vo Va¹ích zoznamoch úloh."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Vá¹ prednastavený zoznam úloh:"
+
+#: templates/panel.inc:67
+msgid "[Manage Task Lists]"
+msgstr "[Spravova» zoznamy úloh]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:206
+msgid "[none]"
+msgstr "[¾iadne]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_V¹etky úlohy"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_V¹etky úlohy"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "_Kategória"
+
+#: view.php:112
+msgid "_Complete"
+msgstr "U_konèi»"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "U_konèené úlohy"
+
+#: view.php:119
+msgid "_Delete"
+msgstr "_Vymaza»"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "_Popis"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "_Termín"
+
+#: view.php:115
+msgid "_Edit"
+msgstr "_Upravi»"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "_Budúce úlohy"
+
+#: lib/Nag.php:581
+msgid "_Import/Export"
+msgstr "_Import/Export"
+
+#: lib/Nag.php:568
+msgid "_List Tasks"
+msgstr "_Zoznam úloh"
+
+#: lib/Nag.php:573
+msgid "_New Task"
+msgstr "_Nová úloha"
+
+#: lib/Nag.php:586
+msgid "_Print"
+msgstr "_Tlaèi»"
+
+#: lib/Nag.php:577
+msgid "_Search"
+msgstr "_Hµada»"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "_Zoznam úloh"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "AM"
+
+#: view.php:73 view.php:82
+#, php-format
+msgid "by %s"
+msgstr "pou¾ívateµom %s"
+
+#: view.php:75 view.php:84
+msgid "by me"
+msgstr "Vami"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "v %s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "¾iaden èas"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "PM"
+
+#: data.php:103 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "ulohy.csv"
+
+#: data.php:114
+msgid "tasks.ics"
+msgstr "ulohy.ics"
--- /dev/null
+# Slovenian translations for Nag packaga
+# Slovenski prevod Nag paketa
+# Copyright 2006-2009 The Horde Project
+# This file is distributed under the same license as the horde package.
+# Automatically generated, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nag\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2006-08-16 19:14+0200\n"
+"PO-Revision-Date: 2006-04-30 10:32+0100\n"
+"Last-Translator: duck@obala.net\n"
+"Language-Team: sl_SI <duck@obala.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d ura"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d ura, %d minuta"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d ura, %d minut"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d ur"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d ur, %d minuta"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d ur, %d minut"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d minuta"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d minut"
+
+#: templates/list/header.inc:3
+#, php-format
+msgid "%d tasks"
+msgstr "%d opravil"
+
+#: lib/Nag.php:380
+#, php-format
+msgid "%s at %s"
+msgstr "%s ob %s"
+
+#: lib/Nag.php:532 lib/Block/tree_alarms.php:34 lib/Block/summary.php:90
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s zapade %s "
+
+#: lib/Nag.php:530 lib/Block/tree_alarms.php:32 lib/Block/summary.php:88
+#, php-format
+msgid "%s is due now."
+msgstr "%s zapade zdaj."
+
+#: task.php:324
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s je sedaj nedokončana."
+
+#: data.php:191
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s je uspeno sprejet."
+
+#: tasklists.php:100 lib/base.php:104
+#, php-format
+msgid "%s's Task List"
+msgstr "%s Seznam Opravil"
+
+#: lib/Nag.php:337
+msgid "(highest)"
+msgstr "(najvišji)"
+
+#: lib/Nag.php:337
+msgid "(lowest)"
+msgstr "(najnižji)"
+
+#: templates/list/header.inc:3
+msgid "1 task"
+msgstr "1 opravilo"
+
+#: task.php:305
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Dokončanje opravila %s je zavrnjeno."
+
+#: task.php:279
+#, php-format
+msgid "Access denied deleting %s."
+msgstr "Brisanje %s je zavrnjeno."
+
+#: task.php:81 task.php:91
+msgid "Access denied editing task."
+msgstr "Nimate pravic urejanja tega opravila."
+
+#: task.php:79
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Nimate pravic urejanja opravila: %s"
+
+#: task.php:237
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Premikanje opravila na %s je zavrnjeno."
+
+#: task.php:240
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Odstranjevanje opravila iz %s je zavrnejno."
+
+#: task.php:158
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Shranjevanje opravila na %s je zavrnejno."
+
+#: task.php:156
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Shranjevanje opravila: %s je zavrnjeno."
+
+#: templates/view/task.inc:39 templates/task/task.inc:78
+msgid "Alarm"
+msgstr "Alarem"
+
+#: templates/task/task.inc:86
+msgid "Alarm Unit"
+msgstr "Enota alarma"
+
+#: templates/task/task.inc:84
+msgid "Alarm Value"
+msgstr "Vrednost alarama"
+
+#: config/prefs.php.dist:143
+msgid "All tasks"
+msgstr "Vsa opravila"
+
+#: lib/Block/summary.php:54
+msgid "Always show completed tasks?"
+msgstr "Ali naj vedno prikažem zaključena opravila?"
+
+#: lib/Block/summary.php:51
+msgid "Always show overdue tasks?"
+msgstr "Ali naj vedno prikažem zapadla opravila?"
+
+#: config/prefs.php.dist:98
+msgid "Ascending"
+msgstr "Naraščajoče"
+
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Nazaj na Seznam Možnosti Opravil"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:65
+msgid "Calendar"
+msgstr "Koledar"
+
+#: templates/list/task_headers.inc:65
+msgid "Cat_egory"
+msgstr "Kategorija"
+
+#: data.php:52 templates/view/task.inc:25 config/prefs.php.dist:70
+#: config/prefs.php.dist:85
+msgid "Category"
+msgstr "Kategorija"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Spremeni"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Spremeni nastavitve razvrščanja in prikazovanja opravil."
+
+#: config/prefs.php.dist:122
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"Izberite če želite biti opozorjeni kadar bo opravilo dodano, urejeno ali "
+"izbrisano po emailu:"
+
+#: config/prefs.php.dist:36
+msgid "Choose if you want to be notified of new, edited, and deleted tasks."
+msgstr ""
+"Izberite če želite biti opozorjeni kadar bo opravilo dodano, urejeno ali "
+"izbrisano."
+
+#: config/prefs.php.dist:29
+msgid "Choose your default task list."
+msgstr "Izberi prevzat spisek pravil."
+
+#: templates/search/search.inc:34
+msgid "Clear Form"
+msgstr "Sprazni Obrazec"
+
+#: templates/task/task.inc:108
+msgid "Co_mpleted?"
+msgstr "Zaključeno?"
+
+#: templates/view/task.inc:11
+msgid "Complete"
+msgstr "Končaj"
+
+#: templates/list/task_summaries.inc:6 lib/Block/summary.php:145
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Coleten \"%s\""
+
+#: templates/view/task.inc:55
+msgid "Complete Task"
+msgstr "Končaj Opravilo"
+
+#: config/prefs.php.dist:145
+msgid "Complete tasks"
+msgstr "Končaj opravilo"
+
+#: lib/Nag.php:395 lib/Block/summary.php:143
+msgid "Completed"
+msgstr "Končano"
+
+#: task.php:322
+#, php-format
+msgid "Completed %s."
+msgstr "Končano %s."
+
+#: templates/view/task.inc:51 templates/list/task_headers.inc:43
+#: config/prefs.php.dist:72 config/prefs.php.dist:87
+msgid "Completed?"
+msgstr "Zaključim?"
+
+#: data.php:55
+msgid "Completion Status"
+msgstr "Zaključeno Stanje"
+
+#: lib/api.php:267
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Povezava neuspešna: %s"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Ustvari"
+
+#: templates/view/task.inc:67
+msgid "Created"
+msgstr "Ustvarjeno"
+
+#: templates/task/task.inc:58
+msgid "Day"
+msgstr "Dan"
+
+#: templates/task/task.inc:90 lib/Nag.php:427
+msgid "Day(s)"
+msgstr "Dnevi"
+
+#: config/prefs.php.dist:28
+msgid "Default Task List"
+msgstr "Privzet spisek opravil"
+
+#: templates/tasklists/tasklists.inc:100 templates/view/task.inc:16
+msgid "Delete"
+msgstr "Zbriši"
+
+#: config/prefs.php.dist:21
+msgid "Delete Confirmation"
+msgstr "Potrditev izbrisa"
+
+#: config/prefs.php.dist:22
+msgid "Delete button behaviour"
+msgstr "Lastnosti gumba za brisanje"
+
+#: templates/task/task.inc:130
+msgid "Delete this task"
+msgstr "Izbriši izbrano opravilo"
+
+#: task.php:287
+#, php-format
+msgid "Deleted %s."
+msgstr "Zbrisano %s."
+
+#: config/prefs.php.dist:99
+msgid "Descending"
+msgstr "Padajoďż"
+
+#: data.php:51
+msgid "Description"
+msgstr "Opis"
+
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Opis:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Prikaži Možnosti:"
+
+#: config/prefs.php.dist:109
+msgid "Do you want to confirm deleting entries?"
+msgstr "Zahtevam potrditev izbrisana opravila?"
+
+#: data.php:53 templates/view/task.inc:35 templates/task/task.inc:50
+msgid "Due By"
+msgstr "Končati do"
+
+#: config/prefs.php.dist:71 config/prefs.php.dist:86
+msgid "Due Date"
+msgstr "KOnčni Datum"
+
+#: templates/task/task.inc:57
+msgid "Due date specified."
+msgstr "Podana zapadlost."
+
+#: lib/api.php:729
+#, php-format
+msgid "Due: %s"
+msgstr "Zapade: %s"
+
+#: templates/view/task.inc:13
+msgid "Edit"
+msgstr "Uredi"
+
+#: templates/list/task_summaries.inc:27 lib/Block/summary.php:140
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Uredi \"%s\""
+
+#: templates/list/task_headers.inc:54
+msgid "Edit Task"
+msgstr "Uredi Opravila"
+
+#: templates/list/task_headers.inc:70
+msgid "Edit categories and colors"
+msgstr "Uredi kategorije in barve"
+
+#: task.php:139
+#, php-format
+msgid "Edit: %s:"
+msgstr "Uredi: %s:"
+
+#: templates/task/task.inc:83
+msgid "Enabled"
+msgstr "Vklopljen"
+
+#: templates/view/task.inc:47 templates/task/task.inc:102
+msgid "Estimated Time"
+msgstr "Predvideno ur"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Oddaj"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Oddaj Opravila"
+
+#: config/prefs.php.dist:47
+msgid "External Data"
+msgstr "Zunanji Podatki"
+
+#: config/prefs.php.dist:13 config/prefs.php.dist:20
+msgid "General Options"
+msgstr "Splone Monosti"
+
+#: templates/task/task.inc:70
+msgid "Hour"
+msgstr "Ura"
+
+#: templates/task/task.inc:89 lib/Nag.php:430
+msgid "Hour(s)"
+msgstr "Ure"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Sprejmi Opravila, Korak %d"
+
+#: data.php:197
+msgid "Import/Export Tasks"
+msgstr "Sprejmi/Oddaj Opravila"
+
+#: list.php:88
+msgid "Incom_plete tasks"
+msgstr "Nedokončana opravila"
+
+#: config/prefs.php.dist:144
+msgid "Incomplete tasks"
+msgstr "Nedokončana opravila"
+
+#: templates/view/task.inc:74
+msgid "Last Modified"
+msgstr "Zadnjič Spremenjeno"
+
+#: templates/list/task_summaries.inc:9
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "Osnači \"%s\" ko nedokončana"
+
+#: templates/view/task.inc:57
+msgid "Mark as incomplete"
+msgstr "Označi kot nedokončan"
+
+#: lib/api.php:96
+msgid "Maximum Number of Tasks"
+msgstr "Največje število opravil"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Meni Alarmov"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Spisek"
+
+#: templates/task/task.inc:71
+msgid "Minute"
+msgstr "Minute"
+
+#: templates/task/task.inc:88 lib/Nag.php:433
+msgid "Minute(s)"
+msgstr "Minuta(e)"
+
+#: templates/task/task.inc:59
+msgid "Month"
+msgstr "Mesec"
+
+#: lib/api.php:659
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Razne iKoledarjeve komponente; samo en vTodo ima podporo."
+
+#: list.php:39
+msgid "My Tasks"
+msgstr "Moja Opravila"
+
+#: templates/search/search.inc:25 templates/task/task.inc:17
+msgid "N_ame"
+msgstr "Ime"
+
+#: templates/list/task_headers.inc:57
+msgid "Na_me"
+msgstr "Ime"
+
+#: data.php:50
+msgid "Name"
+msgstr "Ime"
+
+#: task.php:71 lib/Block/summary.php:18 lib/Block/tree_menu.php:21
+msgid "New Task"
+msgstr "Novo Opravilo"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Naslednji"
+
+#: config/prefs.php.dist:118
+msgid "No"
+msgstr "Ne"
+
+#: templates/task/task.inc:53
+msgid "No due date."
+msgstr "Ni končnega datuma."
+
+#: lib/api.php:446 lib/api.php:497 lib/api.php:652
+msgid "No iCalendar data was found."
+msgstr "Podatkov iKoledarja nisem nael."
+
+#: lib/Nag.php:546
+msgid "No task lists are available to guests."
+msgstr "Seznami opravil niso na voljo gostom."
+
+#: lib/Block/summary.php:186
+msgid "No tasks to display"
+msgstr "Ni opravil za prikaz"
+
+#: templates/task/task.inc:81 lib/Nag.php:437
+msgid "None"
+msgstr "Nedoločen"
+
+#: lib/Nag.php:396
+msgid "Not Completed"
+msgstr "Ni končano"
+
+#: templates/view/task.inc:31
+msgid "Not Private"
+msgstr "Ni zasebna"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Ne najdem"
+
+#: config/prefs.php.dist:35
+msgid "Notifications"
+msgstr "Opozarjanje"
+
+#: config/prefs.php.dist:120
+msgid "On all shown tasklists"
+msgstr "Na vseh porkazanih opravilih"
+
+#: config/prefs.php.dist:121
+msgid "On all tasklists I have read access to"
+msgstr "Na vseh opravilih za katera imam dostop za branje."
+
+#: config/prefs.php.dist:119
+msgid "On my tasklists only"
+msgstr "Samo na mojih opravilih"
+
+#: templates/list/task_headers.inc:51
+msgid "P_ri"
+msgstr "Pri"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Dovoljenja"
+
+#: lib/api.php:420 lib/api.php:534 lib/api.php:597 lib/api.php:634
+msgid "Permission Denied"
+msgstr "Dovoljenje je bilo zavrnjeno"
+
+#: lib/api.php:148
+msgid "Permission denied"
+msgstr "Dostopo zavrnjen"
+
+#: data.php:54 templates/view/task.inc:43 config/prefs.php.dist:68
+#: config/prefs.php.dist:83
+msgid "Priority"
+msgstr "Prioriteta"
+
+#: list.php:138 view.php:78 templates/view/task.inc:31
+msgid "Private"
+msgstr "Zasebni"
+
+#: list.php:136 view.php:76
+msgid "Private Task"
+msgstr "Zasebno opravilo"
+
+#: templates/view/task.inc:29
+msgid "Private?"
+msgstr "Zasebno?"
+
+#: templates/view/task.inc:16
+msgid "Really delete this task?"
+msgstr "Resnično želite izbrisati opravilo?"
+
+#: templates/list/header.inc:5
+msgid "Refresh List"
+msgstr "Osvei seznam"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Ponovno zaženi"
+
+#: templates/task/task.inc:122
+msgid "Save"
+msgstr "Shrani"
+
+#: task.php:263
+#, php-format
+msgid "Saved %s."
+msgstr "Shranjeno %s."
+
+#: search.php:14 templates/search/search.inc:6 templates/search/search.inc:33
+#: lib/Block/tree_menu.php:30
+msgid "Search"
+msgstr "Najdi"
+
+#: list.php:62
+msgid "Search Results"
+msgstr "Najdi Rezultate"
+
+#: templates/search/search.inc:22
+msgid "Search Scope:"
+msgstr "Najdi v"
+
+#: templates/search/search.inc:14
+msgid "Search _Text:"
+msgstr "Išči besedilo"
+
+#: templates/task/task.inc:65
+msgid "Select a date"
+msgstr "Izberite datum"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Izberite seznam opravil"
+
+#: templates/menu.inc:7 templates/menu.inc:9
+msgid "Select tasklists to display:"
+msgstr "Izberi opravila za prikaz:"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Izberite obliko izvozne datoteke:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Izberite datoteko, ki jo elite sprejeti:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Izberite obliko zapisa uvozne datoteke:"
+
+#: config/prefs.php.dist:59
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Prikažem spiek opravil v svoji koloni v spisku?"
+
+#: lib/Block/summary.php:36
+msgid "Show action buttons?"
+msgstr "Ali naj prikažem ukazne tipke?"
+
+#: config/prefs.php.dist:146
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Ali naj prikažem dokončana, nedokončana ali vsa opravila na seznamu opravil?"
+
+#: config/prefs.php.dist:133
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Ali naj prikažem podatke ostalih aplikacij na vašem seznamu opravil?"
+
+#: config/prefs.php.dist:48
+msgid "Show data from other applications or sources."
+msgstr "Prikaži podatke ostalih aplikacij ali virov."
+
+#: lib/Block/summary.php:39
+msgid "Show due dates?"
+msgstr "Prikažem končne datume?"
+
+#: lib/Block/summary.php:33
+msgid "Show priorities?"
+msgstr "Ali naj prikažem prioritete?"
+
+#: lib/Block/summary.php:45
+msgid "Show task alarms?"
+msgstr "Ali naj prikažem alarme opravil?"
+
+#: lib/Block/summary.php:48
+msgid "Show task category?"
+msgstr "Prikaži kategorije opravil?"
+
+#: lib/Block/summary.php:42
+msgid "Show tasklist name?"
+msgstr "Ali naj prikažem ime seznama opravil?"
+
+#: lib/Block/summary.php:57
+msgid "Show tasks from these categories"
+msgstr "Prikaži opravila iz te kategorije"
+
+#: templates/list/task_headers.inc:65
+msgid "Sort by Category"
+msgstr "Razvrsti glede na Kategorijo"
+
+#: templates/list/task_headers.inc:43
+msgid "Sort by Completion Status"
+msgstr "Razvrsti glede na zaključno stanje"
+
+#: templates/list/task_headers.inc:62
+msgid "Sort by Due Date"
+msgstr "Razvrsti glede na Končni Datum"
+
+#: templates/list/task_headers.inc:57
+msgid "Sort by Name"
+msgstr "Razvrsti po Imenih"
+
+#: templates/list/task_headers.inc:51
+msgid "Sort by Priority"
+msgstr "Razvrsti glede ne Prioritete"
+
+#: templates/list/task_headers.inc:47
+msgid "Sort by User Name"
+msgstr "Razvrsti po Imenih Uporabnikov"
+
+#: config/prefs.php.dist:100
+msgid "Sort direction:"
+msgstr "Smer prikazovanja"
+
+#: config/prefs.php.dist:74
+msgid "Sort tasks by:"
+msgstr "Upredni opravila po"
+
+#: templates/list/task_summaries.inc:35
+msgid "Task Alarm"
+msgstr "Alarm Opravila"
+
+#: templates/list/task_headers.inc:60
+msgid "Task Alarm?"
+msgstr "Alarm Opravila?"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Seznam Opravil"
+
+#: config/prefs.php.dist:27 config/prefs.php.dist:34 config/prefs.php.dist:46
+msgid "Task List and Share Options"
+msgstr "Seznam Opravil in Monosti"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Ime Seznama Opravil:"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Seznami Opravil"
+
+#: config/prefs.php.dist:69 config/prefs.php.dist:84
+msgid "Task Name"
+msgstr "Ime Opravila"
+
+#: templates/list/task_summaries.inc:33
+msgid "Task Note"
+msgstr "Opomba Opravila"
+
+#: templates/list/task_headers.inc:59
+msgid "Task Note?"
+msgstr "Opomba pravila?"
+
+#: lib/Nag.php:571
+msgid "Task added:"
+msgstr "Opravil oddano:"
+
+#: lib/Nag.php:581
+msgid "Task deleted:"
+msgstr "Izbrisana opravila:"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Spisek opravil mora vsebovati ime."
+
+#: lib/Nag.php:576
+msgid "Task modified:"
+msgstr "Opravilo spremenjeno:"
+
+#: task.php:89 view.php:43
+msgid "Task not found."
+msgstr "Opravila ne najdem."
+
+#: config/prefs.php.dist:73 config/prefs.php.dist:88
+msgid "Tasklist"
+msgstr "Seznam Opravil"
+
+#: lib/api.php:710
+msgid "Tasks"
+msgstr "Opravila"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Povzetek Opravil"
+
+#: lib/Driver.php:55
+msgid "The Tasks backend is not currently available."
+msgstr "Podatkovni vir opravil je trenutno nedostopen."
+
+#: lib/Driver.php:309
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Podatkovni vir opravil je trenutno nedostopen: %s"
+
+#: task.php:194
+msgid "The alarm field may only contain integers."
+msgstr "Alarem lahko vsebuje le celotna števila."
+
+#: lib/Nag.php:572
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr "Opravilo \"%s\" je bilo dodano v \"%s\", in preteče: %s."
+
+#: lib/Nag.php:582
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr "Opravilo \"%s\" je bilo izbrisano iz \"%s\", in je poteklo: %s."
+
+#: lib/Nag.php:577
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr "Opravilo \"%s\" je bilo urejeno v \"%s\", in preteče: %s."
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Seznama opravil \"%s\" ne morem ustvariti: %s"
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Seznama opravil \"%s\" ne morem shraniti: %s"
+
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Seznam opravil \"%s\" je bil ustvarjen."
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Seznam opravil \"%s\" je bil zbrisan."
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Seznam opravil \"%s\" je bil shranjen."
+
+#: config/prefs.php.dist:89
+msgid "Then:"
+msgstr "Potem:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Ni opravil, ki bi ustrezale izbranim kriterijem."
+
+#: task.php:318
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Prilo je do težave pri zaključevanju %s: %s"
+
+#: task.php:284
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Prilo je do težave pri brisanju %s: %s"
+
+#: task.php:261
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Prilo je do težave pri shranjevanju opravila: %s"
+
+#: data.php:188
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Prilo je do napake pri sprejemanju podatkov: %s"
+
+#: lib/api.php:438 lib/api.php:646
+msgid "There was an error importing the iCalendar data."
+msgstr "Prilo je do napake pri sprejemanju podatkov iKoledarja"
+
+#: data.php:77
+msgid "There were no tasks to export."
+msgstr "Ni opravil za oddajo."
+
+#: data.php:121
+msgid "This file format is not supported."
+msgstr "Format datoteke nima podpore."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Ne morem zbrisati \"%s\": %s"
+
+#: lib/Driver.php:312
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "Ne morem naložiti definicije za %s."
+
+#: templates/task/task.inc:123
+msgid "Undo changes"
+msgstr "Povrni Spremenjeno"
+
+#: templates/view/task.inc:26 templates/list/task_summaries.inc:40
+#: scripts/upgrades/2004-05-13_convert_categories_to_strings.php:50
+#: lib/Nag.php:791 lib/Nag.php:792 lib/Nag.php:806 lib/Nag.php:807
+#: lib/Block/summary.php:30 lib/Block/summary.php:179
+msgid "Unfiled"
+msgstr "Neizpoljeno"
+
+#: lib/api.php:504 lib/api.php:561 lib/api.php:681
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Nepoznana oblika zapisa: %s"
+
+#: templates/task/task.inc:91 lib/Nag.php:424
+msgid "Week(s)"
+msgstr "Teden(i)"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Kateremu seznamu opravil naj dodam opravilo?"
+
+#: templates/task/task.inc:60
+msgid "Year"
+msgstr "Leto"
+
+#: data.php:39 data.php:146 task.php:31
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "Nimate pravice tvorjenja več kot %d opravil."
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Ni vam dovoljen vpogled v ta seznam opravil. "
+
+#: tasklists.php:84 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Izbrati morate seznam opravil, ki bo zbrisan."
+
+#: lib/Nag.php:572
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr ""
+"Zahtevali ste opozorilo kadar bo dodano novo opravilo. v vaši spisek opravil."
+
+#: lib/Nag.php:582
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Zahtevali ste opozorilo kadar bo opravilo izbrisano iz vašega spiseka "
+"opravil."
+
+#: lib/Nag.php:577
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Zahtevali ste opozorilo kadar bo opravilo urejeno v vaši spisek opravil."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Va privzet seznam opravila:"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Vai seznami opravil:"
+
+#: templates/list/task_summaries.inc:32 lib/Block/summary.php:86
+#: lib/Block/summary.php:169
+msgid "[none]"
+msgstr "[nič]"
+
+#: list.php:87
+msgid "_All tasks"
+msgstr "Vsa opravila"
+
+#: templates/search/search.inc:27 templates/task/task.inc:40
+msgid "_Category"
+msgstr "Kategorija"
+
+#: templates/view/task.inc:11
+msgid "_Complete"
+msgstr "Končaj"
+
+#: list.php:89
+msgid "_Completed tasks"
+msgstr "Končna opravila"
+
+#: templates/view/task.inc:16
+msgid "_Delete"
+msgstr "Zbriši"
+
+#: templates/search/search.inc:26 templates/task/task.inc:114
+msgid "_Description"
+msgstr "Opis"
+
+#: templates/list/task_headers.inc:62
+msgid "_Due Date"
+msgstr "Končni Datum"
+
+#: templates/view/task.inc:13
+msgid "_Edit"
+msgstr "Uredi"
+
+#: lib/Nag.php:496
+msgid "_Import/Export"
+msgstr "Uvozi/Izvozi"
+
+#: lib/Nag.php:481
+msgid "_List Tasks"
+msgstr "Prikaži Opravila"
+
+#: lib/Nag.php:491
+msgid "_My Tasklists"
+msgstr "Moja Opravila"
+
+#: lib/Nag.php:486
+msgid "_New Task"
+msgstr "Novo Opravilo"
+
+#: lib/Nag.php:501
+msgid "_Print"
+msgstr "Natisni"
+
+#: templates/task/task.inc:96
+msgid "_Priority"
+msgstr "Prioriteta"
+
+#: templates/task/task.inc:44
+msgid "_Private?"
+msgstr "Zasebni?"
+
+#: lib/Nag.php:488
+msgid "_Search"
+msgstr "Najdi"
+
+#: templates/task/task.inc:25 templates/list/task_headers.inc:47
+msgid "_Task List"
+msgstr "Seznam Opravil"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "ni časa"
+
+#: data.php:94 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "opravila.csv"
+
+#: data.php:106
+msgid "tasks.ics"
+msgstr "opravila.ics"
--- /dev/null
+# Nag Swedish translation
+# Copyright 2005 Andreas Dahlen.
+# Andreas Dahlen <andreas@dahlen.ws>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2005-03-29 14:44+0200\n"
+"PO-Revision-Date: 2005-03-30 15:32+0100\n"
+"Last-Translator: Andreas Dahlén <andreas@dahlen.ws>\n"
+"Language-Team: Swedish <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/Nag.php:39
+#, php-format
+msgid "%d hour"
+msgstr "%d timmar"
+
+#: lib/Nag.php:41
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d timmar, %d minuter"
+
+#: lib/Nag.php:43
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d timmar, %d minuter"
+
+#: lib/Nag.php:31
+#, php-format
+msgid "%d hours"
+msgstr "%d timmar"
+
+#: lib/Nag.php:33
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d timmar, %d minuter"
+
+#: lib/Nag.php:35
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d timmar, %d minuter"
+
+#: lib/Nag.php:49
+#, php-format
+msgid "%d minute"
+msgstr "%d minuter"
+
+#: lib/Nag.php:51
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuter"
+
+#: templates/list/header.inc:9
+#, php-format
+msgid "%d tasks"
+msgstr "%d uppgifter"
+
+#: lib/Nag.php:322
+#, php-format
+msgid "%s at %s"
+msgstr "%s på %s"
+
+#: lib/Nag.php:443 lib/Block/summary.php:97
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s förfaller %s"
+
+#: lib/Nag.php:441 lib/Block/summary.php:95
+#, php-format
+msgid "%s is due now."
+msgstr "%s är förfallen."
+
+#: data.php:143
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s importerades"
+
+#: tasklists.php:100 lib/base.php:100
+#, php-format
+msgid "%s's Task List"
+msgstr "%s's uppgifter"
+
+#: lib/Nag.php:280
+msgid "(highest)"
+msgstr "(högst)"
+
+#: lib/Nag.php:280
+msgid "(lowest)"
+msgstr "(lägst)"
+
+#: templates/list/header.inc:9
+msgid "1 task"
+msgstr "1 uppgift"
+
+#: task.php:264
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "Behörighet saknas att färdigställa uppgift %s."
+
+#: task.php:238
+#, php-format
+msgid "Access denied deleting %s."
+msgstr "Behörighet saknas att radera %s."
+
+#: task.php:204
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "Behörighet saknas att flytta uppgiften till %s."
+
+#: task.php:207
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "Behörighet saknas att radera uppgift från %s"
+
+#: task.php:133
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "Behörighet saknas att spara uppgift till %s."
+
+#: task.php:131
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Behörighet saknas att spara uppgift: %s."
+
+#: task.php:58
+msgid "Adding A New Task"
+msgstr "Lägger till en uppgift"
+
+#: templates/task/task.inc:68
+msgid "Ala_rm"
+msgstr "Ala_rm"
+
+#: templates/view/task.inc:35
+msgid "Alarm"
+msgstr "Alarm"
+
+#: config/prefs.php.dist:107
+msgid "All tasks"
+msgstr "Alla uppgifter"
+
+#: lib/Block/summary.php:56
+msgid "Always show completed tasks?"
+msgstr "Alltid visa slutförda uppgifter?"
+
+#: lib/Block/summary.php:53
+msgid "Always show overdue tasks?"
+msgstr "Alltid visa förfallna uppgifter?"
+
+#: config/prefs.php.dist:84
+msgid "Ascending"
+msgstr "Stigande"
+
+#: templates/tasklists/tasklists.inc:102
+msgid "Back to Task List Options"
+msgstr "Tillbaka till inställningar för uppgiftslista"
+
+#: data.php:28
+msgid "CSV"
+msgstr "CSV"
+
+#: templates/task/task.inc:57
+msgid "Calendar"
+msgstr "Kalender"
+
+#: templates/list/task_headers.inc:32
+msgid "Cat_egory"
+msgstr "Kat_egori"
+
+#: data.php:42 templates/view/task.inc:27 config/prefs.php.dist:56
+#: config/prefs.php.dist:71
+msgid "Category"
+msgstr "Kategori"
+
+#: templates/tasklists/tasklists.inc:22
+msgid "Change"
+msgstr "Ändra"
+
+#: templates/list/task_headers.inc:4 templates/list/task_headers.inc:9
+#: templates/list/task_headers.inc:14 templates/list/task_headers.inc:21
+#: templates/list/task_headers.inc:27 templates/list/task_headers.inc:31
+msgid "Change sort direction"
+msgstr "Ändra sorteringsriktning"
+
+#: config/prefs.php.dist:15
+msgid "Change your task sorting and display options."
+msgstr "Ändra sorterings- och visningsinställningar för uppgifter"
+
+#: config/prefs.php.dist:22
+msgid "Choose your default task list."
+msgstr "Välj din förvalda uppgiftslista."
+
+#: templates/search/search.inc:33
+msgid "Clear Form"
+msgstr "Rensa formulär"
+
+#: templates/task/task.inc:89
+msgid "Co_mpleted?"
+msgstr "Sl_utförd?"
+
+#: templates/view/task.inc:11
+msgid "Complete"
+msgstr "Slutförd"
+
+#: templates/list/task_summaries.inc:4 lib/Block/summary.php:154
+msgid "Complete Task"
+msgstr "Slutför uppgift"
+
+#: config/prefs.php.dist:109
+msgid "Complete tasks"
+msgstr "Slutförda uppgifter"
+
+#: lib/Nag.php:337 lib/Block/summary.php:152
+msgid "Completed"
+msgstr "Slutförd"
+
+#: task.php:273
+#, php-format
+msgid "Completed %s."
+msgstr "Slutförd %s."
+
+#: templates/view/task.inc:43 templates/list/task_headers.inc:5
+#: config/prefs.php.dist:58 config/prefs.php.dist:73
+msgid "Completed?"
+msgstr "Slutförd?"
+
+#: data.php:45
+msgid "Completion Status"
+msgstr "Slutfört status"
+
+#: templates/tasklists/tasklists.inc:17 templates/tasklists/tasklists.inc:99
+#: templates/tasklists/tasklists.inc:101
+msgid "Create"
+msgstr "Skapa"
+
+#: templates/view/task.inc:49
+msgid "Created"
+msgstr "Skapad"
+
+#: templates/task/task.inc:77 lib/Nag.php:368
+msgid "Day(s)"
+msgstr "Dag(ar)"
+
+#: config/prefs.php.dist:21
+msgid "Default Task List"
+msgstr "Förvald uppgiftslista"
+
+#: templates/view/task.inc:16 templates/tasklists/tasklists.inc:100
+msgid "Delete"
+msgstr "Radera"
+
+#: templates/task/task.inc:111
+msgid "Delete this task"
+msgstr "Raderade uppgiften."
+
+#: task.php:246
+#, php-format
+msgid "Deleted %s."
+msgstr "Raderade %s."
+
+#: config/prefs.php.dist:85
+msgid "Descending"
+msgstr "Fallande"
+
+#: data.php:41
+msgid "Description"
+msgstr "Beskrivning"
+
+#: templates/tasklists/tasklists.inc:90
+msgid "Description:"
+msgstr "Beskrivning:"
+
+#: config/prefs.php.dist:14
+msgid "Display Options"
+msgstr "Visningsinställningar"
+
+#: data.php:43 templates/view/task.inc:31
+msgid "Due By"
+msgstr "Förfallen den"
+
+#: config/prefs.php.dist:57 config/prefs.php.dist:72
+msgid "Due Date"
+msgstr "Förfallodatum"
+
+#: templates/task/task.inc:43
+msgid "Due _By"
+msgstr "Förfallen _den"
+
+#: templates/view/task.inc:13
+msgid "Edit"
+msgstr "Ändra"
+
+#: templates/list/task_headers.inc:18 templates/list/task_summaries.inc:17
+#: lib/Block/summary.php:150
+msgid "Edit Task"
+msgstr "Ändra uppgift"
+
+#: templates/list/task_headers.inc:37
+msgid "Edit categories and colors"
+msgstr "Ändra kategorier och färger"
+
+#: templates/data/export.inc:22
+msgid "Export"
+msgstr "Exportera"
+
+#: templates/data/export.inc:8
+msgid "Export Tasks"
+msgstr "Exportera uppgifter"
+
+#: config/prefs.php.dist:33
+msgid "External Data"
+msgstr "Extern data"
+
+#: config/prefs.php.dist:13
+msgid "General Options"
+msgstr "Allmänna inställningar"
+
+#: templates/task/task.inc:76 lib/Nag.php:371
+msgid "Hour(s)"
+msgstr "Timm/e/ar"
+
+#: templates/data/import.inc:9
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Importera uppgifter, steg %d"
+
+#: data.php:149
+msgid "Import/Export Tasks"
+msgstr "Importera/Exportera uppgifter"
+
+#: list.php:77
+msgid "Incom_plete tasks"
+msgstr "Ej slut_förda uppgifter"
+
+#: config/prefs.php.dist:108
+msgid "Incomplete tasks"
+msgstr "Ej slutförda uppgifter"
+
+#: templates/view/task.inc:56
+msgid "Last Modified"
+msgstr "Senast ändrad"
+
+#: templates/task/task.inc:75 lib/Nag.php:374
+msgid "Minute(s)"
+msgstr "Minut(er)"
+
+#: task.php:115
+msgid "Modifying:"
+msgstr "Ändrar:"
+
+#: lib/api.php:303 lib/api.php:486
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Flera iCaldener-delar hittades; enbart en vTodo stöds."
+
+#: list.php:40
+msgid "My Tasks"
+msgstr "Mina uppgifter"
+
+#: templates/task/task.inc:12 templates/search/search.inc:21
+msgid "N_ame"
+msgstr "N_amn"
+
+#: templates/list/task_headers.inc:22
+msgid "Na_me"
+msgstr "Na_mn"
+
+#: data.php:40
+msgid "Name"
+msgstr "Namn"
+
+#: lib/Block/summary.php:18
+msgid "New Task"
+msgstr "Ny uppift"
+
+#: templates/data/import.inc:43
+msgid "Next"
+msgstr "Nästa"
+
+#: templates/task/task.inc:46
+msgid "No due date."
+msgstr "Inget förfallodatum."
+
+#: lib/api.php:296 lib/api.php:479
+msgid "No iCalendar data was found."
+msgstr "iCalendar information saknas."
+
+#: lib/Nag.php:457
+msgid "No task lists are available to guests."
+msgstr "Inga uppgifter tillgängliga för gäster."
+
+#: lib/Block/summary.php:198
+msgid "No tasks to display"
+msgstr "Inga uppgifter att visa"
+
+#: templates/task/task.inc:71 lib/Nag.php:378
+msgid "None"
+msgstr "Ingen"
+
+#: lib/Nag.php:338
+msgid "Not Completed"
+msgstr "Ej Slutförda"
+
+#: config/prefs.php.dist:59 config/prefs.php.dist:74
+msgid "Owner"
+msgstr "Ägare"
+
+#: templates/list/task_headers.inc:15
+msgid "P_ri"
+msgstr "P_ri"
+
+#: templates/tasklists/tasklists.inc:87
+msgid "Permission"
+msgstr "Behörighet"
+
+#: lib/api.php:275 lib/api.php:360 lib/api.php:431 lib/api.php:462
+msgid "Permission Denied"
+msgstr "Behörighet nekades"
+
+#: ics.php:41 lib/api.php:91
+msgid "Permission denied"
+msgstr "Behörighet nekades"
+
+#: data.php:44 templates/view/task.inc:39 config/prefs.php.dist:54
+#: config/prefs.php.dist:69
+msgid "Priority"
+msgstr "Prioritet"
+
+#: templates/list/header.inc:5 templates/list/header.inc:6
+msgid "Refresh List"
+msgstr "Uppdatera lista"
+
+#: templates/tasklists/tasklists.inc:101
+msgid "Reset"
+msgstr "Återställ"
+
+#: templates/task/task.inc:103
+msgid "Save"
+msgstr "Spara"
+
+#: task.php:221
+#, php-format
+msgid "Saved %s."
+msgstr "Sparade %s."
+
+#: search.php:14 templates/search/search.inc:5 templates/search/search.inc:32
+msgid "Search"
+msgstr "Sök"
+
+#: list.php:63
+msgid "Search Results"
+msgstr "Sökresultat"
+
+#: templates/search/search.inc:18
+msgid "Search Scope"
+msgstr "Urval för sökning"
+
+#: templates/search/search.inc:10
+msgid "Search _Text"
+msgstr "Sökt _text"
+
+#: templates/task/task.inc:57
+msgid "Select a date"
+msgstr "Välj ett datum"
+
+#: templates/tasklists/tasklists.inc:72
+msgid "Select a task list"
+msgstr "Välj en uppgiftslista"
+
+#: templates/data/export.inc:15
+msgid "Select the export format:"
+msgstr "Välj exportformat:"
+
+#: templates/data/import.inc:40
+msgid "Select the file to import:"
+msgstr "Välj fil som skall importeras:"
+
+#: templates/data/import.inc:16
+msgid "Select the format of the source file:"
+msgstr "Välj format på importfilen:"
+
+#: config/prefs.php.dist:45
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Skall uppgiftslistan visas i en egen kolumn i listvyn?"
+
+#: templates/menu.inc:19
+msgid "Show"
+msgstr "Visa"
+
+#: templates/menu.inc:8
+msgid "Show Tasklists:"
+msgstr "Visa uppgiftslistor:"
+
+#: lib/Block/summary.php:38
+msgid "Show action buttons?"
+msgstr "Visa aktivitetsknappar?"
+
+#: config/prefs.php.dist:110
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Visa slutförda, ej slutförda eller alla aktiviteter i aktivitetslistan?"
+
+#: config/prefs.php.dist:97
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Visa data från dessa program i din uppgiftslista?"
+
+#: config/prefs.php.dist:34
+msgid "Show data from other applications or sources."
+msgstr "Visa data från andra program eller källor."
+
+#: lib/Block/summary.php:41
+msgid "Show due dates?"
+msgstr "Visa förfallodatum?"
+
+#: lib/Block/summary.php:35
+msgid "Show priorities?"
+msgstr "Visa prioritet?"
+
+#: lib/Block/summary.php:47
+msgid "Show task alarms?"
+msgstr "Visa uppgiftsalarm?"
+
+#: lib/Block/summary.php:50
+msgid "Show task category?"
+msgstr "Visa uppgiftskategori?"
+
+#: lib/Block/summary.php:44
+msgid "Show tasklist name?"
+msgstr "Visa uppgiftslistans namn?"
+
+#: lib/Block/summary.php:59
+msgid "Show tasks from these categories"
+msgstr "Visa uppgifter med dessa kategorier"
+
+#: templates/list/task_headers.inc:32
+msgid "Sort by Category"
+msgstr "Sortera på kategori"
+
+#: templates/list/task_headers.inc:5
+msgid "Sort by Completion Status"
+msgstr "Sortera på färdigstatus"
+
+#: templates/list/task_headers.inc:28
+msgid "Sort by Due Date"
+msgstr "Sortera på förfallodatum"
+
+#: templates/list/task_headers.inc:22
+msgid "Sort by Name"
+msgstr "Sortera på namn"
+
+#: templates/list/task_headers.inc:15
+msgid "Sort by Priority"
+msgstr "Sortera på prioritet"
+
+#: templates/list/task_headers.inc:10
+msgid "Sort by User Name"
+msgstr "Sortera på användarnamn"
+
+#: config/prefs.php.dist:86
+msgid "Sort direction:"
+msgstr "Sorteringsriktning:"
+
+#: config/prefs.php.dist:60
+msgid "Sort tasks by:"
+msgstr "Sortera uppgifter på:"
+
+#: templates/list/task_summaries.inc:24
+msgid "Task Alarm"
+msgstr "Uppgiftsalarm"
+
+#: templates/list/task_headers.inc:25
+msgid "Task Alarm?"
+msgstr "Uppgiftsalarm?"
+
+#: view.php:74
+msgid "Task Details"
+msgstr "Uppgiftsdetaljer"
+
+#: templates/tasklists/tasklists.inc:66
+msgid "Task List"
+msgstr "Uppgiftslista"
+
+#: config/prefs.php.dist:20 config/prefs.php.dist:32
+msgid "Task List and Share Options"
+msgstr "Inställningar för uppgiftslista och utdelning"
+
+#: templates/tasklists/tasklists.inc:84
+msgid "Task List's name:"
+msgstr "Uppgiftslistenamn:"
+
+#: tasklists.php:111
+msgid "Task Lists"
+msgstr "Uppgiftslista"
+
+#: config/prefs.php.dist:55 config/prefs.php.dist:70
+msgid "Task Name"
+msgstr "Uppgiftsnamn"
+
+#: templates/list/task_summaries.inc:22
+msgid "Task Note"
+msgstr "Uppgiftsanteckning"
+
+#: templates/list/task_headers.inc:24
+msgid "Task Note?"
+msgstr "Uppgiftsanteckning?"
+
+#: tasklists.php:28
+msgid "Task lists must have a name."
+msgstr "Uppgiftslistan måste ha ett namn."
+
+#: task.php:117 view.php:43
+msgid "Task not found."
+msgstr "Uppgift saknas."
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Sammanställning över uppgifter"
+
+#: task.php:166
+msgid "The alarm field may only contain integers."
+msgstr "Alarmfältet får enbart innehålla heltal."
+
+#: tasklists.php:45
+#, php-format
+msgid "The task list \"%s\" couldn't be created: %s"
+msgstr "Uppgiftslista '%s' kunde inte skapas: %s"
+
+#: tasklists.php:56
+#, php-format
+msgid "The task list \"%s\" couldn't be saved: %s"
+msgstr "Uppgiftslista '%s' kunde inte sparas: %s"
+
+#: tasklists.php:47
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "Uppgiftslistan '%s' skapades."
+
+#: tasklists.php:81
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "Uppgiftslistan '%s' raderades."
+
+#: tasklists.php:58
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "Uppgiftslistan '%s' sparades."
+
+#: config/prefs.php.dist:75
+msgid "Then:"
+msgstr ""
+
+#: templates/list/empty.inc:3
+msgid "There are no tasks matching the current criteria."
+msgstr "Inga uppgifter matchar aktuellt urval."
+
+#: task.php:270
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "Problem vid slutförande av '%s': %s"
+
+#: task.php:243
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "Problem vid radering av '%s': %s"
+
+#: task.php:219
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Problem vid sparande av uppgiften: %s."
+
+#: data.php:140
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Det uppstod fel vid import av data: %s."
+
+#: lib/api.php:290 lib/api.php:473
+msgid "There was an error importing the iCalendar data."
+msgstr "Fel vid import av iCalendar data."
+
+#: data.php:67
+msgid "There were no tasks to export."
+msgstr "Inga uppgifter att exportera."
+
+#: data.php:106
+msgid "This file format is not supported."
+msgstr "Filformatet stöds inte."
+
+#: tasklists.php:77
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "Kan inte radera '%s': %s"
+
+#: templates/task/task.inc:104
+msgid "Undo changes"
+msgstr "Ångra ändringar"
+
+#: templates/view/task.inc:28 templates/list/task_summaries.inc:29
+#: scripts/upgrades/2004-05-13_convert_categories_to_strings.php:50
+#: lib/Block/summary.php:32 lib/Block/summary.php:191
+msgid "Unfiled"
+msgstr "Ej kategoriserad"
+
+#: lib/api.php:322 lib/api.php:395 lib/api.php:506
+msgid "Unsupported Content-Type."
+msgstr "Content-Type stöds inte."
+
+#: templates/list/task_summaries.inc:21
+msgid "View Task Details"
+msgstr "Visa uppgiftsdetaljer"
+
+#: templates/task/task.inc:78 lib/Nag.php:365
+msgid "Week(s)"
+msgstr "Veck/a/or"
+
+#: templates/data/import.inc:24
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Till vilken uppgiftslista skall uppgifter läggas till?"
+
+#: view.php:51
+msgid "You do not have permission to view this tasklist."
+msgstr "Du har inte behörig att visa aktuell uppgiftslista."
+
+#: tasklists.php:84 templates/tasklists/tasklists.inc:48
+msgid "You must select a task list to be deleted."
+msgstr "Du måste ange en uppgiftslista som skall raderas."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Din förvalda uppgiftslista:"
+
+#: templates/tasklists/tasklists.inc:70
+msgid "Your task lists:"
+msgstr "Dina uppgiftslistor:"
+
+#: templates/list/task_summaries.inc:21 lib/Block/summary.php:93
+#: lib/Block/summary.php:177
+msgid "[none]"
+msgstr "[ingen]"
+
+#: list.php:76
+msgid "_All tasks"
+msgstr "_Alla uppgifter"
+
+#: templates/task/task.inc:39 templates/search/search.inc:23
+msgid "_Category"
+msgstr "_Kategori"
+
+#: templates/view/task.inc:11
+msgid "_Complete"
+msgstr "_Slutför"
+
+#: list.php:78
+msgid "_Completed tasks"
+msgstr "_Slutförda uppgifter"
+
+#: templates/view/task.inc:16
+msgid "_Delete"
+msgstr "_Radera"
+
+#: templates/task/task.inc:95 templates/search/search.inc:22
+msgid "_Description"
+msgstr "_Beskrivning"
+
+#: templates/list/task_headers.inc:28
+msgid "_Due Date"
+msgstr "_Förfallodatum"
+
+#: templates/view/task.inc:13
+msgid "_Edit"
+msgstr "_Ändra"
+
+#: lib/Nag.php:407
+msgid "_Import/Export"
+msgstr "_Importera/Exportera"
+
+#: lib/Nag.php:395
+msgid "_List Tasks"
+msgstr "_Lista uppgifter"
+
+#: lib/Nag.php:402
+msgid "_My Tasklists"
+msgstr "_Min Uppgiftslista"
+
+#: lib/Nag.php:397
+msgid "_New Task"
+msgstr "_Ny uppift"
+
+#: lib/Nag.php:412
+msgid "_Print"
+msgstr "_Skriv ut"
+
+#: templates/task/task.inc:83
+msgid "_Priority"
+msgstr "_Prioritet"
+
+#: lib/Nag.php:399
+msgid "_Search"
+msgstr "_Sök"
+
+#: templates/task/task.inc:20 templates/list/task_headers.inc:10
+msgid "_Task List"
+msgstr "_Uppgiftslista"
+
+#: data.php:29
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Nag.php:47
+msgid "no time"
+msgstr "ingen tid"
+
+#: data.php:79 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "uppgifter.csv"
+
+#: data.php:91
+msgid "tasks.ics"
+msgstr "uppgifter.ics"
--- /dev/null
+# Turkish translations for Nag package
+# Görevler paketi için Türkçe çeviriler.
+# Copyright 2008-2009 The Horde Project
+# This file is distributed under the same license as the Nag package.
+# horde-tr team <horde-tr@horde.org>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag H3 (2.2-RC2)\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-04-15 12:57+0300\n"
+"PO-Revision-Date: 2008-02-13 19:04+0200\n"
+"Last-Translator: Onur Kosar <horde-tr@horde.org>\n"
+"Language-Team: Turkish <dev@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-9\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr "(%s alt görevleri içeriyor)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d saat"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d saat, %d dakika"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d saat, %d dakika"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d saat"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d saat, %d dakika"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d saat, %d dakika"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d dakika"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d dakika"
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr "%s de %s"
+
+#: lib/Nag.php:590 lib/Block/summary.php:106 lib/Block/tree_alarms.php:41
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s için son tarih %s"
+
+#: lib/Nag.php:588 lib/Block/summary.php:104 lib/Block/tree_alarms.php:43
+#, php-format
+msgid "%s is due now."
+msgstr "%s þu ana kadar"
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s tamamlanmadi"
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s baþarý ile alýndý"
+
+#: lib/Nag.php:516 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "%s Görev Listesi"
+
+#: lib/Nag.php:315 lib/Forms/task.php:58
+msgid "(highest)"
+msgstr "En yüksek"
+
+#: lib/Nag.php:315 lib/Forms/task.php:59
+msgid "(lowest)"
+msgstr "En düþük"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "görevin tamamlanmasýna izin verilmedi %s"
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "Silme izini verilmedi. %s"
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "Düzenleme izni verilmedi."
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "Düzenleme izni verilmedi %s"
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "'a görevin taþýnmasýna izin verilmedi %s."
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "%s 'dan görevin kaldýrýlmasýna izin verilmedi ."
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "%s'a görevin kaydedilmesine izin verilmedi ."
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "%s'a görevin kaydedilmesine izin verilmedi ."
+
+#: templates/view/task.inc:26 lib/Forms/task.php:88
+msgid "Alarm"
+msgstr "Alarm"
+
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "Tüm görevler"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "Herzaman biten görevleri göster"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "Herzaman günü geçmiþ görevler"
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "Artan"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "Blok baþlýðý"
+
+#: data.php:30
+msgid "CSV"
+msgstr "Virgül ile ayrýlmýþ veri(CSV)"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "Takvim"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "Ýptal"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "Sý_nýf"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:76
+#: lib/Forms/task.php:82 config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Category"
+msgstr "Sýnýf"
+
+#: tasklists/index.php:56 templates/tasklist_list.php:35
+msgid "Change Permissions"
+msgstr "Ýzinleri deðiþtir"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Görev sýralama ve görüntüleme seçeneklerinizi deðiþtirin."
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "Görevlerde alarm uyarýlarýnýn nasýl yapýlacaðýný seçiniz:"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr ""
+"E-posta aracýlýðý ile yeni, düzenlenmiþ veya silinmiþ takvimlerden haberdar "
+"edilmek için seçiniz."
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr ""
+"Yeni, düzenlenmiþ veya silinmiþ etkliklerden haberdar edilmek için seçiniz."
+
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "Varsayýlan görev listenizi seçiniz."
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr ""
+"Bu görev listesini görüntülemek için týklayýnýz ya da bu URL'i kopyalayýnýz"
+
+#: templates/panel.inc:43
+msgid "Close"
+msgstr "Kapat"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Aramayý Kapat"
+
+#: view.php:99
+msgid "Complete"
+msgstr "Tamamlandý"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:175
+#, php-format
+msgid "Complete \"%s\""
+msgstr "Tamamlandý \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "Görevi tamamla"
+
+#: config/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "Görevi tamamla"
+
+#: lib/Nag.php:379 lib/Block/summary.php:173
+msgid "Completed"
+msgstr "Tamamlandý"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "Tamamlandý %s."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "Tamamlanmýþ Görevler"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "Tamamlanmýþ üst görev, önce tamamlanmamýþ olarak iþaretleyin"
+
+#: templates/list/task_headers.inc:31 templates/view/task.inc:38
+#: lib/Forms/task.php:94 config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "Tamamlandý?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "Tamamlanma Durumu"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "Baðlantý baþarýsýz: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "Oluþtur"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "Görev Listesi oluþtur"
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "Yeni bir Görev Listesi oluþtur"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "Oluþturuldu"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "Gün"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "Gün(ler)"
+
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "Ön Tanýmlý görev Listesi"
+
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "Yeni görevler için öntanýmlý deðerler"
+
+#: lib/Forms/task.php:87
+msgid "Delay Start Until"
+msgstr "Baþlangýcý Ertele"
+
+#: view.php:106 tasklists/index.php:57 templates/tasklist_list.php:37
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "Sil"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "Sil %s"
+
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "Silme Onayý"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "Silme tuþu davranýþý."
+
+#: task.php:105 lib/Forms/task.php:99
+msgid "Delete this task"
+msgstr "Bu görevi sil"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "Silindi %s."
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "Azalan"
+
+#: data.php:53 lib/Forms/EditTaskList.php:44 lib/Forms/CreateTaskList.php:37
+#: lib/Forms/task.php:95
+msgid "Description"
+msgstr "Açýklama"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Görüntüleme Seçenekleri"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "URL'i Göster"
+
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "Silinecekleri onaylamak istiyor musunuz?"
+
+#: data.php:55 templates/view/task.inc:22 lib/Forms/task.php:86
+msgid "Due By"
+msgstr "Son Tarih"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "Son Tarih"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "Son tarih belirtilmedi."
+
+#: view.php:102 tasklists/index.php:55 templates/tasklist_list.php:33
+msgid "Edit"
+msgstr "Düzenle"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:166
+#, php-format
+msgid "Edit \"%s\""
+msgstr "Düzenle \"%s\""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "Düzenle %s"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "%s Görevi Düzenle"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "Sýnýf ve renkleri düzenle"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "Düzenle: %s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "Görev silinirken hata oluþtu: %s"
+
+#: templates/view/task.inc:34 lib/Forms/task.php:93
+msgid "Estimated Time"
+msgstr "Hesaplanan süre"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "Dýþarý Aktar"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "Görevleri Dýþarý Aktar"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr "Dýþ Veri"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "Genel Seçenekler"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "Saat"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "Saat"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "Görevleri içeri Aktar, Adým %d"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "Görevleri Ýçeri/Dýþarý Aktar"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "Ta_mamlanmamýþ görevler"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "Tamamlanmamýþ Görevler"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "Tamamlanmamýþ alt görevler, önce onlarý tamamlayýnýz"
+
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "Tamamlanmamýþ görevler"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "Son Güncelleme"
+
+#: tasklists/index.php:61 templates/tasklist_list.php:2
+msgid "Manage Task Lists"
+msgstr "Görev listesini yönet"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "\"%s\" 'ý tamamlanmamýþ olarak iþaretle"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "Tamamlanmamýþ olarak iþaretle"
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "En Fazla Görev Sayýsý"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "Menü Alarmlarý"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "Menü Listesi"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "Dakika"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "Dakika"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "Ay"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "Daha Fazla Seçenek..."
+
+#: lib/api.php:1001
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "Birçok iCalendar bileþeni bulundu; sadece bir vTodo destekleniyor."
+
+#: templates/panel.inc:70
+msgid "My Task Lists:"
+msgstr "Görev Listelerim"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "Görevlerim"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "_Ad"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "_Ad"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab:%s görevi bulunamadý"
+
+#: data.php:52 lib/Forms/EditTaskList.php:43 lib/Forms/CreateTaskList.php:36
+#: lib/Forms/task.php:65
+msgid "Name"
+msgstr "Ad"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "Yeni Görev"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "Sonraki"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "Hayýr"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "Gecikme yok"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "Son tarih yok"
+
+#: lib/api.php:405 lib/api.php:724 lib/api.php:782 lib/api.php:994
+msgid "No iCalendar data was found."
+msgstr "Hiç iCalendar verisi bulunamadý."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "Ana görev yok"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "Konuklar için Görev Listesi bulunamadý."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "Hiç uyan görev yok"
+
+#: lib/Block/summary.php:229
+msgid "No tasks to display"
+msgstr "Görüntülenecek görev yok"
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "Hiçbiri"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "Tamamlanmadý"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "Özel Deðil"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "Bulunamadý"
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "Bildirimler"
+
+#: config/prefs.php.dist:168
+msgid "On all shown tasklists"
+msgstr "Gösterilen tüm görev listelerinde"
+
+#: config/prefs.php.dist:169
+msgid "On all tasklists I have read access to"
+msgstr "Tüm görev listelerinde okuma hakkýna sahibim"
+
+#: config/prefs.php.dist:167
+msgid "On my tasklists only"
+msgstr "Sadece benim görev listelerimde"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "Ö_ncelik"
+
+#: lib/Forms/task.php:72
+msgid "Parent task"
+msgstr "Ana Görev"
+
+#: lib/api.php:591 lib/api.php:629 lib/api.php:662 lib/api.php:698
+#: lib/api.php:820 lib/api.php:875 lib/api.php:939 lib/api.php:976
+#: lib/api.php:1087 lib/api.php:1134
+msgid "Permission Denied"
+msgstr "Eriþim Engellendi"
+
+#: lib/api.php:178 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "Eriþim engellendi"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:90
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Öncelik"
+
+#: templates/view/task.inc:14 lib/Driver.php:907
+msgid "Private"
+msgstr "Kiþisel"
+
+#: lib/Driver.php:905
+msgid "Private Task"
+msgstr "Kiþisel Görev"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:85
+msgid "Private?"
+msgstr "Kiþisel?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"\"%s\" adlý görev listesi gerçekten silinsin mi? Bu iþlem geri "
+"çevrilemez. Bu görev listesindeki veriler kalýcý olarak silinecek"
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "Bu görev gerçekten silinsin mi?"
+
+#: templates/panel.inc:88 lib/Forms/EditTaskList.php:46 lib/Forms/task.php:97
+msgid "Save"
+msgstr "Kaydet"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "%s kaydedildi."
+
+#: search.php:14 templates/list/header.inc:4 templates/search/search.inc:31
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "Arama"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "içinde ara"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "Aranacak _kelime"
+
+#: templates/panel.inc:58
+msgid "Search for Task Lists:"
+msgstr "Görev Listesinde Ara:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "Ara"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "Arama: \"%s\" için arama sonuçlarý"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "Bir tarih Seçin"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "Dýþarý taþýma biçimini seçin:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "Ýçeri taþýnacak dosyayý seçin:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "Kaynak dosyanýn biçimini seçin:"
+
+#: templates/panel.inc:79
+msgid "Shared Task Lists:"
+msgstr "Paylaþýmlý Görev Listesi"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "Liste görüntüsünde, Görev Listesi kendi kolonunda görünsün mü? "
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Eylem tuþlarý gösterilsin mi?"
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr ""
+"Tamamlanmýþ, tamamlanmamýþ veya tüm görevler görev listesinde gösterilsin mi?"
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Diðer uygulamalardaki veriler de görev listesinde gösterilsin mi?"
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Diðer uygulamalardaki veri ve kaynaklar gösterilsin mi?"
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Görevlerin bitiþ tarihleri gösterilsin mi?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Öncelikler gösterilsin mi?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Görev alarmlarý gösterilsin mi?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "Görev Kategori açýklamasý gösterilsin mi?"
+
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Görev Listesi seçenek paneli gösterilsin mi?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Görev Listesi adý gösterilsin mi?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Bu kategorilerdeki görevleri göster"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Bu görev listelerindeki görevleri göster"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "Kategoriye Göre Sýrala"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "Tamamlanma durumlarýna göre sýrala"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "Bitiþ Tarihine Göre Sýrala"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "Ada Göre Sýrala"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "Önceliðe göre sýrala"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "Kullanýcý adýna göre Sýrala"
+
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "Sýralama Yönü"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "ile görevleri sýrala"
+
+#: data.php:56
+msgid "Start"
+msgstr "Baþlat"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "Baþlama Tarihi"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "Baþlama tarihi belirtildi."
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "Abonelik URL'si"
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "Görev Alarm'ý"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "Görev Alarm'ý?"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "Varsayýlan Görev Özellikleri"
+
+#: templates/tasklist_list.php:15 lib/Forms/task.php:68
+msgid "Task List"
+msgstr "Görev listesi"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "Görev Listesi Bilgileri"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "Görev Listesi Listesi"
+
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "Görev Listesi ve Paylaþým Seçenekleri"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "Görev Listesi %s. tarafýndan oluþturuldu"
+
+#: templates/panel.inc:52 templates/panel.inc:53
+msgid "Task Lists"
+msgstr "Görev Listeleri"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "Görev Adý"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "Görev Notu"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "Görev Notu?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "Görev Arama"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "Görev eklendi:"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "Silinen görev:"
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "Güncellenen görev:"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "Görev bulunamadý."
+
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Tasklist"
+msgstr "Görev Listesi"
+
+#: lib/api.php:1056
+msgid "Tasks"
+msgstr "Görevler"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "Görev Özeti"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "Bu %s dosyasý hiçbir görev içermiyor."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "Görevlerin arka araçlarý þu anda kullanýlabilir deðil."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "Görevlerin arka aracý þu anda kullanýlabilir deðil: %s"
+
+#: lib/Forms/task.php:133
+msgid "The alarm value must not be empty."
+msgstr "Alarm içeriði boþ olmamalý."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "Þuanki saat"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr "\"%s\" görevi, \"%s\" görev listesine eklendi. son tarih: %s. "
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr " \"%s\" görevi, \"%s\" görev listesinden silindi. son tarih: %s."
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr "\"%s\" görevi, \"%s\" görev listesinde düzenlendi. son tarih: %s."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "\"%s\" görev listesi yaratýldý."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "\"%s\" görev listesi silindi."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "\"%s\" görev listesi , \"%s\" olarak yeniden adlandýrýldý."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "\"%s\" görev listesi kaydedildi."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "Sonra:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "Geçerli ölçütlere uyan bir görev bulunamadý."
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "\"%s\" güncellenirken hata oluþtu: %s"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "\"%s\" silinirken hata olu?tu: %s"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Görev saklanýrken hata oluþtu: %s"
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "Veri aktarýlýrken hata oluþtu: %s"
+
+#: lib/api.php:397 lib/api.php:716 lib/api.php:988
+msgid "There was an error importing the iCalendar data."
+msgstr "iCalendar verisini içeri aktarýlýrken hata oluþtu."
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "Dýþarý aktarýlacak bir etkinlik bulunamadý."
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "Bu dosya biçimi desteklenmiyor."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "\"%s\" görev listesi silinemiyor."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr ""
+"Bu görev listesine baþka bir uygulamadan üye olmak için; bu URL'i kullanýnýz"
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "\"%s\" silinemedi: %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "%s in tanýmý yüklenemedi."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "\"%s\" görev listesi kaydedilemedi: %s"
+
+#: templates/list/task_summaries.inc:62 templates/view/task.inc:9
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Block/summary.php:31 lib/Block/summary.php:222 lib/Forms/task.php:81
+msgid "Unfiled"
+msgstr "Doldurulmamýþ"
+
+#: lib/api.php:502 lib/api.php:789 lib/api.php:847 lib/api.php:901
+#: lib/api.php:1026
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "Desteklenmeyen Ýçerik Türü: %s"
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"Bu not edilen görevi size hatýrlatmak istiyoruz\n"
+"%s\n"
+"\n"
+"Tarih: %s\n"
+"Zaman: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "Hafta(lar)"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "Görevlerin varsayýlan bitiþ zamanýnýn ne olmasýný istersiniz? "
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr ""
+"Yeni bir görev oluþturulurken, kaç gün için varsayýlan tarih atanmalý (0 "
+"bugün demek)?"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr ""
+"Yeni bir görev oluþtururken, öntanýmlý bir son tarihi olmasý zorunlu mu?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "Görevler hangi görev listesine eklensin?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "Yýl"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "Bu görev listesini deðiþtirme izniniz yok."
+
+#: data.php:41 data.php:151 task.php:61
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "%d den fazla sayýda görev oluþturmanýza izin verilmiyor."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "Bu görev listesini silme izniniz yok."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "Bu görev listesini görüntülemeye izniniz yok."
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr "Görev listenize etkinlik eklenince bildirimde bulunulmasýný istediniz."
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr ""
+"Görev listenizden etkinlik silinince bildirimde bulunulmasýný istediniz."
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr ""
+"Görev listenizde bir etkinlik düzenlenince bildirimde bulunulmasýný "
+"istediniz."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "Varsayýlan görev listeniz:"
+
+#: templates/panel.inc:65
+msgid "[Manage Task Lists]"
+msgstr "[Görev Listesini Yönet]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:206
+msgid "[none]"
+msgstr "Hiçbiri"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "_Tüm Görevler"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "_Tüm Görevler"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "Sýný_f"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "_Tamamlandý"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "_Tamamlanmýþ görevler"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "_Sil"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "Açýklama"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "_Son Tarih"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "_Düzenle"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "_Gelecek tarihli görevler"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "Ýçeri/_Dýþarý Aktar"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "Görevleri _Listele"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "_Yeni Görev"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "Yaz_dýr"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "_Arama"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "_Görev listesi"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "öö"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "Takvim"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "%s içinde"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "zaman yok"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "ös"
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "görevler.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "görevler.ics"
--- /dev/null
+# NAG Simplified Chinese Translation
+# Copyright 2002 Peter Wang
+# Peter Wang <whw@oulink.net>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.0-cvs\n"
+"POT-Creation-Date: 2002-05-30 16:34+0800\n"
+"PO-Revision-Date: 2002-05-30 16:34+0800\n"
+"Last-Translator: Peter Wang <whw@oulink.net>\n"
+"Language-Team: Simplified Chinese <whw@oulink.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=GB2312\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#, c-format
+msgid "%d tasks"
+msgstr "%d ¸ö´ý°ìÊÂÏî"
+
+msgid "1 task"
+msgstr "1 ¸ö´ý°ìÊÂÏî"
+
+msgid "Adding A New Task"
+msgstr "ÐÂÔö´ý°ìÊÂÏîÖÐ"
+
+msgid "Are you sure you want to permanently delete these tasks?"
+msgstr "ÄãÈ·¶¨ÒªÓÀÔ¶µÄɾ³ýÕâЩ´ý°ìÊÂÏî?"
+
+msgid "Ascending"
+msgstr "ÉýÃÝ"
+
+msgid "Back to Task List"
+msgstr "·µ»Ø´ý°ìÊÂÏîÇåµ¥"
+
+msgid "Category"
+msgstr "Àà±ð"
+
+msgid "Change your task sorting and display options."
+msgstr "¸Ä±äÄãµÄ´ý°ìÊÂÏîÅÅÐò·½Ê½ÒÔ¼°ÏÔʾѡÏî."
+
+#, c-format
+msgid "Changed %d tasks to priority %d."
+msgstr "ÒѸıä %d ¸ö´ý°ìÊÂÏîµÄÓÅÏÈȨΪ %d."
+
+#, c-format
+msgid "Changed 1 task to priority %d."
+msgstr "ÒѸıä 1 ¸ö´ý°ìÊÂÏîµÄÓÅÏÈȨΪ %d."
+
+msgid "Choose Action:"
+msgstr "Ñ¡Ôñ²Ù×÷:"
+
+msgid "Clear Form"
+msgstr "Çå³ý±íµ¥"
+
+msgid "Complete Task"
+msgstr "Íê³É´ý°ìÊÂÏî"
+
+msgid "Complete Tasks"
+msgstr "Íê³É´ý°ìÊÂÏî"
+
+msgid "Completed?"
+msgstr "Íê³É?"
+
+msgid "Completion Status"
+msgstr "Íê³É״̬"
+
+msgid "Default sorting criteria:"
+msgstr "ĬÈÏÅÅÐò±ê×¼:"
+
+msgid "Default sorting direction:"
+msgstr "ĬÈÏÅÅÐò·½Ïò:"
+
+msgid "Delete Task"
+msgstr "ɾ³ý´ý°ìÊÂÏî"
+
+msgid "Delete Tasks"
+msgstr "ɾ³ý´ý°ìÊÂÏî"
+
+#, c-format
+msgid "Deleted %d tasks."
+msgstr "%d ¸ö´ý°ìÊÂÏîÒÑɾ³ý."
+
+msgid "Deleted 1 task."
+msgstr "ÒÑɾ³ý 1 ¸ö´ý°ìÊÂÏî."
+
+msgid "Descending"
+msgstr "½µÐò"
+
+msgid "Description"
+msgstr "ÃèÊö"
+
+msgid "Display Options"
+msgstr "ÏÔʾѡÏî"
+
+msgid "Due By"
+msgstr "µ½ÆÚʱ¼ä"
+
+msgid "Due Date"
+msgstr "ÓÐЧÆÚ"
+
+msgid "Help"
+msgstr "°ïÖú"
+
+msgid "Language"
+msgstr "ÓïÑÔ"
+
+msgid "List Tasks"
+msgstr "Áгö´ý°ìÊÂÏî"
+
+#, c-format
+msgid "Marked %d tasks as completed."
+msgstr "Òѱä¸ü %d ¸ö´ý°ìÊÂÏîµÄÍê³É״̬Ϊ."
+
+msgid "Marked 1 task as completed."
+msgstr "Òѱä¸ü 1 ¸ö´ý°ìÊÂÏîµÄÍê³É״̬."
+
+msgid "Modify Task"
+msgstr "Ð޸Ĵý°ìÊÂÏî"
+
+msgid "Modifying:"
+msgstr "ÐÞ¸ÄÖÐ:"
+
+msgid "Nag is not properly configured"
+msgstr "Nag ÉÐδÍê³ÉÉ趨."
+
+msgid "Name"
+msgstr "Ãû³Æ"
+
+msgid "New Task"
+msgstr "ÐÂÔö´ý°ìÊÂÏî"
+
+msgid "No configuration information specified for SQL Tasks."
+msgstr "ûÓдý°ìÊÂÏî(SQLÐÍ̬)µÄÉ趨×ÊѶ."
+
+msgid "No due date."
+msgstr "ÓÀÔ¶."
+
+msgid "No tasks were changed."
+msgstr "ûÓдý°ìÊÂÏî±»ÐÞ¸Ä."
+
+msgid "No tasks were deleted."
+msgstr "ûÓдý°ìÊÂÏɾ³ý."
+
+msgid "No"
+msgstr "ÎÞ"
+
+msgid "None specified"
+msgstr "δָ¶¨"
+
+msgid "Options"
+msgstr "Ñ¡Ïî"
+
+msgid "Other Options"
+msgstr "ÆäËûÑ¡Ïî"
+
+msgid "Please enter the task priority (1-5):"
+msgstr "ÇëÊäÈë´ý°ìÊÂÏîµÄÓÅÏÈȨ(1-5):"
+
+msgid "Pri"
+msgstr "ÓÅÏÈ"
+
+msgid "Priorities must be between 1 and 5. Please enter a valid priority:"
+msgstr "ÓÅÏÈȨ±ØÐë½éì¶ 1 µ½ 5 .ÇëÖØÐÂÊäÈë:"
+
+msgid "Priority"
+msgstr "ÓÅÏÈȨ"
+
+msgid "Problem?"
+msgstr "ÎÊÌâ?"
+
+msgid "Refresh List"
+msgstr "ÖØÐÂÕûÀíÇåµ¥"
+
+msgid "Required 'database' not specified in tasks configuration."
+msgstr "´ý°ìÊÂÏîÉ趨×ÊÁÏÖÐ,ÕÒ²»µ½¹Øì¶ 'database'É趨×ÊÁÏ."
+
+msgid "Required 'hostspec' not specified in tasks configuration."
+msgstr "´ý°ìÊÂÏîÉ趨×ÊÁÏÖÐ,ÕÒ²»µ½¹Øì¶ 'hostspec'É趨×ÊÁÏ."
+
+msgid "Required 'password' not specified in tasks configuration."
+msgstr "´ý°ìÊÂÏîÉ趨×ÊÁÏÖÐ,ÕÒ²»µ½¹Øì¶ 'password'É趨×ÊÁÏ."
+
+msgid "Required 'phptype' not specified in tasks configuration."
+msgstr "´ý°ìÊÂÏîÉ趨×ÊÁÏÖÐ,ÕÒ²»µ½¹Øì¶ 'phptype'É趨×ÊÁÏ."
+
+msgid "Required 'table' not specified in tasks configuration."
+msgstr "´ý°ìÊÂÏîÉ趨×ÊÁÏÖÐ,ÕÒ²»µ½¹Øì¶ 'table'É趨×ÊÁÏ."
+
+msgid "Required 'username' not specified in tasks configuration."
+msgstr "´ý°ìÊÂÏîÉ趨×ÊÁÏÖÐ,ÕÒ²»µ½¹Øì¶ 'username'É趨×ÊÁÏ."
+
+msgid "Save Task"
+msgstr "´¢´æ´ý°ìÊÂÏî"
+
+msgid "Search Results"
+msgstr "ËÑѰ½á¹û"
+
+msgid "Search Scope"
+msgstr "ËÑѰ·¶Î§"
+
+msgid "Search Text"
+msgstr "ËÑѰ±¾ÎÄ"
+
+msgid "Search"
+msgstr "ËÑѰ"
+
+msgid "Select your preferred language:"
+msgstr "Ñ¡ÔñÆ«ºÃÓïÑÔ:"
+
+msgid "Selected?"
+msgstr "ÒÑÑ¡Ôñ?"
+
+msgid "Set Task Priority"
+msgstr "É趨´ý°ìÊÂÏîµÄÓÅÏÈȨ"
+
+msgid "Set the your preferred display language."
+msgstr " É趨ÏÔʾƫºÃÓïϵ."
+
+msgid "Show completed tasks in the task list?"
+msgstr "ÏÔʾÒÑÍê³ÉÊÂÏîì¶Çåµ¥ÖÐ?"
+
+msgid "Some of Nag's configuration files are missing:"
+msgstr "²¿·ÖµÄ NAG É趨µµ°¸ÒÅʧ:"
+
+msgid "Sort Direction"
+msgstr "ÅÅÐò·½Ïò"
+
+msgid "Sort by Category"
+msgstr "ÒÔÀà±ðÅÅÐò"
+
+msgid "Sort by Completion Status"
+msgstr "ÒÀÍê³É״̬ÅÅÐò"
+
+msgid "Sort by Due Date"
+msgstr "ÒÀÓÐЧÆÚÅÅÐò"
+
+msgid "Sort by Name"
+msgstr "ÒÔÃû³ÆÅÅÐò"
+
+msgid "Sort by Priority"
+msgstr "ÒÔÓÅÏÈȨÅÅÐò"
+
+msgid "Task Details"
+msgstr "´ý°ìÊÂÏîϸ½Ú"
+
+msgid "Task List"
+msgstr "ÏÔʾ´ý°ìÊÂÏî"
+
+msgid "Task Name"
+msgstr "´ý°ìÊÂÏîÃû³Æ"
+
+msgid "Task Note"
+msgstr "´ý°ìÊÂÏע"
+
+msgid "Task Note?"
+msgstr "´ý°ìÊÂÏî×¢½â?"
+
+msgid "The requested task does not exist."
+msgstr "ÐëÒªµÄ´ý°ìÊÂÏî²¢²»´æÔÚ."
+
+msgid "The task was saved."
+msgstr "´ËÊÂÏîÒÑ´¢´æ."
+
+msgid "There was a problem deleting tasks."
+msgstr "ɾ³ý´ý°ìÊÂÏîʱ·¢Éú´íÎó."
+
+msgid "There was a problem saving the task."
+msgstr "´¢´æ´ý°ìÊÂÏîʱ·¢Éú´íÎó."
+
+msgid "There was a problem setting task completion status."
+msgstr "É趨´ý°ìÊÂÏîÍê³É״̬ʱ·¢ÉúһЩÎÊÌâ."
+
+msgid "There was a problem setting task priority."
+msgstr "É趨´ý°ìÊÂÏîÓÅÏÈȨʱ·¢ÉúһЩÎÊÌâ."
+
+msgid "This file contains preferences for Nag."
+msgstr "Õâ¸öµµ°¸°üº¬´ý°ìÊÂÏîµÄһЩƫºÃÉ趨×ÊÁÏ."
+
+msgid ""
+"This file controls the stylesheet that is used to set colors and fonts in "
+"addition to or overriding Horde defaults."
+msgstr ""
+"Õâ¸öµµ°¸¿ØÖÆÎļþÖйØì¶ÑÕÉ«Óë×ÖÌåµÄÕ¹ÏÖ·ç¸ñ.²¢ÒÔÐÂÔö»ò¸²¸Ç Horde µÄ·½Ê½ÎªÔ¤Éè"
+"ֵ."
+
+msgid ""
+"This is the main Nag configuration file. It contains options for all Nag "
+"scripts."
+msgstr "ÕâÊÇ NAG µÄÖ÷ÒªÉ趨µµ.²¢°üº¬Æä³ÌʽËùÐèµÄ·¾¶ÓëÑ¡Ïî."
+
+msgid "Undo Changes"
+msgstr "»Ö¸´±ä¸ü"
+
+msgid "Unfiled"
+msgstr "δ¹éµµ"
+
+msgid "Unknown task"
+msgstr "δ֪µÄ´ý°ìÊÂÏî"
+
+msgid "Unknown"
+msgstr "δ֪"
+
+msgid "User Options"
+msgstr "Óû§Ñ¡Ïî"
+
+msgid "View Task Details"
+msgstr "¼ìÊÓ´ý°ìÊÂÏîϸ½Ú"
+
+msgid "Yes"
+msgstr "ÊÇ"
+
+msgid "You must select at least one task first."
+msgstr "Äã±ØÐëÑ¡ÔñÖÁÉÙÒ»¸ö´ý°ìÊÂÏî."
+
+msgid "Your Information"
+msgstr "ÄãµÄ¸öÈË×ÊÁÏ"
+
+msgid "Your task list is empty."
+msgstr "ÄãµÄ´ý°ìÊÂÏîÇåµ¥¿Õ°×."
+
+msgid "at"
+msgstr "ÔÚ"
--- /dev/null
+# NAG Traditional Chinese Translation
+# Copyright 2001 David Chang. ±i¨}¤å,¥xÆW
+# David Chang <david@tmv.gov.tw>, 2001.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Nag 2.2-ALPHA\n"
+"Report-Msgid-Bugs-To: dev@lists.horde.org\n"
+"POT-Creation-Date: 2008-02-12 15:47+0800\n"
+"PO-Revision-Date: 2007-08-31 12:00+0800\n"
+"Last-Translator: David Chang <david@tmv.gov.tw>\n"
+"Language-Team: Traditional Chinese <i18n@lists.horde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=BIG5\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: templates/view/task.inc:35
+#, php-format
+msgid " (%s including sub-tasks)"
+msgstr " (%s ¥]§t¦¸¨Æ¶µ)"
+
+#: lib/Nag.php:71
+#, php-format
+msgid "%d hour"
+msgstr "%d ®É"
+
+#: lib/Nag.php:73
+#, php-format
+msgid "%d hour, %d minute"
+msgstr "%d ®É, %d ¤À"
+
+#: lib/Nag.php:75
+#, php-format
+msgid "%d hour, %d minutes"
+msgstr "%d ®É, %d ¤À"
+
+#: lib/Nag.php:63
+#, php-format
+msgid "%d hours"
+msgstr "%d ®É"
+
+#: lib/Nag.php:65
+#, php-format
+msgid "%d hours, %d minute"
+msgstr "%d ®É, %d ¤À"
+
+#: lib/Nag.php:67
+#, php-format
+msgid "%d hours, %d minutes"
+msgstr "%d ®É, %d ¤À"
+
+#: lib/Nag.php:81
+#, php-format
+msgid "%d minute"
+msgstr "%d ¤À"
+
+#: lib/Nag.php:83
+#, php-format
+msgid "%d minutes"
+msgstr "%d ¤À"
+
+#: lib/Nag.php:364
+#, php-format
+msgid "%s at %s"
+msgstr "%s ¦b %s"
+
+#: lib/Nag.php:590 lib/Block/tree_alarms.php:41 lib/Block/summary.php:106
+#, php-format
+msgid "%s is due in %s"
+msgstr "%s ±N©ó %s «á¨ì´Á"
+
+#: lib/Nag.php:588 lib/Block/tree_alarms.php:43 lib/Block/summary.php:104
+#, php-format
+msgid "%s is due now."
+msgstr "%s ²{¦b¤w¨ì´Á"
+
+#: task.php:231
+#, php-format
+msgid "%s is now incomplete."
+msgstr "%s ²{¦b§ï¬°¥¼§¹¦¨."
+
+#: data.php:199
+#, php-format
+msgid "%s successfully imported"
+msgstr "%s Àɤw¶×¤J§¹¦¨"
+
+#: lib/Nag.php:516 lib/Forms/DeleteTaskList.php:86
+#, php-format
+msgid "%s's Task List"
+msgstr "%sªº«Ý¿ìï"
+
+#: lib/Nag.php:315 lib/Forms/task.php:58
+msgid "(highest)"
+msgstr "(³Ì°ª)"
+
+#: lib/Nag.php:315 lib/Forms/task.php:59
+msgid "(lowest)"
+msgstr "(³Ì§C)"
+
+#: task.php:215
+#, php-format
+msgid "Access denied completing task %s."
+msgstr "±N«Ý¿ì¨Æ¶µ %s ³]©w¬°§¹¦¨ª¬ºA®É,¦s¨ú¾D©Ú"
+
+#: task.php:24
+#, php-format
+msgid "Access denied deleting %s"
+msgstr "§R°£ %s ®É,¦s¨ú¾D©Ú"
+
+#: task.php:84 task.php:90
+msgid "Access denied editing task."
+msgstr "½s¿è«Ý¿ì¨Æ¶µ®É,¦s¨ú¾D©Ú."
+
+#: task.php:82
+#, php-format
+msgid "Access denied editing task: %s"
+msgstr "½s¿è«Ý¿ì¨Æ¶µ: %s ®É,¦s¨ú¾D©Ú."
+
+#: task.php:163
+#, php-format
+msgid "Access denied moving the task to %s."
+msgstr "±N«Ý¿ì¨Æ¶µ·h²¾¨ì %s ®É,¦s¨ú¾D©Ú."
+
+#: task.php:166
+#, php-format
+msgid "Access denied removing task from %s."
+msgstr "±N«Ý¿ì¨Æ¶µ¦Û %s ²¾°£®É,¦s¨ú¾D©Ú."
+
+#: task.php:125
+#, php-format
+msgid "Access denied saving task to %s."
+msgstr "±N«Ý¿ì¨Æ¶µÀx¦s¨ì %s ®É,¦s¨ú¾D©Ú."
+
+#: task.php:121
+#, php-format
+msgid "Access denied saving task: %s"
+msgstr "Àx¦s«Ý¿ì¨Æ¶µ: %s ®É,¦s¨ú¾D©Ú."
+
+#: templates/view/task.inc:26 lib/Forms/task.php:88
+msgid "Alarm"
+msgstr "ĵ¥Ü"
+
+#: config/prefs.php.dist:200
+msgid "All tasks"
+msgstr "¥þ³¡"
+
+#: lib/Block/summary.php:63
+msgid "Always show completed tasks?"
+msgstr "¥Ã»·Åã¥Ü¤w§¹¦¨ªº¨Æ¶µ?"
+
+#: lib/Block/summary.php:60
+msgid "Always show overdue tasks?"
+msgstr "¥Ã»·Åã¥Ü¹L´Á¨Æ¶µ?"
+
+#: config/prefs.php.dist:117
+msgid "Ascending"
+msgstr "¤W¤É"
+
+#: lib/Block/summary.php:39
+msgid "Block title"
+msgstr "°Ï¶ô¼ÐÃD"
+
+#: data.php:30
+msgid "CSV"
+msgstr "³rÂI¤À¹j®æ¦¡ .csv"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Calendar"
+msgstr "¦æ¨Æ¾ä"
+
+#: lib/Forms/DeleteTaskList.php:45 lib/Forms/DeleteTaskList.php:51
+msgid "Cancel"
+msgstr "¨ú®ø"
+
+#: templates/list/task_headers.inc:53
+msgid "Cat_egory"
+msgstr "¤ÀÃþ_e"
+
+#: data.php:54 templates/view/task.inc:8 lib/Forms/task.php:76
+#: lib/Forms/task.php:82 config/prefs.php.dist:89 config/prefs.php.dist:104
+msgid "Category"
+msgstr "¤ÀÃþ"
+
+#: tasklists/index.php:56 templates/tasklist_list.php:35
+msgid "Change Permissions"
+msgstr "Åܧó¦s¨ú¼Ò¦¡"
+
+#: config/prefs.php.dist:14
+msgid "Change your task sorting and display options."
+msgstr "Åܧó§Aªº«Ý¿ì¨Æ¶µ±Æ§Ç¤è¦¡¥H¤ÎÅã¥Ü¿ï¶µ."
+
+#: config/prefs.php.dist:179
+msgid "Choose how you want to receive reminders for tasks with alarms:"
+msgstr "§A¥´ºâ¥H¦óºØ¤è¦¡±µ¨ü¨Ó¦Û«Ý¿ì¨Æ¶µªºÄµ¥Ü:"
+
+#: config/prefs.php.dist:170
+msgid ""
+"Choose if you want to be notified of new, edited, and deleted tasks by email:"
+msgstr "«Ý¿ìï³Q·s¼W, ½s¿è, »P§R°£¨Æ¶µ®É¬O§_¥H¶l¥ó³qª¾§Ú?"
+
+#: config/prefs.php.dist:42
+msgid "Choose if you want to be notified of task changes and task alarms."
+msgstr "³]©w¨Æ¶µÄµ¥Ü»PÅܧó³qª¾."
+
+#: config/prefs.php.dist:35
+msgid "Choose your default task list."
+msgstr "¿ï¾Ü§Aªº¹w³]«Ý¿ìï."
+
+#: templates/tasklist_list.php:31 templates/tasklist_list.php:32
+msgid "Click or copy this URL to display this task list"
+msgstr "ÂI¿ï©Î½Æ»s¦¹ºô§}¥H«KÅã¥Ü«Ý¿ìï"
+
+#: templates/panel.inc:43
+msgid "Close"
+msgstr "Ãö³¬"
+
+#: templates/list/header.inc:8
+msgid "Close Search"
+msgstr "Ãö³¬·j´M"
+
+#: view.php:99
+msgid "Complete"
+msgstr "§¹¦¨"
+
+#: templates/list/task_summaries.inc:11 lib/Block/summary.php:175
+#, php-format
+msgid "Complete \"%s\""
+msgstr "§¹¦¨ \"%s\""
+
+#: templates/view/task.inc:42
+msgid "Complete Task"
+msgstr "¼Ð°O¬°§¹¦¨"
+
+#: config/prefs.php.dist:202
+msgid "Complete tasks"
+msgstr "¤w§¹¦¨"
+
+#: lib/Nag.php:379 lib/Block/summary.php:173
+msgid "Completed"
+msgstr "¤w§¹¦¨"
+
+#: task.php:229
+#, php-format
+msgid "Completed %s."
+msgstr "¤w§¹¦¨ %s."
+
+#: templates/search/search.inc:27
+msgid "Completed Tasks"
+msgstr "¤w§¹¦¨"
+
+#: templates/list/task_summaries.inc:16
+msgid "Completed parent task, mark it as incomplete first"
+msgstr "¤÷¨Æ¶µ¬°§¹¦¨ª¬ºA, ½Ð¥ý±N¥¦¼Ð¥Ü¬°¥¼§¹¦¨"
+
+#: templates/view/task.inc:38 templates/list/task_headers.inc:31
+#: lib/Forms/task.php:94 config/prefs.php.dist:91 config/prefs.php.dist:106
+msgid "Completed?"
+msgstr "¬O§_§¹¦¨?"
+
+#: data.php:58
+msgid "Completion Status"
+msgstr "§¹¦¨ª¬ºA"
+
+#: lib/api.php:317 lib/api.php:544
+#, php-format
+msgid "Connection failed: %s"
+msgstr "³sµ²¥¢±Ñ: %s"
+
+#: lib/Forms/CreateTaskList.php:39
+msgid "Create"
+msgstr "«Ø¥ß"
+
+#: lib/Forms/CreateTaskList.php:34
+msgid "Create Task List"
+msgstr "«Ø¥ß«Ý¿ìï"
+
+#: templates/tasklist_list.php:8
+msgid "Create a new Task List"
+msgstr "«Ø¥ß·s«Ý¿ìï"
+
+#: templates/view/task.inc:57
+msgid "Created"
+msgstr "«Ø¥ß"
+
+#: lib/UI/VarRenderer/nag.php:51 lib/UI/VarRenderer/nag.php:100
+msgid "Day"
+msgstr "¤Ñ"
+
+#: lib/Nag.php:411 lib/UI/VarRenderer/nag.php:136
+msgid "Day(s)"
+msgstr "¤Ñ"
+
+#: config/prefs.php.dist:34
+msgid "Default Task List"
+msgstr "¹w³]«Ý¿ìï"
+
+#: config/prefs.php.dist:28
+msgid "Defaults for new tasks"
+msgstr "·s¼W¨Æ¶µ®Éªº¹w³]¸ê®Æ"
+
+#: lib/Forms/task.php:87
+msgid "Delay Start Until"
+msgstr "©µ«á¨ì³oÓ¤é´Á¤~¶}©l"
+
+#: view.php:106 tasklists/index.php:57 templates/tasklist_list.php:37
+#: lib/Forms/DeleteTaskList.php:45
+msgid "Delete"
+msgstr "§R°£"
+
+#: lib/Forms/DeleteTaskList.php:40
+#, php-format
+msgid "Delete %s"
+msgstr "§R°£ %s"
+
+#: config/prefs.php.dist:20
+msgid "Delete Confirmation"
+msgstr "§R°£½T»{"
+
+#: config/prefs.php.dist:21
+msgid "Delete button behaviour"
+msgstr "§R°£«ö¶sªº¦æ¬°"
+
+#: task.php:105 lib/Forms/task.php:99
+msgid "Delete this task"
+msgstr "§R°£³oӨƶµ"
+
+#: task.php:32
+#, php-format
+msgid "Deleted %s."
+msgstr "¤w§R°£ %s."
+
+#: config/prefs.php.dist:118
+msgid "Descending"
+msgstr "¤U°"
+
+#: data.php:53 lib/Forms/task.php:95 lib/Forms/CreateTaskList.php:37
+#: lib/Forms/EditTaskList.php:44
+msgid "Description"
+msgstr "´yz"
+
+#: config/prefs.php.dist:13
+msgid "Display Options"
+msgstr "Åã¥Ü¿ï¶µ"
+
+#: templates/tasklist_list.php:16
+msgid "Display URL"
+msgstr "Åã¥Üºô§}"
+
+#: config/prefs.php.dist:128
+msgid "Do you want to confirm deleting entries?"
+msgstr "§R°£¨Æ¶µ®É»Ýn½T»{?"
+
+#: data.php:55 templates/view/task.inc:22 lib/Forms/task.php:86
+msgid "Due By"
+msgstr "¦³®Ä´Á"
+
+#: config/prefs.php.dist:90 config/prefs.php.dist:105
+msgid "Due Date"
+msgstr "¦³®Ä´Á"
+
+#: lib/UI/VarRenderer/nag.php:99
+msgid "Due date specified."
+msgstr "¤w«ü©w¦³®Ä´Á."
+
+#: view.php:102 tasklists/index.php:55 templates/tasklist_list.php:33
+msgid "Edit"
+msgstr "½s¿è"
+
+#: templates/list/task_summaries.inc:38 lib/Block/summary.php:166
+#, php-format
+msgid "Edit \"%s\""
+msgstr "½s¿è \"%s\""
+
+#: lib/Forms/EditTaskList.php:40
+#, php-format
+msgid "Edit %s"
+msgstr "½s¿è %s"
+
+#: templates/list/task_headers.inc:42
+msgid "Edit Task"
+msgstr "½s¿è"
+
+#: templates/list/task_headers.inc:58
+msgid "Edit categories and colors"
+msgstr "½s¿è¤ÀÃþ»PÃC¦â"
+
+#: task.php:95 task.php:109
+#, php-format
+msgid "Edit: %s"
+msgstr "½s¿è: %s"
+
+#: task.php:19
+#, php-format
+msgid "Error deleting task: %s"
+msgstr "§R°£¨Æ¶µ®Éµo¥Í¿ù»~: %s"
+
+#: templates/view/task.inc:34 lib/Forms/task.php:93
+msgid "Estimated Time"
+msgstr "¹w¦ô®É¶¡"
+
+#: templates/data/export.inc:17
+msgid "Export"
+msgstr "¶×¥X"
+
+#: templates/data/export.inc:6
+msgid "Export Tasks"
+msgstr "¶×¥X«Ý¿ì¨Æ¶µ"
+
+#: config/prefs.php.dist:56
+msgid "External Data"
+msgstr "¥~³¡¸ê®Æ"
+
+#: config/prefs.php.dist:12 config/prefs.php.dist:19 config/prefs.php.dist:26
+msgid "General Options"
+msgstr "¤@¯ë¿ï¶µ"
+
+#: lib/UI/VarRenderer/nag.php:111
+msgid "Hour"
+msgstr "®É"
+
+#: lib/Nag.php:414 lib/UI/VarRenderer/nag.php:135
+msgid "Hour(s)"
+msgstr "®É"
+
+#: templates/data/import.inc:7
+#, php-format
+msgid "Import Tasks, Step %d"
+msgstr "¶×¤J«Ý¿ì¨Æ¶µ,¨BÆJ %d"
+
+#: data.php:205
+msgid "Import/Export Tasks"
+msgstr "¶×¤J/¶×¥X«Ý¿ì¨Æ¶µ"
+
+#: list.php:112
+msgid "Incom_plete tasks"
+msgstr "¥¼§¹¦¨_p"
+
+#: templates/search/search.inc:26
+msgid "Incomplete Tasks"
+msgstr "¥¼§¹¦¨"
+
+#: templates/list/task_summaries.inc:8
+msgid "Incomplete sub tasks, complete them first"
+msgstr "½Ð¥ý±N¦¸¨Æ¶µ§¹¦¨"
+
+#: config/prefs.php.dist:201
+msgid "Incomplete tasks"
+msgstr "¥¼§¹¦¨"
+
+#: templates/view/task.inc:64
+msgid "Last Modified"
+msgstr "³Ìªñ¤@¦¸§ó·s"
+
+#: tasklists/index.php:61 templates/tasklist_list.php:2
+msgid "Manage Task Lists"
+msgstr "[ºÞ²z«Ý¿ìï]"
+
+#: templates/list/task_summaries.inc:19
+#, php-format
+msgid "Mark \"%s\" as incomplete"
+msgstr "±N \"%s\" ¼Ð°O¬°¥¼§¹¦¨"
+
+#: templates/view/task.inc:44
+msgid "Mark as incomplete"
+msgstr "¼Ð°O¬°¥¼§¹¦¨"
+
+#: lib/api.php:120
+msgid "Maximum Number of Tasks"
+msgstr "«Ý¿ì¨Æ¶µ¤W¼Æ¥Ø"
+
+#: lib/Block/tree_alarms.php:3
+msgid "Menu Alarms"
+msgstr "¥Ø¿ýĵ¥Ü"
+
+#: lib/Block/tree_menu.php:3
+msgid "Menu List"
+msgstr "¥\¯àªí"
+
+#: lib/UI/VarRenderer/nag.php:112
+msgid "Minute"
+msgstr "¤ÀÄÁ"
+
+#: lib/Nag.php:417 lib/UI/VarRenderer/nag.php:135
+msgid "Minute(s)"
+msgstr "¤ÀÄÁ"
+
+#: lib/UI/VarRenderer/nag.php:52 lib/UI/VarRenderer/nag.php:101
+msgid "Month"
+msgstr "¤ë"
+
+#: templates/list/header.inc:9
+msgid "More Options..."
+msgstr "§ó¦h¿ï¶µ..."
+
+#: lib/api.php:1001
+msgid "Multiple iCalendar components found; only one vTodo is supported."
+msgstr "µo²{¦hÓ iCalendar ¤¸¥ó; ¶È¥u¤ä´© vTodo."
+
+#: templates/panel.inc:70
+msgid "My Task Lists:"
+msgstr "§Úªº«Ý¿ìï:"
+
+#: list.php:34
+msgid "My Tasks"
+msgstr "§Úªº¨Æ¶µ"
+
+#: templates/search/search.inc:18
+msgid "N_ame"
+msgstr "¦WºÙ_a"
+
+#: templates/list/task_headers.inc:45
+msgid "Na_me"
+msgstr "¦WºÙ_m"
+
+#: lib/Driver/kolab.php:741
+#, php-format
+msgid "Nag/kolab: Did not find task %s"
+msgstr "Nag/kolab: §ä¤£¨ì¨Æ¶µ %s."
+
+#: data.php:52 lib/Forms/task.php:65 lib/Forms/CreateTaskList.php:36
+#: lib/Forms/EditTaskList.php:43
+msgid "Name"
+msgstr "¦WºÙ"
+
+#: task.php:74 task.php:109 lib/Block/tree_menu.php:26
+msgid "New Task"
+msgstr "·s¼W"
+
+#: templates/data/import.inc:39
+msgid "Next"
+msgstr "¤U¤@¨B"
+
+#: config/prefs.php.dist:166
+msgid "No"
+msgstr "§_"
+
+#: lib/UI/VarRenderer/nag.php:46
+msgid "No delay"
+msgstr "¤£©µ«á"
+
+#: lib/UI/VarRenderer/nag.php:95
+msgid "No due date."
+msgstr "¥Ã»·."
+
+#: lib/api.php:405 lib/api.php:724 lib/api.php:782 lib/api.php:994
+msgid "No iCalendar data was found."
+msgstr "§ä¤£¨ì iCalendar ¸ê®Æ."
+
+#: lib/Forms/task.php:50
+msgid "No parent task"
+msgstr "¨S¦³¤÷¨Æ¶µ"
+
+#: lib/Nag.php:605
+msgid "No task lists are available to guests."
+msgstr "¤£´£¨Ñ«Ý¿ìïµ¹¨Ó»«¨Ï¥Î."
+
+#: templates/list/task_footers.inc:5
+msgid "No tasks match"
+msgstr "¨S¦³¨Æ¶µ²Å¦X"
+
+#: lib/Block/summary.php:229
+msgid "No tasks to display"
+msgstr "¨S¦³«Ý¿ì¨Æ¶µ."
+
+#: lib/Nag.php:421 lib/UI/VarRenderer/nag.php:151
+msgid "None"
+msgstr "µL"
+
+#: lib/Nag.php:380
+msgid "Not Completed"
+msgstr "¥¼§¹¦¨"
+
+#: templates/view/task.inc:14
+msgid "Not Private"
+msgstr "«D¨p¤H"
+
+#: lib/Driver/sql.php:100 lib/Driver/sql.php:136
+msgid "Not found"
+msgstr "§ä¤£¨ì"
+
+#: config/prefs.php.dist:41
+msgid "Notifications"
+msgstr "³qª¾¿ï¶µ"
+
+#: config/prefs.php.dist:168
+msgid "On all shown tasklists"
+msgstr "©Ò¦³Åã¥Ü¤¤ªº«Ý¿ìï"
+
+#: config/prefs.php.dist:169
+msgid "On all tasklists I have read access to"
+msgstr "©Ò¦³§Ú¥i¥HŪ¨úªº«Ý¿ìï"
+
+#: config/prefs.php.dist:167
+msgid "On my tasklists only"
+msgstr "¥u©ó§Úªº«Ý¿ìï"
+
+#: templates/list/task_headers.inc:39
+msgid "P_ri"
+msgstr "Àu¥ý_r"
+
+#: lib/Forms/task.php:72
+msgid "Parent task"
+msgstr "¤÷¨Æ¶µ"
+
+#: lib/api.php:591 lib/api.php:629 lib/api.php:662 lib/api.php:698
+#: lib/api.php:820 lib/api.php:875 lib/api.php:939 lib/api.php:976
+#: lib/api.php:1087 lib/api.php:1134
+msgid "Permission Denied"
+msgstr "¦s¨ú¾D©Ú"
+
+#: lib/api.php:178 lib/Forms/DeleteTaskList.php:56
+msgid "Permission denied"
+msgstr "¦s¨ú¾D©Ú"
+
+#: data.php:57 templates/view/task.inc:30 lib/Forms/task.php:90
+#: config/prefs.php.dist:87 config/prefs.php.dist:102
+msgid "Priority"
+msgstr "Àu¥ý¶¶§Ç"
+
+#: templates/view/task.inc:14 lib/Driver.php:907
+msgid "Private"
+msgstr "¨p¤H"
+
+#: lib/Driver.php:905
+msgid "Private Task"
+msgstr "¨p¤H«Ý¿ì¨Æ¶µ"
+
+#: templates/view/task.inc:12 lib/Forms/task.php:85
+msgid "Private?"
+msgstr "¨p¤H?"
+
+#: lib/Forms/DeleteTaskList.php:43
+#, php-format
+msgid ""
+"Really delete the task list \"%s\"? This cannot be undone and all data on "
+"this task list will be permanently removed."
+msgstr ""
+"¯uªºn§R°£¦¹«Ý¿ìï \"%s\"¶Ü? ³o¶µ¾Þ§@±NµLªk«ì´_¦Ó¥B¸Ó«Ý¿ì襤ªº¨Æ¶µ¥ç±N¥Ã»·®ø"
+"¥¢."
+
+#: view.php:106
+msgid "Really delete this task?"
+msgstr "½T©w§R°£¦¹¨Æ¶µ?"
+
+#: templates/panel.inc:88 lib/Forms/task.php:97 lib/Forms/EditTaskList.php:46
+msgid "Save"
+msgstr "Àx¦s"
+
+#: task.php:194
+#, php-format
+msgid "Saved %s."
+msgstr "Àx¦s %s."
+
+#: search.php:14 templates/search/search.inc:31 templates/list/header.inc:4
+#: lib/Block/tree_menu.php:46
+msgid "Search"
+msgstr "·j´M"
+
+#: templates/search/search.inc:17
+msgid "Search In:"
+msgstr "·j´MÄæ¦ì:"
+
+#: templates/search/search.inc:12
+msgid "Search _Text:"
+msgstr "·j´M¤º®e_T:"
+
+#: templates/panel.inc:58
+msgid "Search for Task Lists:"
+msgstr "·j´M«Ý¿ìï:"
+
+#: templates/search/search.inc:24
+msgid "Search:"
+msgstr "·j´M:"
+
+#: list.php:73
+#, php-format
+msgid "Search: Results for \"%s\""
+msgstr "·j´M: \"%s\" ªºµ²ªG"
+
+#: lib/UI/VarRenderer/nag.php:58 lib/UI/VarRenderer/nag.php:106
+msgid "Select a date"
+msgstr "¿ï¾Ü¤@Ó¤é´Á"
+
+#: templates/data/export.inc:11
+msgid "Select the export format:"
+msgstr "¿ï¾Ü¶×¥X®æ¦¡:"
+
+#: templates/data/import.inc:36
+msgid "Select the file to import:"
+msgstr "¿ï¾Ü¶×¤JÀÉ®×:"
+
+#: templates/data/import.inc:12
+msgid "Select the format of the source file:"
+msgstr "¿ï¾Ü¨Ó·½Àɮ׮榡:"
+
+#: templates/panel.inc:79
+msgid "Shared Task Lists:"
+msgstr "¤w¦@¨Éªº«Ý¿ìï:"
+
+#: config/prefs.php.dist:68
+msgid "Should the Task List be shown in its own column in the List view?"
+msgstr "¦b²M³æÀ˵øµe±¤¤Åã¥Ü©ÒÄݪº¥N¿ìï¦WºÙ?"
+
+#: lib/Block/summary.php:45
+msgid "Show action buttons?"
+msgstr "Åã¥Ü§@¥Î«ö¶s?"
+
+#: config/prefs.php.dist:203
+msgid "Show complete, incomplete, or all tasks in the task list?"
+msgstr "Åã¥Ü¤w§¹¦¨,¥¼§¹¦¨¨Æ¶µ©ó²M³æ¤¤?"
+
+#: config/prefs.php.dist:190
+msgid "Show data from any of these other applications in your task list?"
+msgstr "Åã¥Ü«Ý¿ì襤¨ä¥LÀ³¥Îµ{¦¡ªº¸ê®Æ?"
+
+#: config/prefs.php.dist:57
+msgid "Show data from other applications or sources."
+msgstr "Åã¥Ü¨ä¥LÀ³¥Îµ{¦¡©Î¨Ó·½ªº¸ê®Æ."
+
+#: lib/Block/summary.php:48
+msgid "Show due dates?"
+msgstr "Åã¥Ü¨ì´Á¤é?"
+
+#: lib/Block/summary.php:42
+msgid "Show priorities?"
+msgstr "Åã¥ÜÀu¥ý?"
+
+#: lib/Block/summary.php:54
+msgid "Show task alarms?"
+msgstr "Åã¥Üĵ¥Ü?"
+
+#: lib/Block/summary.php:57
+msgid "Show task category?"
+msgstr "ĵ¥Ü¤ÀÃþ?"
+
+#: config/prefs.php.dist:78
+msgid "Show task list options panel?"
+msgstr "Åã¥Ü¶i¶¥¥\¯à±ªO?"
+
+#: lib/Block/summary.php:51
+msgid "Show tasklist name?"
+msgstr "Åã¥Ü«Ý¿ìï¦WºÙ?"
+
+#: lib/Block/summary.php:70
+msgid "Show tasks from these categories"
+msgstr "Åã¥Ü³o¨Ç¤ÀÃþ¤¤ªº¨Æ¶µ"
+
+#: lib/Block/summary.php:66
+msgid "Show tasks from these tasklists"
+msgstr "Åã¥Ü³o¨Ç«Ý¿ì襤ªº¨Æ¶µ"
+
+#: templates/list/task_headers.inc:53
+msgid "Sort by Category"
+msgstr "¥H¤ÀÃþ±Æ§Ç"
+
+#: templates/list/task_headers.inc:31
+msgid "Sort by Completion Status"
+msgstr "¨Ì§¹¦¨ª¬ºA±Æ§Ç"
+
+#: templates/list/task_headers.inc:50
+msgid "Sort by Due Date"
+msgstr "¨Ì¦³®Ä´Á±Æ§Ç"
+
+#: templates/list/task_headers.inc:45
+msgid "Sort by Name"
+msgstr "¥H¦WºÙ±Æ§Ç"
+
+#: templates/list/task_headers.inc:39
+msgid "Sort by Priority"
+msgstr "¥HÀu¥ýÅv±Æ§Ç"
+
+#: templates/list/task_headers.inc:35
+msgid "Sort by User Name"
+msgstr "¥H¨Ï¥ÎªÌ¦WºÙ±Æ§Ç"
+
+#: config/prefs.php.dist:119
+msgid "Sort direction:"
+msgstr "±Æ§Ç¤è¦V:"
+
+#: config/prefs.php.dist:93
+msgid "Sort tasks by:"
+msgstr "±Æ§Ç¨Æ¶µ¨Ì:"
+
+#: data.php:56
+msgid "Start"
+msgstr "±Ò°Ê"
+
+#: templates/view/task.inc:18
+msgid "Start Date"
+msgstr "±Ò©l¤é´Á"
+
+#: lib/UI/VarRenderer/nag.php:50
+msgid "Start date specified."
+msgstr "¤w«ü©w±Ò©l¤é´Á."
+
+#: templates/tasklist_list.php:17
+msgid "Subscription URL"
+msgstr "q¾\ºô§}"
+
+#: templates/list/task_summaries.inc:57
+msgid "Task Alarm"
+msgstr "ĵ¥Ü"
+
+#: templates/list/task_headers.inc:48
+msgid "Task Alarm?"
+msgstr "ĵ¥Ü?"
+
+#: config/prefs.php.dist:27
+msgid "Task Defaults"
+msgstr "¹w³]¿ï¶µ"
+
+#: templates/tasklist_list.php:15 lib/Forms/task.php:68
+msgid "Task List"
+msgstr "«Ý¿ìï"
+
+#: templates/panel.inc:5
+msgid "Task List Information"
+msgstr "«Ý¿ìï¸ê°T"
+
+#: templates/tasklist_list.php:12
+msgid "Task List List"
+msgstr "ÂsÄý"
+
+#: config/prefs.php.dist:33 config/prefs.php.dist:40 config/prefs.php.dist:55
+msgid "Task List and Share Options"
+msgstr "«Ý¿ìï¥H¤Î¤À¨É¿ï¶µ"
+
+#: templates/tasklist_info.php:6
+#, php-format
+msgid "Task List owned by %s."
+msgstr "«Ý¿ìï¾Ö¦³ªÌ %s."
+
+#: templates/panel.inc:52 templates/panel.inc:53
+msgid "Task Lists"
+msgstr "«Ý¿ìï"
+
+#: config/prefs.php.dist:88 config/prefs.php.dist:103
+msgid "Task Name"
+msgstr "«Ý¿ì¨Æ¶µ¦WºÙ"
+
+#: templates/list/task_summaries.inc:55
+msgid "Task Note"
+msgstr "³Æµù"
+
+#: templates/list/task_headers.inc:47
+msgid "Task Note?"
+msgstr "³Æ¸Ñ?"
+
+#: templates/search/search.inc:6
+msgid "Task Search"
+msgstr "«Ý¿ì¨Æ¶µ·j´M"
+
+#: lib/Nag.php:630
+msgid "Task added:"
+msgstr "«Ý¿ì¨Æ¶µ¤w·s¼W:"
+
+#: lib/Nag.php:640
+msgid "Task deleted:"
+msgstr "«Ý¿ì¨Æ¶µ¤w§R°£:"
+
+#: lib/Nag.php:635
+msgid "Task modified:"
+msgstr "«Ý¿ì¨Æ¶µ¤w§ó·s:"
+
+#: task.php:88 view.php:44
+msgid "Task not found."
+msgstr "§ä¤£¨ì«Ý¿ì¨Æ¶µ."
+
+#: config/prefs.php.dist:92 config/prefs.php.dist:107
+msgid "Tasklist"
+msgstr "«Ý¿ìï"
+
+#: lib/api.php:1056
+msgid "Tasks"
+msgstr "«Ý¿ì¨Æ¶µ"
+
+#: lib/Block/summary.php:3
+msgid "Tasks Summary"
+msgstr "«Ý¿ì¨Æ¶µºKn"
+
+#: data.php:193
+#, php-format
+msgid "The %s file didn't contain any tasks."
+msgstr "%s Àɮפ¤¥¼¥]§t¥ô¦ó¨Æ¶µ."
+
+#: lib/Driver.php:56
+msgid "The Tasks backend is not currently available."
+msgstr "¥Ø«e¨S¦³¥i¥Îªº«Ý¿ì¨Æ¶µ¦øªAºÝ."
+
+#: lib/Driver.php:137
+#, php-format
+msgid "The Tasks backend is not currently available: %s"
+msgstr "¥Ø«e¨S¦³¥i¥Îªº«Ý¿ì¨Æ¶µ¦øªAºÝ: %s"
+
+#: lib/Forms/task.php:133
+msgid "The alarm value must not be empty."
+msgstr "ĵ¥Ü³]©wȤ£±oªÅ¥Õ."
+
+#: templates/prefs/defaultduetimeselect.inc:8
+msgid "The current hour"
+msgstr "¥Ø«eªº®É¶¡"
+
+#: lib/Nag.php:631
+#, php-format
+msgid ""
+"The task \"%s\" has been added to \"%s\" tasklist, with a due date of: %s."
+msgstr "¨ì´Á¤é¬° %3$s ªº«Ý¿ì¨Æ¶µ \"%1$s\" ¤w·s¼W¨ì«Ý¿ìï \"%2$s\" ¤¤."
+
+#: lib/Nag.php:641
+#, php-format
+msgid ""
+"The task \"%s\" has been deleted from \"%s\" tasklist, with a due date of: %"
+"s."
+msgstr "¨ì´Á¤é¬° %3$s ªº«Ý¿ì¨Æ¶µ \"%1$s\" ¤w¦Û«Ý¿ìï \"%2$s\" ¤¤§R°£."
+
+#: lib/Nag.php:636
+#, php-format
+msgid ""
+"The task \"%s\" has been edited on \"%s\" tasklist, with a due date of: %s."
+msgstr "«Ý¿ìï \"%2$s\" ¤¤¨ì´Á¤é¬° %3$s ªº«Ý¿ì¨Æ¶µ \"%1$s\" ¤w½s¿è§¹¦¨."
+
+#: tasklists/create.php:31
+#, php-format
+msgid "The task list \"%s\" has been created."
+msgstr "¦¹«Ý¿ì¨Æ¶µ \"%s\" ¤w³Q«Ø¥ß."
+
+#: tasklists/delete.php:48
+#, php-format
+msgid "The task list \"%s\" has been deleted."
+msgstr "¦¹«Ý¿ì¨Æ¶µ \"%s\" ¤w³Q§R°£."
+
+#: tasklists/edit.php:42
+#, php-format
+msgid "The task list \"%s\" has been renamed to \"%s\"."
+msgstr "«Ý¿ìï \"%s\" ¤w§ó¦W¬° \"%s\"."
+
+#: tasklists/edit.php:44
+#, php-format
+msgid "The task list \"%s\" has been saved."
+msgstr "¦¹«Ý¿ì¨Æ¶µ \"%s\" ¤w³QÀx¦s."
+
+#: config/prefs.php.dist:108
+msgid "Then:"
+msgstr "¦A¨Ì:"
+
+#: templates/list/empty.inc:2
+msgid "There are no tasks matching the current criteria."
+msgstr "¨S¦³¨Æ¶µ²Å¦X³oÓ·j´M±ø¥ó."
+
+#: task.php:225
+#, php-format
+msgid "There was a problem completing %s: %s"
+msgstr "¼Ð°O %s: %s ¬°§¹¦¨®Éµo¥Í¤@Ó°ÝÃD"
+
+#: task.php:29
+#, php-format
+msgid "There was a problem deleting %s: %s"
+msgstr "§R°£ %s: %s ®Éµo¥Í¤@Ó°ÝÃD"
+
+#: task.php:192
+#, php-format
+msgid "There was a problem saving the task: %s."
+msgstr "Àx¦s«Ý¿ì¨Æ¶µ®Éµo¥Í¿ù»~: %s."
+
+#: data.php:196
+#, php-format
+msgid "There was an error importing the data: %s"
+msgstr "¶×¤J¸ê®Æ: %s ®Éµo¥Í¤@Ó¿ù»~."
+
+#: lib/api.php:397 lib/api.php:716 lib/api.php:988
+msgid "There was an error importing the iCalendar data."
+msgstr "¶×¤J iCalendar ¸ê®Æ®Éµo¥Í¤@Ó¿ù»~."
+
+#: data.php:80
+msgid "There were no tasks to export."
+msgstr "¨S¦³«Ý¿ì¨Æ¶µ³Q¶×¥X."
+
+#: data.php:126
+msgid "This file format is not supported."
+msgstr "¦¹ºØÀɮ׮榡¨Ã¥¼³Q¤ä´©."
+
+#: tasklists/delete.php:24
+msgid "This task list cannot be deleted."
+msgstr "¦¹«Ý¿ìïµLªk³Q§R°£."
+
+#: templates/tasklist_info.php:7
+msgid "To subscribe to this task list from another program, use this URL: "
+msgstr "±ý¸g¥Ñ¨ä¥Lµ{¦¡q¾\¦¹«Ý¿ìï, ½Ð¨Ï¥Î³oÓºô§}: "
+
+#: lib/Forms/DeleteTaskList.php:63
+#, php-format
+msgid "Unable to delete \"%s\": %s"
+msgstr "µLªk§R°£ \"%s\": %s"
+
+#: lib/Driver.php:140
+#, php-format
+msgid "Unable to load the definition of %s."
+msgstr "µLªk¸ü¤J %s ªº©w¸q."
+
+#: lib/Forms/EditTaskList.php:55
+#, php-format
+msgid "Unable to save task list \"%s\": %s"
+msgstr "µLªkÀx¦s«Ý¿ìï \"%s\": %s"
+
+#: templates/view/task.inc:9 templates/list/task_summaries.inc:62
+#: lib/Nag.php:850 lib/Nag.php:851 lib/Nag.php:865 lib/Nag.php:866
+#: lib/Forms/task.php:81 lib/Block/summary.php:31 lib/Block/summary.php:222
+msgid "Unfiled"
+msgstr "¥¼¤ÀÃþ"
+
+#: lib/api.php:502 lib/api.php:789 lib/api.php:847 lib/api.php:901
+#: lib/api.php:1026
+#, php-format
+msgid "Unsupported Content-Type: %s"
+msgstr "¥¼¤ä´©ªº¤º®e«¬ºA: %s"
+
+#: lib/Driver.php:1084
+#, php-format
+msgid ""
+"We would like to remind you of this due task.\n"
+"\n"
+"%s\n"
+"\n"
+"Date: %s\n"
+"Time: %s\n"
+"\n"
+"%s"
+msgstr ""
+"§ÚÌ·Qn³qª¾§A,³oÓ§Y±N¨ì¨Óªº¨Æ¶µ.\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"¤é´Á: %s\n"
+"®É¶¡: %s\n"
+"\n"
+"%s"
+
+#: lib/Nag.php:408 lib/UI/VarRenderer/nag.php:136
+msgid "Week(s)"
+msgstr "¶g"
+
+#: templates/prefs/defaultduetimeselect.inc:6
+msgid "What do you want to be the default due time for tasks?"
+msgstr "¨Æ¶µªº¹w³]¨ì´Á®É¶¡?"
+
+#: config/prefs.php.dist:146
+msgid ""
+"When creating a new task, how many days in the future should the default due "
+"date be (0 means today)?"
+msgstr "·í«Ø¥ß·s¨Æ¶µ®É,¥Ñ·í¤Ñ°_ºâªº¦h¤Ö¤Ñ¼Æ¬°¹w³]ªº¨ì´Á¤é (0 ªí¥Ü·í¤Ñ)?"
+
+#: config/prefs.php.dist:137
+msgid "When creating a new task, should it default to having a due date?"
+msgstr "·í«Ø¥ß·s¨Æ¶µ®É,¹w³]¦³¨ì´Á¤é?"
+
+#: templates/data/import.inc:21
+msgid "Which tasklist should the tasks be added to?"
+msgstr "n±N¨Æ¶µ¼W¥[¦Üþ¤@¥»«Ý¿ì襤©O?"
+
+#: lib/UI/VarRenderer/nag.php:53 lib/UI/VarRenderer/nag.php:102
+msgid "Year"
+msgstr "¦~"
+
+#: tasklists/edit.php:28
+msgid "You are not allowed to change this task list."
+msgstr "§A¨S¦³Åܧ󦹫ݿì諸Åv."
+
+#: data.php:41 data.php:151 task.php:61
+#, php-format
+msgid "You are not allowed to create more than %d tasks."
+msgstr "§A¨S¦³«Ø¥ß¶W¹L %d ӨƶµªºÅv."
+
+#: tasklists/delete.php:35
+msgid "You are not allowed to delete this task list."
+msgstr "§A¨S¦³§R°£¦¹«Ý¿ì諸Åv."
+
+#: view.php:52
+msgid "You do not have permission to view this tasklist."
+msgstr "§A¨S¦³¨¬°÷ªºÅvÀ˵ø¦¹«Ý¿ìï."
+
+#: lib/Nag.php:631
+msgid "You requested to be notified when tasks are added to your tasklists."
+msgstr "À³§Aªºn¨D,¨C·í§Aªº«Ý¿ìï³Q·s¼W¨Æ¶µ®Éµo°e³qª¾."
+
+#: lib/Nag.php:641
+msgid ""
+"You requested to be notified when tasks are deleted from your tasklists."
+msgstr "À³§Aªºn¨D,¨C·í§Aªº«Ý¿ìï³Q§R°£¨Æ¶µ®Éµo°e³qª¾."
+
+#: lib/Nag.php:636
+msgid "You requested to be notified when tasks are edited on your tasklists."
+msgstr "À³§Aªºn¨D,¨C·í§Aªº«Ý¿ìï³Q½s¿è¨Æ¶µ®Éµo°e³qª¾."
+
+#: templates/prefs/tasklistselect.inc:10
+msgid "Your default task list:"
+msgstr "§Aªº¹w³]«Ý¿ìï:"
+
+#: templates/panel.inc:65
+msgid "[Manage Task Lists]"
+msgstr "[ºÞ²z«Ý¿ìï]"
+
+#: templates/list/task_summaries.inc:46 lib/Block/summary.php:101
+#: lib/Block/summary.php:206
+msgid "[none]"
+msgstr "[µL]"
+
+#: templates/search/search.inc:25
+msgid "_All Tasks"
+msgstr "¥þ³¡_A"
+
+#: list.php:111
+msgid "_All tasks"
+msgstr "¥þ³¡_A"
+
+#: templates/search/search.inc:20
+msgid "_Category"
+msgstr "¤ÀÃþ_C"
+
+#: view.php:99
+msgid "_Complete"
+msgstr "§¹¦¨_C"
+
+#: list.php:114
+msgid "_Completed tasks"
+msgstr "¤w§¹¦¨_C"
+
+#: view.php:106
+msgid "_Delete"
+msgstr "§R°£_D"
+
+#: templates/search/search.inc:19
+msgid "_Description"
+msgstr "´yz_D"
+
+#: templates/list/task_headers.inc:50
+msgid "_Due Date"
+msgstr "¦³®Ä´Á_D"
+
+#: view.php:102
+msgid "_Edit"
+msgstr "½s¿è_E"
+
+#: list.php:113
+msgid "_Future tasks"
+msgstr "¥¼¨Ó_F"
+
+#: lib/Nag.php:553
+msgid "_Import/Export"
+msgstr "¶×¤J/¶×¥X_I"
+
+#: lib/Nag.php:540
+msgid "_List Tasks"
+msgstr "¦C¥X_L"
+
+#: lib/Nag.php:545
+msgid "_New Task"
+msgstr "·s¼W_N"
+
+#: lib/Nag.php:558
+msgid "_Print"
+msgstr "¦C¦L_P"
+
+#: lib/Nag.php:549
+msgid "_Search"
+msgstr "·j´M_S"
+
+#: templates/list/task_headers.inc:35
+msgid "_Task List"
+msgstr "«Ý¿ìï_T"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "am"
+msgstr "¦¤W"
+
+#: data.php:31
+msgid "iCalendar (vTodo)"
+msgstr "iCalendar (vTodo)"
+
+#: lib/Block/tree_menu.php:36
+#, php-format
+msgid "in %s"
+msgstr "©ó %s"
+
+#: lib/Nag.php:79
+msgid "no time"
+msgstr "µL®É¶¡"
+
+#: templates/prefs/defaultduetimeselect.inc:15
+msgid "pm"
+msgstr "¤U¤È"
+
+#: data.php:100 templates/data/export.inc:1
+msgid "tasks.csv"
+msgstr "tasks.csv"
+
+#: data.php:111
+msgid "tasks.ics"
+msgstr "tasks.ics"
--- /dev/null
+<?php
+
+require_once dirname(__FILE__) . '/lib/base.php';
+
+if ($quickText = Horde_Util::getPost('quickText')) {
+ $result = $registry->tasks->quickAdd($quickText);
+ if ($result) {
+ if (count($result) == 1) {
+ $notification->push(_("Added one task"), 'horde.success');
+ } else {
+ $notification->push(sprintf(_("Added %s tasks"), count($result)), 'horde.success');
+ }
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit(0);
+ } else {
+ Horde::fatal($result);
+ }
+}
--- /dev/null
+Deny from all
--- /dev/null
+#!/usr/bin/php
+<?php
+/**
+ * This script imports vTodo data into Nag tasklists.
+ * The data is read from standard input, the tasklist and user name passed as
+ * parameters.
+ *
+ * Copyright 2005-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jan Schneider <jan@horde.org>
+ */
+
+// Do CLI checks and environment setup first.
+require_once dirname(__FILE__) . '/../lib/base.load.php';
+require_once HORDE_BASE . '/lib/core.php';
+
+// Make sure no one runs this from the web.
+if (!Horde_Cli::runningFromCLI()) {
+ exit("Must be run from the command line\n");
+}
+
+// Load the CLI environment - make sure there's no time limit, init some
+// variables, etc.
+$cli = Horde_Cli::singleton();
+$cli->init();
+
+// Read command line parameters.
+if (count($argv) != 3) {
+ $cli->message('Too many or too few parameters.', 'cli.error');
+ usage();
+}
+$tasklist = $argv[1];
+$user = $argv[2];
+
+// Read standard input.
+$vtodo = $cli->readStdin();
+if (empty($vtodo)) {
+ $cli->message('No import data provided.', 'cli.error');
+ usage();
+}
+
+// Registry.
+$registry = Horde_Registry::singleton();
+
+// Set user.
+Horde_Auth::setAuth($user, array());
+
+// Import data.
+$result = $registry->call('tasks/import',
+ array($vtodo, 'text/calendar', $tasklist));
+if (is_a($result, 'PEAR_Error')) {
+ $cli->fatal($result->toString());
+}
+
+$cli->message('Imported successfully ' . count($result) . ' tasks', 'cli.success');
+
+function usage()
+{
+ $GLOBALS['cli']->writeln('Usage: import_vtodos.php tasklist user');
+ exit;
+}
+
--- /dev/null
+CREATE TABLE nag_tasks (
+ task_id VARCHAR(32) NOT NULL,
+ task_owner VARCHAR(255) NOT NULL,
+ task_creator VARCHAR(255) NOT NULL,
+ task_parent VARCHAR(255) NOT NULL,
+ task_assignee VARCHAR(255),
+ task_name VARCHAR(255) NOT NULL,
+ task_uid VARCHAR(255) NOT NULL,
+ task_desc VARCHAR(MAX),
+ task_start INT,
+ task_due INT,
+ task_priority INT DEFAULT 0 NOT NULL,
+ task_estimate FLOAT,
+ task_category VARCHAR(80),
+ task_completed SMALLINT DEFAULT 0 NOT NULL,
+ task_completed_date INT,
+ task_alarm INT DEFAULT 0 NOT NULL,
+ task_alarm_methods VARCHAR(MAX),
+ task_private SMALLINT DEFAULT 0 NOT NULL,
+--
+ PRIMARY KEY (task_id)
+);
+
+CREATE INDEX nag_tasklist_idx ON nag_tasks (task_owner);
+CREATE INDEX nag_uid_idx ON nag_tasks (task_uid);
+CREATE INDEX nag_start_idx ON nag_tasks (task_start);
+
+CREATE TABLE nag_shares (
+ share_id INT NOT NULL,
+ share_name VARCHAR(255) NOT NULL,
+ share_owner VARCHAR(255) NOT NULL,
+ share_flags SMALLINT NOT NULL DEFAULT 0,
+ perm_creator SMALLINT NOT NULL DEFAULT 0,
+ perm_default SMALLINT NOT NULL DEFAULT 0,
+ perm_guest SMALLINT NOT NULL DEFAULT 0,
+ attribute_name VARCHAR(255) NOT NULL,
+ attribute_desc VARCHAR(255),
+ PRIMARY KEY (share_id)
+);
+
+CREATE INDEX nag_shares_share_name_idx ON nag_shares (share_name);
+CREATE INDEX nag_shares_share_owner_idx ON nag_shares (share_owner);
+CREATE INDEX nag_shares_perm_creator_idx ON nag_shares (perm_creator);
+CREATE INDEX nag_shares_perm_default_idx ON nag_shares (perm_default);
+CREATE INDEX nag_shares_perm_guest_idx ON nag_shares (perm_guest);
+
+CREATE TABLE nag_shares_groups (
+ share_id INT NOT NULL,
+ group_uid VARCHAR(255) NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_groups_share_id_idx ON nag_shares_groups (share_id);
+CREATE INDEX nag_shares_groups_group_uid_idx ON nag_shares_groups (group_uid);
+CREATE INDEX nag_shares_groups_perm_idx ON nag_shares_groups (perm);
+
+CREATE TABLE nag_shares_users (
+ share_id INT NOT NULL,
+ user_uid VARCHAR(255) NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_users_share_id_idx ON nag_shares_users (share_id);
+CREATE INDEX nag_shares_users_user_uid_idx ON nag_shares_users (user_uid);
+CREATE INDEX nag_shares_users_perm_idx ON nag_shares_users (perm);
--- /dev/null
+CREATE TABLE nag_tasks (
+ task_id VARCHAR2(32) NOT NULL,
+ task_owner VARCHAR2(255) NOT NULL,
+ task_creator VARCHAR2(255) NOT NULL,
+ task_parent VARCHAR2(255) NOT NULL,
+ task_assignee VARCHAR2(255),
+ task_name VARCHAR2(255) NOT NULL,
+ task_uid VARCHAR2(255) NOT NULL,
+ task_desc CLOB,
+ task_start INT,
+ task_due INT,
+ task_priority INT DEFAULT 0 NOT NULL,
+ task_estimate FLOAT,
+ task_category VARCHAR2(80),
+ task_completed SMALLINT DEFAULT 0 NOT NULL,
+ task_completed_date INT,
+ task_alarm INT DEFAULT 0 NOT NULL,
+ task_alarm_methods CLOB,
+ task_private SMALLINT DEFAULT 0 NOT NULL,
+--
+ PRIMARY KEY (task_id)
+);
+
+CREATE INDEX nag_tasklist_idx ON nag_tasks (task_owner);
+CREATE INDEX nag_uid_idx ON nag_tasks (task_uid);
+CREATE INDEX nag_start_idx ON nag_tasks (task_start);
+
+CREATE TABLE nag_shares (
+ share_id INT NOT NULL,
+ share_name VARCHAR2(255) NOT NULL,
+ share_owner VARCHAR2(25) NOT NULL,
+ share_flags SMALLINT NOT NULL DEFAULT 0,
+ perm_creator SMALLINT NOT NULL DEFAULT 0,
+ perm_default SMALLINT NOT NULL DEFAULT 0,
+ perm_guest SMALLINT NOT NULL DEFAULT 0,
+ attribute_name VARCHAR2(255) NOT NULL,
+ attribute_desc VARCHAR2(255),
+ PRIMARY KEY (share_id)
+);
+
+CREATE INDEX nag_shares_share_name_idx ON nag_shares (share_name);
+CREATE INDEX nag_shares_share_owner_idx ON nag_shares (share_owner);
+CREATE INDEX nag_shares_perm_creator_idx ON nag_shares (perm_creator);
+CREATE INDEX nag_shares_perm_default_idx ON nag_shares (perm_default);
+CREATE INDEX nag_shares_perm_guest_idx ON nag_shares (perm_guest);
+
+CREATE TABLE nag_shares_groups (
+ share_id INT NOT NULL,
+ group_uid VARCHAR(255) NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_groups_share_id_idx ON nag_shares_groups (share_id);
+CREATE INDEX nag_shares_groups_group_uid_idx ON nag_shares_groups (group_uid);
+CREATE INDEX nag_shares_groups_perm_idx ON nag_shares_groups (perm);
+
+CREATE TABLE nag_shares_users (
+ share_id INT NOT NULL,
+ user_uid VARCHAR2(255) NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_users_share_id_idx ON nag_shares_users (share_id);
+CREATE INDEX nag_shares_users_user_uid_idx ON nag_shares_users (user_uid);
+CREATE INDEX nag_shares_users_perm_idx ON nag_shares_users (perm);
--- /dev/null
+CREATE TABLE nag_tasks (
+ task_id VARCHAR(32) NOT NULL,
+ task_owner VARCHAR(255) NOT NULL,
+ task_creator VARCHAR(255) NOT NULL,
+ task_parent VARCHAR(255) NOT NULL,
+ task_assignee VARCHAR(255),
+ task_name VARCHAR(255) NOT NULL,
+ task_uid VARCHAR(255) NOT NULL,
+ task_desc TEXT,
+ task_start INT,
+ task_due INT,
+ task_priority INT DEFAULT 0 NOT NULL,
+ task_estimate FLOAT,
+ task_category VARCHAR(80),
+ task_completed SMALLINT DEFAULT 0 NOT NULL,
+ task_completed_date INT,
+ task_alarm INT DEFAULT 0 NOT NULL,
+ task_alarm_methods TEXT,
+ task_private SMALLINT DEFAULT 0 NOT NULL,
+--
+ PRIMARY KEY (task_id)
+);
+
+CREATE INDEX nag_tasklist_idx ON nag_tasks (task_owner);
+CREATE INDEX nag_uid_idx ON nag_tasks (task_uid);
+CREATE INDEX nag_start_idx ON nag_tasks (task_start);
+
+CREATE TABLE nag_shares (
+ share_id INT NOT NULL,
+ share_name VARCHAR(255) NOT NULL,
+ share_owner VARCHAR(255) NOT NULL,
+ share_flags SMALLINT NOT NULL DEFAULT 0,
+ perm_creator SMALLINT NOT NULL DEFAULT 0,
+ perm_default SMALLINT NOT NULL DEFAULT 0,
+ perm_guest SMALLINT NOT NULL DEFAULT 0,
+ attribute_name VARCHAR(255) NOT NULL,
+ attribute_desc VARCHAR(255),
+ PRIMARY KEY (share_id)
+);
+
+CREATE INDEX nag_shares_share_name_idx ON nag_shares (share_name);
+CREATE INDEX nag_shares_share_owner_idx ON nag_shares (share_owner);
+CREATE INDEX nag_shares_perm_creator_idx ON nag_shares (perm_creator);
+CREATE INDEX nag_shares_perm_default_idx ON nag_shares (perm_default);
+CREATE INDEX nag_shares_perm_guest_idx ON nag_shares (perm_guest);
+
+CREATE TABLE nag_shares_groups (
+ share_id INT NOT NULL,
+ group_uid VARCHAR(255) NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_groups_share_id_idx ON nag_shares_groups (share_id);
+CREATE INDEX nag_shares_groups_group_uid_idx ON nag_shares_groups (group_uid);
+CREATE INDEX nag_shares_groups_perm_idx ON nag_shares_groups (perm);
+
+CREATE TABLE nag_shares_users (
+ share_id INT NOT NULL,
+ user_uid VARCHAR(255) NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_users_share_id_idx ON nag_shares_users (share_id);
+CREATE INDEX nag_shares_users_user_uid_idx ON nag_shares_users (user_uid);
+CREATE INDEX nag_shares_users_perm_idx ON nag_shares_users (perm);
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<database>
+
+ <name><variable>name</variable></name>
+ <create>false</create>
+ <overwrite>false</overwrite>
+
+ <table>
+
+ <name>nag_tasks</name>
+
+ <declaration>
+
+ <field>
+ <name>task_id</name>
+ <type>text</type>
+ <length>32</length>
+ <notnull>true</notnull>
+ </field>
+
+ <field>
+ <name>task_owner</name>
+ <type>text</type>
+ <length>255</length>
+ <notnull>true</notnull>
+ </field>
+
+ <field>
+ <name>task_creator</name>
+ <type>text</type>
+ <length>255</length>
+ <notnull>true</notnull>
+ </field>
+
+ <field>
+ <name>task_parent</name>
+ <type>text</type>
+ <length>32</length>
+ <notnull>true</notnull>
+ </field>
+
+ <field>
+ <name>task_assignee</name>
+ <type>text</type>
+ <length>255</length>
+ </field>
+
+ <field>
+ <name>task_name</name>
+ <type>text</type>
+ <length>255</length>
+ <notnull>true</notnull>
+ </field>
+
+ <field>
+ <name>task_uid</name>
+ <type>text</type>
+ <length>255</length>
+ <notnull>true</notnull>
+ </field>
+
+ <field>
+ <name>task_desc</name>
+ <type>clob</type>
+ </field>
+
+ <field>
+ <name>task_start</name>
+ <type>integer</type>
+ </field>
+
+ <field>
+ <name>task_due</name>
+ <type>integer</type>
+ </field>
+
+ <field>
+ <name>task_priority</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ <default>0</default>
+ </field>
+
+ <field>
+ <name>task_estimate</name>
+ <type>float</type>
+ </field>
+
+ <field>
+ <name>task_category</name>
+ <type>text</type>
+ <length>80</length>
+ </field>
+
+ <field>
+ <name>task_completed</name>
+ <type>integer</type>
+ <length>1</length>
+ <notnull>true</notnull>
+ <default>0</default>
+ </field>
+
+ <field>
+ <name>task_completed_date</name>
+ <type>integer</type>
+ </field>
+
+ <field>
+ <name>task_alarm</name>
+ <type>integer</type>
+ <unsigned>false</unsigned>
+ <notnull>true</notnull>
+ <default>0</default>
+ </field>
+
+ <field>
+ <name>task_alarm_methods</name>
+ <type>clob</type>
+ </field>
+
+ <field>
+ <name>task_private</name>
+ <type>integer</type>
+ <length>1</length>
+ <notnull>true</notnull>
+ <default>0</default>
+ </field>
+
+ <index>
+ <name>nag_primary</name>
+ <primary>true</primary>
+ <field>
+ <name>task_id</name>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_tasklist</name>
+ <field>
+ <name>task_owner</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_uid</name>
+ <field>
+ <name>task_uid</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_start</name>
+ <field>
+ <name>task_start</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ </declaration>
+
+ </table>
+
+ <table>
+
+ <name>nag_shares</name>
+
+ <declaration>
+
+ <field>
+ <name>share_id</name>
+ <type>integer</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>4</length>
+ </field>
+
+ <field>
+ <name>share_name</name>
+ <type>text</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>255</length>
+ </field>
+
+ <field>
+ <name>share_owner</name>
+ <type>text</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>255</length>
+ </field>
+
+ <field>
+ <name>share_flags</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ <length>2</length>
+ </field>
+
+ <field>
+ <name>perm_creator</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ <length>2</length>
+ </field>
+
+ <field>
+ <name>perm_default</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ <length>2</length>
+ </field>
+
+ <field>
+ <name>perm_guest</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ <length>2</length>
+ </field>
+
+ <field>
+ <name>attribute_name</name>
+ <type>text</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>255</length>
+ </field>
+
+ <field>
+ <name>attribute_desc</name>
+ <type>text</type>
+ <default></default>
+ <notnull>false</notnull>
+ <length>255</length>
+ </field>
+
+ <index>
+ <name>nag_shares_share_name</name>
+ <field>
+ <name>share_name</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_share_owner</name>
+ <field>
+ <name>share_owner</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_perm_creator</name>
+ <field>
+ <name>perm_creator</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_perm_default</name>
+ <field>
+ <name>perm_default</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_perm_guest</name>
+ <field>
+ <name>perm_guest</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_pKey</name>
+ <primary>true</primary>
+ <field>
+ <name>share_id</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ </declaration>
+
+ </table>
+
+ <table>
+
+ <name>nag_shares_groups</name>
+
+ <declaration>
+
+ <field>
+ <name>share_id</name>
+ <type>integer</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>4</length>
+ </field>
+
+ <field>
+ <name>group_uid</name>
+ <type>text</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>255</length>
+ </field>
+
+ <field>
+ <name>perm</name>
+ <type>integer</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>2</length>
+ </field>
+
+ <index>
+ <name>nag_shares_groups_share_id</name>
+ <field>
+ <name>share_id</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_groups_group_uid</name>
+ <field>
+ <name>group_uid</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_groups_perm</name>
+ <field>
+ <name>perm</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ </declaration>
+
+ </table>
+
+ <table>
+
+ <name>nag_shares_users</name>
+
+ <declaration>
+
+ <field>
+ <name>share_id</name>
+ <type>integer</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>4</length>
+ </field>
+
+ <field>
+ <name>user_uid</name>
+ <type>text</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>255</length>
+ </field>
+
+ <field>
+ <name>perm</name>
+ <type>integer</type>
+ <default></default>
+ <notnull>true</notnull>
+ <length>2</length>
+ </field>
+
+ <index>
+ <name>nag_shares_users_share_id</name>
+ <field>
+ <name>share_id</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_users_user_uid</name>
+ <field>
+ <name>user_uid</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ <index>
+ <name>nag_shares_users_perm</name>
+ <field>
+ <name>perm</name>
+ <sorting>ascending</sorting>
+ </field>
+ </index>
+
+ </declaration>
+
+ </table>
+
+</database>
--- /dev/null
+-- You can simply execute this file in your database.
+--
+-- Run as:
+--
+-- $ mysql --user=root --password=<MySQL-root-password> <db name> < 1.1_to_2.0.mysql.sql
+
+ALTER TABLE nag_tasks DROP COLUMN task_modified;
+
+ALTER TABLE nag_tasks CHANGE COLUMN task_category task_category VARCHAR(80);
+ALTER TABLE nag_tasks CHANGE COLUMN task_id task_id VARCHAR(32) NOT NULL;
+ALTER TABLE nag_tasks CHANGE COLUMN task_private task_private SMALLINT DEFAULT 0 NOT NULL;
+
+ALTER TABLE nag_tasks ADD COLUMN task_uid VARCHAR(255) NOT NULL;
+ALTER TABLE nag_tasks ADD COLUMN task_alarm INT NOT NULL;
+
+ALTER TABLE nag_tasks ADD INDEX nag_tasklist_idx (task_owner);
+ALTER TABLE nag_tasks ADD INDEX nag_uid_idx (task_uid);
+
+UPDATE nag_tasks SET task_id = CONCAT(task_owner, task_id);
+UPDATE nag_tasks SET task_uid = CONCAT('nag:', task_id) WHERE task_id NOT LIKE 'nag:%';
+
+ALTER TABLE nag_tasks DROP PRIMARY KEY;
+ALTER TABLE nag_tasks ADD PRIMARY KEY (task_id);
--- /dev/null
+ALTER TABLE nag_tasks DROP COLUMN task_modified;
+
+ALTER TABLE nag_tasks ADD task_category_new VARCHAR2(80);
+UPDATE nag_tasks SET task_category_new = task_category;
+ALTER TABLE nag_tasks DROP COLUMN task_category;
+ALTER TABLE nag_tasks RENAME COLUMN task_category_new TO task_category;
+
+ALTER TABLE nag_tasks MODIFY task_name VARCHAR2(255);
+ALTER TABLE nag_tasks MODIFY task_private INT DEFAULT 0;
+
+ALTER TABLE nag_tasks ADD task_uid VARCHAR2(255);
+ALTER TABLE nag_tasks ADD task_alarm INT DEFAULT 0 NOT NULL;
+
+CREATE INDEX nag_tasklist_idx ON nag_tasks (task_owner);
+CREATE INDEX nag_uid_idx ON nag_tasks (task_uid);
+
+ALTER TABLE nag_tasks ADD task_id_new VARCHAR2(32);
+UPDATE nag_tasks SET task_id_new = task_id;
+ALTER TABLE nag_tasks ADD task_owner_new VARCHAR2(255);
+UPDATE nag_tasks SET task_owner_new = task_owner;
+ALTER TABLE nag_tasks DROP (task_id, task_owner);
+ALTER TABLE nag_tasks RENAME COLUMN task_id_new to task_id;
+ALTER TABLE nag_tasks RENAME COLUMN task_owner_new to task_owner;
+
+UPDATE nag_tasks SET task_id = CONCAT(task_owner, task_id);
+UPDATE nag_tasks SET task_uid = CONCAT('nag:', task_id) WHERE task_id NOT LIKE 'nag:%';
+
+ALTER TABLE nag_tasks ADD CONSTRAINT task_id PRIMARY KEY (task_id);
--- /dev/null
+-- Update script to update nag 1.1 data to 2.x data for pgsql
+-- Converted from mysql version by Daniel E. Markle <lexicon@seul.org>
+--
+-- You can simply execute this file in your database.
+--
+-- Run as:
+--
+-- $ psql <db name> -f < 1.1_to_2.0.pgsql.sql
+
+ALTER TABLE nag_tasks DROP COLUMN task_modified;
+
+BEGIN;
+ALTER TABLE nag_tasks ADD COLUMN task_category_new VARCHAR(80);
+UPDATE nag_tasks SET task_category_new = task_category;
+ALTER TABLE nag_tasks DROP task_category;
+ALTER TABLE nag_tasks RENAME task_category_new TO task_category;
+COMMIT;
+
+BEGIN;
+ALTER TABLE nag_tasks ADD COLUMN task_id_new VARCHAR(32);
+UPDATE nag_tasks SET task_id_new = task_id;
+ALTER TABLE nag_tasks DROP task_id;
+ALTER TABLE nag_tasks RENAME task_id_new TO task_id;
+ALTER TABLE nag_tasks ALTER COLUMN task_id SET NOT NULL;
+COMMIT;
+
+BEGIN;
+ALTER TABLE nag_tasks ADD COLUMN task_private_new SMALLINT;
+UPDATE nag_tasks SET task_private_new = task_private;
+ALTER TABLE nag_tasks DROP task_private;
+ALTER TABLE nag_tasks RENAME task_private_new TO task_private;
+ALTER TABLE nag_tasks ALTER COLUMN task_private SET NOT NULL;
+ALTER TABLE nag_tasks ALTER COLUMN task_private SET DEFAULT 0;
+COMMIT;
+
+BEGIN;
+ALTER TABLE nag_tasks ADD COLUMN task_uid VARCHAR(255);
+UPDATE nag_tasks SET task_uid = '';
+ALTER TABLE nag_tasks ALTER COLUMN task_uid SET NOT NULL;
+COMMIT;
+
+BEGIN;
+ALTER TABLE nag_tasks ADD COLUMN task_alarm INT;
+UPDATE nag_tasks SET task_alarm = 0;
+ALTER TABLE nag_tasks ALTER COLUMN task_alarm SET NOT NULL;
+COMMIT;
+
+ALTER TABLE nag_tasks ADD INDEX nag_tasklist_idx (task_owner);
+ALTER TABLE nag_tasks ADD INDEX nag_uid_idx (task_uid);
+
+UPDATE nag_tasks SET task_id = task_owner || task_id;
+UPDATE nag_tasks SET task_uid = 'nag:' || task_id WHERE task_id NOT LIKE 'nag:%';
+
+-- this assumes the default constraint name was used at table creation time
+ALTER TABLE nag_tasks DROP CONSTRAINT nag_tasks_pkey;
+ALTER TABLE nag_tasks ADD CONSTRAINT nag_tasks_pkey PRIMARY KEY (task_id);
+
+CREATE INDEX nag_uid_idx ON nag_tasks (task_uid);
--- /dev/null
+ALTER TABLE nag_tasks ADD task_estimate FLOAT;
+ALTER TABLE nag_tasks ADD task_completed_date INT;
+ALTER TABLE nag_tasks ADD task_start INT;
+ALTER TABLE nag_tasks ADD task_parent VARCHAR(32) DEFAULT '' NOT NULL;
+
+CREATE INDEX nag_start_idx ON nag_tasks (task_start);
+
+CREATE TABLE nag_shares (
+ share_id INT NOT NULL,
+ share_name VARCHAR(255) NOT NULL,
+ share_owner VARCHAR(32) NOT NULL,
+ share_flags SMALLINT NOT NULL DEFAULT 0,
+ perm_creator SMALLINT NOT NULL DEFAULT 0,
+ perm_default SMALLINT NOT NULL DEFAULT 0,
+ perm_guest SMALLINT NOT NULL DEFAULT 0,
+ attribute_name VARCHAR(255) NOT NULL,
+ attribute_desc VARCHAR(255),
+ PRIMARY KEY (share_id)
+);
+
+CREATE INDEX nag_shares_share_name_idx ON nag_shares (share_name);
+CREATE INDEX nag_shares_share_owner_idx ON nag_shares (share_owner);
+CREATE INDEX nag_shares_perm_creator_idx ON nag_shares (perm_creator);
+CREATE INDEX nag_shares_perm_default_idx ON nag_shares (perm_default);
+CREATE INDEX nag_shares_perm_guest_idx ON nag_shares (perm_guest);
+
+CREATE TABLE nag_shares_groups (
+ share_id INT NOT NULL,
+ group_uid INT NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_groups_share_id_idx ON nag_shares_groups (share_id);
+CREATE INDEX nag_shares_groups_group_uid_idx ON nag_shares_groups (group_uid);
+CREATE INDEX nag_shares_groups_perm_idx ON nag_shares_groups (perm);
+
+CREATE TABLE nag_shares_users (
+ share_id INT NOT NULL,
+ user_uid VARCHAR(32) NOT NULL,
+ perm SMALLINT NOT NULL
+);
+
+CREATE INDEX nag_shares_users_share_id_idx ON nag_shares_users (share_id);
+CREATE INDEX nag_shares_users_user_uid_idx ON nag_shares_users (user_uid);
+CREATE INDEX nag_shares_users_perm_idx ON nag_shares_users (perm);
--- /dev/null
+ALTER TABLE nag_shares ALTER share_owner TYPE VARCHAR(255);
+ALTER TABLE nag_shares_users ALTER user_uid TYPE VARCHAR(255);
+ALTER TABLE nag_shares_groups ALTER group_uid TYPE VARCHAR(255);
--- /dev/null
+ALTER TABLE nag_shares CHANGE share_owner share_owner VARCHAR(255);
+ALTER TABLE nag_shares_users CHANGE user_uid user_uid VARCHAR(255);
+ALTER TABLE nag_shares_groups CHANGE group_uid group_uid VARCHAR(255);
--- /dev/null
+-- You can simply execute this file in your database.
+
+ALTER TABLE nag_tasks ADD task_estimate FLOAT;
--- /dev/null
+#!/usr/bin/php
+<?php
+/**
+ * This script adds and fills the creator and assignee fields in the Nag task
+ * table.
+ *
+ * Copyright 2006-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jan Schneider <jan@horde.org>
+ */
+
+// Do CLI checks and environment setup first.
+require_once dirname(__FILE__) . '/../../lib/base.load.php';
+require_once HORDE_BASE . '/lib/core.php';
+
+// Make sure no one runs this from the web.
+if (!Horde_Cli::runningFromCLI()) {
+ exit("Must be run from the command line\n");
+}
+
+// Load the CLI environment - make sure there's no time limit, init some
+// variables, etc.
+Horde_Cli::init();
+
+$nag_authentication = 'none';
+require_once NAG_BASE . '/lib/base.php';
+
+if ($conf['storage']['driver'] != 'sql') {
+ exit('No conversion for drivers other than SQL currently.');
+}
+
+$storage = Nag_Driver::singleton('');
+$storage->initialize();
+$db = &$storage->_db;
+
+// Add db fields. We don't check for success/failure here in case someone did
+// this manually.
+$result = $db->query('ALTER TABLE nag_tasks ADD task_creator VARCHAR(255)');
+if (is_a($result, 'PEAR_Error')) {
+ echo $result->toString() . "\n";
+}
+$result = $db->query('ALTER TABLE nag_tasks ADD task_assignee VARCHAR(255)');
+if (is_a($result, 'PEAR_Error')) {
+ echo $result->toString() . "\n";
+}
+
+// Run through every tasklist.
+$sql = 'UPDATE nag_tasks SET task_creator = ? WHERE task_id = ? AND task_owner = ?';
+$sth = $db->prepare($sql);
+$tasklists = $nag_shares->listAllShares();
+foreach ($tasklists as $tasklist => $share) {
+ echo "Storing task creators for $tasklist ...\n";
+
+ // List all tasks.
+ $tasks = Nag::listTasks(null, null, null, $tasklist, 1);
+ $owner = $share->get('owner');
+
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ $values = array($owner, $task->id, $task->tasklist);
+ $result = $db->execute($sth, $values);
+ if (is_a($result, 'PEAR_Error')) {
+ Horde::fatal($result, __FILE__, __LINE__);
+ }
+ }
+}
+
+echo "\n** Creators successfully stored. ***\n";
+
+echo "\n** Please manually apply NOT NULL constraint to 'task_creator' column. ***\n";
--- /dev/null
+-- You can simply execute this file in your database.
+
+ALTER TABLE nag_tasks ADD task_completed_date INT;
--- /dev/null
+ALTER TABLE nag_tasks ADD task_start INT;
+CREATE INDEX nag_start_idx ON nag_tasks (task_start);
--- /dev/null
+ALTER TABLE nag_tasks ADD task_parent VARCHAR(32) DEFAULT '' NOT NULL;
--- /dev/null
+ALTER TABLE nag_shares CHANGE share_owner share_owner VARCHAR(255);
+ALTER TABLE nag_shares_users CHANGE user_uid user_uid VARCHAR(255);
\ No newline at end of file
--- /dev/null
+ALTER TABLE nag_shares_groups CHANGE group_uid group_uid VARCHAR(255);
--- /dev/null
+ALTER TABLE nag_tasks ADD task_alarm_methods VARCHAR(MAX);
--- /dev/null
+ALTER TABLE nag_tasks ADD task_alarm_methods CLOB;
--- /dev/null
+ALTER TABLE nag_tasks ADD task_alarm_methods TEXT;
--- /dev/null
+#!/usr/bin/env php
+<?php
+/**
+ * This script migrates Nag's share data from the datatree Horde_Share
+ * driver to the new SQL Horde_Share driver. You should run the 2.1_to_2.2.sql
+ * upgrade script before executing this script.
+ */
+
+/* Set up the CLI environment */
+require_once dirname(__FILE__) . '/../../lib/base.load.php';
+require_once HORDE_BASE . '/lib/core.php';
+if (!Horde_Cli::runningFromCli()) {
+ exit("Must be run from the command line\n");
+}
+$cli = Horde_Cli::singleton();
+$cli->init();
+
+/* Grab what we need to steal the DB config */
+require_once HORDE_BASE . '/config/conf.php';
+
+$config = $GLOBALS['conf']['sql'];
+unset($config['charset']);
+$db = MDB2::factory($config);
+$db->setOption('seqcol_name', 'id');
+
+$error_cnt = 0;
+$delete_dt_data = false;
+$answer = $cli->prompt('Do you want to keep your old datatree data or delete it?', array('Keep', 'Delete'));
+if ($answer == 1) {
+ $delete_dt_data = true;
+}
+$answer = $cli->prompt(sprintf("Data will be copied into the new tables, and %s be deleted from the datatree.\n Is this what you want?", $delete_dt_data ? 'WILL' : 'WILL NOT'), array('y' => 'Yes', 'n' => 'No'));
+if ($answer != 'y') {
+ exit;
+}
+
+/* Get the share entries */
+$shares_result = $db->query('SELECT datatree_id, datatree_name FROM horde_datatree WHERE group_uid = \'horde.shares.nag\'');
+if (is_a($shares_result, 'PEAR_Error')) {
+ die($shares_result->toString());
+}
+
+$query = $db->prepare('SELECT attribute_name, attribute_key, attribute_value FROM horde_datatree_attributes WHERE datatree_id = ?');
+while ($row = $shares_result->fetchRow(MDB2_FETCHMODE_ASSOC)) {
+ $share_id = $row['datatree_id'];
+ $share_name = $row['datatree_name'];
+
+ /* Build an array to hold the new row data */
+ $nextId = $db->nextId('nag_shares');
+ if (is_a($nextId, 'PEAR_Error')) {
+ $cli->message($nextId->toString(), 'cli.error');
+ $error_cnt++;
+ continue;
+ }
+ $data = array('share_id' => $nextId,
+ 'share_name' => $share_name);
+
+ $query_result = $query->execute($share_id);
+ $rows = $query_result->fetchAll(MDB2_FETCHMODE_ASSOC);
+ $users = array();
+ $groups = array();
+
+ foreach ($rows as $row) {
+ if ($row['attribute_name'] == 'perm_groups') {
+ /* Group table entry */
+ $groups[] = array('share_id' => $data['share_id'],
+ 'group_uid' => $row['attribute_key'],
+ 'perm' => $row['attribute_value']);
+ } elseif ($row['attribute_name'] == 'perm_users') {
+ /* User table entry */
+ $users[] = array('share_id' => $data['share_id'],
+ 'user_uid' => $row['attribute_key'],
+ 'perm' => $row['attribute_value']);
+ } else {
+ /* Everything else goes in the main share table */
+ switch ($row['attribute_name']) {
+ case 'perm_creator':
+ case 'perm_default':
+ case 'perm_guest':
+ $data[$row['attribute_name']] = $row['attribute_value'];
+ break;
+
+ case 'owner':
+ $data['share_owner'] = $row['attribute_value'];
+ break;
+
+ case 'name':
+ // Note the key to the $data array is not related to
+ // the attribute_name field in the dt_attributes table.
+ $data['attribute_name'] = $row['attribute_value'];
+ break;
+
+ case 'desc':
+ $data['attribute_desc'] = $row['attribute_value'];
+ break;
+ }
+ }
+ }
+
+ /* Set flags */
+ $data['share_flags'] = 0;
+ if (count($users)) {
+ $data['share_flags'] |= 1;
+ }
+ if (count($groups)) {
+ $data['share_flags'] |= 2;
+ }
+
+ /* Insert the new data */
+ $cli->message('Migrating share data for share_id: ' . $share_id, 'cli.message');
+ $error = false;
+ $db->beginTransaction();
+ $result = insertData('nag_shares', $data);
+ if (is_a($result, 'PEAR_Error')) {
+ $cli->message($result->toString(), 'cli.error');
+ $error = true;
+ }
+ if (count($groups)) {
+ foreach ($groups as $group) {
+ $result = insertData('nag_shares_groups', $group);
+ if (is_a($result, 'PEAR_Error')) {
+ $cli->message($result->toString(), 'cli.error');
+ $error = true;
+ }
+ }
+ }
+ if (count($users)) {
+ foreach ($users as $user) {
+ $result = insertData('nag_shares_users', $user);
+ if (is_a($result, 'PEAR_Error')) {
+ $cli->message($result->toString(), 'cli.error');
+ $error = true;
+ }
+ }
+ }
+
+ /* Delete the datatree data, but ONLY if it was requested */
+ if ($delete_dt_data && !$error) {
+ $cli->message('DELETING datatree data for share_id: ' . $share_id, 'cli.message');
+ $delete = $db->prepare('DELETE FROM horde_datatree_attributes WHERE datatree_id = ?', null, MDB2_PREPARE_MANIP);
+ if (is_a($delete, 'PEAR_Error')) {
+ $cli->message($delete->toString(), 'cli.error');
+ $error = true;
+ } else {
+ $delete_result = $delete->execute(array($share_id));
+ if (is_a($delete_result, 'PEAR_Error')) {
+ $cli->message($delete_result->toString(), 'cli.error');
+ $error = true;
+ }
+ }
+ $delete->free();
+
+ $delete = $db->prepare('DELETE FROM horde_datatree WHERE datatree_id = ?', null, MDB2_PREPARE_MANIP);
+ if (is_a($delete, 'PEAR_Error')) {
+ $cli->message($delete->toString(), 'cli.error');
+ $error = true;
+ } else {
+ $delete_result = $delete->execute(array($share_id));
+ if (is_a($delete_result, 'PEAR_Error')) {
+ $cli->message($delete_result->toString(), 'cli.error');
+ $error = true;
+ }
+ }
+ $delete->free();
+ }
+
+ /* Cleanup */
+ $query_result->free();
+ unset($row, $rows, $data, $groups, $users);
+ if ($error) {
+ $db->rollback();
+ $cli->message('Rollback for share data for share_id: ' . $share_id, 'cli.message');
+ ++$error_cnt;
+ } else {
+ $db->commit();
+ $cli->message('Commit for share data for share_id: ' . $share_id, 'cli.message');
+ }
+}
+if ($error_cnt) {
+ $cli->message(sprintf("Encountered %u errors.", $error_cnt));
+}
+echo "\nDone.\n";
+
+/**
+ * Helper function
+ */
+function insertData($table, $data)
+{
+ $fields = array_keys($data);
+ $values = array_values($data);
+
+ $insert = $GLOBALS['db']->prepare('INSERT INTO ' . $table . ' (' . implode(', ', $fields) . ') VALUES (' . str_repeat('?, ', count($values) - 1) . '?)',
+ null, MDB2_PREPARE_MANIP);
+ if (is_a($insert,'PEAR_Error')) {
+ return $insert;
+ }
+ $insert_result = $insert->execute($values);
+ $insert->free();
+ return $insert_result;
+}
--- /dev/null
+#!/usr/bin/php
+<?php
+/**
+ * Copyright 2005-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ */
+
+// Do CLI checks and environment setup first.
+require_once dirname(__FILE__) . '/../../lib/base.load.php';
+require_once HORDE_BASE . '/lib/core.php';
+
+// Make sure no one runs this from the web.
+if (!Horde_Cli::runningFromCLI()) {
+ exit("Must be run from the command line\n");
+}
+
+// Load the CLI environment - make sure there's no time limit, init some
+// variables, etc.
+$cli = Horde_Cli::singleton();
+$cli->init();
+
+$nag_authentication = 'none';
+require_once NAG_BASE . '/lib/base.php';
+
+$history = Horde_History::singleton();
+
+// Run through every tasklist.
+$tasklists = $nag_shares->listAllShares();
+foreach ($tasklists as $tasklist => $share) {
+ echo "Creating default histories for $tasklist ...\n";
+
+ // List all tasks.
+ $storage = Nag_Driver::singleton($tasklist);
+ $storage->retrieve();
+ $tasks = $storage->listTasks();
+
+ foreach ($tasks as $taskId => $task) {
+ $log = $history->getHistory('nag:' . $tasklist . ':' . $task['uid']);
+ $created = false;
+ foreach ($log->getData() as $entry) {
+ if ($entry['action'] == 'add') {
+ $created = true;
+ break;
+ }
+ }
+ if (!$created) {
+ $history->log('nag:' . $tasklist . ':' . $task['uid'], array('action' => 'add'), true);
+ }
+ }
+}
+
+echo "\n** Default histories successfully created ***\n";
--- /dev/null
+<?php
+/**
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/lib/base.php';
+
+$title = _("Search");
+$notification->push('document.search.search_pattern.focus()', 'javascript');
+Horde::addScriptFile('prototype.js', 'horde', true);
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+require NAG_TEMPLATES . '/search/search.inc';
+require NAG_TEMPLATES . '/panel.inc';
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?php
+/**
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Jon Parise <jon@horde.org>
+ * @author Jan Schneider <jan@horde.org>
+ */
+
+function _delete($task_id, $tasklist_id)
+{
+ if (!empty($task_id)) {
+ $task = Nag::getTask($tasklist_id, $task_id);
+ if (is_a($task, 'PEAR_Error')) {
+ $GLOBALS['notification']->push(
+ sprintf(_("Error deleting task: %s"),
+ $task->getMessage()), 'horde.error');
+ } else {
+ $share = $GLOBALS['nag_shares']->getShare($tasklist_id);
+ if (is_a($share, 'PEAR_Error') ||
+ !$share->hasPermission(Horde_Auth::getAuth(), PERMS_DELETE)) {
+ $GLOBALS['notification']->push(
+ _("Access denied deleting task."), 'horde.error');
+ } else {
+ $storage = Nag_Driver::singleton($tasklist_id);
+ $result = $storage->delete($task_id);
+ if (is_a($result, 'PEAR_Error')) {
+ $GLOBALS['notification']->push(
+ sprintf(_("There was a problem deleting %s: %s"),
+ $task->name, $result->getMessage()),
+ 'horde.error');
+ } else {
+ $GLOBALS['notification']->push(sprintf(_("Deleted %s."),
+ $task->name),
+ 'horde.success');
+ }
+ }
+ }
+ }
+
+ /* Return to the task list. */
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+require_once dirname(__FILE__) . '/lib/base.php';
+require_once NAG_BASE . '/lib/Forms/task.php';
+$vars = Horde_Variables::getDefaultVariables();
+
+/* Redirect to the task list if no action has been requested. */
+$actionID = $vars->get('actionID');
+if (is_null($actionID)) {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+/* Run through the action handlers. */
+switch ($actionID) {
+case 'add_task':
+ /* Check permissions. */
+ if (Nag::hasPermission('max_tasks') !== true &&
+ Nag::hasPermission('max_tasks') <= Nag::countTasks()) {
+ $message = @htmlspecialchars(sprintf(_("You are not allowed to create more than %d tasks."), Nag::hasPermission('max_tasks')), ENT_COMPAT, Horde_Nls::getCharset());
+ if (!empty($conf['hooks']['permsdenied'])) {
+ $message = Horde::callHook('_perms_hook_denied', array('nag:max_tasks'), 'horde', $message);
+ }
+ $notification->push($message, 'horde.error', array('content.raw'));
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+ }
+
+ $vars->set('actionID', 'save_task');
+ if (!$vars->exists('tasklist_id')) {
+ $vars->set('tasklist_id', Nag::getDefaultTasklist(PERMS_EDIT));
+ }
+ $form = new Nag_TaskForm($vars, _("New Task"));
+ break;
+
+case 'modify_task':
+ $task_id = $vars->get('task');
+ $tasklist_id = $vars->get('tasklist');
+ $share = $GLOBALS['nag_shares']->getShare($tasklist_id);
+ if (is_a($share, 'PEAR_Error')) {
+ $notification->push(sprintf(_("Access denied editing task: %s"), $share->getMessage()), 'horde.error');
+ } elseif (!$share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+ $notification->push(_("Access denied editing task."), 'horde.error');
+ } else {
+ $task = Nag::getTask($tasklist_id, $task_id);
+ if (!isset($task) || !isset($task->id)) {
+ $notification->push(_("Task not found."), 'horde.error');
+ } elseif ($task->private && $task->owner != Horde_Auth::getAuth()) {
+ $notification->push(_("Access denied editing task."), 'horde.error');
+ } else {
+ $vars = new Horde_Variables($task->toHash());
+ $vars->set('actionID', 'save_task');
+ $vars->set('old_tasklist', $task->tasklist);
+ $form = new Nag_TaskForm($vars, sprintf(_("Edit: %s"), $task->name), $share->hasPermission(Horde_Auth::getAuth(), PERMS_DELETE));
+ break;
+ }
+ }
+
+ /* Return to the task list. */
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+
+case 'save_task':
+ if ($vars->get('submitbutton') == _("Delete this task")) {
+ _delete($vars->get('task_id'), $vars->get('old_tasklist'));
+ }
+
+ $form = new Nag_TaskForm($vars, $vars->get('task_id') ? sprintf(_("Edit: %s"), $vars->get('name')) : _("New Task"));
+ if (!$form->validate($vars)) {
+ break;
+ }
+
+ $form->getInfo($vars, $info);
+ if ($prefs->isLocked('default_tasklist') ||
+ count(Nag::listTasklists(false, PERMS_EDIT)) <= 1) {
+ $info['tasklist_id'] = $info['old_tasklist'] = Nag::getDefaultTasklist(PERMS_EDIT);
+ }
+ $share = $GLOBALS['nag_shares']->getShare($info['tasklist_id']);
+ if (is_a($share, 'PEAR_Error')) {
+ $notification->push(sprintf(_("Access denied saving task: %s"), $share->getMessage()), 'horde.error');
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+ } elseif (!$share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+ $notification->push(sprintf(_("Access denied saving task to %s."), $share->get('name')), 'horde.error');
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+ }
+
+ /* Add new category. */
+ if ($info['category']['new']) {
+ require_once 'Horde/Prefs/CategoryManager.php';
+ $cManager = new Prefs_CategoryManager();
+ $cManager->add($info['category']['value']);
+ }
+
+ /* If a task id is set, we're modifying an existing task.
+ * Otherwise, we're adding a new task with the provided
+ * attributes. */
+ if (!empty($info['task_id']) && !empty($info['old_tasklist'])) {
+ $storage = Nag_Driver::singleton($info['old_tasklist']);
+ $result = $storage->modify($info['task_id'], $info['name'],
+ $info['desc'], $info['start'],
+ $info['due'], $info['priority'],
+ (float)$info['estimate'],
+ (int)$info['completed'],
+ $info['category']['value'],
+ $info['alarm'], $info['methods'],
+ $info['parent'], (int)$info['private'],
+ Horde_Auth::getAuth(), $info['assignee'], null,
+ $info['tasklist_id']);
+ } else {
+ /* Check permissions. */
+ if (Nag::hasPermission('max_tasks') !== true &&
+ Nag::hasPermission('max_tasks') <= Nag::countTasks()) {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+ }
+
+ /* Creating a new task. */
+ $storage = Nag_Driver::singleton($info['tasklist_id']);
+ $result = $storage->add($info['name'], $info['desc'], $info['start'],
+ $info['due'], $info['priority'],
+ (float)$info['estimate'],
+ (int)$info['completed'],
+ $info['category']['value'],
+ $info['alarm'], $info['methods'], null,
+ $info['parent'], (int)$info['private'],
+ Horde_Auth::getAuth(), $info['assignee']);
+ }
+
+ /* Check our results. */
+ if (is_a($result, 'PEAR_Error')) {
+ $notification->push(sprintf(_("There was a problem saving the task: %s."), $result->getMessage()), 'horde.error');
+ } else {
+ $notification->push(sprintf(_("Saved %s."), $info['name']), 'horde.success');
+ /* Return to the task list. */
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+ }
+
+ break;
+
+case 'delete_tasks':
+ /* Delete the task if we're provided with a valid task ID. */
+ _delete(Horde_Util::getFormData('task'), Horde_Util::getFormData('tasklist'));
+
+case 'complete_task':
+ /* Toggle the task's completion status if we're provided with a
+ * valid task ID. */
+ $task_id = Horde_Util::getFormData('task');
+ $tasklist_id = Horde_Util::getFormData('tasklist');
+ if (isset($task_id)) {
+ $share = $GLOBALS['nag_shares']->getShare($tasklist_id);
+ $task = Nag::getTask($tasklist_id, $task_id);
+ if (is_a($share, 'PEAR_Error') || !$share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+ $notification->push(sprintf(_("Access denied completing task %s."), $task->name), 'horde.error');
+ } else {
+ $task->completed = !$task->completed;
+ if ($task->completed) {
+ $task->completed_date = time();
+ } else {
+ $task->completed_date = null;
+ }
+ $result = $task->save();
+ if (is_a($result, 'PEAR_Error')) {
+ $notification->push(sprintf(_("There was a problem completing %s: %s"),
+ $task->name, $result->getMessage()), 'horde.error');
+ } else {
+ if ($task->completed) {
+ $notification->push(sprintf(_("Completed %s."), $task->name), 'horde.success');
+ } else {
+ $notification->push(sprintf(_("%s is now incomplete."), $task->name), 'horde.success');
+ }
+ }
+ }
+ }
+
+ $url = $vars->get('url');
+ if (!empty($url)) {
+ header('Location: ' . $url);
+ } else {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ }
+ exit;
+
+default:
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+$title = $form->getTitle();
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+$form->renderActive();
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?php
+/**
+ * Copyright 2002-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/../lib/base.php';
+require_once NAG_BASE . '/lib/Forms/CreateTaskList.php';
+
+// Exit if this isn't an authenticated user or if the user can't
+// create new task lists (default share is locked).
+if (!Horde_Auth::getAuth() || $prefs->isLocked('default_tasklist')) {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+$vars = Horde_Variables::getDefaultVariables();
+$form = new Nag_CreateTaskListForm($vars);
+
+// Execute if the form is valid.
+if ($form->validate($vars)) {
+ $result = $form->execute();
+ if (is_a($result, 'PEAR_Error')) {
+ $notification->push($result, 'horde.error');
+ } else {
+ $notification->push(sprintf(_("The task list \"%s\" has been created."), $vars->get('name')), 'horde.success');
+ }
+
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+}
+
+$title = $form->getTitle();
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+echo $form->renderActive($form->getRenderer(), $vars, 'create.php', 'post');
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?php
+/**
+ * Copyright 2002-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/../lib/base.php';
+require_once NAG_BASE . '/lib/Forms/DeleteTaskList.php';
+
+// Exit if this isn't an authenticated user.
+if (!Horde_Auth::getAuth()) {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+$vars = Horde_Variables::getDefaultVariables();
+$tasklist_id = $vars->get('t');
+if ($tasklist_id == Horde_Auth::getAuth()) {
+ $notification->push(_("This task list cannot be deleted."), 'horde.warning');
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+}
+
+$tasklist = $nag_shares->getShare($tasklist_id);
+if (is_a($tasklist, 'PEAR_Error')) {
+ $notification->push($tasklist, 'horde.error');
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+} elseif ($tasklist->get('owner') != Horde_Auth::getAuth()) {
+ $notification->push(_("You are not allowed to delete this task list."), 'horde.error');
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+}
+
+$form = new Nag_DeleteTaskListForm($vars, $tasklist);
+
+// Execute if the form is valid (must pass with POST variables only).
+if ($form->validate(new Variables($_POST))) {
+ $result = $form->execute();
+ if (is_a($result, 'PEAR_Error')) {
+ $notification->push($result, 'horde.error');
+ } elseif ($result) {
+ $notification->push(sprintf(_("The task list \"%s\" has been deleted."), $tasklist->get('name')), 'horde.success');
+ }
+
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+}
+
+$title = $form->getTitle();
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+echo $form->renderActive($form->getRenderer(), $vars, 'delete.php', 'post');
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?php
+/**
+ * Copyright 2002-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/../lib/base.php';
+require_once NAG_BASE . '/lib/Forms/EditTaskList.php';
+
+// Exit if this isn't an authenticated user.
+if (!Horde_Auth::getAuth()) {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+$vars = Horde_Variables::getDefaultVariables();
+$tasklist = $nag_shares->getShare($vars->get('t'));
+if (is_a($tasklist, 'PEAR_Error')) {
+ $notification->push($tasklist, 'horde.error');
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+} elseif ($tasklist->get('owner') != Horde_Auth::getAuth()) {
+ $notification->push(_("You are not allowed to change this task list."), 'horde.error');
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+}
+$form = new Nag_EditTaskListForm($vars, $tasklist);
+
+// Execute if the form is valid.
+if ($form->validate($vars)) {
+ $original_name = $tasklist->get('name');
+ $result = $form->execute();
+ if (is_a($result, 'PEAR_Error')) {
+ $notification->push($result, 'horde.error');
+ } else {
+ if ($tasklist->get('name') != $original_name) {
+ $notification->push(sprintf(_("The task list \"%s\" has been renamed to \"%s\"."), $original_name, $tasklist->get('name')), 'horde.success');
+ } else {
+ $notification->push(sprintf(_("The task list \"%s\" has been saved."), $original_name), 'horde.success');
+ }
+ }
+
+ header('Location: ' . Horde::applicationUrl('tasklists/', true));
+ exit;
+}
+
+$vars->set('name', $tasklist->get('name'));
+$vars->set('description', $tasklist->get('desc'));
+$title = $form->getTitle();
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+echo $form->renderActive($form->getRenderer(), $vars, 'edit.php', 'post');
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?php
+/**
+ * Copyright 2002-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+/**
+ * Show just the beginning and end of long URLs.
+ */
+function shorten_url($url, $separator = '...', $first_chunk_length = 35, $last_chunk_length = 15)
+{
+ $url_length = strlen($url);
+ $max_length = $first_chunk_length + strlen($separator) + $last_chunk_length;
+
+ if ($url_length > $max_length) {
+ return substr_replace($url, $separator, $first_chunk_length, -$last_chunk_length);
+ }
+
+ return $url;
+}
+
+require_once dirname(__FILE__) . '/../lib/base.php';
+if (@include_once 'HTTP/WebDAV/Server.php') {
+ require_once 'Horde/RPC/webdav.php';
+}
+
+/* Exit if this isn't an authenticated user. */
+if (!Horde_Auth::getAuth()) {
+ require NAG_BASE . '/list.php';
+ exit;
+}
+
+$webdav = is_callable(array('HTTP_WebDAV_Server_Horde', 'DELETE'));
+$edit_url_base = Horde::applicationUrl('tasklists/edit.php');
+$perms_url_base = Horde::url($registry->get('webroot', 'horde') . '/services/shares/edit.php?app=nag', true);
+$delete_url_base = Horde::applicationUrl('tasklists/delete.php');
+$display_url_base = Horde::applicationUrl('list.php', true, -1);
+$subscribe_url_base = $webdav
+ ? Horde::url($registry->get('webroot', 'horde') . '/rpc.php/nag/', true, -1)
+ : Horde::applicationUrl('ics.php', true, -1);
+
+$tasklists = Nag::listTasklists(true);
+$sorted_tasklists = array();
+foreach ($tasklists as $tasklist) {
+ $sorted_tasklists[$tasklist->getName()] = $tasklist->get('name');
+}
+asort($sorted_tasklists);
+
+$edit_img = Horde::img('edit.png', _("Edit"), null, $registry->getImageDir('horde'));
+$perms_img = Horde::img('perms.png', _("Change Permissions"), null, $registry->getImageDir('horde'));
+$delete_img = Horde::img('delete.png', _("Delete"), null, $registry->getImageDir('horde'));
+
+Horde::addScriptFile('popup.js', 'horde', true);
+Horde::addScriptFile('tables.js', 'horde', true);
+$title = _("Manage Task Lists");
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+require NAG_TEMPLATES . '/tasklist_list.php';
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?php
+/**
+ * Copyright 2002-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/../lib/base.php';
+require_once 'Horde/Identity.php';
+if (@include_once 'HTTP/WebDAV/Server.php') {
+ require_once 'Horde/RPC/webdav.php';
+}
+
+// Exit if this isn't an authenticated user.
+if (!Horde_Auth::getAuth()) {
+ exit;
+}
+
+$tasklist = $nag_shares->getShare(Horde_Util::getFormData('t'));
+if (is_a($tasklist, 'PEAR_Error')) {
+ exit;
+}
+
+$webdav = is_callable(array('HTTP_WebDAV_Server_Horde', 'DELETE'));
+$subscribe_url = $webdav
+ ? Horde::url($registry->get('webroot', 'horde') . '/rpc.php/nag/', true, -1)
+ . $tasklist->get('owner') . '/' . $tasklist->getName() . '.ics'
+ : Horde_Util::addParameter(Horde::applicationUrl('ics.php', true, -1),
+ 't', $tasklist->getName());
+
+$identity = Identity::singleton('none', $tasklist->get('owner'));
+$owner_name = $identity->getValue('fullname');
+if (trim($owner_name) == '') {
+ $owner_name = Horde_Auth::removeHook(Horde_Auth::getAuth());
+}
+
+
+require NAG_TEMPLATES . '/tasklist_info.php';
--- /dev/null
+<?php
+/**
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/../lib/base.php';
+
+$search = Horde_Util::getGet('q');
+if (!$search) {
+ header('HTTP/1.0 204 No Content');
+ exit;
+}
+
+$tasks = Nag::listTasks(
+ $prefs->getValue('sortby'),
+ $prefs->getValue('sortdir'),
+ $prefs->getValue('altsortby'),
+ null,
+ 1);
+if (is_a($tasks, 'PEAR_Error')) {
+ Horde::fatal($tasks);
+}
+
+$search_pattern = '/^' . preg_quote($search, '/') . '/i';
+$search_results = new Nag_Task();
+$tasks->reset();
+while ($task = &$tasks->each()) {
+ if (preg_match($search_pattern, $task->name)) {
+ $search_results->add($task);
+ }
+}
+
+$search_results->reset();
+if ($search_results->count() == 1) {
+ $task = $search_results->each();
+ header('Location: ' . Horde::url($task->view_link, true));
+ exit;
+}
+
+$tasks = $search_results;
+$title = sprintf(_("Search: Results for \"%s\""), $search);
+$print_view = null;
+$actionID = null;
+
+Horde::addScriptFile('popup.js', 'horde', true);
+Horde::addScriptFile('tooltip.js', 'horde', true);
+Horde::addScriptFile('prototype.js', 'horde', true);
+Horde::addScriptFile('effects.js', 'horde', true);
+Horde::addScriptFile('QuickFinder.js', 'horde', true);
+
+require NAG_TEMPLATES . '/common-header.inc';
+require NAG_TEMPLATES . '/menu.inc';
+echo '<div id="page">';
+require NAG_TEMPLATES . '/list.html.php';
+require NAG_TEMPLATES . '/panel.inc';
+require $registry->get('templates', 'horde') . '/common-footer.inc';
--- /dev/null
+<?php
+if (isset($language)) {
+ header('Content-type: text/html; charset=' . Horde_Nls::getCharset());
+ header('Vary: Accept-Language');
+}
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<?php echo !empty($language) ? '<html lang="' . strtr($language, '_', '-') . '">' : '<html>' ?>
+<head>
+<?php
+
+$page_title = $registry->get('name');
+if (!empty($title)) $page_title .= ' :: ' . $title;
+if (!empty($refresh_time) && ($refresh_time > 0) && !empty($refresh_url)) {
+ echo "<meta http-equiv=\"refresh\" content=\"$refresh_time;url=$refresh_url\">\n";
+}
+
+Horde::includeScriptFiles();
+
+$bc = Horde_Util::nonInputVar('bodyClass');
+if ($prefs->getValue('show_panel')) {
+ if ($bc) {
+ $bc .= ' ';
+ }
+ $bc .= 'rightPanel';
+}
+
+?>
+<title><?php echo htmlspecialchars($page_title) ?></title>
+<link href="<?php echo $GLOBALS['registry']->getImageDir()?>/favicon.ico" rel="SHORTCUT ICON" />
+<?php echo Horde::stylesheetLink('nag', empty($print_view) ? '' : 'print') ?>
+<link href="<?php echo Horde::applicationUrl('themes/categoryCSS.php') ?>" rel="stylesheet" type="text/css" />
+<script src="<?php echo $GLOBALS['registry']->get('jsuri', 'horde') ?>/glow/1.5.1/core/core.js" type="text/javascript"></script>
+<script src="<?php echo $GLOBALS['registry']->get('jsuri', 'horde') ?>/glow/1.5.1/widgets/widgets.js" type="text/javascript"></script>
+<link href="<?php echo $GLOBALS['registry']->get('jsuri', 'horde') ?>/glow/1.5.1/widgets/widgets.css" type="text/css" rel="stylesheet" /></head>
+<script type="text/javascript">
+var Nag = {};
+
+glow.ready(function() {
+ $('quickAddInfoPanel').style.display = 'block';
+ Nag.quickAddPanel = new glow.widgets.InfoPanel('#quickAddInfoPanel', { context: '.quickAdd', pointerPosition: 't' });
+});
+</script>
+
+<body<?php if ($bc) echo ' class="' . $bc . '"' ?><?php if ($bi = Horde_Util::nonInputVar('bodyId')) echo ' id="' . $bi . '"'; ?>>
+
+<div id="quickAddInfoPanel" style="display:none;">
+ <h2><?php echo _("Quick Task Creation") ?></h2>
+ <form method="post" action="quick.php">
+ <p><?php echo _("Enter one task per line. Create child tasks by indenting them below their parent task. Include due dates like \"laundry tomorrow\" or \"get dry cleaning next Thursday\".") ?></p>
+ <textarea name="quickText" id="quickText"></textarea>
+ <p><input type="submit" value="<?php echo _("Create") ?>"></p>
+ </form>
+</div>
--- /dev/null
+<form method="post" name="export" action="<?php echo Horde::downloadUrl(_("tasks.csv"), null, 'data.php') ?>">
+<?php Horde_Util::pformInput() ?>
+<input type="hidden" name="actionID" value="export" />
+
+<h1 class="header">
+ <?php echo _("Export Tasks") ?>
+</h1>
+
+<div class="headerbox">
+ <p>
+ <?php echo Horde::label('exportID', _("Select the export format:")) ?><br />
+ <select id="exportID" name="exportID">
+ <option value="<?php echo Horde_Data::EXPORT_ICALENDAR ?>">iCalendar (vTodo)</option>
+ <option value="<?php echo Horde_Data::EXPORT_CSV ?>">CSV</option>
+ </select>
+ </p>
+
+ <?php if (count($tasklists = Nag::listTasklists(false, PERMS_READ)) > 1): ?>
+ <p>
+ <?php echo Horde::label('exportList', _("Select the task list(s) to export from:")) ?><br />
+ <select id="exportList" name="exportList[]" multiple="multiple">
+ <?php foreach ($tasklists as $id => $tasklist) {
+ printf('<option value="%s">%s</option>', htmlspecialchars($id), htmlspecialchars($tasklist->get('name'))) . "\n";
+ } ?>
+ </select>
+ </p>
+ <?php else: ?>
+ <input type="hidden" name="exportList[]" value="<?php echo htmlspecialchars(Nag::getDefaultTasklist(PERMS_READ)) ?>" />
+ <?php endif; ?>
+
+ <p>
+ <?php echo Horde::label('exportTasks', _("Select the task states to export:")) ?><br />
+ <select id="exportTasks" name="exportTasks">
+ <option value="1"><?php echo _("All tasks") ?></option>
+ <option value="0"><?php echo _("Incomplete tasks") ?></option>
+ <option value="3"><?php echo _("Future tasks") ?></option>
+ <option value="2"><?php echo _("Completed tasks") ?></option>
+ </select>
+ </p>
+
+ <input type="submit" value="<?php echo _("Export") ?>" class="button" />
+</div>
+
+</form>
--- /dev/null
+<form method="post" name="import_form" enctype="multipart/form-data" action="data.php">
+<?php Horde_Util::pformInput() ?>
+<input type="hidden" name="actionID" value="<?php echo htmlspecialchars($next_step) ?>" />
+<input type="hidden" name="import_step" value="<?php echo (int)$import_step ?>" />
+
+<h1 class="header">
+ <?php printf(_("Import Tasks, Step %d"), (int)$import_step) ?>
+</h1>
+
+<div class="headerbox">
+ <p>
+ <?php echo Horde::label('import_format', _("Select the format of the source file:")) ?><br />
+ <select id="import_format" name="import_format">
+ <option value="csv">CSV</option>
+ <option value="vtodo">iCalendar (vTodo)</option>
+ </select>
+ </p>
+
+<?php if (!$prefs->isLocked('default_tasklist') && count($tasklists = Nag::listTasklists(false, PERMS_EDIT)) > 1): ?>
+ <p>
+ <?php echo Horde::label('tasklist_target', _("Which tasklist should the tasks be added to?")) ?><br />
+ <select id="tasklist_target" name="tasklist_target">
+ <?php
+ $default = Nag::getDefaultTasklist(PERMS_EDIT);
+ foreach ($tasklists as $id => $tasklist) {
+ $sel = ($id == $default) ? ' selected="selected"' : '';
+ printf('<option value="%s"%s>%s</option>',
+ htmlspecialchars($id), $sel, htmlspecialchars($tasklist->get('name'))) . "\n";
+ } ?>
+ </select>
+ </p>
+<?php else: ?>
+ <input type="hidden" name="tasklist_target" value="<?php echo htmlspecialchars(Nag::getDefaultTasklist(PERMS_EDIT)) ?>" />
+<?php endif; ?>
+ <p>
+ <?php echo Horde::label('import_file', _("Select the file to import:")) ?><br />
+ <input type="file" id="import_file" name="import_file" size="40" />
+ </p>
+ <input type="submit" value="<?php echo _("Next") ?>" class="button" />
+</div>
+
+</form>
--- /dev/null
+<?php
+
+require NAG_TEMPLATES . '/list/header.inc';
+
+if ($tasks->hasTasks()) {
+ $sortby = $prefs->getValue('sortby');
+ $sortdir = $prefs->getValue('sortdir');
+ $dateFormat = $prefs->getValue('date_format');
+ $columns = @unserialize($prefs->getValue('tasklist_columns'));
+ $dynamic_sort = true;
+
+ $baseurl = 'list.php';
+ if ($actionID == 'search_tasks') {
+ $baseurl = Horde_Util::addParameter(
+ $baseurl,
+ array('actionID' => 'search_tasks',
+ 'search_pattern' => $search_pattern,
+ 'search_name' => $search_name ? 'on' : 'off',
+ 'search_desc' => $search_desc ? 'on' : 'off',
+ 'search_category' => $search_category ? 'on' : 'off'));
+ }
+
+ require NAG_TEMPLATES . '/list/task_headers.inc';
+
+ $tasks->reset();
+ while ($task = $tasks->each()) {
+ $dynamic_sort &= !$task->hasSubTasks();
+
+ if (!empty($task->completed)) {
+ $style = 'linedRow closed';
+ } elseif (!empty($task->due) && $task->due < time()) {
+ $style = 'linedRow overdue';
+ } else {
+ $style = 'linedRow';
+ }
+
+ if ($task->tasklist == '**EXTERNAL**') {
+ // Just use a new share that this user owns for tasks from
+ // external calls - if the API gives them back, we'll trust it.
+ $share = $GLOBALS['nag_shares']->newShare('**EXTERNAL**');
+ $owner = $task->tasklist_name;
+ } else {
+ $share = $GLOBALS['nag_shares']->getShare($task->tasklist);
+ $owner = is_a($share, 'PEAR_Error') ? $task->tasklist : $share->get('name');
+ }
+
+ require NAG_TEMPLATES . '/list/task_summaries.inc';
+ }
+
+ require NAG_TEMPLATES . '/list/task_footers.inc';
+
+ if (!$print_view && $dynamic_sort) {
+ Horde::addScriptFile('tables.js', 'horde', true);
+ }
+} else {
+ require NAG_TEMPLATES . '/list/empty.inc';
+}
--- /dev/null
+<p class="text">
+ <em><?php echo _("There are no tasks matching the current criteria.") ?></em>
+<p>
--- /dev/null
+<div class="header leftAlign">
+ <?php echo htmlspecialchars($title) . ' (' . $tasks->count() . ')' ?>
+ <?php if (!$print_view): ?>
+ <a id="quicksearchL" href="<?php echo Horde::applicationUrl('search.php') ?>" title="<?php echo _("Search") ?>" onclick="$('quicksearchL').hide(); $('quicksearch').show(); $('quicksearchT').focus(); return false;"><?php echo Horde::img('search.png', _("Search"), '', $registry->getImageDir('horde')) ?></a>
+ <div id="quicksearch" style="display:none">
+ <input type="text" name="quicksearchT" id="quicksearchT" for="tasks-body" empty="tasks_empty" />
+ <small>
+ <a title="<?php echo _("Close Search") ?>" href="#" onclick="$('quicksearch').hide(); $('quicksearchT').value = ''; QuickFinder.filter($('quicksearchT')); $('quicksearchL').show(); return false;">X</a>
+ <?php echo Horde::link(Horde::applicationUrl('search.php')) . _("More Options...") ?></a>
+ </small>
+ </div>
+ <?php endif; ?>
+</div>
--- /dev/null
+</tbody>
+</table>
+<?php if (!$print_view): ?>
+<div id="tasks_empty">
+ <?php echo _("No tasks match") ?>
+</div>
+<?php endif; ?>
+</div>
--- /dev/null
+<?php $sortdirclass = $sortdir ? 'sortup' : 'sortdown' ?>
+
+<script type="text/javascript">
+
+var PREFS_UPDATE_TIMEOUT;
+
+function table_sortCallback(tableId, column, sortDown)
+{
+ if (typeof PREFS_UPDATE_TIMEOUT != "undefined") {
+ window.clearTimeout(PREFS_UPDATE_TIMEOUT);
+ }
+
+ PREFS_UPDATE_TIMEOUT = window.setTimeout('doPrefsUpdate("' + column + '", "' + sortDown + '")', 300);
+}
+
+function doPrefsUpdate(column, sortDown)
+{
+ baseurl = '<?php echo Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/prefs/', true, -1) ?>';
+ try {
+ new Ajax.Request(baseurl, { parameters: { app: 'nag', pref: 'sortby', value: encodeURIComponent(column.substring(1)) } });
+ new Ajax.Request(baseurl, { parameters: { app: 'nag', pref: 'sortdir', value: encodeURIComponent(sortDown) } });
+ } catch (e) {}
+}
+
+</script>
+
+<table id="tasks" cellspacing="0" class="sortable nowrap">
+<thead>
+ <tr class="item leftAlign">
+ <th id="s<?php echo Nag::SORT_COMPLETION ?>"<?php if ($sortby == Nag::SORT_COMPLETION) echo ' class="' . $sortdirclass . '"' ?> width="2%">
+ <?php echo Horde::link(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_COMPLETION)), _("Sort by Completion Status"), 'sortlink') . Horde::img('checkbox.png', _("Completed?")) ?></a>
+ </th>
+<?php if (in_array('tasklist', $columns)): ?>
+ <th id="s<?php echo Nag::SORT_OWNER ?>"<?php if ($sortby == Nag::SORT_OWNER) echo ' class="' . $sortdirclass . '"' ?> width="2%">
+ <?php echo Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_OWNER)), _("Sort by User Name"), 'sortlink', '', '', _("_Task List")) ?>
+ </th>
+<?php endif; if (in_array('priority', $columns)): ?>
+ <th id="s<?php echo Nag::SORT_PRIORITY ?>"<?php if ($sortby == Nag::SORT_PRIORITY) echo ' class="' . $sortdirclass . '"' ?> width="2%">
+ <?php echo Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_PRIORITY)), _("Sort by Priority"), 'sortlink', '', '', _("P_ri")) ?>
+ </th>
+<?php endif; ?>
+ <th width="2%" class="nosort">
+ <?php echo Horde::img('edit.png', _("Edit Task"), null, $registry->getImageDir('horde')) ?>
+ </th>
+ <th id="s<?php echo Nag::SORT_NAME ?>"<?php if ($sortby == Nag::SORT_NAME) echo ' class="' . $sortdirclass . '"' ?>>
+ <?php echo Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_NAME)), _("Sort by Name"), 'sortlink', '', '', _("Na_me")) ?>
+ </th>
+ <th width="2%" class="nosort"><?php echo Horde::img('note.png', _("Task Note?")) ?></th>
+ <th width="2%" class="nosort"><?php echo Horde::img('alarm.png', _("Task Alarm?")) ?></th>
+<?php if (in_array('due', $columns)): ?>
+ <th id="s<?php echo Nag::SORT_DUE ?>"<?php if ($sortby == Nag::SORT_DUE) echo ' class="' . $sortdirclass . '"' ?> width="2%">
+ <?php echo Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_DUE)), _("Sort by Due Date"), 'sortlink', '', '', _("_Due Date")) ?>
+ </th>
+<?php endif; if (in_array('estimate', $columns)): ?>
+ <th id="s<?php echo Nag::SORT_ESTIMATE ?>"<?php if ($sortby == Nag::SORT_ESTIMATE) echo ' class="' . $sortdirclass . '"' ?> width="10%">
+ <?php echo Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_ESTIMATE)), _("Sort by estimated time"), 'sortlink', '', '', _("Estimated Time")) ?>
+ </th>
+<?php endif; if (in_array('assignee', $columns)): ?>
+ <th id="s<?php echo Nag::SORT_ASSIGNEE ?>"<?php if ($sortby == Nag::SORT_ASSIGNEE) echo ' class="' . $sortdirclass . '"' ?> width="10%">
+ <?php echo Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_ASSIGNEE)), _("Sort by Assignee"), 'sortlink', '', '', _("Assignee")) ?>
+ </th>
+<?php endif; if (in_array('category', $columns)): ?>
+ <th id="s<?php echo Nag::SORT_CATEGORY ?>"<?php if ($sortby == Nag::SORT_CATEGORY) echo ' class="' . $sortdirclass . '"' ?> width="10%">
+ <?php echo Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($baseurl, 'sortby', Nag::SORT_CATEGORY)), _("Sort by Category"), 'sortlink', '', '', _("Cat_egory")) ?>
+ <?php
+ if (Horde_Auth::getAuth() && (!$GLOBALS['prefs']->isLocked('categories') ||
+ !$GLOBALS['prefs']->isLocked('category_colors'))) {
+ $categoryUrl = Horde_Util::addParameter(Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/prefs.php'), array('app' => 'horde', 'group' => 'categories'));
+ echo ' ' . Horde::link($categoryUrl, _("Edit categories and colors"), '', '_blank', 'popup(this.href); return false;') . Horde::img('colorpicker.png', _("Edit categories and colors"), '', $GLOBALS['registry']->getImageDir('horde')) . '</a>';
+ }
+ ?>
+ </th>
+<?php endif; ?>
+ </tr>
+</thead>
+<tbody id="tasks-body">
--- /dev/null
+<tr class="<?php echo $style ?>">
+ <td>
+<?php
+if (!is_a($share, 'PEAR_Error') &&
+ $share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+ if (!$task->completed) {
+ if (!$task->childrenCompleted()) {
+ $label = _("Incomplete sub tasks, complete them first");
+ echo Horde::img('unchecked.png', $label, array('title' => $label));
+ } else {
+ $label = sprintf(_("Complete \"%s\""), $task->name);
+ echo Horde::link($task->complete_link, $label) . Horde::img('unchecked.png', $label) . '</a>';
+ }
+ } else {
+ if ($task->parent && $task->parent->completed) {
+ $label = _("Completed parent task, mark it as incomplete first");
+ echo Horde::img('checked.png', $label, array('title' => $label));
+ } else {
+ $label = sprintf(_("Mark \"%s\" as incomplete"), $task->name);
+ echo Horde::link($task->complete_link, $label) . Horde::img('checked.png', $label) . '</a>';
+ }
+ }
+} else {
+ echo Nag::formatCompletion($task->completed);
+}
+?>
+ </td>
+
+<?php if (in_array('tasklist', $columns)): ?>
+ <td><?php echo htmlspecialchars($owner) ?></td>
+<?php endif; if (in_array('priority', $columns)): ?>
+ <td><?php echo Nag::formatPriority($task->priority) ?></td>
+<?php endif; ?>
+ <td>
+ <?php
+ if (!is_a($share, 'PEAR_Error') &&
+ $share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT) &&
+ (!$task->private || $task->owner == Horde_Auth::getAuth())) {
+ $label = sprintf(_("Edit \"%s\""), $task->name);
+ echo Horde::link($task->edit_link, $label) . Horde::img('edit.png', $label, null, $registry->getImageDir('horde')) . '</a>';
+ }
+ ?>
+ </td>
+ <td>
+ <?php
+ echo $task->treeIcons();
+ $task_name = strlen($task->name)
+ ? htmlspecialchars($task->name)
+ : _("[none]");
+ if (!is_a($share, 'PEAR_Error') &&
+ $share->hasPermission(Horde_Auth::getAuth(), PERMS_READ)) {
+ echo Horde::link($task->view_link, '', '', '', '', $task->desc)
+ . $task_name . '</a>';
+ } else {
+ echo $task_name;
+ }
+ ?>
+ </td>
+ <td><?php echo strlen($task->desc) ? Horde::img('note.png', _("Task Note")) : ' ' ?></td>
+ <td><?php echo ($task->alarm && $task->due) ?
+ Horde::img('alarm_small.png', _("Task Alarm")) : ' ' ?>
+ </td>
+<?php if (in_array('due', $columns)): ?>
+ <td class="nowrap" sortval="<?php echo $task->due ? (int)$task->due : PHP_INT_MAX ?>">
+ <?php echo $task->due ? strftime($dateFormat, $task->due) : ' ' ?>
+ </td>
+<?php endif; if (in_array('estimate', $columns)): ?>
+ <td class="nowrap" sortval="<?php echo htmlspecialchars($task->estimation()) ?>">
+ <?php echo htmlspecialchars($task->estimation()) ?>
+ </td>
+<?php endif; if (in_array('assignee', $columns)): ?>
+ <td>
+ <?php echo Nag::formatAssignee($task->assignee) ?>
+ </td>
+<?php endif; if (in_array('category', $columns)): ?>
+ <td class="category<?php echo md5($task->category) ?>"><?php echo strlen($task->category) ? htmlspecialchars($task->category) : _("Unfiled") ?></td>
+<?php endif; ?>
+</tr>
--- /dev/null
+<div id="menu">
+ <?php echo Nag::getMenu('string') ?>
+</div>
+<?php Nag::status();
--- /dev/null
+<?php
+
+Horde::addScriptFile('redbox.js', 'horde', true);
+
+$info_img = Horde::img('info_icon.png', _("Task List Information"), array('class' => 'tasklist-info'), $registry->getImageDir('horde'));
+
+$current_user = Horde_Auth::getAuth();
+$my_tasklists = array();
+$shared_tasklists = array();
+foreach (Nag::listTasklists() as $id => $tl) {
+ if ($tl->get('owner') == $current_user) {
+ $my_tasklists[$id] = $tl;
+ } else {
+ $shared_tasklists[$id] = $tl;
+ }
+}
+?>
+
+<div id="pageControls">
+<script type="text/javascript">
+//<![CDATA[
+function sbarToggle()
+{
+ var pref_value;
+ if (Element.hasClassName(document.body, 'rightPanel')) {
+ pref_value = 0;
+ Element.removeClassName(document.body, 'rightPanel');
+ } else {
+ pref_value = 1;
+ Element.addClassName(document.body, 'rightPanel');
+ }
+
+ new Ajax.Request('<?php echo Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/prefs/', true, -1) ?>', { parameters: { app: 'nag', pref: 'show_panel', value: pref_value } });
+}
+
+document.observe('dom:loaded', function() {
+ $$('#pageControlsInner .tasklist-info').invoke('observe', 'click', function() {
+ RedBox.loading();
+ var tasklist_id = this.previous().down('.checkbox').value;
+ new Ajax.Request('<?php echo Horde::applicationUrl('tasklists/info.php') ?>', {
+ parameters: { t: tasklist_id },
+ method: 'get',
+ onSuccess: function(transport) {
+ RedBox.showHtml('<div id="RB_info">' + transport.responseText + '<input type="button" class="button" onclick="RedBox.close();" value="<?php echo _("Close") ?>" /><' + '/div>');
+ },
+ onFailure: function(transport) {
+ RedBox.close();
+ }
+ });
+ });
+});
+//]]>
+</script>
+<a id="sbarShow" href="#" onclick="sbarToggle(); return false;"><?php echo _("Task Lists") ?></a>
+<a id="sbarHide" href="#" onclick="sbarToggle(); return false;"><?php echo _("Task Lists") ?></a>
+
+<div id="pageControlsInner">
+<form action="<?php echo Horde::selfUrl() ?>" method="post">
+<?php echo Horde_Util::formInput() ?>
+ <h4><?php echo _("Search for Task Lists:") ?></h4>
+ <p>
+ <input id="tasklistSearch" type="text" for="mytasklists,sharedtasklists" />
+ </p>
+
+<?php if (Horde_Auth::getAuth()): ?>
+ <p>
+ <a href="<?php echo Horde::applicationUrl('tasklists/') ?>"><?php echo _("[Manage Task Lists]") ?></a>
+ </p>
+<?php endif; ?>
+
+<?php if ($current_user): ?>
+ <h4><?php echo _("My Task Lists:") ?></h4>
+ <ul id="mytasklists">
+<?php foreach ($my_tasklists as $id => $tl): ?>
+ <li><label><input type="checkbox" class="checkbox" name="display_tasklist[]" value="<?php echo htmlspecialchars($id) ?>"<?php echo (in_array($id, $display_tasklists) ? ' checked="checked"' : '') . ' /> ' . htmlspecialchars($tl->get('name')) ?></label> <?php echo $info_img ?></li>
+<?php endforeach; ?>
+ </ul>
+<?php endif; ?>
+
+<?php if (count($shared_tasklists)): ?>
+ <h4><?php echo _("Shared Task Lists:") ?></h4>
+ <ul id="sharedtasklists">
+<?php foreach ($shared_tasklists as $id => $tl): ?>
+ <li><label><input type="checkbox" class="checkbox" name="display_tasklist[]" value="<?php echo htmlspecialchars($id) ?>"<?php echo (in_array($id, $display_tasklists) ? ' checked="checked"' : '') . ' /> [' . htmlspecialchars(Horde_Auth::removeHook($tl->get('owner'))) . '] ' . htmlspecialchars($tl->get('name')) ?></label> <?php echo $info_img ?></li>
+<?php endforeach; ?>
+ </ul>
+<?php endif; ?>
+
+ <p>
+ <input type="submit" value="<?php echo _("Save") ?>" class="button" />
+ </p>
+</form>
+
+</div>
+</div>
--- /dev/null
+<?php
+if (!$prefs->isLocked('default_due_time')):
+ $default_due_time = $prefs->getValue('default_due_time');
+?>
+
+<?php echo Horde::label('default_due_time', _("What do you want to be the default due time for tasks?")) ?><br />
+<select id="default_due_time" name="default_due_time">
+ <option value="now"<?php if ($default_due_time == 'now') echo ' selected="selected"' ?>><?php echo _("The current hour") ?></option>
+<?php
+for ($i = 0; $i < 24; ++$i) {
+ $value = sprintf('%02d:00', $i);
+ if ($GLOBALS['prefs']->getValue('twentyFour')) {
+ echo '<option value="' . $value . '"' . ($value == $default_due_time ? ' selected="selected"' : '') . '>' . $value . '</option>';
+ } else {
+ echo '<option value="' . $value . '"' . ($value == $default_due_time ? ' selected="selected"' : '') . '>' . sprintf('%02d:00 ' . ($i >= 12 ? _("pm") : _("am")), ($i % 12 ? $i % 12 : 12)) . '</option>';
+ }
+}
+?>
+</select><br /><br />
+<?php endif; ?>
--- /dev/null
+<?php
+if (!$prefs->isLocked('default_tasklist')):
+ $tasklists = Nag::listTasklists();
+ if (($default_tasklist = $prefs->getValue('default_tasklist')) == null ||
+ !isset($tasklists[$default_tasklist])) {
+ $default_tasklist = Horde_Auth::getAuth();
+ }
+?>
+
+<?php echo Horde::label('default_tasklist', _("Your default task list:")) ?><br />
+<select id="default_tasklist" name="default_tasklist">
+<?php foreach ($tasklists as $id => $tasklist): ?>
+ <option value="<?php echo htmlspecialchars($id) ?>"<?php if ($id == $default_tasklist) echo ' selected="selected"' ?>><?php echo htmlspecialchars($tasklist->get('name')) ?></option>
+<?php endforeach; ?>
+</select><br /><br />
+<?php endif; ?>
--- /dev/null
+<form method="get" name="search" action="list.php">
+<?php Horde_Util::pformInput() ?>
+<input type="hidden" name="actionID" value="search_tasks" />
+
+<h1 class="header">
+ <?php echo _("Task Search") ?>
+</h1>
+
+<div class="headerbox" style="padding:3px">
+
+<p>
+ <strong><?php echo Horde::label('search_pattern', _("Search _Text:")) ?></strong><br />
+ <input name="search_pattern" id="search_pattern" type="text" size="50" maxlength="100" />
+</p>
+
+<p>
+ <strong><?php echo _("Search In:") ?></strong><br />
+ <input id="name" name="search_name" type="checkbox" checked="checked" /> <?php echo Horde::label('name', _("N_ame")) ?><br />
+ <input id="desc" name="search_desc" type="checkbox" /> <?php echo Horde::label('desc', _("_Description")) ?><br />
+ <input id="category" name="search_category" type="checkbox" /> <?php echo Horde::label('category', _("_Category")) ?>
+</p>
+
+<p>
+ <strong><?php echo _("Search:") ?></strong><br />
+ <input id="all" name="search_completed" type="radio" value="1" checked="checked" /> <?php echo Horde::label('all', _("_All Tasks")) ?><br />
+ <input id="incomplete" name="search_completed" type="radio" value="0" /> <?php echo Horde::label('incomplete', _("Incomplete Tasks")) ?><br />
+ <input id="complete" name="search_completed" type="radio" value="2" /> <?php echo Horde::label('complete', _("Completed Tasks")) ?><br />
+</p>
+
+<p>
+ <input type="submit" class="button" value="<?php echo _("Search") ?>" />
+</p>
+
+</div>
+
+</form>
--- /dev/null
+<h2><?php echo htmlspecialchars($tasklist->get('name')) ?></h2>
+<?php if ($desc = $tasklist->get('desc')): ?>
+<p><em><?php echo htmlspecialchars($desc) ?></em></p>
+<?php endif; ?>
+<p>
+ <?php printf(_("Task List owned by %s."), $owner_name) ?>
+ <?php echo _("To subscribe to this task list from another program, use this URL: ") ?>
+</p>
+<p class="tasklist-info-url">
+ <?php echo htmlspecialchars($subscribe_url) ?>
+</p>
--- /dev/null
+<h1 class="header">
+ <?php echo _("Manage Task Lists") ?>
+</h1>
+
+<?php if (!$prefs->isLocked('default_tasklist')): ?>
+<div id="tasklist-list-buttons">
+ <form method="get" action="create.php">
+<?php echo Horde_Util::formInput() ?>
+ <input type="submit" class="button" value="<?php echo _("Create a new Task List") ?>" />
+ </form>
+</div>
+<?php endif; ?>
+
+<table summary="<?php echo _("Task List List") ?>" cellspacing="0" id="tasklist-list" class="striped sortable">
+ <thead>
+ <tr>
+ <th class="sortdown"><?php echo _("Task List") ?></th>
+ <th class="tasklist-list-url nosort"><?php echo _("Display URL") ?></th>
+ <th class="tasklist-list-url nosort"><?php echo _("Subscription URL") ?></th>
+ <th class="tasklist-list-icon nosort" colspan="<?php echo empty($conf['share']['no_sharing']) ? 3 : 2 ?>"> </th>
+ </tr>
+ </thead>
+
+ <tbody>
+<?php foreach (array_keys($sorted_tasklists) as $tasklist_id): ?>
+ <?php $tasklist = $tasklists[$tasklist_id] ?>
+ <tr>
+ <td><?php echo htmlspecialchars($tasklist->get('name')) ?></td>
+ <td><?php $url = Horde_Util::addParameter($display_url_base, 'display_cal', $tasklist->getName(), false) ?><a href="<?php echo htmlspecialchars($url) ?>" title="<?php echo _("Click or copy this URL to display this task list") ?>" target="_blank"><?php echo htmlspecialchars(shorten_url($url)) ?></a></td>
+ <td><?php $url = $webdav ? $subscribe_url_base . $tasklist->get('owner') . '/' . $tasklist->getName() . '.ics' : Horde_Util::addParameter($subscribe_url_base, 't', $tasklist->getName(), false) ?><a href="<?php echo htmlspecialchars($url) ?>" title="<?php echo _("Click or copy this URL to display this task list") ?>" target="_blank"><?php echo htmlspecialchars(shorten_url($url)) ?></a></td>
+ <td><a href="<?php echo Horde_Util::addParameter($edit_url_base, 't', $tasklist->getName()) ?>" title="<?php echo _("Edit") ?>"><?php echo $edit_img ?></a></td>
+<?php if (empty($conf['share']['no_sharing'])): ?>
+ <td><a onclick="return !popup(this.href);" href="<?php echo Horde_Util::addParameter($perms_url_base, 'share', $tasklist->getName()) ?>" target="_blank" title="<?php echo _("Change Permissions") ?>"><?php echo $perms_img ?></a></td>
+<?php endif; ?>
+ <td><a href="<?php echo Horde_Util::addParameter($delete_url_base, 't', $tasklist->getName()) ?>" title="<?php echo _("Delete") ?>"><?php echo $delete_img ?></a></td>
+ </tr>
+<?php endforeach; ?>
+ </tbody>
+</table>
--- /dev/null
+<div class="header">
+ <span class="smallheader rightFloat"><?php echo implode(' | ', $links) ?></span>
+ <?php echo htmlspecialchars($task->name) ?>
+</div>
+
+<table cellspacing="0" width="100%" class="headerbox striped nowrap task">
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Category") ?></strong></td>
+ <td width="100%"><?php echo htmlspecialchars($task->category ? $task->category : _("Unfiled")) ?></td>
+ </tr>
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Assignee") ?></strong></td>
+ <td><?php echo Nag::formatAssignee($task->assignee, true) ?></td>
+ </tr>
+ <tr>
+ <td class="rightAlign"><strong><?php echo _("Private?") ?></strong></td>
+ <td>
+ <?php echo $task->private ? Horde::img('checked.png', _("Private")) : Horde::img('unchecked.png', _("Not Private")) ?>
+ </td>
+ </tr>
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Start Date") ?></strong></td>
+ <td><?php echo Nag::formatDate($task->start, false) ?></td>
+ </tr>
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Due By") ?></strong></td>
+ <td><?php echo Nag::formatDate($task->due) ?></td>
+ </tr>
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Alarm") ?></strong></td>
+ <td><?php echo htmlspecialchars($alarm_text) ?></td>
+ </tr>
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Priority") ?></strong></td>
+ <td><?php echo Nag::formatPriority($task->priority) ?></td>
+ </tr>
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Estimated Time") ?></strong></td>
+ <td><?php echo htmlspecialchars($task->estimate); if ($task->hasSubTasks()) echo htmlspecialchars(sprintf(_(" (%s including sub-tasks)"), $task->estimation())) ?></td>
+ </tr>
+ <tr>
+ <td class="rightAlign" valign="top"><strong><?php echo _("Completed?") ?></strong></td>
+ <td>
+ <?php if (!$print_view && !is_a($share, 'PEAR_Error') && $share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+ if (empty($task->completed)) {
+ echo Horde::link(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'complete_task')), _("Complete Task"), 'widget') . Horde::img('unchecked.png', _("Complete Task")) . '</a>';
+ } else {
+ echo Horde::link(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'complete_task')), _("Mark as incomplete"), 'widget') . Horde::img('checked.png', _("Mark as incomplete")) . '</a>';
+ }
+ } else {
+ echo Nag::formatCompletion($task->completed) . '</a></td>';
+ }
+ if (isset($completed)) {
+ echo ' <small>' . strftime($prefs->getValue('date_format'), $completed) . ' ' . date($prefs->getValue('twentyFour') ? 'G:i' : 'g:i a', $completed) . '</small>';
+ } ?>
+ </td>
+ </tr>
+
+<?php if (isset($created)): ?>
+ <tr>
+ <td class="rightAlign"><strong><?php echo _("Created") ?></strong></td>
+ <td><?php echo strftime($prefs->getValue('date_format'), $created) . ' ' . date($prefs->getValue('twentyFour') ? 'G:i' : 'g:i a', $created) . ' ' . @htmlspecialchars($createdby, ENT_COMPAT, Horde_Nls::getCharset()) ?></td>
+ </tr>
+<?php endif; ?>
+
+<?php if (isset($modified)): ?>
+ <tr>
+ <td class="rightAlign"><strong><?php echo _("Last Modified") ?></strong></td>
+ <td><?php echo strftime($prefs->getValue('date_format'), $modified) . ' ' . date($prefs->getValue('twentyFour') ? 'G:i' : 'g:i a', $modified) . ' ' . @htmlspecialchars($modifiedby, ENT_COMPAT, Horde_Nls::getCharset()) ?></td>
+ </tr>
+<?php endif; ?>
+
+<?php if (strlen($task->desc)): ?>
+ <tr>
+ <td colspan="2" class="taskBody">
+ <?php echo $task->getFormattedDescription() ?>
+ </td>
+ </tr>
+<?php endif; ?>
+</table>
--- /dev/null
+#quicksearch a {
+ background: #339;
+}
--- /dev/null
+<?php
+/**
+ * $Horde: nag/themes/categoryCSS.php,v 1.8 2009/01/06 18:01:25 jan Exp $
+ *
+ * Copyright 1999-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ */
+
+@define('AUTH_HANDLER', true);
+@define('NAG_BASE', dirname(__FILE__) . '/..');
+require_once NAG_BASE . '/lib/base.php';
+require_once 'Horde/Image.php';
+require_once 'Horde/Prefs/CategoryManager.php';
+
+header('Content-Type: text/css');
+
+$cManager = new Prefs_CategoryManager();
+
+$colors = $cManager->colors();
+$fgColors = $cManager->fgColors();
+foreach ($colors as $category => $color) {
+ if ($category == '_unfiled_' || $category == '_default_') {
+ continue;
+ }
+
+ $class = '.category' . md5($category);
+
+ echo "$class, .linedRow td$class, .overdue td$class, .closed td$class { "
+ . 'color: ' . (isset($fgColors[$category]) ? $fgColors[$category] : $fgColors['_default_']) . '; '
+ . 'background: ' . $color . '; '
+ . "padding: 0 4px; }\n";
+}
--- /dev/null
+/**
+ * This theme as been written by Roel Gloudemans <roel@gloudemans.info>
+ *
+ * The theme is the basis for the website of the Sales Manager Club
+ * (http://www.clubsmc.nl)
+ */
+
+.sortdown {
+ background-color: #bcc4c2;
+}
+
+.sortup {
+ background-color: #bcc4c2;
+}
+
+.sortable tbody {
+ background-color: #fff;
+}
+
+.sortable td {
+ border-right: 1px solid #d6e2e3;;
+ border-top: 1px solid #d6e2e3;;
+}
+
+
--- /dev/null
+#tasks {
+ width: 100%;
+}
+
+.QuickFinderNoMatch {
+ display: none;
+}
+#tasks_empty {
+ padding: 4px;
+ font-style: italic;
+}
+
+#quicksearch {
+ display: inline;
+}
+#quicksearch input {
+ background-image: url("graphics/search.png");
+ background-repeat: no-repeat;
+ background-position: 2px center;
+ padding: 1px 0 1px 20px;
+}
+#quicksearch a {
+ display: inline-block;
+ padding: 2px 4px;
+}
+
+#quickAddInfoPanel textarea {
+ width: 100%;
+ height: 10em;
+ margin-top: .5em;
+}
+#quickAddInfoPanel p {
+ margin-top: .5em;
+ margin-bottom: .5em;
+}
+
+.overdue, .overdue td {
+ color: #f00;
+}
+.overdue a, .overdue td a {
+ color: #f00;
+}
+.closed, .closed td {
+ color: #aaa;
+}
+.closed a, .closed td a {
+ text-decoration: line-through;
+ color: #aaa;
+}
+
+.pri-1 {
+ color: #f00;
+}
+.pri-2 {
+ color: #f30;
+}
+.pri-3 {
+ color: #000;
+}
+.pri-4 {
+ color: #03f;
+}
+.pri-5 {
+ color: #00f;
+}
+
+.task td {
+ padding-right: .5em;
+}
+
+.taskBody {
+ padding: 10px;
+ background: #fff;
+ font-family: "Lucida Console",Courier,"Courier New";
+ font-size: 125%;
+ white-space: normal;
+ overflow: auto;
+}
+
+.task-desc {
+ padding: .5em;
+}
+.task-desc label {
+ font-weight: bold;
+ display: block;
+}
+.task-desc textarea {
+ width: 100%;
+}
+
+#tasks-body tr {
+ line-height: 20px;
+}
+
+body.rightPanel #page {
+ margin-right: 10em;
+}
+body #pageControlsInner {
+ display: none;
+}
+body #sbarShow, body #sbarHide {
+ padding-left: 18px;
+ white-space: nowrap;
+}
+body #sbarShow {
+ display: block;
+ background: transparent url("graphics/plus.png") center left no-repeat;
+}
+body #sbarHide {
+ display: none;
+ background: transparent url("graphics/minus.png") center left no-repeat;
+}
+body.rightPanel #pageControlsInner {
+ display: block;
+}
+body.rightPanel #sbarShow {
+ display: none;
+}
+body.rightPanel #sbarHide {
+ display: block;
+}
+body.rightPanel ul {
+ list-style-type: none;
+}
+
+#pageControls {
+ position: absolute;
+ top: 52px;
+ right: 0;
+ background: #eee;
+ border: 1px solid #ccc;
+ padding: 4px;
+ -moz-border-radius-bottomleft: 10px;
+ -webkit-border-bottom-left-radius: 10px;
+}
+#pageControls #tasklistSearch {
+ background-image: url("graphics/search.png");
+ background-repeat: no-repeat;
+ background-position: 2px center;
+ border: 1px solid #ccc;
+ padding: 2px 0 2px 20px;
+}
+#pageControls h3 {
+ font-size: 100%;
+ margin-top: 1em;
+}
+#pageControls h4 {
+ font-size: 90%;
+ margin-top: .5em;
+}
+
+/* Tables. */
+table#tasklist-list {
+ width: 99%;
+ margin: 0 0 8px 5px;
+ border-top: 1px solid #ddd;
+ border-left: 1px solid #ddd;
+}
+table#tasklist-list th {
+ padding: 3px;
+ background: #e9e9e9;
+ border-right: 1px solid #ccc;
+ text-align: left;
+}
+table#tasklist-list td {
+ padding: 3px;
+ border-right: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+}
+table#tasklist-list th.sortup {
+ background: #bbcbff url("graphics/za.png") center left no-repeat;
+ padding-left: 10px;
+}
+table#tasklist-list th.sortdown {
+ background: #bbcbff url("graphics/az.png") center left no-repeat;
+ padding-left: 10px;
+}
+
+#tasklist-list-buttons {
+ padding: 1em;
+}
+#tasklist-list-buttons form {
+ display: inline;
+}
+.tasklist-list-icon {
+ width: 1%;
+}
+
+.tasklist-info {
+ cursor: pointer;
+}
+.tasklist-info-url {
+ background-color: #fff;
+ color: #000;
+ overflow: auto;
+ padding: 2px;
+ font-size: 90%;
+ word-wrap: break-word;
+}
+
+/* Redbox styles. */
+#RB_overlay {
+ position: absolute;
+ z-index: 100;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ min-height: 100%;
+ background-color: #000;
+ opacity: .6;
+ filter: alpha(opacity=60);
+}
+#RB_loading {
+ z-index: 101;
+ width: 66;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 200px;
+ padding-bottom: 66px;
+ text-align: center;
+ background: url("graphics/redbox_spinner.gif") no-repeat bottom center;
+}
+#RB_window {
+ z-index: 102;
+ background-color: #fff;
+ display: block;
+ text-align: left;
+ overflow: hidden;
+ margin: 20px auto 0 auto;
+ position: absolute;
+}
+
+#RB_confirm {
+ width: 20em;
+ padding: 1em;
+ border: 1px solid #ccc;
+ background: #ffc;
+}
+#RB_confirm input {
+ margin: .2em;
+}
+
+#RB_info {
+ width: 30em;
+ padding: 1em;
+ border: 1px solid #ccc;
+ background: #ccf;
+}
+#RB_info input {
+ margin: .2em;
+}
--- /dev/null
+.sortup {
+ background: #ccc url("graphics/za.png") center left no-repeat;
+}
+.sortdown {
+ background: #ccc url("graphics/az.png") center left no-repeat;
+}
+body #sbarShow {
+ background-image: url("graphics/plus.png");
+}
+body #sbarHide {
+ background-image: url("graphics/minus.png");
+}
+#pageControls {
+ top: 49px;
+ background: #d7d7d7;
+ border-color: #999;
+ border-width: 0 0 1px 1px;
+}
+#pageControls #tasklistSearch {
+ background-image: url("graphics/search.png");
+}
--- /dev/null
+<?php
+/**
+ * Copyright 2001-2009 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+require_once dirname(__FILE__) . '/lib/base.php';
+
+/* We can either have a UID or a taskId and a tasklist. Check for
+ * UID first. */
+if ($uid = Horde_Util::getFormData('uid')) {
+ $storage = Nag_Driver::singleton();
+ $task = $storage->getByUID($uid);
+ if (is_a($task, 'PEAR_Error')) {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+ }
+
+ $task_id = $task->id;
+ $tasklist_id = $task->tasklist;
+} else {
+ /* If we aren't provided with a task and tasklist, redirect to
+ * list.php. */
+ $task_id = Horde_Util::getFormData('task');
+ $tasklist_id = Horde_Util::getFormData('tasklist');
+ if (!isset($task_id) || !$tasklist_id) {
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+ }
+
+ /* Get the current task. */
+ $task = Nag::getTask($tasklist_id, $task_id);
+}
+
+/* If the requested task doesn't exist, display an error message. */
+if (!isset($task) || !isset($task->id)) {
+ $notification->push(_("Task not found."), 'horde.error');
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+/* Load child tasks */
+$task->loadChildren();
+
+/* Check permissions on $tasklist_id. */
+$share = $GLOBALS['nag_shares']->getShare($tasklist_id);
+if (is_a($share, 'PEAR_Error') || !$share->hasPermission(Horde_Auth::getAuth(), PERMS_READ)) {
+ $notification->push(_("You do not have permission to view this tasklist."), 'horde.error');
+ header('Location: ' . Horde::applicationUrl('list.php', true));
+ exit;
+}
+
+/* Get the task's history. */
+$created = null;
+$modified = null;
+$completed = null;
+$userId = Horde_Auth::getAuth();
+$createdby = '';
+$modifiedby = '';
+if (!empty($task->uid)) {
+ $history = Horde_History::singleton();
+ $log = $history->getHistory('nag:' . $tasklist_id . ':' . $task->uid);
+ if ($log && !is_a($log, 'PEAR_Error')) {
+ foreach ($log->getData() as $entry) {
+ switch ($entry['action']) {
+ case 'add':
+ $created = $entry['ts'];
+ if ($userId != $entry['who']) {
+ $createdby = sprintf(_("by %s"), Nag::getUserName($entry['who']));
+ } else {
+ $createdby = _("by me");
+ }
+ break;
+
+ case 'modify':
+ $modified = $entry['ts'];
+ if ($userId != $entry['who']) {
+ $modifiedby = sprintf(_("by %s"), Nag::getUserName($entry['who']));
+ } else {
+ $modifiedby = _("by me");
+ }
+ break;
+
+ case 'complete':
+ if (!empty($entry['ts'])) {
+ $completed = $entry['ts'];
+ }
+ }
+ }
+ }
+}
+
+$title = $task->name;
+$print_view = (bool)Horde_Util::getFormData('print');
+$links = array();
+if (!$print_view) {
+ Horde::addScriptFile('popup.js', 'horde', true);
+ Horde::addScriptFile('stripe.js', 'horde', true);
+
+ $taskurl = Horde_Util::addParameter('task.php',
+ array('task' => $task_id,
+ 'tasklist' => $tasklist_id));
+ $share = $GLOBALS['nag_shares']->getShare($tasklist_id);
+
+ if (!is_a($share, 'PEAR_Error')) {
+ if ($share->hasPermission(Horde_Auth::getAuth(), PERMS_EDIT)) {
+ if (!$task->completed) {
+ $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'complete_task')), _("Complete"), 'smallheader', '', '', _("_Complete"));
+ }
+ if (!$task->private || $task->owner == Horde_Auth::getAuth()) {
+ $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'modify_task')), _("Edit"), 'smallheader', '', '', _("_Edit"));
+ }
+ }
+ if ($share->hasPermission(Horde_Auth::getAuth(), PERMS_DELETE)) {
+ $links[] = Horde::widget(Horde::applicationUrl(Horde_Util::addParameter($taskurl, 'actionID', 'delete_tasks')), _("Delete"), 'smallheader', '', $prefs->getValue('delete_opt') ? 'return window.confirm(\'' . addslashes(_("Really delete this task?")) . '\');' : '', _("_Delete"));
+ }
+ }
+}
+require NAG_TEMPLATES . '/common-header.inc';
+
+if ($print_view) {
+ require_once $registry->get('templates', 'horde') . '/javascript/print.js';
+} else {
+ $print_link = Horde_Util::addParameter('view.php',
+ array('task' => $task_id,
+ 'tasklist' => $tasklist_id,
+ 'print' => 1));
+ $print_link = Horde::url($print_link);
+ require NAG_TEMPLATES . '/menu.inc';
+}
+
+/* Set up alarm units and value. */
+$task_alarm = $task->alarm;
+if (!$task->due) {
+ $task_alarm = 0;
+}
+$alarm_text = Nag::formatAlarm($task_alarm);
+require NAG_TEMPLATES . '/view/task.inc';
+require $registry->get('templates', 'horde') . '/common-footer.inc';